[460878504029211659726377324131668210465898209272681248577155183548763756193296790013768150618501201380245025503956408827729179577081198392725235102149866326445168018400478362834352931875717117330756760923794858289648259468323046475007201495245696367687596152475184001837477475932591559832175366966155485663745669393231834614129013526721572955488353209180722662297279597570686876388602299369534212406121217165903481685480355028964538139843000251061108563924811196104187732408008630748889632457101584889966367986450097795643510374425435377301768599280507855266468811539030661950448355583522244032247151733342804757083965117075668877622128476389045948492164197736401937866330118879940163240914453011944392073513940942580390423398076823364794650072356749102101344954762813369304718778268694063999785856927827106656984435899071127067325205444573589127150267363841343816815935521699788700359286560049027414797452679504904756303560192607617451188237305192937632133644737074508855195183945244194213975305371723880012332700868410685000070449097031164513383131553573843189098462123557081434837788552942799816126803538383223239578244751977867731742235958303950077869399160592865840069851852253551468392957741900536400954931283890632829102639736297573915887830376812495159250625479615562199960935206009523952982024104676907870912339051280140086193073602599217251272917406339401521502189963863477301475673816119864450427322116660757583396896422880728005178408205103788647360177662420195791383931979040226168573707135647339922249439851007723691316770549015029565388320504758082847243893169923492922045733876702721523106029948148765635499522391877897062577807518390080182216394540742584424278876271098545422411080976641785089355173050134974124959160217196168308830431219807495912863852135277697246693747138175590983040398819644689913880907467374587683757718608700007430019704337239997703922610403922433748922344355839839081286284301271704781425808760508205410651102318184973370410272144743810035988380398671725001690834279177681927304192104775732922452916596606887509821945674449843343623231351524946695229974431630109020971448627325660942985629522587195084342808684730931452663123619885293979145042428210712883676479108465528627915510852062819951714416038636930502036452888399249133164209429153612404147604906370464072471911152068008419599874356903429539087439944524141560844114631460419798936544658806017670276530945408116983906091029718280333086157070870980700586697838740342850374446576825596906900774568883052485884329167824388157272395313730783086506339600530331763092824226141634079523471306837821072235099839968757624701175333108417185704824440769323176861640001562652855060615474053680983361761760076180430185246827896081566991222463579840214049057059437869437716376597521120974916532083970590370396288269541224127912582192062066461952879523607654115924925230173283903231968152334081724024532678160133238194389285946029410466515317366962878839819184049368745041973706838044568384803630546720735054121552334301559140806453844293172319291206542505581474532088043737492545062262366257333259890144586260903181612618266751194469353900949203403075504462448507412430897632053942118405973528313189357575775812361542926339994508489817288624173702797079713476157849196210241511863396659633064530035732905674343563974776409476706732059846639307460147305983508639729568140397375572585585622669257727874347231967608097041331197928117128682560948218615066015066408648243119390240423499409497365657274251247975633641770818900170491480991975551912056866267468768779833589179404333649815111162839642386821485671666704728842677080146804332323178188635572317233294704954250407896618145671027715413452125565853412182603169951825554419837443735031361155203656319345132505224034271210405837935211931507422106325051745099734959067506735503879554631595594051024034511349489784960167066227902400523392280241132634599552416953563979672855280518429666698927139996789605313922652994545602449476498040198388307956658012654011224392372653497554475255532948227285887318193086973243884650534428485166766125045970499991749482019814169415300064584623207100132346539022973106967120849658014283751768808589784245425614017006334465172571364864833120749143271142800952982377906867628935772791907228260661511002893958090407061790890255653072857689970838308741791440423940949023678137197831044329782695983946578448288978283087647442417540479416635742896546613319321761081148367879764902456512359626497708071760572030033454387811529664613112400653007003645423118132993070929771840595738320684954535865337039986414749466981602250126116167177136481393894810580323270397183554776142311677888604170040308394031422415891536952331654683991450539669837153783551687574401876623268692889640044601532234521486558297977797458607893123898612040057926502224237771643085125405379091247852056729321876447511169456882318490453762434830899226471979658556898404238644362893023500013572079962779647946009682042709998041741670056451444424973440475596729465828408521658655132277944197389044825219905189687186460923709332156298363831495223224662424038798414514926014086540029655409533628443813063882951951901350114980715313941880157866592482598637246069921151481058553960180650239394724191179056348924563717634957004556984240059528490017685929600945395728107942701923410229993440666495245064697543669347587805452257817213466094259442923735892088718631673968226865195825890167705742824003768804148853361201721852447739871676645363393202382133806823489570445267702097484114229571409107763068456727914936312235632980883135748878275677219563268951701541660654700252524620456450774391672334638113977895250315191001071771157784194472130276848222249006358008596828783330557563913227489691750751872147346853260942809592046853640651989871084361627634358178635773098759161150919562583753362143698887636645963960312691866331995140815758594507200854996683302489187556828819017439098461100052945861015736432619434639837316151696227625110282488969811760668157082176170305134346398383148815185613435480756243919793726642931647944276000224999444185021032521133849276074486933255941725429242201884822985618526291647120267998052566046394245985901011648254219741305969249040128673819500939153230639682155579220744288833548087299037338039312373307302032235494404828600828455957059818268256082912745863426039517929588419357782280196652813643388136299879912495125859860060345391004374805968991333633700360609932686430021407249682774615675345875474035466677610782839739686400691715040711804846752340625626054080265597514250540933889916849960469237676697716627894230307879127199503372090141160011688976610140619556719831344042250640842460414040594561049848231267470180507938667295092335495383699866281838306505826711760849471801710278476216799959762455995491581093011787043883046598014621318372758992402216655933645539563534100777061405135829597867340092017911207147471254893243688318138071987688558834402077830421197966260601369131905865099688251856557077280018927390500660968213601186225608855008509865084107671475647346684986801898449865636406696453434645028846251199021218374645437312617392888095903124820231999386627948654847768169375308561767608825325757086619478574111635973606897297863859937763045827261827031058180243733480185301925696951570034167607310638449803144606184791328358718891051430127102798004488996982325379302536219115992009980226248355805323481449697160878511571215381872397874046590581656777492886865200876476423942902606858815339675201888095590668492246552831569174397827671807869132047913977988252320359169013841570029105911835937130856353241172963099202878950894189115171818081353027498336830234233663368318243540930829336279743941426235392390715981017423072462237569349981455357953402008000309082639444228701674961720383030334048504382513601475168520818254379374774387890325022801077595665459714579196865635972173734044232887432917912297607535892170134591915621074469215248949685438896823872780907186589967535140822123282507087765495801467055470106802563088362216994826841082132266600589522239229163047633183524340676139368477927896458599550388140019320660178144664730997600138196007453853163422653069363559158123547352268069436249431561246093253696079834334537435779809240831526013449227132552407358782368932482388039500405172348298784428451437443673951209630205300620557845481442892188495920124321797693594345359827650047721007227653611076295985300466728708145764342316570502521801540113105294352693019256567530716707733976598778243884163590917725378086207743114532642115363546681402202608648001590771843870905431311261782697747218964016233861583740227024322285578200287893429194484276316905621731372797900565922687913162883891183801179440889194088737548650942668966987405417278600936815030789973174088242417273463116695477404499224219695273682889892470807546401910331204735809420515662066527719883346245513817425433602027773905587567924406562390685190280880338871764319588448241096748101243859752621001594970437898398136413162633616645814800992391798202976816111210967081073863108666195876815762835842052483341219056476181219824737723781612897736720538840319923374760737224657324522006042209554969741515803215370782322194073576665696633206600447620778175516511245854240143220901098568453895392766174516647296676477459450636032673895614065567353526868960553131738269466730246754092430586146159442852294745500647164827423041887272442118334996470035520002191776985004990557725694979463958687035348784455128117786275510218499420420010064532215345182993431263792399706212885647272362986841968743773852222939603202561998298475496633727030251219643964816863162617162456540464751045197187441060030273633136636743762920952114275905193262859573044523659842936161562119471168323243536700322914368130272625377037080798692323607093795988394990188259679199546483036659142869525430568181934542606560736299949384605261572189882313037734137315910699562249118152045820653080108750345635317739088635477374240812655382610434770019501298176036813314867128827718446614502926293470686261094275827522861526740443488524725594576272714758040240727661347521124204516916967821921538462761647815007354233312884928228019446708743858505204090806883490374954673985326156744071197637389222343327947005816966495890128724274414479765069434950306718747180731330138818011005823537175894288978936137689472263885982120806961882124356776785620343943455693852461498374943791060561165090100378046258015262251484491048406120742472038293341684029143626071483079822924959310523763131589844278091248408488131661683161538630610497546740107223261399124510063341433555113467431053056972515170231222259448818522238766955324658221031878073159336680098568708958305252699263958095733565606879178096141612838048348673464693389965604663345832815353824711481496320611131887083506426865483845653681896682875693591145429719759802539678651022463181948118374927274470125570749955729853072232219939201094051167929907541949378725361806880678537457361710969844374263113019037278639289184641024854642046802998218490020159204094280894902258489738945004806491746017571274620258238968296969102054017037836710240374425312573125867802454804233441782531328980258054754060868788707392885627756794915329537915135166146102536893978169596440485359685242282496867120912011302871984477524281189408559632085840674384074745945521074502268583953631869541169706285115561989521427195003733387877759197479071840435027596844969796112925813605491037892049847179548372172393191273486849469348598251703084561351104151094417429404678713548628053891013262497258252594607661617830195565826565379133200326371424879251573581439842619469808745154534699636185005856874637901965995111664491125640776955421162841346063582436883707241743812219527617921098223252897053349439081318186287700731318277160445088762385569911062059604126759463941583056316112013084947537224297088491041012532722844155645583277809800456618090131965819921358374071081597397552884125922233820758766086552610207291554235894920258397412680505778755061665087796368415148531768256414773007481676880143972261973362361502680035051895712237525175627469507178302994116389886806169652913376042663328499432965670175413079451424771304044082539239677797364561316946623401975704212241560674927428914512600057809747122216044116385194939634680961404998744140696313010905740377654773682066143981146583412206919058741409271025368890302080910217246373566257314103349856530951023045985713908486327160165106745297773856518287592608738004444276531362152367287324471974373997330699829266235666870462889460993885596829877800905260729141695467873768457808497772338044742936529887904252849343172547347348896330479223753617069713947937445193036437600927912397361878772393300941871191290036143287888703704257027346608230252163382149405785603664550826703772217021325209721867315340080882839328859653684703367653706067834878075176371179860169862408345950982711011690870975368474949698781411812027572537194564231673118250157962744283827918100812556393146187307657861878278251626232475845057862641652745826169438980263023698878309585785264265201890194491130803306129191842232190941697132973776465799940604073715306872592261865386502580098468647497405709101765982496785379475149280908923942036431917779653109235792070812801777731898367619409541794936496428889730261864778628814831220153751343295068104201133325163430819227165814743615198929193000205932421074828359159418335355316709968085626555903163412216902850332635624982344708445118486549095724927541227585050657862996087030947560001112176807518271820747716035749665774978134882241677936695066830310339978274726752843182080077177018563031122649610748375319830764112976676239320749831681188503637084677853762510347580966365690820913791026192734046053622195960837171438153295545766417005981653986127487138679290946631804156254369354821881802324734479994305853820693561302938921431261679497552350969179365645413613731910635312130893503004155570975616829160903834153959028294515715745505972405481062947516330516668351699560084838241424587601988398652994164722547719003648595197209197740967811036726696298676475817981884983635442027543168035654445198771364888667901781152009385347936793262171543745476123462610411049554111029251063770251175625011536523217026843393566116307894369687529184807595051617676650146350453744056349246224944258767876041385265727354812377169823472570426585247709060426079983335139888139688615034231088687174103646912347448102717880159576342430645151517571472393460164206161857450559579491756210976051681785329741106546385427467866434686447349283319206526338874946351796124289280789328171252916036794077110781975063596291421285695698586355230265440681369173114638367944108313392162199833876937750514736116690725597461866353372123518998103996353273589664563530406370128091783578900207699473911355727401794335826720043184467964845464446694084109020582293837112145038542849982663236440358781324102036009716791235017954628933451907107695388331914440535530093457365878552279862728021617877409100705962376263859554187502996199733250470913762540560221020577213751461029022310458702843640460021934850544456663355764444258059840507897666558678430138035623431533304422800057429848127413863379265500988153094126854831932969681373889943644932115124609897106191054193082651920084498512771027125709728425629647105936666819963380693635526669577138532491849722934592063034433400234116776517674095567758045612753298331053260328286617380945834497743443124802648152321746337288222424025656801046287099847695463913252372549832255849108406323405825342583492770528447504266166205123618920872128502758021417331299310602964390414782362422055515938034068732492244189983070831393150966260831773246122612056994810894415327812735512264479344127125788598738192261620856126756016910507342473931205758349032239971071997867803670029657233965948053742416846732467583853909702604039921854805529207036456132769783868022899755414424312644236165397306810629995978467380542926210108851388772082300562680052687523523086357322466680022413441386256040160286952952644497544584405052261145352171526873638193296983690180988664384085258216561615891383266199401079669272286380495657717454718272523404266149132488741592452168435982098056351039837640680861705664594778996010923903958965582235637388153817178308469898868790616279961446300734500101742468238152902583001202034637566105433788118645945559887866342205065655524226468610067751507169323122991839484551472364990887069593397788765888141066617414106639847405760741792186429289772799353810408924043084276680929248685120601430975886774895452822104407292882806876996615465480178184198153366651791872118865943351089477330488167080827578261775771442350115449007868987254372744832094346926872788640614023714905007267724411974750646928945655812387106317815573531679367097086832011816893221310035400780968817531126202563495409801657418535570754267452941269931256560347780133129148154097665047728322928395360136995926079140047102936849740266672435432147139874057899680727023532248856206896099983449717323393455269277440238831284072738998405487959229135806539993210189810697227387469003393359196515372764249161049832414800879936424420302034675251223975894490344772745000065991490242240671393432762129031995047772975518044385565395422775975991698404347726477124650761061400142098096509068484809215223987473476678553600963074661066668579137394740064934271472667126032722856512070315199935899373603659173268967827846538307851051471507483481331277870545576634847090335266988288210590464415326612976810471451390897259513443107490174078961292563163389349785524983840506843988027603583693755124749052633990674640720604611457226431386949025241528214895185025918193062276582954276798892920275157130442613088163048254068373012862694696020987519487284055757050761724085683735358965484837455326593359196037819458165426076577340859504758887936245772002996316979851935235734971011883305974189386583473684995163885173852307316715144550287213983240769198613393405321284237074313391878698945920722558526533242283665464132560992466370858403957003874696091303069629942437523097928866445405496013451389213103300643176270533349049855938836391768798988533265193377524048460666626798317822544052022351535658061733690009378439548642617118126112711286610845172471816793114248610934070583466283853757233855498100773877474965457448899495916680912255594237707176030505897895723436374809440219769624123536497143312675463253536958134069912748536038976904807071462720916091778143857456160934967252480265891034493357376125555232677608407826321480628643578996613398936271874231551210931559013064726556634433894015735747199548884945435952358423984589328037604592582946092162260490669927036451681671026393669299680199281657423383626964950201240018619081085345210979365866283671900352268740630397872729066182588419902548388992724538902622625209072702884414128789166153468918994004260948503952038190394056984098643524852977185007238857263421469992391117590374366328534108000489093482699568825355488977657573152378757563202708964930499388152974194703155794013865558932530735816696926234819518090971938058538463288343626741034565388348097370425553978090072926532537582806688132332499207208952462758134921667810632029192160128221865227236580345516140010830656608814526556732031742906351615986451688231113815413815 : 122742676914631361422459501863706714251545613726179169015911284337134844799798241264815222356305101012815852460321298569483838665381521091064649120383758493759790575784427440926952841961533275984370908744046732682949871748093036478560259558238480993886100944539935117846232106405191942002006546734266095695004110611380028678434647757271636955023315109790807539492513331661656870324883819627223608914869074619665432554409442510904471066802604208926194753936130212500715469320558838216108492951506582202059505599725076167307073243547370357549256657430559733005805093809359361708762155412704180482032927312485845851804527001241629808745300906666782166670131427277518928624535155002515262218119556338564727033758310114042359447862157474902580273082375974696362398941247823995460723219708054628320591322689788141366674666876138471741168503724277084713576072134981342052278832503090558938783504598259593552073704196826365238115873364361748067626291602226196626326728549498632305108180991013730846627625117150099192769356681126106683119270854676891823777210099852315999934696630919548241100772346819380867498843811798101993420442456343196529743750475235886948686466397980346139394363767002684646873780050636460803056137611952197222832818669606171065191718470149887183843960065064915337693568568837287889869721422678447899146186712622289575438333650546370657883213670483861597118782890277260740187101356976137510098118577205879269146891575163194282308570350745147907851841811582473038835506423361964621992019248166121448826511945859483876841223199424519287228763001322402666235772292801959474701018352415795504016833880332736545018749238070486148042409002701153489352631229179583826426208539771622558571562611821818151796953191675856101955916399661543560253416425873796352008398701953705974725150852722117096638989188105433786830604749248501010202550659761790556910224449000964458858531708265725795121580642671597520585169979965731065666862611467219217185991955096592034329390430040216882248434162211921227991060722912553173800370739905500052157818776282740786218083034874707207530050968224691118107763203204277608660804747989165635197864567336304045548563556031523167394446421103486014706080045604177125772462482186171191078618065850325466646693922353149440647866939143640147762949360687507068202931417689469418685701032324553421585789516893048402655717408425282967346266677448535428844004811569288364233776213908759239332389268070574604678252412250476074207724967434584205853020540065083680862430165246860138416556497890213137815090630734924481418337856754873603299324128565994485296262983135421255413713229270799069196166224320584642679484563442171191653516778597915816677431980664732341826341328748209495229861794491465120877810805891837744943433801062639596713207782743683738366114476323269696519309383388619534725125382681688374367794417240846101453500894495783741554394569270473148540698310569347190252615778129452194884280030362225665984462385356670458310022491402851838002370430286965137510808354696179695839161750363941901764564483791678846312565807140160774359375485988169637799211430941328236318009470350772674565686185533986767003417736650043755417541739959942430658444544225363657600139832130647787326283221455129249666821268290322068941288098458143981830191870804054514781280729331746339665345032036393134181065542050926264030398879180713284291652794922162065807952493255162070309426101893022805928667074477668705634889152931095558044493898100220932491991197126821443009741084277452677876473461286463123820725866102106490740934824535650387809756224264934149033777670672515274549231276280414990413690196915061593036768527442408992129720071598283923815421008520048370924200026498902626559157039054784106042364818927255056595721478272759770415429357296058355274177717095482758871643276647011122274530298869307733642938795741996388544293675798783693701286940713265005023678606509149121082202506811951201294008529610086400908179818182361467079702615730075159761650012473562310827546255034529844446878374255660408448028432535820174955533356731959771112526092554714698352788838977823620153370327119960334462682675536937807343751831895553727964627849454240983001554838921380672938313845186176039535431766791795230295267869522210363976528945478988681581792584207776209605724806364970335979741601131986143242158830235746587336435380564015163338589994572635722939252812649693619424165488111654964587612074235935284508746821580956739911445583009453914446219345483614671090526545181982439686533210403507187847694635222687145261173560811378603747931735604332268052956277946831108008583706486771472685353456437134175266369620136576951804870719469504322606478506099505817276677963774858411278859119850190115649042304954741346617239959530221057797328585621659695258822731638823110653031402936966311235003649048548007147376817398586152431797795725287664580533656063366313623794042240220252837405521103520663091268505811422452865709243877519549033406261087201386463181965472954472993274442502429709890090660330460621609207598072985237297865345921428021629554765726702485076170460496465522377863238249385144987972032387952667337220777808587677429179409107907728998489705427047259215246980359069798173151161906334203323112049354722577683410066167184638539867335479515450654357441356138610537477910794556387649504007592389460724318469222044078398279099451948188310340839367670936125467209499232053585575065539851443938568180521401712492496149949209183124270028673946115234675891515141920103654174024553682645682068454107285676223009602579011875765637866727330136731063341119991865042835888661625791393125726395879547402844903442900702000240576998837923847763792752646367155277513812037376296177845260497110444788761901076762273191714399149065683056518663457851758272911892340422809405662772539491502302109009436074602865058936058845109468910342131259818081425817556505604624841024336208836839496090648059729958982496924859290527794300835208479620010192588266428582111249548845500083480346361264081625247495726572883095751881053994595479170397625111579500300022164830973802706636837912913302123279164777047043549019186027194309885775368628276138188662161571360122415891138522770894138036694984281889111402769412028249262963042838300064951780588265241465685619614266408353762255017133103382997297431690075319566910617249604834511574220800913108681862259320641703762639884926684399537324060826623418138110189159113936924487090194922664233292324859597710384729097034602782216893948697003525439213150914453188708455396749401428935980369014566702695979405640247783585689848502064681943867152831022413620966493561839411127851276789216900542908341819195257222542084764628022996928011181074860670934501641596298766053704517461828820299818119188348492933638467690394606901373238348808183242132517323930825470723879071996437127344027870259491765177397205472230409244922225799410381825564542034651704682325275875959502161399465354980616597907705271225625760667395856277930752753137495480137639376971366241563461156418661505069686184648825852739009589957748343779464377850936238947723381068043787105824832417403423846758700363466897337154150765415408670863215006895232492999968419041827901951840042510887165425604703636630498507180050232751644129188629781563059432180836619030113654505798083032991913756033974934447884694792703034060377810949070278214625955180243878542254979995305733583100418316401353725329287666396362030439619921011890860724907765212879883909701088599664663807931523836839633301500621808303000082466991091823367567711110620029944035566648127399876397301383077529794090144344033343373947593410778663168621324211087977114510045901615165966399323722282393425180734652958270092628032327328860087951239231413599640600028103551246446231742917757859281233090327437140227601318765404286107676997693891343356628176181927092676496499443035093173922586443480526529949963574324455910209343295422742856371044527793556627354789448772540264725913323454378946710249910183532723714287548415507891266470532770803584200523656188953147687799490583228158787574192648568061778064336997391024885996964777316711196550287584514997886710518705186649191417620469600283904987827525755923740276286404097731562439792904994624400954085274159139568319157894418334584879902299313286302988643558207423236043103455220141026758063724011303507764172494095266265654867570762049693962391482972977269281297080956174692849840726819353295060928185619840624720104520335771594231650274651987487666902124841690713460303298191987311188544053752568546281759586184587333795403953614213647306597731794361786520609078165598170451805049481013300733633332853772082824549747729447539869184495442846671957361793163264098197958701197894516864167465975854287610308172862582800243977603417574728789944829891793046515908808902845453460254078990197172530558418046333461221607195628673980342030307401020225063658069479068217748773163299704746316937105075057821242672937661404208954956854709383134050750928676028602340702941275095162919340044258543288183058229627380640476791731460046806892936398755712058787993568045859068555637379370313729434359495921698861913681076265762103367413447456599635483269017115220295692668262397741085765740385006598922541092396732283676728040476282899316340428750966218656082390949103464401816033805550362300408306304713813210504833829503352666079766663544795086597476578805004481142822054390548676664933857107008129532301555711738362185202362182685048879670689378160205926588239527819404733644123505857682971038214376186362966575685223466834391905151817569997868519497715829578280830589480851665706479606824242142553247067121291011327382653805372216066265150998863907520780046805707423191876652425356516881598510102517246317690698047703040556796606463672952818193642380981696770669348603976390525240138421858534936739405378705305892559335194235131357780453934667368530067796582173954837717055267959441691314498639595699497661896139752064940669922349986827786956473472717827228106893932726032373702366836705541802988148479632161924766022507499291164165794900981367158553143904688076406751927058677282487013165440901921035026866810611534995586187612319601677778874535552249225360375927579263521053497015579779142120515963349012999902524785395850982267700731275942476479661938829508129684039478762750497246815627805270734219629379439182743261208925082032574895264731574716801936306458564515204665597406575445268540137050541306634775282885572967666395284731637895602983735066817330997986111259823724721907562652416445031451415963572352540622422090809473905147457084321639920049639362254532919071584792647924382832162142433882568854409972556860616982316484675706219302022083448876675570956868255158775083583440174557265481068259623406202517599951537499258725408738348795430830533361694978812398059144463576961821447490340992087798217107430870931921861962973043762078681986331672539662071160841784083985308952248598722248087368265000784611416357094949180511928313375771506850596605103929039610879290850406172726301426859479582350814537749434670779292107396553885644969645259662434168271889298912827374698376746410520810179418766579213215240522849148850727618073590947780890081161736581890870432227421786298142547488976943055325807354232393454238329977392573899903954772412110441283905987800533092457826251506956172354744039914227973794570705088844779374563288330995228163286896559862403563635867412619312574776562809083488689298922278526850168710445814050780950096318318552251367961045899493242438882815623656383203782271218052158417222820638993094870996486973518827768726705628929270546641015200427181373534275955722159072186871992086916922278062250294187986372875923219811560280036274028499012542869826173055143489768165344173982647359645106771687110914692780714755689354579016064598330242172282156575543647799493221451617153296030876141790852887397533112206869040793689621749578108254922418184685826744156774277521092346787829488407581198566804653974040775010443493173167452051653385806453622011646045946803478679077877212109150646865207324679740113277658650973910566820357714052018556290896512127700260112190856339633888821269592384486001822901894037700143624341866245019867676762768073380470084541342531106519977658962643016817254790787649855356891773405786236184311458612856973273415187793519382786810146264962723809745332960173933464364668724170517971835039080025385913586454046993369321937687272816187592680082007216530959624392353274843575305318662583974960529244372751917978293061495748184340114835289805938224152542546174007502876436038450577649323388540079903818634999298683576486581727572586650956965045572608149958898919594313858337309652194146631813686152668164069529925794167857072270456122556949591734854118465430582874581801761569703214140913970611665647111411284114011553005168055196816278234525820441085998348233841620369906144263383344241372755730885848302483773210773501837308814008898579353128029128304365808542459922633125564914637491498624644129885934026579828952039740775605810046144236101829327871391618348341344658070367570680310643126998697171043918228010973432121919294711446502089160111757338964400654625838568757795666585458870131328611413809384858845780880071495623045074668489223580996338850072104184789023363867538848969942696575637672487789331370118073481234032671599674113663498757527549752564602322341426195775196519964200999587706711773374007746486745370567588513285067615707928396434627107874526187655801416757875059815903297772085109959744661040036846899802538384464695579374165937544282088889387753002010231378739562129123862524397253577829884604364078672559867465793582867988229483532690719363393177035376772948323768665397667091164225560399242328725965278108087963855771361700211320992913150686396906207653023772707688759420022039702650310002404790655540819187337812845981699983973366880680387314150735488915869835633645117412433646143136533607763338826672135607606669455684555627980385186987897679229322784805250573160363807566881045744766483259859161725780385629242434314458531934480537544638305744721493256784672148898417330131222034575505601545550180331388888396019287799674926234303833519916028014508974910168548256924298008158010744377375083081134050886268215429400412720573879701818627308141639754581975431190053096905838359636048741896035811206974088493743611378382852781523950917142602467219725634743275318895701814573205852050884549655981061330491225754942601198356691067026697390147738375452659202383537008308800866249573336771946911547250822863064887381414007909004239868422832331184266703061021471027332702549287801829723123141618893379771856963166665263784249693013743013765368869404595748442737577321368501158728423430785775457712367210226234381173365913027813955796844549434100057936417926423539953173689801954531018533624282142845952805149405707658092421162936817794772339912267417903324244088930516978276989639145916507963147191979442594813264007545457702993567516845846715185849754933649238210343875017327613812535948938856373308292734892853996510423167794484437536053624906332726835668572318726389359894299657451637049237182218675616884783230686887423156151305843965150902752838896647562284310469557152209441813624332791939838207971193712916517181112292288805956459826207141597666039975101518261434200142334890015827064030074388087897766925928578151452881065604933557070438025934325027531724750008748849595119917131291439626999585375366655575552524692865893360840493771771239753272556406135320973305669713073624362553250565079690032063761722327720046951211138399046087748425347928806141418272791140111576966965286842695623946176896430950353898793022289494067825953098601107336418494380324177487696288771206008330899336089239622634868743698144121740570692308303589856112770421206844208821893499209264664411340012087089688092105329104821641823961345665039072165625231785397788685374421630108272107611861711297748250449571394550058300045465189505155527800170418333215731763856670215638844431231865573822387841845119748776628119144967024083934788275904618745237727798097536900334653501125042352210490710889095607851705798118796239246697825394656445484698859990933637080052830115107104768596157580077777009803098785892956780801577071806788199570568000357609764803029737320935913751688745082805179264244678030940298595975689329131205970798580216972951774574058561869050739227587752102646439370985817897482170423735059644371275432559607166165177782901471040987504910036810751172533492309601647236494995558469362266100291333029928407763960971124176339565943783757668368125938099783179911123834998799271238684305315073923946165532753016189065057333778390424357151318292397684766408204487297024511684374030256092531755651282980006299868136824274132723001030368782022808757900003566987664816619230627881710168643397439755213432013431091782829690847388114199376573823629325395498980342613477819169733784432717919626711378001696150988545222296571016056673526889619636806486538117749897978011326674157371271414487733271687720925383995833766928561100430834396598427556128916132660549024762516589592834421829050172923281716245488673825411078608003993949162354844600207689432215706517216514505469204352965861579724114765226051741163660661825683724689454163370680652464963901160440693103957234906522402911488376626305618385121509371017343367560467763690316516732484701626477986984471990488747276008802237397775871835575640008110779774186858023462069867562716348690686122732719034804984752090288032844428775151076715595467342200997750961078688699547690494750242779720286622843353082314944481036065724184563382990261578058170429874953220345689479834080854061261405986882120186206236867977697102737162391121844701213658807009439940858244929180293564387478500674533700426958814878890206140492474447538229721834396841730674757695526187257766649538122186938036032820155457781619632186542171974226540055266277455232870756235807734474994400177793696421823163575715790537700972636790727904971670891447406859336640234308991002020962412862593527288693577163747476402017155620995145091086793323655003899603483790054547698907036824545432947759078028108580492257112372396840255151012174198089666242377623433817027981318710381163676016124082953800277723203359079538331231770796898848494809290282382393277030420756208835020852403858070845743497593433562432614443731532220792104550043935942920757864153857972661136828952029058466199152028910952051705211980779689793942819801860247849555304566692669005657707091543824166027132819246192332466080188213250206230081253778935467493810241554229342805583467092595893676263771152851173834569086667743310198808370331771387873083855247848629392287170380648819836093715276535637490702068872331675401615814851898887806762091823848739219713963346263637141149496202053083132052480367696873661445940877347011016141898877335959192671688855748293147988354499352433961224166604281193452214154828491359238578968587247097401972035183281372723687787755584967995437391267286283468609762822201140105759300541746143936331027723483743881883866005348216816156740272042543146706619702974370148364195890426210843809930838940754545916378387671681272820008612426795037838354922636799858430782252278309130600205351105171703046459458973738529735170682466133723978343593269798094420584568713980002980544992103528048994005357 : 339666525092650681339636571916949204908865587713008529024361327647880408666220927396021475683661819845379872468897235503542646402668848327205101494590793385143426863562616344586235730536788550328328597193075473392009756858017296736218956339541047403143532506213535732851175460012289691491706352560112154885209516973854505387058257735424303273959889158962036125267884377918723140495142558760808561533364467736474957923624299589483639611211475541282580071357203931710998405578080449371802321691462305932728810368776496673595617983504663123381134059373134575578313293509790075141390845143217280402772515812496454502963806085900575467473914462019384639149551862243750053177402921556043747926276076222171641173784097984873306745516419925758474578112610874664691465089653413494181545682426965400111668729556633869221695320408432915177811986110319930774876596382381384493958519797848557269393049108867083107721891008635750323858896901296188593294668235870639872092012917063660578730923256901928776218761653566612427602847416231249715455337334706692053279579004040037540020139689483786248446244579761590989276646155978430149044763397459131331004727312701068272063374802137716924917103345555730058404407977712018389370647307695119612706531348825414923876139862812759379871848575489188053199579086537687803239830182892586996074686046426691060611693283877250169181144494855058989213562976459807484374155319648390650899874005950534613014854610281115247848938132585741173708909044790291547773400387366567988914569667901528540750563444809326512044420447231832063582272389074035909750667002289058617994338328532418901124536322545565651927765736706380947650581172622104262399254662890735304542425516490854975797073221267237229082841168474404773822507506129243288611810673462633023998123997753951957849093333436460644601183522927213114152647944606890418104601183668064648011094599876312162288384602292839888111471906470305315233172471347662480611607810934508453411258457750188348109050359223431042304095160691743917089427776748548244124782452312777233822178532520202953519930152239007093012946185088767998465605118875196751808865065560941842463826041642870197615616121406822223500247239875641792954758592060276039509228272062965497256852141488677604831507271861414845703108156360150429813912844727385532172939183268156769259567092444567066624218967214020091758365237972926240052831106652487939162509679810584329982321283639455189498620987468363058749371559274119262435371141057021211067593642520113668490290958272922272678509370623509344372274793332256810464501721737567547768348827805133467329546449650553860391707503112104831467588882911087683345883928929559651452254443466483266464326056043223615291873286533953671134725774659090283959667012900537621961138280132427235291812915659750529752603777808792113883570186927768261017613776538809988060908749635959498127240072544331678573662824755638938825838240865748728595274218037274334233924093764922076800748026000134046545987489560734469006292714648165483307805409642905751058417685755634821923844967343618178206438474886616111926416724633631917211482931950765292240027232755025161039445127121337294272512371769562467804319048784019884251347872619726978882733137882854074157427220470593025811958154125697073251711693674800030968993942787754396145184729816916546853995186420014576790689962965618872043625477600444559943884564811518711430474078788671121582815980616626485584254321859718170454511906722590040477584989055829960591496109176459537016370548226815352128298647552924062330254277723995537435906463212782799393412236973884565170471363151213139875241180853634018831561483890726481569719278558971676413305914768862290564163074636067577923543413015025149515554348383131482632000865406736952120301273722027835147727458918226030625152353479832312582364865720813207995815233784775255847757797622967017152208431298672292830374239968649673163292288318105443204382183941608769311404259113204520229110681018386254645169173382307108216838827700973240842134098757855101774779262036942009112492183403437531788095308930479639326150149813882165641860363676075407394717392708600099772355468523472081916755732652762953906908583102952439872060725011829175067553460267678631696772788220993626219668648330629918271550382800485548437405211260845544868121715249255613022417095217485126287342718016189742306171331482410071547804598777976070769458282037160002215618915541286292140444718787723690931573529686247341989745324028030034877915746910400227591994684659648046892637977868279325948086458752961676867655638877096573397614711101928889053725386180253385062081614274516618357481539905292072528692315013377684685164920441705255910285731277548601894659438791669844182211945713951356036888862912017959737280834583801386351364158164837445329154400776730514895364203438650910157456361519270989736266973605400357732929435247247412324164851471086096800342588146876110141176486703343124860132938268904159215702907748820218392052871165136031592409542119006928517545848036723700497041296241975278316582566044228098874036827262240669592166039180498310480252145293076456883031866685930285917162307449830857963156864914018546683590421277584172121151124747548002954602822564718081167346059379564064937980765601056674653285621917076584164702245186340225048378451831486395888410971209689218999721128182252075087890971676199212147357953216388241610842779681484753344954870360792661256849815027276283388353680354638487685653893707036449274878690223892648806913519704947448453835194843802988136204943409128154592084635589570120575877208617185691655245612872884352751527557646421392666585711846464348601270933900578443708199792763284568817216080619448795666627468800130145797954039489981851333428965951651657786381708288433618165519312311321283295400480031041253250556541836475478751010218858824726668404361102773627388264245587436849914362017373195622697212277209016620117704492334960267046674379010552084288024147612250030611942305064350228756991303725171003857787649815250281946659705780703244980109310394391419305484879558119710427373506865936297416295911157938084234894115479919708215196838225446834193130473700708834946547059610929878662766394686859483351216579689881621760950224558008964261565352631490300464587817017908355494801788274223263248182740309902751538156958327479351185336458200304298111985636976476679811296985915117669054975780823902004225081138957852900445035102338929027936399354756344231071894753002170893359475817323773450056033474919252009501329715622772523314776925091953259977828823427332654054444225428362857111641795531038613576317626516456121013579961627738588750749722069389931751311569656318949612527388180206586047721285934090584277682814921401284360808332760309149434964046260979570542193163310700761754054145368704038047516269149479570572009798090765815470683516829718095365514492247933925355026045073469839096460127973810510515293532717851691328414136253135650597105768379971236494665624560051567459783612699245164557709971163713660350260163884308704443523497002665097645612174631655971279316524391289454835969357594015745367222492672050085420756313084645332399675543091092382765079892791846643571918285708284381764597941794058569283954635355241258527684833855260687360563936652197306900593278443780965601986919396955442014506148643210612134993076921655193714534850157953230688480135521319003394357239941330504647913949187340168918468829871702207463316930782852494108308749430695006283094002646319414857625353759794715114995460215260321728604269400202281714217614603890888491949342772732913731235593061401076602926205144370584730600667101635575610729903404873038009549935952231429159439999710052599516273267737086775606190329675909033706394529501737390038633148791023952489029947082393841800788394878873874239154139716245531931208305492444922864041009480036240184051690421458162756984749413552091476001353906097819180702479709109161175689980192494389991372893650034430790750709818030819716504792497182987993115162269139334022740579179706056602469568223992555169646226734145113853235938158087561854333511288775726899074079796382839838386944658172840541593584639984891863638305422847396034093834086130847031801641240555035632914838398618421892276881154299921765019160647223126051537921620876068549152808394769717246348626904534876853486812348554528707805116109017781403713959141556018665859132489010775019258743542482518298437301768636573826096768852897489304624852673296252719146298403575222019068003818204050815833872847619397231433081160292903739840818404392437468064026116324325060864827209681408577670798996008452493012496333451291725914438425272935292786183734056385317805551061359216257910188174121176583915601878231344619883711633953477239510984229181124582578216263749416306982552581925104549752117275225275360707251362958593640819732529441047014648688333485000925012217985084224068101532608438275968620866172049204595514017522559613381490424251933106633141707638224678946603508043107673897223522893184917061892697560666997893679998547151734671904135617250194293665281291190629453465793237602252956635893734724595617093386628647752046804530178540868618449771229616371866161927303278831045323538063078382797969489956879480493688967277348395103735673942043088110175013780288091252459851998484609476587516396510653900730193312751367023469330807540668011321937787636476193933914182240454270823028102659001447507233735963056466285767415664255870990906050400747807177752791634191789581203291118460206427053555563168579999944104797227740338294939179072020336871967698352362719381153679216547099961525488807658428570977798870711292011831521422644394276324121316355386125071305619890656667846534166966002908250984109761806611205933904083990799482701344080027459189061250740209088496584647611722926658271542243731032987257151783502374937665524924134854031070225488293208749047031849108845252095059100941979643399923496152776203827656325909169330315157242594795038212935213963837557119688489891558746653487801071926478552136904519310682775823705577054200689877987135508676507577717529820987450403407266130290734175229266588642992225251175307285177212502729587724960675131883169253347460926248311027768081484469478561305265298545561215208351817737862885694043439114079344326110237333574869292812425359828766237379956182973749598123007002107415368280928036353295893533592464796402237033550074703444950726183164557216993458873714316813457809425697254996557443373491498561960072422190771367830311731462831983710731468549065494493886105562137623258773286558350070307190794393241512002549527266515356892938025873467173964205468606956056736750004361004581124936372656390128008867387880570755173679947907572231546529997350184382594186553247698928905583356243350944362692087120075732019005587840651521809670705162654771114919895198167195884250599071534693496102458645431452901300087492424444332239429978640973886631040087023299128312756839816904603803493965976935938723421885623840663978155412098985593316183572091106412613271044273820429628221885172567601845114903209453708232800385339281407047699601211617760674906283124294596348923066110239017834704903299985820364757556004103204698409281378028852336176395210083132566554143592615231558412001811016375068849713285571462226208187116353083135658207643952005169619778140106714708300177797385112811885288891416493043695916268546535590902767492118386212963214935995962464070150704389121653022835942278915319894086923995018244349399193889861779797139056974206472051818182037532888411370946918033455724244727456782006865708129428452550892099166868338114897388685806197274359396029092404097181681739773776422265931403719455510553045373572532254748753645692380407911120571878778612335501836868814793857911377138381270023737692022258486751690691972800447967932871530449057765792470203162091689448951596475853240763701160477488852203802819610650072925528374773929362954008467581807858943928882906071237926448687914839908221303752050748083907092103214096907269753708224116965567564653435628474484552418210151081025924070942386899292796278434741127247235937157289413912532787842822258519009007098985130934088472472058387354006624384747284863517851111225453377117694640652942224555269145880257831303960146051863796434463052179907129292881522341451468585469399774455474380682667223799410319874667169304797526575774186228687176519691044630597491611370091608702045547484380183696698169112849580113951819718845478035929469668479698466684476097747584009707730315753073425967204333458969102256711067689556631187661414168011166468861783287301268187412177795662677553388389172313692669326586382857261565287635734505830796450336088512640432614088061927189881744237333960052152789425283256762128062139809113687554434981787921654921506773587958197184022723363263537377522429046497194817499779181376694651659286210430804960122781558795600462580543210703476144924362768194836979489440852709009710175356198486914154601781503684199940296721894710070825750444433413034875590751759876489061820678614636917557491498724701353405472501979394124868142911084330908445320301758248538528148844270739385955633709863879791396453985473689376383424060225357110297204820380490329943450176108096582102033558827922767352954712296356153469718124385524679206064030756422969204633298769275452165183971038525382935256800335446288447428556506192854897718075475610921035868098300824585711135969417956165581094680542951992149157434338318963901840433638444565735858285705516381105482697614464357936749228904553105949534045593394082900675113540791942135131856187079680350595335698787178070626793031986471591220770790677968561853839828833701982492196403115778311419549398431992331901493878253322360316224592431584399579602224667680838593246924024312110029844550056655056816764204373212226167965516947026539085346779266081460564454312618636306265365822322376778144386436215957868448658444987392671311765864608274706177036898545536178861304685909287281751354697303465163501665197356176058020534186652487830953702565640894999432561974435231182728171407692318754296534950581944951171007101096342539225294641223055502288256248999442067976383644208387097493001904087781412624490627872434469325968667431644850569845298006725031043791820129127183554590720896095411877408875886901425782219223804189060564166184049630832465491786582230662807438321054308005687900001711506031776754623090305118049534558918537423910480813714513448191606263674640101991937773910094361063029826244229725721146308883147176084430786506817610203749622019078110459326014358461620852459073077322254792363801563749610136332253800772631154179380425134679643546213991766683913566184641453731396519284205103245905651568016539591962448362616140998841842263959302071639509034210523116183457606685504076254534552301543313818260148148667747410076784787709046374693433936397007495938383529394315424442509944923212183149137611945598036992185556612744590283362152735209058191907906791435822900910790416831301006624947697873872025655569536556104836966436323280865887133917369041624280428244685053505703188891275267739559801226167397102053863716040898132644505201624833155955832490810294964140463725334875014972276817073601042315818263271956091481610743395631274371579217782623865698481757484237704236973803536920234760921136940047062350652524191456230011267711699167396135644031977755741737686565193709278927995544211033050804268613043399906655553341943785424941390733506277074852098802227729382983166652653035736312006679288891756609398124859704209427591373477876537754139495844866245699193498651796464340214579432628123761980219268111050627780851956710608491563890793082331748021714966933265550863716784730441730862397044257638058956412381451162958908743231651759844456413502156952975188288404929940577679376424374729489436335185041888322356001102686880636591235296986092829255366245427867857076274157184884916263546899181718062946088046127272551833443332376797296450597392617334985072274606620154098825369451973223298352708866573908955488069001467250868298956297884939431744799929296591818160615455423787757207792376707902015286643756231898151978110301721876402736691477427510569785180397062272469506905089164440303398080966091876229681750628458545449772704020921654330381587696633862527157687478841484223515116195714989411286075877386167662738711900798173162674010099311586854754515471475245074896561677057620433085031888937630596406799876079021091167824851671052647691526426548990142809886350749582664348251249185764069230837291244235400791460078968862340682565207294485974714632236109034358371497463696000064680044086300992945071311123009858022865472982071147156318901203074132660404103413236191114113940057317155935788154465973234304105763064979924263819627012679842599212955653874160568079349861042253879861251685118362714972645100106662287025791206223756077894865649443069057154853613481384344180551070108847365306773442812777017228088537374683153156130702833252655096877314787741348418930445086723218998418404577683496882324998936568969344051565749087726918871277131700944253312421504419577309354188978480891421726566451213968526677225077075489098752490710085303063886670439516461553642364398392211394890062883457874994673384350883586575431429748228806375253440879161500873331697932737645783150209997126626230277137343402222228737942549445546614215033523435423881044293907035423003666174970523944309878809501224429002357301783678558240727372995455847285920470633871333284688974780974808114449041108941638349782471561843002490741849161604030880769882769673941920991579477245972958001410403865543763628824979165340480238252425256145696959341849655400461164017646659957573134220930501014072383019449539038032276448545865975406304593462852438402351889687729511963127172522916029960614499780993777753692144379570110328132285558810236269337847110488321290104319158899585244808851160106465285715780728966040154761285992067395913065508428820451135450664304839374471422831768066734076614881653901187890018735226355299646966345981635465361766384136861187438504411015327072436536899367824913422944093637599148311176841518073139273877206621020466414337002602538058233699582637082688326490042305754572318958531536291717118443825732374110211712186077537097791749935262947135760060002388708602259040688911411020166286675254240990547136829230989449651778176353473568743838050178309278291265653066468143183142506070269014021352058748435826851885775752262341296476091606355127256436096041777546764008599410683531189461630266217968256447130803839116024725455201551676467966944555331523054008633880277856499015759974020528914982543421944905323927815703985777298055676508585645881253083422635447648940023009312540155009629277524597327719424133619779576287817778473333295930161566266694211697366904398227713902741604461713722611482626093930206355525160077847345961090614201831973780589975769384913041870944621998407255139950030479719342701234314505575248735597546100629624974194910086687489739850912232430131276759587040489460826859939986708694546477979699889256610878162963310391220506537569955063031450668766275239817939885041716373488543617327680564573464267859639478862747234586072587557226763839403554344796709917557104402765193213892926286649991255235806238356157525816569218598140562553964094778754132661379929531205258444326042616603234699204162172366372298015053]