1
1073741824
1152921504606846976
1237940039285380274899124224
1329227995784915872903807060280344576
1427247692705959881058285969449495136382746624
1532495540865888858358347027150309183618739122183602176
1645504557321206042154969182557350504982735865633579863348609024
1766847064778384329583297500742918515827483896875618958121606201292619776
1897137590064188545819787018382342682267975428761855001222473056385648716020711424
2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376
2187250724783011924372502227117621365353169430893212436425770606409952999199375923223513177023053824
2348542582773833227889480596789337027375682548908319870707290971532209025114608443463698998384768703031934976
2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224
2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576
2907354897182427562197295231552018137414565442749272241125960796722557152453591693304764202855054262243050086425064711734138406514458624
3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176
3351951982485649274893506249551461531869841455148098344430890360930441007518386744200468574541725856922507964546621512713438470702986642486608412251521024
3599131035634557106248430806148785487095757694641533306480604458089470064537190296255232548883112685719936728506816716098566612844395439751206812144692131084107776
3864537523017258344695351890931987344298927329706434998657235251451519142289560424536193766581922577962463616031502177177365078661042987655742908673467080748696980814823424
4149515568880992958512407863691161151012446232242436899995657329690652811412908146399707048947103794288197886611300789182395151075411775307886874834113963687061181803401509523685376
4455508415646675018204269146191690746966043464109921807206242693261010905477224010259680479802120507596330380442963288389344438204468201170168614570041224793214838549179946240315306828365824
4784065733063810973581885157618788676291241975216665977767007373648750357731006099232824032039924032894289638403441329240212719241920971274455782595989040464660523567661989180298099889009174801022976
5136851466355833503165029182500125649951503713694505722166289944403058744430742990345377476833582471901350555523611540735370539306820120960085756611964727392534398116336371677921546638558908903585247316148224
5515652263101987298728728207430913795608113109085112352897269396216198887424215820128660001943808587833784893551335930816647064191168732319583111500951066614122648616177179922993422016587311577585463592732098692120576
5922386521532855740161817506647119732883018558947359509044845726112560091729648156474603305162988578607512400425457279991804428268870599332596921062626576000993556884845161077691136496092218188572933193945756793025561702170624
6359114106063703798370219984742410466332205126109989319225557147754704702203399726411277962562135973685197744935448875852478791860694279747355800678568677946181447581781401213133886609947027230004277244697462656003657100713230572978176
6828046779268970776657768233698567984276232522051489956245767999246374131525255241237946573692471593720760228447675638216590132893818229842292076597586769967201441361422350907866192164773697561322460176523147880429251325990375896362151810433024
7331559403129590068331208687020758653624765228075687047537011123791632385370343464792392772051104864109916034360063928339045596353810784435313926666640532382851295822842678298180301122938618566718730242107326783353838221723324821405531849499257419595776
7872201966280717348342236651726314522606839627565764220475565031568317153405023507392663596386569558004653379220621715171372109048108541030444785631640845193093816697582678260933332408613360539868835105124282664122403089594119217080450011771426148362301864935424
8452712498170643941637436558664265704301557216577944354047371344426782440907597751590676094202515006314790319892114058862117560952042968596008623655407033230534186943984081346699704282822823056848387726531379014466368452684024987821414350380272583623832617294363807973376
9076030935533343889148330677184451660957398691768765008885326289770145612551296225251271450782204288267814476258502032778653474399077793626653018683486295323382390383590453332169716856898789897889643528945016096228440849041002686084943230837088977557446564364344140092918489677824
9745314011399999080353382387875188310876226857595007526867906457212948690766426102465615065882010259225304916231408668183459169865203094046577987296312653419531277699956473029870789655490053648352799593479218378873685597925394874945746363615468965612827738803104277547081828589991914110976
10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224
11235582092889474423308157442431404585112356118389416079589380072358292237843810195794279832650471001320007117491962084853674360550901038905802964414967132773610493339054092829768888725077880882465817684505312860552384417646403930092119569408801702322709406917786643639996702871154982269052209770601514008576
12064114410120881697684249086315471354100504503497011563593230129923244688987454586741947156276531487416450850028801674329627080999958126358211839195533902044386710183415792069701368078118158360793576698212191168580174892152827542937880954483101341506291035205862448784848059094859987648259778470316291228729945882624
12953744211667879574559702190010707651171625584905095574841686913755541732351702201085464556891975967691972983316275962328947759192690782519488857596207264634977115153700247127325882095493965845839345131422255684387968478939180332711558614761546211605811843616790961251349338535374752162059924960553344400851693295429983666176
13908976937465711096600078626398891812899776992581064189424841418012806069803436530898321493204542046513744141264739720678439654956272568290463281503027843811211021823392143699745652883624633068305241252378852532749105598230661075510635812896975954309914377965895883760737161220166774910038167424447676066270684312523561526010025345024
14934650266808366570320408622852960646761673277207226330614110735087816844749013262154996078651848582108360475310915294566518312586678747717366605686086578536636834221552886243435005663333973242092786331089313457541044379412801195944591829139721685264868125480926456023345899073123938476101817799943829891958629451457234995914228056252299083776
16035958618284902179676459819127466048654098757960544826214422300831173259058730322306495660204483357524844742409849155497350662286222596676081055666067374259847685202635816187490411006398550350131901972386107338807867546815649205082927433555981113188653424173350850100363212253696007077393346254227355005737381719747810962509575780672318222407171047424
17218479456385750618067377696052635483579924745448689921733236816400740691241745619397484537236046173286370919031961587788584927290816661024991609882728717344659503471655990880884679896520055123906467064419056526231345685268240569209892573766037966584735183775739433978714578587782701380797240772477647874555986712746271362892227516205318914435913511141036261376
18488201538006164316252793482256474424146230445960812014972262940666084424764932766315864828023628136652727984941934749570051306208148860058564200780177559058835131916590235948968482925745575241323875951145243254834748962074450558054228290999600155493944606784337666789032568788237141896264547881207318628055468363063945462390866288673288689688117704558820596540006989824
19851555241898344196176987318733378483992123121770295725477432919318405265185089679741362460579536790547221401127397552092330105301520280662803471766810075307701357859400215808435789775202910519548338738532428381369960169119927366002964976090313454230751703043577500969960053606087218484241914428502881625837456173330575029424092169740167537744289495219681142617635194226371198976
21315445134672689319782892190441647183084057082402211441293542093626589306211041890329066376667799930557279465378367503956753543676566456131870528728427152922468617235229123268143479500106923111368620893281668733361548650798179284719539202835329557077467850517117257376846677166137867478356428455712601706182795719072031787062678395880925098043142248181219710772663748015218080089557172224
22887284938275379073209001944560169611929137396978668814608196807031392776549938648262339691500354539503646589633113173840851767105740132664250646048705771830098383652912755875857220772151415816628698134316768331523398899772776081053773352091912730257472439115608827157692806508708024861680712012162352175782227152815794998426659903118578601580222388253563534789792422132536641073139201456079896576
24575035076031532940358863281171583396862164147378487942089323084932863705153155551273299050859187979893325543804038430078305262125740610916914468281515728284177656562930325407009649795460549623129347865486683822075371033321613774814250441157764590635478446405722768942801809692339226498418395421557914209354777209846758457620718934602205875948117269489017484345079171921967862732705803577354684039245594624
26387242987402076860897009074091800813514896008193582461300996140141119992314547440979917645367013268689534694829940122478375954983690840916802053624584843572541307297926378387436083756979037472381418565018178534826500358795514353192578529881542823311551946156367009962974566809553199887160901015096843724788116344414489186773097449031109251664049166307037181608576755483903358599997153988534543535243252355538354176
28333086415624315030007748799359881348948168291008096177091741008532085797950688151012309119906161976554903072937983276920714798461930093778100869305807541180335179613419980947439799256635444425359173993710081613142254018789750024615179493938246295036655506936687302491070483831699513471876740037433536517696946057175825831434022329052410280625031187056197447416212459477288394902887030518457955862539498067928048914896257024
30422419887462074119071134929958489032043186702245995987957913005836841367216067357323144240859877069545506861679635202642345411084305213453789078664403403059928208689481185220549258184013586200335791339139627558484226201606636463934347727908649520193900630877843276694401765022011544615205503550967713779282527138661579516950283671253463206314672846846606637692828053410669727717058223014832711195154653927501539142641927787722571776
32665824620457402195434633605443740257550045736442160628806611546120572696033233966359012654595979733069567388664407206139801581335691697666580825036395993873374496107296177432394402764349675687529782004971186285327519716941701567289776745614889041189723697073526161103983641763554076064188135517654549958476754101195985309251236506489109949465205140536348059366804345787541934500497452294145254373550578070204266401827739721665519024733159424
35074662110434038747627587960280857993524015880330828824075798024790963850563322203657080886584969261653150406795437517399294548941469959754171038918004700847889956485329097264486802711583462946536682184340138629451355458264946342525383619389314960644665052551751442335509249173361130355796109709885580674313954210217657847432626760733004753275317192133674703563372783297041993227052663333668509952000175053355529058880434182538386715523683713208549376
37661131670641134196564321969192408014251456999151389864994922485394646743621925010454453501677282025991386973138875074810350265293671223827650202935793353928987708427837894137043469967463773432450711611521684688399958529029759361085334173782804811953090869395973448087960521176275272318934283811996654224537015142331587374110222375180668100782509056060170328026795191929322603612211172871951146487222820410109263092167280797070716301943769265419640699380301824
40438332213938378681647749604523927988174577432926379805774761820206261354332266127116583971814151861950407256827974728135001947935310435529013390534248910734788828520886832827027961410153772739282367875853273132875443112484770766652841335407081818622488792542978308405536042447804436425829207636426960588951680194442738239892480550172102896072827101150565541766169390256620931487004613432708142468081823881575148191879576196166884779035637556486825129977240950172286976
43420328590912152949235169985856801089667221203259608710369358489993831122821437733383576734544892009263626485489306038813581109819613261051157242872668759882385336990840249977276079783540124061558526134057699050063872652407634935207700230262595814444948283524655127259794801915646960363161894120011813505557091339845620421256701629826317277544919808426040743447554902587111987051435365923650942153330039355849259612619078133219212671039562430905066647030799776325484531861684224
46622222819885364931478750825563935804824469647799447002198282698755861978566258578145707374594196155909751199383996998609909376829655853895657735272910353983930457211399481303216376458347897987044140133934782299258649938299891926856037864087379628776884317537432345314884192474625461360397154599716359535004705391380440349531819180233482716793796437033107556967693649444027943868872591624968407367035084131941369085503142371961312405245931740721880232424415136010517778924950934389784576
50060230569558135212431628928682526259691134039460815810331716074629761771557983390553818374167023440260324632212760613697929558751778013854201042351643901275191155815322032647169449125057132011174703395922737443048896632527613416545276681598247097983334656149637794735001607176471416597954362144309433769755744215523467898829493072622084478202646418184630056606675288227247150356732873355000701668655288707824182302925356048201426039442593915862206757472935450273141443127305575402191617601306624
53751763281617910977034964721174741663008655940159144344713614863023080529278140407534961311242814229395876005424258737427374269437649287838907097277355371953699677593812086481959272740614049029887514406997074265172418391397657360248197162683969074191332475296524902658098222332595908741751391477587362636344728828453617536494627356792601450307397806688631445746074774556850081722840606116959452930981773324385740577251592339045231114992186734509188416434115341010544191353505352737718761080737479237042176
57715516349220641403551145131489818535967707556974914498972081580655912641605995884514692702103291057564682320142077470573205915596649000596449124797132990977763935367791720852384692606220407885376850234195316884149692198070466523319924314171909689281792657015325589841528833618559065707305684039682709876498237825049170393034127744282786670958110681647450528619147369273060998443631934873289600324154515400080488767008937665030852875913264330060499715021638582083043723256517866242361536121851272221143794423169024
61971563797913992479098926650774597592238975917324828616370329001490282756182680310375299496755876376552390992409906202402580445340335946188208371182877207703039791403230793200138374588682414508868522097839706723444887189794752005280474068640895359332705297533442094790319040758184131464298255306336601284054032615054089107503261218395204931877449590906016855549287497608058070532126514935495184332288660623518513755499687752752528983258754107553298994358814410594621086881204713587661301862918471291451469190214535690059776
66541459948504537679629963378444927431556686245360434679028873321540274924899338433671260206192936783277875135751382841436659909686464619632892703765971610567088795965884551383683375383247105511476551093518713156856776734644451203777513858047176184123034409028020815858538064365622972246331399532643541020700919094643667496949083786588129696407888468207480351052236479582071909751086174745601841568167848552413746257599324759070961491097120099411771439420199095709353370416687220485013030156504677327774736135780758503157882551271424
71448348576730208360402604523024658663907311448489024669693316988935593287322878666163481950176220037593478347105937422686501991894419788796088422137966026262523598150372719976137911322484446114613284904383977643176193557817897027023063420124852033989626806764509137929914787205373413116077254242653423277386226627159120168223623660139965116969572411841665962582988716865792650075294655252525257343163566042824495509307872827973214736884381496689456792434150079470111661811761376161068055664012337698456291039551943299284254570579952324837376
76717080122566097880798741954903146990761239561636687392817499704309891754852223815937064191373291624590970010926034369465263628956347519443606746451701620689153991121024230627019557378954701382734581587864917750959227224148438213639921406792536930706131884574619580225534287778469511200362314695418425309704744931123201627663620508728242239991282033990949609862574056218895763297640620468297650425717841333166835920044044347867997814725915865367187297877433706219982649237431804691935331876810138638844419925083359740918053397094854747103924609613824
82374337542758265499091375763563030793200084515412737146481666631625163834097587650580503574050243213872231393461020072956322073596447801905253773073755626102528343443168362141652643223751480276072751742030893051524938389287600894265030890546064593563763657727709492177479517533794760884665461241920584435250137723798980884407304743485670743082084915275872233585928656459555680149080894718121653343024651462417150097096810338416674484811818961349902118972546996155724315040552235045530401339451461563765684702580950040261518089126025637170426727885235317374976
88448771443952937988070644155037561422858825544533428496495779911601139499522777157934184566439227216106791839364897366036734335634912102738537861483096452501590794500366037505070655509492154554330380012187428569493313327601290644792165407831275752714974250153462485472760588879376768193944545983701113594651492775803125944164632554194156221540393238651200515281509096320752698232834711818187909914434986938220058194138506237353577333336102788317629403447047617577968414072793190825064536181674655498943658601158166803883275870027173333526136193657844232347425622196224
94971145180789141405469863695884969990692470634685116742800956330585166286696033875105787408321105016172948848387979899381078776548058719274153038481919330076987462588432197778346974895637755344856609332899271782077461008182119361693275785914457910967149403472811089067095457018656127063791202559391107981952290497413671516189054715030212151457729925746607341068107450556036691253445520158175442766273106804460580598760425795931407058821363012979657287013264796313022267140908229491284859997425339970007394059640858536497878915778164024704513828250590897948604589281308443672576
101974490653789342452103135021850908971991396442353234917068037719346863436020306346621876364766936077761091595926808996836775996618400992892533039594718252497722578504834949342851028529324293067252084723562687291559583492214347767610253670902823545293096604565408113182329534401325431902250930191274076613922411479670822936329681138552340210613187189370546728210259802188028651077399439099268068427865691382368315148212031733140040794225325611722912890252514454588133004072494067350582797677220119843215844591085540229905203079158788219257405738979012199841132549949682977415593013018624
109494275596070721076281852834480474855644006928319473312153123552872301234471351037660549766207339279026600326441522862763130088888459714071839461914696997202997197289764671326340464733352703925541808118880735630780806983610523570964161897697893480273156162794268034752792958837149917268310703489275295907348793896660288339235667691047586497212347771168164255825716615515253074772106438915025012858693319891925236147048017291887668649825909789325276269372846691055827100547399208106193620640961294729953174996932722106483792101306373648175158763679392457175670174408743708391969647840273079730176
117568583196083663281442119800594635163885332693882388528910616250958465166578720138921931398810242039648866779032316188000984981592376865938015370871465286184069108884799774720705309847797805948343221237825009914656374234773901684682052634665437546466206716475558296380359300716158271129125032163297620665696428962800085509736836592443303996314557211136439298781907584850454536327409952042763538312516819557371285932162070302575005739171689659649577870780315742126648276770395824168099923924189829716741509555797735439901029157293498423817129242402695808179645981492042590997317596624652477287576606081024
126238304966058622268417487065116999845484776053576109500509161826268184136202698801551568013761380717534054534851164138648904527931605160527688095259563605939964364716019515983399209962459578542172100149937763938581219604072733422507180056009672540900709554109516816573779593326332288314873251559077853068444977864803391962580800682760017849589281937637993445539366428356761821065267423102149447628375691862210717202025241630303118559188678304314076943801692528246980959705901641444238894928620825482303431806955690226308773426829503900930529395181208739591967195841536053143145775307050594328881077553168201547776
135547347832924043165417610154795134187498541603998333537900436348048371147574150244900594669156202032403444498366560550756263643423140672312812617907089579685994571465180037111612221425250319390143131736904848137893622709821614613748622166436247955709442479523779282386603531112194258485305891457855097711716107376193619487288448672487186920090553238569673333913483972588154760484181865929481686217084589537392092160850759442162404194631503402623424046513974829567084858167885332048931065332401674957754166589860218710775755166526642055600261930067487882574219872611056136663682277876086665214976824091024281708708625383424
145542856500486309361890238449330649728809442059217056345945587654749356876225241259209611218744456911185381599558875746375475103914048669297745718921773427823433158419120765536610198213840157598554853892256499754024901966411683189991501042476088459679727981986945418043202748661248211748339825091903351744676279304293991165443043691726770700206972879550908196640425338921571293316568559870845121133328067132170701239967995835212682384168881471395081720829376174989450825971966494657064899340276140769794081777796371143547287807483740385375334659668424882133140661394443058747655483603144141890006567217223554270198636103730385125376
156275452209002426701264300720379223418916955665086038092806390293162456715105032784503784748345536153705597640846384839302564026943260157396534287323256313705865469463027687263556173007130272864319748582324993521742249578836067443331612873846176699081861579202501917358151030149342212999400632766021272534042290429726081106222699501666396481269992237207524467917240975549466153431771334896774444787200625992891417828762297549725669011110163515135558871552393166915316110637445876839963119504004500053839461472496238252253430640660552251735374762082793768148623464614235673363846754687642083047890458855800223377846072372331716928743694925824
167799489101319094866641833361584501325531408080356615658703414792236151001597926253612892770591916971937792769892494161158681986166841305909481816949013311898052188679847649484872373931135624190952391362007052704823706720642670853589902644025475664298457177368414874107638348380033700186172946332941846393503671019151826147367499113123167597306023301245047988706087806134023189812094012682977444062396092007549042013401349033473170543609703237679906590000048350608787974172436938499421356028959767192017681564655836694113170726360349939625648462362345019627736061984088868283565030034789360511001380644023884829335882940303464868120933018153806462976
180173329493918485728137038908371793983406511881490451067843166074044225815195184250171794073411778489105042423278378964511873149262726952125788985025667668517695459120291767199999523192027615510171744998203297072141540452663919854565259012978336942251437090013453306913065972521924830419370478974987089432488453470800020740405271296043252312589066945665359298360806120862504448287136042437699334538415149642657530140922196955262119194558554298525128430096272076070871509817177328869344509767088657247372423643484732024183205998145567025451933657159739690292401120185372640408890864572169511410876194519232500796217039656971925481016090071494293264098838708224
193459639446953031773047832279434098941895133801109228768168668886279166083475564052795534481737552937975612379168306689118209944945984692789505342220569089212017698552339517525510860831338034136262500027633684921055117231813142963630715939627799180859640727652297538303667266768025447405385543026356287783691276888675945009040586500628325721011602904696831786637292174325269979511943129943196689830864080846540044620848776800830394262070712967301411910365827674560604328220729891631617831601699590002504485370256021879797687718616561755423013669365689554419757872127485237032338582742658270819503018541259508485011536461157369582778293926714572854984400790850241560576
207725706130153699578322333470965647085666950984327076520766699669605440363669988405477509493475774780918492903525157227365187697901241185511883114213658064168530606363871193015121998240851057134044761322471443250975017581020874952941610595441826973561936522894065196568889556908594228775474740392350280518729589099335954138930935839214435605745113628052874329605104925680941357093596446129477030129754249664247371600231554030292512249594941358490670382411528314552381689926021188451855666574933759269341330689640016280197877961969745775876548588921648425180418079256524758944175576819676814318419145901997803898039763820845619166854484308478627784691837996714580884093480730624
223043778591879214785575853201050904943104316206429950555995609981702342896410236684556272634501994513076622965562158351197879352846839682395451748730573535532627096676969062489113153973656205399437434520035139664214405155877422054047439126247433380484793499064491322938798014489585768481251534214808665851092375162291504585916052458025078814443303186072750851112962562612038414802713586786982406497625284706240360369238427646840833356422415595438810303393331931095120059285368415950943239612905207357039467693281248984089364563814797462205980480693356973139949637503477458569879398030611901696768690517333247201475526029523984346627694323965220462552093408504820085882066586209066418176
239491433657096539671551985506452637390459444705764855638224540397745680286664970589947164809211456920108884994803001093392043561257705233210873049985955712608931830297753099948630338090066461934510599515423095407148322919146827476730723869945885393280228175948849206724478020445626252053500732150607064681958439299251176153785866877159531563964109907598766895571584852022764331868334286826236788608669624868997828725283382792410904245805046635932514255555549617131516529956059619455156488622429891286645777280972880829174261285751465025259620545048081901022408531041122692707706736301411231163997108662172904465955226810300560804095468752328862732022808471466342631806846825165576221189444993024
257151968807345829051020589828520018641242524356395099408083902128237132239124488398156224805871321755095136452926004914692767200552304151162188205324363261239934262155567876640496645522564639118787979671023910594197462889745719058678165004956033763475669544779510277929294095121196024702209621724728272338892034505371239717511341206102459360476396042721571426601851041581693063222446584978542660456575345220233489667525374356413497682380055123271241797666217979221296206761170095646525614298883118782244743739569581556052203726815363266894471037587801628105188400993255699075764529893364309124115898585647734244652511137625826146012375288260597317727793577754922692085244125741894913750982116357257035776
276114824032390615084035037184030932036361749728800100103097329416210820274966732335703103060010318930606733108493658654135176253528404866671659683416268319762355516287013623619773860429279988765309157961240133709026507619407879278256655921394460732999949996632801043650547184727862520625299616061059761045530679268868252731421872247326814644603798995858242027745753659164226954712617113897431397100455883970203188901493849027738255099698533049281808014571163836190668688692019910873754872360003241124056129957338023474912251468850325865417868147414698680311834657546141786024006520522203518775428047334752418389320449555094669595526218168589459551266548611674056516378600391059387597907302219408821405230955495424
296476034789978134120813694105889196637143099477633324816082314536891061330578960717457630202115461307371403034595170935724489293025075877350504677578646496935046858594479715738345467364856518143562563193206102470734007555612914096207105269178488890947743301293297650838442152727760046517446830295902003198032258606113584103529903220339673080606794891142197240305184142245671365903090895689843737237511812085698333701706561779824300625327604726460130427583460035274205809575857633345902990376717064770455839258773171510507099132110028077728160266796559445408422233980009645488034469133404238749146357925975400309760081625787339024177663736163185805751165416483569137375444258463220131699965267987276097342929294919389413376
318338718367678578650999132273435515139060697782127453391204688944983123482391720256787304495936944082778394939805353942116599894961215450284731179823827793070247623472706726307892568870473511289757960461188384874856839891593591819616728693487721643329966981014446978586184006388391647781968207384940276639108990566568097346501603122350994473134438973208904308173054737550742628529356225575806552696382654330442973142631075558237230952963602896540321508591364290506430086125378041593153099814150628258555394157165913179956727787060638516871048581034464375837267714475850336283915501062173166643839888802393683307731955047261782839926904760126513888718166044420787191595616090892625421125040927585306645552598454629779121684636237824
341813596109933499686451267709695916771794647283294286404747108265138814657200517591020548709510734928428480770458970946773868391893863886845708576373708853193142243359249334522905352495027847755949304984116297583142795004075665547106745248258643158913396180054225669138418156219099300315776097307516042769541477265745622265042191355517251973797291500310016044899193901549575682511665391195521978163366029462731336710151703228983462588144397179742888106181323163936840124404740511069780075305700156597087212527354270288472377135149973599709774476192557585774529362917610744032504811972371753356012600566639369080922462715532872912035014743812525493633576630471241062619714291838797407827569577660099073194968552613760278834779266777639550976
367019554155079300472033612277721196159898976327401051813011562287335626463220418491926489992830902669631306396021540781551980362648064224269440733367949449672552776676012267721410562967374152180267313585177324395050536360134292558564354565568568329216791872406056688888305619533412626358185202698573764672629477442976237170881413983030126597812703981802573193519326355979517819766120498419953309465220810454950885501116449141795392785229925803157584526159039608778993735974732990602757849337599843741642056666197024073733336398711827166504219116695641357374579610880713322019458832095991484054563091099406789707158888718748260092528668282888153837580616958845964358120990242077858642647246435803664430873075041306138929294804484547205293879511220224
394084245522141626953485431836389151728191722497516426553221541823493367658800961065564478638820000356056388337167035542074008945401913950236214360506399705231203021164366069389563701733455174652493802096528279659381259483508916176782516892616322154881870596505654577774329808187256502370468256875376316278135937985788160888518809137837873180086327183792757748702946460720720770436177477377229784500022657580657233628383930137914619684009220791267089768552182903618603146950084219242780072578071648001265726679873751772302343114358428552134991938056446803917216962620267368806273089867659639177213488960155211698149211030681779788578141054359274289556411400436598704927821275214881488970218576557325551889577507340928956338410400961096026352642413831783448576
423144736596608182911363010737432157350441332336185123317218131393650054641863553587492186883255624389992635860002059735619375108028167498017678038305135183168014273659337027150060695663472121053607261211821299069046132269240161575921566139588661882754470238823949572653358748620554930411126909871467106526886573372811065950043646781969905364666573427786418943082435366908611074642826480146745444876181256391982325154935099318573015295774364365233848239256958710113055143338323466523358573960831033727565015673933106317715150575085059663343105337794024206197042886447625703949728370156616779581323070873480920331876871276245174193754227542237010326984605327999187889785236604395232841910718376071346378647721599321622447433221145188538600375038332647501989247004442624
454348201289241622532572549475341989709717883387645595512294727008489471688854238788155604329775769190769580174886420264280905598234361612699018001094497720141397744657011694162843693072405445433249062433225452024447096002919190184584736907658568419708059018388543229024837942470192134871836478100872696518181494334431985960584158175284096499364471704181321758373486333226561296593588653308266241645042316392938760787621096143945746520864665485966794394958955250089479075820672888046793973810741618710441179008317522831569389290926480918066851863227091687462164932300498503828265344476512866576655790452972676626348157107568701209999393688912604508803286544805966275296710919874903728577918394273165414744999243499796049346290990630110260661100743366847534977706936759197106176
487852666383429451354843948685983951054701710634069880790937554603677548815986710826525748188875731921899932980696783887399541625419974617495025151504039978388465952257505990879741940026460787047029318543341375059954317453677560593398912089789430824206128837904163947435979233652351168527739706225767105151230646889698666609260026104634057493419622688444040851566834488677759731852204867308921428581572497360939165728399952394479672426354879976051832217076205015365453426081523603718712358791753936466861639393101368136330960839805466270866296073559255954710862905397173779609832613734199250517487024261136668022937236671719381442535756018427108541873064951814615954519576524307196981347655022790019786682011982594091153653080495913941500603365758030474773336866845613272949560939905024
523827811845807022473069412697450810840202138552146390343923852550252328373526611242634304443288124903155859584171121522190194441642368311822810617101824229763752012138871400338141475333310613748352834274204391111543458179386779419426670226906155229104912130390217334114948465567997725583506626760079327284282190636044973095394755719877387745505253662881688145891886121778965082712737352645959266197863386104570006162250453485561771001996794496786970643305368320196449988307824326955983391060400307901108132237578916039599486559805293158850454806147553660894103328655100818563235679005646554430079461326485138236231102341411657846260093852444901136796765137831897844865351140917190023079525082293317414748034454180435686945722914901460093887155049566784630708713973253922095471423612774856523776
562455830153245639062242542068369593781837616777682384282900784754414986728037416868205064617907495791054396026195781551362155854683738106816425436813478342193926174597661918700510244494439946364715849269153939060918060240802479735300853923684708992526246238244917792089002191084983073895885869733454787262918125904262649557480091006695579374214058869565264925969131911199232092744285473063003528716995377098737253152346041870414253660354345765133203997977159569119552248770421966297289974030899520775897457530011186652302408928188820561238809086782440680986311978954599419827981737317401437653068801269637611838662926713598024230707224751535375006123832116395233397327391168448904648336011358915376743922519015246545439615793511644890541473605113092649739192340954335953525945388529857544145177541607424
603932348988180172006737956650887900333449380710681685792590820633236939902298687928314873688869857593959070072385810264065150911980395897951375481684100982931802452433835974720825579654145905868112165235970417464055005117501133814704976080774776234544334003726236588807697982995586264774095279863426137097217676071104626710921465761215307610005382137050385648653320666027669494662586249423372275843022996005565966296549788877118972360867551708180802063752087626085482105658054639341718662972850683798638031285236746296447642362147349205833262568429552147974044743315761194235438876865875486605828373872754205154649924650637068140275772314691540359599414666527998212952029718371818127906387401406515286666546482105509510031943984400950010282216401987828011953508463138587447727832804437917910603454329391337701376
648467421975173132331148553864357305323568146255957769586331353432388666874872574968955593721016729391557863280867351944655236795065093743708427773012365181213386432883980278813557148683699914128959059737060266457895875631195001744269399038847479567271485002026232071521915617502801779887884013750345651336040572829629035579423935367200872849888259665653499066288439675597444677668163624013170695694718649404961114803579895215732637247763511193556370129716130851440855536048640308738439156475309955701596848427979168240172936230431763293036358790096472138868768707345477232646778425086476548345029727193085044146424012175837608306951995628185596543085891413370124548243852814306762306854469709636851889389220499476753141751045832076503611373245794233127675353253980409863650906787851004205272093621992341351753275433549824
696286592476200081825040820241277261605852971549170866382599152902881667847154058414743122577007450151405750320741134779104061007485107955100475761166554964230152081661698564953297408755875144865471872023396050904427136702316472472575006071355939568364815009264290120323240131111544708247263096424737220296028241608090721906411553230436374988231098129584418239418846127389968537938506076378352102818596149778899462058269278418669635414743932429613633909900514942648777251397364797824734798786820722800391799743709884740206158623499485825801106385596619130354133008459254921932624213876200686753216400610525535488901841911082082271304187666248028242701139634857975519538530517621276254896366008578223725330627865046359964021498505641422695218496083900207191358682773260547264115953641118295600528221976823117062187561994178816638976
747632035832139752447768579200325166966393738747026831757312296298795056890365351891248828927291559987159486513481171089545031551984337468546494947062765095088738251960829168071136034492006948764116002487095846372516443437842634177948476995868800705369809165470015771861055327969709162490964120162985221641347184099784024897267098460321845595811237839182961602372460540799041177228704714285575100994674970982972705103064849292426169983642146499906094889684830573058953477285113026809721975165633870060691078971453784167778726896429667173657826231688561153259740542441647809556913528513997835584451215858260402074430195490564920831708221323595461081721436358411096615296649396270333307140312969022381589516583366880104392329018180660695494718904063663865503627389079198158446610073810113800117882348428870939439718794245742639960095639732224
802763785835235095616175498960445606171600159744412064908037630365496653387644660966111367210254003000418043627888673235344149508765213332908656113265956835684115252518992287477104167427574454586656462258082830546849589446941980647195138267566206534076265487863692552186857422419113732882560197902358929170224399272565896899252986915973570117092725277142131860653368508445588891088656665074392265831006517630404185319578959269534785143569968546084386155567268764647285966231259829452831774547230413755145429835336830144013052246170249918756279089888322252636657355808044332599244963916896045512500754554666249590372061866715752884253982599793084620008588135380248621548850623839806482296791871288947504751555502601904479529771589431776705608058416599451068755551366255911107904107269646221386146407819419416774597196180504406465328379420525069336576
861961051643870695035726684157898969023479612522656384381962717489286163274345357329614021615471924684970342927520761268658408361270264151826459640446939089852730199065963373397598186971685182763681675846381017214457195626410633522292008247348738644659767460047011104360331477576237672008768964685479850509923552964229179296799846408605595913319036416209498171306461734002526020671671553266735047204877813996358347802278734638091987831504919898295276848599146918050603550030755335094612511567499958613724543216658587653210757398610141162301218921429747091845873278488346515557975948578942144326979574996903646546405350547408217391472132155966088702474368320147947088475348573945291696108381013226167724792183872201005661724067608739855043440307673338046467964335134129314043782816956801593585868652263071267188572190292140634638119086877958650987181584154624
925523631809047918507808915013174343006990497976890307491533760976942825412157396385031528785372251032030681400901642002477833426767184387343955705795880553555370415324970608869130154498070284494448923578669897222826668401826976211221365596131277796416266571966724828944116673977324537000209332135978721001772645860372045732168904445696021852574128055463209732583264685254075110043462318733537248110491605697582541726845159886716870893985897356569465053999819856631633580110898489602220450743708504681825102467021819092022398105605148036506790842119289330257283500916937150359265472775283546040122301267920115794988581740133497814507809226316080565540621553323472656635010156823816381991466730828433457348289531880490713853927338907650295839195196291190183108782773867294313240177739054272302997307305371870273048855559958177900851568273553787307555754789395471794176
993773432573751531721978102649706803090327622048374508613880325068962611301763434569554760015514105342118506271367004328335561383225166987411021514916476157260673114746671494313530389384159791753268505078197622937930441365620862369441438362960845564574702732253778385136543831585225782998560256669507607913630467999421929703070454935603355453526803353482639983158506855019496512091067949392217654758099810238411070744338831742335006325280928057919675789786025068531068736407926266504333221231651726341375425171926907879666153590766616276508820187203661751054193975559657768320119964037955296842308896946494057820002249816824035946849628740908657146974538532759258792349401508046530648640598239995039171555778605241464249108578010442166596208517060757740582342118406032048129843335795616330377613009413158516985274856210062035302976854071306174545722965129262229741619090817024
1067056098134480984193950628827155415815417217655804261114171571957260840046958484651218382886940383767774468947973046200922920563688153803767295279129660316749585993695852348233015748176777971504614682604417178285837670897046795653017011889029152357088751095987955634148287062782269143688702279370225264103058413171672933744974648683064549425190217065657766607851944431625137740454301354088339476024964369019445377962819414869043887710758681005323450328013487126794274745700021957453872856869069251174537295692880311661392708267613896119046668939896081228055964162167238352971815026084928525661922195378756560048810679402420306244611887417986084942383077085723210288585283620558232495543259074663463111017750637332145783268634926978463007524804593153135195002848409316823961393772211429569783844801493413995628904005248329736939370759920306117919186947976582422337073131287093000011776
1145742761121240609261727717962816836909124530606748271515702855922336504435793448961675230263353753446070150708827939730615247209461626432449633704559270601007118216115837001626401506468058253566384993716847971469568534116906742577825757448755847641074374931688106564641458437267436185203225273643943246368899664537497721010760230110712927209541895219035298077281239535959818681686640124584483486118249511125948371602167122704099905126601210566490155265174599964124603838205077733436571837198685346938461818233300649656992276955567624946611691448648164628264970933564082302162712486699038734053863145412070439638775507932234009641728158168271029252653340096757044174401128814295520457980690869733699066980914065706180707160772748483961678416209409095825295600954136215345154193854556540899907240802888456267653707413716247144694720137169095585692906878117368719446547246809594705490276383719424
1230231922161117176931558813276752514640713895736833715766118029160058800614672948775360067838593459582429649254051804908512884180898236823585082482065348331234959350355845017413023320111360666922624728239756880416434478315693675013413090757208690376793296658810662941824493488451726505303712916005346747908623702673480919353936813105736620402352744776903840477883651100322409301983488363802930540482487909763484098253940728685132044408863734754271212592471778643949486688511721051561970432780747454823776808464180697103083861812184348565522740195796682622205511845512080552010310050255801589349645928001133745474220715013683413907542779063759833876101354235184245096670042160720629411581502371248008430447184842098610320580417992206662247328722122088513643683907670360209162653670641130936997002170500675501374723998766005827579300723253474890612250135171889174899079911291512399773872178519018229989376
1320951468044303979436222683331055661866906843070613657951409130029606724519251253181513685497775078886508289941725824392958777387898418765340212683483294404375581425416940078058371421090908285623355542567660862094892236323181374434165396535122800353829281625404466897803837526166279753753954380403939810851873799838257078776293015284900743654417850068159202747327823192239790751986317613632534215082972408287390824254181533206262803044422348322503363599732416269678568400786295207283348181528069164225839708889228020373056781807178767852996170571312847131916049191853747585950477180167196065130387792486110021933441495517376613807631950949950496324062058105356856306161547395809069778819569080764161728475737388020113833485242753634399306398681218960471329218045101420161723329264994503181713990193085354306078210653931584846499627863230705343384197936883710836181993079871906719851814700505864252958044086861824
1418360838713368667690308235670062102218499798916722469888058142648243098387966363705404307747343361145343300233149540391599250389292003691812227947311287207283230380787705199913098108151623932421934757277109817479182050913091822467767720793306035715908498237071477024595514099545428950090041823627716189290305967656141060746168550190469204150451047990343786680301588000385055567416120297505124553845599105016175739835548319092009190364270805314168101877711890557331941928369039650070880361261032091594008676954348708547275149353210146488548672054256578554056707274134768874174062141103101727938725386131369269615493477994115789004750316133678378632703689359239855061083802339438480540053000671673714328164531002757712776254076831370182540396854843241159868934288240913149439182548347777196307383276241580520294672194208732684291270437186560088211895025526552549130618445537038807731544526231180405667567653299429337726976
1522953354050262286430241432090594343829366420632474808919388625905176734858506463015688220058089791750491644298521612764837453390031106112661195501649797421736161873679205138128974604137673949760780963887721168868404017375484078936025093732927149779808736714173912158763280171463626451732086471938310278042902395229189907366885820092949950680333678691863271897173931969629962267298739975246575087793359797392836088395571112181987971886495358927983750752792190313517975899629049978995428808386199538150685944264789147047595609096388282945921446244315285620632131467963534752774083976877389821414478756339800743174487745721505748553159749109952450102441885464119593226783753340804141230865013997876159155578318091005615546443156344351560220138672603244997069545103591939836504412446531910473108695783698730532504070339291766869159324866501974457402241063205407094535359863958984708972453921932683494454554029697128875250075224244224
1635258712244846415110017884053326903987427045254264734963155812144278118329337111514253610020486718949953051045853796993538250266526983294146381551962048492845483697003567315884777138696463973933425315829279859064172145585679967799727563454564166663693031330612863094566262035530387015937458487704766093423733168107359269178511017666339929584211525087231203525479478158322388289940524613922972384520202283940854266086885759515996384879466247662867957175664459520191923299255737047833713416378744388521875112646037037726289524125546946742581787051089044413378516875418963370931033989261502371204616679841549213772730022356657778477955109972702720326264936952242858585464832965721132231982605227865079257824963041888567631080631405501216368017539853947111472328014381078431746509604387476025600433961049784388455411773535440626273902828766386553492492620893873100348937732823712102600191839891953180550326728953545326074084227417202099224576
1755845672397672524360091763496039743155732788638244760298215494527998537938230262828206073221982086973097953744340163621167477054949169187474264250603680727484360614982873704264904778737442209721564553186307028478027132651161556905540740686779469438513750037021402657021862686892350561918603746512397118646153656812894569511041401713152059395782844548985391583163565352285241982476979750470548163656351365207618767786314057902331315477884108911963577408951845177185040553410952940205346692395784474561242847352761275259782926386656783593010626497415931734838058712227138494092677013835641969037570191033889083782097055664798501606707463572210409132885588510346247868531069636468737998114193673639785828201542089330019012943876256414559697213808506769865071828807687837386390556728248526910484480656529140444066838380387018946699042746958379567836102597065127813193203437704557303496805128915501771006709145742533369685461957476577390998025219866624
1885324934942783349661089362943614330592528040529035405081048689039555169195128561741157387709248602961820835784115436963050811822459269150643214449501189245442704298205472539979035436307857615361023255472010320582016797334348165830435110611333600200662009813831428415989101249301333384001906526313454920787465438050547441786480382814996617044984209413936031707860294351705958294546208275281311243524221224062918714419509298768890840533542714763746427028653148168716268629333446031594251892045416551626270494623507463134005393222466584077132503746718113827624501506285858788947684241878755444045352141448756510633877711094550275707653002570438760414130830190412623057912662912132959657073242875423244354142474442609985552913037301192861029443242464045791270459354982483737878389157765045610176690983834316769564497020469963549751188938173060929252668535623847384931201523603961732169181117294286013475974194387069614746934228503510645087380779977589890482176
2024352234478145529501927874394074460482960059008792400812304087202140775520205953798446949350003776613677306576040579511263199290928179823518575856230562830570833000647784011859002431141834861450035528836934342568559457568421337429825870381455094951945592425009258375909568339545492433370299533041313082388108655789353814342349264783992722139710835067317645705319747594377653170853974925784449247733405485304831031184539015645069805571379287732336817631228931578019666016534474246169573654480296658982981847214427096743119707344528507766029611262687941555113153834450125481451117518450952057339186347081493818259895249703607449498038225739059603087367832983287917194827600307970795832704238306651959164814642463881429208198493185162859977532904867818782338266305136755576759879464440463836914313139266613801945970716401983999123356356642565669838895270308158868993658438466096923925536009469924608887381111658102690153350456921392310459540878075680048130291897729024
2173631660667039668984845847368336405990789454679248384485542472235081693011840489687204155762308669508058414510365006542440776150716730456704833737751366298243729187314944786451522901234668166840148433598174479557805877021967331652420702065771169427795252759190024305436417567956228376385223888034127776438470063977448924393311460014223311473018294877744811687015792285206673460512130674462059166096694671522814467435887803257901789641538158605540158345711112354154034496464540535963143029064019506677492913586908269971981814014460236348694800035209493508192594324595071771482201091099878916583930534991180249063104431465686922204011448926781606263746368346402929725935150920223524056139447691915145966801590821075899917737925826688339009332780292790218249349047475280502432324986168446779654413121863299926005041346480053016437527055383382978372597193685655546075027856151578673256594274985918122689223205414918846904565359326009204052401700627542304919827411919983687499776
2333919224028776230856144608512103132414154796267261495306559675767165973843541660993791779668601421248595824694907389030652292396046281067898601207189889707568349774149586477463748687549484449497677295522446748750649195831486890756883138651461703428013910996193729460323632115442964609020428824186136132922107070264542702944912340475775204404358790727399571107352853925122941778462687164523241627800583896971987663878198772929492610022569488586713986127372672356218286977192757306407002792800085317871471420781881268320400181874715296552518654609121105781602875173382760425322209783092374154071973421730725704541792043344449669260281353287525324359284850621642545602869429054796085207747048963069558883619783574323694420113370431125045007411332534571822992414133048770281593321067209282816433055635119033941207718128564908105486332282496702658488345062365317068678316451115005705102035556851337299370982309725341639487284762849924533400013993612519219121779659040162626666255481831424
2506026684677322818607321793551551543474488094362357749455432825423085392065500713695463638177570205580459638246694103408850184347112064222262111907256674088963266491165365033157660409646989523063271903057659004946391788716233930713384441850465389704942709490426712128090432377940707387257042098943797126876089695549146244385960347982567895791109041506072302257626753185167066929452329631976573555827328061799730111118076064279875218480154443841845457630715829543520201201046397629770782065114257676566933520914208699197779907696088542001002291994023703158835216832312321429240485320208250184683697769128670654838388872849356448147731231032135838223730146842050000791628200387135344479025735284223616794573310137579563213071152653503872198339937713941692278879889383165283115006188922921921048686331546189961150284026243150931577278832078092786510924710005529303660988775469433059566665764926410608665832597916221271006227566069885406755279947127030735574875369223882308013256200311672066277376
2690825663398101454688246842362994392320312143906922126840811448679257280584165863796668907382460268428017710729385488564263414683604356970416861445389900072456956031221978936328526767826945726602847640597081957141163741434791639174879031805740642790656006703752888418738742498438712513843650740164701200497891971686544970089730824034477172630587345209621780901983467876239096189560223740087774815104201062123226932219645672630614463583279540332448709202519533239732468218458549699619356236502269806042981256833164596193291534840149748753656810833843608129002287436962534149106965642365630613150610505688949719621446093554572069860306353470210937550116927953970607749204307813520210915777422747023424720882179328842371149526320091955687725308414493014142897171209103198125985383147065386778916400454438274749135995108456384748779086570112121059029482894048008084598399965416075509625012348030439352721801300165222026717825102150959268120396212058801541720228367523124853767483528701964132934518596173824
2889252055883087494094011515881082068911783553647969050700012242544948103419722040111570837736929954229429349422874744890123340098841725147762514848728227694977664130452088611982972194919329220831546949208807229738242981210857551707584466590449971460971430794643854056005013149739900326826106796563396327437596233833667152442173018667802558226729734236696953375824094015278373402689844396529949250071247598506930998967446713164102852368692149538445043405558909016458969696909713622863939671087722561680716917109854617208808309183021939659893190734754196723176143412736436436924401259939003889474574911092015248590620118010960857831260769173893021749812641634572988407019168020346643129571560278408022630526722121646303406577367671544347865347067940277041052205258502753360028927097668848647259180567462982024550425811809036384599838186846092750431128632431906944323432286347393836626490314596726758112886292604977000332974258496557327901299280338708362660690105040822442664031035998403320479688470017601202814976
3102310772479656296660093152539158027767032167987172142394179622132542978551232980922399234816859201214543984128450875901855714782702654247465192212500531285492632722690999570840224821513964090432164017985100031723528061200543916174676059790896813337251408913330661284484620972545705702504460042560778104257745826292092280872144911587952368942234990394346234453000320211112484525157280028606246978398933526376451767473448350415628608025962229139890739030043994706782700143520563068731574686259691287385005488205192105056607622768533927322431654264714871381197975301277206091043267558954804165027524466660578284857505874804184363480342622512418866354515497486964742033283615873129473706223235471863778035535040691637651702635796360762660973828267123244993124717753487137901819588874613975694488005143253057371519986991148515467282595764848976437121096844166061318196108629083140955785685717113423213685737325726265715815576387663140962981307181240772055127342886485284284046212103785535242419517252748468427615146264756224
3331080827457155154868893529617305772158815767121220624776314154452227467547993778384574156848458704663287472846309893785256200175602911621314622862760916063453924198224320067577200212422478243931132740938490112885278884148655654345499775049010602948527854953169522162728699823009879964374340294234327512524974169651258322439977188160766713053156349222647805069096206096063984203214151744794443808380559484266203431454964303345068219688377723271772233286827429676707201623748831170926878370016708660593683983155453457153881492123789548929071200565532324836772913305100336797820708171672158957719451131036756516477689938102960561275662075641428096211509700907920938334507418416929393685480177006740513707406531408153233686264865592097861625131979803672311716601900114461811239298277158117558091217388637919115672516484332078852732226700003615044127427834335510438695734069093871217514425534984115056346865358910202674408482638100752075160665250689765169640661703208134096310313884609557916011814628165609502673899120346134873112576
3576720803565275057839928219353083921763535259468698662753739152198552441867883647143304428637726141133835596930347257022227256683860990623981160430533007689883916308559118990520146216899699248238931399641413845615405251814462209444850454652714334205292077092223677308216738965107105682968359166327863506711948610474227555031881236534132855712180707371506836324487806365067661619066349957068368599876048426776492574045512344928622851612631408186799965481951599514299320985419831699339082151647887667702459162952921870631514562032839424059238157521104510001197050206012304136306326417222969089279622337718269953046640849445119972864193163906852973990993916046565484375085517592524959655061567575060419482887691343703741609788280527973997927868816235126269880880695310768033978427832595814683231289717256596146826674836556793769044528480443382424075224851267780806416197680367795308315040020246019511627745987158655671829042268906633428954797799329045711381633521769648556208828100473192244572164644396423321472805318672454370005905911578624
3840474719558924143666750026277252430179451646190233773051560740101887309090875354303424086592749901993526061964119864708443103134245091435040429342317136969141982645415615236714140507680582695855498988861844648529939637582439962348383754586034775760535905309752867488912051483725976011391211705539999543719923943604862599930992537067535250750725731750691996063524993072186560870271095779924911793135234411679321576778083484258176650498628189666183127659727749542201266996846167494621365663996247510065944390914583555501374477719702151088475863307110075063311562871623227209760299549968375844618720534932759177508694502756112507562029272101675278392914366988742092128347823815781838945552218400344631725760966490537466431718764587930483559642083177025293892213100509372315644891077623796712738747234879541822725045650859393621165706747811225772756073445010395675513519000462685525208833437971957919154765185260415518457661261988907063705299002602755518318292737764486148582633609504540703789570164902526956274348349268262413806912304270814453170176
4123678330405087685498374221366984954089317057900104262462784875123790425105688284686404828183633224942349909964891086086676925759584441340507088115762723035704344160664907942351632995309234873230720724730672756917176305067668035542444896101177345052548810184785328926774725935717835798651444434276670015032998880347558303319286200881282911325381616533722737115450145930916961537131913757215277371800137275864121652932255403611649883620607541869985422611380925136858353400304606133084255357430301930613665490583193975084451066213800348446463658847351044167257072998067401824974454641569423021718445571724956556610925411248121271018867103767845126877315661086297321467468234450388231735471475672432407097826847947552577946732477743671085802532103177658853957960953937628759295649081969101068141306491454515657017075167637032474324430969643933568914915807923425951587598028215460799776130796600200956964482108313216473786634870222110938349411949520063457665149056813193039601852026593109271569256781038420076239187040954693149511676801395787300912507360641024
4427765892078433510306962685485166197984419556663971560566965363935030956846717131574611588216300945896601087171937930736049504363808783526977085878347789383563999623796087306812729261761921296827162843806914474759357502732938319909841612159168651024201135296841176130275056663317775759776498687094879782587639637974345006552395619712299120666545514432988009260615938272928956273417864806283025085862605562036733159777374865507829133688178865995634518528154997715257738009679669944939475093168984347847838623184653522552989041875150760112741455400468447732455170637846040510488999680244018497967555362628677679416174309401507850116996702413283299082760342158566707358793698720819497451779827788489199313931146151375761380426705492528796125671324284535613898570614001769486240967200537428092546394721877412054602072689643693018928347677107565860821531400406133033586603202594872344152121473204072774297588522195598619870509512374292684073649136005068861629123929494477521606196828812181655086085118396561786739283753631854923716972558029198402397832517828118918987776
4754277425205284348419720913812780678366935778353644178527299864016423957101059341268971438822907884179941766740379635363311457369892002811477529397221797479075844576790124588880347543942418826999643244654263451940114486052550176499488848190886325674345195156501025896426800963374182435925403532614861478816375624733272872540861224279494413058092676446294870833622648924646147331435940871283742015931870709573867017980641922022131140286685022812404183961782942601496676240627578462397291556141835193885588717715938562114071590475036757438441455962113641522695078918912050968910349648600629187097423187889897806204410258078715387334942652651224011385860616744203513585105368504199193968637424336018279075639977478988790134008128653858687924502460961772765060410962071059907383919025429231820359606673292625123908017123958604852240190560123640811598641264345355624269932584718459763857054644107708224903033018623766546871643527626123597307095773630106712731259139577447691976437192671807683751471912046380208222137550078234530295242974216217337848534661339276926562842835943424
5104866514341945590710842651568281920101670963940301617298884589783947025654989209426383867325613524543351416833597764127456946916446081781809010549986553357741499190223136441251634489586652942274537384864347088262714867022887786366083090924141383506229439852977377003900548348898351843259305917045924853771632524370243927651743845488737416874805848368486492650738383584061192790228759690288354373732123915430018234619975254042908858938625059308072478312356363081018346276548919002917583248151532523790105677074132985556300525623246994398997696641975576343860751434216573702938766124166198630901624439464793581607521987353750595573887822793123705818050746432686022104079817609890994191214546801218255872018703385608345194043092491620892210302046725582683029489136603774682567680282632685757711764405303795386293220314902546474539632698134739750566765427099848313932256081872633513314483128831881481867184896549309061788140015231068341421962504120281883042706210346559274047369836280866215728520613525447857373937770199894887258997449658106174721909842993657489968700917291224846565376
5481308682386042818278617645271923489436190446269097685668654292600107045246162908429803407426378267762246917383891567736537390663535991450052777007577804977814681861004713489430398859830081736292828480380434035120296452509072981480040389784445414759862314110234220614903829898746304698775009240342884044255685986175030166201707473435851085452202411273046110738166426936361522474195877807107892711209508420347849523594112176110896332462517975233557920787309963032618898908445244715420987158542071160489711462854334535129787781074863964568497570564153530306908294446986319858823904898471624597090612990193905044098753510821321097732592637617277422542713220599193782593338981202031676544048112257673455482120073135378079918273464066553721518397111242060377538897511325122192945242030122855527504251978809172532201266979757314633816954773585236857538863743474330158724945257785014844269821400369171411691894036566106417944126161521595102387072772833718984492430036193642227039738750410798666776319212388413452793583791436927980853750282007243100431566167579563413710254625842752905945226961485824
5885510382532226287840583450632860103535659861388354943844039519761868641357865490298562086651414546940995403410157040159649209295265705749228073680381854138795016035414915534738401192801472293596148650642835454781747172337821399683496787720821386472691083141583829110265239900065592520522448987342622699099596993166815673912444534441442291485827681897518692980104805674211553064860074769885148884530402817407658661941473043637923054293214462360067307875813715760016788010825606064862491679493540668602019519358921410056450408784237113867649954357122920647778991880236162388261002140487457007123339885368897715733396030835689053569076282964146473595031611395092705051231247926171204878184236399311054085754406715394258461064720237619850337151763781380815296744444759297360475904109545577838190897687482170262656487141955590092256509100714919242885807706805595361807532235394232038753353978586628384958709228837213801781432354758316140626562273123215071112329541254947422065071206349571709761173191116178457268720555714322631118542905042971587868805043953570084960915409456835042410928441719766411902976
6319518653311090393086697095506741161907208268610719409762516565477192880619996328299832359498335907812558024833237840427462993188856353455823438425579605079491709679975660003075946259602428530411392171516376913749222730732854693882390863545495558289396249800979870917760495814094007032626531808616220609875004433107852197978537410709985067250732285310333502474553729755793462749735646988192860033787240104618038363242436647122615095888447127637678015921345784644377972229365218001990914125124217753722911968800051585506665004893532381092746156584933912208553476290365966553531564626394906335950195961487951146161010151863873008676093678065062761161097079757026025770803053594043286862179239799443443557400589082625279959111065689991651519620349807436973855333481377715188795782786632564559113071343154487465303335589235942232655832357674237091868906190818697177193159599371000068370264987085263304075738612057303346602769625930809452005005477992907127200442430516170493992247403795669509257760706608986052617222067638990404861703419083099111138427000595106514337768280459888907705427662545659683970636761268224
6785531485608273838101787129464910459482125125085955804990607943845696514036729108421964816581966922619351903690278094606405053999102197433644562197033533415253093344655521447306612147311489125073567700623315393240581093479356255736240007304275507741554649120063763586520708770569664018681239774977599633633579672013311207779883872227976501122563949364805900995335835373988747260177209114922307996455412817858523335449908479685881084709196119357241203940086863338765595246979955539615359764138241797455622287970798480716018446511350384677588371340496549814268078033558306554711975843519145273472320184845506417701813638144832004040236651080449279843592736259382601726613076710837794370351573557187797270164357220252554811806561092555454447449526189755425072466084422777939770088172826652687499825046240829284779940268870315379250505799967355732831774902214559960343034388551726866116013034596267063638550211457637287902562061598745038792295039070095957822803068949426167714216769210826702171612867269861538927775996719740930834703896953323247166553324109838754179317465550344674596993553081833112349895078485595391000576
7285908954166457700414893610051377100761015127206022342834003676493767749532239115870894263820546609000969770766271532369925924763814487834809631181124233558458805869532680250502121614314795029312656717054764607265418814132438492380040808344666106680943009541857260509695527649084268562485964470565797389759451584676894528521215499474250432144479862547610329540695315367030399638617679078286104606403820493720390620152548591610984902942750750772365877926584855359804900148937987952545500651562005535753038434540818419420446472774743798746815389764334090463279067332727229290407592736864185624859147888788031219146851263929707892191739071122773180478745699344300411891799074329746893895358230112564993751408497701461547944289153642687926479553366398923760231205065666251572195696615331717292490564144831512379512228502907862854771689850579527685027646668661283251176097410058255923573211631375170900502380980766109160242910122294236854063789632397276097607683636046554617074793024503820103737652361124211029035757202981272643881912804814569346274217798022961440258387958535084254730462322602328307318173267781746352858951659290624
7823185169944624690862333421622510381882964170777786454179336436821124108015121575079361355345810924625716099431438272846159305200784937365374304077187608911661568843213926119782924978024192524960305489656234857295814449610481484375955118746436206058574333105523219247323645542570174455989537465024513601294752465770659181709989953102552700043602039143140402082267270150450450771418287572165560753934840297495912770475088683005010028122212158711689546560252560684813089770058546847056231312601376273057564702245962972121307218571519747599094470796827016439422270778861350072748474328729702713110841197193009790615683799988589959949153267959432202745529600446104728268651628712334007309536411134477261709185962891067129955564486215715978440933530342520709947592788926520738372274968696904490691159847660388275056040463017077965624401363723549513580082824435889916298472978277627661636304854610791631017149070630710967102330597780276944370475292242540729676876263783579703453509806553208493155136063711417040877770900350249926483067495650551671642966222622438210744708517897097735667967242634300423346647912896012762824118369374541159858176
8400081113866091294561958021029115336901950503257587925993013128781974561470529659607466406444123172966742921909677894029244763760863504878422759702570059983006147800414091054056960349958856397878043944060698748645187514690314478552065550944935005392973455268308085908973198283208768768372413682611757438967036274225085155451632051266009395200942133039674972419907056706845421432924879164693580833912810598181964010714815069051557268734235378210067023845338510410381896108778404678347606840158515944343151580387597178321993562133350288239071317821699774044143254532316486670215479518947406594153383341248366012625542406406999762783890777194321491380322761028991704626206361834152288305770958685947524274146693349850733424932850378885732157112645132737531856903225591209379593673315918157130988516995502427439006886588977761837959754019192611486465790901980864209789529704110532303798220799209846215972288618378924424233260450711604917473500672039438733477540050097286012035550718890329240492687312017677143096780287596199594917794797894935418516167628649006867732319722355166367002393005478404301528201914278757866282048249124125564149193479553024
9019518416950528558373478086511232658951474842525520401496114928154304263954966638953020103274038169821978036310387105187439981983038679543190552246151273693942430142430214083685203206060500793611640634047888641084801170845605063334103743639179436252101154643375533557849579891726251950146428978850105516362034204960607121369958942503226437204196452448471269253300696978879636095437453409277681885696982308658433120767281076066105051771156066244607221345945266065486445664418226651139092674586681359212098059833861221228710626721320869724746184863955622162546234638825771342548855451709230916475881564603234959416156932444801211659142200921408360597108039135985669806212057156206663539212378905677937882406546561037396635425165843343857133953586158290319569289376437788637610819165094090272546217161805776234786903154610120291328498719159205664801129636695538349715728280593823253491223728898318034697583114552626234434370877814140762055366083260852745620423716424511260012738181745813374647152733067517775871845874530787928515094116349419316639753203075339289947427722432809910728602878067223827332337510877965115796034585470544985654584014864170694475776
9684634156618053052032028833834600751710926524903465042451650771870031613829983332768565255998134116310272451995853280470041668144995088835256910348349765596056962692125597862926638732286049976486010562035096452827275747861095603087996075100360925744622817619284114919378617430575868277633783718836969719731032451584792138647169093728525480568655359306350806659634208394573509937571249301592836670440037295394636972074672662135902382864375545158149388011567004989320719614989318583239501046115741688747197373632871284644983269503934210347515346472864901595867218465424764939555336861830613521894004723185051341624070319713525632324297413092727493756388515066936637135583860781697595829548195249561752978413902813989221595532880588134531418206735932943800455871669440133794274715972462285620864432339617437308075941644542424570470473597891669236914697533365924680285715965493195583337280934659361517108278181811337836951812994636636634842078767228243894877881772926513478634615758502193157257229132010501651817058979565563374520978768020693718389602155179957218607015906793171030991007223267550506976085133113726104843205387770226871170806874081497753733766446055424
10398796744099769955417637546462157125453861367579827978602272931598735635971469929616518227838463466643620092542979941808286118110009723157010790426041552701082650328942889886429351050593870991507246091362829617274689018459336891498084938183102523467359862382549463127759209626504726174810237334285511025496767573967846401611872235136493910336264562728976489926586982094385472262449879355051018551852372528185064302213296088444739560462740942479105692348023689035450330000391208676084677682106224595988255982852568719531927528246637894194540801989765925945126978016871668040969397150956438942037532566137332117089076387393464169922644463852666700280933215820624026850387949980702042362433872263172571843679576634451519512327665454677764522370607449725417990979677854574319068574285353588333755948037065414597379111511928542603679382859144043480849475461884628825656601501934584885241316037981567654055249820437509512928854284968044437520555607475326024003041032118468400509717354073288388673696045390892830777061823034306745345750868639812542928993760737258312149063998957113453560244623508474921372626375208815067250758587071030693544755188528005722745997194177548570853376
11165622983414948229910532820909161338859425932668298959350637508120653637861806134187591902488519340031283796130148081112642994773321272800343804499739593897052611738953338578485804244200979321641678927356795319053746495713298063707643814031651749526845783099027646309020918777161543427561287089188622345289009720976290312618568233810415860249353164931173633946891132248680797146184340167272424272923805057140922353415791779058719978856221743616994027990549798660133237996021977117423786992836829759450093061607029859995556290415356494379965251570914094657369565287443687616232987225048370094168010494023699621897006450675188823491386205520664410023710543577422499408560532519899775766765015083241925318203551487023755800738297990967492210492704847056158612796934846503036100248934235058422432232416167837877106072814317551092936409662371660325862624851887243832823497294328380703361841362782781731244684938972243942429579582171803816056375415463984600007693059373726844449666441487106504132515332599604061107085699225621739323050048342896718862656063138643324846097338132945097400716355932183141532900427787221471188512190665311314446730461763524739823725315975083182316697182797824
11988996388308288261249706867934868234297202080536160511590455373532285449189971178456973687545652895224466880318429342003989238668728449994642744470649799076040539552547569616152914607275300959405819005882448904675431716340804843981113671620662543269746528111458317574274988981945285182564868270933042037077779104954813021024591671640054395982669562133371212174843203470123740721517968051443557943711080255074918192799044895250714993202320968739771525011679995576164219048874742454148879226676092520289424160939676613094093243165258599885789638278372165344712652073826869438340219711992135393139011350304148331243802046487743278880055072604197073310742842308853119733586707402328501528997265874867696724439661776954799884815320631476970610800228841171720779337890563693330003819137499607675248947750927981332300162465122140625742734026886170724200169181893139035388653054871220351394146476873029771900545796677385896117287772114310510822533025429056630720170759604085759637149121073955010229510550933465526250929658010834473914784284150990100355203526719146048505673075128413223374902838925255546691586661342631466365916527451207144301869916850329310807452259250062154732454978712996964990976
12873086849911553711952048771841712531093937120051491885671908693767157501101898975663820432785275422989199957500700022498483220404531817657940490676281429725141283637096571246415010393332025322301354055590087416493000179091226398804316415317307235298936561112064529212173282147053833580127374655551370738760570166023268370773895410362001078601649888034367336629707148208013794868025779064330731739530024642094527916986830131284391654105207718008089258609302899754262499485074311110248053948406897039928323306477037920513793962542340302473053957885319548568061351793628245450933283046115190130684039132832279183956276198090682261908411010878482995552138738295652320130831785268330507078932313151493396439578667814330527993876592277986914237635031815537129766824968126172464334934687664935544506204812162108368381926560796583658269504588775621993778090598474526880943812880040596225211871781000820803686795990319909471648851090362916104392958351024433649268770585008756561405218075421945291577773317586544176797793092688249619783340897830818401761339282670648613844873882036071448692287610090382090370741427204107399655533863617205230124521011129600929187056701640082610135796440841174533695874713780224
13822371754734445921345363448814280252420460758625395871242554706407005126528435015993002162307331033022795094667524123434362410310556011758072430542205415890401020550197426474271606720715286307182043781319097858904641695529740095849098126855947009598277328388755636001980222976644219494518417414983100542737002109345807006876270749507323538427702920187417358718803765902711063518755839291555493237257661561967525586004359569143462157409302823032883407293960598950630967971902751587061210539012823521832838696358365710889648146500400153606128667590202194902326784018796063848404805840244000365027478546174709737058443541185674489305982959762346173997137335958632373487111239751193528105777693895823707816988304570449354467028113023469984341649808507912869255555335964538283993567718454218192400525534328519623152073754023770630198890540728306286333803650443290110681640483329482984906509992585949875247806251361985939603113657270666359889869512585007655132825994184849326215206859421329107006930159883907222251440834517682210113470940450660594119985254057633833892866535147372191113179313191047670571612736278501499598029902414105181576242937616622002097405100010446093317890958081510838112957976449855652888576
14841658659934644599214731083472775915481125949886856295510049836877242170935992601937795312991817671969700238526560025860413438723892818519278138294500952240837775897030468262590284071711490104155871989801425261054764616224555776762945451485287927333399805841989457691046312230868673639100563516757319305933818597180814262315307496893840677509495825652163936599990658698445983887608753091565663105792706283521699951482989915723955174571639927771677441727152157701382981501036441239709999003807652287722896044925613756069707463541558877662924773116993389283227862916396135880606635713269445557001270624290501055739693562513725248817674637328140187387107613890722713253500063061347845045293005982215414013856080336141826365049313937098815796254504556537082667533508571496136373083406280550702402123225788479275383100302028010815827386211977957880318724604484836732004466535882440653190480508913464295821151936336021267051801094437116158963588929565017074676283545270653508695487229772369499861912370514358169067035468283098256539589534570487688335316641544947153928239534037699525292741746184822786270514582073309172165123894224663300993526286903589921250599577752118807292826449163548987991176215668617053269290463002624
15936109640703621012752574321237554665831974015005245672366843922179472472710532483655194273910485204176179606848743634612847495089504907337390687375661701628814040779780731175847802583837642186194275970639891757604619122915614513331181864690316568260144163646023616089954895763246438737708556789910858596903792403822048763823652734835666823434441825156140494831894328253830856704955633542903354118983365410764851249486057097083045909638791074716789191819766068135818609879481126307195035561386611512577355205840814458761778763049526929105181703061426647204915138135473146446994415257269475475843240290443301309463864235014545373700343808523255731332734723423312342807042132095606659037402274857786890204152988973619457763899340196769103741310324090752438267076215074677895878187321163811566921736973930885575336048417074507232478225740401663142208601058173227172964675074385373276528497961077191411153879257902571352186992009626105357825437926817348960354056903440098072098692318664491131583697536844250758643339041986988070348038795061026507042706414310025735042516682386549573051762656509436659646864484773992692236510159370773038594649927491807954191635151709189868007303973640312364678999645717438254334873104930242010546176
17111267433073090669637676412381173884190134256392335857815281390124300828205997373011178486742999995857143508409372882337588403211236042461400860063356768713866559103692144612808484292761742840863589499074247822972949607864692125625095531468301707141067700776235887887503917854558103291731443348006470107245558808197231211084954101845037235250783509765043379721060789394523079065861691799432629707435111801813160615711838009990094794491294709721325510248041497253462153905138484734661981807428124214694208319815411570596445110521262847194516489696602632212010082186794895369014902756153955856955188767530880116605318045792882616087768790390867355379664532836682919087346698961185636461366402827549436091094962755586044461300238895275376358039771539235664597337814321300940132726936040104834658843923636789527596618040301894139702362146782632274948634688691251052665453701937886380860565788707304510609500259056073377987407189489359924927658393139638787535068745299562778674133398257599951658503401875453013499082628393521154921743490631588792984384431197746734231492580096162411635020881215527992141691467762047141124701057917304534750641809786521617791434773338742246436481813978996918380182254087995939816902554496341449165278254465024
18373083504539698300934140090151937829671479519263590363591184894905322358002618267036231160744988634783641714149239377377299555825280045527046009079597452401573213264602208491028755687185343755367812323923229168867004014608719268167127216133023673207963858338961738114587963564299384542444124098641133976755321930612961192340087636271372046326093383204239489980816423219355066526274549084448633987177963307722789586719392003239294606569987933737726585071462769688623443449072119571592112369362690843184326843554575363122931740886982360330073418444907316914524860353639059667415214768575375786662547473512919192729126886589765306415972605084563587107417207996167811650492059862962370496628466904371688958623735466395025568821615923048727592968101357082190070597730293526993511029022397633502317805492297083100865690990825061324218925148594939310424616516945016078130924319706338457289982599638579747345272159887340747158040044673018954384326991098664838429053178543343964376072296664433793956113267839953939540801603737973594668259432890889062597011342671471083103766081194919523269226143274448363405277463040057695285221925382856212306625522010840772502806025101767669554565483084636848831916018956876216923595174895161068953529150416811013963776
19727948194668767934054724484271266162366055739792730653791222059376889135989712334823201920623961295571857299513090897277725961266226021395013423121047529727418402480274969979585503768008764429955644595579006923749260904061288873305716313890715065505499044578954386949368001005976362440681359227757287117629632971483562388704460526889871580004792008076051074504831551276706261235563378258713406291700858934639341377212286145729174099331821227629537681067923604673554448218167548776347413319492457383508837073210452393945079063687483817436638274374950025974747975649461688964935246070961861878656478596696353541565580241134335739843005327717530980264701036842792611091687794854774405740413635904223690876393310249380485458793159411841784406552698724970306084318295695631729405768466626171850062228696976287958603103023508868611178684064371801172344629953405068471441625189847442999491892013464190358683971686733852888362996733832248855667200060434712147579476854522127811368554889776338257849677236161072683118526036419736985602933558377468815054565136028754393535093373291564988448309322147991518316597474390724134800790390405379927731847335288872318840731986510961803131748409334739116442393775609574846501760751729529254951952161205717018396754312167424
21182723078321149957344631583558888639968408845730715994142499289224377244323377767628363547771075419612729179846900531920782108222150877808944737446477347360212458290336570287425381579820603567006894067152745230415160321778657322614184744503572931100154026156463795455816193047390894307942294460011340898975344663251300265265324443078731757440107299492201811455977726680600109651294315439112876764903956334846343192526592161325173207430106906196858985946602559174837277793088773760724239635353725945211046239107812689339755749668011040104898985155571300798973269314160578527330243158123423008024673997833703025869485943733941486327418014225139471525928094114271339487311484085903285528227807930273035145630711488567697326530043825593764788106652281072090800814224616798961964424269476868888423271954596462717419732332522327462743347017198311204958661322774193231370622540871139728010455203748072314416541998477963802898552487091081396306012129864078054256944662740372164540000063592564393024494753366868940568260154536818820521555618723033845979807428686322858962384966648397874511026581279388010813792781626089421181822550435544743015781940682613330535157128691423522489012449348181405453004283549271607547320608773675896873470145933768630561172530826515239141376
22744775715403446412976746913138529499692558616392633604376540502730486367583877290054327229918825655496537203186835017891190804389017680741777445900981689329236109992189910554324333481412576466818888656239367150313274521159042437854711175836240373556505710726185145122690990531441617295201176940237672237551586309748116917197673311463141612840466382512471046808845619949401027151580762220424421239435193259794267299273486235805393736861933341974812270641095398491457713560745834531763384627077804581607032853727962929702014694363017568654371387656692052281942215520630008616830809138966964637759980095439332335671421023167243702238472879804559202810646095067101372492029057778544766490672129974573033575285625784152434474868292848092986886608610326812107451959886225187418460987538217960726064456512576451062150259968314298410571333470111474042931950853313814980380346267050492120512810061542746803365519301218334077530268234448914192602084326486380042056222726837912046392007789241996084203573873158571997414711254838885715504343761365118912596093495646402230435165981479229900455192789495414336334933585701230941086874380948993806799376961774809042615534511487731826193857247321823913373992365698008089759272196777437160693755731704470912572735536828358700439457260109824
24422016963128201447355909500099734229677695327992342706526960982211709412736646874415110378945907231270847482233690844897559847836691050087925787763781402490975317269678620312997060919916209952021588983403367064583057555762036821315524224935589464005003808901550402285742927961596851504059258174757537181862801578322372039237086710006553784141624194569622364547719275298880646601211852109868808115775485140564002434665466985672577580056308342778450689535751422534224653777584767170537802545892081681370292307589788115942625034400149002310989959355907610023515996755722375081371630104270258085891900301880722783446011874087542509894050752935880161941889064735826830092494705960136045637348371824863122692340429150457265287085562922477518661235210426416468360751400610265213440152032127422859564813877382517502919957500451976980647164482309743622186407217115532141432117214534386509577052490846461206615862033197379454648707629266436759984049330923297217514645301265193433044527062642908452853602997884029737739395347204033974293179150251203511187826005289903989945123434696258531430097136064454229132021063229700029727857040259043461077466620999661738669697757099786124680243258334954323753008556906654239464876649480292298968694384770813226620793587983701045936132440040364862078976
26222941039748215767923374243816016813689363513594776315739355790216832418989816046578379551450709627839549613599410802052407004165331102245884795730119524247937980704123421668680915098789949201050613442417837079666938019420911126474493060798526113595915134896898165378227380664585605286625731276651068731401184284457942613417029052448596112138329836999717212700661029699378250639884614694868782426938772589314088362938139351007855317591166542681350871276175445642493082172912358216308579166578007491711524481764628135385757683784878735613182574204498102362130749249667425457484122530012457106096317696967557911935677795208416230251176102205945320128899346375100778691653354287980148930793683286658737910009403224954754463407135976447781486308732936284236521311498901820883402978157813805621648419098921216689297200492537786587606099091663279849858799753312395500271947510115951481514257810065222559936956566857702767654628609091259588645923339491560758428299992493518304510052361459558782832045687919866231070539996763972739715527291549497316298020701514615158948554496675905521513313827375023265552730233238677440892843442018986758392592014931293498662212603237033303524055812968277058543241933380558720820349437547977705147799227602370815915136263489123643334170633674512000634188122292224
28156668542663705699395604552789630613945485348486303918133975794772382997068457319277538218538986801890799181444726559921054440242858215289426837061125949703993155640122287103650569452163860248003428393980647356056411341467956536682616868577152325724109115893401488035471517601534480024605555506325167151204073689354006153017727647437147255686718819493699047449403740035128574507998873332005609883760384416371312147718371745917350807038438449826447535308069830748183373959724798903320560341169869602435997178870606552770822399009190917196112415671353141434852979225824532804103036176415070435821621683625424901187446046503383303221101806127822151679468299289208498296196206208894026388742059259895268109031444475914400375010919437967061933862569930134711904840423703015152266405094203155500570227409992103640265217334951221359498908632207273299809833789572401586271393415544160195256621462985677630472657069106567718191329124768232053170163416709839681361626207159176652462011048929093949713300622598411932785687088790302187028427515150137034684941675634062443427470827424188731521376829290078613197024928817642942731933905979905084588309058200162315932905720475520443674665316494360662977575376421327607032748781390139668636732132231560786605086640767356224955157817728906337870842311189187658776576
30232992638763149176268232130095042263704065274648959608075521846250748184098872014867214249003762303774153361902167651630878290669665583058253859940564176728897871020540792137725439502205104049572293562006170912792788560682090489250315945559199822948847042874408303327521364009519737780511534049894828514038745879437379948448477988494391419677651837818291171715385319537740779666738612841452661134821303142175708166764481916771360808797324939228382260001991301986925700641989008112484618117429798080761782454099379339958495096692184448194386710912004906632389015085770941757025428748001903510847583005213914666176028083874131610171770928601382134291916955028972636476858606716617996917352031775236035228360454064923052326530508657239807932786563202110398126417870975808323894167539772588013737909019299717188295414304986943373576117880755582779004309786352302659303539325027976520603040877743789984819708783508980072110275715412965062026196249436095338212811327281296197152773834385278584232523687569154448212669055810949023811092899969095773472560540128934564535709337945237630304009451673265635237564018442126096709714255254307792872725257227564442205862449923419468540524399522192103979391055776122897276898904263625823416760353061725269376220497335573832641105473416095428750598499632653965813050322714624
32462428660924116900510349080623655973586692044216634849277335956945125916559010633586077745524089918916901514864565603815935830545648904622992997827621910709945153539312211616366172622299360444297540909131963055157873723193122526060686635961019917873572082512973374535638058790549676608448166223772180176831172607259576439628094725389818856734631376375964143280775041863276621598546030283611203176556935949936676215473390991729097145800154926567772320423780384227576425959807248558650031029352517583188855601755863849754950609417322495948674293536016851944411078535759207448386248678261600231209487562009790243840199499854235061521894270186621821795615859749335051536751094166000059121263947848447898496628010477138692624736311957272462175159913775325299533626107367761089572506237117011199071479488328929536444469606672372874128334216121513951311076493858971764000632884511268360261482692015178062973246420353753383007338975810422018948281096651471979890520934722879939815082983592322945781967624413710023361584811894806203997942321846266439439117968308467394501218257659151865276064783152892095216500662478818113519088982955562033376574217546394227251665330473881080467813286659463278205229010638339935370262062527626968489014173667380875326914339035286187146731328402181816624729674087229199212938296515389005234176
34856267361850538806343208752705567422627470537683458154205011792271044969555743881342110779484844145477845936999041784408984298957039970113494533826658787988061644101261149806431002443366578357493491974485972267545827939503054485387889203189209519517899489272958534837331162249584043724165267810568332903527345815377733247753696312084843210259837778037558248964896737583950998291780610304683930605630838446736179404099815866924369683204652290335465910948542402735938742709484385755786255295113569768765273550301958852731542620385667433996162146323274144301529898072793340630424636512314199781417696900937705282278380575497374089083270969605332135333027528450579201024205122883796662264973788548233322100736217819214010119859715120034743600927213308800513314582045859079631113810227293396106319437492176891512429359270180956220274679991299924595722202465919657140642537090569510637700653542668807529021680474592109882716470757272974416835289906383271815972539268759530041110057425513782912200983023346923931091350687454626109607266680906005174273344064242707974816265662201039694114524063804750829192947096227214522574225663377010088662911679219638142192273638980587855700600611709166967201102044220526526536507302376416231536984602795466310376237598687502590948936652196501709362270763761347015468959730899886634549689685377024
37426632094945065553305739736142840899326999087638497093123762631774620927996808904829117596374118333121103647984340211843517563149493395150569107765066306839930599961726987693494471493688886546213986140813929324968073295352171376711773500542288446605312998260614931072603505445908314349680967536368128248472668329682454546428497780880052791338413729734154934749814334985040898032437396716384519391979481144447832120149369367015513973694465515510580739111709489655029455949148466460937552314704902690665283049760181049304913955546646134036438751992907273354363918747215206343565459103269247334399839176291998980168023234900720161622609858790277887118299825840736805164192676795391968185504927027970359250024018264064153472452629137106484537431914109428538418535611718379810073389745043865718353930739504001223206018893915408742021880674874685166473220273053870495648142307615759550912102900897267224116672128333717721476409385756944816238060491648763522770146648349484003724308044815913401286715366081560686559277197771184156167730449610439968377698330119538439578563157000312215854931133161605535203147463038512839908138239182040812267316507596197155417503255826133904772211698712116696883059483771476810843693753442972699033728170865519495033931485472099038010237131789925351829762486662981845086597036838993436374605221410711877451776
40186540211803255867006074213955292711785172372807295721389406745984721832135866259650659136241241605397293443879759382501404950832172222784924828409714859787250758436319065956038306755549509528660865773148269317998307761917131216391090800747141785792115386843261503451531564366283526786591815900584700360980968106460272085479227892822100209387999759431394554736866627708184826567947341516062324537307419054613022733534971016588963410412183421329431254113075087180300458804566325624569912172486664236817448795325779562450892242791710737042834228029147890754381312475422650579876346720941725995945621262458428541571753094716679725254235909417855411981269358777115070680932864269726646714454030707999792559056061414665557802527219763272262789449939731669134439172503135448911592975078706295336436419869804695128703461854931193484364119603750295422074699183142640956257020383590914751341782232485122945838452319887008146959203786833381547654799890525280112283882794946261543617761313178512599723641704145242704352850582456440010483439742905053901088372125904307342151200195496713607221555474315329214137523767503945358970384345383472769806350002451650589121601427436691645778356893889286633012071404805283910049010709719263785842678323705326561305292535101841122181757348560642832097530909916285799622168140288496006696896557717461624433534434279424
43149968987270974283777803545571722250806117279732513708392057413711539896170186853457356343749935265403978107094694476048172234469166920375219544959534252867866881308796621725612875309575252483609698292679392919950739005194258209135108533743856583863043260287549208825029797516226678152987955148566018832093163123916478732598750071750478386339052785403426792066831012880115315408191438415407685646368424184432542644059305747139367830565238418640824019673980746357934831504851906005103636711605633473315935424519705221607942947202622338872757190133649181384362126448874272004551086222600387868594867979165295786400913994798732451418302129104626848229039615128649945450833775702520717624581478096559708653982483101639016384863008758264807656151306244172486977218300567302633392655806596641114827935131033935871257969887228243086398045263484999447037337365158889352548517279482088474934231701719367964728833003292507601618835527662182287066807756807614585874621118047816851825190591208931356434244939331381262294522524006240297403067711340963634572944271659248615018021781701797854623692547108526741548511356963038216937195248993096031306202378414839775374102874496876932263614830967657083389200164213867910413876688849496825347862800340619780451592627493834912289646994968908409148928585109892401791605329788057588447441925022868521269266230229996851429376
46331926405935768709720672389735848172401945838297907501353891834511351457962547046452122506756026491756791549567924587434688766905078960844150998605300314864820616125698791856697596252787896267011607548871257201080592489585228283803704899460094117151513036492059851973544391639423902997450238011251468045190062710603617897997790162161489535420271220231356059564307861669662512096726779625343518089550250759798310743590021717107107596598042050626273983747751971935250302853152350403796532191752794854313707830990002608591636873017279407724380409243219275795751834729732903568838819621836210493132525860988138695189631788042317495273879115087885518856820166116494587085878760643631476740007063528016069695035736269603054842648693014227229647725068386600355537534624497315764339033553979268662908740513750057308303561761249528035904426711248943902900862018569059903219623992166615454405260227442778094575104814346695117696073812227994064735605770651956502526020314601582185696717874552316319748500297220446657015543040135544244315872387570751778904022643301753114358924500756218252502930469147515429423075168910207755635851720097981096061882844312288289077939502825919719552258237436663801724839886224098056222864550796339182731223637739484904352572611550182847476765580694034538528508866621635107943459174694750488436597620708126087739844717188760758768035193421824
49748527168543236721217601302261408494821931785563204255887010287886924663177764589343314749075668208251258322820849758406570197448970318280823272973876616150726801791611634042806823616884040822863834518697192848261410150767944020907779756704018072561935292162762906975243554823885371913681285911435283821520092361557912822795193156688533556319074626585921957390032568686723111203161476784562385740050681590483224049941146226726197714135437866268155769633057558245352470082096208872459625000447363703968614914650289126713942247179229974767615909890680724824889626474049954910821103742757402884144057791704574484937895261980939376562486340589972117320508480005907894423718305096352275818628758165455849775658795207306539862717640628312403512415192379953002913920928170902911905348042646902392297672184776683614322396751220720752411156626610762344374450474990664250448302537943143389919692951809063406896317548347801784046876972780319850930383417924757444190949660061356689355900561435207308591721930402024523598571580265644484124426449581453944131649993956125771409432184120271165784589127287628942256875999554754567755385705731543680803005302126184453128386039925956194149610223184268474938803925542215519643593133277001886588493370538309758019996855018336798183216072234831831318599386446487198665646743106276032678803237613203477071764904111024129419214101480942103166976
53417074303265170419903966723194940082039195590634211805000681164422471593591078586404101740878610295946517961840840044821430017392897536472711725344620182176629255081411543836743892870039347189632274579740085952571961764097687213739413571753648593361616753576817948615140337400842678005514514489210024108476674424947660795981099478495063820647249915542486735249623849721087358006237438649189671106313608703408678032784473442135705082160415637565437649201923033287351000748855413058199781114336353119490656617210205769045195474716885248022453883217439162075119068128925087253062809270441560562323701292026281876601076185320371699423626933320161897360864767929011073334522721776345788384045535971431457929585865567535782239323149045220666189244695311361638383070772405998276356159722666514762655666082636181296713442811707410927288607714206726897679138592014142215247953184794899991785914323595407842252506183246176873992947782256738988041397988181883352883168492286461083543606053998063553345406376850670865261461292388995512919300698927434394543911960640039461766570764181603796924151120624386873094088712303745357453999433495714966161092697786640372862515732686233028850300609930923520386489615390058681063219520838723102956970009093712581453390051581652507127566311587544086893293230328332043087901900082592253176021794491906507954179027039356147230599009970667875092904986804224
57356146795131473242338531134198638071259475512980335900303763714729428555490671431492881804332574381754794002795745987418804021163801525457316014197719502997546186522876099573921345751136643603165032396518953336631395715840508383062035789225117519291136664574531028261959059896756236218685836846118799605319718258497452407610037623564738601778186984898435656602736207713422231048958390752269013575653272125220308968350732312638350430444994547277635940812344982069572979672301377129384851130108268348029987587120956133869910927459054249810322025521776114495569973229932290346462810412608030523595916703731456558119782463588857932897104932078717011647555722133433052398408189449578046874203066293022425528292790859104666006917642581239096596534728325945693521066821884305457795519014251277704976821983504708033927777289962403963384401021472801652183859638538056895995737864908284983077792663325059454564110257770028197707805914857105757311484863340345875080008995806994654349127947957323252237017945100870710489499684995157359569785497270818250437915676713052179109215954557429128154663613910873179997703337566834782144189347816655683949909951154507996789437744043212272086766399855542334784290544585980079671855587617776554399956771077579534141511604968737647937326052084961923541219166499595366822850378527748356573491434681492847088190696915783589312995929578499110700459969989863408664576
61585693677416222399035768445515234420949991214590841545724845405118592283650238757835857951600469519281064833306165395971747681582954852718520931229069235788958709841317200882507928619360109775700354058457352206245480851592373164316321013475857231778020269253533130230591470786868292760826593338118007208906474386045158047500393278635027808356520136577906756667259619061052855648658015786446062775402706403302410953520473585108040643537193576863943049495803342764630586094451802956617574050410913373495185678492614347805466337967416595506286825711126436898106142975538668833108570000599939291453554640416681770892297232937113902945807054089597715666275726225189577064154384036127488081064298947862817659653264863105571085178546162959735759675391272045395486255271755937259226515605388848917272346714291643116937065471590008523069195965943669212406111031643833904922241871292487510441758228212467243652112873115100249538212142056657435216535093311453712699285005094210792119082175649073343014587728693340780669171324614125694431485335128315410197696377472066971403904234256395064815518262907092741723414297489900900886144501326026291664343835588392322295277027223403879849628840442803363060502775889703575574523540113303212345844808897990694494176944836299825073694312848426018753697207021035224434316450319474955000223083123282988675426967766184645578203156330193186305889805815901197930359238426624
66127135061494162245930321851929172426938427379538745615001574907410056214958932741874168409556391860889253722776417982716386608090653150867636023280079363058322604165702681838158472970213525983400729044173799984144446801345868065941658237979095524012922247017259781698224826441534675916775942078577077787736386852681408148291350919718914989235452373741890719005827504452160060584598761022759389922079404308018410360830652528617726797657760043062974409797746161605391648199245715186727146831343282075162713925643337300341211822899734347826790619706234997449593392104159677655393947542475859909094607370884672004705445338444049559444789839410231310645740273563959691222653693332548010948700240213559502735655507821666086201561271522684587913151880272359703160213102424835755551439695294686865692434665763915748337049972672475931735864554685797261381581087863771935424250565050768776958952525727862837739272097832488303882015063110862465832564226052250509565302244865707187770428120487324395238261086415204866489299958659667419304129706769928662592982708945049698925383973211784920559612803119173303035259771294484814896732013181377889083628545787836485368926621796155337438417316860060650725918472940873540056710753892195357889286723927059958241204310127275955585509465896295588905653045810471968252352313559238420904257453679697493128524296348052306863933391720538778136457942039771560469528953643454143922176
71003470616823093935297160362197487520511373750197472995323792803955104876192540527353290766560259227569981554292741388948293431260431071563962686204858878155001531377311595838595951568091769058888092526820952567986429387948078031987548394032300101823870933082491077482493742705416872278127872246769702828393952850367754476034817619963065347842614997246747445833988691259830464192057579968717772848060757454525145766418803001188210170450722196392756689641555434651171996571824409648780907229002356065531717547310477366315608605090725727750988596069463110334161756896267610272954740672818347294759717906977552211974161460433211095904645069465008851754667779166825059515888966799226739843629366356145529999915734804082010117005631332526606802556053512673124455345780826341967066220984251721292677437821018177249001749004436494461538166693165275698330063637286750741462445015550643119174154858104442371015982058758962437868941134660132578276195190678491781445577079513399070846529983352951465022827373515683694677897414094355890036989042079728350522469823503118779494792627296789078897373751954934031773184563143562966287519403472564737457925003292699064813780583809561988208461697478507475861074625210828199053829668324620942944375517008425802519274547912722956701727921880754220474710065319691729492150865451716594112617127679633898040049144389074222819487559840517805898971671585070595881878315105933898155355772289024
76239396050438033967409310949326430898491119863282755014189712755916828723874272641034244320088770948923823081752643168929634030568793877807363827353544809492745099023867785132084826635738516308677263881629498531767232698262572923360640557896512626247748902428575911999778159361101007120292056851485478822897681924123871761881789358766480599223723892073477580557128218548703220552346592228636884359094432572043427069100403482392502955715109353272044788323925638599462223336752488624005210704443775502101489929101958261618437743300211528399073912946824550790916094360842962646603561119478959444940765147163539239140370767396059912293692526959965308659202581716615939693499176192477161429272070611211934991556240934835300188620080005258669316707344760939247768461985255180650965432048417518495939109929586643176498440155213825655297888950735331461787796283936350152171238138497055907155106410999525133957585308923123504384883526878600374680104599819151562978383290089310150770658328396087741837082865675859502930504661894557001473460041510700272514508101273196827983392434135406494918546001233814433075813147118412473280411592720023595156153516290708699736242984395463957860020155284708817928706238673991055002694142252193515385693698173570144565709648232582540335586362791970547188213331407524940742616663953304759693549176088370989333752393345963921681578995248466738010439802372082672790974910607892217028761942306545284939776
81861428175855730591140030093312933484355813889803855996681208056574202466268353852257406742713756760615676632854384193027645371635408495836911956614216296610472637392948415142564842674581658088332872347590177845705070380864896681662266402444179070546288182387657129473105288427751270033579380536425715140811529954580595667545046178465711268671094275947354959370517789586355228870550917419760793245411127018150920788386841274320078007594932741341785739224625818030151373104699983371678605127293784413072969629591567345802050534521612906089049423198340608174218889789967636889727975121324819844032724741071007048930153899820125100639509437593162325496455174477908250193971806387407802391409040090339497928403022739953520364116468747872373183934178037807751852096301722558777617130368615882623383396488730873810370589065414136269137550545312000945024614682854238512295022799168193428378698608660723780469461988238718107375496836178181392876098929520605869364860146471617004190201679212806246384190467029944375444333420903164930434083672562815026127024995123859084389902033936351232835286314792702159848349538870104553044460407037943256386005841405999273507461860971989007438877178212166485471652938673990496758277133215985733211206814982194675617928765547651553090486073293776187892150253766632317198469131286016503501233173366824651275907839595660764304571777558176008474659764441199575761376571254355137907866708394012701389834812391424
87898039204788324925783294151808719402282887071042527340109818285189479347476280738800294433431367894035807990755244809818272023764961381305022250822357470653053907176395036013086794211678347992710891473660639564531752836798248860539589278934330893390996149386567641287056231340459740904172065305971845815799389013662005947076315485830002339080254823931672242049945663214901268959402801955167327783014623154365050794602004967486924919697268934845649227052238071569186822353545103118275855411156180259555739855174253896900332483877411609205996634091134158394255100498334827334946202870597933355803093379167510822235120696993574397468850429986496285306645484578147452267923641194990104371583104636690257284887683043911170630987561301779478101726171822256436435009261235234603825827935643410163401593197125083890261146419052229993008308429415502543800453494465091586322704206500441694572157206809627749201455691550107728035193825784189677789643070587902791756930655177341206308602793965821463151154076832144336308139377824724039777126114346215760728239473957883559191783337100127672649209019207754199004306397255944961856663670548703629320409560225932384478576976210497889755369549845504701102002126666770697347898576116823507136178582760212238521083159821203737531811353385056931835084128761446654606030815034742826163516493820202522149157210943344211549624991974238173452620633250503973226046668369517253720964343419863308669488566515865407717376
94379800941772925539715218891291627270111416927647220887739384645847903740169511477215495716689643541357047193307311699660804511325560980852014091958583610519036573461909095713237502287160151475000131315594423083026889996900926051521700216573793229689197750619309620254941465430071207197013122611481327818903203977615003185112570456954552865488299297033192604548878155521257792512383746522052132758939997684440563202048606167846471459426799073919704559519260250248941200830659491888485604724335106940768173541764299217096870947444982533667622017626874973462952382730385346465350194812149860932090454469789646671806478254050031889817904443876884816754381921932303915939113267189430214329894016540182654180104588426703052447291814993484511262715517280967029853466901615613296579861865927909842430964723987079132482019192324209783960248340155176955256938827174121344225193867300256921935558978854514920188585577700194059297004954691054054991823638922015495955778886331633390332159470884357331502268966162782801498771001591744342766939947496138278421887421076338392026197406190697957863236604441385028582542934844466938187584476169500115781916441624030490610696531360664612094081414245171135961838573539057408760084579686680909638477407842685243616750894482102815013024380607579604332446899609766591795377528735611385535729122328588984181836463741059174369136205398403857373445256326431185130982514004208562009819041142606426881451666557890647820958982733824
101339539611976178862830003572894729580937573495116402984532186106270322188546033322734300811902525098006535288595873456930332417298136505403270685173313298415215917111700266953322216651019512824882931399045875485396996306319754685850028366125139773045330145846674641273288194104117602465602797624787604274211067918368388689748581047778895078893833137854338015751623127863151012906460466578541913251674385420246986752154950923321120416808873232112054403279327064232994579048662637943255737814450594913815478619882538819447366195802183685348413874949240885426062087858070062136577070976353129038569144715380888113701017335520016628631243745426071934579755804848217611222806152454578151855291339046541892392506725288057425841122777291374607238976702718369059118724003664377167948313841589477366719376656813542900143580934769203812788122996251192146980351884946361817745691529828591823027712708414824281038506302179900094383530257787009737489517019142442312383822644750416705434556876126244734195018939866220686197120309007426473944255306122967748028937241029163628295436258707268917109146814196459261676511785418211086517232209596323587487886146244976021219944167493673222442151437336109638719816544345385637322766794987050108421197912479796758538934462394844611947619382190052752581119836370135668488632102473187782860301004979018263221712232247034741579050358488920804504798958692089760133022843498984445048840203146393268913812544217709305783818123549800688254976
108812502106283554536725333838286503900222665794780341632930633296454153583797089727917508821136898208939315964697299564517560570676030243112693721063723177163810248193349856379747119766588863160181191346878390203367056178069036123617156448294947392164638825483594453655326148015021280381923245181142309825981588227656756775671611515653941950716088295791360347345688548272364990985630402767934633195302625655215006085762692935037303974067999803632772667364376223442100760289823205625843024419353955340645354812745679897744221651076577853489047989594905815732754923353972401638321601306726869641980599796813035657945249744496882643336842282602382136190875671372313221023298748535000821923649506439236312429941895143065705839391905096786350244062448670327351843302544247171024136776841992732486947980387629995581502418454790709920970873711531100218073159125104144680350214391379502591409261446081313572161774371138141103481143934555414039037755185013048924313783514666816458053371812803536075164954808206502115583827584141077731678793166718153758061763477964181791440399739300078809115280107359095261974231062432446574854034720163506792523466448573411303860965555582818194324993418809496064542996841270791260202350095176029239795574806811049334662883064668299861829209027890500357212672321066651011810443156974515561062935538275204151680993408656042702014458172111747708420530250659345113416954430612266100174369448810938847584839580022403843094090621664620345843353307316224
116836534485604745709466934942530671732408199176629853704286076661209815601442423970345809643143622836568834229246398042279491167188161626318987193608309344478944762685020179459327709036923580187699356567290219403147073842150315645294575042485578502846902600775972390744153365484542928996101681908798954156122593133981093266233994973837668182952010752868066782800233180357881234214654346457896781759895189503019755746697934343218868277158222809184295150033170598780952828745381537446219750577713656909079084613764724781524014041087256268083335152371167191693096167947074524180792024485685692479190476198444058294339172552791616731770442478921805261658607255536532181040871944748889110373798609780765343275559682704932111939836115229458272249362458805183665445317436043798122296570791802236375279580654530058492794347452058238408798161789893053380880671644431568499039136159390876988712507115608227287288939236342320584421216237896066899351606457221368615793919859379478255943446939629855378997419676641219750246837855097154276938569956950686510093692621485844363408802403365191103843188688746670769581968701973673062066323774187693361640536427294016851309891398052668591034904882300504212863219154772337885652930000280883237015433880193743735954910486955650248619442878084412725826186333936419482992790777618134660052099783662039519798322528742316679482892792094973916267280310390142424725807522850496039174594170016132109358203645400649863348458667727463366413352998474154902552576
125452273648412141401139200792882218641901219696469837289293288572011257450596445344900431556985822678505473966864661579347209963648505615850555715097627217097066479080660704969465868115047608339350569484188578919295330407533168003154334023423342555342022391307536410211267951991111768386576708822221590684887453919290735465200207374015290114669657730252171258717734202702792369201014165495230029650599790825798086043493921998720069655131607695731949026550970259238232466795025603593428296890139315719264778473434071093771596336278641488447233270510334985417502727578902135057815734135912817333309063956745909114926072011485206841480113656604580735026110219859430162705524060505099415346499841074663219804685588328455059670451808627552703776919029354602769590260916036671139722494990934857532871845441950218868879693490062765463289795888126871902116179097837031803339224307168714986819794801926156836860197630655370392709182707576940794935818334707050309298918717919944490705055557805378799500900694890233488214864128764266130529421241527831611400195926289552116946686350244924033949158832631018546058426791568124113642759698270857988480601215781121038212219578986982421005328815987848709639437197756988386085280489445916079243976290670627872432799968020488105058694077778166946197421221164764155697816148410074285361961556739283713548334944152067537413584683380510074085252831997597678744871269458413296408104198572887800527245051575942995057124757474296449945853986537508301925345210138624
134703353132193187411805121137251599661721818464712249451988991342269722923537017112549698478385117184959033211165777285350993955678920114837619004942550586157848146297326468479040145535594660825131891453391383888772116866467327152205372367815838559549764066291395890046659076123680781975268412446689102514172464006015183084705559190953427811614567448736666347295955823957282008399178372708686155336609102095310903164050107139819413256908063407267659962843863235124212579432510225729108653916031716474515235177021035039971988889507545884047407179631252498093202780235545482414473411826994092388446090288649009557598946186767474942988136097369912165182196275096905566504046179602631807535484331371219005818796027358308446872579763899847376809560727679520720615298488621126120453790625397257392525955283085714125470098924580919663036990477505047379592575604422208983263467998324472305684022429925910355320339036940375720863154141982923029494395541640990704766385145407102683428397400659284869187027401774306785421710713531513981016082849542438461189705567851513242193396312467887578954007728214940572622603193748825406041160082815040702596131738049438488334762349829994576986197676598553035324295679053037418422025292289270680278355643357434154971233955089460567296025806131526844186528926109761269068793104010487863140049102151117987038882675096779130993650660311451372998674507330266095193684107513472185031090450557710743885472263374127106032660121286008703281585960742455608524462877763909426610176
144636624091077226171925469902453486967694968338897010361721659991768900591893249285948326534831260300631657685433718868750544730183658842456034494184079281593397020520310168588163071636614868039038462169734475522614385884541792292813722148817777391020496287309380338484803161503195852431871028070092259694490527352393089657065693628634297877495354037377534619424977074239314881780917106013576493074677991258821351010454533267705119821082244603227232064715741937288812881603608414673024855949984638089196838134763529050187436259127566779300755487527956704707152075251985755922676605214619809198394621512202674018169725539057553209158377263550211090962520720748557159733807848266761472223567890689953116411340659899664013299570891275311475697113036377375865999265001476491205510096853828151877248303193002891033424828876739955114586803534786900542570152506350205139798501601086547837342647811565559169782148941822762405764917982805898750540918066659065312502903879915927657859701998380759337976480199519125004114284270747669303457710172202815438725587666447839589832891117304143550453020270203606554499398416884089189340175846397812858639812027757494284640370448112984467003268316095492451909845673941726990396716639116814635871802416219304833518711414468491472704509497026736017581807365349856289254480688978842953297858690393303751042338242480415000638257392421622205330901115083101287458624006881327728528548557090818151403983835176743633239349882201700210741444895100396679336086718990509149099204515201024
155302392568755602954703791645117509171853024379829526053941914979869764308014137101580853703257316967419024475301219529235426499580989700492471117592130679578703743169643269465601721348541513593756461576285693343335323948307757460714948112300799739460308904920802096954409942913408096419432033412736062772643941590080446853373252364634969631941189995619518198884520714851905373673786301803818992437528114546902893524109693619934375650827402974283364443639166789257783558287754544152762072425073758073874087673853749491025245350759370202288198641756277483105286855126452445186433581045273785395216218774302137457946970241887040423778769507844532372395126914334350410060838193463467701758259122737262877689997254446028894627441507215258630083149823214021914691630385344730360124370246246101179225617171359948255502820724998630578414563433771734039885865200126640849581418101617590256731549974180011798541810287432442790284651150068406362365126351529058374781998017317605130002324359837801578063898318531549204801679097327112281643491227164405147112572736443606882046580363487549058621262011237393353206539463047834322740801769791931408446565925701470542859326548992533299683757135685782623491909977496699208378601007696438296190884956558923555954397532301018024430186240362810108284785909687389090161977695156919530083589605517157247030242165705875087062283656720276403790904286872963087972571265678945386772020563763263215540821764049192071134806571089438720182703434060588593593872862671044732442467813100983236427776
166754674268339686526803438620744434992522195857514624114215114180538284010537197389237499138812666261942651912410574406745668175078027116731999636070692883937196908746600305585318697538322704545880858064706915515577528979886853209217676730167217548906836859173104619126852976947578683505768820600620164872077203145482439311076056546815465386785142006627053480871460037730868765803892884685047095105713643764872446443455330403549499271620602778790044830569864146137876124073103881102875282283718800328776289645259642087732518572971885946096179383273707948159599891866700799143741213366404100909644023621102221401194703122797511986589948943828570497962590821708857155153872352818328687451001157512548515058346558543871174873972844410620962097222562843101433056963607493873645668118175055617833070265089101751400409216762405031994769028369541764907629937651802104376822461508937488712747562747623198772907803918289675398415890805078148372299135722681276328340898153478988919600452882371873410580408569090598644709504472226687065944683987983506730535642183361629726667648052453703927493476797127947236077465931780962224949513171518816530988304703598945460172043464126868067583176010044267725015708668481104761983795128572211694455453065429739342447040867153994010608544734386866147435343534117236431468222385845106742453176375495432885721070806166736563498415255172219443590606083596394642364341132780099417988974832300674549246907107389077120186624957528759598545201598539280122999079762788509082998367364700340836475383446503424
179051468109412920462878149074110173866720208940532996603071721028579442375304245544567910294507141466401564847828818400386811650407032178641278208401881970142546110244736165918137485916102930679707204225083513491110116380276569078485641825292103995968036215238960485484092402847523088011002927954038671360924902774248851745844108359304779195815543874294752492296470610456251849698900772302344133424710440677780367771538039330029895422196577463677491249417856887706285664948304870636880437243835110168112052931653401048869082516656709916481277330427506263500186231003154080934858328624015919631801233113621384097770636310211096503142955319013362829794940552667327078730369900778323785495163893493635145447240500195019019330202572083928356814906619961106358547597999812091957125214907931770393527793956935637070269946752876153680841654980219520696097760771252268440607733144776331432404980076187385115136587163058703022663005303629439495815105064495351815440778877114761508207579629144032802173708795640569410022311282144840311664653268361004598761616934974058754324741861631687730662809524249840026641576874888349947892388580698638912304734815110111062881649302978861886294114680737974347802697454347512736667566039795441100518728861220919665403646284100471217835894173086149178791078688389647675763940102614956695116371836018175010383726122646622165818280217198044339489242485466289263116115320469530139972820248324620406938751863846511544705853902300852863799432510863282374915976254818021069019234363195417183178763952947992908005376
192255049957678860786977708076578969264609290045469007304768033740046046584962073165968221291492475259160050956161997908996097447052497073920979905180888871653571000418288097191707578810330671759774373250581678328273184147010440906795172211299833077428407851448738027547614899618042234403046815930710071153616067431844622303488237329373560985632235247137274254706958302033689333299071566046927669299147955245203688362402069635610037885158603172406363201893968592776710346146645737505728042356113043947149582351218070178016201798641486087561494382623081275142114588017012012616038406958342263750487664448869024206544837365366692584324738576987910085237821014992583842720538981456416401100162022178797533463025310446072077530302968038888714931760664506713150484895867136987275299358051634651209895731278016248398433668798816118499371232473639592072633759332840057479555783055377394184259056013689101859317209109597637202628488652040748184334151278702876697833093275493875879147797521622357339721829247075948246715960396785979468435533276697506568346686708948335239551816214837564000120305827532595461914335347878836669400278270356127740015462004212633413501120818708851795233523297760770242274878756751255055732664041210413514155547273608793148487980857340862164698614342080493528371234945799027918092133639208530771495264987468384132800641026847031791764550652957344298316054454722866923889913587995297828917391323860210859854037682569952962049521112534035550731626234379240631869332190588990730719142596220925714707308124903828082180756628045824
206432288014769222787651519717485434138221517740766934838890952444930583904126147412048172655562766067045385821602327674289655681679891631906575795256274666990607222102637424436113373346428205538485425362536380349181319516298874966306462204555196179453511875830489012197138269165453572076963039294832889415653500439975840436738541512586456150087994067458267636637289992717596494185889040833764585229335927110855375593773171271914937431519301099631794893608110091406778191791170765671225638647402077358004552154635099294703121220825389993728902690563461192871339976954395021456256090741504714295737705714828580788635606410472186924340118607978163000871253410423668321755680648212114723020803576389790517707289833396531686162856924174690071703844731438890238446438572829730374844722860391276571717249352271017656971246279052708118115010009373807510685713230020706418363069207629216239773310892656705199345051503928782876040570999605534277771639819486359179578402421190928787305759676449469409132704588371875336958397326356741332064519926933877398948552051222742601879844085032461833205913398692678470730020968179096616399939776119753729141199960605968685256039693924815851559717811684144555585150225652944917831612343988480574483627149282932617696187407838261130456078573938069075973525559834789374199170173815525746945453035007639921086018524535964885075256796646809861069880438697456545366824991176455594244999705403437529684282795047394301065255577698804594323420887388617343798289275984938541521465002982352283878328652164256189543187519498012617342976
221654981465471644215075307457824774745005840575019447772799917415317024714601450648305484483050888183314618862871021919637452795978930224965703291992722908379487189528059023324694544967786805299940242826185674302487706924157551735469839270506157454404245164759890786768513492713917076269233762193017540456354083714404461426476598174824300384291500510493819336043092983197538776563161893766456866530750616684740901190263087963770344890565409453923849177456658070739920741617273525027298401556826399403772908830821021571115642918142161037377820536484118408986888384179130075154959551083892784432504279559815264183320954498526498689409908950506813692724813226074530236572963421572778401593612422058497005460929683807848047974301554814361412225977029747984149165273879494151534113976440891026659804146131770301041332512295223267806884418289243289174348577214343364867421669025238029360984616184400278846575039207202434491419768603117949655909043195246314048599657366735564128335794440696503127194352482771586614606324157319010712587147312030328245739393961638849071624969616698366667996901220298315796607183325930869159565499648700976011558873999249780961393701967971233491317844648043021886993668590606604667044045563095106567034617673406976360994198945138086403204211759867581152673807910327627881308435521719079655044173170315439142802117591433035689300656610099942704006360013708927175182913415114591335619629886559349668993255952486007323273012667024488167728409989544352583568010215275707306101157567454436381102082401046309988563391893959831632120861083828224
238000224097421716279774008927125576707091706149674590687038920912571867655309241052157513418034757762772285223683936952735499983868316405323404590187070890369975459068491794884316064956561425565890703423191520888223078170322359263817750715300110908323211036552465655425618743435252031658074174899512893953599426237353341485802624417550915174153056705834564714609379602380126638257657903020089625886052719248198528211436859110091216039904783138363037772903211717820603526719563984669721035479911217747159635609791471119313056141858646683575793199989115847497559525712911869630143351027040215376995950022361958867240912060668848015100605120191111858854516483424590456161005253364836029674929908810148409342156599427582028546766056592408404158736476103702760647809252827606465571939287535359150930731350289587389149471142375458062204555051071048897824495309933883555042861076283383680229176217777875754830098751213055948057574689569799350675948418558565375820220746733681552828246007242523098215368037350091986941379542614977512408863313776141793898937101024683831427301520178285083915795142630939427577010035887397949297206640267545213231470451340634441087347133201821828497510676138352351412503588929444961638786171256846810762128651786643092178793628771444826446089779522466585339996982660815598869375063677036204408421300466362280553342213687794514886784312926369301295281108720488470164068983979210469722817564599149197838614890121182837768522271065978577883120878793174071979427716600770625743183254989929556736509087497764395589475551847244199406350368600334140440576
255550794734774347335455038653204099810524562296423612010754584099656661707298347771399287592785115295597272832726638463131217542230736632861075754557437999043161484255439720768119400578960745855159716078260707539854748073496512703914968856623645794105261399924775144554059365904755542372246308883897991465256419293449233819460580046088057271964380762498236958910714701768031917913765778756806143542367862925720596395863670761700359117065418633310372552457992325350868135560697369383974302207368586301896357958832846459294522528773706040194223032803110030239335400687556891247920327113246434180248479017623770502324230763446167527712903285257743675914479079550385522851309818421541175964077367357962422757745867163009283241424654906819824434330889386922215371814128735191323897407293815476999215454777713924491432750953049588032547024401645441197143263225967853447795326050227123533701108410094237539836647043227628906281389504194910130108808487872989437456449320680465272768953226537303961839900421255587896626221051163691683892875528300678817463676794515516286180059257674204631195738938858885059800054656400040132692242176025785845257628016624596070090348654125295130253932292856267730160350579983648440417640292671303067076310848692051012633058005076630047063587877532211120322020020316720514457655118612697001035535128123203885766145397821330248951730941656146551270400700270279596124937010119664227840074906231928288535371209752278441263069193119006262561148271207865646796698006899066531491106943779144063881770755002425138042501034243866556043994361963995106966136237850624
274395576463166203936381033073481873574830697916963517837095934747526741715345482048248606092177658937544914900837547676791070275135628181031869819300679789859514466830983127699611206227439967278919633353193778861374189891496631608340830601014267916492511823552021526503339370150855626340885038678264033585840860279856971572710089914784594679815498262955367749045003857020022616430945141991113480981587890416845209688462483899003612939812852130654266582595780362800242591860422456114350323621267172096099610053674097468314842373254571606837962353504823196741879149682028190512311608241253880798195946633609075484923015779339600447016023321848242004700877634886272051209559085221054423170773390904056632735361157536071293116579941318219268327478217389856101279452540777095145110576896532334192567648982012063833629274381665203016515613346795284632305351045562847126400442171845587237349553615076326627913474058239441109025704223488698454619109344235425558907221814151003703151593368032849960028401074297343318315762037703699631236767590362534493901611375089563653424682819763186478449360029238163722716059762062672365750170144735656364520307256483996107562042808676439517697174843303991082414714644231100566588792409628778787699312357865590868605666745068782006507262691605724987087649243979392542891980977822133627451225377287082637026428596905880767615805669251108378772389565119087306533173197130994726268553610114099647569167771276498041677684779257810033429830256261180342738426275104968281420614609592483600311185050826161092145206850030895736699276730460936328480894230262226853298176
294630006769091548629805750411324752963176114072553408183859923838794343138211946684645714310872351639649379007550087570164606264136311250486962101906462322003691767369487323249405460665491549316567483866069524340064565800617955312995937063208076282679349327762313752754959957396790875387924347204709772576058025890622775115597880568304815258605789088334528197450356699523714288687815406805477180860159491872495495776552179217286771140584654065410998513778639861456514228226697561438782469060089698557787898584720763317182161056130852533464804569895601652067136175367149969300108960689337374015333491647778068414134923462488884099410200238827870421320936926083591784825973378401026419538654084239986777832564798591532536065035190832837721605891890460452609285328104855432518532575518574887790905154661337376610725529614365667244283776799466713475690716956622958580134369332004002286582830624237848852675582949470699725145842515813258722048703692534789725037259797499087727652746411497895607999222461319588932962578938313927213592294208339952608744833074427816240592322777513987097422352529426879246039772243010179828314982819518807662677243598617561807342568038554323193557844795896141571311710026536212999896483419872160098396768414680340286094392947586296997125488111731880636477868947102653967416833890100041308711215207643320282319487377847481171746315310531225824644748452489535581732176505195345844317977467165698203698675368892441815603425274977318311540446915368267201604902983520734433954716042104881237688218804075614917997826476009468444677305136045882134090938519952839459762163914113024
316356560873376706248752327212344590503030125557495564840754281983168119962105579731762242077938981880726514936034140798948272310295548626729591575519918731015519333029097000410694226250525150019757123545444062775713323160523543664926748366838243119295264154324680607343395729702192526285586596141594372596441723449636523048563879131945768923758411672667613428909778151997212911590517481478615081367165541734086489066899433343944389975561926882603420853845965897079424884098086525115630352667804278533049347631485090934863464152671707981957520298683238807467980167395107477717842998849313409326594387290173988726190020100713209992625305728644273208224791304401949019510456177899760311187623674916893056565820893437864776229816668429039254293114567609814584559587535745935368758081440732345897201831377066497041375368131495008149854316074268271154673530084872064426109927891635638990495619281552206436908187716427968957434395608946077263596484119657840302817965802928541095025875170491205002294674116199064867809453232969179690925827575607576726187235415911651166510423499524614691498742503317830996270489824754321739422936499158787342028240264871944693448745598561421308936305320654430765342461596452081748561361918439291030872565593284456955731675319714046935099244361981305313562027938894963186214987789461033897290927306311477461353921327834931627156545866808924825909956355397291276442008280178396123188805161585396899472939236978443334899893515401847322462039720682696856770624256868595332934144336451755979458725601999249395972596628385898889058252708182473630347816908286022235504200487326697731915776
339685270706546537606647521545227715923256644543054304664021772272417274426762056061759820543095752565314238592580541667735535192105436361545326813073791286572369100953926058293907567600507555540087649872678454854764926511481994569722091617797916279867546527626400043546325525164243179973053696651026903899838952046516292395183020159650986593278873884753014188884479524360836634607552981666734374461088742491506149744448655583293268646927178795881230976248204837371857947922468020387478745783291432107080450807840881369206161190248334201742426936025165635358253846534648031800796098930091681277996069117113835932214708753536465798376522321632150961753619217207887969364168803530157125697406650930847798969919702177282555494355192744599823472288666466333632326813757319505843436414980912496979460410918951812302496991246182921897719438675857332934945742317849405263536787198873325353060284911383435690790338399171762152970986301487351718659017658628443702648474941206116257032040532759537435121807571013171858256041198811023937118454349742377342196230720998374946380629843392022911747057069218813905659212941805145776370836544042930786257514561513845021570776949511312292289735974820393363660530699224410185297386122229143584755948891692894962496816312365543914515072262255523021284983816248038315979332645193618513802988944530292521489048996101981456258357492567076002051438996804679779826130200981854098707276350581318798604018414954401995096054520633351636989906700446289448227956839188730081102595411700978153386918560606172093062514157779325249016981905136788960681566681521074228854837790923857306563908336615424
364734282154381048030646304309052106190791433531778775620998444935497949132100044489744246359856303966133189679568623677222355506787481639161602670945959702639522306459508705793630639722772286011395018294163131881256947283664633792451493826789445489744273886978437173311110997887612371643826947092016319266485789676674936642121144880052421548066804185680667244670701569777857162209535462711477927357348443388696117733821433320353098203873600955463636635802048138805282119271167822792520615258583651034228726565153341463139040948455257378740497476474392659211690378633129056863796807917281090342662150318639879809492961736651011236862423316406020430716685336886249815412738731346368551152930689440219813532346902149372142499890166361458180605213246186088708967138367892539555110074649625909691120312155904835109788759135188483596106811524071197429343914697401608164985190578018095109540394302708528602015917954303927983425233850438042947322468454823914479563087114188948029781636028087157478983971323476692679109311135830495473549230477553114177506052940289630215962639686312585028309076084135103498179087226538263078506318131206512836741897818986436154714725386865432369356802242082067242694353549793213577685393357314607578653751157817107484871743141432332877523513766366051642948529346668649497821536980752940776170990525951791115277210665099910458857024989313038628789339850253787038526427444863742610847826950745248707138567386602728475043676636188300621934928290127020446172239944303781717526768728493839225001821713004725768862841697799796482368748357796570748145289691794065336929986960850713189465658109926251352293376
391630453395775756103457770687660668212342085843986904499777602966205130249360318720899136379937468198494285313477989520350319255434434915599889082664786576542658295826519859902732330678216368718524971727688089779733385989033909292598904413101639264106589936959796979140476442338305054933808624510933098486962793877513316725195593332475748328638154000183594328829773382892939624162330477924506295456418817407739310437232172303690311989478364155367667966999314871496588803580809288655349858985353841118072239295265003702325742593605038040238280583057011463194170829276786620344332904098479039065238842298898565745785745250273864456913154448817929501858999340862296357320937398231295743891185101425119161543162045714616364742619987028615550142763094868811933792180307201318457896040075065485189402800577730630021203822488513944960277807104680427433647846090488410811604491464228763747923382780269463641484741821288648283287652362195887433248363194865091532106079881060137338138940190502419702459491035633558018754278434370147964592494486764271873835609055147150636373238652636062882451678990334003492563593797278295803707229225725952414002659581380117788022935436551994994821814546220488438861285855055839969725479961640470483347902232636652849210237886741043076487266274386994142777750638809524035407581144197115522369815103222195528184746445176630998329818967238562604258724682567388157654924476851654422438267896529561506136607166437726836170135831007010317256744311550188125558274735962400991475045423359135702216202449444498767678590050418810261807403702297494496058567970675357547250378759640061371757713324312605632493956129357824
420509997363127254253505879405142500179379010566087078269705011003280906912105723456599585616618814109393247966070268251433836916312492058685510957818174719267629532369499021944184275326199200814485545732436240823166684105561313761685697324925403640831827609331257423051985127425362494753047871749300413111363070518177181284801223141574748446156882912150028909513736657654115388769935199457451123982858053511308958905375910200846717526711567536720699193512216156871072871734835896996937864945076622647525085584662319638701995894611964280914836787875418984479017852395249466587319520509917959031676809525667699174863906418228395721494699867467478267229493343072279823538339075366685865929157948325832447932705469693183558938990075410962001005053905884323166502982919991224016186161272577910986714348563040740459636551034589182311084300147299721089704677234872295275713527031393423539960329238736725101909508751359555238191752564062120817874775741868910815610536772979214919143810405576975607732391190712825582667045133924466966651432446928213139844144743024618112702162015668748567582363390943711279327603639884683571884146270817091869148418839762164111046592049477575376578845705848519562513829556993057230945141633287288809008138169844951959565797787983233008610008802233975572743498397532503526350376761198217836528078071476548503717733057021471770321600771472530453834953208573728363316398170356941196966532298620294641519307772062316395483070821513223014838075313385523265480082933285386836005823723360490575961146060419803893572961526484945294422999188009264730827887583660936924636787874066777080783069190916520718026734123312649890430976
451519171578919448326271161347201743122526745992545611964143822456602910972178607185128823897632450174536841604372579944463858665839910577078495578219673983417112478242692921788564449980871324869887995496381505185170256847537213582308701960377323569243007454496903765641378157542581148977328051371411896298148498464428191787921128813465480628917657248246403802954010551845193418644299337427247380256204151110322486162599373224717360821544047248777670530597135942561015918133480740382168185520792232621313294481431425512930902064321162299212345241275653465158728318559437931188495517223124719421029931238591010129901665829273864470591515042027088375335355608786287501564454332714698750517793510219477078961648200283135634941962708289663888553856414122557489806368581952222939132334328375967324984304393051143647440748684948875705372191857925071197550767755503054736411225416161679853401540804441702666710901809628771321284766859892738456293233508665277468046985428237776141369487503194401561450086220997521201326775826790381439000056247777482773837019052095264729236257011447678666753274137622725630394594625838819288137718333509942193954992571722189818782506296189950031945256668012356862753281373750837226491425621264232601799185909333340514256553964884281892081918555966764206249048653507627435669885606656186845342992375681631563606349473791331105829624678960722015396290453128607531307884060549324771891587657275467851802367658391567848151097825012786520071014051643943366271020484457121573838482039343564560567331524045574438407333586529769468973968175683586840978005044147047011008455149401543520521408061372909187507815178328765615624756316340224
484815018862117928394924143903542696956361323730820615793576010522884970470976670932739729046818656331996306659478100365154442305937152075029156433333527415639636105201469412513142534864017541475090098959988462777390169338023097619745719774007923137477177123437102451672241912753530440570931956525905510986472816564056325767384254020309380931530712439538914420824375878053504546967925577771124069375518232529569291520444211587564780892990843789244717725994416556141424463229678285646819724595865841779841238091941312961174562368509570128956297342685040238471453394290463936649121664478981351210624902326719290406883091608162991832181727720149602529541781343066818768118220048773783507991496548118423959090472164618331373101981172538923624042750508334054238649551608001673339518593639128226113293047770365947905289042424902607146635623884406414802988025702394236030246028392424601204695423027771661123019827789755697681395195591555981434415240826452174834006871851417450859737755369625162559179863663891145514191283496297012231967665131591190299708340315719520572133004730404619372205548730503052442231441873288771352451375246621205653471795497867434917293757769762481197769758162859750512351626004236449685100004466936590299816123560002679667790930258209280787734210387703199482195765699482023880688625633162360604203390539082488318402653701970144056961438236022700081168568993976097557246664536754758422539257261378847721647635937039970967493514806231662221383663237341797948652545613322353368483082386315998773925325025441394956623266020176936499915619997476446981494121079983650781813966711540605848140038122866851455180999483833614063789408746662673122328576
520566162655604908937867242616628415491802656145785813018997513021485701935692629708767737983996845447146863873811362374135996923279723698407191281908876127622908998295281654472070089356873786951458893421638515041551026384677793392355827566336135180086546922890427535733424881569224637698156080380014486618267361383907252068209368620646327725732606286850003689195868938962771541853634079372220612781571487941555865011549501040273743554200337425562694793474377046807091505106455693363609230886742651811982137419259345079886415779965225991721449925020988163169733339516433933143848344015577445710880990804113414817472352938108024139183910221704795772945206183513735737956690642803731267251908080066380309839104963058515392390945802215602563076353184795534599522500840357849726626866015992339276771707759471866051314035660528308419983970253020508987860963367847668162202889694837779080002260886291146069741198279138171342813848179314078503499157058394025655033435810275230671565185612247116242590294754537801521857166626215051159703271867415924694739939998613413891527616069825284262737720796811231966889243027175062230700086528615503195437917630435167678296288611518938608059004861827917571317369435154677212163504418736642160865271375926650711381547506106424126749887888892180582648736987238464176862163263404907963303090624418774293460358152393774873264534589210356490558887323061740003519977997611169349296664803438168707660176896325247587543531296214191560140386368265127040825642669091942405847568994625213163896342132610289825829066537342004600151573662181235578948791813698495080643954645524891973446951541476589190623100635914563277365292099523132551084860321562624
558953661002509898746299475757029127580398041058020868784341336283153808786350934926848859775290855640665569211745918067529755760460758586143763461753734855063879092015588614266578294801892646939046871683571740209366434859356059529403293948107242785376697370845955014358232810103123244747757271183927368007921988332023737082546899876621151991129900410716190175643901407786830983445213397413688935698482283048760199895398942313273426863195313168739152133900480907502379808827911050367426470795568192375194605287974181915122665792402244412923198542416699068604279097565987049349369775282665610970862331712935964728981391313335868948243361632905551802789675539542117340327603043807810884904895249370813234964325709561902936157929866756124337336678519910566387946399581367370378186232483415227545067694321250274730621610246936710686508146270239982830034224664989938166630458639005920293470669528170111775974345448187481245657470636515777721226375282342475617538396147911844123307147334192775333058929574435051283028889960704075248473106433687061148376706379761724502755800625185912085590495561970825595814763413978232886905419706193438595747338155265214856639702146162772551561296979963976187147962340184832831919676220806341929442777905442471625049720379149362979974031813614599318150637603973693248222637779034178327069185591900713649704436234244561798664430204329818897862938453674789975993307595594884619886693983160300739382761112822930241900590973398110340470544155125733224407848025483010662557716998254722578990869348397022478754344216022968131183141380500839709114171724636890293945666955659170944971889315384684530838331773342463081601626653234757875595631100459878423986176
600171923496312647257906912349596236269305299251666217478563329059270951118803679172460001267441033466128936859418304290383955124511642004709665705648009502088665172776281955116228200499393929376520204823012271167259257650262158824554074475448832215981215562068140160138955086936773180912255312270292811608345402201333885066310346839068570695937051087940751185526763072073199703344177237408211240385507080632460057974290269527124988770817934030053196992467794604098780580271652513331276368937916121997324347836869443354451624351676391257625964374848647825982259772425576894728770315762479488705928130906340907163296144770839011449111788715607625612453874502196137197825389249806150765004836291588351855273935662315091899581171167194797909142676496070391870266658700730236683957255078430316173616028303973711949758756440362914145091549167066276081649630374212085148685004593002774402709811989678595200618573058742923606678044600478892175168171712570924762251203869893437300163497290852888153740902540741435734172980551101682081528766517053280082657539347317790752974506389867461581885582821774459310036030834253454876282611070813686854629745513979267003920212293237530000410561067072211245480818441033370902080518566818028334087567651816699009749130850597808574555392392184567904900221927653703036363059846951467595248535911641991901135338423049447047778666051517792440981021237248508491639970309487105776826685470808366600293394551438762906963101778454422475130103099397243741713084058796926349826171554981830638579640133493510392506690806436351827070457503948849662795880171860840321909116593866005332781920062227262429806934607425890885891591444011304421540418024238917097789161969025024
644429695848519199140973566488463588395338827231349919394613269843613795164519103172548012327944447086366326882612641627743893635727277595371973045212740824742015152342080130424785000004456948623271987499514793217515564390278444494454387913900272322257632347352230027835253728501569407947007002950793784550433165781673860984106432765054121560128398624346686581877668981823720910985035766673973769828836835923212736256460179107506802918757566457340990555723684039462382536436662585158509004631494999592413568365970650557273565651131825806700956897609006840603826199686063839198325824123860676965690670892285258823332268338408742163726175195399149193425340323855172360547282286596847968835288288551472778235619697712854838983911565119951270274243737132551399174893479707554468983974605947030745155174906744359916984563500247022656106000649631424008798047046932286870392348033139176624226144068494563984469832564371885940527142190071556957664400201401108483586373989455238052307189079299438641865749117501943517589675268456445327688814468490916061135577066140774150749179916555943317183751058355174856171869253691546317161385150658081287454965792835915650972303898208088327895556589021502442435885749888008117268461400801055619526866266185059308387025541935562469245947016219981286859422830603683138618810206286829655199056683095975218918285949222396915273280034443592424032374092665950249092990471414529461290822189300074307859708400813519108026103204295295489312791539254849795799591761957934944456015528383107116727587566200925341013090118706999350704365616804525039632233315419292161419442013726351777614985841838094263907569933226200024642213263355491886204073339068771056364921140052360771403776
691951117060154232584648190417108168361196345449410532433025028136486071171513121923335889484581556785186465359116731706832057357287798611809036296045562801197755679111422991196466540712625612144226352705834213184357990856807024859358212363474833357397625954567385040555396109944075922951619394689158700471045127416508877266196876127282575942689992413105102058781653637411624937428013940813751008944171432002579167368042484498261046658395273221706533389269522140532026604059248544660652787753445888709237401459626025859833534849230034306137356881784076243858429605029902414081253068141057365207015486383666081337276883563740452068425049990851438862996653727157003482248424520653390290707897602515096698789061795992529383057811510586591255735383450529282269123802219906896522106204320159246039686996667406718918975493792599062557336581874880430142924207083810887308706331372745671954354742520592134066769345690643266224101569176674788258242463852118393578787907268983824072638528610319859889493012220552927156121714006320113270708865351795026738914610030290563477397475410106946375433491404560215889904920549948279675969348194034123001932163288257242203785148961144263092747685013391166407761562968140357631562643642169720522036227401657615103335663303332479336194087053803400292198303901719641754378606111608236741150726205986862398620119662071627845457505162646245754493102793309482443154361934391256723868144811998735070656820834397631090910801094192275213313689293891270020587881196940086878533540801218401206302460784452302326147217391936830004392121222150575767508386489291878090191414096880765994561957267549410847612051507509858219048175016792318218309962143321472695499677234535981310193137482727424
742976854551007523416760382376765045501450054784984164819447451548921875010294316373897066139837020659285691494810814531812486528486820574388502572198166589264627567595458021802829925779744884612858155023229763506177397371563297688500630412536818547268170785726925144356264992133856619504555272607313176069249654298514649587998367316010449256122471920193633788302367994370592799117841557506785052625554947567141327874163216614654541067134445582053529554111158730783242576259103336413274785353069850827957573092279111364608828045379822031454499972785786400235619001880406992637607953591375224606014945945844781982020040150766293266535285984468007277778513078893959253403774965932696962528588222929786916894145804077734390138089228825441804875761087510725309059850277418080181825572148444468813118292190743211721916054916165995131004686004259452843568018807924823009908787328520361692374505977110955592905455029157840408784411649024965399219046170827670185237615260141549886250002202721031581168665376950790293153261963152505951177542855806793684770945154172884878208548019843380636228145851420808127460292577876548924937456897953305150334996533399169025102045549650746180342780478056095444157428378501881491326392954605319030901411004334628264545583599570081640887348251165649167147139801138764873973044512855775691866996615340933351931382369051053301430731707829196583181680388707618675008540896989436324338446145931658880459823680767314348833673388179209394253429826592084329582549108697752103675070545078667533619004538386285940676756094942774741693924252301068427254654844309217648947765481524066389518130077468560413640350230055584862102178986401814392916568949140947510432020025221940365636689232986512740581376
797765322995381519231235005144165155176169976469728824944350137298290999307053438040141301785237241625427100922739450530314045311072866683504638436500751083012860023110630390446002372868527894658879849227917488638211553921315180991505650724307156014100755916609941770412559278481152858781295154718193685411829274117856560339338215430915044187328386166977494777039814473794702044086056784900336274782099358412966691857386054681526272055307846052502898489069222274344723832466908713044875285838213705627419074726717093353734212071948484880849340173786960650663387576848127634137059735086110584336872169431152781426256533116037034729728516133324313804087175301339455711331447540406111897784705970633548028077256530592373161854399540433783261173151803491989812912887362041795425011641488514362706108750184653572069908325580568242698740090502760816665494711182887505113536631379753540384709928938962019708709304742557912744429079786790914169294346811004718174367454882834622273049069885153698213125646813492789127611878211865192530188229813832155642677635672045554620469664203218219718669889806642611510333239040142827689487584055529763738949293388805700669097372174613074766642290055739543896527687290281972619928641350418664456341993415967935659135129465346865076915294289729814262876650766457734672886946942066952040320130911158000159165236427786319120999455673619156619680065223955947478800133918312033467627018758058429585650729037705489828498040736443804333863612860260988332007783438542698608499907350401442701037651254111168682527815883786972126767563076383585410229224405019015378394165388855889344978291470450353361196384136018703311220382139233555383159689423272364212939536209886332253017965618348099157471085486669824
856593993037010096035237352196145276676103791868643709281123214917317409678738294626692306596615092095614820123814340689177170305130027269655101187268824645244203736671490429227322761352181253805905507106829115971892550005347314916709405915024486834833115377679550773096570632184477020210642276509475493759379755967903294069127074389695665534742579049906783808849203713713923574353491025186462729897896567651568600966195650225905758460586475501925661988940030787116332172649288981186296983268444953182184021709457513349616850081336785389999593187398488116459532586783848736863131185948317175891578953659843029951302011359930009322250043937809075887548942263067976818652245950595972289875451748211756295259276640074166559298190184970132190072728397310378711106502429225305783886855153111486862254785365630263282458821021665203871819867278359476322137889047866827327418149668512203123136100809831463708753477560045983655836125968910407286765556737736789365151261052132553609814734339988402439707072750699535208729346875273990269475484943635319229620576770509659629274724978231037910757374334863444999228606934790969023828104129137845803348474126807374218034632832375889394182866879986839532385706217568982755240238113440359936996620378257401960154396174597687700368928384151275233802390480987326046573673755366191413893858908465573043094371279362526575228032237998981910156947530009427541535057124892629816678880072959872881872178023875657423264933440775473738941820639806490727652754971497829105772952422251052218043654350265213759949093957793595478832562401671162322039315670750432327081001335587791898419155923885004519495536324413386591504612784157659719118903804617976398794022011717397226025539907814375856275866557716784507518976
919760796511002520023290922820019435147184342694353864809638969554064404655403710491113996371816721212673439361176316008954511902588952037689208199722593352920664245641261822277088452411007805840159921172531657839967439374752835672169965585154781498697696041232089734605321878746593460167059902190796569952497036281651368429392886942975510716168432199511097076887411336510762112922917074151342431708586794313534666062571079814430061141573554315168975816411936483974446207250330462962076206620357565673432875773968508434521946307469108302954714548295226445009582941920728036459514517951429254172352811942731330533597652852479968722009765961863259707251220154817297265249379788689533173584324292948879942715178252433827096660642889108727123289806081984642731394264976616810739348421661725727178829489991220345806507561688692339522659726490903619833817148565766150483635009235773288347694653483796312975226763761666844014491670142951628012674539951952989844841317078016967202780257152294583374457122321036816210973269636185394811704858726663524860435072929499071339956606995224154939709772339767062224395403003141504138372687990082402100318135916534957289523080352605573731732166473266258175499135265580660389436198830119770993967276246785672722197356670131143657576498636123962961469005210615568790130725408467824156687531006774473440497380821635932842133820551159828946354924967144617465643687997226408143517566311817186986989568966208963950855629667936853146915490323666668360948956361721147036072938863733062994521439133679305506357638293388674224959828943764214479866570208023352655668518969820471785141007198252689919011380732833885448779305835275163850378059444051045601630044595157587470005203491201399785339210804863421472518367004852224
987585635289416681918404917951410892010387424588876593302151159950461580468167271559096678256203868428595470696022852337055217943315571683196927157485893680775309754406432518713364788301132719121051166211490360986830538454856529323808044885421322408733117771910123238966794234192474095706250244095607505033737761091654518069472333638776308863710238681123377283578157291103343506759946950600005674671373420988527540225255969369595715370584710440532606961326041815674868639962851855903664148923543608098391604375106357965042979196211945172868139788485852533557625285537248585275977620659648390781981718666917322389092037055940644539033715049704170916649631155259087152339080869176233919512940984118440688448011009253429946069023004764234395679469263076483826395620139131851712330762846582493288722750768162678092190180357409032813887944053683972168565401983484730377756736967076056680931603426739407538494852135069258372443768332099221806098655646370875678253392789912288667261451185893831737809665530781184609523207354401522227280111558830010617912900640893356266871131275903143413822580982726233127943817317808236383639838394253972341497026239300156799814608387905271891276583108476559291015353610487302705677774463479469045524716193535522365799235038965180510092221065085256280356171374311864995512438298531386555312931341270579468639213150645985193854272530691040048387135285605001629342510884228790420989005427691539109959244050751007317741970160319031014789178553988198853888422774730868197885151172585226508844352062501797325449694137475402203250153056805381081539142371787054115092759498033634327117841166248972886545692224831512850779350421022197974603800637035795653401421456805849537482932486133758956863332668334558242782637261291443848216576
1060412001391857035939095915771718274560700420224722803403157969608924367053812700100967791103157481002376114463286127014072332503173190546718618717274038735065754829861354889976202440967832107095117156005252829964417862339419791454455136741146161731645171405617591690672993516454510302596379705295662832843014765132229353409756182238836231007307599088944769493509375856308203029446981768880487987531991097637341444115699715417797833564596462934929324930129321597863005244434111843999785511548573350303108172748013080995382176720534667900503431727975773497577185783201286115895647753790270946316909836936070654199259721572321297703077700394965607140451126925575119431527530558952794786188494443891689536849983070247858748548374391033509729980411045887679595260532513802568234095556590200918510300925040104395103433124411853346807659893579812582195840650189040112271960727779316473047310885882671821823062812746119559851155043146341656171060944837682163031245035108428869633599839681228605960504840031850917307510176435045304904696289544101618906817165007283601347472039269131688456491444916780178051447619776346203416792603836511491381204567844762010845718940472275106179755248035383210634378972597729621936034588708677066479493247802729168793846065848543183993395671854635865793977090821110208665123277313352547521150783789162638476193619526299406920326080177297293322012250899700275393013199557571674259946462571875413313294975272714535167189610601294528783732303556020971111848864562622663527900795162567399907059686715688841863506676203414945116851438071493385495506931457678317625126405512611958935748523436790459385326116628833206701075259542603542797740190573343177178174514079223450096246480296530117050318772138016335609839663768469439513177645461274624
1138608716565983112516478401511675147740939267929660352820500245648023016558406354760778140184355285810736677477841627053985699969891667405533206876246366659236156350952140866674366925558052371998074436582772727227155890606509513978006271450607695548335684865860476748430463845898039905336628680560747469425865779572011547116532222512404418319071818774824295031220313393053931827000727915812481609742689379528881092715585479468987167874898227935699406661565730328372017753280249099196333150778938213752250322275758657963841394008997232566720805301856178863099387043641417513227668212816268439352524850355279075632786392890796418109749660435815891428255417207922540987426213768585713403619724031998128381739016036217055984760688870863209982590914040681184787742625936581674791562221923457554767725878041448966348776951668002339821761311304033851585111864947325874960059895902130739243066428902715891957698469824588865116656384534751588824295834925176229665434412988268452254639703545429981925009738896627822045839145743927363211004740101115800726358748789429667396123485233837086059472868705339076588006133099112444512221922673125246552614871994766510371390037734048093939244071899084785125534275144332222516428190607144717988660338491386409878708154719438866123836272650902177393444169712472533157110072967296983930407121164805122870080717607330741156749148004341439121840453631389814753796309749023002530608764864273237391771230199359402421730317440883724097465225147963643703887907847799420960186474688905496499143698490972306478969217542832158198627956251908350145880756388010495572054574885675619791883718360326136566197983303880098354981571942548533752507615304329108841248275737739067809916671307176308752542778176914039939505392922303089671137037073614336138674176
1222571800147857723586640748895750430430825609020018210937967478354556295793405441894029003900877340850461718858757388216074351955588224042418573243870116010061016967020535870887875556693975371796738970024158715110340828312177991812097949790814632926506638432158223633369315387060616285980939013476010330624713354936833617949967249155242982751579188678277283826336636248509357690295414041652212445611571465040769045171545865952944833066587427078045635624507337978678289292967516650945427691429044138417643145144960932385887184449923360907142999183563924078134582137521503242598620594096160250944013411825804402698982015704944378793829232579733590190360936810715736410553783837295137810343890684494304733194619370692951752987058271697163541202176287868225556471820015694915815666839977586103242877880620226960730250384253160674796485825292225126358743305112583348902010639775203985441318526723168480384446085831463008080448599111589562371097425308161628362406456354392658525553747747689255656446988260628905092646735961686403897694726508818024307140967803520002989626961564217299304343370522183298634081401877027768951651957543828458013854404625187111300291256531985627290047274942110441111339241567993143866763475347535236925109763168198652031975712812124496368299769273541019200008308429235813302015848316678555875134031342086857235064584750924225780919700088627536761469926919155923348763360554384940955172471015751858351425443304984048387858728285073502084325064626945152676298718064040064647934456712595220374616169255802651892215425284293399670051336043316275366468669450562041246681802665289931467667724148118875111462519337829763084977312543979285839943091430760652423496450027494892306279611937375954049542447277707075935853370254230409784322242341378279558089126679937024
1312726474661724221816407459752049053019579795255065206325749951061101795755894686350820717357431151165044477249577356396603780788411266676227172206350695183734518709463578031464575999729604525524108658925621502828073722253588838340979117875049722404397695898254071300693875969333732129473279085562491912647822777207035133722116974848213059462881176931853599913456399043498955007446224971918858564986469540379227588925234051007974483228293097406247711150697888182610499454630611701536514853855131019761068624449047095948763177289485146200646018572190438660253744741820157730929757376588774739244922682694302389621235472486223623104633120134683370565066659509486657558971232707559000498810015250825523281832223950073582159196321397046399956356723920105177580649467028251967535440560533849421613060010546416748108475419564689620721049518839419140195067514779373770402073301619634477299830799848727667187303361430335646884827617548322956239703914332089228924660441475341963577437231716639753153755706534274267941301395259147553437111445036759417503625878994476841630567506789540576087399581786796927537695273015916820332797340706280928450903445692682445228865745519906161788199538042571159448333984323993578314993026996241519200239508504429639427154908198590726045579570038551088894635941907962237101029959848457762207052331057725510054005843988259963875792543170695892978887772251321181676905358906034937699339191263040533117649188494302160406883690363135214102090996701453967782607467102944127824151061383031035698722328876618262026784442145692913512881919736787360520878337574699563993375352741436472502928539152730007131009968821436602016351406569590398595997867049063712640635098710047215815628237175650230674895893705389030253069704773324703918085611095401544566684532835882644354891776
1409529319316369548918129938961371737926716317070720259879147090620258177624609819274238140952356584206374582043087693886387410989044871543082581323209099830251117250861548337071103225336289070034910987408990712780237036939037869826284051973066893025191647615188644933833094848942169601428042844592922132271721898427027530114869789714882413608294495214075208072040916053438423291789243183262503975566594339607233483043703009556211560167004838815594086366775489330144242765966078254643561061781501812917229869005090823865927984526847156902388325960041637282420972181912385241976218901415885886441967664055153482239464045360859567944257309264226047973002585663303148991033158970942859783209175604889214874388998206128493041829316510954829701771989136638163647290465831543127153092732111197891704152077945568755778142946862555119346887905552960270693563509122351749809279400262768477869206917920951769444960060943539846418334723991910699173891862194877230396318461010378930995379018428935419702223404784520370975557685079302046712701512285045803999520777925132849858164688895333682290095210364592512091920751204288507696418103632311532371286560225945792192822403045663870467300473653787746395848966089232271744227459354225609970596191098409793118175626259707360413664914670329596506912540080213412587980381366329801179158635613374038456718573430613688198167594749701751476459750068430192023595738747140598613014826821462005815677046245991815322427875846364027148609709012197166818934177203135223579993111900951706919755227877507963620349463764338782699196079994799660385833496269545646094251575169233398365420334971507732436383650884512467349399237114997577521353788865371168302967387407346144635994311090887287070883467917334535973522246402451174129265190645731092475449139919788523199564798884839424
1513470582304237072513410067329391955423482356622077508836389416646889306993564534635830817676552455824162236150182627025523267446014684388515185452610872385131925014977944482910893194864870039450549067298170721939711827195277899152348801107671644590882157659897905715342306574668169658354699728703352747795407934837779271083755217530954282733292552820320384388452736605849854097009866199175847289532126439677946323677218741195176031143605520246681993939075046911841617410627221987267713724332646446061053160572807286503464245558500643221584631072641658731573097806459864337910226647829569494284055229751599736619753728848188090692318773574702174698843299086831373062575703757942149263399264787530048897154373819381136097105118607145954825590031647682047062652157439770794084025717418220995063370720546665168546633747096935011148065108431975289654040627344874607009807315363771104716985869481861040739858883444667635709902593581610755376089941291884120821811227210157156298148402819214731929270895508821230096451968194267364284229325768503489509991935215231081649023894346868133110803328310541268950321043061542938876190012860779210104580276403692887034246086754314279566458942937081999323928294877166406222310453677892068557340540597459094762172544492440478876793960002924059634516299394201455941482615164498572903667144188855598846763146090065079005267746644237582086328585101060359200085939560982221139190410290320736471223679431103604473374855519720454278533708018865824147794661166033633485429613879963993123931400014731049432239676739743030689374442267266097857265402044759137688500162237085777842605048998997700656346545264515630042484382164065996643359816205614528690639187167278480340820347644352745397902032133004265874403392556745361780498817583655041048101434716704942594567023160800649072869376
1625076663613693637168969190154224127027336638031207983007360889804726888417365939681588157927432875948315382715815831875497047741923628746108619879584663677042783646213645428851479288523392989682584513322236582838942995367030495622731055585564572056093541734794348936571673045851392683703232125670243134333253294776790258642861784041203628002657251190907153797638365940956791408257246678699021565407681549938424058159271238417892251681215797246141254120099385744006385477597030320661739710674768977740712835994410980610720281344768379357917517938305331144824824428038613716980279109093927589927319036510221768116013963244254899595047782727543713317902654651671852892634502291136457836562583013221487157639725754400147624097891172973236968650642457599846585105969806914662581710183083549182074438673067970535192529948667817703679583763598506927436057912175389937581993692687238809497311411279679408798554387012480830240918345694649425335540619550800572287847966088312576330226953865790368509406370333755115693688032257302626070220850684963138576823606743292054191315844135589477933868759845431420549992282162483659443240774579716527118971256740125360859977343656439654410935554610374343191641534186618512968668576026367338167891880650261778175323994126034194000602217885722725125450304669259966326063180471018757714980535690212811178335756978724946209820295890153540478724180429751774421595457700962809357565669028437357123635037064344466600216076801481108547141387693660416431716285057878920463992671031088255031213559502690943886807194907702055063696891059036995406622644443633006142317308024744403545177530223793165274551536688419575078326377996357290492219046540921303077187252554870988597100581735961420142950933755798611039762853635667788261732688022117036361783306249731688331305687938928334235886672699981824
1744912780928401837351003174435999455459140139581657028597684687245190452991106977349182447909801835858309888764538164966073540949028158398545502411627897139014465438322810336464249596357330255410591476368770608217013750077418873833575259485889491669289309816938208492046928522984110013139763537312564085582464416587640445180618176576296074686990673740550819533324745937822421511889664710004229362656179291042030535893417982049566500555655716672685887160563029510049013410362146473490641283953158712937928399580851700126583428844924772509294304552628685732368215141841937834901824662627608797732483569692408115941393876503355213412123467593028481777697888260128219974397046655417039270329801774767855736636654666389390535768136022621782965903171651195101934411855253765477612830041023504043154315884596142358435883298257208951248407781887045631941828465988834999490536057142491260833231677843457142538601436073983077427918023941235421000335196862566667148597728142354890790957115777817601484922157239385706694271613042926959036628888297303969788243343630801110032090319442247549351919993573051491568259796235067868860780173768397657231669662215714498958450281576340343873127587953794956581395162471698118507145851674034337778417046164202387775455777243853241352576482531061342434451638956926912973125658138192860047097272516506202822793824982756852937634331221313166193683134687546774134680451741946653475756829662374635707671278207776832931623089098946411392949583608082088775990615368550857630158416915552663662192424313951906997302006996519516252642335988859675131386619924609969201854989905258892996390987706310801480630427785826554221907107977122142448813136840389730606555853347815835380933979744632301657922476353454371194501502990206962426198645837290898964575531145337502539455685669119710207722602202169488468606976
1873585832114974602242217476748700226567703890946023014828898118259520332222057461638037846527455610713050265519272315768284701976748185826215166706457737083329773682129693871481177072383983544214954360755056649504525731841207882802088971561652285047415508306540338081542758525866584208525353667482684619370207445081908907464408970364586222398449595093167939730406941487614037462273246272468372283572803436834496728273896093640300792715926782736156955458841128173085853988642711655001008819161566566991463638547344539967418721776123738376914723523151029012995823166025781050542096074177953303235723972171557409363315738059143368969042715806543291707936093061378261389182318176000591226803550439197674595225105206747055688124015614010018503941001336139320530921313827402126800231294050572058167889851398435399310607119721831560462592448819190538812451558965973655988007256733946794311133941582214058695225896379097988502585927549137789758307818890611410505736203657828272093203096201053050157725425612232813345436212140134583294763185331439418802869301545995166467081358130661546300660591801196585802423894115310106274366905845116254033259773672965167574892505553093276075119240874228224401708046217137486143230943810511083284829626981042875355173188689152672158227699452405942481456703253400160970453207150503645610746951297298440326260590412922111821755245050592946744020466317444143344687809910541777013755078062135445516090489055229747576944242969617236247320066643382563144062090752710230108570615987857971048701013521844669267561420071303627032709826664299031255622508927045450819383601044374270958165684556935736292714016200653685677865438877920079503776444186161666212351908331560281498007786234580541791495903810354965227157102591446277973005999367662737072823042197763499072319779897531258112791485774583883305429021149364224
2011747468795690607125233083288826970904019635356279837488360113410145066885197951892036785111422253526064532702347763485741977251810002637731220115856003194766951186957133702125820651368558519151349743393888544062318155562113430443093243334892653000579854374951773741252382273555537308711609597167947271619312273340628699702681702921232755443380923007399593544449217615171969992745606639001391038074507199060141303138845563171811373079445137545572880104662829890786992570362900496746841931326626636338832359683502436701057078891643622494527214728203892119891054870669976976233706427471074880403151359840013293650481319271530820874324925204031425173443375839158038337969396186847227848946441938260112216435466155284480681195855663591597222695361963052671144992099909511180811959633295741589980624147271644976401939631277505792351870299763744295348024530835768107316511433970744313642589781942795969341854914070127669649497642563343060002413956609066752391641953778392000756124190517366172797119586188055177714180220498999051072398952265829806090892780275602869937547573435613759051531756245536267422067135688555939836672565927371388097719706049436798520330735516508503095034094713789168261371306260665504430207518860339680938468875203864590406068307458986959217649426617350157868478406728332623042308036752431626956733025488400393588274201449287901517423439702190642918459396597023037493042549723910404478950650607699698603499623067214425902327691792495987830036363469467150880100404094068615420236331243606179686771419089594159024028143219391766547917556945248277501845122990782065293707242341074734637291049830372809337721745665655438452073912767338419492609934068683423037729909381810333421624332757720602818109039445859090450464241671094653308746484523977033921405434158655548214534948378453746183043527667271751701374506271452918318104576
2160097396572067915834315167275688990558876972199266802559175366941856024221914447465619828720634573735266962885526536647501188647724979533682331508944716191698893422402317751132451343697344120604309205533685835754177866021579420098864067300483480077041685894215097448967636986752789595156054778839016937764343794002353233325505709386070587158321760996768805069275527997487681133683934440547863151759374807819967208530040960254407969114267918896114307408513977871935346197975909121307460121582334824269442539916787969091837570617225321575241081559901311368711047938117265180499184589713315649324661596462696222108515430232539854877814919957240274619052606734255082709273187917843987239871349045097508277720100207865425525520000561465571992970252150548395723295985822428770233427337669340706258455496549900700442255616825796519650462465479749568756582574536341891991058732428602561968222436547020007780971374977022147922321039409664012784733406172476189650757993804934318678890167496640258055078366419687573531468020623317431272746807061601028865601523681557048266377097587529864203488217945005503639922144124685550766263063029616005781457447414266102215940425036757422224771554200172739480407735125589598180771101999615530270449601828625937151624685119605462782572508328667708556387956545093743144152260552414971563810087868953529453791446076301834876450611926184197722999275772026909247799894650162254117806241189498182822771938055503292267478181630984471485305046898032626894082213195102302702479084820577887714545692204329251730206038327722947583743180996014753617689345725626669974952310113315615689760870263739390898289579195504964639049579677618842171272145127427879931095733718979739830183072098057870152295940245484689027262456498697981120381085446362872136879743517026713727594698783626767726214195268850835775508965671009295645004619656986624
2319386918612943551399816049501463407579407339520838028042536826436017789393426599593686812181061753639968041855645566660290771340776312974858736070986971878837103482151867123928536371372837180013346948609730722725655357482438309897816563951279887979790400336089589783192257455125804136991083822874522649121980987535167021043226086118613352448127384431562594861384351790585490158012175605690282139872499915248261054107234539458279516796889699660197842949314511729707497036686117767970909495755077960389790700273444722153925296586268322607185912153861199329031737142025471440800883691871467182393606510768607389484706483990032087929200289289301174475722451106793735789525854509200565006372187849023656795974278958656201150308003951349067384935193721869757024205631108852807860517175320541798815402220288316085111745152684775845262339410127763337019906385589267697394090395049015664658832189055721524919234396659615719198510803169308520314638966897367442472174811250690875538468798743508024555890537622415684713812593861750475585793798104499569094427630895014260165595782635460316044325746298779741168368642250430746706211898961246856067376664964978168214714313854303181585164346590208338404769813777459444226048244787557226771319768767542549170894853963750827768523520505078856875236411312361694014589543179273299171833576138010435686951751025565975354786894695537173823069889118135181712815126868673060632404784293395708468808609503731118277287118624656561328307430252699094812763290402066014370360021857098013888683482878819071449346587489823147505224795910223018280368356744800984161951327774085155878406854960814894643778451245573953332588597309479787569749873509517124225667727442035609264306222088492164354881400666981737760205575767632623873315550262277524494132033472624438654593371004661986913569562642668066789519451327942905026822516798919071997362176
2490422740553201558889076238256175609923568261576091910238956641604581160479745730657842936596038665610017924563789215443334201189812083869619685411196144665419258491802497250652660689048211577722547496945046530368283435138565358837158810994459914053935819594563049161216619062544379083519552215710182872397547864049331501319599960553380981408407163143895223776635861056680930230198041649062188323941321186438513237065264705993733020267330983639953012089262503374325522854645947007659893140910977666451133617489845834728728956716280722069660236823190692810382113592766976759305448876121923145979451740810960140325187160224083851911627901482821906766904468369159524658419571115867639451772644603881297867259418146152330012042614324520754874599225028713781597607366497890756459673249412006335728291019306026319116424484066909713123126076737668678532081006771867612224210667600810649175346812386603267802840193752835289471280807878718311421381498217854938478288051079172541960832470129943214445278695811033240590818052527287159488357701264613109926664752633211364216217357693706686829050791681013008256372037034380974754009956521152904548050487134532554459046170996827968444257576847538481818746790145549633729303310670190189177818519403719368744366328207251443689684294694024773045051284713749479078955258704639671247262273466870200945542266146185081009787927441682009680588116021184221490889558498760420583100906593517259165070803475439985744614008523743107534224682992285906987405393916556055638440581405520288779612335864975960744007728459498287839681121890670603895148062763045311251048730083368055204204898659728833501178504492317648578224559116682319596275756405878198325303053281546169364407460999846665964118138455839787677332809539708053719639783866181547544534006917724818827959192160854474332040312542820670261132439752344637011359178111942005594834986046849024
2674071055972673410881200133740244578663644685773222042491621580213417262009558895892764994646146907986626718993817436541654633827131797151406419199723938394815144337715502445670773078711723523401725915296408689282512047394668861141025420694862642011156281310401068889366402611329571678085732335759893212781702296671633232207565668594915344344373196288791632042813158034811149411389585121492001980380257079696333267014601732456534625750872937985277306475018771187954441679701226014212075632766842181198503817311265368060427975186156313011114037746804739998043376786072806832502241649385903805151794778698335580264062414560388043880537229747457498839053946700451653353704407247249434527520719450275262251478437521428301408980578670539443264909063151317588226552567739281712993749337267654610424451567472471914080075693880262573412142130218268336394706302726981481836148659189952130324160982164577185934982102020682768888461050267888570487794202496292311009084796363155893615740793035750744094896695028479991076615813372777124400808104920312787306969517728893173191049556030501051236821773248214933652923970667891778543268602029183414312321625699921518412235568946349961051551572890096139378252015845027689203034059048248676154695917365529027379704490973436815173994904568915681710579400622084683545287259495911677867795748518704013134513077520898219525037451064411294702420341089309968623647753925013715735905911021776848431383841612864469495955843688235471591226553541958847698151012691401402979464674393983838543227683524559905805423255426198401709856227397254982809557785661258752297348785352599287658295660356632393028947713563173345971773844787542302671856074290227340991644645783296569433551787853184222832630928537057957072432054370210726028416006151439546775610665817866464898402445188362384667846146831258344591090902165252638821194712625057485269616322896958220482379776
2871261933145704442355881278911294156100413327390046286261959260256116960183229674311323593754704015553520740859556979035240498503596596561749132716820201908512445224001915589090996789026021586201075869038435366679653737071526190837567356447269160662517973843287153880817935344207377358766515066574608164337445137853188595809567107596883918961915359919837157745587046399498379064521979502954083807825109450342054248236137498841439489772899678024550540200293665809592849038064018195536324012753023290360219994870760852049235276297010219081668519162258971697344851821397073405130619432700388831632228722553227191716832778659915216384080083168942074165923667164541739895822287394500426812548675500330837391980804200928463440100576522280516875207972662226935185659479316259902959752913996562637599160040257551062813111757605058773174487394647808961641897529434365270320969130453773562886950324259024575814614827631042001991666620667598362304316716724994259260069989817643575607315474225413501173811606411451837566109187198129301499598601651120026893509497878622093283305450766580398388942466770452707604529567198264616527653291664745500514259928053679007836803403718131565321821943905080780231362545425116932335370896896590237539928500477416412583629840718809581473676166198533457782120965720783942792379528615101525536667437873918545179172029209142652351166126374211725059978354255937832611338308832947386359289115192904376955685624937524197341379988225264842607863781997376553660350869794712491551329434027362301423926795754955702056783355373344169237825744383287337835023221409321018827719475148684442271319071082614956188387202761951287731915500617668564548038814673868210491038490723190767196524543487939071632331579926194262420666894175537236230115678275841919180577515029130389808442616182612250486242755849967155136458479440723917828682820593185052338250962327552883712544620542951424
3082994025277634745700106821545665721371798533305697458855342277921093731984476404705966539412410898240561729912372038501228893141921080152404642393776599077294434061519905424124601394226943601430916434383714716724720227331596950613701661034548948388721097667275438763758128508403297199458260277707301202460980093818414167080563342761482395862435185093942443540722363151770022221783243959592531336062998494209914752408019060720805124534382646051093613814848646062038662423487504326044361203708430489305864234333801401547140023376295718383390360728662900230671437151716615826286842267917560749586018165739492101920429719261285640125596833063891562865262157026023955919873792846823095854484520920509345944712871675691790827690907778485058829248588945681685288179787963931181062068092463984296225973082494056307958089189726701678735576365394146232076917088075949053636690459581128773097212746967276496496010810878000638239143750075543163240049874489986642327436441234458040254480825038220479904594615300602390556385799245276805580024937804723029319565942013515817048714543455250235208789745701165279569026248145395218985062991831707830217974393158466067785199581037714968820628241051867119832966361530047910339065726550260741036716100932205969655083257714244071120221654679340461084001560321676025443801248355439305974923873624147980728110581452806109011739005060060604228087667499288851218705078807364237925455813890575257569981450090997117697469299234094394984840574025401463942099019413361096233909056117427663439764954916401592565651111571414769257187704568268701243082044838400201357613851006471104244828842270232637747398962711875413488415772647088571125272932490717217468263604683325933469555629785507020775366368002753612709901526248456328209643292122899677436613886360765877886748185299249994921843183573130403496311896614949399409796011301191280067209053259341918813967552543176532349157376
3310339628082709638253808855561285610960030739312184339063500169639310111855978834473946695711649966114299142660705712786907737963707431466893158709961411741770842614264111462407043104310181492545561222246746155831644402784723562584793940911066314860187252436542474728597957999439355662560404202452184131247846054764275152548524838604251304677221208724547370678432248488171932488938072901809866893561440982082207305135094778485124049166095173084847654092307183506583810549115733336254763103784725717764491156869939341750982550683466403020371897232812471574811169671985563808424501163954098360891298390178256558349636109623420775813465932622646435249157254723297377897100884181145983548121048072953864123723001989335239945151305026286335024064684443962489684724131168324712564059250814479152537032653772070489265624402131830722029399780269601054152996262447438187382933847394039484804283344244693933659956256795863446776062358404313853888100902085849327068297209655155787794311665249563727806914768213447119134774062929321340608389354683929861316396213465870706050737050744967649929514922381665366209916177587513279633900965604275066653330142495264476665787838347471883413564496372943479855075876359917074054856891681962195756355197185114938201137748009954499705812522779693161801336852598642442297097561902646400718808858326338143272918303802836601408607476705134702734408964132591929810437014236683021462448901638270813472461689866872211135223365543618318659199170303241590225459631493513753440837040565645137529871336823214813517947064286318400602751851013505967794857982206433617447691572667352519275136663667047893359223413477957092939805754592454190649604291030411568152578025005489330190103310395359037252147778247531901133719247654401375036165042873407131819801438724737475759078261911906675379370637371779876839985913144235193789978892642465738432259891435998936946969436544526208598579245769293824
3554450110317010269841024895517727355697177797125133317650277123972822261605882739033449605532200012665105753922142365175034437880865263265616855846355453213224041538656875459384245893268636537576913309878890595427658097965459757425574800777996566702935765412761561068558676384993404726502336918518273461869917618913796692335331308712234410038499231907380207366663959952110973216277226220634299379489875496169300589761881233863493053417868710105720026867194979586662016747877969099567794663745712695532153937209398799581059357763037662221813230093100615878685897779171260985326110446074196626298832999198264882102300706083315776941445994256101487091528005149425941837650387692676434785233485930645167132054497826784449086184422214905057315014298168844709461656873537492227892808696813612330855087669208783447400643966043941407931084701691880647638560981905494983447805175772213603141771481062117566649776426932202812996256116250789686942278954501705261035486018469237386590421144269543972299636183034043931027317604157620279346977255400505792777934311353537373663086237411282123256310824193307794471863363409924428498326875043295572266068282877045190537528471944231605885196088677125716308496427141095839584405114933560515970473889017424979393736924423460914671126601611509285712894557747685475915900286023300456734848734646679905198636629328243908770439161337408845879742068709679836562338613903609995174921031151873491463884788647777685159247847166223485036941751500689258201345595958213301788650640023717801708054903685877039410580337542236777707961471926618146494936067635295576933202573825271639297480399095130533710890035211327832766924553141798139304549856329220956658849438871711723410859795252350973794005103333052427021507372880344654059439919099930374814802036134123851142708477504040400939621320143617491084661830513796672065045409107421341841761636272531477819499954067571828436442963160865833773694976
3816561744768787825365834261342613995240984479537442604736979953200052301604505701339892176456224932331853753369256297170715556593014962477063639281610768085513843282369199965900078102302775117850879437639237207030939666157803448936734230835802652597347914909134711458841582232648544619004840383152350324278999794862236959193305459060981666550302075490829422919379997154042589031660655371804499052695527104789729828055198081719957598188231782981443054481710943145025239934385038670385561453907788221880651619188001337005577110656752619214745630267497545109103558604484898978764095065193161524856755313630535472143669314746387378301085363070039933878769735196226003341676639155441546528113651449049279253157045363935570416634794709418276228247995101895178310109509454284237163448086599711092161233313616147775632975510874615711501050953893135812585729761446437179150096138230297242755057840666819573316972509846386172764530947434278959897791587323474018094638886197656639366591940376147292465216829707372184597402198115513182245412887100252940459945214424931128449171778027287105203824003880265639829635684506547115557951079757208266736091971364946470618193361917332070781619582853842713706391500375963352154170550063690907232517763737943465157393499406597070911683837349263319834300542755673134688246843716780338914509564703618076952131176688120509320060942375459653608649133505864954166467352998493956403750907044973463741680083088519305209388513884334036015202543638104821358319779458538978443608200717834155667277187775817935336436416531136994736029090188211762768971860026109639555389257780641827274746682328653408784824555071235372617124536560859264736673454233875654501897942235488247897360097962525874889751239918140192477700213785989402598432023152771678926649200477568052567876284935451307474600310160295786835548532319062895828251704217828803525700658704492510091325423448430794316361335336312885775448046749876224
4098001969236660697877304347055711040177981994614224298705595895200458795220220078375095069511436814996281222443951402047570161121359111469413870206314795782180622063261251812806287663309040355303018247374848812646066781574230947094819873620871784703914687717131099343530261433530040650155642377834863507078324724631004141284433372201295781872281138288508879838322483093296498520537705847956760984247567390138363642043194760947288328681291089993266823471323682733299697653184231740250327538783040453167847579895477954510807064969231395272418420739452422000971134020870510009913896701009904168026313789179343219956244680068616080987585418922526918355829610345592706744321969744953625694477619386202416171170203647522923197637884413156329896254842585051994615502222321188401426329334634883745970234760251766548461693879593841709366196229150155548485523630426582335042038997238755493497986591063092224932267792880316648952566582002530810525477592544562270205546562287200264479194634723183639904263375285491195736479341866160487000234049028131663150824973476696660935391996228342378113233877701379505715200069137548439801133170081274281473089919965153393023941348009808274894753316567604200824210610071783575499173415632470790904058415748380474286980143138582456553768746426717322095177242542666457987955837334698660513403680070308893345953690344368794809131236057384941304159102786606950584379055245054770001939979372124256989589437239938272234741524822814152856245270935418266788476437571089375089136550580125355635682144715997252980059291546166789521742273815751001453811135589107652000186210679392547508679451821516878612435141282176718927230953522011713925654634441462167854061707957779788827875596371101216551317295255965460958716906875758206790710740080067293186242674728925591848359365992935209150962170702481730536317069132793543737348975617959992817423456155363264779798166751090451027018653247088251407233240134449368531992576
4400196109203763945407889697810728201897643671536235374837267375519453472416601588635897536110616954594857553003918116201915319570422017708187769206227705141346127831660779910005929874270146866792670885641553375814822012473324328530839392053124354578116656729782742656247385510835400606492265330668103512881317300689592113614301191873890227991049284466699762877797208096805344494255457737960559212358018277050086189382743029406785337892161009644318466752785102792450522896778556396815080908090332596450231238590956228228223005652149022237871531975979072360540475214917955485855205526689957143441776647989779452117851362967172275955341689069678168004487566845685983300745373437219320848601665766918742772839390678942716636043614501283647259950405446106603833287534871206347995151061395566447426032521180934512967443580404727976182137423029609988514566580529340414514218069574272287078548262615626744678991496383765412343896531240843005109824708689927093292084420707188023835172857138684936597762941955439837246028351873690725188359596230371519303720394125619894207477348185221465571801422381672157782857346760677368640422927309969675233204977579397820665315658681070306975785834161348753903050203818629667289724173793519300652046292328216375506887158345402611674444407862416939758871114011053080423607070811206638230018843887005919384705778489893737867038305259631075546060733812294829891549032686221875721783516989547074454646511353144846076739921031789745300879607005570195984377312258603635275229642404972057508906025551586852393798299332928908789299636744831920230841820478959764791037190194539233173976130430155655688102697682022128871260287303984081859898607579228809338614384111141785446377964892594001148430422210886900930813480288414758342426936309961361428538981270075270551536917048737822587575612525082094672741588052979837867964866004559889846807160792643779307255441919172014874733682019552061754973186055393670203189910908698624
4724674596254152686407703908118100106273816177177374253471091174965950918955735477663206292300519714592007529982603717237288507529087833743749835041985968277803169113304610769832322994014918165497847466580456931940764473908458015860278729074172849383529729481818797223441672713635574810985711218043532604541993133965199093888234994248044871378885114377169070652773463323971339170210212713512684888737301885825096884345035934518527326684785277797172101728018833352393317884940770869603092764960490078879127215346432530401932458367700800657508740621562093342234715483092797533732974582122955265681002895813151722274742385433257611706519927764917099206116920210208794240575877834041023056018780450009689724695385006656550952300614778161153750271750493242038498399549609072709176692243818411502772428264376135257978214522640863275369636792822473035076249770747016862197412583958438029000372042772934071734802623807593677838247576721815751604264503028990967578460890652119438623733978979382984783806335614840097566813619296570496875631976424302639334827945974441990337023762279082786287019262233891086867781043442610209279488114101226252469589137991981720782800928887973865684420205405768121315988245011787184136181570825946413261332575256936257703433941963969422273681632684791505945188390139140090734862548872122175374008564989604985778930940299078467663531579367345064623909048338391924273521580541939496506209150065491264658795950375562455162637966782289883103861898030564120396302770768770627033455818254782443698645652120351472983735752213837069785752223640933248602086597376558811469339251451319471067786439620537238342459365708415012662590082068543910523212843357181366252592042428133999427810530217181846884573776281807813663158964128670508691116715180189741589802691404032457619300735315248446522971837930598894083650235836663179747572866391651728441349801405754617375625914640217819821351675245909834451745549866209764482027585557503558000050176
5073080718788397473077908001954657215525041225523141002452687769478243277614007587047602381983037194493981581065255603615546402888520503660222696477681130161014513516700155435609802665750719314232392606839878868855520306168868118977236611704504186588348487292034690168184397217150091768836252801199324410204390392259269227594700694864525208628209497797790141879093849168278088644344160262435099719570027583724479273573355929675468093548365217230282274551356494030150835911188125445493690981489879905229577931734119257086706410972539120384253834450938975834549359638937101585133145656754339779242724651499695493464023318065217058255642459930650329310364933863772054148716637875924377386995659498648945062668480541429657161072199108224112593761229870286606090749753478024217700003068164233891769448181500385693972238613803689830230008084142712304873588407921483728174606435980086389449824373885616248016273813567151460692908329992862385719493893660802286407221459841471275493704172280100344476328460465834567829728417451541202259827379518555713887392305436770800086666269240884747994826250154152530230753664418691525432779293421370796963381145558098150247983377213067350204320359734844122702882498561515272594207464253836888301481028027000005998219211907902669752369143474266048653293426051623894817176813615241607336935838763560998469763368606767619388165416311493855726673975572969113996320936794465023476218640116810309970802301400069915632249107104467349980687455835439926383281739941513655308526559316302597820161088837375658122643148916097453350568881824271587416249913273059873070360447928134416071040239320621522157755055981636587845312571284588031509287352766566203698870224364669989462032235041803952413530964007396259860132427745469242697007514354465421800723401668274931999350669141936081982742239160233641945761412805288888695798749132280425269367612783452726957326662727455785612281501923998874183755306697227028481542714934829927253463668069761024
5447178944291084972779663832122989203892618883168412774182737439302060465221002874466331356457211094275810539875411414852377789394158874261526194362143711989469137433894279358515184066603239685775918397552366412583983166014798906086067053931174074323009641892590148892461181436283263617637624440084871979780586352592543221344605056837902730406434204019523170110477017073127797840211785923935382654513009913478635088656850193730952838820424300566999517511642303574179269546403839822985208334957293886982154147170340694137805067870147769032744293082345254425280951636744304877294155100341082714479840506031047374596640475917878315087327793217783398099911906192525972941869770012042526661577073310162243807265448603863187647824324866155732057206553981404823826651149827044067429374379216260830511145877877707191749257294548805496241419219802141386542210906546869987076522105051397187485428779695599557509030226263029155888667694111329965023440925736211884310260377062124118192216418460445182781041245963697098543744312379051282125619972409394254075070744643243395554996398013982684685745080403600018984184580527609738211534827907693880111794532438761805818295723770438973243233715742027684666672864063118784999161534502329619443316500935106107688538837345833932634378472435376124142260026895879758982979578381737557662653270084955891232184928256215002385986498124022764812751759985051301558073571963077587411557823261823475290054649848708824938497269484722130916709713602664710397210658550694525571884590552730944319358191502069778525807270418274102522394742607633821743699629117657118171777307695812068829293660145520674015324329554944580338162150141243576041351675099704241776380461448609995643023270800583292114913939573780009552996577848968352389383527804669884549238109826778168418458754300082963559563188397753498969004768454367848195159930030213201108226471876630248060933901000811190122684096677334060540011934182759965303871625068036327218921389270955761153867776
5848863855297503965611426593210568220119968499750094431335872607389283690884688189538721657270760018320744768164248985334012818321172004595357788958186705861703260419976322941577643671370300064514221475463035047364262637862024988414058339474365221025099938055336558556222848804589731257475061437323709154376097910022224487285391966288753350081184923559910940284685873822179383038052263564263903029594761096228631825124808037111426666413020396944734296140070748275300968185743311612135974722597047700312268049431846055624952920931336260670749572979827975684345240722893615340557922281979137175980455156174859808629808008884290736251914063975557575112717544394479733353977892823191044543170397412635325401545907236090312551429160213354611607160237616748077618027065426987581489995437118535594612792627242490569006765278094139670555486617419008211491722591788329721414401272654206829839074271332447233653339011618797629609078390804973495710125662356248691509775959181612911982102039760465682411328620060292760373867761763508303059101786305692661105685894282274392819175324716963745358888789431588140550512978648390562667415903957133330464875585174023269680870663012671300410876965599142319592490153070437215333663544527170337830292524323358537703032115106555045627930666099094481662560716761470990495064877446357853454002498900585173611191852371137435998093494535060781707567093225559197268539959085830189360805535830619967923962208788233937734358745955545080983674679962242817402332737024463936354370003377582492334710103052773703769576329611378877774359131775531256083170900276916664672347711687110487945979319276287473946923749567903301911212763900420734966923647047011814425507756793792178986371859663864244339392511080976330032171970165309275212851427380540957553768345855717114601015098110938924643770910553459479485361299544890594088026131242353497666825913317897665526519630004046432761941605742113013621558839191164634499555832962397450086305499828410069204662330457063424
6280169744314813970682846465436021536748048475744209938874822610089805348303977270306564710906208723937989904407137837102692172783555846031955854248570453284496750590092383032102624553319202570698817841003650496332829757193022171393289868669616113665653957269824089318041528225916397612071086102224021145865288951909851201515281578437832532802282047904519346298833689424860742398472898886821464456356204760308770656933960409417882960036556058364643030332795724742166515728725994206215262034659248014748300064973872547453942409234940775289950109938581605817536507019518869093725044648702521081283462907741398833862460992229226540089433130544367882118546341714929644422533860295649661668249029260647934943489434855414410827701640294275609825883804998880493810073956512940984574416338403333713568464529309103913868122018040668773573007293795076049278099976608808576984911082367649362744665234571972803046690414025924959503328238301917069555446503967606607819320152243014595373613699526522944921744710766941738497831692450746861965824731829532659519033028897720477414153815337384935683524783377425373251476169829595937422897458081541160064550278757823103005581963611315017215626982482008327074831313659890456069848662902909096100594497520527362079226473605090369048937498762776673488692496526209234257257624507588743724425343270072318980637806378923835483276169344610195701548925282389975895097913485704680078536730152067239409496675371347138041592787352659598169638565085274853888479694907560239643361157797531586029937644563113204944780563864147167376513434583715289475755018167058604621282994309144132616645847745999272224122386049959703249768279162519114330805176448990679370794210905914806141761391737749620605360989900027736309570309926972762691165079876585589870489801752580535459710983697178515299601127735812431012702423072341196376520794719828030637557400456425331227787107892349944094500537531025300860149433716443799331846407274883961468618624806988714727780360009058034569445376
6743280916290201983101682089309226720171132598786007737206380537034268398492867860673511831862465248165889742851705819830059568915138411324215441228338187902202331900678871685396522643068145822487637623243001674590917934569912746384271684946034059267150606231718977823492826625042956843494452409063070921775965417510731912683610005905437374377662157479453980738197334755699484488930425265303248807719079693051422208373948897552144427728170808786702264498423408504055804310286938215195007593732972181824218612664364421446722678482879752591805159914453141403370660233726994103113556395579284219215757723594593304182951830925059531264837052716739682672984933181515844433922933855612046984648595564557485088055682706381845758021708977367390053156799191558259381649519641101932381289662932596789287696652579658696282296231105548595116123848804828839370580952138299455918622846059254065345894495238697936821746122319511849304229796665007096961199998304601155994369482709372182895085935200996683258125703001248461196392821497071965729460873218953254899537487164883094860824321096922876230950587652881600698920833285364111031451776005437545938786174053133432890553459789515013623698717473847668296517959221486893940631174709330747753243623252054527200857066277817588547439295183541568696401124595165566997031086976685439528533021434633576394179858904664514268888875567814636101578102657953127796918466284734741112864491884476475014197643135166153337959627357288848189774774295405737155549680197007243104539719064273387881398165079460855795894501923237867703290830010423135618385196983850642840951231529682040834695205320815547260601707596515886893904919645304466256423289548981095026595748346757656335261279337269807284108293473701359235629053237233041010330741551790706159655643507214220851406750147842722671405621367508229797453266918915320147667628896397718583098766070780567672328288712016624618327035537543563135725621871261463888066742635180774175660280960627710499222547227502630560451332694605824
7240542750801832790664017304043019998546089508766348133426091702273274900703290787710554462829584752702255107072481568495743531555594418987725343233480646366965465472088318521739616386025291851735856239031965413310306676899410767823497283905507952363634395217951701903612737711289388559487015863588575902589086426758894823499908142645555097882041829827764159801892872692523358871003862633462394287926109909218394207813551963340428692940282300410188916427467595771441990717914559002558791969388692519453196140536984153684908727616372858320593599859156600012985132467446288966314394123316166174155143547674546450971589528641613028408891164046856222206472037678838945887380658473556231965670283000526263791301709362715699504704892428955636113796038521945490830717467348160614245010626149591665586315064499577033843614774095597285040624313225597137993570603488634358056269690295734672203915946229158838068018444244279763861536832786233837264063743408379352829902822094297749556631172699463985299530155161842797002208050374772463141616808546751619286566318224798163022626532678171649911547129240276968790498930363426773083049551336117944494396058873792965147284464283904506803695110526829867654850166383236957491907865243659466911851709947029839784105880708432748266208979339650338751895045758464337489386361915048869313608746479454553089130024684357117659150767705494323061604721226409839547168335567853584278694909380870967566835003236454384028164458716975627550147864301137271033464485337351236552279900628520480738431961442673404238884734206628936053602186617865676650684289344039087787615517237727104665888112245226990883156680852197624438439162902522650633518394636403098315374247340492550399388601592173594053366925247979393496943585410339710167499333277092343298116685871329954655728316869656914706321224531001660997728621376274995956900589196973193380855164652989239836241211048439341236005774966594845960813188791582577416082916070837571033105566483016870056379168441984817502777156230736892422782976
7774473579995937403190592111210714867707355497210042634603927073590171138334570333198727532969978533529108327581321659563000595808705508848100443654543567098764472241009132218625679351391084983015195844299962537192722569253351982368042483679745952417433906790460337945889413179753453463708320917686532675208451982361738136008949432916690516292362131203561094787511931777469822516758268175099354678124962431148633011048758337035933037699634640317352195309412619984522810223644648059563097956447966870812830306569941704636730218464323365157247748675496950799581079820477398936721492103424381196524445491861898464638961112662945815425926616301154621497726590342273255959353406811717324277385915051581263443177452745440232779617727778390615135907629966528015353149848619074420984398092621244651861847966794453491547752658290754579208967864181599994438396200062667018888408111894057246352274808046782932772874760388495255214975842279073722514434973499581223191519417938278765608032346669581463397826695146480100054412604036892068158652402318047872967711297227659221595764366468655632361114053212418726734301395358474846220627728734024918800543582033557844195613649327062478977219997916959903033397420099040333761571616466673120436799302256042763552213614560998991304692067041334470253677669889256961174805292883388705985931883467203110359027307277746635782719155607097769265812717736656818086923862667671183348343596338131103423858258282156433599197773274738110089240419284407618673854521525348772064300491859406327409440801179353812503749426232780946689374173629455482633899959688412293648370410089540542978189612222106764484912025376024551672996642487987805092548796594443279584401271582007620124251445558389779003497755657037046287821943823597948854882079631729030109353986052316854817879015004075385850977775957831268026730789773566904484355064031032691939864151174320993434139099255120210612107255287165088970962585856330232521366077237140046728816335340027799077107551158500016125739068796724395734130771806388224
8347777442424647739891689793131403830396014589790738089597386173559692586547517871825089455730204887832389932750757827069883302656726208149407509304838835624093752570458513229084303720001800527001745405575861777816981771036060475661877775735780650805312692476634869065675711809918112992421290306134091454913922811757508533968609444423732915007262632027039005212579954048504009334100293437412332473312830060753007624390105929744169493441466462827937685041932950950800374019142052335313341442847112508958140775978888389510311962169801049029761244482721680057980447082328994885090995511132491712027460563020372013524237606575780937068601781877349896592998560967413270160214996890627384341999834379393919893701878466562803227771329047504606880511466495776850152391122601568849979531483513256173640385631876567925097652522413963544216189631643735445266673391489956999165881778521521122458708898941402583567615922943105843949873673004668935843119274774832005825813161148465761204437120963996725825371673282473489812127488707162252555803751846962551239670621390632955846656221526258737519296030168335543095446343617953915239056323875849127174347557964206028836106012627736438738961855012632726817943278774037828622718688571554031549580559526330671958554565736360016185660199823292757484257603974960647496532618025464008466334218893830111895375275782216147315200533821304986117804888384955043514689818849910762240688880510824611741466211365345755666137502012755751449533810576964611234361015053275252752482255413216101549754160678340713779129915762139662290695386611384230050124066949362287846024858757171265939351706445217610420767858606786887982145666450927923929829833664322515285496983296384227614112853788502139810172582539093276516658362948375595846099795488685977063368668445485259118092601381799272237132669340425092815254798968430275007065185916317835247139831994127165451464540303909816281908200775674286420803649973132625813835730744331634318044485268997109191758978625101120418880481077856337900863393973919066489880576
8963357777375096246788780560919096220530003347972518894630572855630364890758809702366069761158917448154865772671036046620293072861777244606948483560274623389050604232008812510925110126084718581147015362966645595685088745007009944911492250183600058059603519310213001692579814591279815935120534429741937747382089242891715858959020663599165609048735151759753678776101107605876879453709874474422347709989349472034965220098539228556720405252996237031698008095262603239614927859195798189622806852377450338501930416448347004845224833069221176102329268935387513229800351006515413136004275926099213956537248243025561194960067555894073417592469690402635822253977660482525529263634022993496576167727941974228335561173341096913467348340274306371779240283332088090323379603121943616162238604497772949612063888388434538586754248797534970099036196105411032615174090053790692505965940379438062113283341457834373279198204348432373917107796722221612783688329867946285307228987249934759561237200751157190482717762485948255152182519187044967798923217382294200938627777394171191646525300115602553120719906154628907633087335163090472596096725733237188991360991912898432308114277067056272756722837162067687807135592132079375861950357372505708380350600176420742871735924031817287106899860305602466843107136410977943895971147966954157002896993146788676406692664345782899792780476124111061705854426499730578042581462416886132764085547605576210870355373746225795882079616816445980031827913077718580474050233687777795227064511317455020530584202259238350635306664888883406191130755282648492882338855827072506378588603762991267448170108574656000513090116687981025451881232767328714955532948733608346261286917411591157133163208703768711597827677722530316566033133117017042830120878017694048652375243637641106586690573381208598070973771392907576916094820982869115641902907785612686223781995413988427659919805318977241640466041009701430723131372142668008976635257461965791526693558081725874086674286451477293089223012371790534950267633391820386466881221647216410624
9624332129043321776202539382217013492263392041578119139795095104169436667588925073887440861058020374647231009222967596667822519469169598505959027812043288058672257416379261529554747674183075707847488287987828093072473718665697751035405207274003061227424583540967330265905737384822604056560588298445908086168495728593330020888385588586658485938059786743434724839760890889154513664054564184977292976486187122676260547205166971006045855394371361015551765029374033361492441697161311521261490501671462262932480192878327714767448549949841063887540239875269526602189960045576095584766791304689059198658561652407061356100042544628924342195652094037641482194725764421759681918099772717494953832091130351174094017938326849574027200771329506383969063587159273063832502364900551832843197959116653330854317571922730121966739889343615005497924585848245738429940517531897476285578999704893076908542149685749899054703141194610508710405350457139455842579224759922323519808453155417692612284271631201691819628810768860853856721855732812660894437080668013080620464701756283342286793639008274496246898684227580069325078718009316101522354913569233836732216671699004811833255153858422372620445087436853542717496330911218957950792148922606126766729739192924730242532729116248927892894338989882790167017378477340271102629726669411248264672990705548373147467947222060697531509330465091461774620683388294646376015769124094764594415377578050233230944006534474199186275856673711779796842481442183002356897482587540776353806742547672796782466929119419507461905737157146425886997629799688628298333540441833861579197361950087507205869997843229174163470317768925585146093379102960102003930027265323115816217795288859247802433274603277292065181445115473868004909832797500685007500113703200312073946136035925156843771550385944767417210258751579602301307948039099356982603759036627566663463351934175569430454343456923525253522759083815615920064718516091136185020714729920759619475685743722281109819982428307716176204912046860935143436117966296528445333958522830433266146738176
10334047935020779698998634429693529231015504459151173483652896403404360932509414091035235520844569366902881180392430049939004074163101676465136121392170089287076168696460595750517144675537093420474253188162687826454079694872169149429453875837486114743918551153718639924124031471644412796121165246086365713778909774956011130862653242304352264756210666438946621474382966707185749319474870983502591959154667671907719761455314085672586791798792544510201044549059488159805745710123642255071527592223390938948288871145047410524151941849297452448707988037069433985451970093824000003985841110124170176811622341872012050978773208347462626347159644321396689749828365470014546152400268571668468438465320037491432252368587790969789589581821551089742586695648380838073579519772632103603598482614992776247190427951563428220309756117371338757111573023139966381991227506203574367874340039227354124750328984458123418812826604830626592278528779208153138778473658224957754477228621716748747385438627797959886294118277907495622313960035215123159086342449707503641276820591407679407838133060342208692826147545721854743156471618904719841182541671191490135368528633298605642616172761343076139884367876286607778346427065919825973462864229038737388083612676055287745325054940979031873760844186271064660142504605957685362392133910635078717826811803710557103594854631751186406195125966606074492707489489473993849218161792068394884458187734304359793019230818194245515211154111993859289347995464415727492491401934554272876512521086636595772387371692364215763328276731178977966985652904794422381110671874392456437010895876275156946843994991064959516298293171065768315033611352335863724925882644237774325868944294718335614652695910815835959848651769244801655927124823523408161202625767881697723648146984966407436917347550712238529811112223433045056200993713199766883728096497244966237908733662955603856494687892159531434227589764168748317693729057514269917536543711888783809281368734115158668298852244219076400312567658956033975258798932610404977760768913444295057902676100748673024
11096099479052645471904964706048329837507905130249114508077895167074438317226999183279475836421237932512824869489840877613917323335320067585133131391914130989348025003069302425286927867183086868958423563295619635519398983813406349344910363965611868419808398023231156814928159154596876075116080096338183183044028514492696911416767985871389163897864556310410129980541535946704900381099706691990746998950466364148028576345873840842975608624343747739984456180812392301216224884468334900483975287340272002251408334182184175142679702094406579710828981518293113662186787832936032899255764303758911352136113877760805794167928930013336546185829653712847723879542812826712036092210446354233176024404184497799798851030675774980032602813796469509609392729063625303719773919769710060204284807686654633314482124984052299068968471378461459362382873389375501710297941374509997257081040876516210768603341788372133091333200353266564208256051807423455626903323437718418741615323626747147811367356103251838551788279160192133252775406548874990573222011515437563226271215030738840414979356888966545226023803380636507708579881353486986764480332610981158871228610846914271959359381472663631264210320312570988582694280301643722178508591433552407649737894139297125788510171965227038029886106576346488726603352995529406347833030868457562420862942222220903552470096169311367205951959455293369515279614462888634956224290016542627055990403749566390655308731365804901565806644361357386750143860420705470332074664217525433585420281150403640369793905315525119906045656168112873472726986731824861432520195964275655066516620446065765345990542225152953333516287037586902094545596474764216976617351495233810894358890631965259249121346833796737031612682114649740432553411419085702385706193425594694730006609277857930900042797696343691498122462014257693340519437500223650570109002252999821023110541628792151315894040423638090581172868264502281662437396111577173087284018031859193212519444993785381494548620585814284549666970568250861856400353637950349322199527448764175497866605050899087938369355776
11914346093923437341028577558127957511879361668972641786288421890775292142514808725101014686362865649994309478758583693398928354543264332992664123783585537859877472937593238384535209651465597436625866697017618078652814652263553409198785259320939960873133067023982216692090992039619147701597100854372256531807821049459398816343806881334351630257528038397690483153383753315176486524940294189323150873775599839490952409569741832740622327591812986501326787711233571911311466725843219186288522107799667768353559291313579984521636363574624741096306903167514337230275761396437743240570892606032183531496937211378600649139640571614888327427432975330921487272668656130644377556403876860248480545756817575900080005138782086579673770524753353536008374876437114845668624033481158139994898582020957766433143202495772286513707708256401001689466863459469113427330431154911431561053193746569074916248594144342116176258869139073885011185968926741357985214237979677725338017822297333777677775192876363161457950665327285889349286118090130577526074208201534933296691779145801738574824851588305903745969290909342010068000622254196705928756970749841591956026789731751915145274596133969653572096615252044223410265331365454200450101068565533336989421119575047805922112350288496544388327274587544674061298521569935608617559417012145927140371231235694086311357320766291800247652640601900749038442329103398823206766429315467470548850886248555855511327752499845366235409682347883195564972900950529699081139735661113291824400032489027223146902542397575237765736171481226367400487088987453425563101488131518780709916397364074348506559875895584750791316658377446116813506809209981300306404880344541479416179986537782890170784425346657533265572146955316189413176448954551510491949319656894855804120484178062497537477915276535073440087304938559769653481993928944142971087479957956137297028259122127215470812067155206896096505775629638394364387281986655381347504052727577380231179048503094784190492481924496178417614431570507996899263341789457843702655684294774112344935396616039999522881111656627175424
12792931706656626926905734903389779124199847466398368597707948311082590959236718667501078093586051288891835449342730910606822091052603331821686554890748916681685894208522001953077649403387074864852382512836552595908048667455393566314522062927579074982406531981044917094529028166590143918438278784485625103459243791112129099004440211867698273330091745680278216768555543056603647523200812973940441344635006338349122471748609650696018736923558803592822003457120720794086740514322206107117233518293139896185960230347190728550153596489344729620276333870878222003787404064799849529574261028109110147812282811759132215574781698070172818248241110569570641344948028181346876252757761620594596594429440764382210346463645250782584835688206102975870482119101362315685706869280295810870569754154196798356889156301011887209879115666087871229475231558529315923124668598981027082816423614466472242565412713981623103116103645566502962677082678606588099280900919069235736614273058047040780544819861017987470266446690533507799364649535976202711020327873671878877708164105818320719703596624956878158165499068983508530241352172356162678735123825649558657927932999435772083580369833751924187151135164956184173201797224307203779753142345904828791827701636633936018006916931697205789219492124579066008064162359006003959568366850998197961873309864139942141970241515351235314158198038301368139503312570291737029486914955157113239789431704540881662613513631004523259556805711476704944882713177193092857554103767641631834175578590427350567410155824209768975815241469028781489493145417838554279172818963451327489721647393209983037045277109338803861253792127783873929051869157545320396890935103649716551987553857374445407969740382511892071916113475397251717233569934303031977580799803953336647333315397115966891887045108744234155533297523973375000749604112421410467892249993619266173305552729337515099670767748442343712040591551102678025248520802753692827484579423101111350567733210297463221585760999895556895158753483240441197201364869347889068396428098638909057231849924670216744657494565334525027733733376
13736305825012919538183278471226205219775466759092363008727254638839540631216743949817457114173529411892270334085123489096150098890316381458694964204668862523817439442529450721229157684025349543411150690078823398202243112474323726532419877536101535875841957558841502707008379124541876991406424693474098000368517137929412487288504217189768790687103265094086053300536214646908135736614723240921673956753404319990547911614740595802346028122478178341014451299383108533637425174063023709159997699766013398817883580924452726149330798174629006547262338114549762576223622148763204628810608979773991201128870155902099273808427308887684641861086894854756459334574308964642797684338403992654438111846855965647708770563546401264230068906594716297242999458323282013729234704550354391223724595744758847522686365652469596818417872474812165798213857696477630436768125440865412561296705748953902692577556686823418293220425212163626404446294678325843684138567641204677562118193137781487445504578591320880363133040235492212197608024833879841519524711752154484803657437066672692702191532579441442274894383464200654275180908641772068492305777869418815098158530839363956887871866755887367840221377235690594074213629671705754122811833332223489797344792649047107680274043830857041159819897010199161567715212400391249518498160475291941300294930190438813666773594078413759406877436586198932887805773293267177930169621848083276976666053774357155358982786733203659756966949996254614901028183912948146725071515558152797943964151291940812337738415670811220698710469261955403345025806796447211409242027845038017714035062924270132401206055413966894691960889686203497870366200579832055685622076587258475707614106904115472863341853175124776694990346858064024183449505615290097724337935088875698102593718810466582630018406617033312331645422576125855400740881286949266332447317943612739222466604296927041774748031961692855296201395534119978714115064780050694359319009641633455037985701292770173742118411188455919070103536734660944761647737210103124098849641461717394128482246929009661125883880469852380073452469461475917824
14749246071571197048494151071994357109280030548359202441460930314420029600684777988017960868814461723242853640021649866447344318560268687364538911524735853762328980870031115591130711293628994480979856123904094539359554840479617511293397714439470288980527981044961062443524114584469118165136366775689518883670444263855586947349535332397034495450644473138479490483878975293026657626272276517962429635457697472756130577376602352623657767715385014612078150948558789031697814261061948568428701437982563600055153760001473476377354947611402020013365405133621383007361291077899802682224346236493304420060063900257484439688136165216473918488710197103842415721687644771235109094044494136321658979909559133219852156725699820802090300143412696305764224409611052811088021513787998623878971639508640003379147139635613654992352603185304208961564563505092329280373323675935632222079236636073049569046736978373173924077466201364159201964726157947084663745825487814488042880662003345777643169186816996232650396252977122797462854689022167438030005395609832592442859418347134346673042624989204879129435804708206249223426146774993703415181335895248592343415479944618906068640901688751465083318242156842496380889734089357857623123497930925647910646388015889633262541860642800386858188091727223394344989231675343518571631336569384675984279610080634439146957607100791589052237736904509575425806158373643186550072874392551188724822614018560336422605552211513098990921089596695223372247581670096400281997915645855363335055517598820484339564950477247023672699933713227928594343711116688825498273145435789910489612318864260585833192489740037888582162003828326931438507119758538729085549419089470610865753261835355940938907184163798669156071626697770334435517182771259831819668863614722994189952318766493498724202681074547018251742648958140154831551764824416372627263773552682671762367633476868679430142148978958384573511346712151440179335084202809791373841704810481092351908756192018204366659128453474666285929355402325846849934886597448799697997170324850460944043418169173232050928451427897271590810108536869449736415870976
15836882379513691664713526225374776320225707327770930236679512540542256085573265165889455448041464848292964862401885727088527888566939954300885763779544496736960382407448316991575528166838596113293244021738352471760368206244613541398513461059667965683759214850253917197087479781912873010305055670461862863834746638762635201437682033360438111336094698563229972698750853526385377840257104509029347960248003159237357953334526145028817477058485818451839446230052844306126404901485868832858822695970820720119227298864440373213042013743691248166435474486673587515726718108979060221251661905179856051782555201819025411922357317199902060086495010445679272865571168054930048771478322671091322763794069378739343047772986793264509581888695410116109340031521094975937979644765966791713296963450277580987691613276726501270795390195336751325267480311721670929916659964741510648728532618144700441510657304406660321908176076351103589743989448494614782332869331671618164788872233799989389274903793478289047164826994421262819748166037614841343744960211943240144244487631631098569761119785656827226139933038297165809360174367473456693531836894920896476251371825570523187027150980284678401234441305961756144729941823982085032984929245612331195959241687193075802012768322954299853016510946268157899460022879441925457681305983569004549009383853989209766871265099079312672808178905480225343170681162548508651447515483180805394759267652736945484462120464117308710404170183622953515804549322038275094626556309778875867565234607821607103327905291908889696896005829920448976632372457362536330933516030442333369913064310180769843840663676569568315319403854122742231105578606519814542959685295268592905388126497044675712978472490741097788412889125111015629882230212153906595984484693679901036260805225364159404267059722674395351387443070905109496472804712987875680261876343580452071317917328016437659792111623946513472055535503401890342386140419118571314808258010475542419450957755188920997861337371884187315645091604837608638993739416377827934338130811443606461297941760162806754339176329685820882539827578016174209855496524318900224
17004722972652491521043098086705747409671159077810924486509011498712715998398537824857806475146779693837971377723309801643602144544734852629509724816281241815505889221911067072264500247624650504286798482778434233782886248684699534116339354566760854307649026530119527914345678028594250475165321272023263553851784490482861024238304128832465667105133398672012730217026943986977867729126844024483796548367370404557283177754320985138931010379856717382610943150206864661648180373483977110818583416064306490797812617353297335073012472425784109299065081953626361551760034987869006899772603017099133685098439273781848463699863292149969410618630750282842715365672092789111122760296093361318148974968965215110129024677485977327745432922645174638499294548881678013940882374645881236057663566588762383116031714389254930223642160199132599662227121597792115524616490638529325332481197894250186148001258489472530691794112140734397232864658923463361730559458091342744257291936247223355058020681236633897385901983365634324564459779021883412353903324568779361256951099251533015873419096002933650703848352179779060670172829898288995661697883549622859718125320666490303407472826231094258625794872859484318117085535721496410926640338092694728495241377598863530651823452730378370992820880365561937856086213581653705143002760297499496974317633212498523771398966960672961909967369220088660755907113134797276167885035515178799306357856090353966436674920886049045604680461470169725036327189616543340897918091170900679210709077446790297077738661498233503664959924438133416659068176979815811989242821125260390559426520393842801581849669381450354345783663836918383163109133509539963959499258847407677516144906372879480709542005524942169451092821634306466124922254773186042637098011670691938210814167142391243582964466089741339422695874053649813601662430898919398122809627902818525297801478635665576074807473395907931453925483720719503941281678925944499235836297166430620024850644458603497496835532488766293605058424396425421123831295285522224439374376810230058074892237393002982661363667106894478661355604216264589197591999614447836284191768576
18258682261270588363949350522230339374943585588402859985270449399064765328114427082995813665263113896187744947576419633733879564613775250258780968149971885483966364975876729923959624306332943899835426822018948562046078700647226878654028446775496529476093322898274932840768444092939514661116878764168259178745537304465977836904144885959302675814842735253406126694450426693723447943103395430212732364288884520272955151766440838464552676495430284581057179980463424839119260040505686817744595890261039352724282534967143532975635585317211134148993502591596252867070290378178285341630419948807926991857439805383757347504688999863753036501853550191188053101849579897277424291328242065856040324686907053464902299832544805030316026954030680721140773151629470110869580469121719872491930247167363179149594696650165634779326261015516840779181533446683100496220427558693402459987767872677153986894405244781719902902991802452696384356651617617426421742709071449916827990168926585320195398752100745856599367227504233858574851048701594031096224289242145164809593605989146095260145973258621087457729013488910344520998036770230560680919572419511643905836007673022194059053287667810194772788720233990787434435668689616712277824326815626718849665252103276467729168823060694252279980182989004261938568660472418422296605964678871892520286296640951144511609285816068722388690886806859456041764922431931585182736608256372863653338619195186176727350110047241998381028781636141762150084422839661107430784369016441191018545645151073876529752980192431815003124754153103549958859850490662241149370655133942824234231012401657968139765349295435455240688077917655583276687690525592962302766996321463657327789221217124837749236447216969482520933485094926885911968233698353487712499389118062049076574900352512041606400561146385013479928574803640224713909027985679674169367785869133658094251502860156587108574536932953656455404920850367666754286978827726007532253471884889245514934056308556411895031618882499179605214968237983930757470744868159234062071220775079724416960719581804027440252998246685680493373044783794030471633130073824516484641451956580122624
19605110795053126107460151473354957148590945486791800127400905471051505017541543416810924349303741354812375906457489196914827774304720892738919948757836717868273167483847595987707788305036669934298964495693149191573533716080503369227803169388608562065330208923014692841924210721994899993902379281424892453490975257157342388541031043010213644897509924824141396689674291835696904345996888029829883956855379327723247842527895007881018150204285241430903412280519082152042820829422890046057837957351792230729950498186964477167063100937809901774248971236849287625053283126874801899914710249719010153895840564602960634283086615266441936899038810363161808864588825692536394192592694018505792859646871808505869715403991553514975906078054067269479329124600855808998585559029531173906532608874255373250524578441875538590071616993901144920955960950158519076787026992931321014153352893296967085016870782927090410400161313022605889457316174433085980267809697079980019534458237299843798231492487978687825447004106219031028718605561162406656772587843964526935433651193523052527106891832967030171725473841303197098444838302086431126073263687026525716690839123708846241449840813631224621129426030670974899047235309448738502074287426583144800774749582791910835794870077123109149422080366467208157692489444891258447959957523571480137064165157459955002782943727482958486982589772174808041932487991280736117322979060771258243239112664280617418811257848726349511050890990488560013605809933844977034590362138402650432985618851770819743807755221257608037085739223904980993701300826210969779653103695594732404974610493522847334525533084477980584406775798357627791294537503297706024536274877209677768851364277215123320569197442028535914363238468503607625756674681328339693180681670513695920659049177124522536420428599942975380203095299381096724082557879410739222342651325964999341913972595805750767575709326345024789895854372449409571372260465931905099919581732013696517189112860468068515066546996567510787807119907954931894216339221375935504251281812940797040884739580118773634243305358865084527635593018584687918922937344297590986136980609866709668437426176
21050827424802433803526283050316439088169880836872395377038880619738422195480208824141754173947412372340471683573317828755622347027811343180396261569226131738053022584364008253856442193655942362140130298916802157264291522429777818512806846612305522254044865691298871870887445690395160838150329607576973342015234940158993871264563370962409249701940599738776462515478436081569502383624225651473306009542232303561453905639966756642658803577455207750298599869908558936740303763489726825405586937823347599493005899352979930736568686724060114496342926605978090107625340321838973211653086427964785450118640553849972787255318354626175611316066836086131463057402974709122091086737486564504299779683408131559271262924242787551763840708302460560549434384545246188315136871572428472535261528968121551115819069813010518786685886321660812223115589334295981362648098422927311732466550951364362811533977905232442116275977778139127800979041039280483906401585992627545220058484818570159114828170718284534338822059804347112120288911917979066083872740424778698542949658863513219406503563479700722308451543509625181389515668241867347562960280108940826859422528844781698208229896479738035188045218846245732531961194303324692913716273164919651986039996230170225353271748286453187890651553118565088523428413247658287327567933870322164076751046701208299291646083074036910774728966198218722833794458140615873694677053533826337672870600500286169795120571914225746600857291848952353080142567175364024974359166535309002322348368151669185621691351796618667627617501278664078694862167260308473700013601649369028737309344945004762282646984068699732960537517403687575468937688020027284881801368540820495437978714263905408154612906779619854412737891471718030202660281252504110205047425498460742874829806745551383903385177435764536680726365037203284867636830424024059177786539987737676953545508586106481578866142190163518171227991443912204380888309135692813641782553942249465691349085395740841381124525653476120772439693890154240681891627126162936778041131088165078218693382850521726138675515555816770430617620055096788704535078859503811344260680273890913236266437212083585024
22603153835816588111837568794387057083716424671646012267390895395556183851057003978734862361293907840757025214540365123179781589152803130354408642940121968960881342678448204102446871275166692780363212050756592372588095229361486546764682190841185152310330725465210271611788978434305839279128903699040903576654814200434848929336433460500765943209433155903167762389637444190891850272165023781600535881996037918657797212733781792576852579962914480048104555168961778785947034377323523886772724458409015841265641629614029090664476925184376892024952095343401043776197989225792126130567523076392553336979050124691240002937889483796988639038828645085031818247044486767198623522167651032946340501280060789716883889963060024524675400739378135945972412118229930052770542551291833096209545618431259672148808803275005253373202370494076731225769627854641912784199774670765495119035234437506906213854261673939981541904588466882574410792344511287882437262284220216750957228078875767831719925825473634226051957432505756751297171523689786180810714053287580414569852909048286451253651333713193640545594250943640303821509408094601518938294926003725042140104537708488513515922300857485096944987856278447068401084151068470265033413585766583079936935808089136101601313051372765120456322911193960966413867491173966373163818878797831099923397944878864582285349973202371919618582733271309717006508910324996536704276158552356337512107993897152584477786469187103924702966308513594432085364298258917896039949964706742448557218572782596780014029446043127005210927768597275100141100842902676703353308633459802909365506952893494593142055776222024592577360473957467241610154808476967045398753025862716817228158943526900610315398536539490988503747632422756562163491540044416767859064636661221347246814760384535846838145040194441456450078032839936482952567968869070286721440459729082390885622717656253634588714131367109530859431487852842684027795803791634665223419682081329331954454587973554532855863327346298241858643685847615870031109319480774069857250567241629475899642503798649517575769925017043072891960628804498606400150092646587462127738354768768448755334467242084103424128843776
24269951627822299848661187109010639635061794525691790294314675743017698342713291780102028324204667605022349794674562968989043363458549447899652502711891285734528117535126020162485586426090690610034826689878164074167228972260300920074571154374130239763412327204258125583977717607148216041422714188928526857005464017956016282550149173532724377258777170825543720566247908024226419497969369064259137037311874515552786811022886888379459349388485646162863392809829648539907274259698064776290914633421508807445464511912100011799136825653384380346323116366645343107758676736434385356273634383207831560065171930673399477576294813042597026988829476197050699622618029830555713390981598053911287743969526807181487351605151363354609697797830828316348383241507908746254258612493706425027604998545588778990703963855761314366524466015433730582315636016444414299755584435376742205375989745196279490660808999949609047330965254399859041659897280786639477283570625021951848167823396082821031478212988765677789857092349088144638139317887530223953689906319439790886910037973213198243582669721237232464626726172138061025221682280657799497975337297184757541992709869789236785635064364992812046528088458269607112432859945750811266740924527391354499023259548542952317643196575998524362351874998393665862028818867438554835583533726018092475675569612083515632069768704665946097638408317641582407492697244614214114532431083720293338210459452109484463492530907480765388121702313933614303583185317010525960178251972953261812054038706262222028790722984056773238839086985888087455288276426257537940888528526076206582626118284542962174488860270372515006871896412595374426736320976429257314347881315352728926038008184487254386769239910843702027577013673292170165396792415861101337176637902517079460532259005414461577374488234932884109923351923885299249635236377450746848482459136903472235809512232062782609915401228695801272790253370145147133061133062775921378624016955506673237477554215892907872122618199523353861293221408102050338550257442685082700427643695061882184646182976688861738527257492143060173578760508729273041555234352115808960568702044176532400203360586583634772028750327053287424
26059662129249685387376387004434371037157945606729517772442936762276378682786747025010958798931183143530409429299890728725150857095077832581965847228031095634297400701452596959128049942860259325038467513513662230767591717700420912709748247315464182057123680676384940331361299678856240930663284688250797033074034112606461674999096545061119996527103519411778900312549341598117111860738794635186779011109208199188765678750857873274245085946245862308731540458454971952518973454476449762164758633118302227738557845547767994339626696802634936326170734660886023469630630110805424188764142025734692030389143267714857503333417891718097121455962989396785801633265995005547302630053806244841556436398684714359946527945444552684465375721531656839826762041187734447628600810346701525329659841489857842707411353194515226596549384680037826026580173160017119404831243985827433302778197834812348378315928020921509126568052963939928672734790093924486427168867688143890617491889751419842709404977830817750378677443038246349160531531154672529523163491541824407725089361897267202622938052081270837523280316439220059625044839136381985552782322976494391628137008890290297601775691009624783753728242568415755824667032115687017139030150837487530941611840926077926163891233272703210170140139190595211852741356311289088077083483607340182871832561747517526515111106344206130273563946639441244072467520006111840439664597458988124474785147627986078495530131546974772272757864576548099637241899138016900371681147638570434004824448707028598503486731411179842617025468902722137284112752375745970282398852800265097619029774956884911211598675094390917422946002588399213910926811652280611755673235454082358360421612001338273030001605128962913994003040962033674878311533572356065480428882191636223091104843795314149850068000128443375501769716394946510383089170042595117391251807305664199990411463780605403482086043400991670799787328223081797427401431718331724324364346576012662166181134222831740687276898817211801905622426553571343908654770942178256156348023721157845169815097304027647883610068533331355099720214916302137557833545129988286972556582210226638477389454367168021928667974556610793383842021376
27981349147484280939267668356671257645730744291862539087623295855043293238970159153661840520753217839012395620083263714062032675972432213378526638308331452555088927987636590908431005795209870624779812978124904332584302851050943036380709865653309614248684053083055119557527046320185714370673852830993682175746701715108283553099625122646025176553885798370022883506310900137561342654961707339146866676073317474992700580210544174414248770806958798147830255378191237806166563951617124132671154123244192641795262496207970685371052444903956204536986423570199780296388001381445538277537330164507423160788302122073471407529310207207624097001275235911397446383005208554431250844273971135478763399017663716397767977458608606490281948992082717288937663318118881112224366308669545368191051159500870837529360964697387006201552248412421471706774867611072625660969294329531378383763406410584261645456386601436971370393828049629465239492152583707609374571543147482284286082228006896448500589602850741814703177808395542736708969995071530907972895417658327111838457142006567786759731088280750745320254649436745331959184401656085377928186139747738197192566161647764520036433456103534916863333729975725178449516603256564356795981495751238989050502735575964761605353895751841834298741623390123586420428923325917457223184272288819547745295053073372096392303762888685862151918171045272311751200463112119018701682426823839673967894846422183045370397699294208633662135655020767744128225855109678294347915193411851910560811828354479328977297513345238338203637860434064146252621632957593811491672739301264153600995087672515125922420011351834675842747420272776493184884728274024237826372422184447859712140751079337247724243930214100394500275950264120752813261204098218837726419144266728595726313833152015697913021340981947024291987130509872570441173104196182239041176837219680403629205187630297181759111019566323960013371184618338528070896520873452959913108141133095990521411122174812175690651710929056442772469700142937728522610263137756679298456356169151292064546852321964129184977214691744214021165285453902264516447096236259940352548342525614702252100735490567757580159948890800864546053664160113229824
30044744871600616827057699445519278752900875188822071077215933516285825281378686571223160919950669976330508031717814612209981414646240338509416395049776088263070646019649562571160525140703216947455095985510706877894571977055839892803521769561379616840118404757112427566237163645168696967110354847858720031862552061564296739814392332906166779422891371429524597857805781424786966974227586288489743228651781063329736707681128005868129606756021891816099080052164869502811044825222018615848743020477340204608623787237139527048843968990833439875660877907502904139842913215027852026784751118928420606204676798418239851132368875348932244620502202133534196468230215234735414564132273722732318525325666047063558097645197289634973578185033858420700261633494859654278939777514984656892210852479779982677183695788571932072754022841654535287196839506071643673678375701383879291016291983754038004885581861876094660282448528351504530396900748916521172531947957672328937024469314108877192145145240391115872460158582952571583841199669376607599192868317693961854076965003959115335036708480078329369529691430691505361340152986553734396339926704255311728017669648349521266404605611233514480524317944858628831109449498987752439503967118183602363002835414326093685857860190088502519436591603632363268492982994326756992263855615509756002888197705179360610976061926161066590013182076894678596430619451651391645834600846576138209852729837554697197885581245567090944929337957433915460606519549425691826339350371354653663450955498113553266379486569980554977502999697929468130292716953745293802180847908415857793348633652526305975528945483019670585840352214985609336661697366695156943898919899627109320210125008657545082569526649016868109845867339930298881964216676857769971525304953476304888130820005077004753760528016881748934650570098196623793073693599350771184477228302810725289878997836417533604087394767644377799660240161135554980319631637915454355299616969499915629546689377869672383488827841685799461463232816211017342284369182654820098107568257458160873343262945644399333649067901553030104532388208753685419620383112225283292276460351630297117387551557383758819710769733755297118456593357163407437752958976
32260299160047092111410026755875658995304231016442155009907481295639475742972864153709462717233350370407156520823336115008198115168354415813478201196251147803174467297996861155960032061376528807828146921577343974599862994343223676350817938472543429742329852299872174948039372908949925469168340423627064541317434767879008274685559044986282738585741048512599229156706872384796076730334889492520367099624212459788331005945289195398328187426613669102548898779933522128670304397979651473543384638914608621964996911437794116315923060355616937012286444249843471576412080708977710046041955521824243267145395382864081172624358221657991144791232222314877699682171869358057392191487552564313869957132170855388894715695524242612512824032204864642400458283625990099809478201495093812823456652134233881718487624699082344699003005189335803897147098298284625752853479914961205874131660168352639134731165579672153942528336638018260187612631654088591467529072498344161267168634813963294730885926723162475230290722044188749517924218659344635586489611355232526074983022239735227721268686470355573040111580898947866547991154952221254244737571823453406976530284512448253554116071151006508728248593626468435543254448248678995458053439308714484768141374614950295565047901805242615416648441320827298761342257291529393704878146217870088100336122672031900909583191152933136958146214307289000452025173219466045077936806315314606796323364907155204269025352949915400145582310889527526746133444447292000494075505310713423175482111091087275243363467785834424746076349861126236133570371555830195398569558811049028097554776965971377986146549287734102122719368360121088302898561001451254668908291924655509281329819690063968248320434150931979771033333956438787154385418717340480517798009002901882751361702622867072344759500212049711893401759939877501942216746331784022267427219604324412499517603876167016157634093113218530401952292850895744715820685377903447517248154791332191775915570545755207259329721490353693548649749313015074530000050892873175694533879288967627259829028133367830195896734744513402977167517182343274949185395550499572381165651650223196600485651724119277863052329046366407097633526616146920568268028632287412224
34639232462894632609601413340742732806819972446511973510828797037625813930663438338908214864062133860352055865322342901893976419134230937514018527536701689404274145506779501243875273296680913992905939954114442276362266561696194672284912917147428556170745105618115344095554901491072078897928869609518256976359905770663422956171965195423269282708768773821590783295716418987786169296473740374537253326700091601136649188239449664874493314518066027205503297625157194649182815338921892888086761565321753241994822247841583516989527387069902218592865557059301240884948862916092939560180213302530434773084416111597656862377737263752447715983985785595950283593659443286010253388371201963702252036269898943344912041374873628898978044899730686102804175815896479943575371176561581557632172935647545780999009156665820127923304217773478891425029033723107430127026268728637810084529643205315109819740023479163195896259167353391754439153769317701221259935503077400296698759801260734848753391044095658819202127179938004236507655071237059543659252665053618484491879831068725868690490403004763714924654634037959841908148606254264682384312262771045867185993952883635138476811072945395508117741565245918992658640462158650190173618015412812389970164336668924028029353644731734098640002617350582072960996576032484070946289978417714529791895603370955287068843114748291089427481727809003387840494333986585423548050088569740625035327046329226419682915869178685942398007416036656349066602109588237984471117534266047117741726034042314681062999133795327096588842756743147831480314558386714831841536485068651054782895716159355293330638442563517515640250966423124306215219365376673536835282105459904077107384009739600399943629667901693595259280434367187719863497569092560907980216898650344288878481253058022874369002022599014644427095699282654199271999351809635085243483918565195852964960431106105042057735502663973103344391708086702956965003664374600177033058305186279366987389383987799871700130736170464373316064214564499553065338197365806472270921274377531923170920942596069689257464437280217995305150880252920608638071833932554894959772830049059265124916062968084578206236629997693646529339568952374142342955229584516511293637656576
37193592646668495138043301473467035438739516854347508875356996282906138079395169812130836796721987660546577746981110815433091294894177627683532279327052298924826794392490826031408904778076657736729947026765317554563932182729880601278284643339040814812462305145467817011548750219164053711334054276782301007097410102660269455043557966598297611658885043997438338237531279110693755142368510757858073542961024256771546172628346031918527182606433897004070733630051154469336596251469171463186907233401674472937433838953201948580670125490390823693550176623630190553268366214251591876869660000168092848764687061641855633535588586574322295025278852215868584519173165468745203155931874785578037894332155447722838516425420278063487797666590724004796407255377374569794036128598258630016730489005630428013380634071059462612282002898988443704208633922806882972545737480601723235528453277344252512607964016319515955318633130752114998057065283663744802670725196685407755467527543578936080830225872537131011778262866608875827456946152930250805293591051533369338426763000545583603711656776830071952214689321971485889207124942511967842112118013350083819950894222244453338583703167786025287750635027768067733531219198432032574967484548613288576363560434640569973665308035300161756712329718788042482841544406874129588814807459157433130052325581110078559743219599671375244811346144310821282031807236421424212295853744234849932332127162076080379323587010467625713595416860726239107954046631522542392101416561207933473943672700881058826562948831814559367928199674575852075317574015905680909384664440162148782110370270732427324894756402670533099511600504928248334264177939671890494046995471077762618319150486232298466602416793278733662817526524936428076632910857012374165774248672443814968363375008327058958695080805155204909861171170312611487576056138895277203733906834860858079832421383695565394669631939971339071947652811491983157796538752267013358198932909064267282604862161296627986264357694137191131407718247613115755561027216433036767184431310535591803772516662903163374423070500394869396576142757976555646233406809766585894234885162518904819326961298249988789435167269336691817624338282295980729760381764417520994547096966999834624
39936316009546817492857746315102382235864809088065836509682009839968856722165626450867102028758584251540775227001308420509254796938196172928908844367506627990936761095066071446231678706254345690060125115942368890976696066496683296118762084530051134907179493458139199171278584125245610787241796912467228734277810069306464976989955930504987152837454892948129692626695780889369410551976144421306150219145112546374124338698179142415361596445413406704579044952949267813211228929004070846651058625711507673226078848116933310909362951686361137505574983683378842306133944700390479056773612138840328322033951232356526502697178457861894732624309040886893175685915157662264289427900847652006171303001327852289457275084084729334476575668268067854390679075035735978901863657042992784617905345781317562044988018433735932997771482595133139297878295064822937722695802085846458924459503025914395568804258279809282828660931639000606449871549733768186747090184544091748477539448997412686315410058162710010560313757453944083025563130643717110444453409311183517990308025794621527933793847517615482396022241352166986534667520249568695492618809608157775351386960752623820701653755016053144834179491711873975697157357263068228597073003599919849146622972668225198387923019815345052072147341155540879804915768594414026043106381359404507752220413284902995697521977584583692255952181344887668466306851128051539266388313226971957250708574792807514173265520202842215526665244498076545944434710938312070565212298211415214131582935599103034511485000329491234205475512219615281833705677303093570831604668313607644489062567543811610331779936347839136681321959435320978355557780118803857660606282058834776079633020457217555043242082090423338423523891910053621767048633482037869827328920141779400421648992576237111474864796723554738323008089519187678108873267857303812289722864735509564540844401750865880247583850476633484122835539962330130157229735340745867058264887576632292485247668168339223539020938376691301711674347078870190557699235506686451672255674619777196760302152122696035777023022666774579786121446879834137408824156957652794952328436678833585295186521876760350970747668433522678742381832334025513256641763398662007290243293951251270236872114176
42881292795931201228176183500907310648682678327631587925991754905554108320052780975456688513953342709907066802614398953824166254545168373990506004880898693071077893326868480955191120620635501349171697411660170651878174775933774012324891721265339288408504980001138451364067955330778666574687082945830130521368667106542690119385313310500042146584255592271849513549547678865255853095883712115420690198722872866229036853836576657855826126186850107749028532879957741001221916247510397534308331980302407546839765866744894938542178474421737283707950893148961436620796628170912406494653897853026955377259594186157544585310409316998137990304017896301583256154146992497527234100378172649011223634141102442539284430518854890646147184443320174098929214158627504015168512600112653518974468829038582624193418604971185243831368939656882510512549919872913179387405796728799781389490224993178842365905401784329521716578268215599820706591242376842967230993241444869682433622430998436869085048235159574335522090555940891515701875594524535104308636854396808774205650153938555968793298757073542320198544811774044006474317342426328826311545099165372054985580476168338714026042662727386053015188064974100445123197412402666527610270127946536505076499794113082271359810322868116739401322465689100731988295021536928032534708548546886595707691286610565574263321400491758008003560770054038458214119600873930517337899409336612195375225850390469562349307971698908650483802660264770674933997129171815954129907764028756909642996437277455425040296853202428518807798467278024001294397198626579091587400393401968076214029589324615478390022634020732693078787947455335557324961131362155390822735762243711727782376728636362091516951152097328888331043828207079819773956902811710813585470719760984552014367758376571295131512656987338888490789407207087860490946453213941967130120645235611317399531990436163523836406255203723706621528472731177245245181262811809728815602854661688097510411324310819296933532077546780117384827535526475150268651554376355074814655658260590073723013723611349113252789957648215881496383572258272215518817483986972402810811128646599276067313154420168562462210772147557863818211094754798731866722707146255782867327131850984705986455975930074497024
46043437542181227785252935465622921390851162224716410819670763921250615998267048820859363957972111652232716779129032701342852049434577380275680076363769065457355338826869190948936176123805175257814079267972070503898940409701921811197527717393944995514610194339505922844189614416820808788192340671494937540172463595427950422655564072827793606550253969328176000532204039079746069929850223938702710421315619981904874033201707218521938673758722599509038431122569797865571606580377049707453330958927439150935095637491604433998646616059133536257380675312194956662874567865285271093799122529418846987945324782944597474392522506220174890312730490503504859550813016888409207832615058189936223061394576010022986456080116516673714616396635028352981810857571321497814362386611943194943664769923031873276147821697295911153378833684126960991444525855395645429072302807754710599952488614346237760175741523358835265006360752579376739568249412137462996178912400686768258578507987575744960228903148222278087077505829146892255856541085858735652385994993651872994778947395865869858203686397078233031177548339998687368001312411678899587537627036087467958845474179780541848137432178720315316688732588321124705793894305319379819997808314027481443426148466605420311945696370440579209708652321192436884847043075180389010549300225126562796327012914135457381106176862254740480349939732667832688976562796526147735659736109616608642839369010213900093427666669726553179856750888747187445341157087709271979747495499999032612674183387796582161463616659035839014303831679509806265624409033793328681318353829746767343823145631383551865135486454705975682849946409908159854160325917904333913437158021593363119240663661160464869866056971887346084467315923012535397679752522437097539787310534752396915730111086050941300552720192671603034232825294417265051806380160268710016443786955342205699616416157276777646370330067455784339840859978308516976856256342175946959410768824047880739918914355754654823808339707589128567718827921622228140136010016502680503144828432646653075643226367481863964833262214078070943694746280233007779696191579262540031743068192498158081596373206305454645632125558167177841709585299054423107461764473438519066511784558364814402000958890858286890432331776
49438764609771748460696967228212244910421143839686896836246621132277028783102841840006582703712834506600010986897412704095521208922021284966350348035292683858956115728100545298915020610759818701964959726072915763913047387180648821860617035565131026039529368719095564853523424385773871509388873535440359041150854335528405547403756291306983944992808044689675753404473735661653826583308931498751112481527242279061386438900237668729713015577831739906856429519646462327490163652224455960619605978714417597574060895414678129648194431058761735080570059772067982210795891582883193264590344914337686424813319044711336183100020407789901932323391167293647986286953789436703307276587179270728258593612676028708723759278760198745760745065183202806022405429031634955153605482397701066323198187301696583221667817762881287509570932642987122942530493586787680564669357044678864304185119438107361900148775263843854383963453166076592685127185096275407256249650431449629402631390813778149731754989923891531230653831938358816454734877107860899425726768216538630530430289453637069160894247595522770205593629622438362732123488423309940545435499322360271669672296379942462923727417430255445353996497369632165539330599439456843790473238375106232711190545463827707094035221009747047204249046851939001035740541992550760025216760865651006167778707346895361391463209481744001796017580446844831057588519230392526733380754893698401304856508620036147716470793222016194792572387757997026122430514313627481677246166877600753275768263188523201471015806261109927864588958317745842805538181454867326377310283965829679425860299523659406623269179233003287713402946976477039234289682339525073753719072163481889101947799694504955506057902648682235707255193867559723332769222841310210037637139385639454052668023769258958668972409987840838474981088272300931193818037128124337023183421798896546492089326785057438102856105186112016916411360862837587453464602470659569417124972882375506529015004712447787967006365304038377550872921811704780282133767003201858264335965817437078420936367853064870900519938825614466373484198170154604918377178912170800308556819940369355375173630598323147172350312129823443632689633397290281742673742995968275014335140869193670273425978849219193891248100069735399424
53084469288402965415857953902888840109250315594591772197851276288408082158869345776872184284291470495326835835491268017776297213098616208286592801322449982740570898437845767564651639451594841758957168240360072929342348878909784083488070009533176658698675760470010215436132534526706916446032842195249059760060209393388578176281027744679436285035293376786965957429093838689438026612141820062960073237944227430409290082873605748455349816343081466372681612738552636294666573661997989000563367893746123926316870120929629731301360766711677076606816082939449299471019533119911247114865751561110071173719092050562287666719013887097553109594042589835370732409680749273477741701995190365166750190649349508586781414000112900259875654673888811075100415790235930270448790550846107436360615795146817327563001398966815753145995110673462134196824939359497706430237425390060733252224220979131253874493851823165781457427314551881655553433521397260371393668335053627112038905459972042994824319713601980913921755210218082851146588240382210406887660412630451416112206306502796230074832738884324233514086958873577398927563897852887699678587467916741882087729456997268017154775450070371874680332524775280043635270781581135769020865808796073362505082201497885288236887117727248916243704472117062440908853938749830047482062530807255930310025959255017626077608884577821899189515192765061903944746945679900747890669013446056647522960607623949336195016784356934505954115977283306997415274187752372480232652878520163417566097389917356958213807994947634794209832173114356392822435844256992216702376456519427913660058510779720382422426729352627871147386069533497741201545766859622239986052843328404669795291152396764393702113455439610494964706121896827191760262984304690887475635610694078746800875955908479469409563047706020039725815572087005410536948676710051947334063697608908539017716795313119629533327813992071776512146390147185444968042597376280912548998385218672413833388480083312283356458666501168482077474943858309275329657545594008977132937574085616539588927255406484838471048801662983695044651588178399267847057683205128610922849562650411762874243138435345707386259866513245949164125352989897783775852403441398200260025840304184956928642989258546038224598392605412214974894309376
56999014879801782132632237948595782048150793139112614015113318282643244193606229112145436168279258077294420186148958057479985793558624859361610069237237056616629115289971265095549089269345805099254038164279095123925076805684946693250648574275850494025341577431655866021025903128449261178178901542630889561052051583878985471766584267166704211985579814766356086555821569021558956229481698421082543877683820771398504200129816597803332494358285303483597818633155142815043888275664080193796847669814001297573517725618081203332153003331034626334790431727939572369534748631801913195230689596357175286838958761994650984875578066613456741832379189943514829933786522982590665198501180141921372413860180285763474337757780361730968959462735497176969721433766329158928497664659464142017811525644153985092302597041180462254914528429605100367431585396556459026219661891387723193020687091111458470606095533391751636483383074359151466083438727837379783154860131524713096506707553940434269087608842148596527532432701067718373258148604945059443338654550413541479703388208615485180874561544570027500817660915527981729658103557109322320050721544463908610071555174776123756631882068982025077559662078734384163735239748834324620107147595931056294020172306274881534240917870558985829538468407931766823365045942826794873396429111039175045904158977832306976721729285195955982894164755269172214545380672765549179091099077849390318628804710287666329626541746029523471711349755720620156639791817350887252412646141090688755495052011502069571585978480856168420729836293692793815222771535482747515812961557827219449865741311340625632234014881444989559031291133088693737627703327329535913590114555827461156113628585563771791961414298670094712946366949465568693462547487002165274267736186014019589606713694914322550376429886860973235749672260304676207812091525037497065229492002773893334058400114943722145319675785779870851072423111654528146237680216505481376746015517751956487945378705243403092768770749572344077179255532718598848584694301474362579094681276825035382782961423472891888249311490626345999503957735171267258364269797888960846886812677855400619645310083052605919492941607929225616099231884016699925041366825950780657517420055348270485922561131283630671253999743603423979023129956606541824
61202226203241506305543149096127253255087888452237463913995737939497904561720161584636941184603741509280843715698001760338056789469725307422678671319557205891930614982960035091282413393606192054021531977878647243432818008676248231753719889325951188606071367574503404921715975576388415988910202740700905116026589226616310855724152693277280292645879132004809318211949729339750608985379841437271090717784258610370516930719050310510824625770734971274871875861585189921205719237163764278569700702436235493994955696801490038645980843643743195487876312821305308197844243027292490680936668747970377147978186775364918426743699606299926544920195933669592070464153740413944821095611979231739233280241512861004514168001231155796390407820899672768346319485064153460892270968031193366712799988033376674889877798906934112654755078720104036068229060698910295633794363583921943792481136626943271605528839403542312308712652687953122926284705635820347743745423992088225341319800197202580279442235933967162114512740507601698673620517305936763546478871586666935982716375034098883572757221628066878624458116722852525025441767009791451915335173523668774333147536423880753914095649149301653429992653029243889263485790980990669591401955735092227363387900104933877943959761609768201344198788146499031376462670248494642443434530868773902349244415390043636859313115143120521974496493263279234584616076374349627899918979386014722358012433948564070409476588173193885290366157088209413121401575776942616526423903068201277493741547169805101161569627106859251361725653833211100126813217674844526038160478185943280088947117630751035251656104333645886844775214214317680767617747603617684940931755991543127971054596308721784392220397526673708271331788462492475554115772614380321233541699316721496683716044205423084218965519713326215036569035100181745827105558203348703767214161721651853288093307861941481873664741741311911790114935948007688709600585493199310479465297886763290138935104943338810000796781114883655949386050610663360006403629477747487964914467342876762420773915194961419350643619886689291655962482673781705458387530309213404169200830966266782269588685481622496567949548277223419575937913008143047823974580491149481757426673922003832906799857111855989058294614051992272795881633297795749068434046976
65715389996329129693021402221179628246228006627013991384147962783382481688279326877462799605337142125399726059552509843300595953740806844370987735508557841126745125413245236998017585056372742593779386281201746341816126030096082601840013912749924959788851087693621741894853888825330749116403204863009988897733321548685746966376252553734059479184840045282380734109095320977570134597072540277686242529783139078786944165013154711955659205419186373877268533353920053357381845252944108843177474543367964743015684776682822880013565961323091624910740882015142947685235430376024320725251940729929509056838016180393005777142990395776565019408629116255770803076116963848491627238556084976537803034688025179894445514983484375470444409109716679959287306547579524894114379696716059254470902743298136043775312386935436640369738200498188093157662060084654655646209595995519525001364173127407275998247944505762594479534774789041289037365157372708819922683496148918172646911744831059858246754736114376244204940606863870933799311674935900106519052932354929529922573113003781397443775975860092779848212269261600572703823489314876499439180282790660616924318219420884157866216201628035205680136167570219458998629249806011670894053270668165189017386834678201493502940724213477684728519258603011449164396258220529170631441209999621594552075583602719126080912495640896250316727946158117157564209548185917476274980294378157848075545851842610707142335818670382030297324527139764504138943261411208582212414945877649636095260197442688567045728290112718895468413787334464678427211055653496600304629925452086948723248960324385175081001524487943239110806543380472193462871600446680082027133395937882446802305581444110595881837461050295716172103681452898826287751680394133974751008994204396093549183216403195613140977652530094847240381862450389170495900710705801800091044205405637441242537705865874586928291717361805188318445116494456944841070738978935767229763383497636560610021392999492030500244977207623930286882229662849990023244484795656755138865308168728928288896439193059190023188975991096433343941136621714765396719782893070084597886904864034977264759014878799657944303887907161932190984881224116843023433696986201660398874042403265629280338500578223621716777301221562213825755524625274342784186674423711924224
70561362719529793020917360492007065464746780955574090782335318244913222777619643862899130940381183120673938588284244542923536079656673564306588503806588463940933526144326694533563686162504811456527169279178140029046974636169246628154362294861481282186807621764533362308237630800803855959533165509054015609271926145264338750479304087331067036104420183369746084504759024936321619410186174458076292553635722078902373135127381724409464122349187861682924267141242955642132506386381948799327911471909485566333352632724446908654699460055369854650782751846308384268281268881377360003893021698894402446113771166076699059992052016375610820394416828627979392620894639600021459479855293809006697835418655427617790054726985843193135837928069404062709398272445181844859780920180468273987667266515544371443447768517849508467034729805402191842189979970894684363652990290532230602578369742074072921230168737868306707427999753414408902291668231419416124669716129636374324641924861924784047051872436089021074882357025679696158256167790168463455562186339330648850526233130038356588548953767395990243449885136130132094448045191000002842560413908479740981282714877412379359974932314438291283204569135217089985481384186458617671068469600401388788833707580958524673371722580860494583697213551525205318662114160485985919010916573760730244134100123448125797804954653847988809844042619590509168689757387362922088974066849660153552551492753118581608941489559669255988272500090988241604604486940179917109212379431528801093860922156712557443626585634031952419519954399256201878007050130350951588892291799907864928695809864808969570033924650464839571305556000483338990104628541417486020283830045656089127090562425179865279891043899673478022020904840350555825669638165462452949518343277433690305974620490953977082791713770902256168888987443997977438115413636143952212241171176879806042455262685199678323630505804157170837710752228650685843118685384270388284125562485163780278490923198295403902796674273752545612285768551375453325940335502428751540726609283413099222484861566260462835461533377372092098617775384833210204805983300489069595969391774423388488060875556405483651692947011727595734112422722006571817103372545027473668515581836335780339978468948286886262058470815437639602744755189218989321493838152210590366827544576
75764686310393520380622276807953203893004616281366587203766311591913602546959662779579718783939726819270446929048309765980763922700365966711137635294717240489296192624961032240359501600291476662107579447381501295716311527522103247220314724041392739277121524530552150953699923921493712964222411322185547234824109291209420052093528844981515211213033982153845627192998092115587459476127107142197049897698438056557706048040273325111683329593776139522082812254101476818334448657005402464464961637958615794896447047896749713090058384411667968727346354995194532190717234993724566162884740219842454465880262363381801772574951357566026231404437524987302010467171550835949672341041914430538759362019278882477825868211613601292375658896653622716886599682997738494111426189474974413685649604253494737746621119817085507778897314652599714522230989248471925300533041097610367218001117829801024601550689704426493515825174803902737642628493626807137978717872394597981024087788548114065773487579332141548915318622618172531792731770262265535218052684905420773835867540920896614193350971131495442294288083718658856336453584316618771436176003660286006148290052132144704614159436417581512417871374628382100836982914974412832238651690577623538330255456010661033951135157633995134943841166742532191940834759698376451247117097837821677031908513967149815763516547206260028123413531477892851447877663787224538513784904827852027055636719682656327505077689709076223761570636856737880503080708605732963085014507494189817995055421758870555273224387233577665065216569041054178447803515491822468519192907536773313920483468825397176397688721996068679289161005761293125288845261800904070984914060670928772416028788311598492073704479998099473295788638529408434611668343305203668033530005832169788668188307103664698852930973756454506664498113431631486146712891360187679574940670267359149568792135194005440407428281604198307397963151082403452476041235092988627625385211707845730374962071842381620677405619735832933650378917933595716963022042357549804109382599737307314104643877070544006224032678730456390496665838020533113061083790075180673680039117772039965703431086742971838899770965612307738034680491794586381362883569633049321706943892213368450258711821369260922930303204448018778505305788843305462729497316182315388932594236806475546624
81351712473709768731270537754804570854718677526374656556827099078453655249183513967370837200474504180985168034891530712241198603273685958563940205636396467367223546345381006686686417664027889082824824040056325225120795726113809340986663661646261691371772907219095810292149095860125892162736618674761761154358195429518549852717080680607065389171628360571853652356633771456710897569422804478706087724573734280799286453278594705563963862028414371098119687108768471200012147543007331220048703093231711760127320944328071400604795965944677531623675833892291688229287439770398444225344542065419798050831218675656126643691061447384221206140046829773911237557887873115501325951672695261098608780071656830436422387287921606234884197276894688352237653144779813518542216015928228629304159968696025598082458611029319939486479391343784343812979590944978634284986095720415117737966325892609473712737910791688924021606296059061367834989378901220271629488201486374883891521410011778308743680524273438368558519439391204229833825800944153954157368127618443769186015890010798170239392960414903260056755631793537463236457629315464033154518721755226172603340175057424144164348769485825998812243859990866319121653961781462947816935869541501111632062407722838942040417791028453460601726151944414654153270014961136420600726587373969103682980353988216919259182210051431746815525342395354085990205203643753223881349652853524241532816720873432106260443487809929533856780996723395358501271917677532208639828144343273044576238831540458958198964771909463996132786717797163444449366035517801714431980771546398325163504510778429101709704037740287704529214761755805388946305238259860262028367099988049723868067637998205645234868990790130844990059384253043690220917498623587575205813001620964626762275043644961090830756811507351593758958360360638891231002231573401760049124339984656780921083680720065995448995346238877536643201647728007457365521832067958418637737905921808429643423978950857881890233625723003652337028837633165376010463028313200786835251168155798276295261243436157697915260201095646249084346242834655774270606332172157593686753994707901008975299538137700801480874229798800587486672006516736214450142209957421389371576728290841636964842502967392400919107187617060596418539031390369657740334466880704042255753148880472988443450802176
87350736137044679124132593046304724673082871814037331838701089017127546886725480798054239220044547784786640442730927829113883716225339932351633577026959423658039088468637936094718870618599124810662013637249127709958413823288846073379258199730575871274852503511214702973850143068802424320444121767431156187332914309839711160691369565950191818256414084930551823742473844263927896196869208708161243793287811069156754014241849059308993505884473986650707915806478344659992512124985810269587239828161060239961360062996225840087628323621279935897423371468230296859354425799357766709283715625768581284811157456941873819171838411010413706700293882446856959829503830466518956401767575660648176435376555655814862890160967358647654330412868735727243212169155213045779376845944789261518068575575453427235750011411128509303782004999884812388391820856035242418189906233477122557138716814508924423995256367417349319556959740340564827076426722023370285222113650459678977470416921098702714074674606637988607608913591369079298287332404036788873744836388492588767227697033177807008708313968658023236887135604265307187846958199902222365729406139605032103649308058637905296666803519866350111280555759393424833850802820054314977373538652517447301838306550152772084708480660942454685609575937296937362861321428877909368655341652220955508208443047473709393015034968975457637208372661812025416975781494735032816240735836709923931663181728337862916250409649955502994849782190316555710289615207051277523677630753681281013323990037881131573696189101811834069947356570499538869184962620533197324522157573157038291606431635458123524459131983421358145972119575403920916235224589896943735456829682758888708795280979565038241585138572034294698287625116180009489498917925608412425226827763409514979204419753020130077646494088327889692050966193681700875713941477694795719957098417921503960172791392997295353779962038043905907898174431276183157257646676471364384240294338422984623905732764031748465596021069951260419023206860834833731120415105579856134717776793737557365329770083647994111172485759046001950584264628830221477453112692482376660666118916947976588578497026332421748335796618759295820210775967020229430550853579072604960451009990960701769775813008933329086621428083452858316969966980288772336362448838554748735865460572662624594001785182721409024
93792138747533067732240852875388951530293806484762633492580181112036899434798139139379734471062970099691966759810073988445101805183694893983279646376571908732571643115612664297938876905234632599003885170372752729699690222764979261685482543145664844593049332451098079626760076921356872585455631796639633439015729106282992609313908258801447256084518559252621628551770371812241876666909007247737737596713533214363763197171364986075122866612549831706882768409286488811721019795424379892984534620215103387829988443562322438651622356039175403585102447780527157001824692620275066454992774549510057870645395703367969056575415944871583296426974574674529775114426171940106835177410393513922377987995040996712167085991348745278794534059012349372344093126127714994883743596148125024958023961295469212587165495260605939478243860146953438243809630152640522602389400697522695436773670013430282175298815939298318827626248823487844458615287015907714580681792556179874143723540370900985136244291584337956395225215158255025862943680371604766648397686334361604873404978835723727013850448924671544702609577065859173119799103530414768864631887638776305810550965091219763388782274731670915004708986916824801114705857963869463942875582122088586057699741828232184976891166533149076853163772618779723153612465130093652678806674972998902418406580609994539315701896507011491294610848329965779316357936185982240532810184520411079881285276102628969415956674098290423304527467735033213665763987000677376389803822433456233389903069366232315311124536508028360419050618227986559456557559157543135147784341401017051733667333794388108628770056989335586856213361926040311581350161264205596338534789776822870514394849841590670888149379341628858979892884268875335301591876979469073067207317656417173072726275734469463978289408189606405388013602741766126773711484824489265271654128057006549951019156385488416740234421733380020921630961820108651551031904380341900677702810497235168793596495502108011191358272910791897953420982433082108533189960079102467303749455379732636622753821691116829770871603637532078634327906168258844995524480096903578203478667580884624895329572964232750558395347225919638910948694651283664993658154846750347078666115330336367430599109531295001067861146187811496307276902498635038455166557341016457431509873853890851068190736281351459009279819776
100708542135637231647131836973735777525585263030852058293366534133488848754424722991323386319594828733700714226825838737927998536163633210525093313002455312149673004289634985040768569128738109554824292245922590275888724352026635155764343340197384867926017327948024442821334604203918032924842725956396237079500141735270190344503235242374130030587986055973762024223028397458834778181509917884215138240728565559075530094834853080718037027820667957587841337105956853035252920374279080520362139006900912383997151193289529152953921089132681613301404041506727981240673616782333489237105155651611707844372343239736086037982846310205097294473432362612653807073673766572307931958259999528196783535247245422764500289905115649975764231521754043653586001708874234755558621516876407138478474171637102515259186837870986376800603170710990692822979508988861633155402821863224891279677837115394735679740038371702450138108950002009692150821870794744266469532663102862200535172152389588860303587834155354887132241587414817200127244321371479899948144898402037303492337151065751391003929854291595663009877544838564196672784859938312393397248252121822723729002791702006635125919500809253438844905196201263598237341501153610124311925459352833189083175490034975120992592519002791246244232249382409796593174880497923155918164365328882992232737893037778569274881466195697747451635573656004809740727643437212174181306339372722758141540955826780440815929533951271914400735430663915711542059149755619615360322491301871414664244224884496810249909987321284962360080815164445936198368562330808269292260468294566764583610325197603128722965699868313141579100960967638677254887246538522262923546066662422341911042144325115678020825214558748490172108964879483108955342852091518733066772459846548780720032795959856181924350765549388519563409153544755361943420204965195423561205758957059788924354419636295579721531442179584705349550189999597823394585426091541902177303451873227637097384180600441251781621444992723481792928112717569541158193352273822667525628302258440733879644888405590549395273177759568728971334674983207103129627727095900944812329827673388724668666984755756360345108438643472293161663424965288366391695455617624158144880026161789733698465681280908479528687174886431362613144765761954543701160681503143601016527767025886671922871469554641292781685346612673511424
108134973725099976511101863000649693854380126994266857346073709461050575945236130135398309000658398345491415164014725816792667128889669485936189691673459283346079252629512493131887557778161348571708863555645978645637422106778297328732930132265792548116880942766517942431563524032233016619212683481553040068478915195087539313334092183047880469456719940227833332031166694291246219639249862303087383343012041072305339437794868125662204307951702757678723397526748992643372407024005182602976512277811334250457289533086475592793918218197392133477512237288405810849198672272539771709733658309165463720571467965388294301044634677831290983065368384572340304287830572500300146750529983759645153784069545591214805663731247664935922641748126482511977057615753737813037708406456520183436497441790511520809387108052385188905030932819402523358769727096324685667901101402166173284842974956658841968761948647061778796562155885882690515701958646241038292538042107644758823289523060803101472455594790180255876687211279441265091200349723055009349658608626498219567903662608303442507096832915112155070715245011601706076530746669748076768166894814097801581427539263204668860207274476097263503600958476222647076166248359575439063553587677548968013905738382248010209206981842811733833515084931491568509424582136822037647406200360037183962557817784301261881321582896762840301410532640684952963781866951493829380441575540830350173209036080150658569220226040308632488617528262498387093428444174488160047171089038695547395045941608945794359920245622173389508284519262079039483023885941339762464154944309702287093784351082907543863103981266039112442314106109545158288609945012610580856135926166134957661914037788520957129077575865501958994646353876448133586900568550109539373285374828600047915304047673755807557128221016796791080674628185441687966908195677782790611061647261857715436691312562737432373334582799257817084528578589714726158132027135349393016287379815855659824155355706663204892841460024002578067969422050240715970041602615168898481513700013001472991828498948895248304842718865835560499042537630915964284162584132926903406114366855630085486768283860226028856558004386834025752867212796315867215399376967378810112947935552127827765864806619965327186199227487963804143043467165293821558771981074268471889414778713022610327753599037161009377124857865964277672890597376
116109043925780923361387670628115715464243707948175732949520984035154502371688366482283947272882565840406534294550430861382848232798836808586266667147457783289751959966969540606220418851628353781686469951206438609231775255590051737368024009083633343420627508676960581635194013466237714057735740205417431595873635307114610301971055662009973054608434757677404737503142551176333103108552769141065887822112966634940051052876996239087996461480719022935782466851848552151057269829225736553573068122335536765959682897352380652738023003714097821443395452648373669393417571304295079588153016827076080933132234335513595991052471144388222744431361760482638138274730219919436520119381737728771765016867336025962143809180320513544038420473531877915114347690492509574188880005128757358455919351319477666246885269722253160285472476581926728021448013168389891685278786871170864453967367483549185921266205762090446605705174190280015964357321717187423199883642922051287682958986171396785079891556109013045233820845316660637679892989861070980591439488203918333011593370545320335903049286318895762550200636163364117044126007521257225569543546774105514384432090532304997227274959914033320115765123722407565701671014440847539805700881154635352764568804894621787702404526277435552375000999625854671811930512014029112266922602443495782615780378973175275497951907950137335840657255090420598004685347758622303883700127246644966669540186333982778326915755766213288571273844034946568954755916061397091235453411184475363640635077906986951953149677028880470094887882823427881886670084326222113551988464521718154641051668194417521370929275146258665849151443074992562071180760782380188090166870953555076470066354266251418770001559747322452126484782246246889598994278981631652206471255240984702815065965663801517736983840236450521092310506418357968283226857667611409866531407707391709001465886476067805069620923897154114362600078155047637704693195249127552134601272911657640300312090895841358575325313828995611955403883208451286004738399747894623123611350532949025324932669556568866699774728988121486014304284609408346281195587399442391721953053020169392659838504977428857276717225992119168397146614297712339744004727913416912069626362336776180866477522397528845229666346150317193106530249345346697456446350158778508472232950787877270166563387252725905990275148760741231027332025378955853824
124671136607764129274460608631344194005642045752797508969755561324181675498388992586268029230704751983278205034949132893087110623800599659929756832533312197192534990002508854282965178283791413959665328041529592392820549601695328348735911058789253034711682980391375481701074122613118645509943614998155047683148588048172041842687592101732115973846112342493534566432865488632089251763357520337778999694294964328651672548169266389399485417055852984518564900824723402158435356434893010874777019882952814387100611024664749972813235414161934169311057746079970374408061156605923857791208589079007363727913027328609796536231768046282777653724016219504478994923073039444216902165197644821181012248910524150537503648619585293117392517925329062314720196857759614688527031337224081280921880667882672756083193823830304081714687577706875290380101500780602981441313678563558257014459685198264392884815496164546306191384482541308987412318149608367635936502979338888039458249115528866360639418745178690010029157300939533050691411427058239861293720834849701754834907678835640132136832827853949381746523322640010949011109347801712452156221126760657370983598350092290298647129158007621020337877535101283569267912074893645977496885869729385389732311551141051326117720605230989580049581105340088512870263652931197532594586250014506018562175515302068467384873389906660564036047894439621497828721605848417424299166458498844664392171284915550541585330191890752374043557931297575048692021390786555408731450159192240577438558789070230272134375296758001016637662368378325723829449697630671543234447212722508938978196883485316656014380580470541646644674379339574682384742847916180570221398852482042847093428528630874980032689311245934988862444448797327952392350745679302032736310070206024474356746864652171612428877380874010973803407955536011391949366154757809460953301030265022431905711199618589977363131217813895447164802805300743405315928444827186352237661864288885065559593012247754494371307843864118172468991572212925456049873481988145512792539028988352058551415397286859526111828977892811238726589572647521245296794566915028690270452371992245392463547207879897540042538026968998245500115362031450126704035329614375989238088225293974958723325475354123475369515641426856961104766016243247368839260864577629525298974861931877577156786555240360263270050564492229628995292882784014349700459134976
133864613621373828728931130527969658443427956497700250383841697250370687557016305961101911059062237199992757373672265699841751152089433691146756813240781179374960199349115621773941242658923382460590111760870332285843661434006815353450605234566143785088857797475191743590589951173809660758256267305272757534110938993868848073971696205481835765137060961937920513568674163310470778119182720251603919240647717392261382342521995953695697736370952293472807638473917610129083916604492158741534912922406021425938852153138037624312433804943630626323979967645236239682874506597594332269848921602159846838640773677183330317082380708760586097696065568136323652178387185058057402782488868470799053926311528214194189748075448594755443688321095523170017326223689877229196206501336144131301316549842679263111875632145085371174973687277122011633259838753302069112634298176984742816966736759250210850394412755184954942399667369201267491695530028793551073028657216771957619684377154351690725211289747957817299285653493731131557680566823957422895026808958321528092434589944586431688203898162977614760184258110025851771159547372061118701733605595323456958973566511486353606873194482687200278333720828276244406958255967928037887769188083056654770123076658461732183260161383106693007431226483802780130764370059246985152410492615895718829928195208582907142718463687440903776934867926958644948223576651888792680368914828169771837117846785646924486020291883046462837860148601124919559459862390172799248372820096166764265691362107500316501580504241477298198377938518703384770753583250205741177450209820382753994753817904639383446461574704618165936216147958142834848014455292474324582884887695575613884251046745751923776263400682513947526580787550317521927947853313453883677193285812584774884454605157903872690403869212003257207687475593347769676491330653516608848454227057844389435354139495692906602007224166833389984030992763937092579896304602226438639573531656787913220316981668558250690445817536165454658401594188534295555022987519182509283276190577142014103151566464477198799090874698682815957987725033929971003731619632632958903326583208080081559405032499068357578387818667053367576093661038069604412222002980581291306309221300075608389908207252403586364482798822203356003728517374238057500668723543400916090775413580882393441028729802461187500704297690116275664249067374725765889544845226592436224
143736034398869180245266113663484224073703334822433318652402884132868806733604792360415639030443258300640876089196308150760718393398609942658971312333583734726940944376523020510445785561419002559483634718480762416087862406988933546045257558466999076447574173537634977512700363409437326171391307515795135492186021853629461747725256008047945133326703447270417347006244945374658771596390543432238931171001775014203260161220960695441838028403617456210475768136116871125723440063971297120833241960985411914470664023376763842509859419599434165891372665398856944907990854277200972343489641285536116284082778008910016277058533820487004495849215640754292438944363029462464101560372272891531866900312101896936331990300632663750946939827180604726808665971027800786413200822625329836670371125829465345020721257320616999081133270128942582241645638328916449711974012769515472572460762075205170270887087871161158977210033777999450379645063265763560048590947604207485166610601430017513936772253039364727021993731479390837764327893030909930157645446379807697552437957207792294086543452897425833343769567879145950767918482990291312234279953634019214545113770473828674272953002780547290848311357082860125445397156054861936902354395303300315988210253035748525348653267950031343336407250679275503593877893221626845904050160338130400530238246112291871170645151518230561913654534217091674199273968754002885297777167600499657394050747710573065717609690707514703684272172215882919579627709097613141140133660882081956870821463770351873920984349507083570622118241546432430478722774333611760907147295961720490652470250867891349644039057569248970715887394366830163142237804004107834750794858496282516381995443806692934887034031753285370922631143307634427774074724593672416799433345908958098339063676987447512279258037824353820088123496865556716478767691296094035599233781341599988220483483828055741678700878938072564465556769042880615207994723834454210685879762463281195922336869754972299546608551494453481250701424668504614395805474980776262506721909566072078930151687124024978644946445340719137204186047247542428953813900070817523215374925121531678311664323950328936566902359394943131606497266397854590480537701373302792307511805986762835090489741647765855207141289223977683174364809046230062470984916437243042806580142152691032662855824774497835156212233886424436603817605193236935366036864643399055775761432576
154335391749968537133936804250420872952122929167122267688204294791687210894844291844213953650673735696233274660971630607863880755278172998895179266868735895782437711555130370820875468841830903836480626440771260345560828325141327853545422837378142232151133733469592713400685871372712093416952639149754777593706956852419959277140744236948359286910137747379225743415726387037366472791507773921283450359361901810988234472255928404156027650530664015629676379186275209479707219853843217254169433623021813026435062782951745047473785191184277790652121071609110343540573612046919973658672121959037254316747144226274129129198519459175404775669337231072842699221528993773191943943955370413579180919666342460090277123134951624729920448897255147296786558698738121971111944668964022127428066379405063632507338560631012649398782361455335523447414596460935060657339251111738835116175990839060824700892875828828859838143476099890740921637582703576361719307572710430175197249411077204013766415259651077025793857637355247336549957513997086116787182829141148913939195067819128844865629580969340099199259154850245984739758992609308367889789272741627219876717790196086144977342431071861919793724343874065550232609554746760100197706918307382714508957239590106158813173195872227395451204166951190518227409004301066845768381748148956593015188581535173182571141540247941252801712350076130426229942170685642065360898039084914205441663136595314547668898098220362688440769922307524247839874769607412528214176556639324129287965170887127538225735767315189414040226055421738938594976984903312676664292232202605593811358357272627240800612248401646396126599516606047544470563991113125249978009056811620286359313668592687975313517155204846552166982526694344783603331254697507479672711803002707606450157602980648716938992922900182662402789564261681151527362878124536933859842213380146738430240450087411074443761103701369218413604510367649365987674394152383138226336827192010284334551352873154389984649839095652406841277949002958740013768828655045069039870395438237282545933041129227894791785844602460067853328986806926387182258548818593336548439016943856845944147691674153077749326037406629774507432425073046297669345587973337445116560895461760846405473660250160874895035785717065342066936580106710767601229291251812926314447441037209755919858390342393694204682648944323983397155480763498099444098530693444411708543815603007258624
165716365045365769004805036496577860891284738636128664538548742774259925863702782120794614439125875795367426263964660261141992065890883103221259770814619249311708575571591560923003203191082682184951305575176361050221354108788114427247867184257661818081389778643570328623961690378765267012377119282271504046181238772206705888242824221698419494534230628962221069442958041102431832651599928880418524409874703926639410124779757959491902310075229748073373223917186779192722921231834629504520159263430369910791344530121122831257468703366395155057498628898400755290522128205528226098294557650247114734015952388310652135197149942194492659765504979363263596727207921842911760192488393202472144089108536024505981362860395555689268290173837530451840268875866137583596214777040505309480972423015469059604495399477478113132521076168079259478421716888188356775762086475512484629278060308540460361280970921052211746448520801197090357910579119088933955773089139109920140934142432962842561671830839181049240391747530153811118293248201736777724146710783497588308690337211915107977034141178374926190553464377601570503144986044721286316445364689228291798476015178394854969100100611695292835455280744542370202325807593614048076708587080788108542919010775485599317690262563754714534545265218571826013003391072251360121268899785769275880954247241549573209822527187993853028155729094070822722035549766520641871737878765059069834442101881414192267737592053263387027936012342819374799815195049842891965141398583947200708871543836816021015131246539051064337043534120863057178794585008103417083839377074257267851611034455554438809336615915524885980001499878095779830544494126526896251843404549428790670851777902844299676002882084943030563886970788914458431126193895110249477420494382455942288466389711909590029333957757933501861547489418502732947411002667329986518034338546995964309737277635437726511043832908561335876878093376786740828049065495274804785991029667521920928139795855688435335725250231872325791743863453415898899125927194411559233076367121454179105673507363964179465412233000826028143997230766141074806808514648069454299766774406063755358956144583594739357775154175686883772319193654676064895930080516843811686955988500184413471197131540964034103231533101114888318136413616101734244584043830948854807652392891426055191983545867945789741434176818630108379807442326595361917639742382498987470538792949492673760173490176
177936592070460883558382024652222082111426340966520064560305445379340673046997000668256597637243754842115271026854919780338918883823205008223575741892311238621464710490682565208472582952235739704081920199471235035747232364520044414633840210534565886521867641375703450528972035533418668669716838634011775617770023553848748885473390234717841325978342825978562478194912431008792126826991664154330864283247388205649762417665084909703353299649990766915364251281600557239079556970078441950547692052286221885007815559184677369762438659175548074096201402670867937668622879851765724374267201620649491025239563562521835902276082378533409111251224728822593012942672664426857514860133078416051641303430218004922761127467726981327288511116617587027014514459422936148845552134195225492883783822782329328275295608834555996114991534043156354648929822932734970259969541722262506580612988278874236686121528693261561839865860247179305184395718052226865163887332062342475388620963159845320296394344134681710477612049467574848150707672091017567681407858080273169570174237729096802572417588859141802603710248410324935057311495052113579541046287077757179188099876957901376966737005669385219461355885017077002626328561687840198733908770208588259024383840914345561897109897992244903472921944086353071138212908848104491203092129650445111527575020293688407324736375059126110651239855913517472774739096199146648137010603995085393111777240496543506505047258444638934339793952848265388800093202395734077732085869733438484408837824461038792757209356258234377050398475094341735469375191827924017840234453662736782228245393474833870058433486203123120989558838001842340281951256036574276366513100563273567853034571639042933122113943639143652573755744544723729575809617807113343954980528453199997072456635451960637721189257308142468759525396750843823823937986081687764933769599566084956438576205449069311502381361291189874000315723408033314355724673946391832272153937842843100937364597329074541333087682546827014030749300085277726314547065071418670217607459564283839805348560545460329929855075974219932966010921213785235104383022136948813938516219125363413339415345421196735914822082626483251034566011704981104050498334830622737083864640099911036456933379484362652696402030646307476616272085036971511897342933344338971011879849501204446462965082718235775410088021393174409753052127892533307615386634760674568484769469804346603397885621898024321024
191057960926080605632628725638889904099400690591037177053580126918745626194870197220063058047048199656781683130629554548314790100504372239055917216901603480933110763793897432571944291473124908027850141240402687742815938482031585374329951879783928790042167177137325692254072198278645774253073411878397472389303111903232517848406165134089723070698564410463536260234965501191654618296053361901866639714990503255170463003510358092059753870882599647650862064795500119969305687582163939683059196663212111256877010132774535431860243332591267325279742445575176211055425438580167778510306923731531940558112359016586134121538606444700721144053108962559876394126720954136633902594026396501186320211338899737323406512123493670064376706900601244604865302030135157447896958642857874192820333061895991047911010681169206669498647923508056798957932787723791876275525449913306245222679393072649043565963845704771005919026364697135398003745714639187801462874442859113291236452981827889117772914683694456841467671073159692046309863882721803097138278324423045651512540182017050018666675553951296998202355791295595396201119189233423409951572123155298623410525200978952595716375779795744026503076565491370531948446820249998053609069693573366417709826365819495231397707682198646980509719142852906760111946484846909455327000097730913416463501828586982006168517395675134177896688110750077437473018698276983189214119967841024677035596730092445290370085308488546012379426594715466473806281246510396678443007665092208632040941087356987610269883963338582395033598598574617067122212414613665029049181882863470473381646993109265817733521358058420254427901591671418709814771015935802274217259869118704788157505104886764628624848640578927303312566787677929706970812565300952762112960166505822863493374247911091279522952956591250224457715816881574720931849828038238033718469009033837669665317358801882421634991143216405210439429181428021187209081196245004044202604633628156976546301972489146026242952959809763003457850345560289461399554563383631773227108310548560375406318768355857009578524381332217487800082296548010052285249056583959797272979028977251396101929764086145831484027371634838836671304796456511760548715870149995588772301259629982018522998144334023734183713234623470088806793336667880898620690702002660946808578995272268752542054476366189359550882260091258111878365581370409989699698335673148514635249286727232045060650305400158976452671307776
205146923454490518663003441782297210962875574822079896541322071207885428462502105006310237342455411715388938414472208169015018848692707967938864590468931350141867573510092589318716474752740785725656053454127604431473628681968385705444765309231424424905989621692363187282950153607402773896387282876213768200279961463852995210660191243922703829586757504272602109554830525826601403427228108809842394732324743107884670376313730300661400038312543035530393948625926485808061112998046858462313963725132086039850053403631811855358245389020386024317471963762110433980061475517069320723684959087323992169127142367412041904769500970351107455330951970329789388644168244433689631791548234483331017627571095686106755386220958206547378042690564967078698228676148226924632065337234778408561432126167706326071639998482106421940443386921353386008692050759949097428465023148334089615991057685039148550373484005095385397810165133991369827507882468865011821296672558528080354872239998116515387240230266469147646775975126525181083045714625430942090104148285664785490343253912279286142390257315876046015522228442695923882992389088897213965700803184322979165506430097107145734035916467304538454517773042359651234175562742233046078652275720587535172094864758316064520276716102787539184598282174596668304531862829908919325659601385769232979592082854321401958563119807948283619530375595902155853525047874033586804106300824443178749212545897897894702185034172094078440212091883893732595604648285066964474936530362089224756184925815235215796586339063518590417664700517353129753334788982720943616281540613577129058953090505258510434042768944605262547959131533772334144238932793241400821388784149519351753773130610425965798327591059137818622236704723120968106625798628364127729007943223305948068278676866683340305469357476481838449637192092072032845655414051864048071042416247465337146347330378795686039892452341028157380336530785350394264524313020212593309481324862749009755151500395293474420460178212333620340550537160935508251135309675064391929229643613969658062905455459851386548030240440126755315158112445569217111098690310740201866558728487782768557032554809747918227656176885117714433484900607163674449029419272603417080324675192594457656085813445829909601711399637544726364848260904816518299739518508177617879810589231733226972710210160797054853556138759629891503072325479484441967975303195450753927343263825197126534672849546523749266264339683867623424
220274831778013030499919356897601618209390815994508543586010452110212783140348525833315085753960986413952687602579056796705886621989688268994009985859123363232111547147180899263961544939857840264259094432476474311000977068875450377699789034386073700116708324921028015583648502035492834346166468125909737681281803132847225145357537990438392924992270168883351582339651556811934098636911760817550642072414361424991514751501871169276240083531379841048902005836164598561457653373992942242794830670893160705353533028113029885997186577446338862934750701438790359471182788353829355568290487971788638630640294333492684034391638271474568039507054892278301939698634097741107752289745389078111544463204340971678798987122716131725950441976117095341581387604296502472420344364089646084644569347203511120452501486641534180856445301641671729241549082437288330019993743475494467945653697846423152875884980596865944411027652316713097838846879096496741002780651238124687755459086262543383796419391172498588633974543251733778718039801097293696545866800530216179824969899841865896699948038610178089806614769880605000787489410438430192672049853849399963854284872136196323783897543829115211483632054666921281180187519875071752729568141993974574367349293986627610286503606132937263808542032209418113089631029861104204790602590395068783862588157819958188421224736681716919751303867515749067751696261733952145732303430137130322534537517596092603223284095377446625683992406486267652659372789432486274397461552395221064640451957526155347598460228679544903132972217353916493193454366404961890481547297515952385720443694929553354584972114420591009568244525370528623664772590789228436590273091305847197475393960143829009933257883773364733234821606289153323267454211504676396643913966667080967988882823039139174650007385072905646319786770775179800487081954759523733575824765602920666484293937458458690851805458540488643740921608299294284816709474354670018807892674252064671388690165430779136239522254673076160800986234935362674175941077481308487507541916448933732529120410485011586561011053977340265043299566505702591899123118378265311142326973729592631626197983428798702697966390613492933150521203854394631269443043679425946284460571253503924255936346029849132329496711768410213368573061147165578744491689327852394338242834856195993811083859281477562972285421318162097267430980364263299298315951640036321024120719573780379804898424715361983396477333758311605349830885376
236518299654616874464751042128137742761502908694791977573626363731884522797234274123974860144174484776956777836095423549094575893032406391141030927290589327077861988005276015233646326729580927706046202064515534363783332383716499717372860402196901494961743409676689277407887167150457788689782630893152183397261053953872293840914867974002614578909895357037597971254663650135685744038193547787288557631205336520265628233800525888711682787152896151764678112943782021223607316832550935966905172342335966084891429118450327987957131174535549152809645211148166184932203482604446689632640785116678393385740571925541298845743356407961309856352409180903027440354749386417131317724131390564321168227378129959648325966562497731113646295701042134389651502170688316801557130252205736686440718282560787329678952651629192545511145460340958796965055048361740337089582038587965529313875734397963268044783584680283447835379437112985347358173906017779882694381285532331860569977105240916675796699401746528133197269494440683518723120437734805335192861518062358488039575181001302399485997787682515047113790350276941075769080315944844674776358243891188138494433908823126217121816730540194111484580828522927768918831420252695795906723475516901256490821276970313761877791544631757644119353108445207354727498697490060495505931163469926036590077173938401768839141529078546432865426641084614752734005923168195179687317300796898882643942617140060567057877343840769508324575254142714460318673389621205737126494868238716234830260789058504570637724705533831655779900903202918748945223276244428102936144833577049383740620767082958170457386721127102093771808329149365680218022486179231741057108169716858911682517705883418263469850438385192651280830771851525360740857924897513018662183661068186719324068654132314520778553491261652081659306734543211452902955466540976495060996126122852496158141439758787358943869706746420654181663351136297783291869136671664608912900985647649756022852791200506535486969126621261320589368260898388839871192669451305501283029271124333708820945882669805065615153896381791790856235915518242407427292081128046517141889688376812875059273908911960093163748153348028381052150703977293521795059209184458486836402716633819270021726935013985365792291168296215048082600822953421100951126136451729563899512134453422664096205894481853047880936609734771854647596756650432259404831690042268390762688929431343447587124398688599456872391287524306278288695572955161165824
253959590480526892808960807680567461635978930163251397300472666087961134465671911653192768461350814258669803802891873119657363467891044929533027989109408762091516121021051190220427193033520180070702184833025475544103394854490022305427419616352274618348549178926227595005186758842325428462773772258731974510557600676593248651807896167124751958727702972314681682233682116203189058294367065666154379885259537353803828624266875119904503285986954480878386295765134516927042832235529144558011963385894172644793461943611567227187340061153062900179483173811097093664225483750850859036913606547974310935394617290133906409957566145366464966589013820697162650928559813234411405940632368120190600494275840000581839921883379323801828124836880340080397530665094832617993799077208967732962572916586967178245567954569965775464340338915820760562103871888343281360942669511080491894606399561808621315406839899866006115769168537790180957639231156735547674770996078950822941720896619621830901964668811025903406551098780297381200501489785048308894914518183685748689495639033468584799671927006188439595407186259961615836814501245113804491053692873161209354178079107193237754599526443944530579513166693639688419156557130640124814016998465136897972346277192113892530961558224680861122657080362026749123319474400601778314882330282640551673320205045384778918166188026947486093616748136387582937920506769421751025467828224418859793668888279302296743199532743863017432012617408461780933747986632136117261467118549278837405056550039357940388887368529759295786050938344349419616242116721948101083515909133197449835730085339934665262617332216393938000760515119232273920300181983103080561355014317081651380641470427557057573029778718916371977675169203184698024146779604310641722079124058352596379601523789256530882449925788854367414260959723911672257709497634479072547920971720085687307795781976586458820533372540246818692292434003040854438968291179138446290384961460705270345132941707123037137698958250000087550277031464743911584538341952073848128874189822432607294087321463166480878055026741692117902201273702867507825131746571184644872779900804510655772828875070737885848852872852543700674703336011463200675610629457718008107999042556952243079477598831846112175121924185468918024459510301907439975350312607752989896186711958151294389599428620496426531636210164990087433173418702319264601785133278987898995074362232217996182647350762799988827570756308057067584355583085599820405828222976
272687033904853982365746061183445715612066040499058173107958196547430332962279823804066058631300496805989322949039256318277467705044296015902744941269388699769726574710548247384652456307012051289924212903397909549192971635652331140030322638475471575254475063133949979300002519900006633959200226324451470238087625407548868913477751328091140003711856508823387811460982229688192174069836022013904378923587486351669456285203725154026480064109626144503331623391459011810601845610703061282879439379791224806591435930608069342018756906970761301625448190425236424792124314469920962934262499225240280128913762528890317872873128835526437241657386758196580376432707107555416242581099034658812906602379042001356905858999077230422861545296851598827666351221434858708219357041851873842748377967189089992597529255455904187364655242464251565903020676678852039266643784320256755577731891227569189790130219576158102762341142188730241830745614796190856845947568112109504631744441235268178902895108672706864834997990353560685352649779356515139120940939078631902840664657095842155289498409505219634418886334197478923558608488916578767521803383867563917578001032681373958627089359913457234019270244637644728241976838195013733905390272698961293238528993231869969381934640002051029639732501194437181940463453377623460145465399663052901490077089101485455297428509467181554870374681900913404074714043705603258371359696331006187854854295753070269552432325884343201143593023807175905694090986322717451564605588787126892759904846862407466702047192415703944538269848294773285912085190434645454890750748605697688738765322204577107519912173308044789691479508891304039278850748030069038901968276984369366710382090746927174862538007807965648550771423459736164265336559176058506705275739738737799271769136546655699073634112905189127337754726505943455384883194052169244647432991582577223326166292359046269587660392084236132512859372827824708591816309648851226068363982180987381306796154351091963688652618594254942006394151470259519317676929485555494272596359646461023873029024963134725993663925985993271522732649240840191882491234603649546426490938640374338956953405958322226577251072004330356202165990667833382002308189587718264903529680945355525365049653936846713774224022297295110334889631205716885278303159698418891912585090742507982505849457116329636809561058007003797422415104705744000203859402663063567540898912718858462786780803556816651350895445367272701644117237646915499296626416368928948224
292795473166147757479060010855928601286285066733916593075046782876588348227845661209776508411263538932569149747826470126790772711715356404911346359845366297855734592310976347186799958041171423942024777184658807197137479092045597468148158045145145428473893318451962607098346948922029420759451992594829337452925921176930265876294498894443003105824935578210296522537483164136986416248271233658113841186999984218816667436762912058479073648336706912357094871377226265362753168243802698944262749211754458463023535638910245804417699883503383554675922904804692694387534382253682527876871408012908085223890818516473542608758593476445152724078731240819443163953461542924316817388255745399192988009980115297909574572037955999711111646946500057182534729623928093086545736222225275357730532531531025641551817560646584513710162673174727731167565628486864850868285719334295088882356014669659740931456599165224508172415616523970562107305895711263358881890628793060695991025724633817667544352912866910488065252201198566655185244257319462111763332880522563098780726050282424098636637270267233467781548192529874595583376849791171069678533125163330255296788491105182085162351465124468052601846083626150869566524523609266914348624394839640101907336988269671715854982653004585636306444438704597158390173087835028374881783323563095407854447691552439513880531350264892790865672194507706545757232489566870161664007029698540691902557898776137124829400349231617081837920459296392481268825241676113689079611258744883577551472624336482070327875416918516919652516704712233157681715856020683563527704429537247293098946136571890324577074613287584126357025605135573016873840846813570736676526374919333983301330545855539107132068509773051277204248264832733499577026097023584998120439003210021608047815264382511151423319002699439712652609024103112872625827102808522155904436937299653114395093141684919604407450197289082866571063326435644540555645315795306314983281490922916888925342806369127021482795630791771617350959875862608738025525661708539738073479168422551054918333729668857813446176916331201413816546212260211962924416131907334581036753062375187622754433407596701375544798842959885012567083423570446393719247167698054417755631143656404086133946681268718571256341225886114322037265643449513767626323982319543590918277963889066035470390886753497564413155631063810062219270493011896546055948366854988332439311993142363885030514143099281998855082539541947740568762241620840516188630365358557225792439320576
314386745416362548169075537861904577558904473738837325312266501531239939923314167857871474773861454438151811856360334069421835557846672955019591598716123966607743750007884118249211855670250871840186954507449132457518724379054903716619185121634422797114819748136023186125574400320374704027917447769206545765416192741397330402817413604085213618886131352430018443690254281029739180445641991274793348235775688143083423615151213849222915204995390246227715186533628322231310608531879586660535558673883794470219127711852492702323808330797510568169329188688369097431145730463782308199442753053228142972647975850731275688470170535072719321910865602123252157527720848213410233456340640243409087073846179203707729988044054272361552492859979001815279141529743384715589408670675036501511834500897460984950618778083894275121303076031348024767243567571192625012801092031158074490783068608771207687109667764505040774552450572532691079403916186965696310207844328767910256113449199237114432499097561429536699914129534963946524183226739724598583652903451470974839908965274565766811658815803120231129604789790930722752957402774146043452659251457294526236759335781485987974346598291818713830434159599999768787546131320945319915543729606011350525529896767343912063338793325502861491882274569330350035081355007695578337321810215420242315658590840105795283755050122608868428557401116787608498110274539592137356285783217333252661674548497496844088436019810193523922205986331826219457474249334551129743710674175667243227763669541121047937149228206848816682554732708182625842445194693370151229057228704203384431125037160454624239340123855505216388039148472973938423300648743308030752077127789993524095156201933842201395318650576677904430819152430334322741739229913705126900876746987470456504674241193119757429614742092357320841648291899336379931135262878258102425242486749103169617867966602656009329814014026339692439162161746516387591860574879108213288867197569012223715102984736065265334624165225587420605849705259531079765866082561734414735499768328033172441135829935362304606349727968159594182757131332571155697082951609206032020679044232319730398569231159417591360781303352836492224043077584695703286326597750942831772189370460833352726517017864220512843457799449352408416817007970014564764201263190730486160101615885251898582426208735677913192539216894326476596872987115973051061414005476696315572105228821757289584390551669220066541022237678323091470981566740290012265481496561883649630753641484594970624
337570197464788761916351028417622481222047557074099289320074402928252366074909774720753090081255985611714021651553171104950344337310344131054206238940527006115513866658065507509540424469799913667272577033833453072153757628919679712827062945897406995361248493794794135976765749647705319066396227289132567482897458913283529855451824422212871122572435526661794836081614922736680745855968764562388694957748969441609568256697138394278673954809084234576356023741118312050707202715570349529249519587355006638494199869013441933139854995736914372125411863918689602260952131037993981544999817446954755323583819699872151691584816679920037617348615997042679044435750314123494245331677023420285877132846419153620005560261921026760486161155220830010837136495300812156450692901132029004399895934579769394949713956708451863991905786114710309292377283696159619036593067906727535736061283276299138940639955953493644938462321061421096019227689799335671781552640588679311631067562094120198659248305893963302783640738090244459715114957989717463740879285134878340007661960367864907264309201346122341864403427389250532906398783049014232739241602310230082706673825051041230158016981658052710065624401240810862137518051528695357210379450178921428877985829921499555774184999475284468215513034689341584505226718114354584320650807775687163910537239089924888980949745087861470025055237563839163769358826737282421780996834737047995128799284598078720805760909218297328169217089867654154131292690913511716272272551817650642160430609974016557016826049655014097716967947677916472397176639970094386887843750549236498466049399772734328899983677144996083486007847064777851347098522682022872733583386981908735510120969829356052654384792931420784964045438544681208630519761659897105556698865509513033113441584264516344592912084791537326140264652110477868976814171553620344840858691364277867709670933451106946702355517001403565403224988585487531658775341224382232430169303611519550970150735178346876583443321523799608472780247595231294972490540429571303081667998796119768909451718666549723048865558890435496580893431546042503327973839940172620013686322672587667069347973255390679325411958727171970734405830780364678931623115328811653906795767112026924716605755928568717798749804047773850632266046411945976076479594241519012101954265065977748283357331713251536387870721939645726232619713882233403381527810259693891376471871915011043003639712877674598905158588309284161497370590542096732058920474356606678830302341502311071659040178176
362463239553882460994764488677413796730767092947487474071640409215892636681589342144090513597484110201639569374514194375213478158171680161345838449872181295067731013882724042344779632771937192216139785969488841613912779324930132044346726764090695104069546496644474937268196477647454466708854262196151778386889406338514115176151298299234594355427854494520236218408054220004902655761068342548245799120912981382354119315798485595053214536537999677803660384205175680181127532333754260303853920512850292163548870780775054221807673950218066662057754491515293561221509265157422671045150442065160222226618600781427856724126966512602965365400516984540184803019019593095533672235938372106188476314062404413876480973165777001017757221805564761138630206707401261473548740361725356488005248286205866263632682252154390140658868840018962920731201333892079891139496563479925486092263624880874133415752174032783925488632900371763903671764678716444878206989661857704957821806899190173881783623630439494107319970683477725362780402055361562602761785586984540354817919127300806976511570211953368658680636096796785425195888650582428823663393794441269062865134809883361903569072962108492061194006704287216118350551171481347341191404382567232221396134778466064709832163133450030987820594990963108906305692273841640931951217399208139718230687227920340050317402480542975415084024136482549980148346061931389596366264869868784474665140058774236152573564468371952987322741738726466890058111349419342296475560410413818715908112063778933130537446801247289408028331399889222597591390097851680452429115032141738199670309084586080943780484387067895207155122344185647616260234424852300611378677691994052540668170860605221736722559169160046060558805923601845906453458830952743185772770375270915213526999165605631478321005959395707948333930647399829956546797462273033222872932600991732766117412770523574187771257997921550074876162094726160562172551180492490571522761940688642790070350619945339140567409320253583051012048917404075264365644022703593634508967017989775444791293179240955947413183746333795626253114276737866817504904701121644999888354457070316836438946427293946405851466926115126350218035536298344113741215375133720585018339612974347002482318947459640188758570879517899277517392897927631527741819563019668520585030446536522427785184970197559749651914680451672019998817739882267415740609438894969632608230778434718330294870543944110612706893385620475851700497269092628093865384545606608081777831022636162390298572507003983233024
389191939971534699950127276522913637704459095300612736626835879663578969498659047452755818891259390298925479010765410182332260426939420361588094871975088510624707702387805435315936919770590016783596536025848557142169811449259968653857703284104360662471504678159848398664638863099552988040912452440670256305982408848193307478986776335788251147097208785352756442064326514478961466539333630316410252348426701174766953488059097939270163953525626419356314614813006125078124526944664276226430902841018888146621870825289710853822672404504432095471484901063823832321439026403030665946971822017451463865854797755378172203374753830829227019253977597523157831690722804582136131480034626016889536245242162965181383590828316451450056495730679679975117115011502064794509152228901404062480989416403560881413021107440682799238670390058725441094287533964514881465844478512666978820793776868441574728249089677926847952044781711588052025880903423769502321430929072235349865430006912241426703508410277604324430997073303899494402890614377273208579627093665691020383799671632456679631458556486876666516179636054820939786449036977275787470506814873649304435580516770054237590368512323455151675972376529584054799920686271718676108408874859333728033457583579988243637217576776191685719007450361992073767319123697431021426360049246284096699864156880689652328059518400338932579477189566798159855648891121427228056937013440031282489829275923715530671081406451291111050169591221087995606603946320625938298017006499922302824514063758395992357308228674230004032220800993527269879797210362801850456383205317688601044473875127228837586498761373803811571598916789053066104516170008500189058056539709804172168875958609900531512928464241832404988426731670250673362270256256106126095225312276556995521829557323868808204213396356417390215372454428594274832399048499617878740181171217927349211476186382875983376829057462873386304866861710928422544020507275360044569652863712803125494587362979639229091442478483682407729162450550677119393248815872454040472447590252182299440614437596942974479079997435603028576241209184957886496791502728529948060601511093211696215864001480885397977198370322529001273576274441802216868156060872925384863939049486529415654297674395074222661332191806833410889807641945460896597407938675621825168352138759660074226972790077313445940230234080555458603295037864743360233088289790701237741371593449434324897048755698421483345657281249665112752845439422537314460661212461050548181269445009138293319389148266709731892606795776
417891663511134176803742370925865667143261081921469748143330364778615789077530531166024586802914515396696149073092967165285613884864951956554340524519578019959617027828731363473248124503414986177409557872476340893601640663264482192575994960725006424076001781151888583145648497165800318963699523307958532788533053788572821077080102894669313264454249266493493185529900276988202494707659059960484041488899969649697211413191738041106587072237657342262238160427174615664557572060700967023007754626482402977005747018238959460616153640167054734275694337656729742131492094514774306381836211449621694642793021861010864431437707133865561652163849024819653372439481708070418407631676198922532825454480431383939107307659666177429191106628908212336218525686068008032222442298954259114209347541293854980903464981253858720659955755956447322235784852699520160100279644058519848943608479102569464486142481877116746258599228444682396918876256449006110378185480072036612321784970166282717436987427650815213664826559627990749432837559153933959126621244792417922447322239469235092788465958222625983968122447929159599879695959447023550589618333606862533680991514575540625649211651254353212542755236548490372962182792732726970899508167029248740563364678819809026621582395172528100397561811221274829560463787468961209060522920958434911212704520361293857668656473667741487686100862491847626003248017056298677337119524664211703877688548178929598759894893415494684733995652387065411667138907767906983809824236142246429293074082733592408148026197186876826325084117629530982954473717405066560659612135320781457949501683799458924135526937811248850455040927509502062431855767022421088503542470843133562507418907827543101165261288776543903634580017753973524553232277733378802971061224494799900811569100698043452857898256688974562675173772057515694414497448631844164421492952873993613441815402099313220756830111496386482092044364170648045155859299775250364512940360929808640121459137253107900706599309638149902711822587646593854612372756840728952773055697301782842181879525906075726241152806288419718443377359014222234410249878287432723269215529058381360712955710686024588359002888559939758120388111922265294187257456318349934959707906820492358194299738343925092455760961900587162272963520471658091633176193745642322890475532546098505720445153615983640463588206521602581053858506367038600908565285432908125251477975012182063783165743160553477448351671647896417556405923315636722737051946513979944560356136519579847737007918625703346000918593011317735424
448707757012839455309988823384023570217382023410572352132240159311976273559306909949896086662607760278124606679518751885625884533694619507503026349914768426861747593802280773821772416408875901487066526265026305667941615575166174903872068087743676760199083667121277668311584275009665264903864515944617908712723287459232291260129634276229908301402499971955385457162445529951417773148752185812095502631183129165210524830514114465987973781359281956167647888699479090990161019577468495049848196418783654076433180861846461599104044973457213015089019356982008879191317969405874158682767654151166482515723607747513680058428646600294620339178864798770475883170920418838166581453611522008467230703367447366497621385458219132583927289676302395042470581032749514332565175967813899473859769146838779167186771656891644069759727377159974612337367385809154100630846287921465865344914641493458819884053851214622278988653511235185959968366171629847583944618207182864243509174268802129988320467485630854362607420594778603548751141966261652946048159742340561321418878325323461280415496684143870222095726555094800851561934920062077098581053064990873075831889262988863577170685702579901106375917685677127517510854434890252202227632819968882204042209977813155911576322438758839117212133144333475303097541505442870752001891207543717729750807403665780805733139589665408714948547479539969655074797355758413252492746181318963662443777174625555745740037680904238852648585446602157569130784611688080213458299144434782404446632396161494418397414110967220792361627037416963153902049518286576715684058577311870707764077237853902275414358317406584908405498875498704521847342686987573468465859123104573049282333991622834006883804181647516979504674177737103915501496410989112741585083898404719924012433286485556850302897686943639747616443405525997134629249102537302657589689748022067944661365787721410006802753424376253390690455051473511879267686728828040116448789454747991065214975115575618426973514831568007856523214931624053552838679936898072783240150682474408187416275461894645002976300078086846458558958446188233823917017268608126008560374725220271404739531005223228332813444928383618449214304342883329283192522418704865383833918134376657505265608747452128868092817414539130966289955836356699499614565745185823379832016150543419173615945213335586469665533406455394250783877874864459640817970946803811400031942419585406791386620725555528215724935989708661385150080918985335902393064429432671267171655676116126677422777154847606284017929435735485957877715173376
481796285457915028163713884639975320744203850321678658262441837865691989016293173665405172703570529117588262475349048091875376640822650208972281198477545695196143457196872053443521365307753940252367124321153252855877168633185737744386619051186087528962574699863409512783347499778595599167318669999251116284264994683752406057350851984212021582900662078047324427396678127630681951126759395317866346257403372387880746275513516124454712930060892606945738293801927667009637459214810731177358973345815028589414399032720911685367934015577979488778223166737169349127081401433839515458500378336474670664097175262675870290889601574451744580377412951281203732143954994282136945985845407028787747739662565877527152478083315287212363921100409303228470919144444267254562674642561461713614828843945594576908325147542336073822592915694487080044817760196832839908444443856423927009187036281492557331191450717413141312313696457673065635624475425729597626687468764138554369920940117465348744317454553967353984449185372742650608924096936733695544724633584124342444156681066878705226710887498591090692350533872727959272865250036748857059047729844090599796223094607678069038416825618864519699695885492817575732696780717548639439915327315651201009422714568097559692343170605044209837905637327481036206907065969933969050762316637554034883771007084799768732090960253947503294349436831849698344663769202415549077333831498458768702101600932010743444588289322847394974559368454455270613894763505090967457023471283042707993632779711933615375858584393282057801098682763806265411579367103350237414530464525693070606771255050130874721163455521717429162193294207927902925413586279098201364538056569344808677655191142302506600644458061032206644319468129138150708118631064903559291208636266114661418251515709316362099928314864244727804579594642255842755583495108766383600400913635315627152625963239183584556240870112004378006153826359182532930553732472413176980895591733073386699630332712775339706552614938885535909567099026046544098684573197141572361036023834915880476885461741198621328257874616312946821036453550360033431152946634787161653456371581513019900066266452942717243587409126175845379418512018667403727751565021053874912291370672269332727184340959604203509037171986210603119059692609088035336031120203745214802673835081949494674957688851021740048390509780348397475794459150208647506272976400131422822291511868608011965457627054196279635958251873023304289414399698910801088214965408555731605284886772883094430992361391599213435273601029911473938005059213222477824
517324822344006357577517517107452684210866479672222229264586969683820383308542598010240915837766831247364331431272041934833986495003905295895878379494185937803255113496235325759072111768518037149763696386229855505002760168152440976443334101213698986771927785967589881114942861238108834808289629914249972233102797891082611644408552417481835257151124110490164488992664744303073236566725488337742870418639870571514308000351089340125414466919967258850032104613529707890992751036036482309151091543102811564209963909257587395989879580998344110515316874531424345528605191772047056651686392539696398608666992279793268086927211377185088025716557990709902832267857666134411295000631125525112976766837160629856165311343298980458487511994145572395107453453112106988257598593022491932482951956345954077774053324707177053127269569707276784071756623581341892546393130149062221504087353094043995951218080386521294914253462094644216291267143622666074686465473788749157157882080977522017817519533287814013103716135937442813547420870522401250856453301642349328898789412870536606936886881863395995150153885087876702845444047280674784808497185145853076246450613914972814254107608412289518191235392334353082666483977766588704920933021957464344319648186727380445954005434839403353471991543363891973142214434413045229088125078456872816314659909145549826353173514996985095387520773197203076394449056210116696872257945290063771494988685618057315653788272706553886753631809880574863195376963110005008683229023666265897550982641274081794740588841972500610089825128834806700605657340354316880432310985083384972497475354148296736861817540134031744001204219563389141747628520085700275808278381778183477354476512980204536997148019973944224885016504947690665489322190528012610137434508268930505944375809368486004434221499071580446415272809504356416075037408222381895116978164138050272314564528158197930352276302457410665136313092739487932057792830034936954333101645821029539360718413572742261358733429516448603854756075958615839769418009625360303493166806762210052389816985529076823611288913032883163674434683205654858153067143342611028805565100326355554667245450662052723380645796978574298362438805154289860127980364844560986050591576365102579541749808646203327793860773532275475841199243506961506038286507928332638573494803757967639888167355949720547423212674235841127661136538417038523153958597121786067780922515813516815108804297467884460150327869353991459142222841424573534373761121861879536459513042363148967553097980250682917710955982308905424584722015200833508256541310976
555473298344129341852879880210907449138271774503710818583903791434938001662093683969214851651074245470245172423554572947313133796336860159538500165280251406252017698702774735813780273837860422986087032526732653533198104827986548684098606590478597763843441612901121563832301901481585878597567597544411728777521151387074396761750878473946555275880957046048086752471011765168475465836739323555058757726306018226581695514394771308453218918466633306537913614466290203629061749668211702245171624925082187508483099766900412376409583586841517746204373920797350722085890782789187598823013079801553603448301158499099142018578214499372268402333455883946626121982055547007545813060179745872507765479693355565682747799047281737454836737409815744225046725746739692234054860495131804160609529682511273106489349876744348554915819331917186520202062103888311456070376164187323461607290777966530843748909516656002000216072435987818141431635698064671438776765665938955710685166961605720194411543922828086135402744064979701796514099596010390951954489730276278364056962055567499052191183973413675334666821386454943131200373081417093983391083258277373988124874955710982690487618702948889491278738270978443896842333289953872402279600398778439815484743083054950070780587215710374103828732932684120462980680338205791553675581278482425723125719888785616952031339798181354130822210541850655142946187073090129229352473341174245283081348358154895429446642372445744587117134058165589675775954528737317490672666170081155512105389234233970270209953470013600562918961637676120341395740417351033013469379505658670572463629022158238104731256001498708449277754076910489940681893194831240450463683903950275090381258305612524495448393197764811304502303812292638399750278661381223783103969819589224523981956924092794450519673080433133095096669287934812194142513587572932933687480827329761487198737218230282806289478119552595809900518028833178928993722546735835189070629264761274235151057583339982632393211150938766961905259220074886720309306633073583928929946498629110955924177649068172553620511624470905340142678038914102014507735585687164622992204012175164008540939843249574498786902064345708056043205255734747795838522510384384389641200755485300533704263523687425331860249962974596392300197210070585004191336768857558348620637068641602228186495972794710192880478876773909858589085600672957016529597736894027722556875374532274388909598284822204841663068360638188491019791829165684345220608964728260809546312036258796842804180242165084253308603781228075842037093859134698697475697727178721460224
596434912547321619213030782230561269132915163363331149114813954055865907231571503883984314659713871890644789165261987719989060181634784746135800165692318616127606487485399778693806555565883730834492616928001248165096177631345483031528837636318910595911578247873952199595028273815506323697994794150634570664568851288937392802662081686217710740441242025489324661308460679857458513986790167486534954948217916792787075026638860000801425900185670129701170489551467229758000182497377027986875475740101611365268659016885623611398200851615673663737853530494978898700221453776850099838402317481977724200351575628135815107863213923219226329339090777052382650863058818313199983078800422101002959560330178565776745427081013755016645516048624592708119137788532039192592700824108366519823665353081795285924020773229651999047076015907221271149975011990313035121101574900620171344206371632161839119213102425173968259654011533683092961094485743473580632868694965868977446307463099063970381085778353544445456453386936479529965126141937860303704710167976119154554258477443835787418033076332767260388963227774339531511359901921290998505767443078610643939357574717029770916603155520854781140064523499000614477154787170991829086959890175489339352811482170805581228876820787938545967429082749116721756600183106023510207412546217971747893529454697745491039451300063039067218974966918750788782019641705016675120639064263808432079163326464642692943301091665581134009278425267242352503242031027467699301971560406034147595694716596346480697008301847532773236032633024384576613765021557019436166828118554159261892221199911522999200441848860169943971707145165305753641427802791283493463457600787009180847737148483541488987437410037181213112123107613251177120305354379753584222236935726684871125918170764826658558071521267971039563863137551906438436024655465344741247266709502087148749724751199269912461102908096494288857339486824222134936086131882060922076082331572549521815301485064504963834208026426130949987091550156026283658292748371728734066327121660435097312410114610491498071225955472592934856139537748370876379610469885444435679921473813078810029900325965072209551334009879925934667325434099014558483634769765187835650469604744964600247789392500803281695430108340275595932233307900901111147453587191381097434350730125247178775432397997246500054877203140689207173026839358716494402088423998865421524785308390967449216277433452265742388934214988338314403398898748658307045422352178074425989973698285674658038001768047099275261258258949131114639245035966490441117979873253534754688861208576
640417110895841601728433116680389645662531225947001162766556320448597657130242376966812402410111112121963264454403844132326654739474305075163231021609972413670012006626806331743884188476469349318153144614805336879067022905308898524434823632220915708947024970590901556881977720058233199491019355413806894662831050556568387169734855645396400391545769777274361954361528797022427564812505586342257537965857331526567423982728058126541164507866203383727651376385965365156582194547066485246326721382044454132682700182824816295880171372732166786690645507678518265531887012982286715175068209618925848710254442256228495833643804060419608030733380045453802691083655949794899953107800300958700830027707163975462826611657626705080662106763471442865672942618365718045093973871964420640655994594583650891502659590461496908342053663186872782456172746928900588661907665923064521510320681308739310199058430042705120196439003953093921674007154158539318564547506885151773588213037492801640249669018749794529729480772260153302643417200034441017157089453154024569452427404538007095938715085873876749137528325659346788960313057809428101170364008851043568209260347664879830086295624093118282740453680939507781965820987507312566452928567091869603329242780394224264338074359024162251546975147901683523207832364646995669236989765696569286163666474484882612236476094888858883018960788389679131748244508488171074694450408908274883047260942552052916629212042746192284851111049270296491026882064308897761549582470066501286245686459545324141919586485368912409834236061907125331770731797754033369393221592310831208650647282604467343779432972401051196590158634443628181432641330933425029572545041615707073348195152085276672365046957739158863585543782081200605491303738648683002193322308727341378995948310351768451403968925168726016800478569801346913883640820868330831255648191675249186905488773850650263274304965591234145723262576369864242547447246668148647349094509476882111884289607683070317524396559890234047501992457519519146407196648362633040949589020592345490021844734297918190675490639345284719881944444860452597832321462344294179417609563468823476537254670539931194575359601401705694074598844811067688628772671837492838353947459855417344685492234271664437152836936993805131038963172419067170327093547666216576638281473220414654189186869414257403946539948196302157927079722093983238998184213793827131638551838240119894046113101885074435165408341417586520436591005341975688159703847278056006970227364509285980392300279738117293728101519499104366247896066901605049124584308302539221947010386579238682624
687642636774111235454969327366406403164399967005289155839083069717205746609153055406440736429654701572505346036265948431256119623781385132538224774876875196043721226097367117941427309379483980216966913810036859825463892592596155985057556095979191204275031711295820995490894509862688701838842994301325289859044077228445955220369301497064628159452669020134647153312352685943387142349657966289325097093208900877109210286195769628770332789760319569198700308116776979184054611178890021717659943116696213029511060507551451722003298895190020629013432631152138208049524691481512217243046218720639785714896652332305460477193098738133556132284707547690769009260273276121228301547483963779144377904264260784880546690196999761824420197643892563634499452394491341992808917756691419481801216192522389828821291809513220692133557516216154434290446125346528116384510456527813942996178963173368454073638801756630593653863654409338277901561575095239193091214301777515423889442891778101220071871427588694577976954910979545609699966805957953560582668523960764894144664082576225616518178928522533054570120091245133023826789606303312773747523185607671665232479619392562209497669140816963170757482453959501119470174932783583008441288729770930443448897615559325800655422114906234836047995916990623438879924254302298246006626079288366935867753202841047316488678561458360414331381583510012093698096367342072292166459424738716921616552642659800513645970070461062472990759546470042023296003980763921181915765747847630492391789491204298554815971654125765323831648166758733672332110710335214893409143525764016276932670592004364236258163413471646371344099512596850548709287235814243413820478453306605219986592849708002377729895914248495354412108960603726854250136892474656181972853896392786650953784827366825938636152954549987381035600503611409552970191418760018810587875899631683677602416431645920717274232426086188990039977757982317330425274413181235851307749503354092684647609200297864336658904726715865145951692024971251003866186375939580214831878407021198606894229364849842037458681111185532180925368092891129797862015293131909748200447350398858286831133033898064785697845523864980428666845755695728755375722427540142991841104703145322595963837137964692284264420499502301398102335331822075675845532102489754330178624137281095184825426750241714556519062602465162989107758639794606662467338250406989904266266759510499285011760222128377662390275294218534096131398502417886719168255612276157292098368644062913593524056737921716305293555485604139888581379959037355433974640758438546808004923763832536863612050866176
738350659070003673936312235430458327659022192437798995838077305765671662547393816807284737681880686956637558502731369617666884496001218249458075219498285348420342813057303370816051284336539437096945969782039767376225921678514285422784217027479015829723029147344616239275888846411549356256631430750726622350578690379668424643741655743064104485812471675347668759994013214736151670964669390499630441481839223240822443299899407702279660006764254057054306687266670118630296829922832162214519800333857636632199771937552661545831763089738517576794510473874416101011188124564396190420832698205402709960482275446783519257941228239295622917085767169564053303965798718240863321624017453878968417490270004753169309825249289443588918510760593703736943511341062301103566442235535832959538372679977326015637621637582986138086028499070843240540711768403313731753988542939247649885349224948201472101089157315338937724102384932788525147041618091075104906048642765475853435183584961653007296596637752568837935885796080934929650434450968747123447329003705019401874058531892683112515753971870150267114412282672595564126412531936360954926164860796671922219840050569395518859497387009318885109962671762470754149947545926121816739156757614881956525948176519921265406013337149358181830516087454064602160082385796389566059155402461059735699932346800388127676858993929996011333573401918048707749452898797650734930675054340940630836222263121554414998360793706269740727048890572155683450501806216713643262470128450638838978778170909735486888665388233296384206944571501778861260098887885269291081099347631645830759374846649925871000207318471111747049994742293253284826510922323103848335587343006133120156325461990828340460035418295326991101984323045389813680324139175429202604408061198297759037968260240380800441694945761492549690148693683033480617237951608530415954936380756164960179846566123062233125422633385729747374243550775363970117644844109749825557375737066517597078580699967010196148682427106114571552196010778884600453110011225314573667892974101156198832868813288230875412760580958700126357502743932323142577111601163351445636129055633237224419575963804361913065373765665019615201040850047390182806378004664660969280284882130237221258625526557148340904805365438592195396151677850280779648414381977903755797894126974629544472070840382931028804129369541131004381856894444819943120232113416970082156446652027372849439223282358769393375790394276345454986319171657050096065098544023637922528603135300519612664915269655553634856443122557794905916527689653815307812242337710548641536584643158493362482042725428598145024
792797983421427888539077159504617749896588138964641300336545534945838007528751123304975770725904100563193020973629489795291823183133668789395200697713289274885334410797439937901375274521058485036408030423216262263084515379169070439916936349497176578731678731474972997340113329167192860453021244550014892808069530463796426792177715622337726899522865458636141688503789978270899173922251950912041461562635310437343881528970569042765411093762902489220891329441111947584391299822759585102082369694592107713787400252611808904276056897111711545963397749405019891234721381276913970961116228969910632447511206357899750901160940894461590626207872405087023879433463149340806654295271143135839423834396017156156684512584293301863110467931443510773421342052316921284580644591174882899334050479390622314673392380160222487275208109508309526316254600463639653977774377370690092775608267672868154173308584162394974170100103560482468397654335213022381262812018315726447095450688291584270109732982812710524730838409739635122988169169775621103325088212366330290523640626317211737486662898491099838965516261084876355839403158617806463664802042956524602893917184886634982997623124050619964695617759750148642307620247467037808751695909143329241544860298385974231853440861199078814588022002604270842137201200915287025274926013737992369583403274730049312119695458733198845522035777013370717979740490557076907039403546399340710829795938073545771275592875644257791644268561900122847160108423122428646602329986468103240930315570524003121049363658887287797110969457671218453734061518298300551336606545451213474441566452941611694192551310513320418585287973780367724943609361291131843453272917790719019623464066695674693556451429145027374102276417046162093332131394109455207987322662071363861484540525004613159120845536713526079266710893186437647331021724002167182786932091277083063588395819949113450661604519142476754516679480829775923538001469498598433877658440571147014015252312113774267839284044477666501611433455819243211576033569925729745303945772248160217443711230732820457898814299073894342344135472354897583668159871284697503190374052495029612372972836681853539690943858386906734621743729028395221326213757562113577496621056578145919506928148618432899801699523451020543876828305155620883251830537212787106446881415256626328805730461209981221334342407983064047667927014348156433077494280763712328568092881506564621284948984343172070838694695391962328891120242421210072608314133399685282051433022669698717050599622445406011620587216567462247696720833235393577169438537223348482404214557475389784123361723247634154001086283776
851260352782445741724417404523227199196738359708659421329094216551799843412446963579533592335038072987802301604295184272986028836943431561737074654008739855055016361099608453452669419372742064133669464994871721388826735409385049298540893644400999862497432327715943716514720434426694062942604497433883050230901059559020341268515369304482206025107546287262567328936499282181515645127372043959853862501889928475799857068156767646296866511926813942310180194979884443187456708201420753620993149834113652672606553095457464456816814732232509487124598536683640972770651348064073056270871972770153483601184266975171675341758192393575379816925743119397407899034442808609982134614341871805241302719053453399586971258334810043693478832150201662210817082535782674486170044398423853067317351747048961212652510298540938705732698745483044013943391215550219687740824315418469104355610844040545687173561571273387491773836171459621339937319723213138080209955199915449523189308724148261138037333373118280449208487543123095182051781094775441074217172682107122842333303801222345333603138596298960388856939703278935357133473798605644831174434270203065079812190316605120679866076840882690949223088218160918387462507733614588556646009128576896617248914874614140227727312490980029713495500553628442524226414475725770760002233159456080985014565552336216256005347108184701657745524927403593947111756149377410534272767603782896727243841644094880082596941900975670536326328884800494811733768038281240310312637202320156491736828497590043746977236529132950209682874275888184894814870825585826610092373550083124859060264944598736306022040251364163042548210608532196216371681412736214900613999721518408690401990100172271398369945204497588453198508642591330778294101000918749290670607204049041850798093891120370941888818923013040457823406736930674731507479997713711570798581867051989658096912112946136663696325243150685906272339664169536633650978231174105447835340366827858996600890581429261277874017388771546756703959498105977620297268200057284601253714167890828132522247114216343495128788072924884821931872457789449306821042590916836320363878054368284846923368821961227527408610454785954934950635061667510832739692459058637625996387247127025598149526210934499221854686084610229573443777655712624971035311572365757903799956609929351382378288767071966483601284530988287351651782898685063659489962642376796588687991358790274564432370346195585021288197252009290025962839346500672279649623655161557395775860155575195649976370738898241591338054513868229932893016826296971320907797692014090094884333244230977861915584657731697900201823284323023847424
914033843895506765900208849270115823231917181204344075652686128348180554348595186977149968503096199599367973075994037395692132529896238789918735147419513243908268887916936226496088360026308999824411231156697712770058632098438489552145219680329136979781742182878283160051854842111390877433962960385260905757611324854435136886758166409028335272942766546649737010695084719424271307883601170808061669096224495248834878387301940010478984294000814956924763656326376765337324139785229279384459789394386490843987035155069344000277655884457406328802470948046423569063893512138376672309540710112702934241889683382023797394595264867620554206118633489577222538381250460140565121828216977991733969141692614606771515365559994139008955658138347374750074606732329834170378486246524610717609328051725938229778758286134132064565627207417475440603858316530470051115543139700978339398439932314275056101073406115393088076023846220230559893621725274050023008495599315499416809218646766066760784522116148095017276660770834270877301891495152898969434466367808674244119026039470614508060922528514845377234999712056742831146587567971033737721409115455947949188246807986719766539521422853538349847090126281014434869131785505434429822613164038807498064279719488918224311699888682880652142856180246013694242034468145792819650664076707655244741256282733056303981632357695366886883503663387802548927136579675717251466856000413956831914433019697595368948911053575643861298090635989569175253552695817000795777417079869501863402943158977513177119132437270643096646071886554858869007767542588911332868321984155609837787111807536706069323127683701174913539105266741510328092827862058280218241254780918668196809684143388917405508775590657293629338705303975779596472847617166723539163363962463158382328281190374844498700298435601737636969099819605830847759551842388636491839174430541728878314114780922478795030566848677860991851955031752945710251221145325177645127055217138574413025050052928275531477018273227277733844593699518436955321168179346705672237275737405740031884951336997392995070120020331810843691043936562206306661561913152729662936958765810973339287058827117379702558731383027340781435696241073225563085676298188666887492390660140511225451763298464617939000831299436806231248263781495317956227402616120316886768581941466398264451785238754564431368909341046348183598714782486107455296867397317521264414821608483707844274418860167558921505067747044242737422346476130599870777224984406717652821061978616234346362493874084825676675985254332306503795945483930801151787228029646199332181437046684407646756860004419249005979675701434674231128543461376
981436366742092700222031251796235232728300329163290924514909193952073495507591727902466053502057063005293436657800728326374680125100521969026895488963137043706221524394382664329587044559817713459078995068278231926350848216322291323525351292437304461016698973341469330262562552751916851912903828632509787664069685832257718370477395046925614783653103999405869706984047774469145303997803500831983690479864521041963296194399763505590283709507787309334877159112792927324518397132223054704475451518984406039781938559756280273341586735821628721797508891462376079723254992265226708524696534678668894183038685841396721025879167440722012413168693483486131917215393876472169690302611912616612288948960742455203889659860414888248785600704589554509756652368854515911719722592702249172815788821674575262953975038608776871663582325396466409069190490228996264262176525573215296730171955677566239975668887440234928867742495308005867080718637261785371572384032304997495275666689793408225030544447961195397975953248704836013504213172655560898328284166237540765902184292724673616286197658890222086430276667463281839014260946608941744706523427479896142610447446969838249900999900661833552618764673285366775866710764664981926590132655201440369756416175250239401959285783014953229006179903547027512784420387297733480097807088535353657251642929073251580931936390249243677471494899036701128236872874158125970098288637429826763757064722495923979869156717480073561604614847204760051210925334086663604667495313347832612781675034488836973783932328492545900245761509904535238070977391347415336728303199086543607057877555916399721826885564482194622606521184439035836201231429924478195837482980512331185293221232986293716376340350719039820469721346889428035738739366930651445045005855031059214242058012137976775750824071587356307888651071941635775508807508668935063620356267704037273914471649813062783977442983853298449809567333760385844298121690808825317802748980599088951001246601522503110342703014776387560492880571459834418035557626702490876899198611072984329905965806738819437771413678529995660527800408908443689179088839317541538860835302214663352541457404624315943925989702337819532528349820599908933671041136690667079904482333539836619509051548109655265285873336973566495475076549575920149779563443815400857456898639723591707182894242316601500863575532745743967196370894602396273710456860681847989611556846527910334994322463456315662004324267954855805578623363640442767462501852415240570393085834536444463074711937548667052796106663983874687512921427720421118501319084456236145604078113448089018988258545657772488390803894586946525777759834681139789824
1053809274565587553513489041288692895122749691855592391131284913108469163648377347765305594385380338583386696332175417861690016344941982642375010267376650638071086019751284937351230530392427948757060829524700073288094993427741043657581484806982388697615407250094596653516182314305939420069299246092454485104270883728635360561194705908454475210121049271583753455483396996261640710435636022976919685354101166096484050196827060651661145426924377687729283227641708499519727823658309551933235252277217886768712075271408641376153013916775321762393645755775029719216017230611970417784824006192353192332158948397904289941946648451402265485466394560655313163495474021801658168503041627017089891836872150508244862775273261467505007216685481673430653533710667768705686957913462122115721716305383669177269480786006258500589068800445363365228682739181936626478055436778966838255756071522877130392296426820128543510960081674329661521952384804263790368649378875642934892725734314816330720899251266927027843105949403056258760902483692008882714090391446216239254168368054340978555817980281316878848730917746665694849246910823851723670924809720995407497105963165537395433667452760455965973272356920193794428121197331812442783923137597957670049488739716295711896432690391744099387785316906729391355326865439854777986087081644080124422449905659815782120740999518198720868710640898363312375917783954668643555105900832376861320527768018827246710047615168906869691515512855120358869552376950023552950091331265553336094881465307306719869399680288153405333606011913889732398605505648135561344222469412220466497864720458337028827492718246381269600517690874210755564075466613237400246768183064266941388825341542231982021670358625861528359791135780791185410851195308722964110860348871729097352274147466845322864328808129314537370265790886167219138481502423078147349277382414365274656912409266567292694457604338643225914897281602693475400445184063032132034903362642606382986325152192573666745047200176297331334535923813444950759478142952643659505104980791772791516649473809371474719332218243347179247205213769298175820443912986859967132200179563563867703819509259619036383373903993427409039817668081018992673838726089270194153392606590840548493642993777284996559257518274963928636696440881274928102661650086070035976934346799928215501834765344125681018393167692186855574427450550888729704669197461841344056246099870566510005254831555757723240290635361311622338980425884304297302794590615719215452672380963724072256541844098079850037995869484600713557554277369209133827726500150049047155652415372230032562823365398163911461760598600091689179074863524465496324598398976
1131519092620170787341271331797332419784941958028461718653827286064769189623563188029801552832762443684263207417044143062773217872807817616600083216511732551133211744508644714975235998348053021486985027972804509745292795728370680416555174925277557976054551831219396383290761611679400686938711578901136951472840648884876853079874867141287485233078158705664210804057045492482095277655815657911343652853618671964965744045248647116673266920635040008487342991060615302750615677358423651049414746001240087384462369832747609640592407266095718187339447799815738944365214191212725752626318967927964611586955163110687630059690648418895443900096931986261714591462840491913928208072955266141257779632885813341525365994951613866547743177977032326348002262798537898228054433363012053155445774742153201962213911638699313677838011808251696472123423981486528901166953940660164537744248502736048547715310200882527342223921642088183704739883769700880085247587216490399914084428574294930277173245596975584537751155367937289338456547412725587871949629487412334222635191143117771413432468883959257218617023355706498793105657783054367892479962780956674539941565831610640936913155361736445823975823395768267907262731891316124225540705267640234047313728209650436600215054136074458583817877889495849654548278500613592231609896189667351511599508308251798521398311029054253815740036228086417621645199735017523842646465254472919449329698534275184434223344525438312130348698184097352381872127747289853846587591646999663467467803061622860237920026254497618683034717447729785692200550570691071379837009326168461811587548157050184917339972612636587505820295616743543211239788540394948628685982918988591894869738415444979141407083538397666691032469862392298391586169551843368438595081729206806743024904413649095476498213318976516219225665353670915766246760837002016349629353861675546093812374104534118467076488782773245091079105875920717735589373142347855852421765968267605637781779335972331648185195123683390618113476957028973417152072246502104348579046359386843081356658932376714755558705664078577676110149073134956138505316143620208309141108669937708591248793851639208233671406258947903630194007911552739912972250230832929365099097913188963552232724680543242641973370891758273102268572269766168308746420779418266597421619107461203485182005136287213496421931657426946584853310298510181069454134485399293695165565245867908248366356572419492055454116857102973640402655988789309709156940944025055633472001428010411963177447035614195893077444154204861110086989858761416536793643154044249937582372236391783914111585354952443004543925331392194296906380906593310650648639580983969972224
1214959374400807120391332790282976910754217265747611929701535334720155051805406610894374085696682713240238056428067306860739061457098066089107506031449094626853948045526934160025470015696699438140146496196210136689336461899440142938593033320906588807474562806756054816773625495273819396820425146939226705948247404794991238241364857536043690102538407263181368840268718627148703270771941948733486164105867317836119982108662420888589094435401531097026175144135040769737758294529829312842538103503868237690112014243576993307129675818448469805063832387726938398030539607823436921636756519028770222652828771444687249794529465709047509998579753527732596366804725178008718525141306512536919569957204863601052981425686920664810666343004615320199867208413429427376517535250487016089113301704732708762347944561111830055989935175525714821072170419006687773767720852768432834897626232837073758176388207821411318169385840408841539974480244426618917139019789433484882238457627361157949764826291296533025031122422876376171890086563682453533099473601938304788309932224599920924274037240285657187603009415406896822763067612696593272038471119876532185491217749449686457410200367706271146312983544874093864064948588204744986542664260322433081749544828070314197511271020327333359601065088876544048504438453308823641961040391144071965314013208405440395646725514856031487071666409371590086691058644322032722766704589490376688128346081562763052339381974124547666321936944218178940082122982136018725928376830816582778945043520659714351961322956632161288378175367650004748272521743578071923900387216585135116848358293838904012681911421202454917635094831741417027859427848737969820951586022667654896389049168602761674936395805039484670173248633270135478533999947769560989561115053347590745471060142537230272885340701858938338396949784464214190600154615214311726928844139376944558966173684772831033070793013130483962494325271500229140800883232881198385468421808068784997624491058172440197455297701899709440797652186822259537780378939338947143081597046108588411777679356596066356761318758826863273272192690699837202318694789747408433117129896641129189147950348059068838738153973127738364860735528821069626352425224238970615744667334062111381243885070976318665267066220745034727919995326814545613324377001164071235233762997478644639414483167014401207525502371448952772770964172360306304085953046693938980558774009089216265665536726304093492776812582454894272469867935847156958811083271497745137585702266242504432333572815683779658526283859394064838011469289615985773040569511828585904691582515350273238552032998558323584955034673448859163722654991884275004226097046804323632737027096576
1304552694755021544521177264029453104303118462616133557041886325902869814888351787443383502114288407263842160903287914863417673836992575229390840058299152227786757556005325326113656061111482685488376066452927734056097453949611363657705603591683017999755721901728805822006498434388214218588543097729993300394382818027840238213301654380251697554390336444823211021366898588857424569193430836055207923725797302955343202672202554005169355045576290172513606275007021578412584592839588148780213488045744272593046420938212341078033210317829552818498163824428198049436949606208581830187196010185842447348134483810697602703921693732178126688533261962338032607148678664453806117087816312514470886387144752184665836596655194647577097493793185294329749460919623859446537473067842225543841863115102008138944264515699095872296655121010741190881865901343085198403851940774412521764468044516728271926849987998253255025440693240362420859167331102603630241755970278405984131146695749482043732584953059894695173155047106579477315399074406289813425473158785085318867840504158296763485770622228247829655565517588175096653420938292165618504716178427550323644046482275281333007726859026402276880673826355095395948305951565187767305175776698220125315697374861985566688848405924611998594095540873022517457500216951555132613570446524709278823533275153349701944996713948854346329763509118181833463975433245306659131207712388568295558009467720453970298695467929212614411459945697813709082165440631048162876491431680337002511439825632543371593928888907289758845372021052386692018798346029179233971990964242406031651209365832112756737994701208356216539276491047002215838440873900303813605509391672073114251308667921212852283500715689044661771862383492982353448209949933993148610596636855299393047615856661625621115923468075456642173870097607012207741693671222233224577167024426310674291214886588780619093237611045181799891404406669951254061493183284874729718718326597155120813156695873766044146571512900802280032091073996121719897700993736986459652022993121647823327428514838606721133933136748172271241894628191511034120732372842678830248169060864377528975361212586379434648267305499024776880343672697939870230651527097961320832082221549068803787968544956481864449105130991560227700159508285326316582115264893559971385833747296427296172729447767339786836235442835924073124952604668805676147949877135507210729878543723247651826181978440746125600705567191268573848948982475641298168105423353876075918402907676160335501935051549117377760109183127542713940699567952252823502631133629615404644229967478710386061247030780203736491837888252222409174678201108526639955337151436687828501361587014938394624
1400752789970372066373466082106314565936892666937523057365763067975605881872761204603118898291703890877532731096397853302602803979569486401263339013090398050717416541230940169374671890366498886060707248391111835305580998525611709704952126455554674976882540389199036716663076968793145459169996971259213265873244526383473260159745019436469047311147419062238149959619396664022797132868168634723763920720590471929550800983252444434969048715540688940988034266543884962412087605269876718280049805763639650691610873734867910408437505579241923764438559365492349130635672443166484378798458105422469048392209883644196914639736211381158309243448784584110658436171297668360513743904229455576241995944229576362791080217778500999964469843611323456703602043630853640236044776816215786999664154068767952165172860015425223837070681538733013969889426861431528350721553871513057673647819616509105013211103900687622558864953856363731216194377977219321553084804616489625429213492508305621896692673535733485711243147496115024570373603225440921341340087237576939134276776677876009151558507945956973768938408210606631209112020494121621356123342102027107336361348796619044248616868043704800044935607744659579402139536242143660368168747003112563574909985475116320130638157727836985293862709581687265750287888125429958527729057018403935802113705192987851588676277119309449108538447975769197193427273219984005811614889224422968718421028183679429368176563096554846255481969688596511444802089686092945365438852996572816438011325979240929073574374992501606672559149887843356086241590778353554067908008342857159830573771276274456029193522720577795407988621707137127828966409193257866210974935670663102195557560563480733376303128623569260231948382587528742363391293641177074482992645098585274794357039968783176445222144580055746584600686603743611323130833083387417011910888949560159377004118979501790439881022178549056052226999569539431225527075098783867703899683622942657052632859233825310825991204219608546971225016248326714704448974558421764417450065573924377587705222842752416646369008714546023923189494683290154879092921414231946032236855420072883744586617199461350811715319335046088094148693244869544957303783071414550415311689162284069242880791454716198837756502898518636807496624595517229391602081890305054249529212935582820913675894736304216150345310633684092847002695989650634322608652994936055407614252158835863684875561568486895420823434691402907275358449180926339123064749375896283095226588413255103999958299697779883318786236668730517738304596981929063891616865222222650985001193556356051171097147562544520103112361375244249461680893306271308216338234991518593409493651176924954667091205554176
1504046855675876208506494536202967963946847401089720501657971071759963047107187151746990081940604619858738955307147750834821158692537399063235693536246043879863363345549080902699229134963652542412791975617493487429002138736631627894353798093065931641405016751252243583192783457924343084026510073994343228903734530557006701819151148544629726979413725276779960660027257319807353371027837741387884008379918207686656676548418473140062315751369516489713120275533333215586526384930269439741154821251496151412333121062310762521024272230665399760097205069036037613573561208592117272558563334503906206604195707854947762140442662487254482199816758009926059807095556734872365116956796216944961051790557667598530580203967804891687673785072217195454910685698320370344090509204316451910614876177215922390577455988259347978424552412322313069046554276508084502411472970112692186319806568653466929492834799377842700579202923407826763522289747804904772451790935593190885440478331278413604809130849695002125468154499979579395997769088737218085291031874794983966375327110943246512235124764610334440180080975713340340967266305683530992761230917606580328788416179981937604646585370414903717804441422299303046326135147153439553754021946916617690239808439864904189239333762687380164093321791823161724286845520907104453808152260741043596940472869317047774666563539616793506237247103631525597486281158571979650989971541389863779212337201899357521065070413345888734400780132546330198778671098557026590218660577007961670967464089608741318914379604108661471524232348462320590322546987010924861758164742266664167939812136745742341394050334978644375272526843067413453195552241899069767720196245300462640956379776422270444329399705177866871782919393382951477693838459997073462352379726739612777234153003322150936806661606580771359430911545556030450445554105595949241017827626162169527195106368563271078183611096979717118996457779844483724019996977953170290159938206321376831100470276062831743666742226718977790872824460907963594682662857289379886891130838265168029087325949503445030280222394228543059233123918874273221119732904806069291723563938773344404852384477739402638075087551554853754275901611962703844505366157200981623076730649631928514993120031150584742399347490116687983674962567033932110365229691093516866308448238737092630915701758991288068162032069658553693326027724844957220314819504965702896736790601424357989613646691571420009252202347491834776746251477339153379642104464977736645488962736145801146224920641432820665220707226778389880791532630961408101597231172871514602750578211378793177891187305003707096720534980001908862496260484625145123077203040733799017424091931131147535359823826099869057024
1614958014194880072919967759148608855821854167495736079100424882730777612373469055826177917092814264189948988211351306218878393648318562058374584919513837268348524629424612409987836814769814454592548616832090983500137826946971899751372726465776335192901536609240138309109715053748711397044410191205061064285145435252064111991519472370005668451497703829324619805745911164287298937219979251213866866658284661292281560338876875664705518388539435133662643001382543779703662070379153621039125665636975440346458741505058375804155440413227215072095935388128800948931082770289344472258936941609746385404109945405142737545397048586481004469406778211344617562403871230797337727875163699178782187358551855984431924907986682861676845288300426463171920309418805228189619250974131535747711902108057971749501078006113314883404291553590560510657085129772791004365427385455499593689576952353154804797315832414638886504999203446052204940440058464538446518690951250499303313034246859360075854171330406181425884053066721881543411462881271518403586180136084505710106598400700851870528981181620271151048979035330141758842974447358376134927974881956083276635793699164917970667415451001014354739722208080807926890980851775042594321589572618280254628758911631136537739083406892730719174982646971149955282742608825024470790489154517811743442384158123000511865616926840032120418537081792031318947609346181910665744855448560043829402988230470472409096527128314448512576545206543258352142892877660705498997885166793421227106692736230989350115291655944032062632953302037735705925688350158814768991159657253897878079136205926710805882478309427780612552463469564166276196330892903996396295139838066870184144360325572360861115540096262745019337366001495983850162477421598608694128239538530013396481105120882204406490093568800807842802306564907991230060950878033283145061897851832958027927691116055142946895317186177642350355281626069206390167544167581924853938941301382803488817158881477488495049828246655056748587277088687133526280159117562950455579396515701490515218710420302360961096821224704602897283514517870090155119457331599287207565647647399115143846393759877193585277156356566202706169454396073373845971004235420852742552889259692491852326324049698565679970445510447714528430036529858736534075731034693709354604797358471153297976384396939314050417736642021670499873825635949594482942804149492650885784245188279447145796730053899461947004556624612964498290152846440837216472677715423739065118960220177223252688837003787326834538975540251009994384242810924021208617388312908719407200041265740522941747639930400324784794451647683053145498499925940527280717620485775855655418352251676440737830361731355132207450109771776
1734047963845028420958339187729419959912710712868873169795898492758331254448253633210358103647759165324533709069010849044241029630135587357616321286721680821755722303307307399593375719305290712615768328645966474357391894557437958915784097819215755726061487771208281362035741257932399413112053207708711025196913315752825219374714390794087489333450400041510801958328140334083808020883842010440531623498831356927196599719831714587642115737375873776348610096965327079778864290928528780630755567586260131160809801044385885662431329368821903637952581166635566677838191664065453741407628351985030580041215989875858381992347909753464735480332986234612627154037966520017458386272693914654812887953081211843309250654532653023606435558425505770544086538617992305617057992406477772009669381596015611684049758588250393873592871342180122191895310025765513318598125963398539204559505246608037532257433852200972682297206829826711180131969919738380150883105672088006202850066635197235559320436282318839905103663952374746789134559336644775609916193200511945379308274201204015565815600098814625221101910262733146854318623512691974772795633858377709545350813710229046298634809163723611779108412368957994242813580428934007872904555630282532696348268036631071361225008253405134854747777642527150628362810484522300272111214546624173021892445604851694985963521161910490645196787649615012897071931819808812194041935407953199634903109413635897422684979230821837991448026589692214957933144107096014775620819391135312339593858501208213390117367872945325428845989521036821253710576217555076459734706410255015138718421326096186071028762189605421551193919421503196382442336115054285747447370292060985825494381335293300595000410697706295420310218641801884427948001203026107095095514012010134863082056994031798648565510506494848905804053922411480895541649026953858976887218792328802096222521999061644872380113012544929285290127141209235619610954540099977662099332417575705140316099779895438311613817552450122532051612324400332517839609985902272856995452191588563065329637885623263689874493862416234176124885523548311198202409053121591483351405104659634750539649211552755856256593411832588870476126016324642871206801138852511831424141730172225880622005828338404563395266428480740054387767279957150228433913595325430763739217914835197993552778491294759085804368503955983530061513308202477552175343415151007636697191098926397000039374861309626583595263966423207794441313598576176460902455816323238516680887123796533298597324748885299223402025795680504889212366632660445657955519045218891121791171041551497814185956646563277784617601977263006858336496699743246677919497849336733306609617029789568535665878408005057648188627255346985959424
1861919823602446870051646947443265806218680881620164150161309755333181392347475969737916885903925979688282376725245050928552019850699830936678289110574564545897808148390669479768088103164174862614314896361751492419355200744919106773071079582599147802839706215610874713577461171484389014531465527630202236883843662826326484204605969450292309212479576754101484210438029392847117393209646612418243468945316443055403112189769994194382253211069075682210324665380367163398351260390065146550963353638226230571087153090476005831034463871223599543367440127371321307935600294235235555686651194174520755709233252147269712646152398661272615394330256766919854213808655136454478279520538925315159120689449046824765276993871084725126289174642261134186532952389529497451225294280309592333118547431857834022107299493307642886550035108349812538868548204110949267007844894921304724439232280030484032946555862021618822463975371563390466476093942333021906014621095132521668771544547398222309222385454252810109269995041305909748903485123565191403462125774254093965366838199092942669763234497755795922782368415391408328615941087687168142703569478330639528167193433105543630476588701348505543567751790789117717660152741734303989082897740369036292716627460893145378475903236426283709902853825833522685221030263417298462852391838147572583018386475574242223720125609852369550108535609838296845885540331405153336504029657425852682616998765068978970510668576704757343969900471616618487531217423608126248306049345412199702325217046285213249285846153975313978242675003402962824121160875928608618335006217051712260195130737083017631349816669929159176667868417353866905513835554999462637481342721400975639504482716709384155856026263304270260886740810287158032302083388891446551907198669473320114371718138443660594911466234734942910722449045244457975320043694169261701681656148362205170532994281152576853709669767416127252738437485793910219846836498268031157261792859230067295449184914230926461991700842371010236588596679342492743911615365711320743215987995901101163306076544568626531198809370907612331483471833845958618077480217892890533116603350040147116218227928732817945323636422047507156427135297222275812678187736036773320854938458989641651199078792658709405149957007882875374868180442468709128120647047303125901843060904208622152998500617510802742432155144605848971282208131749602408191808406410632175265171306237793956570406435402345476628467209068729893134433124291187516075267594298323098487990166243403468912628117388443154921474663149036640983804471509564893426039130480070632369458141251485052936042164865777219873983089572387511794739572152294019631222145910901210840561445507713655658889336373566800391206925212386456974315749376
1999221187536649553112346367551764363286076952704763129773614630920443915942038489542559679030881370191483270612019767830996339473374644146440574650787670623518044238855060111787318016884201288438443885329838011305080626151735600438968095072669167622666698531574157889192140723558824647988578301030775747320538370653980794369360802838845141426979824306696927137222929519241276382927051168013385793221431433823500670737920267706745411116083166313010558357837705091817051720923927501936458700292666068938043681422334943529249581043949728885540922264574474866472837134467078510632638425684728090561090525802061297876635543120530016214758649159300867125348991353203600400820765311130898729099325157092684876891264375333615640368731836017705756648534838561095081998515476388956459124727713546411586748081658424266144859764503565345542785844914014964328466399781890071279198645519610701138910985804985321865201089753552611098251962036009756796095825356471338346282081620621676661936179280480883853203784122762875767010116533754000462542843765003093840381677006931407759005057760032220700103417382360452696871978969763862941222982973469362060741653823568402299514341483735602024549275421173657511129417028392488608346706949327462063749484987894587781886681127861112212577129755864968374606878200890524655523455055287366462553719820018292715063737831995651455598423676725200354586970668533826537522587714530204188469347410912965613767489010450059991636333492088163513890653365570139078414334376901340226935592474177298517151146752838481970986172793103509776046475917021911633149418548445424585082273553983790909711733235341325141695276641534304579661446061175331389067699646207418541109728416009421425549921352231416913484935052971029380289936988403158643346178090655858941377247986380648417162873398709757494991595587842832311490699937001224297005340083248792470328331626336693202401982503048243371478860906327247550583222280088615687108310179867693458354709119598536508835535349785016157311336077551279554422777565300592269770576680952886696788499248734344784202480546632200291955672726384541603032982484229717660954085756618037796500038245317949271733642122124148795125577134228564536159624706555516609318860363287023664870649949080446171669831165740983375643827857478802153713252631472686746613177028055227087417122311175676363304461220068035493081778132450401046664900157885484862312722032231460664084990370252605953199751389647376817491300082438390636687147989973443911826203196255268678172611398353069685698781579432186732783367698036242113640865057045036449215426479019203448282469443888347245139652742610746949305181807783786423120274299565207611753019683529066696883757851903161637898437438979421704499313886913101824
2146647404485048158007635665614805881852990901001574096451069680877604249193307086039632955391473114757022476252435701834910533283464489841150025733144916492007482117940923916060158747517305088231044849155707107883249891991226684381072803081133204591723884625350557883205159066978732148827413996115606231062917982767993411007126398154285960209343279362272293959516846636613571199492214380084023318029266623644580904263357934214009114835413014732627311862403102161261728589127196881173016696952916598684444765482092836604033442501366406057866197099006407226968700591217614147957892577127208388903102524603824360941865975053468551457184527668083779631953862612149062137744419642249618704142391271345785996770441660036937066204450154172520275439097924484135768782515572910107041877166578646673485809619428417416496243171762268708626301143159355550961342447224519847302816766898556222010813159271883047792768100238767291120599704928123869944036327597042985039658065937843195112925584512214551825671179407677650145554841553405578023947596742381449345814586725601390410041843144482350953299600368769017904205037793483891043794770528653936427217142169294910473846323338905131651577631768609371236751400540122810506225414744164344689621176289962552604651119155535967845801243044747125840252704682370030367938726305846277709658858817531393333238450135984816354002506450171702975499660652266010312099107773799652748419516857083365203375983161980602476329021468467034260215199481299019933990286421599948523314396993743805409198367598084468808917808253646137207733974559915180044944675536747222558440683595921518117828495758316815720220944793265638357937234396204015909502005477602908266662578773550586962654652755801508066789764360298649705950106590773074409067890726489659336001115324996684589747176588211694259269946711160714991466160309392379666899631598727870272887808679339647397275505874039106397687621687002111925862761354819789089510690258088905252646653409067166738727659842494641256620944935786916362299820450112137052023759066938218619875018125558645060034457847465375798617816560375190626244518544776868276277853620563471974914891881597454310970752534372814281725539501159271717957749387572385161352328524077111425449376400391145395102581641674769801317480898031301065863196253490282473489058524538918705577468359232866322768218857773117834438367833100607209377479012305848499184051013293195363638868851177468456941959693466509100828423654648747929860979600112019377445962590941762160111128749710815640321316447677117066767413828952115825206357727289401487127055396519977241585908407904939623341625870577465951349381446941380231587599097795468427982371192500402832129621271876822648443895742479652959454282299682603681999486976
2304945099576641389906958925524695748986758949896833597194523485896616707278972079156320425812550976286166630460286994930936982884599870361265898888353959890455795270965270769875657747288786637001683029758253810028325518074462732084805422657128787085282779181989464660930286462787882026689386965392299949407263013579705813954773575752733240332771674624587809700755801066325721122896638142270448470759276829854453827859307324647822153316001830232350122151353543937891510596682382947197826207768679910791311722915994601712548834308416287332897900021030648283572154563723879396156513450960629415528918664027115246693353530017449819968275172642906744126828189125014338539671032392490533050690367559416503190885952137333648712839575065458283131226959406350210199436180530564903323180433226107918640185658881814754222043832395563697578529123829211551953756792771479678367127955627438580788439469359794215651685993959388826679371731143385513011648344316310471762887164056412022946540603090411403156638702201431039671321921061584698759207808206581115524338561116553424435814436574278375048404051718433117919149774550364328483981460789098321964140177476926033966104455517609766222525098812826972215242584650506051736960840182555516822798555698609944125414043565706529812355977448334092518470471746581337050205919103876164091579645484494641454892893275945384748251680976379129466099232940145135645716105249812218552654585147323439873531059118138339555552440335686951850433958923573863553335089740611161725729707153522590208773721602589716444958514900352258015986544750732922706747297889915141776834046200091649824686215954711360881301910945324349446975890938095638718793702293179337869950955724855890201551426732100937853585555408757265320003931103771102486080279128493691932576466435096292905347825088676521492078841490024507272081019404883378075237322857746099506445933438717184111867454307713464350783176292423604751128034150800911528266507825219411880139998458947597752553568918531748813109825491955406450191254044975907042777973951870780956215364614170400565729988271988586386853351032434663307371491612270540215978318477348826306117998253709242625618399036910088302873230651358806528951567382346855775180983536089785538613253435818542769986646679040781741246749542537287215553092479692622269359373344181167329914469849344985126157320045576504121716783092696373560504524219195000213381545446722483836541942317560079528659325263397210364836111525987292681525152302251070290662172333833573579571903426413330658166338268610028242332372708461868854816339722496216528656116981208403615818941946600785889776710337399436223899780096110596830942411071047660648796203884080437657705625348894219453864659376195936851571439121072113498579245112674484224
2474915955439284553792593266985966970562088706710550718476128930557471498702597557118379875140425167370489303758362517500623030031567046311869185221380753250400845805616824077100173002773592818361013027442473725034763733443018581768762297208956390447859174874658595733810827323396368572434279041662153023231662307048810090059203232735741962460340624886939430036254428015537724776614364402349442842291076568208858907649434662143912716529131453581021963965417158336735773302197070214390689601164545337485220332716402642416985709039392682912133886374351086647905234476862802495185113342315000780818075051060117910442731387997775321521207406007509588100641787125709859889739870681075868860580559722478304511883702423917330465499617550170096325232066750948431882326008254482047044615419853311320981556549066401574628489045604362854146154244657499476276697582322838605028853312716796966183750353943977553378490667829207140683928465771936366276303026472775238900982959040119084414148361652358376935808597810757379946901560011849970776202328778776575787058003006823550547157564052797973908229454781140710456514963454896973930925408489870911541115136755758277623850952242005174503987689485065067742791893445108770515082700754189653614574405980391035669760159893457193169429484962677114262167238023314710608646883154192437901816031583794640034002708950750932743969540742643427388461536542152320772958628637109347206213974298050379047759568738161692198710226613691679972885134246139276850485140541287515666144003490009194035973236636832885259252551393435411764604013720109593763993860743388835536676389712186677049927857746869678026211361353118131246809284419895882204362572979991365003593413990550005682157556569128420363019599204652091637952964670533516861894773521857947148178740089495071159826433065148489932879936813305792243025538051578872881786932278153189412936756327870781488420380434600912481368903540740478746131281446615261805223507670361364512388791320667582731245169748293987372498379136053895448489722267099808464166867778106220556231149737644382150257549498663632854201486758078678540482938049360070632969913626321431442190321804166576942490048909851681538328167120362713000859564768780018320707763192155016151999417174750069046867474460796791557232180887875152362839858687985839194844952846078066395271572620028689534613030936689078667195696689364165225041502195370615340796689815902694616459062996559747022687724182929401093650831850981019044682668134896863519847811089532798207767744724228899438814644547938333669613475886231667298619287798636741368578167316160085022577625979493238441122307910398926067621822273596687546984724102384508735971459362768413693303125817182315579448923207735327416395134308164927983499500055826186208936984576
2657420772240080118044285212183631157375091433193187768501069178355948783844940734518233391058172375347894468789994224794350893402501577885198891788999213793579332906465758129632656390713674611820254818573843792590901674556156572054283975227574943815940487325050891960500656201172654665941858898319292178931879460122637403129773147104372084765505670227402137384648215665480176942451900177979360642865364893272240576458151526699228590742784556103857855372289292513383475431551585379455930100972251434802076053092797047987234003805890787202328270887804482593703812246334351348931814817824045320957024117494184138813847048090782981672367694808811902824671808078979422252793727630622525712744571895354788487017436316530215639236328419622050738510376576453122979268481465806609368939170291820310230585999353703523858065950191247753368737621243885742936385990739714880621296528624975969907806424204452051979677932041910995711785958323480521937449699621597971359577197832654754876057633247214937552734654728205035965647104195569249235586184295971252974069895742344203610661160841448128807726703387227547246234249543354418520672298119859078082699617934137335518932107364467525489350036981239386596828930520164735131262318618649774314041315661101578873297335726532372259663556223205496590915864348196091894960654489897461519702678665225265631533490729720432694211179677448268305698246800613285792589687789348424556649496897077733642632742450367113788369689171638647827709954587934452083480890089698404379794037354024837780955824721616567801452547409841080654316972329551500688049793559408324210386925587298157644088477045536378374156906948820170332420395233153786448201409868869043763208158892600281864370219045919132170827406597752086160750763911546217448425650217426656039781038661716360946161829762786450411376140926923708832791292506083705047954037043708680951664201936131514951681934166622296479809412504714739959504235083946029836978221853651802270661211389808979179518090356722806889579377050590053861166652432329163530365171248430600525793929284915400353370583268465374703336630455131247031567807741998884274213949594248828207028386689152791126065608218313356104431612074395086999131462642675995126430170620904589533797315444153065882509423513809363460010282298045005582353579687540161863243511066141854257652003360378064033225106972128959848994196328188640168973433042957248872029419336089583523991734723256968493119286346587524793524239010789655578416305584350836287680448881682374055432469188559915476945412834814961833931386973062406931780626762489159390513377660630914368137581300810856439437583502801371443489402790255534327057463357831105159505929188120834208633874899842830070821103719909661369317319016773987865831395093030911006947642919694106624
2853383827120552191855006116506279141863161727643627578924827765518097768416248397453507682572507296412460841478079471880152353178031610401331520672298638953283832403691764527654596922930157639438372369040268112547632449842581948107154302574827135269625459135849025626494910542644037159930522251431987318595250623260215948927185927678068800670796670632313265776890764686998059026031046329369483331024069486927700925132987079946414406417107004109986667064170103998989917321333386435428742514234449428990998220234580743567628167961360115795423814629837284495539782277132583731258907294120618133983060501530195586601849325874013036329046659022689023811873859408101300908180926201863829014289256673017387717184302390314995091586941244348018150588678788127651718256053474805382375060233654185752187235271534908442862587250470643511538050478011831026468110209664908565158253187890649909884977181764206095213202193683229556981229233187841957653589254379946715562332180269643563262891017051987609967919404355873099563739522999268578392528915235156329019943234557874499220738700687853888627395415788508684883217740235952540420846055089489257123476310604703734506598147493687193607701201282703432745120248472690951480318481416058169089147071089310975148694146157347234585138148485431221036355782015768642820966669560216289905135366127684862090087282253217108411151546308055035276201825113292673805568537050525505154983222126950585991226645040779414228739620037468330787418924382205906972557371194056288328649638412834763060227619700012865739751328105289237491897419343290157450723840339302546398444217225857795020603104160256361973821391729424444340723761512447451933398263351971047867442952621022446751962999609644748733601299149459959294049682451777010183373183592845694242375109013245844372974168888671810587196567908956113830966233426799848554868175203475326809673976022406184368102231859916944541299337755180813483803763514761003194715418581416747230987110803743068315793777780624357332016726907084304709147324150663152617488578362362230145981332678512077661118374626625893114804132470906575347070203464575203406559402403572796708877309543388238958392700112001173187133933632021404411086103113734783248068242011121306495990839131308283095877838100906155109830391573457755928086514866628723472294326128323339233353428045426471804623922962848866511481792930843373111113202203086786757874811299593698440451233002674072570512433971363185047443939783657240461100498989482252811459393911356392506930336575348123577501197525687227822055872539305867684760373747818324784196562425726690984431854028880941672283856444450253683433824276679666854429293258650735537903707345267703655580133383145057673565501085908984913913115755860788326811669443655660072981638781093035568504242176
3063797555104522378369592211068608673237306031847059898571448523833246602869592145518806294283416996703224360257247908153551497099271858081983079035367646862416432994850299577702345342011814888378092283124498612615932153575562453830049208296142784709102372289363996564815387972775438242827578675525168675413333521956561099634967461172181678829753640657867279334675466723772084983070239166325693801791380158796493747478780989790096827006181779396232580509162732514145127982217704463274116209260443693520552908575432435473581336420609172255029577573679370677447805686811213945434664934235976991190447768015387000234619656937133151827728823840128169812540870658774251213923044221998659965427068523689861471164668992744382764191609346287070699798194635714294300796988957079069316414627393711594788333989975027871112274215679493622532631365664495339939660934358621351546245626619521146785331029345878190586141392326232182723737010605234758234695686144723975390707740936623891447755992162616279152354362718068727038103279686124594029080985417338145647017981050631998356362551103966289020272410117991713546347443390109871128912970814992678172166446969485130868726434924892715749774228312281123526806742694400396430772666336588401367881194715694433359377523713112610664802118846729756702123827694557819304589257216791916957252834992848160717798770765772167853395603273231479469853291489275882217828182329642836063633087615989081760088545843487042615618432840098193841918552118267843696288069690551056988674174206337663498896626231870147282867700346195729912119120266557255822387406446207495057710124566344768790040494641095654413375221405770717336595209166516325743119377809977746932379506163242222720395626781371240497238749037510785307358658382391838955561696623669009086354147644081433097457420407406522837278953873102403600813311162101839870227918522531168547615435859630681272286377855738132520281594251239912119903247494404130494363560708533910675947049674901188200757018962018269300507413947722579860171637318252304301092560429969753945653782420176363873878897451508605438718830602048853146756593324104098290930106301162238854971119341330294839332437926545143988093083230341607579401238178393665617025438653494819922268252296141531397676236763643671040456204978718760837170427302697042271932923201876760330191671466148974693381462676164826164370977284354069302639244404023224843699546248481548222356062307340255559370389467091070079291982441050290763508650832276830949405537720314307204451312235348207645083541193415690855157820010265794061737260710904164074407623313529641703108214548672370990035678264418170067312953062137506151987251822574544555410347861269941891434080196981465082999417719457894159453551889221101548108670052915893674687277943319972725022621945795969024
3289727575184670369199384086849000865944044963481664184529362132302817679206999504465436496726556938992722111263850478120978856573302873968817652820571817652638897811464343275508546016609669947797449209722423559395700402040472551001392822925656285817990890624708753471434608905155561401253039244561898771445976689785981963889495695939667533886041859590618972462731942088034342690004847722566789840800970999183556841222461701273743944166230083084476389724135241122562295520339877555488890550519274502530055461542290064854165527980622523808245651797911981862374922542954245605425253599315377980942863317805570497697808938385931603774374481087473905448299372535700346102671943698561502076833437495599739066355675088625596314977260504977726920818269940058881905410563576481937600029475158004253917974632316984140778930225131868881654555102088206198346311581599770360134610999478467590155853075893640775241783087718268146925286665863572113255121166125967449312549642404210005605091519731617308189142147319256712727251133030561569084044926325730061731806747134103038267925727627665976807138470616968477720140612403433316586363952420149004807226986800614236759865026793271607613476107496221175176442784796184156249900932481591828021992849029328902301944469816320787292626479689552385396414663422616227773572080614763316342137189074391811044174401386998084279339159652179939140178826216098762211779997813235268063498371563543928213162605615493395658459866965748534994927193810907978210999253978971407496146955154006755165203485437654498874655008520409634496850143900288554067164873832180193625736654415134241053476353749792273328291160228636094158784161840116759329195156179430631390583575607938945977611842301852804992647801355015075035595686473702302642859071077233003388654476001321300778597900350583502940797559128516839381121452610674789216014448530106002013168028950474855675667416009173471278680876004954257501224619668164920870151951394315933615044458045347008838448119721080083200050034777750683545046358807166697712458171028905947866437489208339303347626433304691801555466277393790953714906564199849757664778574996323835668060361148881669367242598841615360924117701469530809865398510309526851909670979954203631917887851437751196085094151824050612229035423325967363444323141610857322288470360964435072860150847589671554343001252461693141770374616961964905034838270300357690382036065696816934818616555919341174592944502277984753561050797854829311680140131384428042536554353787511086071003892918776301751962746153397300689037277465686492440658134924489773822449713176174241360361880758874808405245595004713520226818812999765911194446012996718515846895575981034486362882439246469157612412106173028639565970603648810911515555427132832088192848780448455356129396040529341392911677259776
3532318087041885099062900089089820602376338321026815492052029877495356775211170521491813928951343276913902162473577757640891930122452617599720385662959528209339888549431332059606680727462401305786017896994713606366111687444470318734168556228703196731274870914759276421184528862548375502725434243999475267755762128352282443537809242998408011788380394457183108781139567520668363694606871762471110885486304221634454833501884416895812945918002048614797224787327830625619846745636769226367302551450929951503314366097580387373589988011836665369349112401558890796361366303130410024913296095391459104507027298643244943558633170306013816175942139781917734788460505964538394741714264100518733416158923320715255799032799602412209440331362213137945583333312737963194524516134003479679181709831109918175801645228089767897499041320701823533516602133224696732300474381299262264472074100110472838978830125986048276008886213618965238200657296327230456042088378257103302789484599125644196697461192083558758964979626257855413048002646086301826932604408490935014615542775483278568913744371479457258799638557660834138617727142698539513213811883799460006773496673189315454898905323862816326886306122643412597741377197578694244171669627062085255843828913831708245053607653767289227116700778052558932039097243763746031261594744834771004617495393454970334881235166319383452898603354799558893428584604547452903101418929138699248071629689303669389383726276962172521314268378586600177490780955829725843620430595830020016728760104599109414199407011784984579903478016219440182171821195766158306170400230137295031000371648655363893193615381616171195184625901186971976774288651556518165535099023448066717430796864897710272734638402717191789412321956816523558216217377320805238472743519553413809931532037967422959908064329685005769911961335153401521531800379691715510043618883975070137514966711423767677199327883683056723783182416115477417485930605356201676867932623447292133792080750222702371983139405398682899785293481233525453566904863470165634273831464084281429186557498044542559587369712567194122760012397859299064916543350233519779320937327672673548604899390722098939226547993930696364745080466366581492209070190946634166546468001255894044202937519830211991742590653791289031443121201202636343389178452518652239437778019551890914262431268006079938321169286452502884172812630380041535756094027897311094323234662015084046586230449909431389685730687406735504332833179045299712332098169248315411589949458510943461978100713493707550091126874634797801438523343110000311805394477554259752013464607174062163260091207146104740964698936348326383805805325987883561058946480664624245220018560491406558794184516214072978854494859921909431051803844292255283561815088702706216661918313274899992072947284576352952743685011811204071424
3792797665728544470666219032389066473428348243260430419347404063564360935346000220921651489140821737403670398891923733295161238036562816975098268791729613057676065767023112648431754086891125669494660610415747906057166775064343458751487516688454331612869917741378173985402868261453338000533324736344057629042960414207101865487464309541169847673869066750295281124651216028213606532542561449169825349488319421956679794169929681234886610512808874115389045533283396941916115375260488630586696335554775372623400309499019727125145083155967634663762549642830863847101866017455383370018287991317703292894782112462990550975423831231281913149956818087899310769709837826326335288000282822108704164436233400260935746280055680920560564331416027139414454261055219223034533620766442324693071503941494695486576011209410003417997265665941744961004241508810976871187151078241541353708615241315777707627587356862409274433836923219681375858168243357308930738983796038984041293605481485078004936946756557014742262233576020947965534435760765532185065146982643497650058759558497438012085553580102086015593563955443473221360867180935438099054270474103708237888026672728227473854540338047771128607882576749505544283404632400155541275189914487043183853259517081597240079699659936449606259836554288373795555152313832257288679585762467701597120301926079937509241268270856718155270764453234997520625430047025100774730212817961513679611860145245475260049848488542092302038661406049098616537674886697073260748939911631932486718849387970678531178042784552398838637434229079363285464063572143815897140155997917638937012475598705097574061453765011003727013800231898143055378510333024796254150791161457745926447836419488749001669628106514004068121410465987423238738051433104937649906478600969462209702672525561577981551163865665315440835793683425088669533930613694075169443325660040236179983251184023437942668249533399905164490418468004559716882152622532592158232032582209400623598760821499412851102302602399057224013070230914995390463355734136926617727300711714446831504101084231223561176971042534254739934415626340057473324983664654810353788140727604942171035577327130435192113578792226686844271551994983223864089208816171067256648324332426137961773198758700527994320362227087211199932930310832389740959386813468875049595604505220755012929170564383481116062779807448288936216976564954503611798509620629965699114066031572099859694800056570093495164011255068882010307896200755818691746142381995746898967903071649352756825240508162434957357417936585787125187789878297509567438492999368637925096725159866520992668276119167420339058483355525511870694969472515144696751048565667214369337166010455897214765230923032256294784338741491175530060366098260578177245300550094365566814707361034794530905991958396860286746790149063623803287032037376
4072485483662309628798260519020951312836202176025650265495166528876608852112760348316817031042382125178666078401021768257235958103477137789420177711674030839363316057827356025284582372777931765776418042088758554974002901329785862762290968882291393766703807350357360808875825141884616035581165075186387530169703689510529070802312576861636315335142328869639807693375768061952113339870565288063691556521025562826391011175964861880885721605200975856044220220526767341329031778026641537337421513472700560510929513403641968015335557852520364528834026756383760270682814731386159178342703461154766897203649585518584606699116563719344807283844219374937198274211085218383834471372988989926867535798157182885899224157548201653204699447683985483508378410230003253260962944951084059706738836804563703618080693790636343033886618463160863912171503149407210376890304644114639325702517693724603315766584361276782251365104625256448633212779134921352775023166129065342699605487269226185885803278215376412969351540566230775330722034188575210164722556479971725508513806195518473790423676345148543944588325804178529665599173289079355330717625053853460448513715667335858024063486453256990370765966418736834074216975662923392508772529704727721772597366222216553377396542618232343124309518719743473501233192338052068371184112968156500653979666137539785270978736249223018594694345837890908938431826879477137479642631819066175660147390324388781533472798647010829289167351216649563782077039597561108778458194346782070004934353117020920024584752528235331752574040303811709374892816306405656471715467484848625834001196660109103507270720453734582521914595934169935106495054695384892167160238072746718609992669717915478500530925528490013009648103527202025789422582803987909735616855762421918521345218095271175366228985038442366774978389194128533275387095887037315650431185558837607109286008415783485915311413680879963092746961956358501590721966149964529003428159280048951775529670888616517969671626806899910479592170629582768339507715791133042652272662600792768308010234161662811624329936474005912266937825075000475755672799304856660399650563534427217758142260768126078169093824507533199753644940190404125641227475172992402452180247895242823720349996709481640798384607378053324360889213269618057118736619507015617662980874843818351010239711184608228449030804888959894548052636076619503185147119640536767398824172444796668090858838696056875373347940624174190615388787268202222940688796666207818035540139961607978717532962192473019799394316155159939400274853846451905937598858480953312134088933049581769847201925427130467276235354360835603594573668669042729334313397760812098533931098303057718146938538783077858484797217566922599293551184324454076439329964308086527455834417751863726807080224177938376880164661480800807314591234975358542413824
4372797991441090540878607177720742956859938337718550786858864371899718659802101550076574448785712004394337240909240116912229838852415122672311349518537019966890217982620034735686457596024824401132311884698892380713390147855136297811795983346398802442562776572117319646748443877352246419584569087875728886615272669114565151688300249697553572852594895500094905335694529916241407178207352696316593600072285082179835679677284895755890305451924703702248882444246093405902265165492289204894847079333018074048827827657458974979736061860622739206335148482664302397021699215132644604508035711471432554498267205411569021495432038316621517457883377843501207160401062803406896757406108982375992374494298589390607016827110669411031829430327995148651808153482583952682360300508188589046838663722170562647073363529943341089895111517826422822470805592466242588833923156487323694681951429852128917947660250327207143431593930273695623188196448439595425200836041677640485459479980867703901585467656157734508288779264794625508543680226631106123452538248747860015938941793558506673425711971625451126006423878084921264778566380308146273548865954272712850698975149662581415362963836119451581456685059577235994835086820070972644637352046248525399473209225038791346439124042194531762089961370699502049309794190402852499847938498250414929661319577433003909429042525455642568653023622463792876569693493222009763690242357564553430031062995749161968888599873626139988703175136613921784171739006005490891244113505660268377593901316130128113355757022256016617253966730864298976755312385336952463857170466194055866893966120008256838901660641787078248959098210578610047209634275602338497609946928505306330308273809544131362992860945369030534763284279438736787629643966745012673468600471487821450688597411294277612358578396845817019842293173885461409558834643810345262557727568428751577320126014042710555784786853726605496258804101478985895928705410729170907441853998322288288745267386062800841283989248688005663794012067927430035832466015644796244121046486311810889052302639410938226476428767403236824285795190623947638763889872782722596069365052083767590872861928651336235249383553854599644035068728415433163136758791163577747146092151810190464399071385232815085370304579634834068524818118044696434008442405056930105935701831917231338407030164594439940271027473659914634873693108917629103993677951176172965877202376166513705001367188025890971119298752444493925091238910507432061189832348739101700540966707592241041117023604669019350189767123674100343380587670422685409713828485656678629697983550871811992882796704439047019157261244689975167778487499069592529363973499331898401090903382248499060371686648836760103480040660432313832278760093899527840201581214019725940253727158864137421272016023148453350907433038737599826641734456854076385400744574976
4695256091313492945912142233585362705133943503269444720518472261252218258862743997412448388310964992737071684325014901587310915076618280623351342727935461630773122264416036396039334871254350101751516228413466395646897958581603736181045027874235873966093010951049718339490709798029833361062204534669701420043772061992421650940632189569906621652462126227361295828255976859087615767855055934354297293608341915987766658716967615336579515319866775663912267937646378638527870564527352468799302831164107530254155456730877646999912162100801893771286614687086800435465651482835894219588216887492473714959948833978000791842400404490127077672875541304962172722610897746068674738476920967479181905999599244972897426715140502823262322254577262429176543627618461645586287241692850542539138968218766049175774821618456441678518125009834351756795030983604103975761018683122536376806217628168832954640267053718631995014069285919406757662910749817853145677201257715889714873507512748373489980296533015810682637736966513960178940618790215617264133497596640292929610948434045342406240296300911748136860991410572056985739724821297146661819162282872283289737757252129373153480330411440937022952985592864010045972680701381365976907014204669024019740692312426778291080960954028209497052409174264423486317636355067762137989685205751221335331376985319822855509470919856308082757542807499360337246149554533132400610569800013423797707009957714609418945876481113501045549486665779281560329897369560282743579840064830690892087196330457564381788289305977983877584584108833549479782582722321490193143292291850135884476628396291868593262743254141468018668068214021812847475598817458173637089124055556485212783952402551344218195560610458907199508424270435074934605354549323385250913291476982593398248700640404795844256264909876223413655708064870524500981314145759310432288493304619772532674589138228069646072410787771626582881353491980727413564762321675009140164351486100266767011182074478783953869005117882648808364513278094410626307137418056456055270881731001234856754081067441115096848125717717623251212597225270985235726832217336848515989535261546279613815912519370243629273966191991440052575965416414147834336552945872015052586455781556758811031265973086089534420226554772659986675179195337559662578520579404774955787913711722949394331125823354654161725064093921708695733573248385445739877657447764486905720477039402166553329165926964671130554767164050675365884386234188022866938050196389327160060359379333367543736651922728367753364055297509062084260498531431565082804313516212159949633733427035096199423049151645571243171680631717924251165179195212182585416046465060295370570030187463272602345780940278430271761087606326757282811425939682090295876826340425674903068152022357116682903270884852646523782259206171973095240379750226145279895522450892834996224
5041492839634060471554836945637381410712094661513483537676674631490361357317386905426693612770875830501650102745893709257539717209477212388261127733542558325708346830369085214733661800407451046189258629862276033824605873989287648532250082455812869918586823732232099284531005969591224879522982074517316440293189973683983897658085722941905311442792577506285156489635163331578527530387848326575607438277284590488359333817142307040429262700589695138367969551345140866327552414791509137739466511862512862867232063689765641810513812773898697280635528480897770345900882912528517752011708529683771512973151547942211746106303330855566838372263059045777423590179271388141267642954932101524941461775806236566221713526021291917726835528105582109630692772734623783405861612283210189305364667124695888671270153577876051752441673165119554793198700962471584696819287988914070224738259410610956476666749610106949901111165660725481328970899765658629304403575793674953496231119886016141804164689323421272783214128821656926523999066407494790234476591488916164402134763381941789653981004732441433307501722551635973351300114118877672302657218467763289418567739953570621013794601924103262187294668616727523530717030030470827223655679310515227167256182970567906788708873946451029812819176450369015932507137903259170561643184286009131686826428368648927816231627754761470058686026963882444047347935759661193052265091930745728893034931889582647588946525570109512163674212894777524163998190043324460071047141760839584289649893354911611933898790141240494512560264055300349930816001495696362394383790958816305239245788259604625819698252052945555424402317614680203702635083269749782404796790113975497767403669170644662594497155238576700493446907379502826633859834113957189645170335256338943851685918231258213588159341807757691742410186485585587301520366040784603848547675295114222185699112939731595629772824795339183222549911674068155625887830237401799049376742424462411085297169669046953331929237412340650349444738944093311710096008115482589659762401363933543261343505724798089936683643159123429906701824356439806581286398790785232147970296756645019332952713508773040725821008254703223034439573004781446635046180189973190713119636948584099765284782846970592685715684843414831839424422604728603607805885230151619895337233825980009865328798301542328158499861306724402808153627957758993563789265444809824892572421050437802184523451894817696763282017826623079395796568248217538832099771312874634358975950230060917970474192411163464648039902871184242978883109384288650023185014629965498195299473061874435105183972543729568268165107906646276238939933634353980996285661530262593821174620133221876257051985505518996787857565898641086304851224336515161614427483194099909106851420748795019246481387695467774649673222378875886448962331071460485645324008805854623077376590872576
5413261717311615583253590738031270758521697660714150414338925341070988442225086762746573498065749908320356616332163319888316381708948252116206899480910972558272466417665120151679553695768620429525962810436061137350318007218371876195689126360254910349058147616613381877121417334343770336533187022611527274185596897121952869858022292500000055143872173825259995393306297370187044949712863689612640404683818973958064001860243263229158558275106345133475156009237793207347486311313839601269042009234172198598523625897533130370151763705040486809333432230283121088740724941708803103061431586019010967539031406115893886858407036370131817587746928027632750303739719347293816688618609544487543826660380467521190399469835573446576470313696090998976628024179692409147990779864554913240127550663623798947190551099468757854585118597927323941717115965874794900533229283597885542374548582134573361640769166507525221895722643313543485447157957299469190650146704822792230158379791973644194246444310523683358649895263536878988112737338680583336864283030611718148232050327534585884889892882764296572771252455735544210240377305411864691129441804342639580532824565304593920164545031340546305336007106000568026875023852780521601916905050831682398344006978095322551170248916248407077894841103997072640455275145265037343585857132427582738069205967958444169044884791886605545734921635512317592977314905213435049955247141246600621816828662836238620904644604112027470373735895402738870055491709817844780501327584270467006570420812308273556684654357648786200578448836659834602552647254375740307510659060154128468528529070185656446480296288941505254090838625414051100358947916453015382929611766325218864079943479580567270079947828680501551735382376826425282996438441857816667519108568832885133542823316746048073131796475301201281525251793212818217245715805779718927457000622335683218013832243089405561942701601379921292050940091952834922056660458510160732159249474020451498164802542479952012268576818055690015559031381034586541799046969037078461516820247130090556217884527499143120330739516642313869158166708611304064797662104009129558825064337301307179079909908659404750969333300924095279677961935935191231273147841414480307404939707390485499374854613550117064721418189177395927916854637748121862818471844957660142974090543422274380336138248026161450114202183229283736537598555581536701587346230330272713271315430793081716161395808317809870085330047558781030939425123781584894369638199468884579939907572158829692731337504489616493345883333688206096205143353077612018392319898245839089289564431695920808809870534670106394992124096839194371607224166990192616613103436550788688519166444352780408949291779517529677644323860207079130312373667722979435530150520562182442624855411802609767832030806182724885561086801051813385325696271961856200736018286190404861934833818421505818624
5812445510135546492749534373603202833292951189791745008502633449921385243437683279189761077563178778487732489550965232962776307985246333348867856210018000856333424380282491932843560648800539581962870763433782520994044984050699784656661423475026588543154172103923705359548894518043497804186238070192030538809790926844466024923387477381611579210281890345979724727840301128951040865474678534348046361581301928383540140866156994543388840347522980817591137472043548928192100153725153969910053881727724899653269001778310860504076549917467170300501619747124586474237331861992703920738041535223265734961364373196164657465795600966499676937102666550787111713274040273211352195158985852641864453718256751730175738178029881612612985790109892930911146708052219031157517905906949665490616306242211828331365662013108789489796552006594807428618205789217924032124448183580606904812477085757790614789971117608749841484317968829585585967348840686846163000492268704014525983286526718521277057187419496122164715184717679049135963444907667795305508661701741274080256584093946783671126327623103953964124353346585962501936142206361140664694523463096716944175909940622161791416788962081735355047945202874011258212869131728064736513659525714823375386588632128799681961876405866587852913316767195990467622943324898746160729992937976202237085343454267385398272418934310184239845930177412059066750751696946260859844478183812910585469135802329263870109397627291006276377201142024010048929082649716691362364375114756084952966743627455447299045548162791356046395133508965808873683194518941999379136815958692019622928149399858170771481111717348482880833080527341735983728623790533260347566899801585902280316406593581745055530343807392241249395179838631061214764311998064130017239569189552651634472754690232631402836220539786682813416061362503602252765843145483545143375003529795851638796361889924829723156101400953397605103213115248164691180016432069376307081847988705760204943007734562261157085732050503232730884942734745315960477160933995544150900184378833594199118565873978308092460979731868396449450387266200378133554455898494440485145139878451256808049557107079622652060077706598178951151204981693623378456035605462046825285060668023486180344307252488117812487501618314114163211616019078527621556983739697483204689100764835384095370594815551774995164108460525393329483416517649884598685340836674351145565371237539109328492187413609119541590625320907772291377498765920664742091302650517795960110150166921233411978705874030289002625692633605575061027230102115031142192891115133981664144275777054701422611065657100535278832907793374469199260074688640930010273486386262712115049137636918948935776678478847358156047948324905470163093941791750441865820634226942987281364787597605205340072181283454829495912552605183699222867227949126323535404002417111439327752376633328792458515946930176
6241065843953552178361687813463400462461941336869958465572513149322000847895462074531515301546893056851509844954514350202036357040064163059325400261914455312313013046250592523236730317697714782921010353805662147311464154312649295253650850592511467630823863468076956949600605816987626243606926101186230901005327698848627513907267530222490361120768556494260260696289148514909149825593319955284517951120870656877259762430844351191376380575994119304997319235466789233590230641451527218332062370904607605123918025532102746996656714144008248898579237302231972236093321722389362182545216144218389597494115951604266549111658586192945526009855350457505941966702633014807415643536413439405870757296204586703074052951824241809231128768358677596081240648235585149762586107601188508100084207548655114346895442340922943537206179140471968557333262083722213283746739587631327709000343524019774516934664964728537573155082443247054372240689948643379611867549881496146673251789468713369770610193772119619374068110879257627265835013332482730117395507663426619607018626993043806857968599156453224071050913725183715549624516864181595580029670026076265540051147716503371696738970524368709357214468289585990890590021081774988502174256180056009354925432382999642373440365070497754341843388459498806170192072109925404317935219788729686258640897124251522981251993555418353407468222547671067901928689880450173365629218361415481886790537772096727236468563687868717257992704066251743601731442450953553266670169088338407972497465513884388461613040343395439572689739278640467973663978880915584963561232313038277804166663357548217625473616076933532452098486524966797466495206829856976898263356954980084807152697712918089629028132647096449802573619296739741331796688094906463433683966466564465910035356899394940626801042215656817374986813398270543089455305463929399124233817806089436086274594780251973889831047354988656483500755758627286568160027556120144210508447576683654361762118940954990136373584456282601230356899546140983734859058691609919184460095216865090427837388113789622667633013026123402931587982620716367566612477079776979380379187397823390780167549330547837339654705194264465502087501736841597775552425974817762520954990361634196526121689417303020158307219964851548746551074282312997047604977440601116824412240408154140378303812433215506449745100997738367831916956629413115282381905872032403893055851223832380521710616483238498439621561893372096755920334997477403599465604882503012778668503881143909628107759094340796744926451997671013862596289363512699796434998265797355476440830072013732453289800481238887301670395005281717673045332046557544270287392011224893049599758895892401970463709606539107764056200665841744160498066542823947601812211051674593107501428244425191213743644222955449644550144778785897058628839847918677839318822132249645675046170706605436806124357189894378881024
6701293422990786487273252004546763369806328421631747653628071473216989553748820009230293185366870972396675878075417435420109286522513735520353475486758104979009464287216907576980969195120843751645369705218177015581968217162281520557969606974354743994837773782939917527433630561437303988240769170920912131330623997079448006679374804757071926172232714131994057850749020357805441728021853251002796743797266503583467041434301487508325047950186096275821433871000395763098736317532852842997514887816877899930027486761318574115600702146834015843406461269427397139900201900417175388082721345167300700755957891143060890625337870004074545030461525976401664618165432438921933481816922376845773143247488021203724880023564345527660892241316319968244206585819419580413392374132760413255223191566887511225764080996429431237088774654361123739621665405645930000607253718876269653803770072107580501882146048056515598652071657482468644276893392474808749971075056168656377908908435400284590681451053869160452897631675728328466329820098684325084751986527933676626994343749486492487578912592974946184730913700145397469350991252865106705331395867917256924082864402411765227806477062717894433741330740450222063709513672543529311903613796616611906918697150910702593405546746022147334914839446842798263004489937650832136277238809791507966300812639190184920667433363831147870811544500374259401044764590164911090726935831080550742961433533352036207316234892872323141137364642789364018103448575437898823835585763300899305645570456255320591896939920503005640061661239131860322255544646691778988801211119489459391264627913527787361124989390322335461879421548957270651113142268747888033867159329203402144506825888789297920868150495807290314939837877962927110891565072183951156673125193363764639827184021647308044993054353740352446253232994206651382342334855316719222878822133594149410407904764208633624067563838775895511903527393646966415866848311998706007734380468396686905384013445765959410931781319506928504548061489658192036621898062452288121614775093370397757911057488696388995416017169285502312850227675648292697628922640797927353098738488176701246161887443792413784336150685471801526596509922519465194596004473825802396849049572803521798732366440896442025489563117428917840346664209050248388801983308549894835481486743777931162951985588194696080433069080375814950625438427794930452827022675632383943234490626950412531643628942876970741580409737118248681406383298882422739674364011802090626462827648690540730575586918510075174510591313827718176753425116809925326588543735354089283649965909598076437443385169321520631026008179771681168108730466356350505739133302335645137282167586835733799506897678731623897910266541450928870234542718165159608850269200098035857706411645774222645393874416363247172079424114237645613208365437308083746858570993813303770477786618725890564524701659904704747057788747776
7195459023161330618039334393773697993992233606185913781914325681254377511231204034558631840910594147073860408861500326669390351590022515442677929893890935486945103897019142225346966276856866670310702268435307706665858975005856263885407783529206784040070157805793287128316156517979834845976118040747587951638671757682257175605076086039502286907366492624557876433824772885203147638171896621592072804786137621771814437313550455363102152170920280154640113502943345651391509025682768591563737263111649854256157186005234058415964284778822271996944152096820328840568825966522204262127849080043671039586180404903143645643114785154449889412977894463724904323745214960716805450372773066980795821520771071305438228270683143348236848888658433563670156456890556114894390601829000584283657127240131214306372400122789874983794277347298682558871068082575960777028353715736989008391108615301405012317770930674594713981127362883929130128678672289449021245102078051435550845144649275687746517394657548194602042969120776711935908103618353167216710552602126932892495074295256625506975278951517488302694812225580708143945917444059424899737163523683538530741364350590278794764702200336874366724863613438292019892497416909827882760851190170685897635000098522461063764802134791085223788198592320137248182472745842850773124138969309122823446365095886323039614745197478512342818904152089025971926953036694284095354969565195386445671964803756180191357776198685172848682243346101760168598365894080891081832676533595139881284208319220100142048179890259312273442095611375543878931896303052266337240288000849694075550411242552640675818492799945352426778292562042285086987893010016855493632297431837477485648270810279041901232375576874624255261035973348202760427759346821487378493111216902761339874743616187236024920716249116307258042808361096431288208380019966550196069769008696953663659908245539668184054036295483671974184707215688459731439612247656811674384471791646232953343946017697266335003856413576496193111027839569744253944671623919585760676182434105301196184929297681720102151521914163932030156022103265878183637959871485263331535731516393853630356938023180363854155841066157342471733721076240149233550028786837877323856270340968474289794652030084533855559417994671252432239968020141131012645302732539918875658071494495936457854506229889885836529854304280730150571028198260220922371633284222876288676914425492639509279487859103910371659181793800708842858884888585149754037028780072334316271499227702612415594523267751547480256120624627930536865177083170902281474978647902873113285167773309657700831882288441838404811497014386964840991518881269838426015659460229019069922085027362679198260986614142659850624159384543691971619897206008576411658014593804286000671086897028455715447323914252808465111402721291113970191948796713739492296676288930589505978895955473530290777142853361905341287288723443678183424
7726065296046505384080602215716504727294361954140160747299426268720117916893973505783144387803819180402811138132333124134587041084272075932489167888810579526818764046254841935959470602978781005504220100430664922956656374349558515466143080470447649568359020330360321888113911948285156662737156045511621410792931202031032832171282700282836121596087016827175321435621626934143770355551984304007710037351863339916290145710585325857607887170329501371834277536217417328387587039349078792875558261150270830158340380131967291430480041857268062905822936298573284489552176390832114540917730792402813341701241553153760001406847722453107145974889173673159480602803673623192151031736402832878033878371291183989935304342691684064789301309720479367638013928387043091181056532176328823465799737193418576048659195731102224333831237799650368883559208023813294743278881818452612082137820269975844927688825826716716878650853996199299964471100792293971248026730656353138774182910357257117239800036987323653839904571790118462970784538275551529643447792031055719203513256984804363619944560744311195458034191794432529021692143953737784856234799082506229860772512630051381429759172991406528896985999962444462584884014460348047034361694512726443147057682292027687047575798951209673707129788546192056560793788970951591006494123155335457560287330024226915397209160765635818043784883445945244157480219348382459534920634948397381158560692394048962969941167652160003896299347966855167253041356918529806793752351363984442773665249303075364583985471771247153793471302500140771633556369508218197224282185964317664066523492371528578815269941151944189815051750299172916354430378906492348688477163429771688746998908122274976400001678799766411267158626362152514619103537341289152460176171609472030591713791141977238734916879320712582143395323719726132771291535654724040026515511406656938890061672395238403180300948646474840907778768438679288167786519400651764693278076818838774134052435496399799034360835832547725385920091266974396570444070904548458043992871600152985914460987825403809113941641464490351813071750177745020397861229988047392238723493079587022299448480404064638165744962766629889576592034110709340900064209904831809590005670429748591510421214256228270256258122017976732866957779667648006750940734421069596646361126886822472772844796645901329337267331591132642199925930459155363239830279928460581608730300641920378845268222219620087727997847765623165005424228434875455476212870645855363100691152459967994384685509457925986970272810946652013455998914483366924319436704983760284751499374677059530376506871605744833686695547180398413870190103452105115747735343241389162393868923115163493071867609395109123784220752436026661225301304660672152595897051454170033149378238068877834219807634555608630158451357921157684349345784731098015848319467147613882185545038648736371198138299744877376773269155901925046573938692325376
8295799443320074679928526386121881252789670789554660552458489035929053557580815526707268003415836160931899486185727322083889910980589236524017419989173700851623436624451294349148813155316816150146655330333885339908299688335321773991348681469317237344042627176374174601370555735127097787173146764880275386822255235175313697819478967021337773095668264710729922406070664278115059859807516153404609085569297872400449388368509663893982257047055797484003839387460315742752094686589439635781920132345760139268210608575751920208903209339419357521445059842265887085482662821061811544941926894975562140249826368347911216368831239597045021386511759537671040545347036030067028951300127064973227266096184345132472731326916889917358598563984856446362007647203709026691345955106126000531941811432781902641970037578686715886665138183174333647305707635484722533097878304425744554639100956068036168597747947597115512574154629036725411374334960005573832059778175709336415516282276629748702044737110036364952403738899860743606326648838988514045345701864198432583212151763044577676438515432475500634730148551719816756684658215356980729253130939123765742069143760454407510109342288524382663358455702139048754593116515096487697513316541825682277754016017454309348965213144129162052738380958322567065897889857540644343014995642090529532657507704303372328493048790003039786065692614876651865778153967052273550631874264730349922016191065889060244653086527520080123459568735941758830105696125137214145091241557853543491418943952098870777873561649159429669010395638156912390582275802572190077592491448033647530208192037855181885235705664861215518215889020626472897805505528068219922809477243429148978762882133219948189294756197523317207933054767432125613302897429687925074003649865291513804530565386741683285713102490209808930399124443889202582312748329664424954719773582076627306071355590153731945663741468596226846428190611821131028300715383867212610579202742672062900621482601546665648388042541004353222928942715247559534847961183035191236544378194946065774839649044490879534551521935635901586169368078724262408916722786249505140850406890927146490538485543088621597987010639853263966888518409903265631872746460332973642393380737581116509830589603777346265319543350396897938127995671330484558719417893178852734008079346152203479304709619479175486622135798275585461687841236110637224517914220815854408658927335323958444089314695332201584100424927934541689577180933455836775859596339556795615918413703028121272233976591722700506460961803465299621516818179390418980021926261812658527834325300605311103053895066486266601329121362159049955684820907412043622704471321275271522625023922591411109198489998424007251110973139311710536685097815929818194324834944622383799953853809983123348345866456864639976476970069540700184882796103880533059755451989787007105628236232844686505430083372323369192865257901073364619585882361624027725824
8907546825808681602642672111466637062681786201935941369297625701722463501510513891054182660044558149924175294081725657580991434031495515420065884346949429805252502202286735793615939484825073470931127561892028573879997700091799925232386493460859690460433246038111975942970093414929030849825658411142246035468833900010690289668872168779127067403840969049413979255672783734874907655738906683466128769546149975910577784686487950671151451305342545820248893326894682153238548928599253253662374589127257890604342484068277908976610193035561976045984537670823725892144198297863895145010202558285716527897192380433182056053927511953112146273672145683428299787138881179917890508429805606176119555864650338182786792165225681676271830884176880469094900255410459029884830490850673845384992170869699293536979327103087617840717602750013655120442603202136093096822416221124126230656255922288637023768117403545183227610067726639936906196228766743351896602535895421535376626074833407298943995148554130935210323663790756228185853513864183009386099112630224625299839247613016300627608773384318392886848307453714594381268349104973989299361106972285585189638035955468534588744103628320504909428486191437982911381741304764226236321508767909280378960071781906605957018160473926021354098893364996141141699528453386791611004203080090336353521539889712755653347253379098856905434746572120985709373638219935544105602425025550224793423922752620223728739691375289237028389622524783478484005796270194564566428870356754265313339505227280410137374256926544894079602938487476247108472013242324927265588863296116049912458839218468900045304745270515214257386233902789042631976249102950053656350587299846106439224594325220598161958848793163990901376625495874466352224971750638024419736013989015464324197828742111280428031899808536822383618244928384578034638000529946832958791927094885971511389263625524264579744054655154951333601573272556497192070605756778441042279114849382503452756041462168981994418319457767609021528001573461427186496241403353404094515976099987216246700298072551494142793622185145703569017990453776765112004875788609905769034092806206283323865992209233607148268367532743450744160353362107112103123555320207470766127392358696813389222011212155325068803794419902236316027393217598498996883222872840098492841221947874194345487785158609915817021739690816123188300584767483850279256162736134354280871878030914206770656662779876002414847679661295503346370644044266892803157762141539437076231440964676009258141710580369635744013116911647160336313977998615027683732962664352225513965983218081295047880541258993565171461411595722022877524138770237942839010266849461800050798650454686936571124649828953550671197122325019562176220275842494899243962734721937777372590502105760628273269878032254255849445698936462038258753190714800777045674120013458330381098223038557542397048683624670565554972549804928926084451211451619611132552833662976
9564405576109224059056785973200118194829943448044730017026690219836757901885325940557855372225415789173649441963048512638613170105353668174961668858866529594851786495247376662043266417909694709611599886682619651978027487612374219162086297361627556643060993431203126565248828080796286415244072544380817181581074406950512211128143158527735750481971146713045312217084257154642115758104657730070711747231358727311779851423148840307664183504845686093837622854801324271118607033707407953625372771500752455575899161164163662523451402006996413024659745354466979021906938751366074076747999393543171577811278231045226810991414369048316438416447532884118029186661314019444307924753706847540972277156179551242602335622598332814723493213395616373515933829342492147425808401176817846372775475775350585773907594133961934812107060245707078073930980449569849298015909797357006629311092951009003372374709733928749105228241281565899244904055577924277205331866295375392644179008557583249303038624655663513107558754389049346791638562973337152768039181440358826699165940638787768777620989092080684175073127256664304146363228601443538742852477035081041690429330626602367103925183699117876998050697560753432954147861268873680168936511874886903380631998698275329277937945228398030609813095638112454342449894141479432601907551486882615841003727064468933091291391548663770089956500297326934744260784199789704290381996465757544973301026021633539805785037438500133894431413072432497392481138513731108592443104423120855557325091873997602140372325202952948586919660367302546726925465351766121402820718509658299548678594347361531221919199822618379576476700263271345322871938436479954393867748790807993247351161056422414272792741716112102321563541970905153976064667625878545504203889259054980627671103970394191857770472830603578437350282029082406192382541868738079044196560635337884122651144699287276806112974698581768447572585774944462438064770562068183648613237895481454531048569786608949722909884153598083478894331676563342820871662413581003829054652574740679949414412033765125654808540340645213455960686958652851460183679626155438644910789527921213176428653206312282981481115396110332526088895167513423032980362386884473718848303687590778671530864259888109710690311718546849123650293627429441212575562042481847416042984596699270359054540605925940313855373023270100160814565348504725289391421539537732274605578627219348765438034771016969326746952241687135966130119116145870221275088481614701334165974467559537749877967169046191277992241232637268783934224172928769298941926460145458401825172294535999524993419705539007071467848832405315441482497367184405657966622281667846604867835595953980622851687238701873508967622388817625526776168408903609824908767768361601890551253336115257909526769282610215507546494164991609066711434963930050141639460932845652211395021128579597902364385771952704458107797897475229284279821823071729011637985393652451508224
10269702288767289064396317090441510027532290847720397642069789413330481411816762914249107204901516888625713804549985850561071558099344719831274093450603346059726138241065485548317368450484301864781509593884789334213132442471048099053674292574480360278583628030072063632673131677336623947930591858991779591161402037598761259311005532770692139312520578187036878134621534238910475441326437973981825680450426069862069114353540831615436061575963719824928644323938461080486363636712221698437815172351153159022544935748479054432451151166349589282555511956280900602752092373148090870886512857173938872704039815573995262527624512961748436714460045559292873290170955785474902657542699941239933487607109764222733298358068909495840257658603030358503264082981512239082664417354120140880055723301492752208343991732851988231720932151503406180813057798029470000656722566833582677336584808649949921475772041179209750286139729980666231423503341237787540334660641320496862476951631131047138491421580223512494358045124865851250062538555729897780121039583237833794462336380167703996173011208414817781310954993954846089806816045042954322765085654566029692501632810107088576886224304625896438894600443355741914448432924539379770186518400738723429631568555051777713093692268352197984988545609553310642778869964079040020457280212899252007010635889001037808777177276960421259106536709908365236631547958352577501175390541904059881394274981540260490640231851123421592051008915291113867077941553330289585591931559504255218562780709753763493829684502539869201897338664247946482414179078854156816470157037551064174136530684292060121656470398158735342370439634186254533914384095201694370308371001415969103190518841240770015752112064219098935230272087740254961260528558564579052150883720911703415440236049264701564368416070474729332247561552821363871317725411895193571171791631114298554156079825100652097788639802921038266042236622385320596947153773456596723228953128440178346341155955264784450201553598713102317532265197654101772020044069870709423160126851288354015884458509022515608183316476141972833072571687276925309658687536819778798106599464990222364351335899609199042139691066973990951809217883310648391915946465474328488156240780819648856349847062708668956668727603801068407481067817651664638891655725319624331391681143263778934800357345688984361514200702206431791335724723070659404850072813816132769358662875765919591493583614007182979853324486430034209608556321107734541459197112010359875762606943534806892150824245503773763084280158979949314439795759465428169121105387390447809691885428649349363629568062622996356066786362663153709432781987115781475541001139837075375662997071731754174041426737161273053736175220712274436469603907107339853581860937192995905522351122606482102005700226337064280106058409523447263985673859827626247495413132410432115932923571119595980871309491416144926581598503058417686520830410700043591789887664265741304511988760576
11027008867477963671540154971573039942276812193729806006201314819965361025922226165321391960562496484359778793799481306355636398188112372676401217345597290698673556615437806156095931330903067967657099472811352945573754433532438253069624908810832197897703532897547104456390514403015606059853074728073384219219618102248610494713136064031294751407887951660083590683534243723366185673077054489606110048976881629830849519260035513397235183311951599082643843226232930064314438898410654289572997613735201561472229456432534705132095383844255935417902006789190862469561731084560519713823432812261396610441739523743045280153770394934659408666932896493958229916789043336919174685732345992791659004621939433604727594044529115999754438670978387109066668686414256309870944178269710213983687997559384129678967305702673414565954568347335511694799086483073586724258430486773852968418188034370488206194052243303967788150824195588308044063878594090756411283412087432480069702279202370425737513759615902156633378797081447766876554830262899746093760715982881991484274830164142827914742898074495770593132457926390985414108438467836887932874467794249962650464862336502630923875378725322141679933792823800003004093112322336567994268773087818759842764136068282340216099769819115186538810725581908963594815996263889042911734797369877551178243260966855835874689369538934835898561429337219966962038949920744972601213425984376413690053512481836605628655177475608159149369834213744942094627962513638258414081684712385263534141118817803020604729298183101691789566672678095313644281784567591502170098699659066516139478412081983724783745080426720966728050100336493041698973500638218456961065441721529089247587431920100230819878181539687020426350610211506509400328929273677221933248681009703639368241828818528034516540596479502448419113798761278683589356395767299496441943073363340602082020111932093175167069000468467436155753988411959613368590805724319768950432279301741863372485656521674472058526253328715970535125721612180835757770434284143358980197942449373733990973503452730156366199223559461934392741790647867483375104683973230936445955507855976025503664195985683062266686124749049159205155125710039394762958495212524758496048044372980473978056598767233848586145656541064508524997497003992997785999827756884736412583284169194455306585312772211888605039733263889214896160408460511784710246471629639746800397341986425983899207655354000584601889463886523248180607489590232948587054201928625536119897754970546128559865797308470645839257458843630140756314135836955874107253076175552846031355369938156974242116851671892962331708504654864260161558721336240043700732805950674740376689871685107912565554854996321913910880730796271200132603444619774961658172880296015956863620100967155931726430954619424372238926326070092245235999786960120435732576000328427930896789996816906548710643828962581683796516071661509614985278736659179733923127985405383796689018842241648373530624
11840160614629962992485262888419504056845159037800883264264755085987838364792242404892716949953311041110056354290774948140203818871294074154526804868482073284251979060827456540604874026222607766788106994485900519688135811989207013018352648582376635128609156824656233064923279391392247951172093630529819577397688597691841534058825074153143219458332177203121982653007465621987759624532424180217053645533166215046669174279793662459923742286349270998714726968105390976121422932316006637919534638919682777622839781896398347231838258390911500018444303023086180152200357615333510675908730761779001561283130841956748746426900424334341554280793936767025914770664435615798641167632875962099206791608785677856267101852504230234683914530672469239067331772954127589764336806577499809114275456746320663718146889261554153832356226518400697867146902433869178135527432198245764761817159614799942698289289753676494159286311558874322632307021374133564410591145075703398626885772407710486055054569475076321069057848861159601766758766282496372899851506199005662313077723457736939441694155869555176596955607247486314415702190054246945383528220612427211608242015733105236709000754301218191394998534905865125836820417890822542460066173961556627374987516663741668530623521011556890460282875277082391972247324772765406269660392332202724458780268146259788757133599082145929714862028112593678415039440846945362319656928629753325938136629149854003797680876929703220314326654239244099995460209070797568465719415428069468257869371192828539016831619657363496519615143290989026918263210531580750827021736031954259176928988597532842187612448208414069153619826698689052357163865502945850087839904377440344357763316749364244103357014104226669701714961872016025191382330718285175465859244992953347434694188948702056776925258233948937578005166745504314289554403377246040863853465697319152812806472590649890041840173296869079382482835612732378672725476048060749872095721165929754754731540247420243162359014001061557780316148393179271204392848281528224548884518606637580793158689133004775876447966252120429893430902651267373309474579560360552872708344428122026924574912481160809164137134023535586470609654882846994844635102285791601832706123956676990445583028335565824015427858384080136285294362028501976725967416719363245433406392095741179051579392947645289785260178787241878936531247576974955688275357937173634192356805909256819192929860014567953407499106799897601519850167300677738800761801565706700966356898115579266356008794397211561913902314664364358117061479730556766871436289642349057106098676109591436721051565935315798906811982824426441178282596130682101825064553198115549762793429905493723674971389575806205133840049331641210829050664494720153800376612996377833455848766455538174224357442223121951277879717156119599247957721714171131923170930811270805573665246927139431650111553124626484908662411631144044587830923848843313846454118834622177276912252438915773361405533618176
12713275654805737548603624466931066763172320750818405344982712144941858407629199740879652422158584912120850894598966919189567856206628920423072869316376021479534390472382680135189807500206486693547628625766448766292486857925012206471917718364072102457975270632008431864099832433775122214551786752743870559425903328269640118699280958418131255794421883947971416148336595222570431524919000286407963897260631344239386804315759533473358845943450596543230252590395472330933757104820417511795828688424801575146134371473200940387299362437640619052380419570417269185816209599340494121473713425677494621310996690673295128098133544291129886332454689832367068781121772790038196184055613997910157169375205428166464647774301671139905454451624361067340048876704918826562282732844859842398013953365227454749613662775627170210730764879624734890743224695292730708622144250580737055628482519294427867956623659777109544517430711457998569977822458269159869849621031834385324631424704703928960680857847703171523899804597697833556153180276157354710870725595267646838372133839278048268302224573516481387857226572943574655753563789641774082537971155861991259467755406701114047874227140765866250446831347151288514017081866534029601388900790183118956907428119756373832875099308251420642592334055978952954563799880629512852086185523334967298140137934574084357939323690148096406211753973955613632233878246939218165449301601149156862881335344575807371424791764419055558978955054663292310363836607099526299146446593949051645914760978320771203187949991771735783989215735287920527201038588275524996295827334597088533204470935190115870431140344408054760269888922014281486812628412023754446547779146218379801892892286752114303919804847466070434964959088548941446224812866822754456871755445996594421434259323979988876207287887791350957869410022741946225135409229515924013932555926560899051357552438490418278924903992256298785347913559507421899910951703113061230471826347300821526218116655594423187674895836341374987318052472346979821995453726363381334600840174052974507793577591121526650288437924642234261436623030738265329004151538774658139190297566271982084570176952161972869216521672563559545862133225918638557397091342772443835731616393212448699870893588474131950388512801735898097140552661400052477345802192817187270225449982140316226753447464417389959033832685579203018498242006296669323047958245713695382409963635819395524654715796106860863715106213692853669149090844134871696125549402687968944638618417604244273682716256102923003322402305536533685202798766027051396078775140368184221782554009897933159642487605442251934217504462956318704597863956813942377798542268689623765064584761940978479315762990940740970927578693606414629153412682972856311176916325672840288051277962119574093291345240629578939549698351815951258651152388258517839330183113071714534616688600957088442314108855509341224535651265063421642474904377062120099696101489799970980163115021709871071446188870873617793024
13650775790605907001102944388133591308554423709296804047893086586976823420557512445432445356254576980799522147998726488326267191695075457906221114384679222373298435096544400594367270491480593398961559791505080096321444556324431461799421535694157075360741250435306366413138274195536058932475754850350240579297869832543914144875742443780352409268113122695811149474977990320232461114033628819784209563170778902955171079907534713417073382649855644386216146268391959341958343976902834291557194611500774130135483386574728344849974083857829324557792103251425135056677291823962171355052462621740241510436658857901507698934403562842742591171522569057960070670575149081689181800337714691555984347171610016814160726532696216696010241850436061215280290909122290650604925111168544516200796036263830265437727637564022820486028515854763403277103070799965460885016753694409673665374916286619314171976176241330629035777955251914529083917378725890091601599934692430614964388578090147458062207888587277517602657035781975658003432322213122021758265325528866168884421528179358534390766871996825208819459869912013702899949003677990310809980247698154642787212964959577116020596495972716245984694821505710601732990951050529573502265311267806263442798759268456099274937180295423018651368344857684159051043523608198115398030463049028082349685343513481170001623638300386027865333653642234349076514069623462438530103466880744016186012322908440495913266301387947495016255402778008183191175240022145016717981475208905442077354717601386169328797704038985768572346650499937552952043884788469347224080274885839336146732453186906020801488080299804692918584073263401008357699623577360609630764322883609685830809232816612746248547341606642260246951748547823917901738628481680933455225608026666316791859046302619280195438523498730192508926847471622818821086808953086862887765344013567509794484528031480349529335767171670160133268453179979831732347930719276524843830503202762041582259904399622735757761936974323193465550862529785555674960593803853013961021860440420118320623778218176354231145317463316127163310252473425313080960877776816308155350635991911638923581704056617157492031061431633927182706618582528883040216281550683093061116022160516235886505801846198119817226839244383253589101826199019746740721000325258726358081455555044110569251044278731703391932272785524631945548608112634405204054359926228463461689251870098389485220191509113392882719673562244298474477237330923076837003821148644290277471625160558374956565634950102403677318954311608602977787094956938835399367370466904790157864820073966320804664607829364955918514231254782858078200227631493259717368303880123894711374194720089112012725253625844406686035309318376488782007468910040008478053013722223333558152864604577274393033795202087322998904078846928653216759184145070657128338929754083621007206634359231672289779670023449152495471303742377105830072079700052264597154753859346938235387410940932556563059465156060338842560444235776
14657408896420228648538645519085126287317773716889196135755306148890429025315342510061334345605119295712091889520550529252560841522027973989861080306718105886007070596909200791182597143423748816803344916415724407890283568222665773555497201881125324240347768234446651871255428098927020575928009848791914358454111393310276934018279944938933051290338289401736060796799509686300746900591540606294064462757235362759804385571966074527765646628305952939951085352473975970768191993779063162986369942475812591903687298622445925303712179154234615631371686357981555115203018702441428777774582831159188973616773118548921689003869337918865055006996940157460008000992263704044867067362221588902920031047493780470707607536382431353073290607168351564670716232011586602238678992249515760250640286229895254437509831973204780046292825129906575723204228676756053107678543382394181604704428257441929192646749161911813807943582931181085950666495298436022979828995194931327505304286883281368048678603758892144944869072846971809348205619913673356377287497709318524829850816852171831866708749896645621926987727414128312864785332716188024983435108567388367580410492872144418824614903153752996198038893726896127920919264756490340418264423452622049787695259441848957699396125455824370898306266703350809355373582142453705780843715401828014569373346570231840067197448350172753464238183630396953412868932679159551942801175437253670416654394886185883077375104250028474914984985828713173706618642925015790643275922789020910419665203572317290383476102461832746256913368468093459992824185380816931056473291078342520565141635924903083691971753255370757818160346323193831157435638264068586090688850567172003768040061040550427658564379927067151033044660925729804838639087717178436074236566694061731631452560727874881894617236701393418588406249486750073720975279907627018587547067765115458713867682268300839923786528151348438867867751999130144807504346933141607746195879655771556366499595792116541204409324364582826917205464297505196879285739119072233438405077333170141171882392441756148545820090782120111468948696368716207195321992576719807631672267249515252424636015526780305955188697366258664273442585893676857408284495506728012789404461110257123902390996660919336637919692992018856463816741384666449877399821964347898111643259228247995683085294597750143606680345465194779102142031155521263688956420622341055798071571424194855785322749472624727096720040371408770577585606258186236126656633615115095369717848908142242384338705647041103911268761432319285735460946822724706578152488811218081018443019851652412215369723718947008529625066037468354756819847054254772532632767088030508053374881385279652575083925039076786775261348355917767783508238049089650616200106922797111510091466911343841355724600153931690804120415622140988902826473752680047993861244524357618668802768721782487042998279449096415771741509419998019709822628908607491483879570619206220909680219970354479545002641137132672882868900223972408295424
15738272963556083379578940174151890311014934418391865064699654041988024837784638041937995492123887176315496924309402410763810034646837252970897993875145978467866368059622054019906644973837005659472265419853347468009433070420633585839850530774735736822422427058384007610934816536842751516082471787731794319698307387752158153077915557421349543106373388439259946686530398892874231789603507489572254656614533967607014034847242136129563024055216683939801240857145089871384809152582527933636194149172754088312832832348497775176975669216082653511967946131975031947754619431865572989013771229967951602891961845304887407584175405954674528173073227287089956198040027039470131742747042677560799513063072602471273165086791418202603703062223013284122788806346528187421721664488476915528269198104369813828675901000842419652425262493098923566627427623893150866879627577075058043222579778022838625391367832781662285289728425621645702969416677430119661667500508692799150286794673073811233803484789846107932376097719896383446122553453158352216750709962799494647793305734740921109981177990784081569498197259260938025477268519126604272671183258785612722172429285275347060161942209894094583147346973259606252345179096372853959088164952326777321658720629244121772648439445469691431999889320686364949115094291052069880682475234495705298017511683304880056628870759660283019793426061749366601576912847853984090086077783340753623873329942709502498551477569615726707154223616336634708573542526711150274113222670766479528151921153071283283091289717779183348827332868914757535166067722112506162659878569742424928372690976349364106642404496899735295933750585537837772532973392265197290117275824458701847630208046751954158086966524318069720704858495854649178604359723139170083818170529579493690554368325419143329310887517593912616710831576902087989294464106925986449874692227966676210024979253417801240498567723856220809536815022325648098993846363920275951692892882872643060284088481089939773393624785834805573156492217570108746643377338900773119906859386579163084234497573895060702803811852239235075752292601367516852266960576641586183360900406709970254249097847817406563602374174230574232769876936753258940159306916313940724390473946264549327947306715873438038469918718770344381852777896108039522963861213274175088961988801043835209100130168965585492498892724748370628411066839994229344165035735543700402707144783561262182349401447431112540334400565750090769574302379810704110330988799593396472214797451985059789209950835253015116659254054559362415971018522199431091090251886296893974522785775581470506130967980358224297943176443191723578866819015436546419894206855269046284877434494413820906056910624537580308128198260382545173872572641855722992161426756279197694777006088221982508462365010953294455420281785755760209684656682690799621336113498493761897736736783576876168805339004534500622612095981141855759612900280803337205965316753003297071706978647689644793221825979402270311246991279362142208801296613376
16898841918498594494285175574580728355597102973644460341332484543213194375480181370330291774616880250667211266974367684883530619791198227836121430861440071186351559428593925033961093283928178735500073149325459122806230314239371553695341680801432883173691820928176198824595032253374899214057158591787677655625699704237677555222352264743576594956603988127831488365337906738682358244367654368650973694785783367288312164970477332617413301772004238928753690555414292231144650385385857853993478058150881065888478208012962204778467777867697238516700468309280615526040317773197184064028778681584511815632938786716075641134063933925712689206895034752806541220163603858369979250977508375209976740054655403221931755882544535688410501675185723778470233492893303952029613277248173230261217692335603386270942885445487965214168547373018825602867119665307017792910512503049273408235683648839757859285380010625909055959001368191634190988143679439836318057124877724734015294593035379757760815844215805616610610379819763783852443036272331747670048350668751301529399821674610376800071294661493154934597777089870640487426920770264778958664149664526727829263029463282567494611321563834275964537151999828648842914916880546059994116947612724226925399669393951011053441648680932175014912733126991898432392508530006236392659463323122246326859786578773092260105906980537897910029221402751901525621875677543771362556005476090177609632359237638716714927220883494277373625289915109174350005463990772399216464431693026951206616503168002942914407149780080665558200288655723684656326957698848607500305658707093742552773962560733707077106345920246924121773085136876465950895651950354300430010380917665390334546629665618920533268683786448224538068805327000867447914746983475587491645155308773731508292339016903376522931705026200119824363701177939644227033530363273239723687736604295562724969628309126988138042394777200906845778816357222542111795785159571524890954062691892290119250379123862901440333817347513873498806417391135533413499213861391582284778961907857031690459415068717657263619286852376174754603044829974062439303864784499228542775131652983105299783170073469936542551985256568830573261728234324976892350961058898746070034908783286575181928115288989395112577672694224212613678754237633928858451306225223865772117408121900380721374595166262535959943699392251645419578125130561319965478089227707874502112304177733154871418066915472922893407932833415134391088275140825486206151093157398983986431081935884990518815348128794895952861280235021965316801768159164201631509557209011867541738705528234102801855268742115435931074625722466513657276266102712721509157875555809889768664720130472413870478879861795960636596053625936780992756333292038662750442148067729629186046457790426576415532475242214770367372060051231367186053425731286208413431947824943713152697545225805728261715176603667218969452647583254325806071661081439887476820262891107517675788510046699332586186106263733980153739392130814400131825693079211369037824
18144993345056340193730121997610559299787353956036826774398004543881542149594630820429266972529325901540988642794408519213499395254451684302324598258652553302322967326102838821284646247719192520453862095490142848159401736175475984678550116646956325792498764617301284719307325993077594437917899906603372426675582661704424427668309246316298825352413167058052127482032702357934686697928762928396864914415306322061014237896789237275276052806534263643091793743702115215938286512646513955951682814262905102894158771656089453401893507732888063564685015304061164242773250303332362728573993610056868927067263407328866029033259236946010223408956587992021884688869653585299619187786743625773236807863859552346972480364846099511306987729468974588654800440365147222838685462327071224928651881429501600115138772018061300339109886699735642189160440699053026804960187963798932391233679582992177087547419269142602971403536198300580877772373756735801146412101402403932871497260223146357630776560296378972408921486981005956522863932623151651476345466215256642306551754150170880474635835259873122742989617878823113441018030974567588722032864664197916836144445831670765049067070587001947907881480904061261096046952328125916574096560598998957027868552944057933175166597332231307620799625268601504656019872792944454995629352359430382145979727433342539765486398994457095003040564082290665363589615524307084902669850622051055695050609377245445138505242178694036880718348285978130025708881315418275103542689717194166669751404980113258362283408883505012703595956098523257202885320699932546517238278537676316867601930819669921415253876510380890836902230548977026212788591758842583989963330745468830039488068350214169822302969210940143097067556469314827863106205422535575172750653822005989673000087221236198339491466782262084449230840142191862154246053001420391031301726307927883755415299045244048090968004757399775331040632975965167941036418272750460194874416375002777604181079593148073718476260207602388395913664432463189078623592114096680740704649995768929138539695733857982651245421906449612615150225751690119676268021063957568582112231882914214525773247839189823672364022264209324121281013703716400097150772575534911036552114700639747950556626347281760224835835620371300316775232925164784216759743361454428442484514138961729142063193601084318624495538722743973219819061388189149843580060559393804507061157340642017896910920636373950050179191376620654550292253894723814424679514786419504161337301168130600773895498219007218502315489058527633719327468389646092175320847831036751891912913805284969041467586843169213795187206903358512153284728837036128941247210003260324837444994637342967650970892216281662689770847771515172931850716096545518420180608872722087581069158936631641898489221897810529334003225846046701648366752706159787287882565757427895257910252731079134533382403094903764785267486097672691646901655644295077325715746796857299409313395415785266550674106943079548901055935327191900603012360136936591872210266750976
19483038250788656102380294557456885584213836248888598191914149900907655107638619757734337582066596287011065556077352660421441886083411895622650181574312816365093486373822064967544186085220761616719287194256048155803231062949822367856942455923915649304775869037927743412052376228369747625302220607965734753969946383441283633834726437135727981662957556798529605249638321057457891367902566928800431129085894903768524867089268399375523699044008419362630267613794497704619729631523666962305015560856104940720481718423608990402912140046869334159772830318050549101598928599108644434408656817826807185478126381673751577865808729743257206805780544727370075913744574338927752693199536623758128700459678099416861711944754036368556273628585635326231855131193676405079344586081352741632804941027144775518547715079793301569927668281407488762000484624845032074278844471632311635015932725673579603714173652541925430622652797613291411958829654367231409049820815490156866215025803003817061426342389079938429601031303777589111724616718595958884823473748100043738352447651604051112521467487699680822633555514270540799517616995520700325677397092481018720642046394767364231260725870424222238161645281747907497009693782442968163942272129695672693201198870393335129173493723383578234662489974424669538499270792944153437692972830353482126441306801300057064585898303500127078306060823707665125674336960528205679515587876728635163129229085035028358710551370512669098225789718853430957913821116616738032611716518806108682138879209909493760501440259512475853502293260252285895447222311170529174384276639664621195020863704234196498351358787327132661960287539327113459815434641531004262256424447754981301745910536595633495645346041170710003866327134585103299977679316112039190878402132033282690412277205089247139871338775221501402559157691329509427456726294545805256743156700223271563999593074345802722339703353851112261141773069727387585474768206610008626483851289430950429779742428635990576563162136009607182984772194236949454138175206022186090869881931738522255742361593677688848908615189480764413484813432631520183974314450084220347962281634671263140431062145255739952202523657948729599791472870797443019028447748264033152065198309722136931330933789416774665745880239581651559386016399091290905470018206699969288710801303322556515192888620493404657663010828021744090055671924922189810054968915073963985711267962491949627669775889619405872964296475577732572904704429991852476592892822205048827369904035505881945178363843065562263842781445155504184194579962000937726801134935323845787458022918441463498368938333862913561090273961877560565394112332824571843273968103811787137790692041570856599126481179217674994267296228213037027520815597210945047510325380427198164384946586764759588198639964895819373498128941818128617101123671668946037943039254180569802709505195769891402215410388625213505000078850409718083933747680125291521935068071179714135470287781378510498447004018633299014116995524245068151505191467979185929210626732719524020224
20919753028463581041878548219781029128553070139918961395389001366010004850838807911512105742799936786686889038366070930692171619473202904949162021677533834990432529989546849889697395167740360021005356327940331469843997506625201089738712363686784794506654373531969660391461102034983973361611674906847516964227881470938447285895047279151137898598622600271436778858746626192532445080565557268412253052531068246644720364577788621971035277566740656477787540985243831526522201720939070063273926652662017120584621914498820322018021376165668924350379986251346096716552394910452680649169399532963391663431589733160894192140511492709648044936784015839279928034642565920783879381016982850348854845658324400920714430939322786241735949492600638615387027175471657400455658320583516705188208715614698864777355969420809565170676198088545422270569902249965060456774669947582794552318429873926040992301253992333109248348752670627998367320209165985560618983244709297568487575845781924383210498240918499210771207506944399246623145729741126119612019362620301057498098335896297850367348029739399352850712374381498108507540464392903796597450242389652865726480337347010133725346249615673292039785047411664992104022463147641771812325306307243796162504847674082879259042022762998434745333202009520458020865445243885781642324322998846190463196487393771528843832548249078732033292140579102810794822751797988171569770226763190891873088915985479362453773593716619973132637394616562130145408453520565773004066675978673801438702036384163898705317435618875959173695509153446196157546973780129739570748587275994081110210761911839822671314200977183063509143214558041566538997175495350286669106987542250626328022548364105014260049729915357817254926477149670102300546452548169213549173259667454905784710905838186150306752234421828260920002428247391776437662580972574374187924185374815556816376255802905829821829198626783010703707131738483164328782633520142639519256505190058340636525284553573798353725741363126691698181571060064464395082128593745837877678056772049564377945397811663028492731596882867181594249473771453469602233395966782987710038934965613623724790416814104251162747610569889021018962886099936562801787672193109715790294955400002764241825039594671599525794971768933959542307585568454194639353988926575234044804318399931139092966295939197432097089176823811817810917597434211543144722635863134819184927926799398869578530266033391163527832995984563606026614910312840331983355770044350956829909221881789046442544484398188866576764117398154627026376720259312737564485864310724748206519893851881140253968084871545485773039406192486118346156745455107950843016032643504689674031117002938575389988504708074857241383756195629786638509738737316929448077503432813393656236144386215367219153896550226533064074418230574987297592758123667391242938532176887444645320624251043440278496692391590985601248217784982753842768807329213499067294296000312668087618449900182275097005635262302648470555384523602735700001492632297208693665753228173422201887130648576
22462413774412009425478492751979635097089704012836520820870571516278074210788509536892639018354878992421879152940790980834789937214190806282211856427562719804342047299910735534017879895458320127370969617332593675594894878215195502462832696796399669949040247173794425461387997724093803368064331394173482955040988202261251380484797538081979978916812074703075422032475240761815962759986288412961430176574277035820783924231699744841625894102858394221417009741970468748036653252337056082603541415671528718575759880824335378411897633315115477012095021530615280343711379502717777985928655139508860289919429259303851815339959274475020194168456433861313320774505843919822722156369166140710298438288407723028315192459910481823963663334556884210450501025328505477468356996264121971363257489596824040276767552503188286063008732248980075215651948361379187951127507266515534213623654321645437296172318419215034739913258680684978192395423381946854616689638199599520946614609988226193458515357152620777916036795188971913653362336470047807486251842743239476907136983716655528700715343495188905794343504567760650881436415991043575215071217012707986771978082523113981932737197093892339582883477375727647498718677317121657364357960075698658104212155550411908302775550014191459032599047813462961960639493234742044028295034176346258443404001244581247620045371507533804053034331750270268346359871272271098871750026545602204299997269164431368155471974200318469066269070026195202231656258108191514617356512082958192657805748739646509310798781820414441232913348819030014548066278992356681523340565147149076064481648519648618390933462634343124994215275876774905523400194347225520327009821254761464578593353393602334139131807330023668311963428560581096642455344155800659216934809527358663975023639347386245881910303704169462294991325390783569274776041990039702516200233578068579639591473976102690213124478749980285165210019194687203859678800615441498497580963006638709341475980058673355962937674726995900287091137593219231557158541386051210955186325563196051473580516818700668687149595579442521914748657878400607581830641059087808635946789140995349617506136167696567569642740224954316906475547909250131227082045601343706464792906909197617682059195103254903955824628037203656254499552097308083812510974251696693876495086561818822764079336172277643836044677813458227889050348182708022338069179005770195109534705430125024324789199089898672831857675875850002179034886344905588684573962168345957282691985657772883110438425878850855894627339432844683457341435722372211818924369567214093901209399516805241367495514687760055592909382028996939807682207254871321255082372551880267243148137003492679299207768384280884742903002661466827933964275513570136691658051829315314756077026647982248854724112618547545225415574702636439429694078916897442242514446659493815456165600148134017467868106466513827141441998041196621919677588391974270973938876132171628802706026211874333995128607744823564208804948871394572481909519501725366172845323117552818543376383904728297242624
24118833137579875528018468880281393000003515878363205280015544727810865094299414708384497511741937248622350699186219871764296389841210715021492817474957318637115152987700428209477972407562345969539217241563281147884126711623041883331038472065005138244080462049800871395942790247976329175522738540520298560578620667058476981804264512810854644093619341356904462062719752250431421406223751535523271279443506295923521867914423082646581978659634015825015359904969140467651872482019922860925021228522689431151919096622344492803721188097055259057596978479602122958528003556804399891838080503363218111859256785923886818428839051460524825723272574558781928083914997549129759444825041669285316500712146346580109958398815327630381590778569031083885920832650099670570864543451799511290059863461354869613825856648789156092728775092947488101711316382701100426282472508921643830870668240869054523669693397756748049857827977582522053702884831383864347187152962338065690744177953806611488723147921066480459864267317321127250931778894250854177488908550487119603075143513780006566790443029310670932182563477139652872860745046245896114911760845124904895911618416390929120360283320243459963352704176876537552503230245353634808308748640599855227169141983671006372342963334841163106884177059890932532059665672307582524429817606652369196596013065254938935743176165256976505563676108156310427189911940293570325037215575123330023499710987635493166071993158730894356103328124710564224267461122104346246563043342233569100135752489393744022610066888829842565369187994893533731587222078145945277458796994290677333391266896014407350160841231635432073148699768591486294123399360344419535272601940001543661530218627123160189208856578956183576458612803932041208790277072397140007993994070998669758744972955980677285754858103708874849723211789277462462328384517885820012162228351341403099304211881949035000747226552053071357332747353178449381751355426956477162085842806424771877322257680387556251845975259683280014783361733578187724061772485038115408430547470083955578840231939774333306159692118332950383902196411905838587623061789874235420924457339195739873818740979894882340767442917500618551833092223477622376006433841637968230427327646944052386388892226140788910471951532788593726175357276146607402790407513033843177717464971925231512235268102330575526936969300914969361396590485535997164711144903838195821747674399845148166543523046286940941658106203335978890120893423611619901968206801546783235743776310358895288740948842846121032258311242889775924188419383318696325366210297150551783991856443119178518694888252654272566671921326527995039518902430191565369722115974103452779265332128332123841378390979907290112178441132800246341308952740779335323230242155495562737324261677501065804893379699820657441060210339217108082105240058229404054412112302515596324622643549112090112396562028780751676072636966958887962672995251919680676627385322668029791668504720529757842714598394507380391743342661397949680425734472746165821498836514110529799105981572387204105709264306176
25897399885896658495147513881200580553084607145646670171850321744393221813370985551113198451581249118629304326911887040773241703704716663515521897038459745635565218467052507351225932180717664755052087560488406111153915955985246992236264444809251663707571112524115966489469037800511515997750201433973363285460262650451465789104525788963998432547953658350241232088963509182206339207631335925875558098036484155140406134958319716668643681131524503324396857372378031549448734555859479177028930621152673375190584031907708414859422462494779202889296700729576730299762134894161643951087623272340059949937594412602291757589338457317653790369388813455922502679059714529358117518967667602854420515891957317131863428851708089329003527098602291545924365642769316774060559216142862463334897470862186131210431550936433395854427308105587205410549806374202561618523719570959382120037418825049609949400547762428088159362787153327688340463161512912042948317302891147877959411473553500898763160948279787730754235017181723973968151593969477615278094960406769235891112060605547913385757548124060125269385486008939713178432336483955032846939867688896196890762671301207587730750366149434988825121305738211832054429314209537979364103326120515209005756528870061884598155156604717473224667323233026247138034683895813729948811796916954229435074417659814669157873496771236351381809087732516978035201115241170197296277732719514133404386542539336575879277676849571232031073693073097220702234088769097407457112155889280928719609801525574179361026430461974160381772351151035885594759990249281497820422794769495389466150995022597328078440708357430635337250786312755800404323059310256650300024835944283196053947095579805997894205302780042812569465514372603744299569636937181085164566845774839297168328467212585364137561790557137548446129527321757086186392010879208081003594773253873831010566157597006429516742168400942695784024619917933000436653372690612546556632396499547813474339905197537343676759700842391198745376233792664045333448496276757838748170721017846531896358886447596350792539858250417245984512644612926030441323970190724266271468834589598220425143664785135878292841023718052995684973502987597077873196362108855679155393091087075334835312761912235831165529125939656020433938484665541329924084074852748262547372306995611106875569775089325450817263062550196444071010090255320467213295773162175528982512526777847834709894698211106176394076252539155688858303903685178345421134043561102049052880144372132750321957713074008283348501801953100175031789359148321572165700812112430015475149869938380938992045067411881171467131470414730668980795978377871924069500659179173378151906227099441136731235520204950801035947643995409562734166401463414202691472869784003497157480985613053294159290245644410005193643162743454636364084822220081106519817456711395936186048013396125449217737049524112184800757290373392264094052145837339577431219442884712398854992480261974232432314677991545826203292331289106448879720545229306146378182619132538842004098410222845424570724554269811512705024
27807121390340069968084786703865630672927994902890089289848957924811639763125549614329930935874826112835421607829461878441822917328770027686350734038015965429307836947771443147078741055824082983110141712206531508643152463322302822534280423915833213464402008971353521845925361439446183320429481184081974661544735097814831299866692847297242747297180728584460851383211008618742983005164785356606350549203665315287558659450936376550952669784237504100231945334885034813434630436500387059233062865925924492353374046045857033031304978465715811787619509518557849140022661487391170526879391396267264718915341310759793338374142118113603728271741178325357971629258464483672286654022698008914613091196851236627313486614127269351679183289286652375100608131310058604213580739201247385962345933216550589153392101329634902519246816280703190528586417939083085057746050839386424387481965037460705077557891861028654049067001755737839748392448047680776546892558537101595933867873579863816623595780611508940352873203073375639273091610417294294955871950032372181292808929342999561038217325344496097192418463106365407934246774436863623703053126350594066996150639434071088652655919037962181470505367844609239048504599118418428159686665513108844337582241808848906961300624887754986704925453441427179641868141261554460359480605454328010838131294793787214363531632384405430667808610281688804106484781685888287539345121140835585995405335787240846734530016542941188298972291878723575086147391349908565116670808037128846451807812858348001994411673956449297609192780677681771287972916772485730159152796106975639044975355654978576268471341267559614340498514440892647592717779189055157601278814592115401303514756807363229745064160837515440366428028107537760033449504379946591802901345152202640248399043415965604644769783905526847487435484406721288606701761740468728572339602390480902375153069330881140569034174436543373490615705451588110198644988848570103417003388714915684415149507002790827707598827592203462262406788838785529855555676602263170583758706649097671710470569692850986115725592990504462464467282777746969903146724727509901547388625611389484626447814088436366045997126949049485315447578489571935772635902560927183489070557060834412851479464586121829273831289611571969313318380028574377540071816061742450840446427320555429891233231343682072490150331470474021415120359833152424170136400526644600297847864605295176835852844105122682899041178196477660774691711089243718377790516081793169600176998671517154100835462086954301153729152496408544393352764475709891435747220235881897888635648020999917040151192173036248322374501090914944980180094795320760988775140556247965869069541362712155534430225238452726934599512832133711517226259026842635265447788448390401060252448737477602279804854903636854380471882769285825310829165101305616742527088116335314106594797255532174375872352708398549288590209546823850715837258622499005178386799147294912861975137262776210172873518888615072007110102603577429750273894844789679866520799272469553964328442468178292648624199903254401788091643723776
29857669241853162707818980662059630129660052667691907345605284766686504935689355583893116580880262826078735408999819078296589217137594737204472737069718148061185939901794702099856627692904236685412044754963124206803970291077782532548306564902879977105048372182165494295667744559850210428316327589969859238608826521524515374171153734704694897653645905567927932620801911371168811159166638049370993288685345343122398319505843263465770748591796864101790527806947748110880799789653841777686904962765969613305785900755538518290261656678058417214479272768441666785124763946805948443026518745837919610779005880597771325008900552338524306407699740470979133910140235422137499290141188697493144920795985389872867191336852598361811303727868969780094459158422093835235184268481215671278441317650921216585837850668875005485078271619435139800783904539537392637451389957079510362652967906427285798303072272455661514910187963417150517258608234541995979196837335654239291342273952644384133021254912505445006801276708728764750255419888562977410711947138196164988199337876239470300374804623800667760268679547105499125822203649954520154165898256589336980024988564705818475568468952217837975159435871261672903193352729799395047394923496523386429567628069842484701033230379317834689642406162225097031835164765671147341724400993154507051626865223362787418577454038128956280758355286765690321675659715647484922732902139261762990815380867524462700038703745567845848865966007321038304800857120892644941596886229340587312180049075973237288235228600891165378413495492485981194298868917889020915060533586604121791717456416025411163431531664355932330703431965054411614393997343685325759404579112695807014127912585254610936996247054703196567211659264910862607190371844819842505030738835779620557931801957314099052537979830806240902128794109196474288190368275224307232224840618189724353462788942538775401795152377828254106926954454634961141406072654723322634841851212934582990131004881877396433226903799114073748751832077740416771910808728468179310628218453283061976553869400320937592097873301105876206736635398101818074277867548542384665553485300826460397222034540130560986160622989031949428869898303776135295720923303656225130737304003196421417116601403245858050700204375801537837754504864606624259541344869127835783651279845456619984516891432379159391674238947311377898886396346785419598463945030273933723562109415794683234131181425022077279790082527794953855470730902645576951511109827565931117235401276400405891520148985129157925450444603467863906103570803591142525061199059005539287525389577490441226540622319650464891783336812449002851878218834020620569155462946722065468544474525641995470510804848267065956530809617886657216396330788178476150888632545340839098526998207845697831064223268286380256110269385407133246595074688273037702565973963442604364428028034065311005035241588287198432084753987348854874326803760481809258426487093938084402338244127183695214828567492760000250805742538392378345290956350228667756254119544759331858124452750860821905739539494661004911974383011125394407424
32059428232136112066062331357900634852186541451343574463309216849421382245832091362033980018599016932473176125672851752800178518988053032098731217659511579465119854713307424306236685557467906955922043126763738038552248270783669142373758059109992729469852878755109238114891879341659642112084194835435760763887092611721308398578577099286231200770119074894638694272808944658365140305955140259079412386484761270794149826840738924371849245158801396298136682993354794929269704212721732398980939835634984297719529222830734906731242912678760225678427973552580084931460080107812858055265254318526200211243219835139777192849953695302574554230538406977635754310614228477955328466594905169574473654751816884399443546135789107384150681208580027244679503469057643996544582225415126224615897992291463542377176586345437468417557948151419720859388706290124760086741226163849835169821899238860695176439236926630366954146268420022376469283801485458542567303478175816683130018320642220070642346900880522556931534495258759140584206159017031488103848643258758330264234095526825655101118270600403362813328886706980552551790738446801623987378852792628654707882682787046367553369787289641750192784159363219537844366205984770181592286391603497478603540792495066268915579515472100943695387111100376415585539675882832270330875909627697131915434692432335726776547606984176751064117732508851835386615169599482651801947725407824427407213802299950418944159522630361650717512170672222889022970740281750657087774614092612644537811463311245018381054508098977847938903356876317675741996165913031063546911246403693571698556849744783627812972934908399294565990074241217428186086195362459836562937257930418297380501698628603841451900699393671638060708385613171888813257985379895102642744434693597646239901590701253210857588802292805104496835176869729077476570627691071081656665491943484322205344355715288615890649859788527246723507239110884668430142478376959142661275575272912991532502639180819940190584149891133275131055309898494704903191703729420543578953005867898613755009996964158389715529338464850324735339595979980812276791284984402308652101029276466592294376951900110789751423346085219497374030522863391093600098163583031941040832511265234627362687444411402167143803921923645924699915538117539589774922573043190363683510194601195029255050018765412771264803027741097958801103566782184312976260023935042068815992691141402957585318233798578124498670761550505084450768974978019828221447898622514968358078697603894099976301190904044330906457216410138540915923412847561099125103177589243691380691172251245175705150525019596601215351402681805338229156920516712454383536904923977765397242358702284370987506009809486322639293696231306362344796158927406114619795659530100035275342894768936970699679742953233059290553427795018414234810037285202522912773958363843371329571311538020421173673813487288153480316623868967232357070953041869796991962943622157538089232616114079508883030097906983229463540615462847822352170813282198912533690285727503934630363859115711116483207929205917345675856333455640393283746844901376
34423548946370924386082176169924624476944747406217256894913459575909248317240966176805010055150062365680632964253221068333260790503850696894422205735464974283998737178481710847320513326190047236314022188737959298573273377572102814344914668123463409967698383046161842652734328087101543308616495804172173597443760150966561459556280381912226987600617860174561959409464229840988042610132190363959760816712340515107068363601259170162827462749834580914908129798594557386500003189308316950521690080348968238044726348143575742014074642846764730778606889774971100300380861398149094858913606975798199206609480173415963658004309039109726633755485225610220942041094784246272498178240736545885924645893162128769055657812870347841989821131743242903671864350280282225992429416035216789609308009640974003621570883792643521416611064873802839265130877016958833083099922397168644877343915843878494520657868082768244387134338616108424630943468980650164972598079418045598033655900759794230060922412992199496352809692058059391587557946774981437102060743632584473513113119693964019838269636314202681922917530324642652029487641966175702706370322376584585460708138993776570269329692750871949158552414912970025077446798138046851003712814450717667455166863392057966586288850960049888395606257059008819557399399606801132231135782721302679342447460405175159849415867946025083825979715054798665873771917391817852002180237432048544555977338839524157946665999976093796621072426879791910994074180568757224454625642236698005871493317583925305747386994569619246981512730972100283554651516588464599541520391279615376012683210012657907013238689991177931467599470681660217321117202829707966037830142127765807712314315920575387293970665233836678708372844700382542319872824604373900440287629673752417795738675580065061712084004815851934978942405039465510035530263041835571731680947077254161040170151053838823112861764994677500170596686600125442133816401312356669414594250360186893321405939078827468395808732729594844266313167495294959297094803384095616925536488530880160580375923278529891998055313008761747568315855046967664859083467206455946441917940607590639085228653276785225189773810221726842550754743851011255667524128744695091823443959124433576572372326104197569346540893424649163917453962544268485517137113038168451880755595073682103292050768360408537130764390007449122045773797009608394919316306798295728487217512556838653596654235979343724005701829082708397499442717395509370262664142587906309592105705900749680411391997494680768844358944926184889015762235955245288526033090092870443963596417673750181232848810929099290333172031916520155483111881817837853253295711864386467153079094803053093470817384183799736573767707463104819406906344594906925100612457971132594779011022054638441460108683414455611779738983530075370214072493728121365161763702953293237181723205188906292380268741274876582731547119810586813067313184416595624192660004425264601763282103986623523949088939973542755141592641945160825006847859413191687074741068848131241737183655870582681269756147276824562339232492246611538972567686798648566349824
36962004234229594530877956054584200228389699027170986358620954407187062746623245670204917988955168558239677840511780387787384081063286526307088034612501422975813898071719565755842513491479608290165977221711968675287827154084910367390242040875242259015976242893836493129147956027658841985408871121260176488563904761917351064592062727929851213568312804710811116697332085012217730834393058962513377441940438188000163140025911230067360736850299438609849044082371672684653186400493729540823277258436607712436210662636542031112345940682433714525090302005944418783817894012339799337758919012612682272020216097095493128863258987513365211869994676151770147350203396593479097394940885569883012425207878013272208696777511257967372614331431733935063683924950525148571891371364908523910522629649709011785208126508805092467655028696179390448920447486909056367559254248994313186207512473508593940985184955142957697519386878693895644995767224170728843578371813229138947828500270184442450290462848725584985747226275299005023554725475863485840107977026847638424049769058527248451515824299828624793605296412357113338339362470220445328419806368101947682864637494823179209454235551680824279939335188257235983983466295706229594182828160487146362336306122947148156092844220708118296894696040353005543648904030311530527124924930839222573246656759620555176203359382908107057060357829939779448070412340267823084583060117040880288080377908216712645717245533114909578995344474014395251222863835202739599087142332403556561619944426375230872956994783061065239435974033204251574888723106064236471141668665767907858304317053166364164417303138497936042567252551160365094612779084148592840789789810446499417853640837870855482534486290673181914430222340657484488297438138732510236748842570531446008406504944683317401405642172197640778219019578022488730640569445740315099257938700778351786862035262904420131217549405244369324936797438375050865570474826245843955791442601659731815819831270933085696618022636203666863507042221615521013668332086560200308030821373702343946985742466772746272514916242918766815431030806250666134812985046504192508191279606318041056699105626478944551518477134906824350208211239237609904977695562339738218352202632050751475662729438243912166521306996372399824802003178310524384888387011697175141698743152620835984962996719906552043958682640845793892627768292502663486379024094545655597273692617522839586575679637786956536834868359403561591168662359770760634924355561734601202536276654678524812345113768941959036664345635757308093022107984903458469349041640675039897161807112878356517289650963242206679445705255830567481200153179157652288438071668644765881863234470099149352197948864421880399436848763732581493162216642507902867763004139047251663868171737051707793894320967676116559412822419489086871133469883861594722162213466063267298368093802662506945467059866670067317058306767366019173243893414723761391045280563431685179940142561154814206402441545418309647719061627175892216197633056816011741269699592702018494268507277467756129398601612230238494129202984942531675851913986641632367445043838976
39687649845157408066365320855441082714812372016245600452584781709793875462761693646725931095231134541951721913643500167070253107389457134191596690413402411108645922800078249351166279093085923064288337644783461648034415253423860708758108608770865179637694776185495034490254793871010199443140702663522827081392522239623422269343423249409814186105453739532742120962070208894741728591262245063348661518909580199342550082268989331434611560451624534159115336957662166074350489173078131657726268185131442553523724320547609289539235079267352181393265754640573619067556487200648414648719253772871020468291450996969475894365102751836993986971434534441490978844556161829277632542717474843981465228057370517140397574586547860310421203399880050526917977533735855982785453636219218248056832181153355035383486869977187132046708571515008000531832020115489946306221888085394904006185706085807869337868780850712557578889306742490450247523411571560495275913251637686842983790814719292336052997910908994845698063240743780279799376813896272927260955711609757480251531684495681810506031776748561510473297374505864983015283236189771646649029761927412600722951649408790231001838268925787414528165548374386707946640841886194130332620649698520033263649950237875639116721367266890993511715484462294213776319685829107654076426798371102380696539838830976904462789236498731265295835260694412220594728837826671281007349521249573128283089070433777917623496301006982655412945533263036537359304976044914225026920856942942609126560967523154774105949955851922472493574979489629369650575890144936358729690978675585279744439610939741156833349670969091698466581503396951583733195457987522759563902970511645438539341106478296340642256979452650416536684118856783116753716197881609810589705374051571283486423919952769284328956234389866816897701669553197577362657449725067874965011960147053937667338900979543311609355850839197204284687285566199354712490420440479295561510878942697425867269217684223929617834946256670613693510410551882461759926563825660875364550375990017340422711830418266827976139367233878823764231586364103780856809124462718136487392439505381935328326985094544164620342311608537147647840179515796291628771217512423376222256004328555774750048790715838513606576379909148861971140183331532939691426534706357634172295066931202606810899004670538478301231124079418899636998200079441175416722812486617400692292464138354308139349176168317026035269794739025867774997781813820400746011075642881455299123895121363137365636700175751253646161257358704491613131519900035203960787088063910369930451291192518180416996877361595043953773014870361900162218938183668136351745269184533354526044797898463934086277444022743078565601170564382367100696642025609591559646678863980145623748845616487149108931104259073998435740528313690305285105304900546616880523228310928134728349309263073936264038469393155514887220972622743133102697870111987080012161736818770885344502696884434401752363670063030834644138662671132250477047448862908320079476343316599922426517600549865502567567634518165436988641303704718438496807010877907697972557879591422052532224
42614289535012632904291412665666548478737508146490108661933609027715914503414585013564712882291796104664646407496342355134318307670023581636697795836850018949795335317519206801048097040703144819772628924637658194994519048984758442543864312371731176042266048136685200676509092595802512272681682366572658616011003289533818500607026562225300807689945354633507432683441900914701007666494873476654987367272583134316353326146854663371140353650813591071158808131294784976464013859993164780679146893816204807171781379217950677389202393577311314899584032704505982143879281789856882727624130810001411234364596757092623519139616750704873274247740352907797344904099145673007741768819219355650773896166896995718153755821735945393008869146862206833985070295464559537157365588021455865522627441853501859412249731249355749553161714774959133865642283340410865600504752661535791987906747335303242136396897023300373274461628115777194351357039423550072723902478079220857926217151831139000902766937527613623626436977383577754287013214216292639718997909767078973042923609704185907336368922967961225631793426196338565560559241903028218016412704402225761500845822700002944269295170229377499111716575285474218671981432239777685921441823107353950617052170465925822630354149788925430182441549655587448324831427469253004780383545885467699139845077035039169099749054925715082484578052421533684349274507113410217117248032352043409984070046842029172479974663500490593159459610098505523402824268350742505903952450037558261050872620115516969382830674849162709521841026757957228452579598934647590186336714399468042540344841708288023826110939736152367934765226502104989557370020408038057095658620116192386418512015428184129213742340594219379886458968693115098555540189091744654078884763956736419996733899047316485206548083129947123092812212073895631749760919554982678588735878270113003257310776763930222094430126745151536824340741273459767876612459626287122250451795351775125530826431695311658212301718124579476914469245188967121123713798748217526319368985655407024897111531819688506789794112651910882823580569501006321782486512120441991869853710998318457056087855843836663768002621170927050887149224013778546985912737970490218645123391482695372865850532632218711289374140558966453340416295810094575380354324537603750512484835432911569550689520354728504753348328614605570156303385238016112592655912781790543409480973185371143179802830591866054545366077735187239247908939840725545505432893084989506428655756749597156481341305368052271660315839074468783101676540529356097565067552413391749181637522548209606194107307700543370044284408668881510220286858572675071737003670917571836677633996801208031384015316115038050662403904538335032284139604079253097553150029758952289461829703210141315956783658577472283631365181662265472567945810115989063006322201240944414516135531837273104171008411732374975670663801434998275621165590374960091556692485474795007867901194125611711745931763404812923359039838565422254772449797876605905546912753837616210184507514382515987681576755130900317445940780721642333557993378036032452924695399578065889439774016536576
45756744973788576317696278863169501939344037214427148472622792724322552592724430740668039552268290449658712341900169913730378704674204310669600796638638945761587807770524692265590588828213596961318813846815597649381962553659639878296448066774528399001287847619556168688200907036401884271451614995672363090884970276174042386526733808140243988197675151544509122287076121286178328386460189133472747554432221319832478213445390618111034232289029644360736172436562493902316267312390341379138987144530146070410196819450718053881917735984868136276117736117411906286080370464850913958913229402345512741360733602985118514386271000562803915179620954409622024939684521751777040212972934917192566670281830588602530603688481372852653740005929149842588394567820335084783945501516990572181764702688233027312700594375193041350099044589432369922354916245457575739304828443466295930379576825715642804648460997738713299601281191044287840428604385882563641895695210902620488541262027252130826874618147793902599899934716889525533961388144704789489651663085490791667155626976436676578447748884534179971157425835265953506538462861014749936412639161618718813707171208681766185083343276482294280772935318058408261828200747271297835788063853175578749159523019242122639816942560330006404079442300577038555810241423359425270369747978649782367500484093023469340608988178213497171301289877465195110630262344654061387709924118094101163475183039925843519858598660802994393880084601498140372623216650391730043640672512596675727032123914494281408072763095690892594763751909121800992657516065276960283881683597451880626979463924848458620403819258650322288193927316143351326831438355844007687308629244883504927925918811774567909815386655666360815435365945704302164965487940674808212910766336715620694523130805697465130947955523653052973228705881699518420620601326884369596275007787993100803622814777359254080398504531890194306170795132476773950450469340255892992911095565089744925298540995935352137341426057419826775108099321104781311405383921880003458927261186666574375437948507506376392309915103324268408441670906969297786257998779601492036529894260503321012269444638010238512329847292852227390508425952739178172723645573268225542173599075695394097338458219890040226781981502217019164549486382454506981407146195294607664516401970074298320060226043371311718652904473997977940189161962842094876627728794704692066447279041355501394846651280073256971224863055105735251574133250486916714398516530673619653564558120412762065488835192433437499891037463910582998654546086000741745037592411570858792841980767755710489182478622110683942456901738886244823805453327054168086221169905729337565272827729739277021721849969297550347653976683713735487870944754695061524369249899031711615721003902235791893197190734368335135787393768132280487328098087099748076459323892146719125167443386163694058720579932863306228574173443588865902325074015246492635289988760799897774174579232212404485838996217820278706307643149902035169562950920458151951113817874465029335480475034788950322377756250254265616583475288040275510176219512331023726556572987361298519245290663789276954624
49130930808458578125726405944552267433522803882142885516112811523788026785247859392846571767356697524778325967483200069078779474567637462287039820734625250499484361851684556510293931285640090262847320625396236411697500945066199598105166159939755919883442591852056298637720529199720593614665368213198995251597105758524900013562528183914971627692406189778877642149164166096666344310948740383560007413387592604328612531345115046683029331104462385525968171774813136492661946688877582952419371606080350664628677161116012681284900630454342749044599225617460538414933002793524748242310551996204900729123914340847332998493284864702610102439307491216408396209310348370320754399598907600619635495790019370265074821420291117076832510034388136166750175664483098298227108288715448223965251691403281034083780954570303916571362770718114444005072106144764849088939314984894581474809543833192044410395714190504825893726938138808786090562830615071943734645166593502644409746065788403640661934980709315726553694898120393882753330274852067296608154605846048350579895683801542722129840564975973695792574841807503188443209805038542236087627591190050313931573054215490244259112910601708234964741899698246055425592081845013246361046328159137214118378184713651023860908738930831971118247941416724345631434014423798305497398506349015730376483008110926005644593572237269397514131887446582215094604019679547368523447625105463951586910365216023840045751551948134564505146576477286926376308492310938786531574335304262217571479998838543109756673336971087025554889723823983924836021091907239786400390676746118864056643193205208982882660920507349524831913201182159186699144808760747505873640789216340957248824164601830737224297040770920458197407697184648022371257191918470172361380986595622828733829413281500185801880456613038104242643213822575569128878763680705643247394470467893917356297826947055879379566532902944043402022244021075932899192372571062439168957178821897773439784799153514401590031281325655093535268608362216209580429528935699708423114866509895772049714403629267974279109387816328548424345736717256948117015825744199080052425083293799967061771719865084133230904096721868612800747277569863102967441274245770550134896869196181886526475029674372524872538258468524762201586321646559863923236843242370292251062221529264770493701602901661815354058944472808349405810473671013491176811312485003537600785430597702027500137187545757793793903699970939444681886308707596870841054350202539644315500656737966010773075989351158870179723002367751683561878721860274497306669607424568652625472586573342936967070726864546132506261184714500488245623426076538010987701708241991726967647765104168030353744906806687895709021815045224257436600078097509507924968458836098125864106257805097776865485964770796555656543643860800587923743280926493394369557925897760397469072974966876141221188598603450443972539793912611469980053930814065772811818839300960781935055752799228266748050545969251447362299129060916916664278672204155214991658109636131883622892313180240750974195280013175415626930825404039290811759144500594703907940131918638449619062937500747268988899138994176
52753935261092108305163972443867994497406574186006382922694151635320375269752892836570610521628484058871764919991975931529574672716016660126817348676229536427773249754103793179994080554773855526354321481825775607431289600997104957217508056396789251530445515974514468249954756225153250478173545614871910036417215250279429689980253750248269096426693133162062236154062811780073480859850123669946181973504315701940714714795761003715281063825605376374044264127433174436791801253106176432042081281246525213198008097683849332009979866602795932080322229863479604765672231257316358566839326074851891186628441706361173039337568942377373788954008874915570330074699579241223634294081355915496790947464719719623752802248297654661075687466822220051646701770302493983909671220170843992978009863746444097121725130976779263613678887596561992946751988503401417111842438297191240360478609648059577507507298716695335235932792715099711164106762931230390756863273170891395957344144056464523172586633556225482021649593847285899266002991394080069230788939755137019143848649254795736473620173066492512296340436298899930444827816476768730877767873597130954732659862422591383924985425251427137726862543071219769153480338240221808451871246946094554553745943976244568059879671637131330506022864301038742983502390383051501552885899462067730939137071834032483629860197992721403666205038603455890201640452648449086972766839749209055743176830071559592038209514839620760689201742414077558898651190920637387802759260381186108469485784332415160172762625011501618082041904177620754400108188126951287054925879561972054012988101589345499581613114759080484198551774047010561384696286198896206560213774533953470042258480354845969526481401675170498943800292846683632338906502423656222160903607706103606540701604721727834959250024113636396230997862991074303974280374789385830987550621967710548260656486593368131354939757368563152132422529583763166633680426251340153051165125366118686394773284410568209573548688227666038127449923872787685557256677102878983638503520527852000330548562431962414487235999169427992568429317349411247747837938171442477634612924559236704524046687159552471128809977983211624997024130380899095610560206421537894787327610382597752674698322653014880912124597157777224755497552698227871614128124047064751685068615682324824048848539611354050249418456841747955493424254197818001944797285171481671109919932082601985216495464005612056970482038887145266326275704872322146753566112069609687119636906639021514457486262896517901780554984377106011486802475677039811878746511641420287483297323969259154916539550200543565249418575895748673497746257532551087523266873775672030307152100292472930914517421465323076537326856942449736669020532214962308896698088133140918708307029385459923429891902459394835603574689694702425377512483369757427194320457427118086693407399730039927456920633312472732404684684228311536379704351290664787754931969268576514947413013552336464930410341673219897005435055671480337211558577136787720924255123425092225025800120509730944710162216893537714807218807991158685083884704464748126458851565329119468490504743682850373967159197255636063617024
56644106670422956603592312390964558026867298236073808875056069371041482566508963183615861246286959923727892247291398302084664619026298762658956931282458687886631693449378958374405604364085811540380169218177991150937980850846863695482169065210183358681895359855096302653096507866671405847962935057059766208866527127835651344999152185774416912440029367089707593049582148531304786192484560155993587414066443613673663357728440207597316666144765934732072794420927865157871001385755711547806676399681900976081218087973826557093577368169362787611705305601359861807891994176380680192596083894542230172579947408065918342037945027914032228481268541464032332214689982466504001078835867505098714178077456327397576927611198424610705510462679630041984503762428628922032197027186547620639651502989098358357514292161645868157928400118223450435720615011269267813854511697833576501482719836491488813580260617377308508521947191325076207221158960514906335507111453123191201144927434906976102623438712681155621205242386443938927358313168935836337913593131706936305438967030780614828608252511611343435415008596536620509302551029702910718859597644784832501507633049222331382298129682883033465940600794570076835716914330192714771690848909053996683006675917654655178707339844174460945083833300301824985773058558257777963334538152281224230130272497093064247976229857705818696391285308065140248653147418931353417273304839031434070996365075574446879802962158049463050690976003669801369305160878897428021930080474585707391487514411158076409154296098877768378363055836111728809828191716767818521503702105676194312932363890841135686952502703736399666156160023672981928467756029228839618644704098011948854303977775680478558412556536774227046906199932932235738522854077837052731997861226532142419991271293635057940716086563819927361858370748138218868874258713758758004328326123943993193437323352194643664524606487038439229856856453963823325263960716211458381597207035804946130007850469474274223916430650381459041821625727828193454987240908624315543272926761997249636971816346273198830968806466644097777083740025831678482879399788603870646468487150209215163398941731855249373555764709093491602308684327200409680833309704878612034065240457771848815231455615188717329727448667456933094625896261731316434591756083993568320432648967894461134689696022031549024598228788523729079780178708204758228242184290274882320133532368329174272380874409112236287877298593922288418141054476492868970769755678211120415908238352300670508823670377450655106505956657365312615204242161180362527302146243495853432920038173071244928783744400471213542373716621783614527050526452175144090416215486667852647784776413470818310779924203952752950480943457573043279313790553944389645992032729391484902893313684365337262512467469580696717162428233023785362074142476213006313176850398308121469569390161230179300421642236169633642470038988171261512586106735575163376553517678353293043198513253022475316090833336666344163707974590236842057673980497699144966012662067803653067421068455538314322332730103150799709894931259532502395411955577679597004509940701743898410905090162676238062579632559642461228323387211776
60821146415150512275014054459052085655122333813953874140130092028732614270627535441124541769919073575918487901282125072390890790461563137386371505332669850736038619740545014432154348545715859375888052549755090175064006869665383369066404771555157222925544559467947479706391883604790104123835988572560897446121909810787733447407442946407009268099805423232468202587708058601842122226248386713734279082283146422939110634489299885180481454611880022812280793582304109707038456984647865335759803916772197373844827481922808991673297901983291140487917058586881554897993887421944369268358790416182797870533827515760771472814878971484143880204262033545409706787175181368112025021687192171547022661623548770260215423433564159267425424731048709888925637649604978688562005022698661230448479451543855923418203040171714537317957560404343063310424247916602044177592635861061161281145594301715352959169265005698077334151075121245064303680649193657219507876561816647785817018105272304657790755302268506475967140770038382427857606318683576385048436821843632878022053857580306241509911272433270145079432937527420910988454330110486281533377455575017370137703288660194667879961235077487369932372102572817523597402827940552863830467075671716048512901538003999383253676265046471761469391079000778021310752737946402516772537832117828031465813074548645741503371185356056306222476480904386265601404644052944243549051671444369638412727382533617204440510741348187006738269533034520643215995421054720767473175916609248443098866085797063158915896704190645099371633069707680452760058271700583968843780368321701397634946423192783497926739873254474853392731506332654510795392005884011171565527028986139624736615063347314619888502789000299081625535196672895336470279516403222594975239566677475499796669201702906546703610174653177901213069315036774175732376263377959222715542096787190473325364976405863271091376695062274886096779656307785287687282670460889237692356273115930836165856370497412563526264212670110094127346844691643571998982861949953689902185423311245340708185455920240400115079113942597428706000240416078313571188479501040734481399132551186204671156437734831974366336624164456875059591609320528380704245215802473262584045561424126539922718862134427775449841960155061576782469574449706165106399728872990351252649968971938716138258823880701699635217523046558779129405010605193740865471771273583897603805530968732807415640112910755094812464359680430753280348850522872818251667320145956765492460950465026076548567335925458634884054620168144373801779613110683504453046656306605985801500223434103146211783007814111747288481855775133056395588129612918787983106328135831787784195655385632334623789434677333976962870789905375346103961330937746219333054199512324511409701129512854597514625303643528241808276797795196056330057990165644830011234026581254488860748997486286946805881778103740221200677543528510124760905205203315161613038572905571310188610482414388526158894347936592126461751555239866559383006773016939907719046853775779106118475893019478572522346869555856847827561254338965046509334002413384664175207439955222333460595933002156440578772480809840285107149234246630636519424
65306208689574772284707980460497919762335289652531709471089716612219217655232039529177710091197094393796919674444600913825127118335000605028405132877526652319121850094655210550487734457008694231993539164581881277857706052983039008360626636531937833150848831476390396396144205560603021539077576246744694374875881166598715788645075860450996377914390089186722383868527170822640850079242883427062410673135751724625716093614338167196680726273133267763619988901230708879531578440841338923325104283477323400680154953405123953922887701370912246710536312447793063228128090621289204684737113107905836502930307810474359508867414561180628637008961808472997405392966659049727421183120045279715421014461004057932160663390487523192831879334690951188981851570249922696537695210169621911939834664327219475204265647156322040507099818863149498320682410171800478797376896758423621889575447235087849415182204131957623950064432892246696496431350178701632105155761851856147108726350596108419939941408595457481260769894485777298097374620897228586525234881435145409233769621264514250237436643740660403862334947226370978980484595353531661460626226029598119843340660336795938884503789601394069928147978063252180606638354135647395577749344603694415140315384948819617069677407536506033924636897335623490021318515655564252597535364967202453424431524308910855211662278713253987690024446403376878427400679467479104638658975166926170079502364536391878413734902906794535708249819004114450412396149378943880677327779772886318562136683295479090097556789753251712735958546126643956155730803002072612571479903737135477479896658581295256700957889881788645244044115951892005183271903192916887793145927624878431383368577704421145460947661290268272450127047051753369942691649732634148606726967161242162866987217761102781559075576317061807045012858966016530526978224893754337196208404153062438663800735231748592996261283227258829786948428690014480201707636184266130741760175553341739482571785779911553241206807618327922749109089299850086556063184334883471711102958012428691843508503170070525738054857709028394396490657888798447340771871827234088140357198657528448767244833642740912489631531028346400995826003286919544141142662559021264678224034422645668583428970067425012807775726808631140286724932094131293985390798953190124088421062517472881882512265737759401366218597832774060425620468121960071190274998307808777230139380163655651603110140964360124721228419498257774132935758116732813589565759374711563605015279201090747640822315863422682656954836374970526621260656227479619958126439099756214443820951846541456017578577102530600473361562010896301816893663843323833372849869958510543572583161386644286372326021382369435881286862229318511530298733106563255995777679675223231360961302097992726982139640210755860154732187161492991961443212386233541912432364192220679077528310567097161250738474349473286334178975624141857363241918926101912477238819453985118363988403413145459922522930976727066211079781158091076988514007063563039412641048314666344424741865470763789989061008477595801669256058705648243311177124776568051325114692155890906655516509228717252440398779225762904879630454220180445510647337189376
70122007636868665777366994247011396313815540411077723945325947582847363452981853267299375653465174477895678816819631972162658809072887392684303299186877836269747725398889658427584744085496164928519021898793585400638384109785848945900290494492787963222000091457728037162478905845672830887280443996678722200401768417430952966957362243019022313439190530210873969036620540592661966860996798189993363798009849856410762115663614216198580929774158837123589727725667217197121233300668055350133293618331154290884192420271852805231253395817170616326909260145927228485117584129340363869698972788977121706902170053300185084283041885086247786168636556576134888813911457259240427923979555429604226360995288874035479858969952097402313605842178968405952342007937416132039383339723593181116645450733136372154150968558169640905495244456187748711534468022585199467968795540849467132399067299818984231295073156988515830848269091246563354052607431661816408366907534921637182136158005928942128070658518415794043384886149446058116866755053498739040547523620596769415894235532348717523937654934534885007720171133787315871171189818803011018483308119256963187559194883395725733639624381513101587433158907548383776549292877967977948502115089575398451375457370207722279376954659839335453245500682853106352736341884978116333274360684389662517224151074550281128370161217565709717560395685752129202063457150250362496600548909706010334499093909618329906749941299604466764609292505147713490563793644723669632112285699209261437553699658998049155210965373241003964232159706410816481230420468430122802946162218056264124375161516585221212634747228862884326828854198652017896503827622314002979415843026108954691837019888630893591407262602346848309928364533083485840412507453487703049674072389700262062503924583491696922715373068533147017248157289625343502189280405701988228967857759438438076757524220278796953239215433017502415543537215550078558193445191222315324080043869205368647349445474259493735886509573320519602759487919799914865265161806986005742532091188060598249982742753341308514617969128552609467079258200478434016048339223668542674803906498064947911232019130133191736041341214289260309093629155926986667359035940340000390383047801610347090470518494638336235444470286425299514667911573028675299353745820815654457487568947529364063065273915634485296111649219685266621291937773007261295015727744623509906299525831153037860232006831969159311039294672696467219678459395083496184312325838947893779141121437248442161380250295095606159051852294882401200552974197130926056665486341597155652243454365121591075930597441395841968082507005068902987725916629173383068435891447413915378856920098981805288599685321768359525024002917345164847507992950730416864285262072961920048692590908113737408536632702600741701231060874290867751897372540013795783035575004387318563223885599953380306590050794980659907735606829117616359955208580972788713198768484128665061004804195678631714528670588777021623653573230209545363771456993979061877913087874661966614034561359740530536007307290013179219089245197653823875339125544667771889954266564664794457308036281355695815622236493243969276992904360325049171735083254463619661824
75292932382553290840236414320183523226783174760536305114822759232134919147595673366130391168212888364373953854490073512798650494343589857967448080638135924781452278689654909414771815028933864075352844192306567787581229318454073696559455237686548102475235295129987721518779884724257007944152042336523661117448688353357904832799009865047976285528896152992150920147500462051830901312754256546683372992370663754788629807302748098933394633747321217838802147675821289410241120593388858170185081332874453444319419342109673806948522763030922748094059729271578408484874911637511374218274273373362661755839129462588717951935667125960906095236673787851138270385086484692034857933634341185692345610963963931013762384485659126257385872956998301670645640164674543675462992307030022598126149243031499985477540870151015720327291475405712921387976669533440305272140644099114773348170224018406390998338009733798287335267895921277907369512004495628514101473012157786102405013098513638345134985030478444912286552422788138547032014514736104953639097507971062659161129691051589722958213581271690088019819710634784940571575502372291774547678364973524981177710664022068793863041948442080749578387775523472848964484046160699546056016439124138611718706658905521082979143648880021187596515690622999939939253107126664000831774203933690444557988691391639178838488955052923065991987824093781222021307281044255666283761067185708942840327907220860876697907431882930230622378960381826835272787374576445201006757654619478067733651771569800743312357881064664636388145869922620854581885613438059094474979404793815618775532348787112821676297925335298178862990226043090676037472663094165020659859401745351908633546439645942812547587544873490891584953799443089970430562698665521481434127401093224798200270965989436814942651591711447258282760195868801212608667265936065912841398477227991981716248676062006333229096717887377162867590123601236622514417919984467077645580857426120589961997406348919933853287355046250636454894727992311926302474529082288289748460881970802513787467678172495478699032628835267769369141350652748671413055389030192604983065785405557709640671258307992106657598756254837325227896997156664623075033772513462227199330605805180284222194907546658701369771438976060103540625838126694519020231837058874977984936432739045939662635758245232994359148102340793034887872322500883314708154789617199453720072121956277378895186572078939026630381915597534587710813757684386889825240556931994241707373240885436643827518932309432494411605969993685615330581540323052296110893126662273616983251796382066419183651842194134104460824660854115461139719875333480559948153070909812217581875480422102984153393872523221585261887046536251518540943914205496419936138017754540153115625351376963860804499157168908569938032702348616111046465064251921926069240126562099647436545074244461276885363680360855183814055702186443605700870546220034173847276658546702027873288369729830826934982262058288593127469229264322769141106707751852634918599264288011823415580573913447717424460183806907248038743781757312057368481381280896566863135421457725390349175021006601042017855387907215143248478322362912971530548517538439623117329164926976
80845170550751436283997940103373576244272531719889015472210318934625387499631903534657066034790397572671265829812002123526510326534987856801868634729691151834763371089186392365571861212958059987637436366635060863417113716559153951174171991359907699815498060622051333201178763678333456754736304071744137707407232858942073259988023877890607904332541760020375186682455495164375694515120749888199746067300414584157432103754021263961275608551660639556136756020553711989384185105749314912931831647948966804306615763017721161517930705682342759941608217273010791685566664033500289773876392424189057447209749519732149775532947550486101063392143824660270246919487944470973586629241408453763621879154841029556927391820220932069851800700679630000741296928065304892459297404248384487273190470308862083862628244950498774996899825781781332231494680814281422378025111579518333520210883400012287843812635540098327491446650095155100669842861697032360757725353161075425398209551141925725581580352838621032802082809116155049054865051447220211575879995922703358865961704370290427228806926536236754673121764248146179937055082470940897063020942572010424999320716531307322975982667908713742407585321069876291661601610943489727698159097519137555375671862854160051308481055506449507128528933694159651862264080443851603288246750887908752991065651266231750235901332002379629409909375628247796390107446812939703837860909860169667018485427857429928595850222893133260293213840139606482557950253141883497565042600397080406376326799386189193440766952955148068623704518348781655259192615932340483121352708465745926423728750757678708840494871916938878156225371405680485085868989620866233040315117613602941898065501694140549744536737232143959177814543569753609046218457411479401386262091498218788861590864315739850409273175480752660788330040466763878719842188335284480638548223649606574305379503872403817340962119736805781433391289799977259714230563702407731619115615392206667509751185776358470205588113003496762748239558962448865724972576570357274328352888599978205897940693101980281930052441921095410210833163163705949056630750830308598745828545533356114886836741479998598380132632001200438413483337411119886136859251760205996388111656256279267029577981312660679114249683349259467909340445531685715943586425626467214249505489813276503273152463705859514668173394493541782886999663041214691945900151477908003209193825640883721064856734724347462438890851870310838111697148700327595402640836838935341048371817917120116979798519772462578954387600990309261087620986087203721673498492091412705486674161298556597823402920018489715424372407889679333150763937789624024707271223789903110003847847689305148120708232473507427315270115029807587640922937120709236767698798699504328287610847688142087482305032425006563974494800791452146950817946842135844403179043788779724708272832277463273340259437054017623268359446503272745258389538686175799169107936780561024593163494991694939324596183470112788303082674734148108262302829760109187596702865561667876607811395452792170235976459976203852307941170892754173816025838446589336058960985795026799524635183950866118896552684779720730672042399078414164004471236942220151039873583557088037044224
86806840888754931766199730218839092309928257762011488550695329164486400330561559429894725298684288947365217524491212737207228510368513461180289234463048324327719768681691863614588805061876439766627238374994662993836506554833644967430562375692499534071537351080783973133065444662038715136055679773013177283258620520753196452521166976801814603666840891960447930112760272176619938049932549565203391418639973911549402650241000039300565537292970093346012830802952324201452043552200902281361826101329649475371636664649799664291661524624965879652896540708110913436144384312925798246330585152088540264207780159900322491421937674955278242455020137561054755260261366642273893963103681649473171021370026585506493129528606703683662767894032223956641081515666437266345369840596125708418020321888855417291099417167067344374936813280212113639395088823824339713495100825195536475431574806580515571828406399072403300015270471861611356140696111951262427026042794217293068649449777352611458489548859504525405672226459424150238980276414792069707151301227156067559664291964704414742398414642852855058558286917902467864245729440818505808644349827469725085785824929312878076788738032688559266586814081194600863084104495801021143884670812392633615974911246503659479902035208940337548087659701542042737792430505463950100046464060456763982192288094351589105009126508264675623040136661775934819894585496908864400884573611558163213901185025057223482697977160079463982302203533545479223997690509827717470988400388064239817178367993008864974177944024982877394093659168862282695744672198522730935762470535350272558784305719791318836357888834740327527979187248212808017305765540545977524717019921204550045394873860541563995061610270650966158168128346314711407869506763468210982913186667352335103315458192119018887940125954975438887714775564776858513958136295279881799727454373488499977049721500169938096247496361104239690034898015540178004079644226371470940411674138110462556881776001669999876397835449092732411389996829295392590263136716635084068994005521009405161102397655144525931608749404011049837808225175087236339717781691025069300230054872252847640145636386950154542127057646889728931693264905423304423263566616278797177508421704278311633722123604894191885213159390856290122244676622164870432012369753803249304462815730120932040856696609623394767559255351767110177299004081259250505588937969765235070037631913180455628086492641604981528906151824141370761022412181088981685165586564324827315340828000524435232982233772984034498228155490318872324314381421952747169290603359483053126036321646382369914135081227579260765006563302736277952404937555653428563406469894882758118804234996388695035719429707919896683045556364795413522604451547427644060596772398214605351434068198851868184417773240405691213946736880330471875687300534209981625249657876340212342478738819249489209380740575594069336313113576054499463230534571412966184495640491636282289972229042597389001961234102637554798277855991842904851714510866981121529241911254212050311078340401466370762095874555912120972955362519081574976832624204770160278897740432390165850464115349978512883785347067474375562411551391792343485596090109875647587109358338004117024444646424576
93208135671569501523634839873484206139366740798524373625378719205356023514131371766539562470188213214486968658903959436420922206707890555976276955459917168363789398185137897043487816557119641297644465260849565433267311305975033963897312638621837712833122661833609354661864685262788513548804833765035074952161475861677367012760407228279746099051070827651398296336299740321660342436501578847111896432836433187099470267780205421782660924244493730406798080073765413173106460692267636030035208362012506652966184230166352212771116313441431779556265618503217263787231778739517933385671003808190866632787903783882383930127615712720799578481167560461537844277026634535207926411525535835420651291549795324850233896743514422191923579399426798865980291779964364925947251226596273265490057294894006741034426227154303803079980793776242378006059360930335161179563866975109360491788430320010209992955436101953274227422015744310027253121624643876256717497610085364932911874217420530986918601868477341508845340836384683149067252717897643017508091784023619994314181165681850261906355363873325133154184001805543934098656593913994962479928379151041427918390228132945080772860751637877185250837028005890774829679900626727988784097292883738028222980616740058952952624902626559819146059331439825048581963198064330103746668872805025292031376650937162559382911027033630863878251452764424563332818723719174870423574469283136729651383960564566428846687758436974063641299471741328368048929384779809903283055752115522404690470527382156557925543538517955016341902492422808511426532521364723887220426821943373258136166207646142363586716477074203313846249783549933561220663716257222183863252658054038509842841574659267820551870180404385902070033718629238061905119412146186693426810037885855377544493168526601617765827282445685069626495394306674134213767338725334422874143759561866319208381326102284485641431874298205428978911266018860091075385156632895172109120626299948355979309941916392572713363186384760689644549813570841851474665225058081126310634965333194709018837102309008206257420877839421737569003107861700888506527654558155062340155422738152859614324071239764628735145391717524525469981897668064406383542290051308703773903944496112982937233212908672544921834776393140761877732182050573466806392629890011131845300635102235941310129511940231639850791130869488178504981996035594751854743988449878580355890974639098992067252656238759511154334000184474482674800472960202301500932290659608033410059083838953380043632208650998279125006424444330600311132443457439256387364929237271861160639141894837288873046125499689114558389782652651515279586262837613413897525762638332500968635667983947030820633125606821697110344885566230236702595569035054581041647944923371804693488977403575599650144308217171597384043943496734110594581183329238800069302052103517506045160433701000552854748794296109185892755312006271920977056175123204016568190669541537798490613678121544294164603395082657051300002817151490729776938388425580130804373879127343774583797024629563393216753094408540270757209745621819885120417019656336461398636008521353165359939850462432326784643178584702987089644805030092849523458463521846238253364001309318149133336647238959312666624
100081473607630501508758452075702860735275642469942777444971638650342807257450308896226291974901837680224140952042371246084613041992635440766341718884698219247850323959172255262998815471819043833158495032689248177923793121253455066857050621292064872009425334532954892978093490395252457864142415226885548803110575834249427755798790932275878958651981459635602042858631000583705922796233809450177744807892885263970318474760086200679603672371808520043559632498102929288604958849899754207058123410847361204368045665618854848367294524910758676152310555840132654687191398014534406674240879092917807278430422014042372722603514648147891342136800006019601926759042539862415551124369203470501933925056633018931362671116008835854662102212949355568838810043871143850588226459831719767689730373683996684786600463938100494969235395394270338826323661257612412896278898050347287333926446193904666576458997110826758631724306003052166284256522938959042318138136568700538770433453471693516942499709788668774378508403561375250141535831984372658920002406936935791777778513905676103914207725597527833418016403330304037111227327098840250140009861219002794312656846699244565520878833161665236379219647977784243310393785835081653828888169454447090362306686135115834010881648534064731054999868952418293905285777790467074935057469409691853431903030408280235896315200596804113123329428821923072943384295467578889143572503247907204537271897940941627079008730102587920134900976517770378091800758860670923924411871570212885525211979489558727560534775239683275996904189844212590261849871485477595920431385852000826903949944165131648041272132264509249556116698148510857103891125184648200874592275631791600124894665717674408143869774118614376088563380782460856320227832535654254844631820581067456884832735929292613581230191122193067590320163410447500244311348194566418226870442830175782430973601176605754179532870680693817238518640309240052592090179585530560501241108319328918855025563294641416525299216923224908702436828482415682817944128543234534504755578275041254609035400592149083017811306906981875602590722897091451767419639711715330711952192054355325873100264780090813788757825807969276742872820049088822259741942100829261177267304964051115209105667541938403803092810231003102747345818138482814494699477278257472087877589763033246100695411826934099955899556702826942734376961510420277781340193211207559449864944254123893458853397778650617004202934863293967508696658672350298622608975473345692918769780629006724539014847302071471648545522194573725237090317343567693522572869672859216986499429223957406737759451230169101298870399728421596452666823824602442845196261462274191908544628932541687592730829123889835898037246696955327160996711830017425787214884347872781801758615521210048490239711368324019096136972386336221952843324304015261717983711832573923756861590454743404247266377449305073363642157099303511869888159627252505474055269893312039516255977625575864113093805672644813029326596093380140509780938323702897908046996152149632796651058071520322156185694947870231500300253414548897648667030326438565219877018901797290721755431565819330038306821762696723855883664465136271136675821410184643709705636901805657646732910812404736244447157682176
107461664020065035008049052307181775767912849488448223029389906912687984089895132263597445461887661411715797834679072227056045266043360972735495715042551111624738714926912518896285947834550400723351554137494692963752570159013338009789131481366474972397726903893225174896022896419524855047527421121481463011092966569957302229467620352616562744266199153683313712837152624709693462222831270889502288834233436219958211240949792919514947686769604086490312279251282715834089710930936304299438263105180347005164982120316883293677142245122891458155607238042237889045787041141236152333157175332593031869222357190447610900456143847113035071459775695986698352592168745245462782910245439383843876728217788441045987885289615443010701484533806677468109541458495722019096985751904773516416027357507656199932717432908142248563569637336005032760474787253106886108291626805289940135382279418081054371918919018989853961235400592851382593208901424375722759970831043237617809147933601315329250814541507955864333024079639319157035428942396257838284493254508855690034356104189090023770054942797981025745029087373800331282372921077753358469950443763278923826368988860935239204475948401998117787214460516303964890562021760825938171166966962039103717116002018114786062125297145093590457065003608730588108829634285994806852713288748786733981912219661714285194459758367738336995746077856129851529914502148313089292913337513653805982591403679048506937342625972276460486014900585571934185459786263640959718363241107054127772144308843769377085967679981287557951211323156567102511523318622982303354738955111575161929355485852566612967961566578063412083255933826839470590535414253176496005403105293190665105983026175565988038519185680588992533956030020966067073883361002399944630235807639156111022561659811628985936437277579412191274585657004311959568567312634332852796066715096160666868060748623217208621627248032644300907209647903643338124086837400655148040344981910577807787343139898615724005818523324915181432387993459484167195144788512103111938927191291217570399154077912384836479472137166126517444466861929001539715557187717480053367414765297241794747097070839857669283185178577323204945853040799532401551187114680646802809051383367664498873859260875218538195181410898723132893594509926786821828192255064602733621266771520883045440801579163483392814445909574884827447953466155776464071522892223114422126286421797081308884490916279445861760818274946266455320984686145554828009984848963521467697143748088669547714787361305207700946273555948234074638548189797221209910400378255450138942295680509890930408911722837120814657089872144004509616078405077715283055456783420483198008006751055430484591856969604517794372219191288326788232365351018365288716548745799633971251774302237458788153038433881857768087296944083942287636914833024416877640905204345398307509529496650417172328429147136289297005930945047100701964779363194169265336282090172057154711344771066589017383169485186047188446248104781017266396348474556124252033872165926130128240006328185244153165050440976033767286434650648999961498469048311373460443133711331298299817835953571390023489789556671120875431840839014599404178852849777669911513649457070026515735122543296540783321351600961275270529024
115386083134979803288166444105784768212597743682763861925135924255619804779566979285436369891987780047310135736623557467706900194187963673955425438613973068209174551289039074728132540453438997492622417132828298413219650567226951594959511892178260849312684939240184300535574635147263687072067699844995631675719494158396977297987829226358031253638834220823177584385976474222173728608017943249132290065044643448605594941634734141822265124456575359585961665052869657639369167594616285406297882801948249642278785322796437725748022381385708578434021391603074700025932997070553947820946041120306248688948943271250733104698062326405527411805189898439626968850110396635654536246162966371689960329387720429934835499832774454036878663522837371527987640877448816856982160314152242989823439157684170862080664693687386282424108642344180544749411953171162937556877312889839313169816175639648009901147394487558456429830524325938924906553975828445386617609394311161782611809386110907210428930159284476240280437818707843813793363905230948822053888818012034932770268145977527563023062150860119810100858491209799737522939359326234936945650438675992535890082497396576286089290313801291344237410498713952201000024025630596934598420043314367605984541316026518251427716193873114784468077970661404964000567442023497001564560066010160945532741209747457759551555415644374624720539073878086876362579588100781615020447637295838262540289806033061854423378924924421900114517565845930676695503545181371988969105872800840078420791286569128261987630741508155988343039349135585798229118029156774186723838724705356837883121518523741070089721106059427246477938866246053913307075852836801328614770244132774599530671367838791968228841772691670306237732329610510863102017862805967384924768401644580616470111861758606003770660510489712351107010488196048299332167719334766802384372174693039889839967915569498734333574567150671903199312142090455774122805739124970877451830046465910820227503227148626822569088167847880971556503216772886599783235729161079841489379858980228869221236107674682206511410151117934877855589667035202271752990815916077429186345272254792306860781627548645985716516026175380743116086065264036339188672081882494875547959156086919341640863588691448989600307756149288455984162567005174188528966166575739777033885108443424215302281171633079052394291644496275899213890819817225688668427456753402294574584740886831442477940681757323493316312866273337645726368602377995570519447421938456050188288207662924553896530813100000737512898293966822904881346874024766492060680178718296970128953994738011537658321939134112558438269613847830192819393566395156869780642459783082587990470335482571853630864398090267495169683569381732915504681707836859802604793669299811318824243702520776280316273079138409360414623211970318201037993582544292814734530371124920704711795099115220824976849839500883646358826031752917673639342577193665773126919504879877123132009527977901716983372109924807287472346165984112600195909118009510444749485609224353613157778304597166666904776633545610837571727872244660002435295929141398259361402239480757704734502044520523638037329483956200696910661570161226326872314681147873285258584568930979966733795180502746673573856846161479862343927674699776
123894863369568852185797035309739385972011921080215346464779598758155051434536166268114664443761641933709591439529762196744428111893338314118639805153367474145795496235474367305857338100229376240459820715491907417026773312696901627531535505257177137488791472997084664953232085631157419965727191483050126827519226169994515320028043283310181355331168493500297480934512299452405800600454167409051791551738114097935421769236052979195313638545590235395286363027945322627951784222404982872262869767102144324507770469003875824347093316181914376540193192674903712414098143576323252623663427598096634905869646990945288925175680411620354366833703734216939815412708719884931165182829136513189039966564411737640294470730394937258162259437693664959827116565208853078657971951178242401584232999124825237378145343332295432682641555204804053904547213525407076773519549686554775189865642176020020869228063049918562313590755200610031741762295560486860511177101567202076020695694183045774420711291598724053123379574977941539729602918698442129442794005745446442664465092031008708530657707929908213756229420317498336842602149524342912248547690890360370497002644265075072780660408406530941516889037925868690550580421324419902764516244826528078656354708473674139657286590163655893236120909992195452448623622233323921318461579035310616189890198274201874103840534031068944886747115449127756256018692272501947137721243366523803629001649818546039873381355091507833174507900031449707772584269201512770258195619510286014535843475564042482116548497825439921799977808444616718299029162538079897208971176546963713679495198113331523901848984071546864028519654003529961676677498331342632912446795276050696680932618447799425922586614417347464226341289219759143718974958089861177973630926359416590843662351928721458186059894217994873112969860782755370517019748832432573006843327949751291421526217765071569769023780172372932166780854993553155897953434325714393902008466230311837932415410084452883560657095361801868933971883039586651396409536451387858810437606410293725975067517789273671039906212473487034861878057677930759481000036136977209739777208524637284309863378829771789433529864870785063007941695457589420442727441338387401341518663734269476434340022656742211296391481049084203030578429808657950628812008533322662341717106146480117744440096590159360454038277549390845229163295007403257570493428626079297982299923722393770626815107393912053071509585987001646290096828013679701353472102304295415073008123533679387675247302530197886298444637690424621372275896092050994359316253777630170879936577522078910578291287705078999118814206576744849680167350555000842124397514659333742371528112638948622328665361502105936911407225290772452974834817512184938881151105617632208330188968565171721122730352876172015110270923893748099042933922621403527683148716475069289332608264038237994773427504439786056053096821833059740215344416996787488483668732670896163087636503356371221286457746981391079699049321823187818355738213709762994292363901110308673813023276565789322154335296815843767928434816375620205274719092936059720917137115817753590783677661015196256541317940192109672410924919391619130292699380837695875034424906702204159588204559555428450293125648712314785932437816756216134631424
133031096578671645439564095587271973258228093090414476425884398128569539802132679762692712840992570831136223798575472563418609102701229174850833256784381391431579298058863380656237224095524985262813590493765265727197456233609693512694279550935602968698313735771536434829312294320923159345133932069407508263211827302838444949722854926172422886244080982262341561721228460964460405524911952942196624771231073001837294404708826612441810118504018766509924140439952173690805422175019547975952292791202711641308221365561557090703951586415377458478089848015134551191885183998655212485745154311272219692090543066293706014725134605614310093370386152253708169099465173669951059417856250520016599830507770472660899240899168872171944703336590410167209654865387968845626226274998964945391194830121280254063642758686725135995528756623802998402062846944888064957306916180099952588276280945011066268643005891206560150052597478640501395097744209544263933304873423800815683048456421049759701987085618609840873370481881159708634632304718988958026349739385382143040854167901703155257592767232318909591195669134173323318342032936588690999227538967603728234767405786004848144439058847013466656781762388127424576271785851571122136274315197666822763689773867511126697245638213064337311701728579559770876690394426296180859317420747294581434296631854663172444476100415654041552451321169085016211364921618770945763208387055919169448022050775174893881621225263547307703083822882178466588001610406139345496327915441784492009407086830634403561310164639547895235925535198845358087293750412830378286893220268962839588034925421449949191070925129529676283462681309599163489365795318052795032373054262661258570655335753236204376271034162467363480166444733335719817490314909731097144195094771969649828335712600075296500639682190876868678968816373901819284740608155358021297381119434996131997305113926889150814334852421658746592987547449057273854824878439956783411397047793577436950344111149788433236479564212323078675771905259640435276432922720307686850573745745182877704225175074207159177564873370213520452944533716678578230834272145783823032418945234872386593279285575482146690102283864830277866102242566284578949277050397533089535062296928077158934133272163651707855180793479705105691639610997804358900282552995673440243331436845723172806649875171453892144592528301701176245263494375099267287283422632980199384154239812743956919074076723895014360587505291167987978531401248022739483052403861328762015328835729870231153623158269854493515036553636735680286776903701113306584385945724039510078054785752874409716267382063760298577929958886826810878188707610174016544186622291379751158750681332222147181468272744890608540483320490492944026153363054240598499575707365493053933605097371846146711539816957424585642257862955838266062892524386980685254538596891199749254378540105891270254122515348943977996218422323632588959790067094347200024833459229816437868320290962852157165228767742729351973386589880392693575871030455222724099184404449938460623016647934207082769719591110625479474510301200263508342931299936790280110497759596253992150615641166510520216646656465798750062549000474610095273776687064338216816739462113454519136625852662162373319234068709544129509265322130397275737374773477376
142841052289103052071358833760787759750369055682943436833534114459712444177982542658401560637395584974673404933954636511907053013477421141246348629059522049947401926698363625712634473977025747913666584028764577049765683064436242416401322879387495238149942296371583578816082911569772874479086753744497712521836139546522752257639006542915762688375064023098078274993560427196692515004098637791556370448505235050469931845337049675743010290504161261682596060657626409451530226035295536679354522998608050751484323355253837094852594420405341013914748457443653352602196171465291661401551575989346896932714018085152756815970736890077829960157128734705238320252560173000850024530061348603163572412287504313488256084403288984889926747387769472953847839805572152135957878622754114218576401930433793601213479187796676092110487102981694313320900046641236938343089210307035635594449294917832625995477615150466877456283189712653253008246796525841496164484189138161012844204255477922480977173309736570298883722574242835376784658640438291011227072209229584861205715660760776998632842847737237537734141532117027764911978307101200817411282960282105904063999454504412999319453010503235576640616031516562536808948494460003369948329959764693694818568978762648931520195627350939802174417870588969437498159623194570694800117374748175526934578201644682537686158306784711528729500873263303157717860540468556147941992445609520638999684269991556904475458414491596166883398474406403243807723905672425441631393321228579446265094190572051763557073272009808459565983594492584417486583942792073243384378721624829929967476029397731637169127819661948630874734760465299714513945833668016668266358382332440874871791093087012255989814042539974019203664906191567089401184997833509063597129232072307555879318474931544631401937669522412445134764447332434405435715755967603397160880849605294596203731156112385759441194989786002679672308234807237304309347176176697471101326408486091012636307483333632569517439790616064905774618830161441514557871030655354217520155869202944902319703671990898530449176847010862092720605969803775955811302684415526316052522729388647984787900846235235089866465989023588632006375449703612844704068743575187104657733102657183165446674155512087811293136953040665867167453897463432912320740022568951063835229700835267606168479436295969214883234053075440243284534695810932827438111234222899041842625450153869114747264019532630977104043421642948366502478379617327812686009505209647787990001100036387233282192954169314248081431520528582402757004675661105752642589775281695184199276928026220581931668261288846867293851120199386429484449384725550929481561120415545153485863070134902958287826202175228328694728538385038468377771815749594511167786083252714746389999512147743687817420364908491204929962169248543811251367517851241122837978177304357548312739053639756845668338453150243103407475433888179574375527249298966742643957523809652737181912901034663591476927406453350577126242116475312792636428842629750398100507019346430639397110071935241345046877685727657188111835252317560328728778271500820280071316785936795265099083721269058493692611056077088143509081477858984709388078759337139722277713303782479550318803548243025482511963323219127239827770771884240336694879734245184528973824
153374412026980886455067812320821028831235054522161251554467704426196414327165155994189900643243738020252815618075050941552076821155942759018016010306270610478742448834215257287937439933372160659784552462894945428003943306213680463892923944526461139802433426800772733686428626004158629508897660819855803807023976305801872866617424818938305307366984840278108697886359161352395827827648238818221069004197709156640316676767889613610908424576707992709212003225734420395056904494270517933149028667175357874983348066876055025225885744098253679622831389196734728046797263554959021205292385632875941681272355049120908422208851358976256643380962734205214696342680100827688258889352815281060706412325664893972747890646285466234818384966530829180983247331294847998068908579566610504558560492141102652606489756490841528279906431484040290595610713402246823792684146469796043396183310200587533963093950242832339451493992382602339764608402343813911226542257264369993937023305105426476455035371960661952227633440777477476400486623801570749837760992117884083633811972810641922169274185634735706487925955769491973755230786915275518277481923953427947990847787014573429938580234180035325963786850164235344483307495963537913494466596751588818675789604326423926802145945748622391300958610504395998099527910452091044731625345376197530962895126904601227916084359879767732171842670267331964832935254100333292937648814742987482685166523484842775211272481212354500900788673227948736285622171765114040201297800397392815561592223716638464024188583189459881265009473104543946906022138262672377093138741664233132693069972481797989556485501572963786309740417218214004168883472879896827846722567283324439356992734438202330456857855457685296292354183858922139991999447335188070267313542809038814938841343149895007658924230407304347719301903489080052852900950558193356576120624901858699785137767169741834334013929072483886940231966332143271529961497197216488916525506667224442538115845779504235739462600586271615628827355602292426310690994012639952886184919762275485588260451903005099483418687008012011250280576402395316880171544180423600518236235255225292080084907767764858462023107488152036756190354993577515262375512947809682896473237352303098768805682473208820546060670639686914386923661298295428576903464862986681049179974433834562975456761234925788636571679168136016427340035271316173274874803749386839755952971797036503925992567342538812874597821330100455786191635850873987599406185405144718273949074915076894234735369329707885564144781383453513270608829220884096699347165394717500894147588179990807469650922239195026144785645787332428475480061990890794426426811802471091058270571140890628494966423318622433269149359990405219346115030498761537681686999073585784740495491532628464841563521591588939469455371859928141236955081111944203899858744570976277073488553891186354384408229734880575896163287618285348229522289623975271561861534193899958828299778166091171938826887320810019594983888409822808935972874331477149121164542277839722635739228968517251710847811778113396409913099810957454599277982532857985019966535813592096662053695604146461780196690674778907820214906600921856646465610906317436341325317352465691602011903388138176870875600494407234180756034456872135977134297309059699356934630014976
164684520924777994235401406845048044674806915615364870666216988299677011301910047346445997319055304538444407182887592566875044356936103766507596959767457803933038430237476963968979239951949462257658108808532511024245414764806467795053554296889117200516583867331632199677932116931519118434223998558045306196740068330324484754417902435269685684201106939780565100538764230629631802941648977579064295067797111886472475340450372218349232038101960868006967997946293960294571201215471823474964148104921157692537384122954369304710408570883656141172930607880555841737112051127710423674225324602755607986567005151218693805799494167132044580955992453101534418362595460511225900803237906059421195557899055505267064926394695095339664304982696991477021378102947662371249258375913101492662269057645925227580930665371792021870214314291004448513621093802469750277363273286361964544201022133136664589194446817104039088834318905937542165518356578372624156961560528121887500808344754409137126722734273559620832299993903804643629175461928300390995845191752706478981537815758737064120902500839555715242274249724877635453301634683363268457808779152783015928270038135391589244187348618818275284791050442560758350774928268761836728702777503123453062947594389692718561778674902330851922733031391495719017687632107736902984200988828868303080395489883257996455256139515174225438537830213875591533219755011595348966797356613573470867539120670353917808573699337959253131822473030317643877818935685914849093750827365884486625599618637719443509890629433826390484314699028551960239031367322542029294402610359618479459090984412235580105913693488509004998166904550406110858640544213514952863953881816759508298954765830422985585797307027863364858932818630710417268992831988676777951865411035679420839229952240378170932187273035335233243253465859036780032290270343688352834726154626141581297562234212125914806909941443695476973814450512582106201908128650310120532105881271389733948259697770587579898616561533286753924723991785502088408226938611505102067286260146839326286024490613396966600627438743667919573784786618079305515973383281184621913098320505838710649003122941431607528114526164476426335906875062011429523210921845516785718120777041846859872869567800348070106015860507320674242747253831189941571026050633903228997452739452858890963509810041521708795270947896737168958786052940447362772864125149508664201152658795570533520078420268820457726765347941408169499096761092061227439139778833802268783436211382427309515859839621394202432828086562750618758391729878136588882549404980153649374803662257584169915695805888395431664429827396708237845611501037732152992240558707290037020177533342341664424691622192893784665734716724530322719817640161555843211379329782358310727730995742021043353300286685616090924158603267477514880697764999206917681662241737990165205616981898244733680624889756141705984916803049094325560442433909503482217728532560796511465823506626854109907893598412089023597393741591775602383715013299203054711679212629532738562552727301009352427472850005040161540015143472511512487825930047871072768303544583447701861897846703937003835014681723900895279605417885663474437042508207823577220138532831415362598165743213691265997368579751960125428040130136728736618864202685588053312406616681045477556224
176828657882337290325381391957967972856760664420655958654667924196681852726181508921699285078861552651984775891152425229725252107897479109703137269437564758238095057945285268450034048524139887960356975720464165150473379873199827737258061568424758228632450503957640770979315043782230621318435700236288936950326183822887246772068870619100514238460784548339042130803236087702217520538974738753479600399370674578913036597850203647209230677590836960390425062824481930966876458890971732758614022720784187236976722016369664766009365890685850236811824010331096803640662022270249047259775481825954881945725423609286956109936650645293722397205003000323476023571432343143443671204511734358183566902599229466102699901193465655593865050379813356067849388611252682771041343847200211262228307393935496900030363600253841603711571809097732383339129602104338965367640546969108770133913734127898533077277856016068285329012259615859060954880590097944220413962368299351998779440753571020098940713387841159222245222193569460078590060840106935819047791992614180811678254076617762279165582807777626085033864154807821610468435164047096138328489265570722410199041723912044923989312505103693815628825661961071195902384303292769496790667513470069942188987736816400826428042891073931750794989272191353871426243406361602386722367012927712675605328671948622988176452261630221648500162809706849087761958336338983531149525509128636841767322317819941918433324006765567960895440774635764074236751737145132901174608760377353924042674939609769270474574926488784835817964308324928409865833016342120274851233291837898042078510886984749399700621882432928582067156848748386957414102904104172190939415864913807788210262827556251251234419708942386028206408027370000185854209462062447350904478950647960150411178379674016543706510542858546869794076412125803879074958133776285038860314431808779299584688760116443282682440088329486774746413528330937645662998546337410646985803219517469451944479089509879441592086281857359555874172297636326029163258849670653515679034119700205766041287082259899737753824785621074260413440979366747264881374521699790280813720560151275859822068837008829019438489822604740642018918284723224265445099945559126639719592152993209971648567377844037404630513343434060066114317255099692875952926937159163609343214595813909467597776140875877035337431070168851531446403117310036514679724823442197705803149158757605547782502143602481848608051918318602253046461322607482054270180795115963440938865058597417060866971901123423280343250067144317739842764151345865678667886719873504863279958143954338384438805140843755651228632238788946674900172723519632414777335435353144686447072949454826755190564293050916652185249225035920494260485633894444625767644459116406935582352646749373908536555726245536336032655904337713666706987560582971794344925866795678490081940513188796282740628402586558510586716284594183302675319281232989719930815399688673037114150245667594419354398144356919971847844597742937798702188906276070545712490231871718318971870503508360379116533525674890232245230509139796205279676991924097492991074977346696455605802390021557706478903659421000811692756511400834522492207395928603458874556397775087815937775864172584481724883718023159132652372590078208483050354841799929014876272722424774597298171020312576
189868325650052819497192569296607462508800686546487032322331723041238907293909505944657663540072787388014170485597230528188811217193684024254542710208270237628691213803556296345869212124414471329709338801214906815306521368494471751089263787184700707170816429709196420168096001381372166123110433598430114152064234012946245295379341392172995397742853753404579267941513301912003009348276199079084672479611396574472515853954432142925891857393141203536230759092473820411416012552253005464674772468192255914188905743397721704123429732548409444265159857619906725861694280359985832938973527686279645482107885349408439592891323788328458502524552423492801735569856758419435101160388706679159492452822926987927659163232091589918712462404672685723854070284731282523471306921903932133890365085596986979784948267519766746576348284207578963550424229535907158988123191478968522497985257141140820193320658073502533997726063758294047436620666513962965877545988405105993187482488439281634577262060921785725568006253408553135480475274727393621395310117322145032997209033362991820429650082046189618934240399351568745490995067469668229472188375178327881724795263685423532254225765736049506730814973252088002882087447766547525495573482090897469133578245242874176483954178611956796950125231183176782934676076614680150282027738058433788452385912337612081612914285251759406384851679591597044786261221872625659042452336906311173112844049131892139072656541407449282727831250641378252704641218077383554029636152853958930695139243495683504698519427192733745154721528387707015478759138246610031946144563427548956027409030994862680617450793977846293370522685269185128711629175576510934309364664287089577298293303979646681102728069861346684838464003796505922439437865872991020464143278238346713781813023380543049045604350964166289962182111151336374584220979284584305569784899223882304349506151759728262739990833213624242500091199368336663284453748453679827531556451029760049195145324300197217635188188246899357348163677354299599212434751029509305197218694245133272404488851013382786472913488289181249215779111301597573140738222557060396538396518483132657652516508503418775436015517929050648008324361545666157940081787406957337979505726891016334572921023273153910372193443435226079115147602005417530465501507644013712210606682132649916309305051847745165522925692757374631360454241419764580778810507740903323197688762668456954748503006955638791051301527862114996316616937282010216999330915757584876591013240508257476624021430469012162159824673183662201214327053067921868671854576822354161171092880133185869620535848310151091960539421102447153746046478067017808852540704215919659761588188208685485722317971609761770989363088784655737026235375663617195938747961715144211338445833131900411410050516176526857309980874287946184479688896845670637800473585357972857258148716090834176994342059899497653040104053590661479204941404813479350851762881069004819010567380993170929529812365944014557593933308849048315097033149017433035306004641152121761827070039128865272721918216415307468970777422184213448445278803439413711678064061897000532616509283245306771075914632786980195452460904139408855302951795090668851704675173737892333245203726899847112201371309578088561336416502798179879242761091681487223503772207297823178891803623214366404378624
203869562303313700103258312235785693806211265224877246878127420231362691537529297003955562705096051822770531155052136036685937572741206445482732929944931504836344338642204515325098142691911709377557810834250467459857255373302230231931060085668848362211682312805120353765561787130341069275859605525409234306165663994223741037412032798350531401916017272145879153112105218115256798751107137254963496478700543769061471010893949582029475819784059320974547665352857424600802259740663037397121857756781734847975983133479945660029879762162361324984099085172378946536603588324098564874052716305580406314031880179856695249464947438254388943609021523984781386421143675204011602569580286458681696213208323573036270729979139759094378331113924675692109829737351566646611403905988953642215652823034824928578541480512314302523433961944316230946662028195679626386565389955328918985571726327837569715232156016722936923340395552170945622939598858798316449805990233981360038459021104853175560690834220157326308554470578306060891724637872692729802965710419134003322963414392455691365212942778025293684316222454241842044892819319884629388318103235574104993237932456147625735175205409222499911445546386208184023129833092357466208303574586311582304472004693803041260378866475224279366425102759045917022731163353410409740418577881456914596094986665291700315487446601880444220827888414144985941809814513981770809444865662845076129764927142423481979135903296366120023673222627874654933014394763991590451384072821752667865688399245035342461700819853361131068781856103084309977759070357583217518551533302380107894165966934496389315711061756020894635304135914312771096499480995139102161281394912767222379658444302092286242789569108921816474805484794803193986924543637132730648790530172981907200489853751578939592748674986600070823306311047806658883608675916095767344274196980307569833561868889711434578788994998076675792666244576105456681123198708291357525738841287661233505125072459165284023331931831481078303445069972953145900828653051411199187434280485667703034684724674773881557628655509828113999549232550076392298109667794935974257301163791328573061780634030572386172513697513443545380840167149679039721655501119526602372298953810405728298122480537262729955771506834980476041466892206523077043603157892433226030027891019699731091400554543412464315768147157767026128301738650594370616035335132083653657947844611932077857143079958032282588579380100654176642757551746479252787497384265139527225649458871487070011914132966886294475673924104429338931726544893695223157205590779982680989839245187620358577380349621928951197301334038445697726888378148455696317810402779046065309867106344049246081807656344245820187589007549910194286614308118377538405036628688301113905584310192246380333778053171525453753006597363054037337061647051618237135123855606089468694856241278630438887443681076403866659000471652230606048051853817547697969907829534528304229196494942510285417116192186481672953463002377932478516415110414442355127325821543144682014291756389979168982689910472598983253505951994095412138963626593573552267814606610134252020622170304748331814603020276982318517001876499338014574743533044729018209363430376841411814320888973039703576233085247645482282899733338218767418222033378311318397636040744470771332763521040002526041825320370176
218903275685641693593061568523214048940586786451907465239018841903637878417056071818464981113916208779380154855874507363127289524505275688733186216703934973558041191665754359666206832713025548874016828470615058603199776164163337592501599498639665500420584440659908485191759581698032145466371852004773389590345694503328925165614448336448723778862581480609420675946167133378993677319414699575562857762457499016383898651360393294772366988498831141427412267770918734702807890237261296744165835898035368345550094837935992320421366990324900033235483322709721524473411219692062696203647693878108446854289707818468776015772627686415394960316183914018678914097087641979618990260224223696587385127384198245294162551765613006880918377396341433076254470990513312100390092249217303607644078463556162134332592856544952813652799785041636696249474132866368470955949250905906151991516015110081134081760535784848660794704464493069518312979981120474422752943888399961332309695699470379543978728399035633345117510464042104684652135479175164571490175562514896749228420797655023225885664795326884505958733380890807392014403105701035361428976684460385641182606805261452751670156366015673233476755379453403783956723085173403466226522244122026243815929893676860639019666463020159768535990854195885395443740008800732849975264410337921603255823254259245987788812866363405710007601995695872504605613228097344460091683286484258241072992653561132897320708514749327770286021809244412205231145474052144379851930117676177536470970448821004471559291288451643393404496899630231279021300423638295736210158277206094360591598564294969841585265707306886518387823277691378102543649832738773994688376627150898998245348078481930978446662978783187765895050891288776247232546191635302492336933047261864628556452709260713613478303779453695135604346100135183273109031783380373540186920612221770742114096097518487610598285567200361726357474099274377579873142209749755206153122950391859881557882908650436297584690487042178153639027934916566341546093881038885426789543002208808445314352711537229514371248153681790489052355928136119196805511826450168610962251596926623897422673602671863265692907236233069136938250095727761253125298830071714536047755005737676796882874448027484983629929537076220403349152960473443473442890982287581247915686426474365609194389942150055186618747802290281182402058366881060498189393784393174783199269190770484521442438822103115426557544665158065719221612690002039018466204525776079815577766509553283508147008382863243021430911242897127524863666271783374195012904969787096186574440116594538706038410421744807702456997318288073969602221780997524562147475825566147591145839831963461409033705006140235678872597843128990343049503625983524706007654080474587165506213861011604419076988575623562725575180949336639232260860675705648788093132423184395131623605839928300739672924308816252171147087952448726384606660629164635028425209929996285492362684358533977769002534941018247379659622831289797556831056374597564730337270579866034665561925624574339888225477688897245134299164935288996445060122545888238572690202592195408008649498534757859109663569076828115979900194569883821934562023705503651609597851103611726704880244060647213138142363836002954351851800443683692628238673496956616877056122479677106363925528414042154689276757019783657133441024
235045602514275762689063042330416839251890923715169610004960687275979767807020019264633585701381941797936461064349150651185726198218387415643227617655342406485602919006320684483944955718546921406587975608733343426466619894900465540500436168586839953171471104460189900562876923021922053083695443033863436045400398806551174179286359837532218352788080884338179988173750423603211954369415770134676888720513673716330253222142848777686250995028121971664271611996322696355565041984948737530685885995641174423862821114658376789379231040764848514303928484447917012220141202534220117744062550278073797395132093097429724446223154021284566206370306932557875467292946197787055065427051392600957761482067981372679753514885303730486441849340668021278071406769508850430954128763202850148033533152257911056558011276435947972125489343897414902176244314464752830260331972319141324012191638589510077696938122824840672605663261245731699952180527803783770432093072100226922483682793234281165524008048381120788981697179999655896897328754904655222492039506574971262688195139913639561324837732786875645665469249127382273934228224986694507669248671625966934106821748156245074468132742810880590301309182736109901994193782536997594113988391580157737610785284292718409134782239874894898639252629431608037798722686431474942869158762838524398648911999649938555793041653923711493915577620724526292366679548175770690135139219259921991056746848973330932675542273599274102840766059161875223052752482918094177533560294474153509358166332767163990804229552209377713031694070811309459078184051729356380049718195895969382657736761501862191728754252088346458014750905577998832898877611022226104580463831235974213615732845304083719839424593551933332286636936585236318431349099970743240913604512732832731907288019011340326877824884576704338443737923886438334242381937960815170841641439110200809147423159860782760725204876198590973518863115387627259077693404908092738608350260050017143976385155912744848564392358032116735621322092424267231388709823901931853088022367318122008938437333865330662667618205690918035300928685774089546659365241786175489442154424830905937780610453089537736383698839695694544214182433154900975367284066346268816743230210965903549407495124188024928455410682131696522918135208633755098735465323154619181685185341774627218459255427051454737780674657827157894265262852209331090380228379508590224863187856364904015417371371853410674194436049728290733668886269984335939407072129863862956748054625813856059226887641158868904386497727930468752907718373991959941027688285797861551035883642570992658660282620304879084965425582101745101567610169580810562845032049939301147170140311184300554689460490770947857622541471699787958224359745658163611777722250329826008737631954456682614106186109617206178337506241670774599277736185742055816830509489943552316966250616021665665436954910762301887091434390350720734684481306508222811715576757817123897794246772668543255664232528192665358718943918021151501262522131507216419510409047606893737447692005082790935179180536947832539077510319294049010048371772085560985187534718273425559631520333396231038745176686903417386741582255421950432107835974678729717950132550472468419887622959244505255465745716941449075146089986084937401700347187962656254439424701695899118243404679457450388954178323227308095851576506187776
252378293966857443468745695922850987658640155878971073516095137404004107272206155489722805002662165506778135139339238393054949410839596854011405355428421958884400707993571039286719555468831802020694418546588850500352678321065114167906084204454005033714409968466378839216762094013066177263911969663668619586295571024873680912608639030272187792888949454208810413341981208760485456143221258838772688145409378233113304681125539635109005643123310617149271316296351813277422560731555437982695919200015810675380614669438998630707319365428266798832390261256662045701884704346646931644004487905670666421655582363372002038705039309847024941476813785204538189815980392745737269540081501233092490960712617611099182306943357178366516478580982078545587203506938380645875872278532292399948195900069879136298366189772902994759124085008973545947502139683013287672891246803472315358625648256649338092692059217080456312991702859780467721275032701317499765352883374661166561536172644791917998594317659424883125526632668486842106893718018973444689728325269869636346405792798806545055491123706604459038018645373945851159405870329495736395561057381242781591546594708155223250428681139877812076324431459019956831706869470735144187565559490104811389917993228822014542759344086075180273206236322690897759061442199111956166626323355820605273785906119612386385146311992022736326677216490333062701755774881747893431443191782084568774983049122876883006657961043591620260207729921763813261069299229003284788664851802654709994238587440805630793252666304000455495599761402920578419062702311589473860621626347327479183072238006862489143470303885096934972698056260972241106712053611767562072641988917343126544722620413516687989088750190911534935851635114803976023521601383344194134245135916383042245034436426583239266551916717979984269292479771797465872936840170700522066375693984171953820230028568760467568837046543169258136079779922633360194203074298786049514485229856979739404474410236275038544134431965066074286964156811129278894743339323179105058433169236958314132102006574257116095857077914173511458515555956993761769359941397689088017711634607607833204983179733826684381463956001538664851384892444501447830246663324779694884197746374434078948877933916756405637182168501172032732576301597028747685518629572790234168038302655151626468487391924127951998063319045908394124382474770689594804775273750117891713169479347902047099172458099263437930603494686609596771928155581537323007703107219589082864689282373007289507730365660981371172839671359917263922138830568441228414002454496029157108738791825941706800501257081660304790227041462189538940271002806648849147691342640284303047758896066958477756473060936332718852519983338574702677059834535172677000639371634531980224584872219003319059464403023842903712183239542962325721345534669477806273401158581299521858768082888226915124449722887671258684198817071510881374735022544042232849891957150564872451584106391234982759811366381723925692493145889737683545958816324926427447855797763528916621261918127813209749959076567665103355637207617614576394733034789262536298500510462234091126969410673957230267660686997952296673219947582798946609055964144357061354780865786080302952534151283472734981375775628899231150475728126975304627551491036293370526795976709610612542665016490778111025168885203351361449638591029609888743424
270989129701981706898107890532351382768789770333130723720410086193705995045950301899562577897954798447037839187832607986929650312622634097450868103141082095574189421347908347997297914465572634250907310716833741314311997463745713309415721114388032289005692054624872097495608862199649157008060167682100210126151131835369415512698384670522050137207114816405972570092012838868208432804694399701119908090635043010728976966979475300786238158073516598976424263430925720534207118378651110336658796719181597383421853089404587446469179505585469733736931789401564837103513042682869404667436697508020761306884018106629284259570867506546845721634807287433865049010669011255044304020746752242678980404859078373556158655165888201382756744237600628728850071044599213490309057177942299684421713371250353751268552320826687007367724335679866311593418755707141469322126962696394533426673917692277080412039852734063981116264025925526695650614977218372299401169576998367956365751658257597778132269092079666284798189787522039049163856063759834213108712006039735115572806451803956604711021220384539112694015425629829780301132973963900232997592915255904287692940863582923337088042500869046801075961822250571069700878195058837068340859641966485650132986521259934999266496944112025977067681282517301177148012145474945042994561396366492617723458898222365365930179767545187566352877454293573101112889613724061367401235431696477295398703744734279424487003523235067009849310802545094054148135937544551780710972452499272156351404770369874130037417684810120787580676111782736740798819422350415098002304186848025865023354014761250653610090001783418269374394201130910954179288779087885089963911829679095793929993284016869042815843046727869699744661057681552070617948351172752918229514473101985039262852330711491529417895877247459921904801414419652914764984955001684449921302486727830620824577558974992973866455935914035453971761143103646923058172603223986053791437685127692684519205027008422230852049209479373950885404393157003975420246417176721257744129657718592308428168185493102827281745337682874781645951393385636547318854010788887790753034234849594359102206405296718898587625419907347872804050703339402803363889894648262853983121956968774234898328195517129487152551863826723804564064182295967760520284551703468126804976569594806550400840330725616016787784952659847618844025321333914227263500326346550905263133081576146674625599344050066696900116981805574496813794649771075665930368300396429150365618615248443895401326464925009103113145887985558123452846741915785041434051622631043347911119756674742938777643423893154852613854320873735022575445613607920254611342947635587843433069396175162422038498812256641041411583993906410810812723909690934502357629368065076229832677690339239551268963272565892194921376002649089293983319670130260336835520402698797800890961511713387955971619832449702684411947477821006432203155610623121027433275708273777368776491270085934708001128410434644528237498053575145043212172607269607478873664349179586659609657689152296820968215642799120387498230415989604169787067992767678211340018146568650316121654350609259905725585994270274383294892318470738931957286365858440550366362317949445058302726605021407955513171031353189007567709426786786567193742778639229293868549752908038817441318412627798168111439348706293101755818224872923359947801153765376
290972362410378414379407748528999304743082498270036870917993191977627092440373640974986987194292071154074776846562063106562810886357597359481488867450125618635572476599607648163445409749659945505054089464027808903573521461805696081033112763638318433767866933115217801731640891688815938005896907148724131771636786396574023926418658717979985146544217728745174111904565713437768218251894000497665544955950828400658583298178529580029163993948258039079222321614178681174913805681676765872509270454899264161709007897677316798739319162110760459799487475715620096645788971258094048121407592986798466875522269358261154172686112733741942066594754238697730537094565139605267800200047151595130219066373645275781143160831207819932800548705982788474862276705957544842049853377964057429905594900451543997532337682803880095168121766922087933486469801148796491095980648485206624545185822636131463035018343035365246016478891262858322348584192360173519070085929339536054491314596668537700150089928188444829950511774352086648848424484774944685920953139655804199471996004358948455159258918078401008263413676999909777110057788730542746332860404436352096636839074787663279217081603472651897328668409577691965422252087564303501079127285693081248843618789905057384233847090861272832952034271740786277508253679056420836764738775814544755836921484966312945608298680251865699917859665421657813066290523750729085321336672283202945535990966106615584574345427332847231917824946267673131952574247779037110283047577960321843833170543099249803036790053137876188117191715418823639777139583601161074486132853789036103109353942407468201328490223319090785512985368417327190722049956680558792800254782174809652445119117088023012802217409091300043038164698336758931456292669726024257521081720982924354078806677020808132557721177477767715912959025076738022146671476916066584330935988554876642367234292203276526146552729043963535548306854288434868216469909092551065948580415611346415987107768729992549517228392324141076401780528086014566942986554508797613629755903971256983964031880470134569185058200787105901608125571349234921719208615134176055374493312861847812802514108047782211384747942200081615947141396792133257154656471214793595267283035290101158023935371205191238779365604519906037856837799951540931026245523545104173601438834113990526354546227846086185389330835988738433819640520031263175441461369035940825126087714966312525304025556773522162451186753857292373576726055606635967978088315859441759000349598825218361409885490468051297593313344143712865134276838657112284781314164994016163409152317414374657814227180392641272560051106165245516832840150768167515032927787683772578320050355367697522535875512894279307918533732346274429295373093199955288826013257982162301719582558028962254552478138873910245562241805674261970460521888180744051668626065183021673335849838700930549064598771129118148618180852227726992029548643906303748568959497296777603319990384662148170114039013478315848541350665242225959763197034332503994129849823851862283455340975166012202335813310324459990467936723636956346305172078166385610889288568889721931650641748320722242463858748956617965299532807918360111427628552567173282345941743519905076689756009049014137200823119229134353202502123420038667757307932522914299952648627922226904102244245339756638131835521545267195357909863387494896722560555633339294285824
312429195148108755185973103945261030369569253074946234326738564373639481428743404502003666006263810869714035923620517769243858931684663305027237550771592110782887982308260033823368124389027253266337379239764401918846473052502394443638146303226688911366732633352419964588602449554935665674722667837829688521293634490955779801772412399477330846743295640715980482113988503074530557155018755549020309982956642141234150031842150228898468520057127548503587456111522841386666412755425173966369055515152845637251261097282447502904197457642959626132180356440045627863505731917749477993423962341094593743326862453358641149725197666197699219887780885091032571560418033486574887795266193439759630937847614943946227682316026440697708818595762799009604799139047565865264401464987688431227585616215939275526623762517771647663112652669025563590152763606426039754198020573208598056030995616260285423009171524250775763942778762079158492148754522379579322812849605768558463267527184699993571922633257089767434432342326285936540554805808509336559871343992549933327920826641089264964684881185768873616196874008429971909586898816939612957414841796866392149063853756977982124370492869569982354745145591130040662633886689102958538288100068258164313545130233329102571919817878476822615564583449463512805882480404751908179376872026636371861970721812517440772267414470431056032839287325880589305649819886023169402783664615456575301987597594839596247683922750430841912796375918153340938549754305691255759008662637898176224471690650459096544363690761320101715120558271496618908624809998511180636540153133764936554489773582185857716452315552807874058305685169732890970689797505304183520583637477102803069228260679363398320228272082246690743077464804521301310170667469450866538932005541264268802599721127701410206561322388406026732694448823158423869919427152631229164949027978156370070389826745695115960983218595843182849127841835366277503952027030149966364773025669205175797859856080712363625039133398710838608971181074760509999932487045751773705661365004866317534278341730152269842218586059305326473873284201569645851280274250684202434933452828083130528982050160958750807012821238162207255951090977492912388301889495575970765810253836649586561132601135979118995775557760066553397014070192114670890779060323155101632821582765989611686650537379776171961142241973992849388404099002677059022546735614188223126950453051920509473990555872617241614761576051368148905563238895394730760798140304005121930803794880258220578541658166300014003411080344409969941544417660641455233895712637711864384425267594337608900824145825171676176310424267088366651916486586247188729003302807858703446553724344359728527952078652038983249904053175016505316172939853041988542490294273949509312422912376603776030330180554597693082289421953735598016114892207116159715820794803560585359167570396842958249943778340337860408788587832874043795841022804681072086471960409565053111154931289596599936510538339367443660897602720801103856285791715573461144270242708777314034142841216692644942313244351263701980064991154529421090091127844245461323618970021999681743363401612441237620513947183037070931889063522101629133145126027956522710198486684803057351718499271248945079798070342460194348714871364905437268261808796822922226840051376309246152616818484613792343785025372006496910966469541279589197573792956195209057333439102976
335468293869182244943756219845126174905140683891010378347923678081693074307713069177951227992252499708437775291029819433372312190105781769965814417446781920416028210111350858983804983704933008507907055384284362246611311951360768774279488407605482037171489830656150647591381403795984609864230908058337385954205689937908170507697468522695005870033610721033625548813473391206276048383366089337415189054145273845644021866279848466859459099532720718130890465668706483128181883311547092190166424325997476113332611436896296624952598275425714209721525401020904739105385867623819342475706905329434219242498773118866422274267390840863660704965682922869979719430693785478367999533884461109544340244771328703962480269529302774866985699499899466479918450546714562994929136671284152713690006338671866615577195559327574961377275917194317976951918616833404714046769094267466525609165575433539322928862479401177888202190912699623337671744893360188098322429753946335612886199511639269355990704483420350627816783183654018664646603567160794609758826142103892007822600098525190980710000039909630753199080707440909789414468599822204182114748646555638757390435102225486791254060967865551066949231867682165528082290678137766731624697838404786045852917656043052336187856276430583513856960766622827164061635612439442572156004641753295114507814719073569062886626382229244636170947060272151106367243331109689990020805922721604601757549513866861081062411690989522708981301629618947643011052285102944782539528465852617439265537666555387696760937166237431794663459076618335066796779692819454832381072105075088078963262124875483256771467984110695495012927428743718743943661593711535963688222216449219122003065950894207134471200440961959839736435912432502505515636242239945637715893418641855203250129720505549449122565371069179123596556097914052779487052424443901382402934366168292652956599380960966657959837633968491377970388045701489694515183616711850527878050037928051186091434697164481584538100771166911095096566338730647630370497748517361880949952073186654928665419209173029014018123976802019473420972188523463775199387714409149888770470686958243938997819271403087342680283418667650226826870959280963182694887467089626182780651778792467125122996406649610691256437095683911215405903283881745237139424813012390588262131224545720650817475864456741047593294528020604442665262301712211046237824989023624222979650763017595494545611900021437948665282799994510753901363075878888883407088302865830374127323668500850323354997655299467472367248155630817309328819076395954969152857529113396588450573424018432156252969553441561820690688900542757325978009581402788589740752248058934525772977682491506019021748099916431799193857425881135213648293229137247596726200630076007301813025963794646713400094207390943058556369626024509704627553985752032291113140741869504864618060282159554561832850480452606067011590043930054382947602223440323850080403888495022167174228370669486125440027109631734329962669429422660339995861739861963937375041857555045253980841332604553939827743797769083584069067395240808286462938515937697309545344087152423258402538518742187195575468065465753886402023942831873267578794786477967911687545946494980147881610830942053513048058205601193513727383598035278933799941011887039889916857378521052000351975765052746129326772968206824534533031502608093989398973580823383395873282527478622374068224
360206337753263761074323580907850776552788784897740900850229676716225942615331368167771532127441056905497445031492489156779832962101616870629041990234805042157728969160417114429237549663625046353087640070790512053353167913687111145737102168569165754991751291566186313163551075191581038871547687575735483201860797985107965745438085891741120998580596116908600262115979954849292404438667756024903136540302781100001306493395208587249279165185661091568452199351326278914679241190695735030165451319354500621326188922936290436921646785794860752049109216154517716697261149726222326636346208217822019457456530966413801065126096505189840780666978239008063338784521386805007568362744251077019203703297372945496229592168405182933938582362937940954774496461283092077538113960169934557092057176657091797294564772677090552525965795479499947008343055938257081790776268585577451066528156084018103377361820877383173426688551398318326704627275059253857675817064114209599096585768055458308328764359072745041831537913429192985907688429608138105571810181921516201978460898213018273575904257892639720106474753930812849505347406363819594204318389054182876845499266817220646529042671043162189391214341003975066393002014841842573701221540457612219203859439721471637985810004904422951553102328650032759176287870924084156970040036588649654261909838712101635773856916861350321784409072304057465354381868197554473959481949413098769297944820789716710334565786922014478431003993681221267167188132765803958575276647024511164411187634427885782547247564825171232277536015077526846465536064694121134406466625178844730866669102953917165007256384416621198723763600918910592665056152870571555492189490007507343435250567705440399600920036948099072933348375874379517156929319263225074701906593122101208681685014332238867623058541091057222353287584692557626678697454606016856017448249281826444151418012150299212120980179841172290710197878179312904105936052303099268219140297288134861319180522510278084596350519528565727694824596685647431335296048280925441719272391776020355563797107382085705116742007909534076274554197558455860780516528152871683857802312753077858896463196498702042560840566797158404347098156030971136263653704387555188977054432869468168389602386021398712519587618860905355883991492402774931229398541034783204841013771171075663003223625777757901538494876686062923849902165278907811860350541507006252272752925165504730407587372725124422102679119141933166881664705180448552762850328848221133190074924054474371750184981916973470008278632487669648329498410855388034800052978122351555718296042151476753075316533728808066757181239885334841184990591824906699034623005962900817200052066709722537371390500472803727638014202061554931493348066340678180848407093127761338886037005324221923481822396015785480774455129065754918952491057319857163966722730543675323311869110707954774249925658000457583946490922909696721565352907823268885936035417889337716702088896515202133472667511305426387737534525057326580399616737011198666339299216207502471411931833525404418057027871221262938366777766944794408741030110502796179511110370846657915497165035344494265126647810266949987520397985667967327666895177754543801308856502673326390830190549673876177405829817340392540006609903302083218727123913195995893360085649961052797256779099971531085112269098916289784957448233859875597340690556401111109336292453922226108939225138200576
386768610115549492769044401330207268735607862182843968358328763896210774019905233620878542921793160894196622255454482749500999811142312972018399573967309754250836799043946021048066245505111343723248870681466093534061415831820673286914485906953811507923180136760632708620066541793369374121750515760552355874687373422625351976436210024466777796820630685576757686731290416267316871451320812484166483252105757690588129236601215221333504153511649039106540885388304695540980428811033570360310546721426907999751915393082207929534005964863111073731222267328962118966832442711371061632034162307288004479612865960589637494441637651482565106102945150920825880094021936835018358787617705796952564267406076040905374147417679496294540884930355214719583869339019652667695723913112728881292657608776075968962504244300444572882398320599769227708641616100878190382945297006991832401444687661010295569429041856842688982080895458348070648454399562272945219868215112316359252276754764308737140881834576960209903151819890615771536527670031137814720580027718180631557905013559924581614722440319009369241975676495622158830509221862756858687884655739779957013653748942985171614553546579716951964755936084566179039343084251955116606804047879046338932639862646151008535151320783524045668091727223333632497700076075102688234513102239723417464152443942277821269204777425722649615778332057906545450430793550969733208614650457896402038130471326103540997916318297639171824914886326558997955687898627108507307037988280702790383232496596843276615948966434937600058009195055035177532872647242447628934548631514657067533566383410182804699800443439148021834720400995479135861098414645670337916700760754290708633560370465075069390780752550799291904162515538793857620320581504773627832961441576550806522477102682564303725277422369890732017992583584341305295095666852821740354920259009475016194577708552716438168544166970508365725426125117185236721444866027289209110684934522064179550843940425459049301711710581949784558928277805311427542875534461152948199657233898426696044200054446364569936376696510205546049194948873272742577961880601011792663428011926908281825503019757386744811802581165974703100582703163731548343088073453450311512887120896548305036590808601368756612033645603525319118246157453037697319728951873626965810555756666349398435090653822503187828355895107548279233367053168123942634781623717120602094749871368544551108471129029242947615476592674172633493615052696877078181743151536488778706857987650912787284297694820938110246298393947536065706754176676965748713984360025725854606200822471707533140687984303327894945769549613060983224722119488914807651255145574967999791474479003867155811065001393941136908040581059478552417862596619512795301170499669540325052175502228327759500160410342039834919480382889219102613019917230311982657095939996226453316676059780817290612623407885811519021338281964501145100402166449860603227406616933099710083696196354380382523633467734629150667031554198027547001967124099332764421526543292414066138355542293232090182211642463955975025543540481950455746595214490193926888491077858206894489963851879821740594626410801640806516929370337049096781457692578968085505265168534718355037345675074390411877883296304659914782690289628042458275852988829086300032967854585406359486796187168510135401147067049213417012778229010281384301682627449703918165414088871887016352826305038138552090624
415289632891414963128108546221284779030229759688947504092470212537582703184584857855228251159308477929260152195210690256425738627039602654153897320112482091902285258131768056797693042121490055532492193611457526265417710763281606975999635429754879852269625891925931215947770771586584662875226796865676233844383935768578868299820621171318042618960885393161558290556876369436588089138114736405910890846781488103594125519255916392371200462103174044498104540607413232057936992379861337163912183643102148078333813181661766924205107034738996794622761083071215393646351662539283069257596778266139470423259689510391029478780553873449965761225729858121682860078560405953245399638103064037115219997961823836844435048450704072198701571027693721220917632385056636227258072471466079026616657658654702218476366694882900959697647310255332984538948189434464716143602941700509150875829519164243488447497858041938615748684244004999973404952289766819753786233378334322932448578918813429553516787006027131524156833098438269259012798503045704053973449649300089829290456890878578153565428938321864262002968460244043264837488678731737227116039516955643400402482169294478970174363750050174241406357422526269507330414811046479962471522469180230547346054939252787650483972947294110217943516109788092709918626155489819521452229438150779107523472499772639138524341932742609462316558725443534247733484461853185678304211267295784117927459529831670114923961447808271659249133518689032118108552595446598584481776297573812438147981719911968292475745590710764676012469298907165251908310496209814287316657424219251762427982749747933024891799500574359629970804509894897183093439622385150382337374634914499721314451659797285433304583494027987884347083892627052859441239320649676299856461185600075098624115661232611888479269374401464877277694557516323090986096879581045155035546486283386137171195407691134148473875833267474206821278130760578689823155990363577149166024259483041760395986673331779735634525858442422863148710684495853809097931014577293223742877474500891311340792951082138803492460678061962537629778578134774619465143251879000618499939011619092253208021662151804480847647440229061724445078127157875683364251565782553716577215616697568292354097401569268577621217066979698856980207700784615891460845675970396435765011776616626162496996984240727145144633457733931565512096861330246380822741786491702735321194947707026402532471011935198671911778287247271161178317719036600913030655495030297863804234056969260571483565813396029439886973526765497935497754078784743461809679221041495566048820872831071435029022764880738663189150977285186594350946530473173333348067855899051668837729426735062022934265133979292898892273213772824353362035394675611902818017441650163625863075818930760712955535567293250316227101759455688509175347172075204216347286561154542745101298602046187797833136335408407244154182461797589762790194485337424928655135867655415768679139146535414542320743922752825852200789277670144955520137911418451919652932215459211644738654516342444167367580421333283942879625567748507321430980427396372057170971054547197084259029336011505624540929006932727101782318828984874591955674912208572456168211383666135893864079133272887296537869675833297996598450435212302590698558283381194748050810164315900988216552241926561468148114623465672712148573126924989248333333670666957553350878457500598067260601544326831278486505627058176
445913847909118296450068016089630626259355853307492165684496430675771720268266753956253510336125999670427538788603130620233600313944758674106446885206288406526495402834715465650890526039637561825319459234127551550757520876870424900060972769680028565476838644994176256710297277017266789846071105280228682321519339348452715936105172649304051565792798066708248725584862408661339947167833904989761964319288059565787457290730794789936152469248304974728851933974485951711624539875026413033458055040767465495948243446552748968258861377595881782188396877253102338670711645080362274436970290552008152410664911040560930945783601211808431409196063653590836968130290233582418174127025723879200900018772805008940022093172987364566861515306941410737095605550892182925960561254236175648167514543187469346243660475856417542877102311422255144546214027964859672775674468553270357390104385420457758865739278330044237770027345757989736563784962247201577109661133742377987292365914494679764488620494471071196236058033180678785575530704004763826277646274011638776666183807805333469135895771576102031763481247916910500321520157480765536932278530592031471841723538585730642564662931018354181485478544059295308716540969889662743683624084114564532647871389677497408915335595194233769871708516697250919829128539769746426394923965786512745933345484719713133892915575262734806587441031260855672167819471945898010433041033027526786293661495247639882164743986275334413689671094776699435292460693834764858697280576516872141970901073856933953793072546329733919656397831752580824253448792958671079564647808264321163304636866354881146377158198389001956716816701201972949667211822573702602045230023864429014811671002750564731405093828437904817988738907950391889040851928974904295217447571611427170933637840478870777419815284257167805600087908702449665488729622122059780594230469018714011822513557314702009211026253562137634705232422134174269706245750529513751310246967205570556875757692902957330506453592619132924056598993618866589418160242218393415044517366479100526264814908901278492683172298710528440174267087202559417733408819693849551405252658224641309183851030950390308156726028580483713814243576077001372220777932638215215015598533114131834596853797834646904880891194598712021664643348539319698436554460698966438941422580405816724445645936381137619913911472718658585844134377949413815314009386508619455889569089010527147071373643582425991780930385232480875626204856889879387117601399149454963544461855253093757956046342499896285141937308468898573529592812457770148055599307655994628777173397042906686522360396500567474680040627361578821998733423756736718017314406468816898768067554680979861258567677058530335486837020062774342810572417031551412847928787861260261532672604069008737636417190922329337434265041431560227017778008377271640433226089624766273011035425729723818291895056422098979272925213759354350702070756000947898357235453504148730939900937950739291267600772653534331696429893245183914884591749737998991464440883975534909023722903683373808887427080069088812737480969551317824590655214220880103649390739960710891339771847718502934280836274558455043561980670383763312777742107385872457522215341915240561709486736640769095531001070803534110803165965878451610976595405368032936071297350510295239291043311237515384857474497961104619329435868301821466685822655542554299865549546958998649831272985542708669102352511383709652353024
478796348400795265862068756520141336125983050995463070847781405995292679528466513711546860394714783979948264358705475884279877307182017813974877848680518729893812678167362154608996540654119931933231285540745760250764409048048929443846486612930565768267204156429735283257606837806753322423945067817288776493024729883282590786987435536298644658844415002210988662455165629465060553156053611272749712894015279459589272387671381890715741195872778892473631381011692115253215655448571592778722625046966052761476531527897595189392387919742954839695339974617650214782955657166628815134741052811123200432297338633489631976863729074455795479889071761026729435846847705056171744617902208452973530048598745891895595628923861400358974853401079190225982219966599497322262549993187278967247769323148640109779755547782777734594458043701148273098435502681375432950195846694619154709182562351761320919451063822545373863878854764062562311277957707081360301404193766448886172753798304945488617901796977149901480366887117274560781975227886079215516579040684060817286676840912164196078224429646011150395826291728099681059981640346164432542004113913927672440736871624776800520073213496833796306244761411092108935941799980055553147699003007501946251032975669730839604026303555982202344444548714840658443006246622824067894767403364923790417718963185108909142935390460618150453486148398472189234220513909905359040344508669820853723814293545768178770717276316308539565118011265610124350696718846445973988720310068997860494622273966702978593305434460413004326530061135661250941321545242041841587794063563334480008522656537534313414220835874760822544683816222269427374332215364651806353591416323755539082406638981300391728975530238058990005616526482421888453529960731432188172216632166424429761444077791203742007050477061369844659115805650513777090058395900171219452288827680529473188663271295816677386712130411696161227441963286286253088252256365809061164946968457777512700471806559653259052170324310220723174986082644886172534514477203859551819489118282945856950942267306052604665600078123715655356592420076043206665448331795761138907457752422974961068816157316952542992125083796284713673199894557202217858841028089906337075400957397692316256492101548301018042762614033959994192921665370076868718395934906244539063747710639728309915973256588070667201382027691458708797541426680508969786063571422886046288753456208181774097932994245719978759865200256546679439998345234598060263655428827687821162083977557880873310739711624367357019127864489045801612663104425696041745969254015684837237405052905126831848315468923882537298020639617325951852691352114323415891684834383304856005248209118375054335041393192269317184968309912927917349825313547546679581112091300258652156808917487887263821664043405898145105379225686159049323923039142098931342244331678084013556551150151650183668983962299247471913048912837559037585177134125516742111064599443011849926694467494537628754140925732815273362345647861209055983642294859030559205189185900063224590806289871562112028613363620377467806737249411320462579682183072638541377805869614123400803832427513115579204057269689760313096240582070604799446255316986110564371266021748854054128728846704467041398287338310539861780009529177050395065747971869891076069270211183291741014881311871169466564926647474240755013614126121421564161590453102785963556678125314128863483368347738553636262572428264125166003941881675776
514103664456409391817302639039348450989710134968953533416738033226670097130743094355557335741694412110395628798150607954774688386309828107577878031419416174302345751369748417158433952371644888828743606750385178931922473965534161142283032111759647673371189110305245290882179427901495471937546878393939349606348696741983156139065484497827724924715459896686990999267929861203922262616229961209789238218296284850809119624371104703937688617168378879953336830951133257158405999746704800224810859807997415158188047895958270743871808056660365940724101948646069444215042571437214695893735663813095752720892532894668824923926386255847997645947047230351732577200685239477227871523288500357924016378101226058076483668167134097144639913861007373281689121058505763332289306236576096491889456092968866254594474960150398920530041280135142657651164268195456948204732989587104742162775874048573930336700742347560282055363209229395625306225250079396397526430928776036257041901042494880277169157114539122621536949441562504488802836947513214361077260681384273669680327122059585007684526345769467686950352844467285863595162939911802589201576453889444478010591340442441685383307560873631738670711712707990854880884847468428013258139268892256625451134109179764413305478640924178016056860966003929864465954527292184954692427391744797008344115281449767689741785722867336333035432644140110207281625097823839151883354402327517257230645551789104551754428046060185132219425980191588763393183910564998076028105101159331328579593262640035371501008731386636315058888279434636423031856312958688528470797053946866704086442652775937618147973147850970321162869122333780364368351003707602055679000036314212647064446590849490984506984699489180614148228459389779982445617799274416371860347112745513638770212848961524997098275800099945416942875663386412169549808714280363967087004886808513405827354397042977042746827836271180507090151612513158035577105610722339432570977722775124493473187763235937255182221875183527941144508627553734823169588277707278575010480764613282032535747828615896489973592337939100945439942915557024851427767449560137760758811054289585554204359650278175569633802805111575592882779394698457981740597340027291266360499849527544441048030680958065959214292839191832202107737116863583972037898993500416280364347719098126082353614411264095014841708913734245383204956978199491966466448788959563938686234566755277221843470527871180874186858918117589699523047121769179029134359301056943702797161849704174074483386576748782208771777556105692867043123023243549340333897171454720761744434422533167383380151542929744952760124713172354229544844991728259881105448260503867671235132565631497462757806452641768439333422418468104503155722678249914682458566852861194256838633541082909568562242760681864246683666561999964069175175090884060701727872196949686909541451959113130744822669851905941214319305909071417656724392651359024991616872113587768927793903183818293543535106125149401608275143628852956310617194191845481295512719826733408968487453999317363827898895653244519345851307333671654159738831692592716831911704747557375036540190096908280505937380920957143152706768450135312894140576374030364540053672591381838221989976042661870829978880557113664149612375318595947310137816827239877534699940946904812872321454270952062356042531352885196261303455176613781235775799163855571859990945097655693298847678923364660856522407062056430909509375347220539898855424
552014606398508988860641210402123613537265965552850350342133247926977355539421256608740238215867350910023891827353161612068683416947931461357138979505813232010502654554404163860809769003059108811252383940497294728928809022345163319224906423931375942402936824348091275399241908010228240365962399292214627791694531619759851450036970980141265398434240590467541272625529673873166326215757770552848343300083963068131351981306424817701033758142412853684172923751849478408327915100570350182944022665247434339238083082805595856410752004936396673700573107101184935462126058892645209048545041836524228613184111178301703949753379220082759659106888700532017499003684583086155461233053452852541986199228284124235373505363989302320678852932320939464929742646316789034924637774155793362001385791632304027420319924034216651257557570927603043726568677055815132078823525672230852728908671904110036558577989230423419204080161260464893133926858575107232699059033673995258126303669795954259469236316707814443008745776779104979815345720397431052166092488953032854997727940956929442834237335082562917695132860661891831506085452678101311257223405274704008165820237205272302277106799565444376584581329781242079895120598854711677368490641426398088487985561259295385032914505098967948661595181351461643839746800035768454196804346599620882249153561970146923559611091088732224254936903948144845527590214221547481625845991193578225170310543475519584727501970253419197646967620203904388263701721297513904710908246582524935369395799005222635220010733079012926155969368572368201643061007582177057208109559438735053930645187663033921420420189676522552815284892487952465252257814593231393930919057488088924782847128009314159176085491969604660900959032353892285309845636599777711656791382112501462310005461312184356205897364854374774288683818609736219748208867722492853403876593858686723101515739375346376269104891131790716316224324856419533120818271097638699875886629515928515448976723991435410728912368632261626279469341333283887042431178634431835207874435312780104241361218702072092539442748771154650076808788606077839985380025538530316928441405504262617175439999641690343530838436016819700615836965453138203301507682730451934121192949983431106371972934979875810559064400023976594593098296373605813313138662408901121637710104474661534648344150943395526945443600310067289026069471613450739947031557460033245769581667399661125807860687086644588883312411570247410449488546566388397725276096988247859306738466524573731149303360615353398625357232815188995842672401633923064924115517906232604126138438699149846727911203101798649431450143989160456805596551215566677084187151571050032366643573902963797512939170698542062635502331768433815041039424582228518987442377017118340156238852069942255375075599385340399954506085289650507570614677605217110400005444391644058479961630186506428296372083335295195899986445220322140997055230762435573360284972418466192619949900672461794002808258851490755377886213906552336754416657314373012401710801957694507561677378343120991439782306300441720417669569241178554575160505233511060212375262591715416386730363961033871148846219851322714616476092793943913765221388262669852622151466169141652952433785764059000233917090873361919328200767561793583795273131458438989645337885021860927905117423224657650738845036424138296209952578839523607638880649255956601509750012640682246689283865339927165223771655682953315706575630425215841261798478053376
592721170348977112579620575066743982272975049825838703575401177680156884543594683975440797724099915108177113494280876841509408545392224440344599923276070518342292307458087834137100763486363349074808606456617872709305604965800552419962445289861392855225448328732287136965668334524142681466858894131438843444535178432226617337931742087651950086582868235663454778864217500990698755766286766095588868530410333857923994147993974486677175474153409229275888955080723782319606632350203551245753048586480121558733734099595223532269322950992063568406786197864173665164425517393320286948646057767705835051313297984408460821316197753935359787323048884274238239780134466963608114091940103555386435298142205187946732552970803657390293144465778034094467245900906775940183180266161341624682460270434954063724840329896041225532461759992813864118917608563177889725116884229411981958213774899736663751114213002527198428505660594025713441587701409025681033880089900793089827888124784601634383067074588890355089754738311093026114412497010131622867059300041129348057187915178857725388137725820450297840733833729437582452044861058450186806122792355151902788078715952901744263700008408202652284471247315656391852140520514230427451742661452110645283203018632219563680023920741023145713439568773929210522528092768569285250937154089005123814695368085922591250885385676245484319072992250193847852992958942795133023542360127280620581051953597835698253030508503500071518071520586679549775871279217932226709652813382162090629017159001805137867220965835836475450287858299022908831820123224564623297587905943583793060229333298128340159834645309695295837020335539657978065255925959590094973447558783621460370533079141882474262756373327380661154697234748943315928122059001086478108909240616958293343412517479306264056785956095529864524319665953303312751306610361324202240843062560733480307604447161593038686979000651170388123649267364500447602375822780905059697723083193645321231796446552108418294251536231364983846523744315278832782750019141404667939770515335714519639029331212025801222798049009113352559554408777120437391882081954908124778042752223270582340970673217827935905989062538007280018382706572277600937043681205008760087617555171150085934180241683925256123168268615210272411701902559488091443852990539853724182920714761853637995952247213692833855841759886058616481587018000942820444875327892696904413270903270673474206825807690307006907297991961276158627310491857302815265975407283762163016112736537058738906738606756459320644590167814573687300839481564869132007290217783342857322669813245337343674947806928559739521261840571983785119114454310311981045994113685263727348618907800447146947509968746899908474966520869291270185444306606832487962395010993256325783212350001245972861107478221908679908040881038008904321397612732997772036911215471014461711036668246472872506671773343119867224088767266144777541763262107598483222358195444393580946080345136667953262887600981463828798589352584475671618149581680717819752587577214557671384057260721680831201240239729962984886966565106317357099216385982191711716609641827707478480007350395704373733143115598664260404926500328962594119967521196971318664320098088728450955521238365525944554782563819137380271603146800000275375833414750376060934502213759675232603173280947423867679882417063400691800726768956653881757232041650395084169920132356829212164569618823863774414521945732514258913626366206721152990137959345455915597824
636429510573925401395495141500094605266807895906486931906846582054039741815996763488493373352290091606499251158404162268121671244690633865992989910168708013917478398551216034578580039857640381562333705547627051513889622049402142775618090017035980671550340819710757598137254542890995134834476064535314039504585645321984468481780853136692972763124446866512939784399181547846474689051023269934538950049938991345056266329832376106334214092785546481661127205849830421268033376382204967885892350642807787462216482782430372977226585684643280945465051386072702735486415514958047450324442612397905831623440274173234264283312592257055256396136502586241785483792070941522772318046279870490309516061885195209888187426267047337832124440833380011907727448921896164851971602873108884434373668311584360849740122289931337035882420861384934185351534745924344646549917861885685655955267550442768662455796057101658070650233601600554093053671695966894604816160613527361551318392441174157766015855555383419180010080936426795705293768907228053275217356362342325501202855808354903980294750109685662199304852808127159032276209041642726874194347021431394059896742325922846616978486784017038852425565923968267997944576100801259197128333837286203772916203405788465419474273037020097624104566383889092194153339307420564794215717557540897419990136842532929911852532115630955299804524832687861006547251143594393957791021008704331165702550664494903465094522591728195677175944563477194849879842818536675842615604130247694332255654191633896268026121309667612741715723306295046395546864248351048780225424932928204103057329186193836259749313303593225271836261821807444381703939888966659218869122813336672928183799904250141242708525083564166660250570555007086578117270032526462212986396278670507683226482814902662190222958992075598154980815890479770597858830418192625547969427717291708077923355280165800532105459397208884880278675101876222383457391442686269751170662071995248472428495043317579404105024613227867923765096941280397124980741001288926762075763515277990080660495175685100714540028607526686763800051019507586907912837269471180535651595219922194610328336040591418517217851788533610006172217000884974139064485391424740623992456873503891325448723436650458735989357865401817832042877679798495011813201503650117282497362197915776450882809470540129461200100484315426611031855707123053177744184926024102450423859149483980501903254095999663472716622744800037999932201703741197472584023478956009670499106231118932893908861277509899354730723102521686444784809021666676956122804579740043796439015241823787878892853321316271572406524575477359072732222011435919048537379147521678436524344749942539947579015386100479302071343610457126874036195788026435566487200062512399098946004657269664253172540042326032502725891967872318694254298954925174652734849243825904087247986673093850663691833202078756104083830889702261786885767121231602879634808286357811654178935955437595377418839684184821161724221060071034021726896963338690937410446613878099993425110247647741132039855806069847722845015913444271952934571951255206560056274607912069321681563839947290736017002778195952614930796759049156895838145601030794646978312305841650200769675917353338606425575097998556976799412778249172058882549656274217296353747551534351581902955546872551351783731594603184582456974205425144115934690657592939187997243568851143217126067970690920223867373326098858876471925432905296731871013786479227680925597592190976
683360983531073947334331098617449677631742316808233411697821247102870298945997437206231477715200957538689596193458998122964940336202471522987484557358144690587170641140981662386451603326735483634796162691387989164265804113995674893400590702288404959899207859577884015845754695236063349252296267618489809190461847172244670487297884015268833902659563517440688483702943939291817004591478554925956212825666383655560928791624001134669316993594057920055601275905220386623026550449507283359659476446856006191084657305671383833567584574321165271728088803535432031810973322252953152789916402419452421427589641145828650910862115572258787871575274839931972050383620689488058886315720664554748714100845906383261405203133844919618209502895413534070944990700263621586760678865175574123169590910451591948674148833573930663667144025239110398299310999288182386791144112071316195716045442020430431235326777724342490204302693408668271286115176724666856591063481845828266020080304534152861345629956957925529700608643066535663077497882281536707701058216959453496063268589671989039146545040398082996529444186249977763254331568178753510231256701280712148736293356694399809786709768230349344482293979433933398233837393381151911821352736528607649166726044086319017667231051843979147564103475766158066254368683640653977251369219702788150337103595310908943616697052856160854474577337303558699828521385109130484413109908708508422561502991947169685314513020051440138639813884510886980513388608808871330146815709674092884110648166038225319057160374687771339015481632380553798919115495504844109592222898657407534661060616952205363100565449347655457424363597889088307189340644365418144854947146872130715999494316440572010203478423575940730817435924774001475313556010625502864839089627446483214793617862778238882585834954828454308820135939251933116846511067736832539225692813400954971664957630725257685763086533517008560356446232191960844243166913951946742378012828471797414118585977386776720628562215772185432094628137267234504421176807595558572513644343087240936262307214683320490853913638057884774439323952979135948340849922737164903783840879948938378976916779109567757424871584781740693332007540654041746271930197809754956332558805597405542885089921340612013617947558985294371893445126115723986439208529808819588722640961578734804747154251142232872865133123012129560667483269071116911520037327862424833080984096286017882894035524574149760580920741121479317316514133710980998156559363553051439363349314971408566439299197876449511204989652940574602779316126416033234886068157445628071828312930519675083671503425794591519035129767173885201458444726132152578292870018039492083975118152208126738506356364795592893080331466422980883527043107456622285378439467774977431118239518209224155069080931760191342160184213610172873877909279702650815146083615430646993090708350695482934816079556303804170850106428416449387976222868390450402422731503284151002206547915170746378723673334460193827303564106019885640055093975275347136907362783840094800594665884710377272596299613906428565329853856210678689096009439600004581291589840144390145076805104677448018749199058073189590173363345834730230999428466428381724415929143716059341744398023387847047753015125973949317636527158646173532994384269698451123959221445220028666209764879889850783997929615915651969776029884854144938506582211559601973241239216590496102442172260797647221413841769254335534341555899119722932140421275823352468228341166929146726580224
733753268907089300889644611649424295088518995547658401694161522690190670425700565725144451048135228674139117586588121513764951324645215006400639597789566901326984235217967091321380737443773426163548181596451688576931000130188419888150955823352592915692822303298293053234665549119334771205709630581069383845578467185135234663310198813895201564994718182260620664306993299544940858784270558423080408903563216801805779423852470900517902065535880066642147495407198589054593728680081970335885614258932207152970532473806517222058970688105871560670773703942112438464740518251225707663195526741380856064876785207427505620488349387055954689254313359929863705295928778855045974812050546233508032140296803462896344291616025160123989655253054609307622619718164098323414185576171871039259317205522113002673094950209144749655489754530944435207268690318955657637796585942315470068887618981903216499726347549778074632670106668736247021680135730426136388434925096930529147158246816976763636075804413044449516897698316426956233882029477114506049889096608231330906150834876309072601218674975191322796911070250246843476146153917035152122112232245374998603066923816127462345634797498272557301622673181610134514118941288483581020146449467618605396632502685548595475900894636392733323445622993894359532278678340794762086739692461128486428547829306093216216905450389198565520931231785386360044945039270084205387736202889147317960550974754811289547111223821781908289926639375245134314298341243259969413148087897314938930387979624138907807417340977771028049405612190793298181540300610035115069209311418971917378310448620826307398183441013931180978390511636632228658554936838259401379247164906077529763723010412532977839229533675075202823806660869963131881868602775190827009549563073867349437883027538487925295436260960462136653192051340323860408777921907934122650746949124833034617399923297656630381275366368389906620744667511723555034237941723214343511825591938706887994173859660100389488450820060707954323514156711042752212930449614152115949636741833775874029757491142428126226056547266749015288308278598707667115473969750062516377645808162138121906277876297312379708971158409316893953334414283624937614167530596927091805562042509419637285146674544285268778447851121217568053802103359407508279787031913280316481978336182664628861493264430815208342968145505860368595422142821903858292771492967086061335271403261140467275260102877044387175321136171209007753708671252608625789964688585732573267828092206550741977758306009595824805154027849539537596338367050566108471187255563987866670535740858981192228792705234933346983710956281982821380597900440317974462489059364637134281004535367463631826986118729629300177512087281606249395458819527101613581294124402293488447732859950853557888733805671807382320084297697792646552988263294450463890042647689017447861332581927799514990290367314757388547400907042003797449273211336074159278917743398586287400686783178834488132151798123450575522469924898721387424164065503562137016089434550181115523432831719494204405695963086384373062980441221087863907878086797326749524387950816505897742393333188873967316951195154588516050559635171326040781267664500333358142625093428439695696869275414461548487337562862858116802600040350279739937914347502922839814824536210469661388360108744069299897766958016891576176507200041799560232425419845960907462047388442210346101148897831069422429430320166537356551916870118771295531084164830973581030401093072790484961879000088576
787861573322260552468131828024224491158260627737990611164013683523982717370674581919548485531903432235227237747173607530923619942595769313844794436497195932800864073142185022207393923221342376051577546819257268020473856401932751434381083293110034912425489243651390399066718886741356110901041337954483620080907557690491252554050718752234470273245083251386483275465082681409163167683149091910696921954777808508078384092309021211629014708501863400201581006995557035741705905811912327297967712109746276400776426556676242025101012222209333634664363220362039800090218243753776381581970342551931056669782261683879428232713412041606742778101279626958660366995849026781909696598549210692963244348972913651619837042611778763061424718588546037769574088799839884865098089528033275747187074865251896487824325847562756264975108940643368542302102501601166589607127237530674571615184797656645782675883063918956640651291330324763421651973396483755331982990888978881563167754860353902824352216906432729596617349653411682009149336660931578695982866953589834522661117970259210918002580964690725085688928074136292182164319671797462068911714258983860566564054530772397742035493225903665812526188847261777949090075425772045270478623829398484630294916426891265847346931974650112150259062085198280470467500694957954261452661923596411150116148191910365184294766437936439577640628210995807526779380008445611843326618497721027110991669963678209026814107339397272357137426550588965930965759690206712387263857837480975267229563398269297745298504136430701807112123944149579031996422965506527417158462692280790934770564359140384323692910182240894875674211132549010714417021851084917442622100966593080475493914234231124152085245898242944671617204114665863640039590146072164860541302213273337374519477896687818255108697469719426606492935688628460986626042591480354744926852744115733426285542135779085925231284427330663234278148055532311591366227029995889872345350176658146830116227941444556212232439610466280349606638776716736885703091977353839789193222447314015611787906038816934620042868193389341302225872016936876534531353838903952950449363282881968274755581163946322560886491280793812860307467864874871093845722452544720304350319640869229778519971798432715233274500847551776596622933600596166745499633629978111816842656681821259515774022821113657843613118634129359914864960889683579555955917988873682159463110192072656513652350092937625288014591524538226336270697291435392350613850125617636473596811376244301978439751570925893582429070530464111380658808933958056353542434455234830480672689853447113792125438504636851680508714700487000492965869387829357425039338422182229757661018738357732910291572527547432727616445352379799095875678850195916904000121925416201520069191609708366049604338625552508004069032665643786877083592930480375490174940527967394979234452145589784887531989721290177580496362960386535602088109165414333744783411662542761999255001645423134261481123024761953598135346610145896117800632585369050287496993786801040090512485483471974763396000819393811026297741085833055670256708784887391942358307450793337331948674899703661270173019562404267835193581178889634175527176727112807988580107519966023252331561366873082299050658275652079936188828815268182966871181798243558215354029519750583742115800155531695319254631307027988583813997786922014736046362334249367863810993973640375455614318906052722125510003023256521804988193570817700587502389359843126224591394669127571820092812528022403755802624
845959922798553785410379570895185121321742639094775032926122815707999950694064609700733412111463601520113291313131840194914064081845556637730938031149551331770981218671759157090447657406200118590114793199154697289560467917325349650490960686239895519571425084570624347229986635144913126752430409714647671203796708569973304973431077341535244186867954089375573081143372326647085749981722360012135358090908769622186802870248472807429228264429619114731287558135166171453332492178054943241004842693825854999777835267167587489497414647721343206709062992030050555309466301606256458847944841125615267510859371343294008666670795514818387881257295243384631555054632334445432567829012825243222657952223868830884784380716737052934038001375952128102675373811078048883000416588745748633479612635040125554295685427132379866421800788525118272115680699104199534452616243426267770476507150732917768412310281863049091509830100978297988733071007939942636533142174107565787115716321741264904138700999556716410370697246900027263411993434698742848224185035496872268220318143265302883896805721734698749390185926927909592274056872114888280444077763408138831304161324707018480386671969121446177828312060627318860538956727966052496934290903588193709768829222137790440599200299264733182023727395890045074023352328925421412000754103497759148179650771436137557490758668723855428161637751780495230157020335857526665449525573495115493309646155605853909504644523536214281377519803095424552989032891308230295744089083693517948733958829981314204235903255922646607968668136305243118647993556458467832805736628245527178463210796492787335783031794947510871198680691224280533893676139031775633730470034581817295535622770762890484630465334267897806833337775861629575391388955655952732986323465815350283083915320317261531820910139400721892689855009422619758092686578077802963984813612046232876237607557700291382410566962864821792303558016489317539049915263185889504035223456603640801828816721846442982192990819311913353081990002620957794982917502203678628652106159016695023765622131259910181013576252161456072010543079456360703050494856174132601825680951000312592046190873155767424618612204799644788541197746052129620070781200793121421162947346169951727863150539277703995848748032739790537298420964535015568720920405184438862292588106544546834444556035760204684313056752538447566939587819377509495261217444967639187498178798349084545494555290677415294981312842172615904032135867457697760703762953543310113728768087712507075936707525872834344027284542005182520407747826415618968547442433364293228648290750226596650692325176768605581046892570396525597606071766233657642309682509187229440378020233822410899601301457557070663468177205060608221959102285847586573853523812418784179310666405213757070161837034114402952063682556323941855667000873647503575025334721591233697531642770446289180906233501687366908566071590451478482427024543983104430868490923481537747077952107879637433719633978176297222265210068050271403641770100567999768844746503156415911884001257796720035330790354121405225688248480582125754874981038921811858790711903767628273853863661190826311713734820523640370745287248113026094323286900540456703419775818604434224984902954834236564284767285299359100077196660529817828013994317081638194404420462286835812324164878220086221908730140055736481035618860461607448437299641341813920935400260509624661756149822702734495210267576436972142783795263194871000310687155596150706254997766732915454797456373128826921619960077746176
908342550536618326108645548985333384985669232160197452723755169386323718450154999993913588058306618805815618101205537243363542690493733270492524622797488063757402524006357534622999800639860424243966166419043159925860512979842402135155926622755517116754049668586216443413535197116121525040697824560073109995716953585119568113480156522985124053492993871074386861192184607525165657469782533501014881531425540111722648582629030525463460307561013547876837972540559363479397961029730447527813011386901647085820972434540052704652534847128632498501798334393243946070199231153235939935173232361608350459358081193641839034022907983612114832360703607938338219492317342436816793849727951096051140387748961774810975914797499670545778515282729347765648315155788775613994029900759718009957906737561430725858460305859340647232620732035598763317219332857738374183103006788548765383858137177006061497043626101584449719307886554541866837779113186952489006465114477583260457624942373036634237073960254651869922164978038213619465722294049453036359191600927916375573901637009979634467816403429051879260737124878704362115442133744374879800247587679695445169758479581170288732093385414133296499200150819175937544701020143341018137979922965395258792509307322732287018748982273860465739481065341747101224049348255029946890345200465168687679104499004845440495032076099364279746577886424048196052098821828753285888411369219291364876959259914817401869047947173385652541147345971802005580828828709292943964317649943566619250339444845042199573367288301921371747690659527072366980545015251962231042158684875962272444661477522658276767773027756934307100700471788739773550689639589256362920510819309223580143166650854879900479359813985582295754827767461769311893095491139477803974519925238575860157439581099000655862418094420225391973537184112980925912880047405578568461660076098550460860134996401296114281003687580614016702971546315061890894647241738657047125236194541178119596496202677100335611901482343228268668211966963992003411975887657701910238731128624220161269822455713783375837687533758925785256475873366049669695360710971030801502172394369130267153844880394426350629771173130232149800319966990702457339227615644516441412975284692483382267730882430625531034723140790434408896746558779666928626798422821558440414528375201848055269923624707371404347645744486149320654075122986589590019098975820172522158172499617474228609534779880818094438732897069048723646874520939850636418773957401221064512774887773419335329186847385224340605700009899649296915532374867542093377129468935574667799664764630634301026668098104644982529870258069613798436233531750629167045138070275592496817994695373381971415382299811187638289210758116999502795763341808556993807393367173979176555378008589742626408466872200749250419843072184252062973830254679864021694223750171903452797890406055411839137725133071700422160974934045951489217945280749186776783215348306510770872330966499326670540798892339393573001180070211462540641354470372547507830936483116791778528950786964944391953427278195923564473631578905480289836839032697321258642769433809965654921819077014355856006698192041366246804080969192821196678282122261616566522977125139418339223316071186702786182619280332862226147887683083995401039464555548872551767869020838790296313470475616773253349548662107221950810526804200847863657052066528905086933768461889679553869431353846110746674791971051493889629860763545420855318301793143182666713129511167727161272010356643771205800520968686360827265024
975325387030000740267723893936993218042606695200369873087758643706300190103131882776184764940110767227829163587675850158589102223592608622428128766847486816197101679628790126822242958290680099033130052525070950873517171976551656101143819176327668855006714250534359545209642068839663866102860556375964898700153753930209624324260422252795545026063840810348232988018131115028795498953763522404720824746696772759746240471223109951762814315992163678185987331988162124922647753097943688956850233577504544250533695479316756792149746052979459021566998210851563687930373354501873181648347348271929177795862383970001085447106155276107834288596436117911092159326593177254940268982038872113656750677221637470191814533974735886891223298499689685568217546457903484086496669590752278601737852943611099939632907134645006313996894737116119049056375377070731134410159532489020733656211896369680699330891793697889296331645938126658859582762057102460818547141799811529057195637280331519244064536642506733403295236161547671433466766561490124049462656708745821021628190190519681438916326454315030019428051652051775800534591335253137033176498600446796115061068459504952541877804598992906481162183984481657065356157354903371726269491646160242994056820981181687122527203054424878604004599907913510715815023379861367072348662383537115875176247991448068928115219204329438206975536797527022347492890187978656568835816284047859366110435771314626121709812551941406754814961786316521738039217325970099771402576224365798718819372988127063008726879413963238916404947436548361660701687777190749745538316887196156944169915753937714099425325435241733271554482276256101987113664450070470737925875254136820146966733940824889903641646281021179843945896223840248031219317245662278735647115474050012079247818102979036888802909097753377034868780775801295961466904687194472399875331764178036375600001959922161125712197348053534641334615134360435033402107521181034549090705067957463437244431976671583397390935253759521715248167968226544516064989213057599936748019437494548766539433319754276983912836140440370548941920712080055192013294134135971423965124526692357262347376690487773189158874048139475258070036797140216647584704446773314019400757219452626385965842614042189411154192232527329843961154477689802782056216353800743386333291013688988699036380605133984437949682671790395914295467495588645033926519529133683939936796556245906080500194858340668123334849317147724630473466980013081416635855176863685405637168579299226575833228725948220414131161593426467493030401306121326405739537315859035282291406110963027960661339676301492446414071025383017838908489740071882474970647241909554870214067820232539519036268452256579470342909398940969851539016030105855445338707258754890126372589619952637915370377788400407394312435066120882474173283361926341730725931379773699926959104747950038553226935571595050334072695247300779651848392899283823896219890500675428186192102723100669913998324469077680082128164242741303854095922078848373120585044023009969209305879654801974815474643928741446397482498771437970330005456205362817368169063016270559791693108593151390931013713472939998877295448070504787639427201387143779177326998796257475301856694141604524094181607623162174813844733414581743167119726167858395734878766107028536702717126264258901638045958490027768181036133329143509247469626396377715896767143115463099010947269479721512368440593065817386246976021381115292896037113467952031649721739766069463732078550560489573412754930765067539958589695801163776
1047247660063098937576416102204289639016698222619057193003898478164968886412883575924654813267805785965248709671025451270034151888082783415164106291021691223839428700998080753687306477806190771736333699027485488520344721533424260452262892888716248778042900891615556192745211537383034243136177265420783380090278320825470450724286153240726877615359915972148949763731558248522172691569604136211509804574302530757963442020713721590558356259026738197521971049089862746422159657320887707229817027096335774711856763157422128711767257208062964964350603997124494587530525870663839921479779808319064483365349575816937326769955618687795249609727279717145335164987434769851674877427825041782220534782073196269510504567579742881108839794122353266416004384762514026218989907776299685157986171789516751595827727597176342672082542485367062167534937976204614625275153860545748382529839150538479932397147334111803357993218018526309826914154810151188434195341066116274066102243898225564797812956748240015856735954486610955387923300571116613954856299234334574616140596384987510256120960950435673003675431617640287090505072275409298859724882121177190075541785519097717879349310295238231968144505071320922151898007607884961701114632675700861908721792119975494406339670497276540423242472809513285030242768850494989147397192711659330371511100839813785932152160350616519677253202404355783664685777737471905577291350933362450619062903090526213529802740128219660830040937850929800292337879395119537498007785233449565959561976678807882978753327419776939223048431783143562113773499353759301227701848236348003803023271507559416319507466284630052563920397114682898838773450561942624178679155272173332810164008968944025349735365520146498228270501968700940205653838643392071257610147589445084637193584757912930902746520791127905359579716270865018587229307954462342237359796101073662638675095198850396185144108079546965135433815448706178586198679855237042670947671201114690745520145924475271406082659660437651703898176486861943953896818820168791973146103019202850782641001300679332600507787334449563636456779215452217295893024675835658620780190121677788373732518769259425033825746446235543970002992030308454206932765747179289109716140443796231337257491850098588471286188313000527276504485394020416145405316218268639536197444564961223694418710353314788214791707092229413054697762943646063672416802961183622933507242379020397787408970059550130604128218068559352322174306418723017584159087081405456166811033272532240185324445332008838317023228824564481615843170385886695380198134866446544670887929297110188039043507110315534073334866882060311872974139942590068979788617115988534689371736451756191087322085610079636556486949443485620636720512279331100138958315829817515693210894882131412228861347082086139477912121253778196952308454169103642323596978403817049266801735905470934657012210886574951935079025143432870219997778363145661364021931931275507492622919992297480249078484048371299809072764875772626360435185243904523973929557116387022308983932994471562797169807597797366679231087238921565364997940475898390102676729263461292548233618469040448406403722873447969037065166598121091280691217532647091604116311131939305904250557354216555987538507156546458232424504509366749105362671601856804010082546738630200219226432911023659053072055264910701617354900010741743977138904031445155659948547952066390536707117098975707702527962434132512359740547682021733748485132586773780008077949948872759298383870190096296889193384224677335838328984437146734164967424
1124473612695883808325763164963804377622091116012544527576325991055677865000218427912981345768553185100079750135813307997109586790603051727195256748251505558250140456527629848963503183126634797736138593066439294577366002408071042383863823537846813981373555553614513613172739003415503374879498457360244074047020728870797827418797135278641588656541326592421946518993492400130443010288936168173690987357495142903871768760639397202474310628009186336977713474324942765252979184470944920060121721860676998455562155299386435620935745018062675507669912511374145573493154504045779568133715550502882672342328111935304575339656174408881757854483857466045836253144949146861557592344329288716117687787158716263934204761553404386612820783064720075453878490886899617337962047013315807912161800264053060937058975019967263430370943046795522641290357886296811504960020208103033503702639223925798024799509670925945157540962894842105705539928877270110785100609488633792711820519933773588309433875389688343415800586456834630816611392327330994784591256397764209574598903802864295479626027775553573125634016649112352436442569386249810904202115066977785098906934571492770430009940369551077708010590770857377040740971750856275559124968522297043944243058579451314199164954963304699546462104748757199220604765788340872949986466554696595459724927051989586327134600900411461362785744859494164697069111374691677043316588130612700180822530735156853635303872545472572492309510602728003861850607846007668891147275682764402765428387080148638415185151029780504394493165983172140837900452718968333357198021853467488702217144262974077467283313630077175805199763788723952980752086729154098268961458092722610815744548729466317132927089290908809754835937149268538446933687817557488139284293753599968326174617939060028860701015843919600118094500422081083115645500229282104293254948409834922880011649662187267102959276312185895438185112031173150635214711734154278149869184284037158874290721313692244162462239678569544778820335931277055737242942147765566681122455674330776025352776273777799025571894898695972495013175011964952784136524024308788811717845644317090428697548391418850165011318687342470915983213948080862902772461338741012743689944762361934920392818456789992964984203465208669070835678491156840325206553455500551137595158151320350818917164674495905143924151353284146199800587751830133618040956499789904487552297149259461253458071745702745854314854798804676014670075419974560651599051668963130988103727129373456675396367962579455638641611968457242495809913068084764154866318812896309273416684903062131234025558539987170771436729728740632148496109326787915950644048876559148800453281711755980621393759478451061741419376127644035220244324233023372963131755499076332887576890687412047574313488259016249128131768786740968087002920590153749353582617832203127042033558557506652957605105707623646003484082041651471691575695815591756810691237167891606061654600656735562393249505781253103686244642306435233237524157237567928453618851105661581623977099800177677753963651247788002880554410529422765387948114362834565427511658561703104814137973473067578601669826678526543442953875589930415524599883894285267687298933822960014978923962806533098917057717944507247603223303414183678269342483187290726524596548125702042444877389942896173378799701423574019951738400392871459770954141116084874794277077624203230743980238867635764920203223795028923678850359834852988402740783500604316821248352712283343312959657030093224557448030266137868394507932861609547697935238746341376
1207394347935947837643771326940248206407128897601505167921022568854731236321760295185697103483500978810369253456292429052290234448428426821524985385015880388861644062048169980422916417280198870703072523635952281344774280541230593370831250053141771076948743565503377639880927204603304823621268453811174697152439099183539919547896447920063367646332393546726845432934523173846199715795693088234389709577597774812743929651155165758445263606861169226222328713271041213458337690967864873468889287292703994196520491576534457464482119442493530145925617849883295814524065768687930732989828011094129357858845739315890104720747840242654820478999823694148074286057183433338372724684848566522666824283246323778735178436659837499491251369393020843867265118679266972825365392802851467875638243198648015283340853033510085856014993383666341835892406590445122990719957145325410774198782593912030811803822748365664122382000853424082772267250137510280895076000455837355854428071434318411914396605768312672650820112122431313759394925896727987391741502738987011910548091037688045052768605901597556217635650193264265286036688524038432479933068296674609139580352333043305724332137710533008239365031145617966067580933319296890880701463545073812634499696018438903027408478019176641158790193099809616824263539600665926855070729373754918175515161711070241251902967064319844874183091406631888119187395101520588746109680348820830929721513971863380948472210901239242929864639887120506242502515684080985513168533244242295187621720484816833203037373364431997108183107598306007809272120432890817657197847514134042043818029324996921604438085501923128009843863054873607906042982496368115452389918598179537263339679670834045904871583314231292003826531975404960737824705164270756539533483629542236556888961208389436234381750670903130740153404287574112060488802353581784874397799202602049632083041849525940008706689145166476794870161441996203622882203209065017718043883294534193053458705809639586421655557563592436721660224071142164476656901432868277092582051923115077428797760239670097296422989071662108728249277441378470226512629570881139237924712155479487911282647554130342124161954307992390433994766897994587032716837294829256887016885779597750549591879686294552231169306759920276868731486627372313600864037884062664611486700086967181496624010102501599469768100791727387530856551528922147009199015938789067661250188836435854175545396263753730495420470461963685843720897539661050787646594255702716455917418269091739347825072059115228442362129317311510023461248415006770850255979638324797842106545959847195976549974089344601680721961279532991586039251285448668934003235015461771276886118731966708875323988724609331728968257272238563200105382427613917520065375901900251989937997546950425802018140431038691784478615129421514089264306647798843271354621005844711568616837834748002438833900874216624365311308606368495186396853059102660597276031697468527326930467367154840649793529624661252557729445940339334274324613836328988821690204586977483379654053273672815235625154120499766178283746893107205774779475933310584092383708045308308309595688624635196723020329143564952388852534323800960398461796202838086502888618836320379562537137381195008747573978779012742822704618087251010175952961178210878316805478448595092335288068133644593046372634337203764781991982008684117812006921702338369200418694089601563525734218701690920793054223968354558643685575592131386539409735475127984245921088198282464253675504977906721826355840803170080245390899413294175320995984285372062392909824
1296429809440035266360478886827722448160319069113749384148945061027244708717901950243468826605891094893631232319677737047996707714043172948794760268880293677702130978822371210641346565289985854511457253933150514548099108856628644530598654828260542206753388270531860185206561919481973717743099074788870470903107564406251063992171587352809846572155531157148312244925184585255887578306749107904986546288680104265776925468559031388495360749391930759736631862115220798917928860307783554624014390591728008620657327078764743956763446145568866167085159078460648235018636070366940832026154902078502692399305758667672353226406796626208789543513824389032971409998537908015326738594959124981833613250180400335473682907544602384247335317414559973764056462422252590384466270334610207517865212416271914264314284349917052709434140367125829690278621320174167331959981858423539638237452960966555259410437368002841213737808821125131281421213778114539827031257348075633922470675898687347805747543337076970534406502286223910150729004868697544813857523687460910081141632110525214237953939150718524527066644005941524722248915666720894337104176150787967952020078108644574559434030727126896279142837144112644492574458609884218011773355866357061792801948930284125369208701181374633656032855572301792021625820467515263916014228606785983570748401875299521833938335326654715554602403076915649245660203014115382133801681081799835251674794224190071338419401746409308563891962505499926480628037515213725148627156905077359532703368375385390789333111616494229298903255278593352135286090705959856144091023518700152084621858731507683397934356421902894977075239471746199842495412648050373661291736354820819420614315981337068051196544353590672634065315422865645681280284715346301756618610821458821365633432973361317364636752477688751328242786359549247619009644970710398624211503817387670318091374274978316360263296283732053577377560989903473879108945010840125459164756960716273679588880284721806306994071478068738998120029302396893448473586766716197397126469301588291000298537206858047429318688961338539337556699486587771695345364034474251732527250404499516944446580164321052286141691290068407082717692615507529822636124552461192058430072855784950661415787349950460313959001093212328179616755017506356332891760013638546030237980703121100088324114449654494377586233401125209198136769921014854883653496153120445861850191881579071721448129979045715668957199600767010659599855471152769014484290783506157169131584285625487030666263305685821213878591601693935548785563666446479105103886443761728739414746661266158969146230405845611573211864341143128253770438610831998439568769187402590493114510167542501095067368244117457538083450201594699413620430320043715765780553320152021637735655132970075838235620987511631131239883098059052603048355438102855559274437709644415260440544613794530719029961157716552817132206830829006037576976991540870592972095706321672714612164351981316289738649722581808703461080582489351962659027228715525921477251036154369650999427651066619810315142765626534727843899578559264156155047686397008921861467184452817606699631406351847463974671003691789840479677471860649831196135849151640978281406858151401799850947959422911992316039549114435397693765238228290812170293473693337540528764282587184681540629843255821105349868976914201456683033115379668499295201209293985610442990155466802253373730927968521176573568974685542076785916018785035030474857252421428437658573802088686834956335419098643195691931777049466944912391929031017657742013663250734792404799089278976
1392030908276115885526226441455888275253406441692179327214964957503185047233108741507579461966949233376444685374298524470108360486871586936786344492750256971151554245887638235719127670830604500357330740736212207557414472876490995268932623447242881336308368239781085005376671612193515594809536363976514194327241643473765494452895041925181376183546427636365259428387502440109340235070031618632273072907467805706845496729722629014756261266590098624841316855244113678792874160769120715339192845956210471288232322456517447843028159800868883875857907472236495548091290968187991398279841180264312872125741501645530322387694318775422471889284661168695948317911681930685521152254922608063437990755759271385261724189144564725416482690860328590386810131600256954588141674375561454549251105765995252502136437787134590424931955885669718009153121924529098428699924415670601215697382887422429847236156184157129962021208701358188194352671394406637274797186769936134057869938125969392038665764866272073170007892522270231357655876617420182272753117960297483519225004064692313133851432651677519436281275704498319592608644090007069184433508978164371746055583152998495655150692560617279890225643111654461758920453643589584676775176602543331764683874715158125612178824243160153969160506946131890043769155914286372225022500634203360776889422074669129120300773277165870097799955874590621515179410468586548158805229099038048306032792605106512121604569708178316427972176359595101091175449667126012990921594551191958885748702410330226209091335010690102252878622522374454076016381796446783606933902414995999408419276944639386241712553696720128003565205815629561083949537088350278258956947189752417837865038842313213408103902916721349783488176317283089700755615565495258839806071255779333194025413236198724318147939702830039155469832140544728956263073264443009994527950670664800042458092412681894969118152871946876735439107473970201626890794110655176082912403655516188047204955887034831636646518266047903809221332834089087943297679070716112283534627506567417675703335885023625155835160162636308709803882210148617516255703488320381936318969979032049131048977656200306403321149528242964505771814146046385757491708865250864050033021004623421874938593931531933567149950495043799278868294153458426980473149591614517291215688554246052501723695752356772962787186969413905776788952736458826213869412743428530831396277045676704470414535005089628521771483677259641824666191923731953584263044805228290314014023806857247425195937497111363241127893060953927845891452116078370072692134739613592038052410772565835681005033158696927233016016756099580776269405631274776162067724000716655338401833588163630723339633381318356127184273283673460257112531295508643126086768105709287670589749572310251767965444620903420032072695459256698001709089128308879227823874862927976833158865417169114975475262004135723096859874211679596374894915815303126961045819624808401191318696803884196566864890236422085266473375777653099236963483786626673980046264302066282814634368869012307900642315407984239901474452320755055587127741729598904347903805249950512818956976846383917881737937533303933157141317923567362823573831008419871836613022185157595436728839790079835510020898289922271448649868880323039505062172313058780267415029285251215118982295018006339452276064473432868563602296967160167706948572060914329861586809697544967822984820000282132542716730021068663775956857523521061777525968812354612987336987323493321611930802553258781580867443768372655975657939230080643452400117472211765745336990320475946535092224
1494681806516773366560305579085874692210806694915910277338889313565552398425604333296692881317330697561025395108905420385042784466823025811279542233938015696672985236414337178273198096966524871236288961329371598593764800830401967979639085633347739177063304740246211574372197183925686075743236508050470244178822895152278658162113404397300722394151299998954842388869994248847453743440684517927889274569749464920945892944758410692379710887809002757777007270711758586730410819586704919764489705104772455568926203650217205134797921987948432157707859134062444089175422482696899858885307131327316105422972437329370729807870932996359571336989238138497559248284221227162113052412782314160873015904984098562121930448237005927954753284148797349881282376246139941288156410214429417231805980139196659596984542606420418856359373388566538476713721830538264487907790790744285532519525333567346482683391699925756628025703357681012269139503882302806105147120552419892946805788918145516775768056893866091925825736611258398838871417323507696687958398380376979536542594930830138303120793440425376379308108751994910684302542423371010638987828336934588690423786660084275794017579624900428675249401806280897426761496166175326558243028563137000088048802420041366243242007357026203246967242477104325360164133306346236971238598272010673387507305104761094898123267727234538909358783007902449199002383883784814921899368353538990633519760935620778039729800485194533198620009265601323747103117629600078026719848374385315308116819331701173532082335436973449891752401397781827130586064443997166149042507426515809357499035383298241605416942290014213060061582595409492626599393077200876928679976812996435237639343072376238144118741099319302216264599521353147459644948835537670690005494756454471765256593110589761075841325078358744204785597139562321623083528510808671895574671772101645690184229590753618635917349136235077857013552700032796816505488717183346602307539533298219415332847435984318073065737766235593507489861936985906666732858500357343389511276106062271034079540356069921557918729116361246762691907166606127882982748713952289596679782671087114188430144301903761906860930752232340223594686248964848631856769141851432982658483233734665437118065736038429462638414326058031997581926820102987294184052025525026901149472605652079358000564221156613699816998260367519399733506974295091359779157336937794708543674981834235972371856852476787012449336594806995134403765107322016728649939424959549178170950683954324557949189485538349897655215712545613665211878701126648808799465345766463370130272950532089564206626456999720110373890852908926988346847517920849601450317580058078810234922041899281663341137318348059232684417579726010636863518326496533477969468368089315357159748861475629627234441276219826753075874523018804596572272478008946017479318946068035825465743834801686430232523091198586861581250008459411915163454715850026656056915311516768345690310471505587506480045204015641067906648554934657213950179302446951726388215436086737478285361122502092563685290517752301915062758724288566443343932325740442342919762425622639543962246096562035790603509337007825934522997333015112745053955505648512543691096423243582251687301029604099686149809607939620563496432548918898147389514132826033743549421309759056020072426476340239767050062419245407833034590356108226573804857238881591653317888578982822072273029751414617511026419608137825472038643542613627775417415959944755883837305671392597199413200095319941278658212574069889139027455268987945767673759312426930665658859481378187380716404605976576
1604902369228935321205083118485043344649870173110421027810204877681984175853083125136294947553486186010367759054556784727722621711445423219802375452153639677086281899272601621550076894950165282182618044328864925047864852270632523751647266669642996690256211795259813424956314659156029647419944923817502604042294677613768444171260134532407298340013663792848970560257784923626974880237628630088452530146559605687240458895813627136176893669268697984756513972115305443163573509692363466697696826388420487547537779628779679837620086626749455562957492325743269246209236792541577693624852285991599936061438716359764216196114505152092911487236943227200733886800768570872565612591908482922036821530198636681088578909891140329380949380791919953867894322129584573517997973500933673577736383928768795170373287678023574653671307581736495769352773204150775013040537227464171465264326447278811039156449418384742586356408242159334524032229809038896347659005010303223466587982766728553880235792410155551956187799135116172104569277738408352319767209513064623815177920534722706535765185641049578969404804549357379036880100069507769192230196312299031829145408021385758284787484234505822104144196350384945459367795306438102242443511724666821636429681711510830745470700652954734690193329405616276550512093435735359261033968047791988590570352596510689120147971666281148284333870337325382217004158651723311197742645320376832657954423647057400784678620440128863071514803031743665817029016239693344170952490730515923337752475594299279091278609370275709126342826033234408617248167025079063031703957777680631104357282330703193077393075894982598117035145248321642639799383240006642407800356215464499277560741684695025959124431940566872720099193556687255501460133755056894547397838509817860286183114114590483773298066724213860928795916601562829781244348407551707076171885596777733356780153576810564008730286374785876990971743268853340113575996761199866723185900107435738850971705173027524923169770541023491786454722017727420486631499606907598542848180074690920357714931823008127045136577845163633341886903551110335642651155164652785680515174189176670051581262839309351982334573900239645063471126249671234681853791805118472387813480156463677998480909206765805785308710850929282006933981693251901445106008613598136942489302412230896399252274819853841783704892178291847190625240892496332510895912636146570264889233958657859398620971183045324204406861382898011883573823898803497997579099015645577460786977571203163983540356417523569441058524642302186900083927983014478746967765170588073057072866395522187619202588204825537038802342886379346970350370798542205738690937043790827567637395061766739117485666718437513787362606948432672081469235806949815386312000781862524866507920201902765887495149051549164602811687120741341233823095998362325585125779807428850415332933434696717465873918088065689002976686908283224379754941124738209332123172894401543050086976504800709555399495556962206564783392681102503037721623769336437609932031374448728922143284044174084313148280002501261038478179627089518435221306554773104711853499192534717319628550310859400438955894176319813721209227726298782578439881163049876161549757566053440003220749685164183994884324105681813065716567302569146924848237743454403746484303871285157811510747816811461892069669121354416910266448504060456742762498031736323941856725334625783436549902791290197986551847902231273965740434115931778414833758574197793121946200710846631936995221200025807612119361441861537867617129406601527522595102561062278399666077941294708951984214708343290015514624
1723250797277798485368771825713738557603412241038779227808884111175950580919626230807465585588064594925575560518032317545120231202509410404482555537528273795113395331903147538348537272524046859192239000012988280470517693782559507686817059118476876695021667880372586620812280422440133574218768556479346289189123260286499696758091025231312399630518443545856411805893495894094928703508532918705796301056981898335338343861387949965254474195094624520257583508300573204859583750655160027602948246965313946778262502207515936322982215633643967607176924644309580076147810999271503228590462065291190164024892583368351869708346330474865640197776348140958962417752066769890581872424113182093780666544997955232265357024274444658709461378983186695728108704482663704331477240895196188370379270670840492200519004672277757763633198099278774054753129999683177533515770228557282363761670521632590401735181419860172638444807300024797550460538269944596251282318169788121958093783672427683956246657292565778481163855529885261087458135013201179076661474797948161005182979279480214249929231665919184197040755031190490194919001917935798874636257616246036069660646770106975108330824774329525164723307348276474439682094419193486844899786496209138856182671288657081200396989857661607815684260428619256627435283339744911434237904977593889001826199597300523371364638246853039455635120560979251183183209126286768908783812668886484665494750955660145751239853165187648229454547050305173634823186158133952570778295214327259985722511205138391933354556517423331300212792474239798528245364722165046883872777452225787331463722677452217737544214476449047350444282331037813506734364754199761991067306310642588461534753047317270057077616994828133508455149550486421119691838681438759175098609575189271211463418947400531059783468660131095999767661615513954099914827648816065330282507378203451937094764868564699101202809616104935169725631149958307802043457924988837323910531472439846196630022884876810213209769282380030897636911712727600808130674003776247858857547028479085061131563367672391500268679424583989242984859420681289018192463542201302423277444393564278759431039245303442497769941157906110527564082870656270927625750114144161077784481554989115003837560680851109444747127592165399357135674150894905149136361562124574763630246672596402608888169801219135490242704405242421206791221856348399983559877108080666687566329228732030542610824682734524285911172179388073685842233311756059357500929361335886880278697772750775170257728277361863014632840740174497721285022585566607428178402643470908716946675664436299166712804484570257741823186426294384771872881060303044530845274113669131066944459944230011122541210076111190484067873734205171261950653855240406649361912352606493567409570748037524114684020133762270026299256457542115968611621590608664486654822079851022595182741513441838298620118561906245541872929230376950054119339156289016410767757456302072223014913510909858634508883408012495575935294222315251942688757110329061788950619884025805187343683798941577863929621352348428589755694776990739335916151543785229359448570643774754558102350613257939634870902468432614392351423664467427574753461074356415432676555355732021150532813641595616662138700834241958724809538842479355705210537717842375539582490026123986572659398556427156956097377657439568963685940742751946229246903435392970356384110207468099064590080890142628499401308637112381777817847238192415214707428588234777723533167981134559160285901890599179512510127660299677625420287062688361803297466637382082186453255519611945711652659120144152239419660672434176
1850326454278517580384302372781679740700216928316906462800822748938683961690499066465453090686556590785208646600454405531844599350684167704873676959046909156336459390510771029167468358731955158450545870517882059963037246746358905172184969812189193684335657389393474957828974342390359554785299924867980302881560690460852946972479544189899397893089799638568891254555216231061999575255207335695205439669376871453568756994865900567313075746401833984976502666034976613231455120309232723050279998474138661946330502671102187976506777334030189545127066558291519731637009475965046547888611686988569617850947343870006200454450136907789018660888096796932285415584554153272101660118002589723820191951961882527362948103255654484429754547126962148003632448421492302267477073253295348138658625661897973708443049823476041855753670994072923938034501675568934466953044257975993253748487607184809075804026462731571593758619913657141367062230401992115157795438650576639764818070843493919879275821995222480626344827879531486750763521412712898100725127780078889855150845625303291020629805079882623476322515709527653833346444651623882998549082589401910802207213923954372127941737388612972727423904487450984921153630041805035173762701849650169840906855146675084878630373413875075150785473600716662412666449575174512898117064140580341508074402886593529440923696040276144845037621429605764391585297093432601595184020636764482093676363753556268023042130199080758712164895874888496895291757822926302669676975803042223069991903139265735126947007953729215530446775379423714285110693436322750670135072245498989749121950177517707946355878132589605145128410920499513687692793094655764100654481184756083546769679576416003857787104581600158639884151700532069900290037183721808220967116425127593215827421169858006278700554684175999097909632559256739772694825284285393428240701907565632326032466090823780274936665391121252864542948770507450943319573439644769367814972876026966185448983425569368213633686563881905437205014872151098106866103935164091263845797102524912739390556354376136283940588335424083050958942158745910593065144986856727439145543201204282536395941281467701781034612551262779138612260618425620422867044916929359714610115103748368644366309405167752127626407999572404015419286178251546687140668888439130221924709923803592153105942054382751964996335630777832508756287743224196977829152459246380188243508467043243682046656616983589414526559517874205443282642572398511817575315974135950255488118574858154828726443710630904701370005106656475261536423774907485133424227051806875216671823238668243799075886771417848403855349278861374265908611205824845027303028888591076124316010527212470418257686422290808497174481683167151781039276868518466194187588205615827557314619450054855563344804962078623800419091598565050156956569314297928676104772318414710649616730485963559972673422787757469005122507408047862558666997939348389552063705131519387323719768012406595509799717814722673214496693324245440123962169523937696045476541640204536524927068757154779085053815438499948397498027424233309685655157269684368036672659877239559204369131926167098686028176820980937798732069294482019672703677644292457132783873749700669245379681891378959705209600374749282418509708289322632077257569073176869656364287039112176992678811136721062433174286207516009948841931776278389523741492241070714147241804538783815111425647267289289545101544044000002903098498033290086375605305998680955173101071512561819142201292657497011462666055292443028240130767797294603946244551041801783511800226672366198360618904258113817168488151151880538658177024
1986772902012468070777907450718128758563297961806672395405143567146116581185102591096912834580220686068931524421343312624598510191352833879352955587593801539087011063668963576504634676967135858920898136805538507681588985901373476198224923551524962259707848993526428054917605990447425188370995869714808129612119431742135643878005463581151181870227998459711502045323766184654916881021751590127550196845318678897968448445080070710549376730991666659973858569769258636488485155054974988088494489272338863707172304044906135408285256243003432993250466758069338720379913060627993240574821261614823808622259161134935676567270918920419100704112022514626629746618357202761162004848532155926778349154529672123404421806407066784425384247304398296376378263793679065438640168513174961121118317631539537591607684517582043202497291587871754538238428804056443932282629463911869544491595920580012402145569640637665705468967561812941482095252793343266963149322115550259832866686415654380064083480908249505633536157940334190849196656874349403994998734425214978056964764776855576253693868535237633837371758830216877205458003504149672692824681293071050773847277104664964821430922469378290166406398025557405659835994905308934719860120427211547126885116459294693172935395771215330100541469456737356806168714270451906597535742615831728309422720083161801448495109631107685229598892982446381058735047152684220057878199934173136461679397682430993713694130908806456982903826285472850452968909056955157246115025489562421348187985741986516455908951871579715485751048130820711045349612012222018157248054799253861043379505182044987522619454739208476471969964655998666818136226009110284797550462221093678142604865056276467365051362277126111176678568195622006505232922654677277467759426634336861372292560876139549482695385936398881208411843451346119847826687096109916876196784377269801453467462823579275494985716581540207455939570739183227781470479399986128573056975870415720545150313722316621664234656278946849664740030130770646884869357363116669092944251435599014810234052628322622955590949226911378748664139502642331592738690529011998547178984558331885327241124377760027507456153487926189975602677545191693681180912118593659179117584440348722585226288384853177195497460116029064307581228465813804870671579156852684197462962824255770056228061486711243289034749573507580416718472372878392903909561721965293928722048137562456358037253129021628676020840113166809955221033183227230133888875031445072051301078448896475707071139266886155804819204582110638288732996706506128518415812920397256690889598693693227427696432176359671611311131366841696647423373213449208524133684039560474867845923895892319622446051121090566974190826808738487650257961760444026069029319158058825724660464030167777512642398420906552350871807377466312738182033024316687216102643444279320201351693092914919282591751140449869639183706447770824223044409376000181169095425712115786836333342170498312492322558881065617191489622731943922302385926011630073414227568769965170781349812274280785545102734927094294416235409002898295743432235201757753239984200707518820385055300483699293871923897895154593621241116971551516938572729845290606111197166797789316049554683206589014069094258608694378046741745540285202691115451134438921499434842773835868264729781316094386956214436182356283031671682513144717899004681183409116321442019774525212379420937737159817291821462167020899373178276529925310066059990367101830401627780262252566598505331353218648362471958112592630558641520613187570306598222185685347274413500910799932223676752026988496846094982740207910608933510264651776
2133281159680640737058831445037273683086611172965778753212768072769337692398336137791525347771176433782185924763273713027738631600545780877185438472413960235673294554212093082825649982500343245213531837131780450540267368940051040438302614976474970958269867485425631051892002425896344897865016693844044440899745531144644223912984019947590842041094342361999818719925671373660891262396686536058456141012251524141174951727870238950794263813198149488280318693022075027470899005385651663984518346325229564263026591627460091742083195750669893380434535865660738476094553822680124047594479389920282101708691478677735743480015535183766916034472927355184264103106652694776307927445559760827471395064893548007906216960076898775598726873601491709973664987479778119394700854619003850785318667293500623021729402266325103137896243224621273995968408290961704706802883044096872979952455356434541654622405459457311697692496005217860533790220076065494527130893912714474756616211020780756203598233678693000826051389796806517251980527286966067858902827979421922131005322435231859431212341138642265229983671692445176046172499437944061126196565003840788619507386815796398236259072982272829429278469341232007369900224710481122849599534732373785845883584385455505601027999289546635238917500802117458585994409712489859494315662181517691232031987849135584374432981070385533078847374139352777180205220662449160940963523967155743476164542570754827944274469900116622783800691252342763147850062626105150427650364382969247260259906905486595562773693560518217467071376429899220894810639119695580069124645180602794595760853018386436952594654589563153843274114722947541050873867595498317815681304037320217243709479916800156716826723585126184092873632076075562079468663916084102039586107947547042560320557376777117940087600131732882700279456930650837980728029438454325451135917440184380752764004656842201478584466176210027083078954319267627268283585953095531268732714527024163416423972210372478851273235396969443158071748438428632911819541776780722596662386066774704694943725536047127232800496820795213703945470712957629944000066723992868237933312934131112948630721777186916970146143846149829201774134486657971602880467052202459921820057827454056584730870343102264454088647412352299146635565281043636486214985508839383229479857875360581982698901300725482130475931206441251474473972620148053726832509534383595567722137956242114803799317234705390910041321925124096937580390493322932290429604889571889020175441546885192612882254774184363734214760718224634525948406532629883102542212555590117203872001883994183314661595203336723475970233225336216477459057654441694492059649920477352442907041274940605378996214272357030252061819301682962868589457931181419601263091062252227832895048428438740452450831940198921254776582443657335138050010583558036085055534543082119638479414207074666907302838316900723206939334832310005535235086956389136352834974834183703856839752294166977044428410369302794866875824789269330198678143747656720241046617242147838891238052613443838959351444868006734706481623276158037358044364245932377970042545398873348714577660682235362069551588515133054116850202080831081907589978900741573215902392701090539382761319933985056784910931266427203742454039113369699017768013095675316787395983049131744667194670257464307606527496841574831960287402150812913372842734158412183097213324622942770274266817749688414798427117069564013139076899318418393014096814550194348969182465347862269208160590160929379763535253452666808504993885305337620195135014324815051472502180998187980524927051707854325830544274044719360076465218006289920687079424
2290593203500326442498254071102877992464615830839054768055123450544313385107740379157387758658057318635099533562444284837656640890034066154573412691609539346515313162728959709610996486195486636741656944283948869330648470173371350813320809268809952407079715398039210502009557335794366205566676730638553849508752967747099096815391878861378575138900522123854153640002335525179230941551480812783648467474496157878125226171395342006341679075520576304970776016746818912261453204962575441115371836944715689550507388254572127394351748165073340540193304452987980296508746618030728963410359112463410918483243904968689085394227988296554063613709807896975047594167461331023628146001054998291892885044803396603840787819652704471574743685338683157788002035621474121034155871572968019805251898240972502308488120023873650020272835722752488449634887364713943526031912848227248826190464847696594892838239669305251912416877251755339086929524537835982837023543516588536916371046489422031070150882793338052642997925998158019209229038981588717128926097153382729134531621865313978608581541705515982751534447133263250347818367765137031003609793889758575377908303501066776654831199960534747537034342674382534000538109978641872766097082093090380663944422789696913654890020232228508254497953096787063044370098338492177314930216742550624871750833859476679189509568060273234671293915325999081148939130328420650376019730541961524092173016464047938013691439667184320360598111877751362775572507922668374235979682286834034089138475154767372727122932222887885208321879666030597579772887782987686468159942599573254088749600987758158350339985951647512170869758074602947384280183385924857960341339199730774135336869491956368516611377674237208178041919106870280789033916144099126661387307752660057804524225302437317858452782485229505751376109394446472280555391177171643150592302864136987885783315401782239495790781650110059887274595946783100447198954930537574190738099064718222518825147478490657161167548497523333968812279491147511996563545946244733928978286727530857216210239434430620144907278084466853892944205719869706010787649500341806904790181420256733072612769503473201816461274039931292984401423199725434093017076346603772533741966291435995993488135271310131253463508530232037816302115328138866864301429396394767471856713166350435955804654725436951706056632361702749907044372801683830358699136529946432620564283934315040535048881017547202538380788919253939272110382634932825138554381697728238695648751406557888234747518138465426828255208381310069117625217360239526199430454346435033842859303165451350797675107176380424351271898393077912093765743451201386745554882022414807362737862360998011111307606401895470442072037617747470820243516866198003957569584101060804661356296500120146645677141557786648630936176345539004262109110167208910075825348801584001722407106797155866549239788534766072563138170840191279476853418537351879721277733449450507730318950504047034492250690387355696568657085290734466234786952456543122517479114466613670208736084231367154565776282269608990568021682799022786745086696738347816102210900054189076993778672770596482065860737514336417130117445117040161323349063389003771777472580944833242545989973822564674460973839015552175709642226193756923409669234790206301159076383049447801135255878205328275264329908764826799101532490749635380687710149440400602422623804497742682401904233153226013937331725013335198352712395550422922110105171367715419816662500131430427440349387764312765762487031730568756628410847516600013244143506207393041830738377668972502903711649967733818943578923725532823256616542654631382911359993958629376
2459505724368443698963506443121429907278414857664402117087405186332624846953199591234905115056774257607800963588888144299960985474978161614948322085393576273727120399279802016220221697545132641902612144137713632877828147466765350451638969241448104606930964124891507907947697759168423258489122426374197495093749915554183354923311467283403674424164099979819512839392347111065945358098724397819317222840870178041050150049686571150993134057772097351230501306917183885049308729187161605880823950639249611659379543189940452407971613372354501765400304035938636213649362425598146205221868253911483972873713623957962881440090119225392613179196800537987591686248181691022778272584911099790253950800629520790803412919070877945841621437028039711601369111043914596288011291843068430679359297996724206162560244676765016518305391606600615248449896093022502959874497583864561321135608696973623998825215999468978001217986028683884992938202236708765224258354346445149886075582918340808347048480845729015693500613889479212185944625949858171547833150718674379351009925047340513723875326643612802180785136063701653500635128624841039279760530675453427645916751105981026711159071057733307835794762653832540131479807189979525506645006287712603130958015560836332474972116843549942037983688362410589612864942321031959879864593357861646362133506421795449198406845274489924934335169082239808015185917463812108174013711332114275416549798821688863386259983401428445088188954378572813285128927301140391099255430485605666948149724901258601087708831517232012411086155051712204685115326033852514637862174690601087466869454443867646617974887535856375523411893701462896800173033035857452913277829214921621729008633102743184459442474963088337717758446970271346225809436318428043098205038196790551318975277128425997323002864483565582564101074211216490616888985455609787277594085957698873558346880748276954687015234211374905504111459040761893206550621558009208212098450396043238293401188190623558987190705493339164098233656094422521384252023556228626559295832047213973643617144857802262475843885081290665766551412179884131174366894451169700369405203735477375117668359572350890053527241612999675363749587694669103902227941219549590925661200431113001917304642488575275201773313966690907428113210247494185432168177285892136649287295861881932526380873352580891721861160279352138431005655301015986280656185124889713184297794140885327814737321432940109259658418300718713473221034579770697781744434527310935673373271198600032474765940305468951963509282184847961123924971436780053938272243811089881135933477556240707188759524538962206560828704900526146305671688402009031995501522914852484142274781965358950911027696323045319489808516011076784089915049924086208714559983839594428731992412117923822478476855691364037503828512816844704699540810037955840093868688327649020098636548522940938160881316354694010167260334721970596934370355400931619461753365124598799968078770015981182197500170161778572170420399990596796074606554582089893106573496249286549353262743817205806557146553300108817299306397760172152457232412793968434808004502256866678372176348752999400221380596428628810678917150854190596300587077112000531451223131173692889227165678377952845913692266720841357513639738340705136354526543400320371142839989690836764183758917370911028801095678374898714311361057812776620994556270243448322135966902707225631684873352379266171689319988108884960202643202945720592357914255536203329586868938483522346888900402815336471216297576226726773299601953633859968499190805672881527020245324905083403473676643406404051898964186649010489015429066578557703134886110233767686726221824
2640874162621813985366382317672956402129276045097275509070892012199852473875249371728621430707990654920046083272890342192615311672740557612601397021709982346034881535790302903255178431206487045238449594010979543355905564219505606773942050622792384241988856461539571503190185088530215512774133798254336524918194085326994806345795835000998186304504110387649766906960557838677078753089257506987815297287770406717001934989824149535973147174668733186215807117723640841676251084816544940081245035382273844014433857413053439819920632282654713900192142545703312800116320107298817797413607143642611935580187788242273163641778111341450531591157211464622977986559358325602202367952891639166633294555874202002163179013148328870849355816911988499079288030189551402718512873836172618514472811782362195149939477629115959255755360572705635056392804603532456001181041846782327041915998233638722312388761284463803470443674540045550991723692388924549328682934443190343154628188604602502608194260839722135920463974102809143702619209830398445659075270500336338946421333162434689554970925578908608163347409749127193621587948168111429226305718490669315427578678484690084930232662111676171261159760941573232231328327991336930240159533171859999273622970495712786597146995088734437398958882824502319527833057033439650163700629345088648904520195716854358977196703939116592668616124677712577463635546716707067024050791806753851862204540773633250932849611115659502834475848731101559053585766475489880818987890971519434573642799040575630227604864734221388437470285946372276981657075825943484814244830912892647313059947584443352494171786928945290056537241446302882278541556007533838895097050159990430132343763419486246285050217089940804414193952041266429071436140028960771809017288839411557519202119874781612614620212867808526646000484343910955893857264448615924023695868187832375337284750159365382182801086697908892583812277529728965561294873140030529034454368995820989068023238971567399924277740752264813909472721073013954337805772648955892042793150857973186178385399077288821942139369106431427734351271503804603115819971293214433008178617254023090269577439034303904654097798043230973536480345770521958700423747268843962218973305756932861028802183989350715156454046173119370186077427249639898095330486953709192273062989358764758303521127072313201784977702913107914657208510477228174162150748132880748433344761640010724862633985596279406599224919683168691915669728824850062537923023031203421885074484449631465115914414716669349656666838094089354939884288869676115802498822478292360398840404133900959519908564175838038739688980551448682893942780249932823279324165009371503013857199896686824765933340364424774583649745392466790352759565710539387278416332405336645326927539741659228241091939771830002677365234335166211148826321332592212973842896621417368472522667524087108785135910070210177438868656887219241626679633699724568380136956507024702745936040292636143722420160949818499166382839132712986665704081999328759556217252252766098201238358897531285316061700375772060885440005465876761533434812905316603389171844053500143760161983559705701464611205407483784997331179903061768915440020449068102929405691897432263694606825851740450157358881043530698031331637524831466555478041367075157495269975070780263260927171114107292606605006896781101319935726138460219531251543681837125460012678116486987744868106592707998971187605351692447774153522352140201832747313575045061145477820456241078693248643873274117777510858024464643112349100168784230736903678207229358158623500091056880517953495077389859966984469483184970270558770090677987453303130034670782337674009930366976
2835617040328019170836008658059507642694766344462254862540308134486499847829722608854744008013887497188804855617489165777882924085816937409731709423039044043239292867863401120853710826169111920586703382005408650909657121696801086595679293106017430629301972124687685354013851155856035083799193724557659316175483167965019039804261594605574834383290062903132407791854667669758624287333704990358789543084872849401535509487503203762004560662349252167136692392216764845262353057292895669340806752482307254539549692386047921881715811242410956065390465087491478448839444964178908334838549016834248143834041334009784140634973311875044180596458766508777987855600092892801694668982857014713130673635553635572347143779216406624337647744076088578468417050157095988896734571720333864582586207321602274448939968199094165598784443359114633200529552875472536149907878026784384368951408398168019852733806338680747200331721189890870964938406369698762994557989546703623438036385274121905945487262980375017876414906479439053483128463940730757688740363100324533193812680542344311843628229898065584858613937689703215287245009242445424652700410953801797728039670139660687867702931360166863827294062068808799805642068840288371674629655198941461092698603428364831660943367702696756664371926544983392462046285426581518960693812342943411316435116793852186950525963294375035160664905267258515073545325602834257420094549063228136417549300271363337963687642957018909536423267900481073547440894635830555924122671885672409730551881366293127210537982610996148840661854777859334869317683139854863905363545926980936242113687140664599331766963866425074141515360754481654874218486407327541916943651295807616272847353929063639229023044029749011383723865554557938821130467294215751946662003365964608857348999219014660330483716431948998283629162364314393075053849524707216536648620729266709300908742843501276147417940260194831308762667748365393707417940887224987661139993010341877179383332687718664133631443237935953418177810403181240508128282481819211217575803856947293870271127780216016646963948646548931346406521721214377489176619232003704121327515408132624284172731097942273153613058745322456378356137007790933367045663965363534364387484730758790846604573571909033467795412910105412313329996140255647524054282944483911676845360260972661967741920605161357183882014525250605792867400788142090189057416063163969197304746784190347093566765138538777655489402246859053357225268809979882675983535921118371129921395308806925481354315085768990705243224495460187592134766679868930871010309405693839459916263019631956510256786011385392444936307170013034612939719417194045545411190424439534739720527092601122780941637945310282172236918194842887332797659519482417720169148588296476887376252838041668518022371162302890892719030229228794902109909726867673406730536107724122688966582908658856121838256166687443986574480142512950792127716952394126350100981049661373139479172491152626728837573312631687763854389172657820370920779250204829061550142974153179327960794541401871392332506658022978063371406511500483688123332994053389020573957683448797945298546762856412793811107145070302553458216241185686939931069319579683939639810853930939735896112152898144526543611954279675104155241624819384191873989329430733154058454404934128976988128643221676495117774552882319459996594146674752670926457515751470762350852063921622693440327412280711914713102816518410360044343146411790619622243409168844836536884288228808019816335358015776074415334874993702518962759739989087773879819550539501015589678317035580975097450551571609400054484042547367307695547296361227644758817668336589066761075340026349799604224
3044720613047288862800423541384608036809018689956713835256899729845571649984408795445731382217902178562302198050779463162582389766358610904419161026531930774204093192409839302349107899659369166070910039541456262693114497065313173686426634698685781339700167395959310702356918261353367392286539119535894707320856000852057911994156447564938483239211787262684126855937843206640454882012392493025749098424077960124482046357880995213258438861909534146977304946545752488331076730269650298239698720041869119217728366841234007792683047413066046123236221255251419654113556318985075697778346366849012307628977895271058857011668762084030798554227043891925388691121892357286328104164729115709271766259788071909283306122686077739541988680593744545030245249828379733661063526682850101645875112886739380769353396320597364517796860395240433277827559870414325827508022384448985727034974220817847895142608604557827252567075715492874150841604503053568108320397769650481817766339302602395288263938321315547898654348264022307783807910098038471653610101737764759263472973119866090635002178348640275157714911566764276401191140158880208487045105783084722026984371360117601732162016208812369310278347190131974210560960487704800887906780497802487302899231527425107685074281197796305219686868222804485871905429286362258253545958370625771995691283483883879202646745587059299193476468434453365454600052059461155131937855363608070525100211283297365471858415514930237528130114111503198388307336738468516872901483310275412690558125624875194529707085470011287313147745316401797038007970730041808665016817186744281293834856045782551458720640924877351468045937580535148279181848169523081823335532647580433449899199481366358597849157034535013745356427312881812743481037694463566144740410205664978633936470225999376865994028483939689292036846136651088929861289286880659750024052868927046627235518398328006796856232065304632764843134051235830857881062178573136549649950014271738066175034835309860825688805606053816618413276898638000585780348858015806691001104491624822392128940117266216828525434281987780849141314478432345180253043392325136437990523695716428432794322620166059022666717887421685779856552672339339004194072717460514211504098497577092987667699033843800757787691916929733449587009569551058798779129643822246062550835692553902075378638991849139476936977677137079521138409112398725490771014764388579496993814695914677651439477065634239814535634381212138222700383710918108627816562853911159936950739975503391430181460270464312522486906233396901544560952428656889914368518344074059167253663141963364792011796120242636050781730024554073889073028329066151425868886436349040209138884010650946479256226764945074625572350702669389238144653955380014738784343193724484145825220296604037742544717684616106107621119837843264351513395918602237450379139716805559984850763407390585566016175409398224144042313820073635727161459641419390394043889976452837377128973080660845286213209368438870659759493100655458972936834071616285530157058784528019627003717731374088905816525313477736699676401617104006332167794705994267080332654849925126916392313825698740123323674097407219271982082614597143417574564805475928746692356409314804802055169737561420590146554315336462952463039121394289252739543280739492298495997835374806247602487275719488156205686343232646154327438032838272467629446262821492947049274423069367743894409990819491611322579454908015269574509730910095115019277829132933778756095978919742052543420072311552422918281402246550131224468231289648846421817000987144004529113631707034989100835132994305943830047395223703779362986190673173134162556923283156190482494807801313041889073955864576
3269243864623794141798212521298848518968374867804212394514779024509491341776948671583542507356691450663060059774253185397932023738008828710617319621178107743735635172684123808051218600953060027066337859197155371120327912319752014245292538783548561258554821352842680503331438512964473412335872044857825616510642075596234216578237021349737405441064692777734421506142084995324130937201691106065375115908224994422260619511563696575219385126979227317965695499908258776273149044243690323074038092868221904438117109748647721938145709183184017796831788993481228917997339065073761008510594375644231607791987840524027711539064405883929270911792309018644025725114193306044281628828298237167580520015486502185317019648923316891461611850488080670770825669718060142185864548920316137659827345787213448119916039065873102946932081342258823746284862892727881849758773329711083169496499331653934770684985303176016147648280561099423749727115554195351790336173477590040189487264768579183863589526926552854480260487050542546336475303054295847375519606824733102294482366732427986794176557224042316967706696817696171921055130606835684858380092253802337775787176123706034538397202747567758296979894459637580789568685777260082478937846033678070708351861348455741149168076268810709547047298594401727055481965997441629501921491808703784444061678868886551059245582234313002712165152117888381066160849088820777168513913472768712866741738646113093936147875744751092476207680035413583619294980022145396273684014861880679564712629386474631146682508138293816940207319237520722668468475818213703232234162276769353218011318285375984310660561693126854341588722733513957009399178881234775087089540589024563799205379067262167893092636351124056650804081793057136311611773523466064213798216060738929291323973840586263138955831717453356686424911845975093479135468825886898870314210571354159968460913602606272568340808083567483500572829830050470479496696478678533356222203889832962062825014607329149568161244187825650498016583922960629864688860246162209297226930322851829519000571404700201551040395036333690154669263841829554974442511593626339599976807807753778852194037387021563397889819008533587546418037324749716209317687289634689177438332504264087405195924666482480356759538523634188473993367701915208735732351636890168818980152409247130032734445321745616154796716344096450863060201956805228523735764559445523593871141108309431329828660330060276375312913773479832626182428211261098672661893336169214404657212539446726832429009801791884254801131715164558780405294339923278846821256694943539881330869332733314252952126595665451355734531422440256084284047107255161648672658907014278334810126786920782699962959089949743688278172887451911669531411113898551638769184203471712960197454026477440491444807568244754511774641515608410890908170894074121970451206971073645431475071068844022426082280597591195934784832774346273439993912017880042190668765159371786655293839438875675143000373480161441014710241523213208113158362852842617053255647305774338773406771531666756248069600099435756787302279682105805356809397761671828068379539345321052038638578546786183294519546767731581291865993481916225798376106870237928920567484737795769098362676902638801056495117657864444904286088918789261565420154199188166529421045172455396183947290314367834125190690573354511538094128806626738576401422586351933223367823336903050599855948646946344177494205516297858067772785782373154708814289171415956654072782947524349381107475707642018194855894875793488435608399872095001424676457660034145803973754732012375982828950835624588645742116636153948584088906350460224708943500583309884196445565414999111295192962675040925331226624
3510323870301961795614927352559064457856801428871853891369706424733761938631788267780489900230707296840160118003555643526985696996460897867841808936034770437627225484116406073498741346010066811843698981934608783798137816052322599003414394007038173358336389483395447348696336865454321328961023350076251498146061337661846415239927258008393983639316327725164184335589829546042363823725773264111213340199508922113347943797716392652858615786401147150503113855500085611099538976990076747988666948881805979308137560547121186487309388956125557396818626535043658848172009274878754839818245128228378421629021636470090630814500862427286547635818016994850486188787036528720577180907787931992302501228296985103842282696078761915168001134323087029692609840589091462812349547774637480307498105790641283661608018513445841710778628224553357689430421906027552193016479235046531835430872353984876857452317848845408571429318080138638702380912557420487883677228483007952877293361297385150770121985829413976002041467360777933892931509632472394196616035579751769570856081591114146489027049131783574074091537738048083116331319942341975128126221941885993098837825526877367165065610514671216357390325568418750375938840839758098683325164382832657071186699638085967084779586295443925579780780207025546597303355369198954594925394119478660584669613037180502183423483532213238919077157424298933314386614778019159286017684821628852083667543390808763993282759635894396461395910964033365869758313443021958188108277317438868946174064713269271377166087837306447249300305896245789995839488511548674130373804998170318151607742548384161919524054157242556844119794205713542128729859476039306774241282163381269514563153470293498839723524356624649038513705851122360079446658082961358591024822481003912725073231046519379412166400203735419843404480884536503930857424240202937210714719912005897874523003844368870261371423925283694160994975346560002184712937478990665515554870953969139740660533777300244825686266660345312559726835203688822191099889993195299610674202306779832309468716197125036586581742863993482739325417474263313855366175781681492656522527973194983847647452105864727410181852013252725857354588063576840626075139345833967451055694790647008988150499228755490122311157623765240640825415200157124521245989222403835555359674667703007868113463027399404754055292556520734781628635470908415287812867132093592932318234274597550352492971350275363185172596605890958311251830624308549429027960286071777447503709486861200419882067335089896268147047925105041805027596203806097449046472765600888089196951184834731751530013795508732232489668629316315098966250475046080902060627953747357613262708229859580559765872425680017856184292775559962348329542594731302587570212961627704206286853686546031248135404073656127187905133057915499579745204432306858515750753076122131283921309819990210211278493142937380729357251390661548051061817638974037115005635682051512897394066415061503937276681853269773489603385564615488420314258930465075219696223876402824246951709558363136613965648889718730863618329825222427604809493572959025959556243300924792281566705805593465788655747350037412438732468204844839303944217228868205113152482177452990851158776110962056659574194681049977016275650533486969584867331696197561248516302707458651657194203022006851620511696444053279017542235348518337566196426844064322285185166052676048062253620437422499627274407980500523848983466623526618185676443732179617960449046990830891188883612106359231355585755981086753720173069828384653531014698257743835617840725854079599778376550350249869991728830150524685097481839682908344918430863429268219014320235725412462720479494174662362439799079411122176
3769181555328767889201887297164260938712733097042670659580806434838148258368272399028423657087297673719262961557193075166159415514891246021294174870437473737119135323374432885683216594569064260910918147769409884241834146411397346890346753648971837099408320449475445349485168768031365572440713236817464822702084519116910865107580891641251563303505671844599561987968451692616619713358926260417207950758953233934260155920009486481780608928605562137073615988884334356218173626712419037285339581020865112636425882304776340727927736150075711972276723852912578171269952304553231600555270352463052935002186743278860035376072761672247725029146125300113759647635000949903060928560706189902602841628633845199100442030411247466454222804402140472572885049554480301782960373153114389044137096988188134048516392571653106603746724730049803870773446738467580485984714475896987817849612707278895345336239760047025293511750282444240093171474192189179395189487138609712328971021942545338218425785766977115443524232887598164797147699859844478174321516671051562526238706289135725843331099720098911199554158873816582965033195663217847205836883250109488229997539061423065244135257713696650611882924055787785824461256675727552599005560389522571490382504713938566166415195626835363541754072459634708017985498275443878925648373825767890945260056739916372231665113772312605913917695409501878578243849192935647198715166596632878287343388650046147085332954079198825127838391024662784665853637915474117456951116796324638150761898066719784451669307105373639916423493176792909302453644805617318425529183180555714074767606016424418272181099122672405796228871504947489946803242117066129551469390526207670336002634970384871259506620698390577141973552769583595358889839560703272495045062920029346600556941637463147301367598346272841316062921674735359125302020587617315930790295701966332282548053277811642883264309467011353485884894483450368871257654405089398869645787510199444144847728502851974674778934015629564377731200973356247467883272447492868592191807854626784710383071800439380340543014507883346080635790288376963675345349771727311712057104683029405064223513333103833506671457952408054035047879202153624817999222082249931012053172450096617571081111428394513213944365482493195233478810182574035970037795220348236053807950053746021558594501229996398837133601226492196858246172741164300768085672925083823413860889418465690581417646004824411368709673634425566722231500337884120602718640624566272111404697271188449373673736845270244422931004339317702979326583518210234817260906728102622032914209060443406009438551803534709155241048855197680047322762299516845391830144017642075398844986925909237294117948871300966813251892204979776593266686418752481630273560193486573123390918544613059852333905369024560355517248308568886156626849262398050790412146337328988091565129078585399974401594599269075902122505455835467171010761208427356100509849027525475520407429719285280309794645965797586950793584252725504395079111037205859034693824150961119065673355061115068762240659712190164924466640706367930622096096801545301611077270912522767351230556269369317358392820667712337700204888658292103391203954201577172013802472603345866070778536774992025112442542860161700556613894690612871802287971533488183279333612162842791034976326275075948999505584753172081765476727780155355475775472101828188983818568375143259927475867959081712608428942973502788910563007998188592323239795366823910484475719574996472380697418186790643074984642215551000441737417593209104855999762678079488181056467920043387307224032931905134260681778999210569933595768348001587897537086516437352469667692027914340873819654229699339630258953720419171145089024
4047127878205868153024264370699583567945362247643766199849578176734050455722772069461635445405665531410278276278062372849081113889733225664537150165958496728446396867422893401639080472439655553483701153500627700509455853473256841638801651255525676091749559320196264532768522573933831358963295562761328633783972840158754741546031862818423807224357645680765778238562311374886056583736370649541871866035220629735271195908075384112250453798831622065606762454180228896671567491894887940547084530184739488100201375706739872005250615153973032711211046902570659398161982983883990403874655401066801351037801437716862915025408893074676562452645813742276695691549203206190645264615906359074111157517912435572215751784940036324745936006501149540524631566050958066608506323189145675372897383026162033508410495853786857379973453445669584019046540991729030835888033757468835735643622906007219164806443973254215264429442113704193535935868643890136036853976745835333340224633143732654661349413618067246902588278808930440448341961244913954351224175272821312744973596350296865650582273249384894371823310535957603634322071731972420968148598467447610091784089107323650110908796920214711410693886950115054908078373560327878854712170998788116401253709069232994259471339693675026597026117922236337760939173723823964967260845294313873424196617478261299127491049819050458172203173254874974036030077349203649737768913437932458990622086243441447655577689760307186951422227156046647392032915692396736703016933627722653464139067419861775054022241656140052325379769120101172904683144249031664932216513313520013764263441660188928833710661830303068754110960811183942879702176159892207473215045263778543749370162141907237648187816248766052164835389510572941401132310944976890531598716821947076752410209929671226516151122742826384236371962017799479224496836136633768621511029868528690011653230094166652157912838721209238520642804856707536885297015014882326025357006115117969759874920204909068489298939406717732963270524714842112557960366376859936949172343923684490654182031253726744248284397548153126399845124543923366976347059693812467308320758374514935239294192349975229770845727430557929131882869741852097840290152749176118948756139371553291127003082237071570009932725227694883517583643510786818397509991588835196895598310436410151221068582627066576800815311912622368576340314960116836190408911434846919905292898286445649886311003727006476262764661494672817204562552523056311956599092543022288225780010850133708278220095781136478019603764025450905312512360078531394748154032674126781440803890872077829017347111829445848255658022957453068854580749108201651889749693535685690217901343755081937310635030892209441359024554107626367202366677993707317430216426141128065945019141943128252260066178207979824536931178662303670651464862814380337669741779719998546961511420711635726708283521493527726625939464479598725964093214663565233510858972624779830291749622809937184856190188224749742627343701403019160060492261309387950943399026025388243338657284051521325406653708286330382720857633019208150241274917682971818170508247474554340657237946133207246150035568972254343389521962321671475820067919340413936354862020108826618737697459176831014629687861065868201290600418548842580646866853927627678996797974228239403471146328371419175217260101671057580860740121916215482391927543229078113374102056092195040175834046178367555461218291002760868233914897074901607817147895466560254730413682820169217047615668195975357801466978504513132379335940495582034261488442521528194456514014111464872846397181496939886656029344866177251920578679184664691743997796383805248822511892311923003285612869379646683906189734560094466869896057272139776
4345570469906018718131784741653183016286081192125757221656034597117013699235800520199991141172931727630401488718382623408740431951913888598443731734958178985500066858654543740433510856160137483929318830830667972289948857355851536361726034193320029525588363175663737117401381198320886938681647726610455483902631019358521765756284832344772159574106155701611168442653403353326102188388299356379154261810941447214378731028998199266188423006785194945603252784286195400249636407686322193558630101322745234917536519918664159260444333092549044990147414750115770111065189856572558460654869157712918828508993208683926781937339551195824180377953829673596445144536982836361791538165645953405435065452034611243593425043092770333958957664207820165739679814659532191387731073376646774476606716215337861578869805158789537550400556974332344045932283665349898483478662026518161305946365473064372063187027758795788313717111494471156163724789144715001123819720212726815224380810161482354784439421679593965043843488809321518616126075242851220068136182590334853972862396177007499465139156740860943360848895660597534912986010304946906408035722021480801484393055252276227828425013902756926701752067279466336066860225161619830679509677483238653894206473462763577537146285558410224321539336833461135466510904347271616398858760310098395279002001785738567673761848376382108905857141349277471513399576971795011816889114805343709305395757777718128042900512376938361717529101580675859799806265963592294999145148616317858896704600841061356174383540292432600583308714787716308459213857448010370138074995368179263439745333864728848630514678721916795516836510559793166427163227206691974495676353845772134697512516749427224191166656113526898600749499792833057385096923219394650077247135836456937423600935206108094479769271993530284725286877639450733288761338315578255939655218847152475809443120536802192848010867481529035254806066939317209289766095683835135891829501997225922825144938832673516953840767679834576445127018212751649809997669513197860092329307854972301795532367466401561166734397894095065771872257345299444173404256732671080161576701474114941679081622566469249568966993393894104163730649110970680673259609302138980457278379620009844527911305174855228001008862503275919543637797455838002061299135426820562350078867419309271784226007139081177943543517700188070658359933030010338944198875869906988939891103860334626585792969773106731882193630916032557028445576268202286454991718463889550232202752672962358570539945117492186701705253341953237492708311533267083038146931676472487911498117811281798799046415496881162015257463890569532546315124302726815059912882840448162105268346295632688637374912668497312954860063588309427830362973945783955539667578119536130945397137184929433847655580549745308153484439139331823367199150070222517199244448165557449091802930671743123219317864277603665381909606303907546804761606818880080172935637072897162575873692147253958192910830395346110592214578219389152030300910996226846769587790964323842710605721888366617917037894471728299409311757722367186275732570198364013782997868650371371324420031083083695451156169493146184062987654311330805175811623516460936936689456739976172103167847376696072188251728491523906597368447467797665632633915621392508038908347007334769391780589996430574666356457850706814882438588496299587240548163142629183292787136070583814602153329464860608343349689043467243693307440245977116998117039756025738920139016065885959101358742419725370144799783375204722992941632656481717409561093227984842783164046193606031882018581488983284316398209354134198384509654123252698941597934941127651931457771512695782495451955325575578852983610476631670469189763225795827465191424
4666020762677425646984964420878057507312838525045204996562122888915527430850435856659687332706865212653338492348791580388806048946595899034625776074460679667609311340933679981740860497417187658085037488493668863704991142963987845726242035743021817118539103749411613503095061188004374878837808585296163808756413669124998470706854015345409855485519806792675975742385904716408085430570444171176579132654253812689166737681881923372792618846989099597087617424932537987084454651725919211963324535935589281227664152484078786007735989265257172377178947142673811210219819539502517309890191443884013131287189568295892182319849223408345636622329154461512771649411083586171803570097746300147770858692027027987826912520177709819598180343505284339825306113368508034167379453948918546630228340799707252267955184449723287681483585976235532278074870043318205595865212429433146889773072509218761728541082438868021787488495516084825134626697730261685266852236228382958592737620373387798170059111451752367605568747644644475601329167845220311996585948974943190875594915772110659337377542572753924654638583414995682067373279991316487509721564420501762966834106679511857020332633475171581105373568716424901435027484118088371788387880526504401659669961848515359825500880410312252803258810019310943828922509349728954815538916813743856566348598297070186841172484017267964137541691235799013344905702218523572542368072136835159376501413998109249362649546410148372046151470304316180854212254862376708424728190316036213975522225696273154674596244629174073947385363371258281839542916902302640002971777375420353884768668879402923193948733189644928794483057558267575582237806726639865701149008292028786598480777997360538658280210023319123176631815674644189164170640754380763749785080531813037686671128816312321307871789209485324120168870919848644719612118103650084147384228616060676581747332669437845675822943621439272623455771081688557617383192112919666127780876171513005314354359686563292890511909694105826130458120447441176525996151098850262368434479424855486799413399294412271003616960518347394751290085496939223012937258913502526004741582156719666264150724059400253272093833282555805867610141821117637076627320917606075977698441408953797361355903728669691449739129864432691826062896235574055781815093482817329138479409646663310305706567333754045689168985718776224131748275340161148076802335195303517014666500220369143200588235850552488437865542380963588627107172946950636259153301688311243800865007192887478374873593335315954854837542633770964948125809125690434420539347998298947055909939591252606420489107636283045213502065107474266275107766047596618576141528102201110556358514160936286331519013300513012151250274342067350114970302226610541531097569683733215275213566485324355610869041183262449912164453637083142163542237167650453703388105195159109364619622228023006384967115625218602016257277275879587633510099590875134922154146385254620308643156599806941661275818898053573898590201416677580266828603441950271568145702398163801798774891965251496702951349487193060640172529321460628189452856860999417975317271672762174523264059917286982698384928340423939174432094829729802616864613314966060451149909801551108750593360620407255645049082321641648009464030384121246759326454483576085001632111484480576665349861310563518731621774486797055101099955580002136054113311452616231424427585528164857835793950307272373508337913383365333527504427482486478267819594833115591899057857444149693901482336964102092518352463516097195639855887774108644673994683282050492934347799451142797810400784489873547607400006422241916114161249363910473774474236138319737601720590563017208653773854215650035887458449755283999225754752168194135634063936114917376
5010101644539130137818015797848709149478980576499508095462527560056307805523380867924775223890364310756543552464001515722519236178151159220358919959606970002578535678598015406626718245826278364942516500003571018166604587749997075783925728124185441184654601475218464809596320645399424402383087590538762508216898784784808341933987999738704368256598442933695492034609195442086220378568534084849308303976516450195820237958673428154930578534502852709494523421661246415201350779789473242730142708319433181340241066347668886647652119224121656097354538679374166285893076473296272988913067400665213904028258394895803843551455456547460540689300905439882461230134145415632573542726465970609918951346023355288948318845704050945838061109116310560682660027526652600765536336183235803086170432186771283716222336501302319210392916632183961081870986168875449088911320052127018427484865822132810033425094716844518209369637554456741478775115979987841935743846866342798529882565653140975466463132518023875189121899653356263063694677506529007485063278625126432067141441946272467686758393938706451761830202616793612615145476546738869459961650313003065963224105211469644786639166954354192209047751874963412425866628287087239717253744856022916582082652073235294151049637045374546734520227814204408050028799143835021849250340082573596818345520955339436274861341287312151309810602423571646686359389808118347368638611055568961616255331004908957961922161435205365111465291904838291103115744619081235879083813774159860844131525971656007102535098171679573773776440097157656717496886920958866476806281659605783546956996340622130781202418537538683756138359359711212885729884596421758789066775059274113982759506195824971964564305413541757853757319938924242224137619250857537259207311978215821112666998343366152834788320503936290022021318649498841585164284265116662410165826463041986567559466087616981470588640185133370091942664824578724856018122806268776273514455052718511165956543552202538399704490208672471798344964204847185015729090697859085018361397962134801332410065488422544875405985784306317105898242754599467735054027983344460500938659073602028311140464262461112294440000847963378374077616199905533353227847330303701733776507800407180310508675182790195590760097624808831246546664942708020342243884506970791647959229900451458321527367217723885785667643769908733947056209472598851589919831480064594592943042698315565773516810235114420343012658142885146530055711723542231414863802850429594398449485601064120856997327877296396982134918251262999901640671672094692314062302583464260309092168516441388062690085405514885547820176816266174703295898512511664046178487266604678863610045793093557633391494031973101803017633452551796443294822018632064201228457194178805698992476867497442825239158505247341239396100236245087106333148037433591953903499052154018059382154237308366789758236911441122127666166555476699629972977857127921127559891148866302714629945932594343587239887950689714487591033897670769055610951355132362710876106790765574794191033464172086688556968181640141571921459308318617256328928087940429519755554264615188390815882129233013934020274810356093382419771666615047688992183061866344246911967047752965539084476114845858299149298221565657808047877247037768132513276248647963552431506362317522081224597681751503070749730615570133862083570710790471490639789741812241901670993840927737825306088691095998795652030324608704480190958133120759230624972259050511248534007733613270458819320795617603342872527650667656207623708035710716106422936593571202743425718433056266605402944509187732537320518793429749177674492122124071883308130952166151347672852449491284563291722709022158879465094564450994966676495369744725981823207296650856915533824
5379555678232845233554087662842888238207049253871153357524700465985129485808112247772251243690048151056233893958136681830662482529014814648982604652098394293681961602786910825491474136407588518705115321863930351559747145937449916146898641196590974131855752597994165203135766033480035166364926416216855998275627888798223556558615962433547951768607712151186108677818748641158144634550148297272267063450091226399265179481860043367408113989012340001495991696785267835971759713554971335648258171411208158778393207179851008497099231813173851815874183936269768486294137401408627451517448768225205590661463116478732708921150419768023023527756171491870916266853521063262557629581257504356624767310446372654555414919119842226773084943926010329577862063128358172160330781951664809427849469031092106848278069984450130604397530061321143475593166021647096733546778967018639846009211560252143015535362168637396506529768517941280924516450318163692897909288931043600702740624550203342326499374738656668621116093492139721623835351204952228405921497546363467398384542341380709454961018555057209715315575336045546640935714012644614945637117377134082964944567650531322113838029955408795084589522401322634391414298237707048421129280272536663836645272555873046322924568795638436573896993178119374208478206045231054715493913192882884461970916332816388844901381940925057404760025340824640507695087132096004311467622631633182203623987162934697475973624165459866549370705842593501114102471710410471416981697650742733050363964392709293366832991334878290687397278158148799539410960076832117119778430563842861146658794900340931999774829793708198766875173175263789837175909857871403155460590309942695263832096736044406581980140660029401378059709964572084443563344121433285620849219957626504027172772305810951244688381911793151228038170853598102849541349926480864669083690648894171245634800345384001497604048866064802485789564632163800058495036559059034470171333858671990337898545778477392798728740377650120487343482046527326080054422535780646842586440939052504516539614033498274217240275916559135504009580333718416875266060745383322638573829505803592128903601617381809444100831569053744580584253936058516010387705080033827173577149893959433729302471258592678022939504770080302113975209716700165261710052803360158538803709390946087281616773742276650251870448879284040301842853789634368926465819867177177436047200194999237321247910716513626547809117209429949857689290727654419300425960384196671872971333441148325469948753998094281484225642537202023818099475393780084826020037625608827103095428806959150007524678650033332867267675878700155295419596880543160974218909147204882169946897794599803175926906107975912648909842447506383367500094764041354600312146668383473013377777073984510574508007289649393753539589326152630740593036325375965303456066992242126480009934603816814607296033820314916941967030540365348650187310315024145432834294191425159408942909630685231535445660413729196091945222103330840917254460342435094898605695543535414635923104876265175010857278943264248923053174902455810465968498789109989195885772870218891040858270125611660102532345527853005797953735162974761211425451362590273315891161865282164319345708673639025368974105120743865550573169594562431751493878943439141918673325276542421026654375668470030421928416798670918332997777655437137340179566764349965685029441574650515064737953029483190305945214310048662434837211254164718828556094373382296456133422789920019133057974397527576619884445239118323994178802971907481448456742053417489907599734918820257599515645892266020693046681921883538097898709249483131698290387682609740099110306744399639759091897785687674131654646781966096894134039356237256490103041448236000195648302115454976
5776253926255292337786072089756819842320583555509451267092296003400522890967784558919716986986020792362948107869232260390163193119072500004220501663415015316369261127274381113088561135675108903515888643828523655492724145457671662872217998941549135146275612299462993686572327940426098027116819539774470139133813544063473729579015466418913256523488870785681536095183331507354667692357689652183618261324024686400343946076539777878039890466962025911714468853195068422524850087322232446206676951393975302450393534066503117911914827876076118877882458414241800970531186093895119809128817008220685493691836773196598916085457123900082698156687826204938278804922570447289958020091695788941570224135494262428286053124332551867167553861798052052323774761683846449900739594256126852311671485274876351519272986124303134872204026349137796445249105566018177130982960437371430190253009941507021941409800111453313719532501558752047704786699682630463942776965683361766042088400003434516360551842166744734675000759142004634359229211878486003561438761176243834051305953147039353648583889912204972784073466596934958197315386630679387915506059254626046135346908127972896375643981924887278299769388074485025463922318529435551749359673539640734534834332995120266671213519513042298131364468243189453752349945223254219191658235412623732180577910338149660415417662945369531385091735891743271162876808893055692612507109241433493158243559386482087260740115387311354907517887743593802776802420097244539367969792610125017140242886990898728961454357219288410660688167262166052480857484158488897577972518509477982176992145941933970547298193331985785067699099225523613380921924459650421181583609799514594948063236779104767668332961764076533329305946558270605329913730176487453596843613866279085144879838098778136588646773505577385310301545513966063916606126633481829530879078405995371016256262560728447748456103059233552723291421208305447741579767249870731395680641609923421123125560871129815686471462574320489205899959327149503971040405672835817004658605971566509031357483340584434058871746108909477959938406101001341638040560550042688429122756452226567598240996320816894176929252928872549659986651806982650351726897399809587571057493531861408954508357736908877773395777693482724218330797571992158709209989456216249958384269699400380843426396307027436354053435191341201247790256389447319584192331297838260231352964087471636759925605608938488290299384716283104360423839451177943421300174679879075231613735868810799644648432304441046324841868645467288910937574922760546535965477860669851124178321773246461622569162178700648493699144194236307495987096799859123775183428483010054682863860021115170012160749055054797395705125841138128328662814072114613699969955333065593444839030756485511332019515649793436369419805099274056633802837665707446470693630876116254736284566719622983878307887062190627171676181520275595086048060519308040521092764534853455823249121698719126878731744065522181653818934489315573601946637320221923398041974589704387519772370553584263323837114496217347152629151668753924009127305816360751135810683057318547345468417490158973034161107706075129249377419061505457369120413786090965434863504326707313390921979717805787817264528641115258433083199365926805950724552301563537076751155942579963566535821947844229754576907850837152626628073167695515364982916505082910328980922090066676208151207767903606536444732457342552331542388355120152791420964058791644046117437373811890158044568127346561210134478900279025357332513285192559889712104197534001046887730833650555323053791136899824552173688363951055712811250636785688886954538551992515414184641540931170979870254912025844316440476573744007185268218318853977560439077672576524432539764775951684520116224
6202205426664519084427641167450979453932695779637123452766793087039187651501502117533492387170154228093717171360858200750976778637337155342771729154270272614786267500331890124838861907355302905459790285405325333075905242672561686085528433109129037757584482757142229061520655710679281832839215273716280115827074734878618654174254819036854668157310838961118005649963987987103670302906016547561563854833766921796533302887581464707321401534756017441179556753620860995806635218087933142541939190768526383864037222786373195128426498616304017846778344155312138951143126005342381208552507825369101836527013310762390430754021672090268790069603424307885425291418100970841615381376686083671240641887334432481282535875481733024427094997185284330309073351175578598452344750885593569576512757087834875054769347275035938766598358152267278382462490744824909929776730852943037217970933916083883048177379903147284364055052650977266866272684448167855471883570758038269121893259388929383861536776654680603552331362322520731113331845196488027822529751489680439843002563714160575786411520971346167339041402173796014824149175144090900339599033947114251215275540006090043176946958326651497195990001530461399102318396492105127025803846698498378604132808248003818234915212735393628984723075740232319649611874470317072530546919276571998817261222820593273159431159132778292983453646903726686518153945868129040319336708689864055318423960091893597318674255085942160674309608098433654108660095442829609075003692294097356772195661280633472634353627213386306044868357811295263381675640124386973969121394246240649870563037617366379623018240380191054400663194285570711986701913970895257641881820394635075494154605126539838323292061403881794572605759711524002052525690402345480338190222595530196976514581621006728552014724275593535876233987470184938943917246301009759111343165971092482210551733013379474254115949282753414943107097891758175407180539928371662893012197843729470697064968310789957235975680348498617640515333889459321114560168364850677403112348073207115544642257358168743452380672049045365515592063094541908796876819270985279551749963232921523554194586581091221123550994758804953735444647326882446925017480363932403811235002713769071366023737059673050542199041014498653214679484820325631806124619677738404368755449839942096633115317180454503528845245295816490434153385865032819282241595374553140797799593647088290802867969870846243120628702851339542976343846785390963917755650012291974338626155215231132721343359541311052381304204550952456127565085247701568352764453799147263807883681722064570104163411763909848263607371594358303097766057998345298505407220433920769125517982602752881162927584871580814575614871586813188147564481462765212851261128584524377817103904270860852767215304337405749590528759349019026645858758971552615823824941762103785396586829652577679301816904687742565455019544282935810450378681453664202646984055464856061228358933539180653758456849679614962841430879284294212510960432306881560114201867824510840676283221223009456639033165998065255432105231708380482172717745995465001966575434544651113575753616730276797755666962098181565161262260807513237981473594374312059055951292326790602594508191543887791888666593673611338984170136430925892072025034909864230352682414175894249345785718819617496124554481384037804188282018252686840544616782497007429407868415346190085193357681496511787138620489503938994333285776805743072597419037500325383114036877323962548771186422854349360913897442659675114796124464589346891447208713595938214586103141628544987851188686945449851319930959308716382407799572426463427082575096029894762335174732480945606186381754792583589611474830503721160784179002666916483455400925501029992123775811983061313072502159049752576
6659567367649458957796145423156304109452216739664666994286994255908048108401499222420274496890195599234659918517128446679711976075698631680719061677740139906377856235958284308012067290487801957780894779708594602450330025718399019569990719770458204053193632349750446059942997076460788354202842106728777870063094494412884412333489583233422254610145659161081112465834637995586783428136938708352936325781680111400675025519256188863430907838165325562267949980144381890087872850372375124863033783192881481202295495598534716881904582874203752261328331777024595366741867002038162143374494152186092879194265097570287931717968925525735103299609067772994834135423003283047646914705858546556574543163037276030457155930285192896329385537299002062784682903841058308557584229892722854719755715354760746952120138842386518556799631357820737225901044423931417348634178898796132550523996162039371521152659772746308453707152269876365907526396280752186592548645981369073748744546669574162034682662008277369395701156432588286103442486178562693388325843658796192654147846399118991273791740942387485454031541581609297961212974567311626152443286139012375636284174988724094069053781784910766411553189729080414233715317678188160692438317420262027103444135466453864150522321007849584544035823480207201084325294985817287317289744821607178477371908075854245884337855609663622495659920645859444779478826949242139219854140058811281069641443714373038798874803917820812360934268540337323305617785076797952169401417370598840294156121828353560781864948745117449469239176356184823906000810003526856311444925535381540534963719918251590532696037811096796220651325041855073169579976851400156853344124622975865775471267046570636809916719696524038784783008865557495783658678619473729936484506468690607948642052032336641431713168918532881894356919957029521958970337748303471790014230119735573121445369852147093089775498890355143503240671517642977828617975639994618664656034166974948828821090520529807563438525437037861366805510910437065827349548137821863842453435897048293774682930843237527894347279948287788227458522267056513596000161427346084343045907913650093549939858246506811679588974469333671084131949071803482794851460597852963080980023506527352603340499057749738132824987269958594348273413606356756169460663504081126501757045321079934893225499471679755768076730297657418008046408434496157195976461426142652585158150869083393655713878400299489511891315426351321718745830898522230150169137630504006946917641554909389029801302604175132735261120093408791179691711312582573810757980064660112685686209992085072549420291741443617846129011995572072477740177440433069799020422731488158112316563584680146041137106159925989605826498139150566988821067483443707730661364906645743609802284569315522100465208279961160993421603187872742281428985904491269826645055624335092609035705845536043675219929753450852674112075434008269187907866914772372433678287813751715080793801825054610632117913200283585819050215092641882294162274577019534108988761862097181975525739496589684740844381255257367838694579654499095014133435622339286939754294121566296134460850602564324847048950219840340859428594061822977054373535431309969035932858678125345695886357971275453713869273218970299787945149417671217362243300357781294291245378689948148123654764438527217271092060028670796354080773705041261067173977419348031793955872245807733526231269614475615959722105243732310960147933900655460446117135017923777458364756661095786025262668319664369120922547030334969008600070739188742191255883845196297520985792344364225721393181288972311856791475802210907545232224723610946064935182228114360637817016612802580431351229351309445181892435835156397967801632666075769401068012398764057621688674125773311402303512502019437702938624
7150656012390808653957172206829101811581918842890872686798314791816230352194775499416127232871560950438996744928272873580160680986165010855159470917425198021089348588007622580795454946499110323898428953116384556911572231216840673632893531109404653335840323824406449897216807016905674351919717749662960623492382077515248318000129201386054629427290208973301543511014421883761056788420729490483085886200679428599883996732292687353508789880127533482783414188420992394015520114638913145782661644539145105441974478430954638632099819409306699500722807625139550321947361211933867937434678866045628955539461856204658932008039407669322968757750658917515091147146558556697568677104240979265645269167846374144934546162436839860696557331618650508274187940431914554320975300038647562353277510639445611515971918547757348948187883776674035053963687483257149314827707159535670768945407794797154336936111486840046728350137240102789384038808070641668923871527944765499264167487251041686046391712765943245712861937466836679361744187788464696097133731676534657544720109758261857683361227315614617546185295611369012448232300564370796241330556115457065774276930634727788198453389607828062003979056612720869821985047500517200677103821954323123539989542697853262904830047511681931225955233424979707990218220047409508214798757341247046429786855303728068333993422114568850044937315277980378285144873417859609983588121360699492207493474799864241696326601106363265169591307846607615101451749995201013241837834875692082749731890792742567270814536187248921287328705112947566501948114278664373128836786419904751869941880398848593709478175276860041414518460218458342608758265658300181373595820872357418425733692738175848513121519895042447864619651383511876299617978974303524702084278123431652270443815272304052352921669439405604009223374541682880530072863615759422705342424434720612681106124941399030050513339929039907792951388546338819194491824562875389195172214459054002117765021505182785019535478014635430421052882338224595698666372903080651469275600895163711173715895185283721266527327661113155408277040583373876019650012435293028081759954878938685946083058483905665601266369016991768054491896453033378585696425111402771062376150147461555490201975951338485158261856104022121499991186376395921364119945927122300213971349047907034942053193046032457302289229361762738939090197269104888348598491152772053070986028242636788311996247815651776014767050715649805847096963461374818305990403747884410458492019620946603531584441015782957038601384205379805818917289862453846954177904337183787335174249808548451362386874197069806619261516679443437025708937522974255715919502116959157125919183848826438466796935402240567784365185139464135609210920609299936540043234681191390465425449312823903131665823987065399654234164207950692977143480651558745855738025826655021125234917675713333793574310974622188844656377456937630588907191765016939721745043786334738833979844139528666519740081102746174754607511901165623673327105256317783037815807957309864639660930886017049873219213229171455732558855737135148086824940944517161105551153881923072548340142982588917238598860826336568583184586185697372147473187111343392862026069218584537588131567304794245277157567523691521096135037947682830762835590057943939525362600146115655031715244314514550146306691007102473172763239801382241653527573039585568549252170440724572149761515281682824684115523817525096138084433856321228894973666271799749501114657874601139125479247560663434767708652211077652954277711642025548320704849570673206138229962949922879846436430298383801218608106015517803100313011478307913094129125007387897671843446796068944464265775788317340458033195825443794079217218329050179558906155181103534576353098915949440795629371315525154722607688293810176
7677958429541073484934958903242785035449673863785615071674603244690939451169780648013583390039582612651541965629346464447683139815166937520598730113751085506725667619859129195806899165163777133559929894853597238423663374254520244423971806491212896026912873875968837230002186889788297614580295638088282725108887582016132116782390760931925625964902664360333966631531989443775113096166456162521899280597773959704117208839741989820818260845920879154424935747622636053040351252201075702530253021782301304917938002631901891746091725042619578097325996777818449017227546859688721926516229966482085301948156677459616198952204216254738433319042206643294519515863398179991254807719174747212240131853254327926168459957067132716820227379772782669172853651278167281368751100122444704094361926652177737257955092954248406969031739821065987052282908228038500966343452531217690124510924722009314207751290919346983770343908870838295020705666264556706440721931557079478432177855602430245875487986283787985732208556995815155607982360017384608946942054222288901191283132221316286138560698668746663125103403551730558563243655983703728168498615510345224398160083780854093043693016536491947974537567505142168365524780203931979998407492822606155355205708517318843395783753625200018142399728480083478820404285751738851825501001500523994068132025945049050092938738265299094020833474872241718416101448487941691799706519494570834678747830099704265831390578771666910349792640221761972851322747087839127204939109931636430194056055930768210143807102051410662285088751915534446072163067778933528287173798048806958179098805433449536509450022009967405861140591556638899260745018543019797487615602142262325640378503778944490015226788705755166527581609542776165583614179247062315743245029393976799448200083500002809856017605072992430724685219003821740169934523431688757680821389357119079590608420932149687638269005751739341162395438281078552243899862459229823079134105547383817548428876994374189040275899796146545755326409882302662307148585608417993927728263663869116014274886154039360830228642948689293358478854253313889711288864193894217946992155081869323831910388872007544026637807778161828023815060290699190255488219809397014599170185233433239561926683786394320295229014042758246475750152443715307151670718894569669702825186610440363081111929806271006666962156510453479163694533316248501662740491734025326920665339443764339651624732210733953726935423970522327875507758651877950955542726246749843026865897437238994682608319306307205078741488685609303312770064522047902744395827423505230836498098347262464958224567294020269614693134452392019376813849469020419237453832040235586705887062142430240298762304856411960939579912573745915351617485095748905223590271845442502091442130881171084339394174006334554632026360799760492379342031224513396218292588717271670201768272933610275528633320145434046760933791383844692922771402252487068247724575778098928750161151025613220889193446689170609090035022232859284489095826146558643882660606612115608191382630671089883225969366764535488887013001946544358441257522458458139364776352494480760545739073298545824237958184027992774388409713299715899081634656920027145742020451898313216088076949829828536868598552088291697075098514996254179276770397880932991315708532542272889948708704278872482748634813265370606499433868224485565874267472309817832578151059324982485981704530583557989965794426370544839893082135874893710243610528854649542792069942779410190397069852149934307097584504525704152088765138701054547308473762143660265266791036549302613665645492568635486972521690494287458205402947915651275039323690376956694721690536005258024458815436915722899034237559138161205064099096500840571987107410508985159548860443698063975251679092384305259149734993265019186288001024
8244145088731607726632099294132947518803637474706293872021779222430767642572599206678007005997204866707152146587399780664006447119184370357861718044422818033971582617765280005757353061387031318118130738612229711746387196234043207492721316826449974952259782284664729054501655675030173654534295632900156566286107550924951296498905266723793761455896346812724786580096294259707835381684058047562304573493341621832401312129373487839594832573206867742955808180735132899279707499139067039596915294790039934060166921264895137832499073718568823524333265302832904188608913588167640353606330729813933135437404504293267983802886643981853294034890752894155974754166762096622090241289155972846409634302113802403338259525572224773808626426851968368753248450808479268074004022847480399913420443239663537175549460018784233048022451829364826561878633244798667969827381331327099535359147418936973982419986050094267242467465818263691304582619862040384525093314666901679284735310966962071039114947282441493429387591537094525549358808204891221720216280522947386220084123291749320759324081323294413857862068718243248308236062532370555359243882759552772114969710602847090142600651271955026779493073289494481240113676213369016175421578438612041684725945358598270497359201527088879845053376195309582220886266200489285930779175064999370346481261811052290816259410345240845119477229309578989700999160268484554158662720906792046125161149127298560254378196506705307839430827533490465223217767270787072663599341706931815861414423453349075681026740060835826295039204483669450060354008022387715437825589721933624299117270022333215943611459869822548549889389498464451001584607809295899822462994055091057019581982697994749503699399878580151804749223739316286057475913337003637547815833540422263253192551174245321059925520647186545704517148879003018260919565150112226072499168426527227904821059161446185845745214438539091352268758109204709373644331190322555868186750831056418682533230718210979478626654110355620210623637062395285945733770550202886554379870002795747526435126296430568265643857416770380260004170831383413983134138430440267241456891911297237100922130351978682864922384311084868589465498275205318780250947148654882795867623578964472429452118403074263857039420035992853561913540453192931237755162353246500841789053824234612897935383458345397336900106470507793784371362781817435012618008433149277389991504867926667483691064527465027853491240064321966565773745701019212084386989790117850523380669717657923674430157849528713085589949685761495890422971572501403308142181515703727031922513891920984530980130687892068589052383387188648048703446037327416445268366730672200259289325642814394011151342158967837034681289120694473662195359797002244140780946319981278282788888402795367354638935452535052244819633461216929850532812526873967567864186374965103465973113405064528151257305400134298640786341103724884711616456589623173196724269845602163008644074596181410516077473336876810851525184996190880862656660477392769605534441716639473638284526938694395282999352037877314350273070621798089929625649018265806789181162079490721761289107991650289864848630553944628630631530017754008161714321422924169598550873466599095165717888762636582784540257643041335861471744471769315624262447849878724917105039584303449959277750577073144289927677905458431058688376634734772963508110381813292660190540987138903266049853297853340555645804980142516260585977556124208243101853597996030958323233095539527481137067302880784383136531883565831148164089936483300350494908020275923263888054211298854325317517328025112973003677830899676953793127949928398208649091031764728959479168493823424773045100113245239887590075198317080331563800793564573298640015443834493602924429937808518055428767719388437932229140785009416479874008823627776
8852083384895318326846443673031423567336491999925889846424687790018114162256082724599396223304217692479814419722270015907370213677512571220341973872792269663016741084165986557252630777545694977461285946747962759397560013494587484508045053452914287549993731552178793403446403175526849914856400463425448521369622027590330092213899355095212817625475038981631698752523317094059420869821176679711427666386282684881440807185786812810128374948129755699648132627376663260155001416312060272755072053401355175830603355783432892464998961892886551240551708670139714910694174898817506971057266535777663745458597750265669395849313961574313778837431916653304315273036970733801067414374418445704598352586724641248136006471973295272367261966502635094255417597496270803967966046475591278407285508803044795553166285402784456655424707020214325633995212526897160258692829395842708195726083444694278584924179755482773880870467008360108414355481809365870841635069460644961543854708154873057896356858840712572328154647740006839523783128752386066131453446723205200335985591976723799822877704087198477624751694405939847514170304006085619155327501935084346954983914767453174162808443400336910500181738309227484324693440664688260613282669601634365666921669509465641047079856230879999254944449533309891058532390366662915567772369175507742474682302038820830100428828121263374757888978125333605073628052969150934898149295347261825595122664557881564280109948702940185469991955877639473215386412578542413317433695569600241406667254258707415430459694065695731090582557573804213520881422659669218409403807301904662561864899103680588023079250067926065836286788078327664817600083679478023631092691409214628050293961819681323474525288373332030729028323360437569504259956022540212475226660321773378675691143721047512858350041843859742053027608476620256128985081801568335427785613344782555676186262457623138067853449190508099843887682870392255832246761699557032286248745409972034843090908091984687122207152599470340933606288236890316140373743808972330978964916805684791048477940727199723058908951997078956289550472636097223373597555034969429670889371538207141570904600326099352948499306548613250218052991303087812961608107169124292999741121804222720657597628934780927281314782109349112234533941856509164611133805690591030135480114076467848656963064468703214958527862827437240704246769766714366705449923390257087169011437781392459042179933878221997103618488874686945703600917680324527442532528339110517995934114948979583974235419849960877928894020691657775426351265627757805030644220032010804506854586292976576794170390032575604441942212569707237187908878983205512219150052262892885052502593459445499918988318469818223294953438639125840296765605472769459355815446086062785389213328840549944442120065414223252421287927783658499517391149494455702954435335262530978131902692722512837294830366993665251667518646690999730904440768086958805460918628329085064887246816423695891162425807546049473347019645319747429469635656106744423200658311943646159574771544186130856169744720447968504598683581747530295240752276014056536698646964437672000575043059406287559009611282054894635940856921313173941106870022451572873278433362632819315519987508149422507448199255243069144875293282233579501465627259409033660271286614002842188128767617627243570531282129702291435321134308575379096878063083880161541288398803667077286534247926754969461172712300137326509189591246849935869729504019700093221025950456285581778501694240239805973878099734585694131161105724179699623063880241840403298828651192660650913252376720434945291121439031792858582693376596923621498961953207580389102011816784468561296849736231829858550436218522307738143565567840236454672395463426902051018715320409135582724739573018153088461509862506012448802708275577524474182499303424
9504852159897593149328728597394020350508471741761832828523124146284578893621078219806245370109382012016347018214091780300888708277362096005059896929932315601067460914248123924743920199880452768446920061846724401559609230039142979743240038368709685229590760505402808803135708831929591988552156131672886383353520934095419357975840491692357504465356917222608322714752911099105742129145456801899612136149670658644215476055699039261893806990960749273614582085513330743992617743473494950465968571870596510568192762259424182936963841500974498154099454433792431823048760462031325378235744578580069928507386464852556341680220402249469588437236745663134951108341774975146176578657351880830100400293864834479519192189292410945042200661798366306912224013017343646250510300312770150755530557110949375530963856263690357168044664410550534877175975905898205916589150491212967515178673842282237810140627672355947627425413953288406057667802822387330440845654625039617224508410325201071674091816566537242871364698018432421642742188047013859000171447655661174935046582366807178366027582915520748414824071898524448304147088070128879812010691245140996293293274533065707060163610979278516494989892023640595049727743220138145342293492285648237172283449884218822683220794703002855525122694260572111182429859595380667754897899295311059530887648811682396921228553089107829196931269761791805720253039892664740568844078610483626020076895346119904406098503240841428909447459969384128784688151506900674136823147279963282158835223348816268126627537064582110130215624591881550844796680854308157811567622804891631053281329605161959697293668064487057828198661218325001690910541152555364461564569586799245130204202300450983366270800672107527632610921672698045317630860949802112856497429067329374533879313119683703647188227559902282632187369048044095171283621002405190542874344753785562215129790814990990973580798298507490613150075856388536372791275925375707839063618014215000481411985452503997730668018938001625307952278829348352140501543719154658230885495402944241109451576500187317049567757567272001198358196628345120866502072185188459199060473497648221880169330884136914040141423476243135959700616610433645121567930964962994848252463653872274981131357550506849899450295260255083223489190518918096682275063230276792335709384804194663294283471143254980944233791787154260079304971115419938593314671481714908605781337480254852231795575138601481046962033244430068508773412718145507008082932158168218130539121169143005435256708715102799396012008080154361370072785619857170603840300712228619618897463988986067956248587160369148931393533427193176004145910465222352057044464846453933912896470465875481111606369308475508029162595199447057525781802520795861620207142087822716162334469634363902508380661464867390598046116007605754664906692579633544377497585774841531315853309874382459780366384026367523770900513252005615444843400025652138388467928697649869823190751004972382998048566859168125505868258929458668138037942003492495669302773867131612592410262237712741006383349748171799222342897064446286707063867979484515353928129927369068211175783485447560679487651524601034522951666813831862753359196838072808622905898655816854108862895457575787694083053840134626976517661400430447952713286821976964457087623746195712265534088623211063514531523005142982741292778238706392973324161272549650757656641488905454392254007342099310303885284176688416460784467207084395046384032728110028114439194265712843749573160605383463797967162667959100699020898137551577040723239391275754979892995067222724622872752134956230228944951502057964755241019899682136981021743710017621023890223709087877535241235483879177607381271805295443586466676371231431231227349327098930176446272849666858164759057492882315894953561195017744126599958505782313357710937215205376
10205757295018781321370133419766817057848085775451807354881498547010046564308598492581430830292802921095222365154160130683683510446738674872936126958797524750033831829113488171532575608330081937538045594389494667355923259389464974466301610467848321944886641958618373779002192920728989541363779243955229196606772804597799371477887917482808793704720481109620474469319422472863644322622286347784896199961883710011921292309074612012113470012778146437457596441496807729369910418411994563768118744287009389225526572932032483376445232195303255425467381281145172983076021299440598056764338285802675615083070740243695737378487079433359178921127892808158611961221719077211010306193624479532342637914664563383497028064337386597487176295573384958604075219633842310359833690788621592164998358480046952854278099502648709076827752477652416163194548338179191979206026307045507712200696937313218349062163253420349582720236402158943918412875788582520222044337299564074670905478005921831866094080663627116524630128219520814035415073355351658716122906518510153900739998875501776755031796514022486312778307599428784030688601108708823324425136725058524497137959564066720610629753391316940505344533523026903649140037708594765711811318750121867203752233723693707483014070299131824368753719559141029944553034194007940169482055323115611708067888374127289378891930914779475054593436796662378982318132795894602758877438538820074124931226229199897479709843593490987171996446499693498597921959070207878434502111725808413238254390434005367979158114616352000728986602262586151996040729009650719626672467609868336049485336035391802420786591011212883096843509130922349540401368677971859297945118841904747787928577670551234902293269591609162644370052919163930180587619994930893097589399738064861420786723464996310257207339931496546215248386751408010381643667636447257680573449138734540477738941986426873191540182176415529448626640835776989097611248583400200420407267658622472545072183355233107890619339392956408073125241575181084358736431827820866466927604969100964419158319390986666150469182421872441270855315853069940180698395487903921964148771899668461471969726772392702747192661261337725472848930573211719543801051934225446180865203536202521201269549439877397135529976630084847765661083072066623638234374862592735027413815173573860616669783078409968536146833875975234986923304337738319391153689562737348614364950251208409020218651644451007068466443234622979601055324174686354592263750318779799034314946067512623172894452323991176170980031881887682179057091844226408983646665891456857134597147852508216517930310174997750486922143443919372003044661465068536863301075733335326931608913321191268845653770551300110650559690162027927339165879664687146387732812003205931440779293523274509759106826727613223898866487438122200886793420880262987191479202305474799146037453060956633238177240572756329068130075221744681185988723737905373862733974325316515737315394484008879589951256619949134203331907046621237659147543628036246670269261220353431353035963531440000116233653601831928362360243847422801438869711288786898095882795793122250822248302944293541260343750333501495680961092588524092742109566140087330175561907803055937140792339934538740896881492237796358775325678920312583569883430341264709102136434849065897148973744652464296075072928017040187669436227824056109791637868268057623135089224198011418362687629314815105434835779318635758570274338289802984059040955905956557660289221187956849507893684689869384637867228735199111141966374180332833225782693343177078839087387848302730950813100997287796806191289821411258830020206266704994782220140474854847470332636381164063000978548468473950759769522651657702455421830802063738096348619825164377916106062847602970078177682912928324886391629192833972290860726364323015691648106190204100960845824
10958348453254772370265097237263779802368117135442078053327075553719917144285647844308036008248428662569312140046221939908376699545804239609409405196234827071786470649901573092303812609106251773681555145914940170565022297740869248067560117757884950560441810409881825181379587526703432639820867772937828771902610841962436683516720948185552602795746286796801432204432468724639199958259698206120852805397741745264087430148382945653979027386489710263094821525748691621510945983382298226378464133539323041092142849780509586727873982253488441713679242029320274847643568240724197937120996129150798219019618288150296065553801695031207971221914215761108710088550425910380147039055140845824108251027463484635559710412380814836579034492218529491305704220162842454454141923484026546817029446391371482763394572763227517715398387079175024569075595999492694434598848758719027501904443383541908729432275861113340399667665516165341980870348434318033637734771740905163942010247685670390549321181927366110553016894799782151268351381461669090191275307853366582411901281342339226688188642366963346030497614509443723923213650530473434241261990058613726600305595481959245446155985195062837460308121173444053525299880120655324212252943738601253913642703082553193490133976860654030714153267446216565365902993800208455548062531217911066278296569978663830105867248999317302102881656404476979920653535656538090478072493049120561198718858725897739980476650450829727093620066186099312625474166941698351449432561976321313504989015760617075439732427972562857488791403984991781801370013145112077294855894422000947549619338975894522485943009747121725548703518136797218397876127296381972823246951357203571524070396169703354049440837074218157392878563952399602947112800485175967908554652077814886532262767968288738328843718324233136582861099403514271635397007806008647341736944644196054544369242964336174063301056579396700372094083626000068730897216096857547321373666398625502997935728367510437211662401969468066356925822269375570649647526646056031105459282235473933175586154407652592072083838389450052585501064884171433569193984765055327106538764946909958816186499297370573492060458982162910029228073190129717281137389396973958609456037543093345148049837131232134736676332313464677714663255903616339914839293804460072677483999907272073697264777688296254635784911337814638593687644947710255097751932095423363134112094284401775305507627895533423808332051641536538069151936104239021007808055556367202869458768780992631148688356597843324461733435300436232426073056396955188251070757205811471797009755040349855378949419952187843803724670447463628203483708354965203056612135719073611543182077844153810863206654064230466381333788335450722240095438269725684951719240784971430672841306609112158561449164741359374195689293754282419115079985247173265466667515941545516021099897221985958558059456727878185481158207237853338438942015469770614070773903218834524985109736536539233203110634354196258146706388749637540761270573780287217037848843113874759305667623419845867071364935228615184501238021173816536516161788297575434708775320045126612252866392584310317384300757350094504279203285629034740808857887155106009421998083109373114719583711886539668249280929387253304011976600677934784132479065962006511218157377851693181100935468311247259362524846662037434189482764315481558406017504621615913202175301993117717525579308642725441532352882826053436598870000175686096704197559685165366686920120725896234423899267396981227382821137651957906600753697559057081274939712977935614587673494323632009635307313347924017995621210025754759310282002233668051567371536403006870058036750874639860249921620417411626385281113071600258058133915294827301107831654790954560243465042899443847119559927847021292744778740707845197136754254856393083393930859106815442297978747644542976
11766437056225358021553248871076971694129101612455231935329783373637033819634142693368978601354346837281053743678573790066038790249411815785140302298160261152384583934147780512599616113055945789276068217531294007593358152576952025765570476071006177196918611755368698594703649147290192469742393595777082104142389315810922504043754685403764742173852117426424687180999659853217048305082492217529732455703288267040804598942997294716996313723715414455126953550011863107294680776162382586903576993065092297867504415591882363302673601347004309768563635087499813395090127064663671373941335692411317650746076432502256483567762602157100983943157678802862414632767335832988439615103266168372080776631678516085981858719101568305234634415833637662592378990962148034070227273276607099243738592029981433763951848990488634998724177029051423296044044442382388796880816574487104493401040512349020659582134367583008791472048165149275784123501035380189634274689037303166142113113576703503811220487844525923060982009325134201905523525803572354986400457940635358739601201136460489690925152111186900507929668231018969350663861062289112865756705267405769711249449050205079299019221331863766889246769630786838394209123427733787894975838959255089585921854492151088555121382318732452771966952003260396794999907970096518640399581935976769775443050661834142020700013042389134714707185403884394186013902647900246795402590690790032977416013831543755364114723044484333482925828629662999383622860876859689543106762861448291972922738882769725948203899283208264554666941670365944416413043613336618559007553893830723151656599537651276605665461645924260340692316399421726800661870649273368099951611152723038427569807087659892915964390580157827692948513868750198845308673926700928743096937325718346199504859325559124051871365924404311475722404012174726035822646125765963156489378270446102620074519870025490487910367952688613877113780052189847623238941968361983529018074744427658681920977212099199190687861562917833879838567436219144570393400218024805245376586065248578512407989702818533769807240113209321820051829362672583809281179411458718388291575800802362343056972479733397985291046745784786479931244619175381430052781285705078397817829399333527021528582164192119719572604755889702808914675939727777016363547996472857771894233791250147275963506205985723904996146371543370217486966772418793932165457867664023983835876737393536965373917622463339932923483527245636549016638005697060548898139814987055222830692283697284300151851220930725673765477021276388200859628732921531878968084795229153127445812122818447312729361383204168196438425640058492320866440163344376586537089867533651248643779028491700612810527223863834128664021440136782360197441821814660939708369536350415758546171821011344154347642232663702688377955212995012511758449265192912906215789768624159751517026129347736044519170967440994528349131072142645459918912320747716013952835933790854011685301348903078907069375005271752276419377448488892355881014448372171666103693841381723764428527508570419108068923722015125200455843113324388960226164045740502041793320951438010951333509601777433970238004161671879597127541178112749955470303110709697470137407482361879695567063321743584434337791808684564999846273057245331667454329927861186055260764813534237763680777850812831982918506100216386142895184972667279961239767988342300469129389529841053462632293518698979922153939417304891735139030327521509926605476192698326568042447370524026785049188567098355183789114608168359804714914991806298168270012902965058561929545711510280330600449434739481696027142066141002238503179032750807900475572383046995740647366743169398887855936564027201073738269102250303686211408244929364056520381700177888216936039243087084991733423003769035838616691524064753083258091049264367424383431187239023844398452009087278696628224
12634115586732606477115616755956128431250551656839021856584051641133902207443651388254279788435185243390789847379460291064101571097156858008288540285537990654077765102932933733150366786932481445822405127440480404793562233033246768506018639377030526218686597365757428221583332974867415919772262509655602835899607059676931968614588531713984530728641697671711429412355992914172845714995383664116179701218847946650192612496642387256493185698978421173963981256353013114464898242094332399047685272658147554640605501525681808366043416786981264506758535398922449234503705678803736447592355855366031172555487069478385760781875444039151945051320838357391625508831889344933566523234838963985329123775835066043775501811958421593323225105630384584387037586254976345060579976502570563273320896385464127375840843783219825594800335516072576239690424263900729052239973499299215443223029203227531967633404033661666331163232641863236612723798242995013351371997523946705654407577786168784089450838284351093042782485923954606998821106271238846159073122903613093811953734740853959104667169075343273356290928430089161529181909787904889663819471854054678917880936742162269420593540123935110379170632409468866412591335226736009600780477760040821573271136763864903508761557592317133207365651111701272401626955263643573380992647196773148000312291625762198838781477760958698826351412881473006098425563118514840764145732542654310010190821498291020620474326867039441373381052089525769463482086366017562442089182181586948304690620259060887711604584340264334554802629661640335905161956986775611537541022547740103024098785809195238418495761521496757464065829233500197480172361398202850538265457270863577848040896549632061311232283460587084114904249219521135108524429385077097531106932892930499158519815549089263679298631061041331517406305801697408540404497391586478676765702460734763520969993981165413082983528434031017968443862048773142181258646336939146486705824505050088069175265895581829007948508289226885712266860224512947954733905947663952061415423088592991705320161495677590390998422127563343704865451034412817654170441710130930782946536844187789205742907366306741786444333703688220946411913991983559432600601793986036004935913758961205688449387081113514114120257131020084236861967603892217357015473872844311870486290526099368376361686511050430903710964917951960032431732398444348688603471000620719731583680804648105387012015149969529992709298854978683484182190298584884185212329835151223211350953975879847508291612206938784362592572245055395874923096123649974488597338605816017377038970769916391638417922909956806523646585450444773011297124721376248856171228718017501073098648820305626584861093267753209584945157064307575500929426181889157027344018734026929719739710119310122196980974900999756503212649231791573237278338761419698015793283043763043262061278403181498030712559837547938077243615706217519724318651807375725636655727505521334821024692784360852344892597212700500904958694530484929321943337580765489435603299198382778755081633444686577445542379274993389488325822615958768105838704834996626093030884669414465301816817832134015593242916302673154888128111225221893014842602039926304496073525440742492532386743285412455210823868808789223863581496952088658840097373653439458333779058406519272342824279363270570095944453583401469251760600553369155330700237781139472442079046405778035175048314684071220808552948918722451615810707317464263467827470135536476650917557549050472356003571661756134282441579150719739955802876623307039649886102578933236988553047371768426196930249591276940041106797075605368384758486484424408212530251558016907884282934507607649902830004775486859666530487564453083584586561138519094113208233739925226818521010468207906029866870537830523416077655993894627869727166545995195736463647478364514986663886043013839202913931887640576
13565778314725099079012336594425296205749225937020553402664426018461309584458172618844282555840729909016310635525903313062739321871126885931928744364491042906204412539466756016304004100069901992483506461604893881279297855554631437857758208822690980925732369939861976120191964116433485327862906811724424600838416765140785782704139043052055596332355785500479983418870371968995026809289727407087910140298500817414832505693469990768501349055991804887972306544498295889421460622440762050215757447641896683780943415672620367758573918004045482405313370126807558275603412670317882111253096584597802498860587427190136655357558605423408936892553010587074847856178080974595132877483514369535877602603386910937003971162087540613775865946482161813461219659821975629822200534467747257297802989822243259215103681137493516127122797172839749327984257344454626167481940430849202311775263815478796861945000210432835005302597458610570439089632733641460858806521523886019408154706211542752200069122257768173300150976471241345012117340497377837414498569135901699539930316144256697366666733035875479759714423367177392782974413043468449366148266515289332737019823232357932871647530935291271476172006450576615493068156852950976515223542013657666070542700035385758783081634830255646996527764459625751971643787512351051367984891931651686848077272579865828771403905868467229266473225332329921374886587671101253293163392662165796631803751263633413363849715475387135260195235917646410998722756805973229112602732846325469087272214352655390098517492356277263227020003532886197106781290710389989011034742025235585299043746230950611271590514312360943569551657937251023946720475162093519058956533886211120133721427087797236041202383730655807808378714142319200017977458756491881083676654863500790871699531887822667521827063156185574642888534540616357742247102727045307868127511780830633363214983586605572289436197182712328906013686877854050647915997533595957725638703755476378774756888178407026620250741788553595814528957672221582248533053606889140425472756408877552507287340708343424022355518956371825345201147068273105596968371288721664897698762565561400580301900630561237069273757345462865886315334785083548483172975233772238530469561042653701341154820616156860595945229047210512229121817131232138964326254112452195495840801356487855405682515758091485834536579839801747909598347500985529723393098964937596736783451835816644356394507057043916678794389254305923085424460159517638163858640864484893726787110826201279468394890814979115777832825891257555747782001091535253144939973556154507506837520193572710685333209019628409197915383792932432184416147304286025237103208780005293266150900516250411726691641071951451641593295886196101415385675763815019232362784550964246382393125148739308229449239283497697971315411846016082635624828257376687377007060542358401895996587072403909098549712019677866718498612820749047769545886348872508298426282111825448121641767179319260270999654415262351807403999309821711614654522518618883942837417021689262710669802363797168774693934992031199617137395481960019174756275979326896334976975793270724985157500492951303715533091025911609405413194092644630210489954587256591015193388044853247846031320808698522250388325437486048462826323709986117152679878324253627864883926986418536976536895035003700540339252593324829718665342449510006190125396512354409938355689639920751627992536697000616376882398172567872947712336113784225310761633100636463657689629516342423655596852386608742667617752370734184492949460129956661665709025175354877858313216205721036050301269396912956088876647270758374153642511077265211664242811963083916494509939030271179883018112089559971186372477469065171530538432442761008771943871387725654667732466762456651031729852048462007215653933272528950592642082189448661365307500153112114858655816674753822162979511340046955130650624
14566143551632573943679426413400165779701453144204558136066307252975704226644800319464716723479807185998527427540182622615628745902426875435989109811958333241770186836975506592309235100912535092910474517999424723411272732862518491733131951692249106447545083435070168547539362780521838910616755581963008256254713546674446943114009908436328702955311411340238130271667629217547191533135652050549363162392208172156493219317796852777033800281841318709463500090576737393199101433483719175748646995372594644062501399585109580536641950356490235656841085331545458919832703021251833397953870852394214761518325065782604527132884349174227404196910761604457057961615142334481475637391517249075663250460107810327224193090823275506309777828555242809048997750801907628048838397573173809221940293484388912921330234933686682794510248108346995703132590724320106586310188205279368359190588447313402775870300713630536088084660667146278408948583150910288344559520884152634047411434721766044601282232259134996568452208951611765337524175287683546362619137669373194748704738489630833354700734730061995074070846665381275458355382406623204108859683542564892020790577321669582662472377751556075806104102743981900971273662095605681306037289769485415278167431405879969179370094923540628792351843477520929279404396681780240424177793067134565568931301552850320660278908927932306836809143015498935946847312439104171799687267967102118265846016291856046132645969156423209720416747210323971132822234563154109122535959753798220875423282623539177807813711938535206467108584677887669265858865856448402552048400029545911388702817533814034600672558218852545294731468055767991998419321818692990812942752231698136581465169029134412369039186660102291792362003005948413417523949356080364235978068019353810216021205349176874413432150605885895799543283706328410046396925940853003000964785964130572502493710980411929158623078294589197306831060717191873548481704990502824927354193335400856934522346269246798177644586825394560291651088711789995855705902304150924606239253528775873021830482504286120128169431700681260168365709299979816933833427857861231095571842719688817843088021253725572834458418567450695741039604211306257340714583735017429800269466050418327078402823354785071366403957241249597512871565844683644258977143021791921504508686462136944097145804435001894758845469431910356598840316753094044482802321551624607166330311467205912240794344071011207142792709638884441707747367665895799762233587919992946610646550038215508807528080415956522297197397239553313562405129806395053672149583576697107316213411404283595447893969900509059894388041191483308042451298381556759755797231871695698321251785379561258728168872170150466925092179791015898355445197158111331949152296113471370869416195682267616118787036703675271319521309994852515702510530472762385759265336847630339713532433700897793420206963538683636502749595071620867598335331659935067403807372484290028635749004965705597601713903235213451068211666923822705743921132138990914405626559888317276504169777851823083566175710800081005741813208683409110083777778525489847962977092986270355171365387506582431994694478290520362745743918498702270226016987772198059192675760192020520154521741566261106347236545263551867651027533015574940446196179039982153822257693310679863120598170878181417264933654658353332886609131647321501952836534039898662661653765754746411068491675811424377157637977647307294662676900406115745627604162754696172048717374422761751784541312090256024526274511165332447476612068459754942937889286945047466398882446332037264483820240751756697440102317351508718527006566088042953304110152496130745161878787920492167902223974300080574819043027901032940854073208153190981154867012489477955654525172805539579199741093213765732022437415664819524502149390309256519208743605535282881484830598784559783760249245780890701847630959320498176
15640277545775798124101220588398072046199020474508737282133876934754562084002097295137827638312511795062366101361023522500408860532104359257259742013628437747018153403154871091750142469298649495125702377662223133466315486345265346547262023042715442219357218209804428344222346103755230983719808103539141985597995532203729794890461239038496569374790265300481574592250015717804814242866431472186213404025417806159019042753923228362271738024276011629664664648680031220542608368349823302072128790343489332728301022793068404245288826610695275872366385042033265799498236316889254356063107156910198925080411365558333772434320731463387826773176216330398887945378364916245757745104330333149964972558804999497399741946268781503799584354667665698551154550317937759220673302091456819382994191545023066885526294964045257828286850990549052791201750478176952405859114913319955411565189603051620996209639875682153481317848211162701853636269594674080267453280430716141976472056396606005231446136804715251877643615696532744653373183617493055806187238298419883066181447543299216092916405883196914223911846003710808366100944345505108860571291167056408796766720415382532413321867236572839674328489614206531371882753541695306630307181729103809342176965175144442431720628894255655297606785665315825602642682526714262920215197228199622887431893460051535704752760021007919691483119561338687753627000307861602354205569736573000461033218436351227319895428868265598521134808189760172395079892407596936322326800931633892610731872256266462114822216509093368480209767718093558464632039551274229918122703984006280786248136292696663188925264288656923171807584100398057449200167726446409251504393588843627790383535185811093078300297411894702815711006375900532272838238945281355785323457179097027482700443054303734031297567491806626891675543813782547346238159887724419558133403040895159492991841776636333086138729416527014046932670794332350461924098347132405914649959046001959896037072651900652181423974681625524687235411964983200455058096347624816557989817864386242385652654102952266444303759375332918335799543802814091797720392140272331015444828724879791983241077733526063370716232404769977075052896282086062179632266603038347745533292168482250480192838555716721656932757369037350872736578587806716889601245922527729544715981225699029292655369247986223921818774481955670098929237995204956966501301374275915862058980021285792393014446211691159081944072501558161764498333488777578630639459007277592560850244457340790132083265997047834956089403400050539849740821905275391794511791870483195905234733134497869189499768199573696499525462712730420443055526555381003179719514324065473088414629996706638266519964984000200710600148496941349513174326328590077962152261682666860729107411767018954587518193457759233330317698200742370821402298369031466403745187686749011041747952845161067144588223487527662417415331227463601011499078380183626995727072675928986692361368198061785815874311985937591979316343660865861118093153335065125953325338277327028764299600876291319473649932418975478452968987759016336399572344724627499845249708293295538118829703751784632536339207442391736203756723285703917265424372705505640566803638189166703556144936637013817189539745470744743090220898774363656963390059144221006772559547413441994907181411969802196776954953591846404490146874190051114221258262033838878821484809297970148078136040914575490767306137650690963259608159764729061465303718466220332341407610473187150478568643447144756401830729543372427719921639728390143023145161674434654337714749486143802002827563792910367513551592979635820583090623531351785271102061838113579252594905008658427341048223821497639753167730712938001396736684351938955525576532467882840912280972902135265074122461755102839010467159621789488869750578271149019019087395755791137521497835469945405251775603859397886546515436339661512086913024
16793620139867548972828222955212899116969148511312357073255231632114892484397653169506757379759288696851779171431154279556494050653503345267241360631482831604753722596215318640540669327244595909632950780272172323223117032867812306965649226827815308841579227588161421573602601767005434966000621058024099171010973453492283569568829731006495312618229839081182993981074588140864410521116581117316230048091501057547263541017331510377674188769836281006681349528222015915122366579149603142444630546906331822648228836634894842931105768091787683423377873471319115488230054547679709978279146137768211198018680246324936083214428462402512234338826264796021088590042177915307327153490450722214971055171401227420657082174515951446147228635422722280984550844164282269504078569895783860061534737810958445959739003154655969559095002177808346705497258710430593071028354334053770819212677379286483494626835806498088723278176262008976649091589147141087631897693164460655912060070920322599466566517090448486351720480739950099719839169930133912048669275736068021561348380200102419265378215132548185629954649943231554143531687749665141789268379859750237092329943681310878011219343625683560380773038413523177307958610102002378593465326990107398128417334717944073080098703527345170441567572875053268118647453156487101394767432344326807315263267959569407081622354013991322007978602063001882470345917926211878451367382519907093024182648888438194727103149282273759472534991495563225630047532299456885863547031156417475152067362491378546461196104190196826058244543892242095268464645636625333156480442831598970758882227979520713011190269876984547196724540728994809331560975435700500507960802316098862954423506729980982001327936162790297497279471842935067165208196342054239154126161341469536962252902170736222428776323205415552613955148830802788726916121336248853465691434216457915146775975406364896872582148440744171808027107543897946847193623908805334696304635347579444326345696760872323340071757491978410162629180760672485785971710398266408598641388807133868539676792246945050356840713001727068341124446661201499259787732898691276561255502566420022024825852237322061235212435568705621485005481750409906929735765591600679450235204985711046942227134342552798339215281142779606250220165764390928352492048429527487011922027243231831387725205979726236400686124309699736299166540451901473747052614235988728576997741603634965549360656333691155277320793873811303455099499045200320809166235000847471510616172474470990186024286951547320921002395913842068350445396039829554407753724592520998532636073503988979387646882754187456901822885467611149666813329216855235369141831118716188169377238080948899765201345334336506327365899581776663047297313182031533659383572424872024223625762202637995341374952676519266148936919765546631399856882088556071849752078257992223746162587036229233809616630816417593494531787117740925843695265394257333105327627221232551065527822356122455166634211906525692362038901115428947136272021863904511499913287587314141709879519527381039727003598373027462445363619131799873491474402244578309404398139518311078070773734851820874594738606881908077753948579713054997248521858082865441344488132319071913316442350672991641982298960022253199084105184412904597467180743328983742871084441588323689729835679987350843686494533035544509885092094720724006037166185851284107467896069523894626294967887091754915642182451807447989750688650991063593323563327379901902034149198396961474048220768124142858330937404479151397651296822579032496753292760113082359917387347104955108688810921504475936282511232164059760848624469667850987102649462368216867305849810037103635566148589918055126120261228953650870018646595103763192042687424623659743019454395844433293015411747284294363666677363064399395923033684337918314257365591134233034565367925069551076615460716126691326242200545459504035530800036919115776
18032012320544517152493902554608968606182442874263414917576374030209541633761027655545566849268199326300212425177696286556395832993841073937349506012690167431973109171250251733835338629616465306152223741311665526779907241836952737370944106158288143650680606871023565606873007872450038758306884839975606079838210559968383729914066128916343632818148323066255912035020049750420521089628508325551086836641376064428727720740648351565598812327444324549490588429214646845660519073892735247044629422441322288399553741417750010697039013767797106619752322102335398750398789301645106759868450755129794380977802913761706166674076200337588908681286747581186671605137476351714606978353564525053220340886944986566495150692582644022881563047543824833029792139233696199708168899079210451812233061616500288953015587811222054846871143427683906513985017394737632829487746738365201193499394453158608606066512878217768838246540238963020491569010873909875819217669639800316655251764147556546619652559078025330713335454527870889742161999307427939287393724901604620059353537655503456648819944766286690606198094867326945400430472206123904734027653816133083759950810138188016866808150488724239370065376796158442668922887727428860043286014683114347622301015213263794559014480025486837187519651118112620206877564765201017684090526861194062138787324379108813414419703278156763613018286732097804199142851825045039778837508601030758374323553526623199717546917746492917363376999672270545795330786537917750836484804343676529075255487172361984751713450134875982930790226796904086823142998285383726428046988106328803699164867671914405034415972788765643326825095187913176258202502531548250133130758399391417673008724984726055099417028597590014964231495134389740531533158080067446656283641604907787458284850326099870893543999366596422141676169359777653751925554018589161238160241996755532628936463552209385577538251656603402954520404295629141517560731017010649737740625217764826535876879694569940294286421180322563496641593185590182354443337935434340006634488739665104217968775277703836797925998055934937510771617568989207846739130175465578507770931055704515599056683863656670906136693595024451332363374624683846214404720784361752632534866230371273480696585851265682505053186702920978845113201189439469658258127026217179362317467277925438289116513879446956093527913967787735746186090824594472689448388633718903865706479513367692939147673165574693720137655047194174803696038206279650911019309089022605605597044396637074437427817179653819988030472496898929318539910756208962398888723986767153722733981092371198003590366956395383611684693966935888765981136380818631969211663060110280423314336561120331284680464266544370133733402132337711341038415326373782976943911771118190256448109800850778729551444354799478805900983889999692356338001912719126114227850456527312903020729204839531592860229913554835984509095125782844474858093164593947973890070570118290909272987499410902577980042633315414419678518042636312240500297316316709939745869255839245780560514117573735539489305771617939928176232749820092565704973115403208050714811948597818367118991151086515608629892556598932007858571183305069357942841201765082135795699542633626191566698802465673198828661047597230574402230119368551622396431479738836136745205169068135712923830249898391827875524067613818877204816193410964842933832187080790294790747133017427621757181107326978482603117144521301300037737371244030395237109320405009231216670574891289202265231520298211140834324315269791686252766241414737219154646249815499399919979394995617841642087247336815988091389724324994858605825952190993051799308955868538728549140899293165329827659593640521652919335333174696633008509038104159087977481177270926025080230478819824288694669640065276596377479836278436842896351834436643113708935259309607375273203095275099866248535934219759724279479455482781246202039820798713789415424
19361725799451942520518089077864093557961073888587401790067265510503424336038505814979940663847169409817161260997763134845091140584806295495608520311564907525272202160489373657147519015822043878260607141652091895202578448400818742826470489148449944081055813663119776081707490409330863965215129679833355387670969831556513728489852728519253955712944840711702895839265980095587275081808182011876409785157701169289643620867426391952639324400703754300218002690818229791575372235188376324510791005456211926917990875095919242461858182042195577723815332762397125714020516752140103133015880313867242775376057004135009080756670592865472130569614267014850964853789321628646907624380484890032338505897850087663564000391808551463871547242640705196153904457921650919736517541397383351008731233093205408756938007556853736840307462237006929875771754086097313875776454168502301907635016743030006965979955003177036981589201077873549491166686357627824073740274852068615001187608415015171510526773030706676918340032068625147988251914839844412279007398382003165269357255783072965180408854940931924878422808088168672358606625611784785439117087874975297983154361028055693285509348563829256214226608680354442424328689583796679013118644359537981616539555152141615762957483424977803049718380227405884258351973735665072454771618093059507098870842826903964810074680099426822719779085341077695627182504955185589894281543084886454776949447129838027025435112266697274692833690427751178063754009420578450945144719564262359195253860062460559895564987073154783925899563882281471738535928391776794954768177766995795627679232290760006833528589396943588574278605836043516629115850029589235641956063354265861302162223933014126542772541623036464671881220343846765125215142673371958215740698398215975057263099100713470179398443704144086982277356505700570174032987884130455894492276645877687687085753554658824899945215763532359532993727953606269640619787352978390076826740560223202047676042242676090587158198656591782237239762141361572917752604179441662470959888040635470152151886341727824255203380569600033828141936295956917869672786086777850316149157685930412184367576411154081128522946174050671698211080100303348457590419969211298947494789009794855384365980882510606641580697907406917953017262131627705688450737975954129988629914182059975044555404961438690747112576938687480624939854205429733165886498365430203740044326361302058999152343590160025643301951261457079335895426005184400623281134640466910920186395059454071772467518286820028362515497706402090710136120792169030611330194066583915501536775124904162629440279164589307664390031012939536894645694527132956503806042936236234142881027864487231997097064958726174164326027135301783559312074126610141039443905770815516125537621178917791904888970563356895527297464405442885030133224134278523273577044500790869662308212886214468279823368644439731914027631544947580854342451095713037916845828749447533576685396111546661459566593212693856246301513456717223673748315912964209092381659751230354415203350170981373252664871207710774249602377146240361863348897678804003107826006685504415735931047183607494851414730974646560490570044556395823520844055199725591311999090118263395550667000589818107637898201176724801174307218278038526347270103588145796957105910021489448420674373865592275055929759257315561208815531361097826172051646483866037006490114524928903358373537727279609640319023270843973664756091393832530345693334674179075030663425602290901469751774624387294254296568272085337177297080949102284282175797602351653989140984129625011173291717916122571941405611081291577148270041654932093675810316480213820278606995422840043651982712817726672519917102045510646473373215102094445281111117110208551452338716420668391499102517158401113571658866991928830147560330261653747189350871550429010803849701589843131512167859011338668823189585356300608335889971309705044081100869259493376
20789494775691386962324250391460269841031773198130609581487690751940238004823974168011168011811030539334082238885878248328526118737770338412137676589280752100577100444300600803243127705123446253251578259624943524970433432688985000015881338500428849730290873208442349900444173786577428493505965894820803029998054258784463809909735234211640561526432613677173325524535464288983575097530466571556165905286678181159994725780154876280965869796139356025963921806876074108857280017290124178278632641881346946539478220640848502357693854815311124589903243639463248376529692030865470241592585949177505751483109733547900192628230782550533432098983782040949110090267639517265981244561808715827762566308192310806435108121437228707615305238015201373964571157370524707649165944308021908139347314147267537605340188889021915096127731223174941185451256640085582842476719315140064998502702403931578966384022832549237483527043184058711071999589697675216134088993221921484844528944825736139245385852474824995283277125085584059573175541611627207116669400848186727450093111132151313957900692970027657278788684199792183077988660282882911412846222884444260411375684883819035281967360695977805992027013553778011975201669129235646968688533123017624178221650517209136015625119887185433406117376271700328951895735512933108750678634714673116892882527117377179448001400586175057981660235971180427028447766851470013551601831241500568785095212516983847962851991838888306184512286488544890152324018362565089052934215128899550776855051846507155510325198730465639126921278563765428745940018840919802415606780692690312597595523766800348083685451935221268820851469714570410488721184318081599848959714393868984095514681469731042051803402859435093995297303043347932762048095686526642645021203009134299403924184476292841171796892165648988315165144448329196616506177846876136366103688679657310458033798266193850345763793474008788407980473633464983341754914962879148393675444541108842813792208558752076148244475202083209882824622926991721148216683192383713963160817215587715840269123965607521327333519343768499273090825209312584818800651615978671281260973229754539915914665782171957015984206650778989697662342683909820326160724182666963973292334981872281886225349396336068474677372814292087193091101344700060794852271128447055674324583314808545681735401792353829466976581095486631612187578944832192393372263331870045508526816828035755844705451860373134386125810530236025263837063392063731781588622373644525143086458251122803469196186066043492413699123735539997356515013627667899844921517643327790879681971725692423406927841449255319422459331747250265946972163875310558206909363484576609743468151474209345309274165233829126963745104106932431869428958657929579776589755328039578252136178345272220226007917770181140566457821221275318900077543044941042503797066766808357833753084554624227625967686246105125203439040281471953450929141760141715913415200488223433694931421094974619736705536045663921159497580312976096799666497645314415117571267845433466993946898543500251586341191671292449607220287711740040889572284142028376435498765093129705712352904941156774421828662217186295616471014441745722413253197849710040714824456109924514051006669629920370723345146057815434358937974490227226422389858447404612802656549587653959543968821504498980258863721720830896035937233523194382516413672717789505147000195407966054162339728072622022613204131988734454302203170088324443483920111717695485726057402536292131122735551312426528215033117053409438224405979088164737887709971606203891643717116492498611933230629279350929403936081966260630323020192971122764859603433895482047295959663444479919731119539277374016884986465479140732555738923416467235896408443632592939056832022435347229987392431136652908610064146549687055360827618165190491763528478194547354043041284806933863903746995129009618943943518878277905086888102457390362933641651286673946862157824
22322550040489340698015859894759264162641646195715074122258469701536242694293814822089193993372429474624281208547326638202196585965134100859745972600096413608565487283694537510770141057564183325132315571368432416398742740086051978625692457369011897891624430249385620980949145571772634787846667974786681198574837496278198194114468385739474138565775978822815433712860466178340087031263341072113744097589129073139735172689563319860418629516653180297503892759108491555603590401443849472371400193119616261954129832639179119829218500102983350044653960808953666692780030311379754315825343901946626325367964950491876344202587874348757139554942994675067140159500779903443654194685586571271999447786679357948076543931949223454020020536583196463008024745892818243428282193119977861477503231261988050444346566558202924691289325460553612419559154567817605237384057274974524206970848948126678370565215360679064825371497301777968149537834769233395131410944160429611921752865637981284296058588820113504516257376986871184231426167522256496977478383271719163824853846116870856893152949280501474056973438283244839079101478343459053278859920391453721400441518236401079029579988182165118869397214990506324669346882978669975301979696443393360169270216102638681094881408727885161491715004356069830790208535307478371779944038476362832096328897284742034756472337019954275940533620319965683150624405067824149432201668398989005224345597501653867890171381959121044014828703044620745458036029315630132038420016704512998763920960353283161186708229718012659725466221149469591769807668424843594483453230767737279715672395703599556395211321803188815027295386324403591934588215877137133202660128235791937399744924300088009882124088275696653436121973592045160390550880238177649498261251037702151302931666597287160037947492351475254857280109061172465327461971908573175363812906456023392226143486003991022407843446277941493057215009915580598653505537753206749087791741885581051865410538374862865407202917201407594379358936893740309498585555758220231938698564682395755238324261817713533218129994116517271443231216777912476609493721158529486046637574415731810761595019865299703807992479204400363418845172369534385928524090901057735081225199048654550887557767135859189080988980097145998971476679356027096010775567412001279847178828056482494051093893805894870105256381950751733994886351646368113634378459540970459995288591853849006817912692623301242636355848092214036917302489685398138487409737005124281954751514672260449045008240640396924007615459707000410386539609015956987645735347491194963609040284860661410371934994714106210118374109436113607542386978516702867335545029350608284813687665049825831390225886294249073290379249954847520440236379907785899052868996385642935096639432032841895522003433864996310682228814177198068521950934810513508950488589396042588798858725775308445805697733194952630031689006184637168703243751168289136543360263441550720215138723641430125429796602024568925996791126808841445046074467773371605141834147586348280920724339801240903482776884631467163278684795297408537718603926954507823973611062380844620080165027483216287637650853184561497203032791489810393728204170432980536988249875343278292219441530484596103835240816509665153943918331432002052273237881048418037016738195599794010401563290601371159269292324727953385105181614672708682589727726882538340504597377945705895126353451728361175023271051165920480414092279069219729050209295426042123920062839728020539068573238735850454271597123325333355617888997302631862472031612095433576329423174802675941894655222095078072474277561429866195662429411189645336868273695027598318822817996857301991743465883665727218820292165658885604127095293296993841507647877315061528232403655431338656800010246012464087345875581473264285452324024878267171933628044852557502784548923655900654875377058984341903558414867713340551786894109616497210576390377614925230597052418517630976
23968655596806298533644982584327260342892673844549764672329008256776260832677715118988286649133556335394437419554530894827014643020775889861743608796281545723919528339442978165650750903886255200597957562944742798804713541046755368488360032438445076319854570058936091551457004817476671790388334303569837081064252213757345740381975349294238550344445043476595216610197889211821194341267444867105527122814585453564488651200646704830421324660791424188042692458265544336802396578595211166045504848794209015290689170830806921988139640795121530118577225327830425606193677377316185355746176826703447701247016157109217003006538529723517303158747039318428878397326018342946133136226952831547502687193461856706316605573107291066903036983468300097940585017292091169199159735227365279822473654501140871150316692864342210520159637231744475849166499901546407146900710646951615175525032864390021016672042252328356944208632990422153963898659462127284770113906876381840128475067227352947877912505170574682226318433619338689409691571236677251660448126174746822581053385262944231052897020871425140388623339541802742151380901637602222336956231561614312828097910196482557792789366464616419004003383404426403734000719018231652374782630070095499297641150586921428651772280871168932962648629665454365584049874041420227755547238491536008220917933874427559768886002957348428644987885015683416243557515436440345922580783762573614225534371067795667125047651337387323237266454654685432616351321575082169684293946814414256324482237361565945881102099133229918908713439547418856099448674023678768055379409823243147074704279549232751049385069538406927263806757898749768515996439604822985303155247743973136948095932152718423091361943539483539531197475411202402408122654511746423808295720517744200708733824239530988670925649653699089241320803982262250499285775007748122552612333772831932955566727147643791679822693912922909720537381106933598017226980101229076614635841064360997929804513983447248852196563053960365756345012850985614103335780059885094835561253028257598919455847587605284667119489751778523566958199156855145547035123873306843505499178220083608781977865779483138273453590399214915043613691353658253577613390992043535995423533381265402215907095789824701490981991213409242129935493665203679464033281407597213713444236091549888186490706730403859779061059543440845030832077889476701309216796253831824445460204023543374001254010450094821169827297043600820197987712434540583385675932047242443852785176830955696760646206400250721267926413596393126217191584833040501020277337836469504165184538355766168619173999633754760582230272180308236433782751626373351238898139849055675245360493636901039079257598921603600665121497498269894239376693553342983050507428612169652543379240021267684801413399212464508385207051319981713304036580781945869477137943669293827678568537332295504762015033633413784563822931301439594301616660096040908431452704356851187712316725535781104847538587406862731413515522646740712530567763066809245934800776334850800655082952019380205169004804689229119694960832423706065763146579261695995935696069987385885025463422830838786074559878173547270646955327866080689575880106205115391542262887718864259627308157203881824435344869798337176024983662898834415579609788782823415380851988673791594752849540101758325454804447942592971509812138789939383864531293126230551483339468981039620800523465727506480600270300925292783278783719032101014127157516452513327238762303724184437528953090437819520960813286592496382669192778993259016011236372157011310318798064580496105930885114023494230960934981891976577006517844242015793922034645030153149192146128765585708333461998009009750222547638167481990382769228046529141097188741738002387996488596887113076114153004772111915881255765728163401095635063511811971151335383817538904104766640303523517528681856001602862966444470607240993208826140554473655375205495396298586724899672882732460329140224
25736147979342603562204488968543786333500445050083956778037311653742002666379128636014859941275512799173178994326335270475910867271836773875371690329261791323140754788413194519578011422508476347619536844310882943999438137361041978642483823999155183971499853469817826441892434210294188645660915743436846578804766033195850308676372668274232813737960249250318649192708978563250811573850984723425326293332404998714201345967482182824206203829774365091226679590009089452551075629872181395094867243345138188715468480504918219807370764274058602051192046208363639153090704844387017088600988786931091841825578203091921232020054164831607684789234007552369540704619035658212438527439168811307780277992009174894267024389556788057875372961768710393342102400094281512790198393370388250270853257976000809069890023973806589684108197652391624200207986483982259630559804996954047318314328945470085813839773057820118232197643823682458127205376762019409669229527057212379540025213023220576946206702614262290421907535719251646040531710977095767897196599656254796016384649733608458261015087674650099720336493448586600605825413443123597198536926685134120640548448544959379988615068395521665201706856198840136419106342855947543675433032814981589270039927928659685345239829695249239091448063488085480290980537060204806900736717976064882028807417272639234982112675263492695976803140114642179963908674873631613098102853544575375472797622965027747278145501233922303847260067794935226563710160252839281826691286604668153077453093400208766226659855053543112140414058072959257040215544640566259601856020515652614335493237383799071912304638644535892134475197409729983765943790238788471436535108667785601073650319516640126168522691900270071754204082152219617594879611471164434525396473280116882434417949169449416680043042827547828429114576237060732497448018754073083242217503230137361337155928561221362180568843358655542254717137849942020581900081035905413366034833080221079311608522808020154790339444020090413550925033671920733485075884965963850959148519890286837805636950876181298150512113752023979138812682894436906083458971699790435057277241652533647526063331929689406666982268934601911046934804505450042269081128010621995827135720385324800403401726847909095619182522796638012903054581970416244119222437975298719709991427383227407928358583603752916655809259081546780179506971550756783669261630821025750169316227987651601343220659467999874255844175692585752207283367479051086606559770749306155832707143250632909502967149078885683511538900032769555165509512456079643031386449714394979122700843510718326810643451740123168596247234438900622670633146951041088664247148431732125415505023975226515408457334831943083183135169905403753084875423559055535918252930523580831319374264304169762670926701048431804768795513901978772489721304811529904161648021935076807323527866984191069390166708128963064384302278668634443811237878760310980197805005745858141190789348142496980783731324752628219345570255539024680327631485670955593590097570658398733463249163772593784847661447251776628135181567815188491892384959995814032009490884897887377179095382075668081609643723587282434934683473789443507356383291641994318645063526146760509340635420926174810049654970566309071552075027771195592858424231815923553900945668992624327945793494386423129981027357497192824518525719801650666880137999586437454594246827034892903854622406245054295451554847808552760851797930975031657461143879651031669373657519503247790864752144137141291019269890869261810640621043123850819556350146735012138730336255350331683607125800266034674405471600202097900760254929964969936002653593545869177412919110775298866894303485976878497637742706932844129840745089093752156830848800826027614203705371616769516441061479559088152890474133303474858462470791533528831449070235055984306084413219453857255338142828378866405005212136664533331655616593057840914082520553001645247358615960978108490057818664469528576
27633978474073241469790345446072083761599040172888919103986946155145394368410789057165227804449701999519554905246444884556337882685883921411217147452104716388816527455247517549118497695097086048953859549245571475340446560585207760688149625071347861696613816680414921911433012320761281692992041355868195674333989220376956859669131414536521673623649696069531778965395466143681825788787067041126845381997895581626104207922379363673164640652297712281495661340439931885361353399980904938028027406907260540283403343271859330306799213075901719249337089070060657959517428657057751890633595308282937916553315829642561943333540163525087088318009178832111046158219888572770064323940407168497527821082366988875705281911095192160844520528649817363874906487072011603512826952219390187433994471255493656956179457821038815830633919960631500531053864586678458239358851158513753211749136167245046479188842366849831214535553607743136986309125267057934861641749057068572762686953237541416644552334746063560132036726962534414334562897274387632044616521401504797683380787690565860075010208331298716635495996369249426756458484455973651513398329790250184381218539501034830674884642772892186225198047688248314763060073028114484794379128644610186189231500766947592417863884454426282116663546490964705875553492611523907175164830503393494771956496767052757463658271310942327988810065355623463421783554728236177752019248904557228965646582065333181573046985832305985207239242596497408132371399677215951647441553963803149600095697781982522629003350192766998892284734830501197732045880255515039977754397253858258666961056648145403524625150741844856453938651749483548116334874412470128870437107820986321337757652415979967423779686586386012937969970838370137844908527081459423331227783542959964278325489119543901741765441204161322744716539793768647310585911002184639829802455723053582132704885705739521095528607225493088128289052199056183473854934397240888039120221319092120023295199653829162833341412201277773291084562542149585955683257501768203246940281233896869108616777115589305230818703554193711052246679325406282990969932502097362156154409925680252916008329565702143268083302021497992681421526598765346326880269194102753173949097102092634017584505990423682916331451416583681042261362016472251999803174013324114246270946262830143995787806884750149975328614042308604491270863053625697477406396210982806537769915472260879902790600931653054615240767867933488851460469081818595522109458609381838498239206851763869404142880064042633701166503568139641935082805793941675797789775765218743939650723517537259779888402485095825033194025061380771141101386442070897241294456743886791823041122324323449467841083728629299601243283372778133293799764105072862854162416513734956832301249092617331775927947754045878392058393380128044382394375079992095525073137918561380675661370010434698011508168850468427980630165665015839287104071637987170684819027665888200967447686674295720061216622165823373033984692502618463436007949024161722884434073856717936988118994075659571753391564506602423934439575197060186188338638656072391094665128061631646118857850219904751966119707754760464889928354009333263533800413610798934699587719160694320990582914184278709885570058666535015436071551303894210536565808435828589010163717949040688435290479789811732421617400232935898278233728170737305266695765047652598157943767966658418229518893312833590177187405921997844237245304084556590340071838462935228155035962542732856887089504553724995964745671770242122090803047336586236894330277337919578502452294953194900961306156175111756543377191581199368588887115205579075188652538374096198220727367168327459484222640242371939879929545384769501482894461482567947879489650867151597149454913278387929571023341557914029061408568118092240063635223247935004636713237293121330930452148226096973182411217316042976762619209129113295640698700474591840588792905097475242899771484056147034184568078248755605614362624
29671758451128139005365126416855532853660134551887023348103389236815602734336728623519831972125338341220574007627464899858991668915439020828352953965299870814330551391143547864662505307273341031288670444246757739854422110937287488380249273609025183156621854146030343329999649103108691673611082502933349526948287570683891626070445201540144896452190314194744683172268560698447169698102464112349821975832397165976754018228650868370383141106302695376160352855770257425023658498804098433328821111014592131367126982732424365195041066649883362471519116808937394668092362006019060988388365141993564066598717132168477729067940055560685279969428267727933104472475215749202885599785099660405210862099726384872787498685653557468415696852837899153553913799258134158505027619072408868023079103171789329240558419112093283684784940294798475572070745203549133851437001433487070502669375698642065261529005643429814902387540643627896431161423192095274092012399267087089411284208310280425983465583573696863876106796043741681710365311562125604514627393070186797809304261461424934189070237912268680289056614286215256996434136880032796271936683067536770393825905946457188976381787320553673792791826486018728858614250634780850183936910538394389087805040791759706795165737477820921033484897203517242806440324166268203509868172605364569266175032887305330903258045950098086413511171164506346271703155387100137802241368001889280941958994366196537549966659805282386682538082349941623019324900134846867163819699086488423828551625110978668183787332538092388997607790704258686886991606717242305085146925931378357698526573502346971797747038273823449293870259913591256012425172246456604518858199828990518152254021775092336969069781649414451100103475345218360996723510981599637789660676460895014403184054352911223104280001818720935074164623801129731197281210588187403155635138367750792128904354031392280649999364966480527746261832907445797521695653571093771690504729794445658977839910166746693885065015951735851424227621122249773304900124076210273779572379991157394864575432377094319433432015767595238154568308756804831839784230853958905467137808939243619206816102587070147153381085696506141874088200883022819113016120474086900236417892805554059067005635536296451827379372032609945530951935936291233907656307706056034733975351038457222216219848081391383818782901041180454157351768573254266222662542656847367524504193931511218590667322534409250197740240289675495430050829135807503993028042414890158781572786753326234751302169196578374324054392468956767418082701484224703120735448998696969876749513792640153304019211800792923985926613015308701163572764047238075541184078105270104701580459911526180197571514584915145173681435756435664790199686600950663413930199099705493601676405318185278755098033914005924844370966422488211728705089785730858554674268842079660342642991841343051675765954212401953114334470750576280265025985558399012339716911875877259486865843714238780373924127543450019023343137715840673705856482463702428400914783670663032315139955027843902577545536659532946718186405889876563755646337400248077890027091274089948119784948891839329482368961206943446253999630063299211410655541762413674241592209619603669326869985099462894076898826072392315234195622891552947924572189845921176115119545049224487850724505739347586186987404356250616292349142784367657581906717215341947664449581505952581174718467148183341725321688424514366995367661543186443542969516122225428273044469206229655698674446670772983161578657302685085095409557671944447936214287247243632586534315656029487585692225553893360874729760808394454136279957210936611169296920656032046228989357830037641375875316955940248813093891052933186341813803871790252560060149911218537607768919189298075277174140310969611199585843940348609246173560680884936112072928776060920526571306781007728385761305198988370331484364627731561563895071282017908569327727877621965106043682473634234897528480990993569702590364491186176
31859808040601742833346296624825044190780957949828595091723120099720353231626106422411193681923377947119313521276904074070571057382067595985009691706489115995143651589652210530034023593041357665509938073340403961677404691863733417385787660619629763024525227349020583206500057147331890667876776393314140071494991449822650721995205783193762790340865956758598247323693750582205377959278069154889038774405562051288310601132160832463199101510330834029314783391838365132494446319659014470478030771510514645750186540078729841826565510659551331007422084533297497652725367380811205524439366007942188477130564009554630352112787775180391555204324572427351227346258095953342632929976586917385271690175572678394232856803131253428225492728997225413465035485154198818189893468873185486024876230335961259722493731715975502881850422839868012873174685411898098255262110940283021761952812331601205477041191548482623069271979845563151491278356976716281985337337419658354551323392013476462546983329547645709041410621202803177104515089343045035908638651715547332300481561872563314475252238120033324751644496262945228103979951629432083848849694089446847029735826589401388429412873237951374388173293823389260422809903588982747916771153822420413370505480656138471743946453341740595295854038599757103506438112617440100109889053652830984788837121315675212448987861801134132284553103170553248305354145651900328034429997766603831964667488743965594171385692438511394711581749491888524594290305519408321109165470504257213956554085224826437600750577667545871242808920827400967025883249669262404912090135557551096629340365144880105778989463966733001898771764898973557621232371111424492072925445881736767039506343052123363665591618931524001256183912205913792614912360705066825518009583084195277437781117928610036406060551359556734173519098436498850836398430897888455118155029349481118317934604219208900684650223737950500722753789647624073812080170638298340090002112050115226939747800722438739238119356586605949074443163694985398571989967363416334375617421231726445032977457746169910368491939190294471109800569777126792551663195803566912777328123029786948867488155224411818620419814722866815203086243153015332428031991339249812994357379447272092713210369319022170389858460066269190394944980148564497291217531401405862581466048195073351928417222063916084919464037623968599960063270997471913429703268688841098495359497887670586926005840275292891069793966286834454831166441688994293050361213545713523849775581637279549368915377528290678205664930444829502824635890474518939954716973229319858058734078130822595984297215010025718846942191789199704710445542024803033393840779144511186234945978708160999349093118440849390864013501624054050450481588815133125468083478990000934562684352904111561580447412233638580889201797619125247080077996264614421237581953152360982449609951040540806916063192273124956558147975169798424222904205140873014029446144601251710201548635073025682810232694746112662678959159268889958678315178962799859264427643087103139607429318126875082740892045975865773197280285432200404701839988619061789206131760394055824834203261510870340353335824247328697445615530079492130717838894447682233222709035821143590060126230011550109306448141770429280603148195296392216497107157544833682602073694279204471370302770514065545762413060618506082538871085818123367338603947940653463668938633602238191368050269602174459630562216715697742731811472455995666661901110617475738293079938398608862672786694750466510429834754211656003367940272481706825153703764443715317025851193931096858598046526568856867607122568877489175695773585830313029625299648382791125920367354753013299039590232424849410395585269662433760052791041237674327929259654915385230633578395860825516627802266983132437538014132117089262887849664066068073235100654965029740341319715409102806835023919472982455714515506302861567895984986382963927547895184985093457595427697042916855287716684271218763104730515493591076541825024
34209208397805581407456180561584686630289749773516256181144230278844793968850509996017909582045683665181267245963725789565566071875029925404239383030603296044773119599893664060150739274851261087201022796995571122708322613427923079033568954390414231954641474347752045625691140017480381019094588091797266165358522526196977462750049176901819403923930994149482409764546046167538264472604631697568695011236952712695492174738182837310393816130863784574077724989317432890542588461140757255573474912529827230906519143884384483966087943071078089177537146584665043864273054542542326419450401434771443941985954085767942221923346999447095557519288159086164214339409847523709137579195524713967798935344682287943588978744524960967429093646132218506393101362054194360301860591633581408454677112935179175807768153321278186403675329515251140061698067384797655322736356599109846862910906514863171209516999136401116126704573991466216589433543111902466149434453936287415072776680554417249476265565966082198531897531943270957297197070666724138570687163249952521742653188323414988840142941019086913059615108416935992836463494922018177795984810833444676680757528680251545880330273759598694758864076538013918348398917084898482052686058895870266747280542601718839446917525769491442127816135043869598275959654784967547302734872906824604370882225480402382406563733684209688467873336023210027924515869318233127289887200602229124819131572917445086078827442006430232802397741624531457602542132633926758108533035417059340678868640223956589192852109033804369391922797532685103513735735710921211384934221805972171467988175587489589040445087916422168779782658202323043487991147285025841356656509277069324528862620848356667575307670950647512208593205171433739269093727783604379273597354590303382768229144077424842275349861071256127582957529254041824270978376783036707547109916728485389436258913847051460858171180038395068667762972399152190281293595655397703944411191956543103184458741647699889597798648271008685728443714370184201516055502866495125743869350999530279758744955631255408572981046915483868506552568068731395713692454095791082631577204668499844808371466089055075452646735506273068665232753152426194141241419110958296996220194315574048654179610848320503130845414013387041369671503364363434303114971347722807052516703183049968713412625451922301604364208860764670639844663756231791714779683500718329544570962797631563117080063971845650991513884665020134716462267146730372945485373291427946479925535017873449737277246368875444418747709548664361731937693173974192109524280239009074671406228183147964832594367002985193641626885834293114436055188146380662317035508564208600696314587719565955126758057740525661055614793194438758405288122852779040942920808514989281239041339423520445230877927147827004000743080079638400084213621771432275316345583727298631201876176918820983964485506970607897034666568920726069737426943805231167036355093013915763994930239048020969859504699521126227334402334094884410686538769506403149033529835804367115998207799996627114762356344833217975292018045519211490878091845535970646710895428389844460115301907601430915078491612411870142722799360070280745430618763862397793672944998343876056157068207882845355434105002705991325017832163359856399161006730065645080133787674677771374358104676244026156762488870349937289220381990587212316703174628675398293831803900588134926081991351806330558649934240721796583713537993259026546857645689822034165510558299633929919268843500784297135759845793005815199116842331297564893073786960389461229840075716124153671271736560274908834619398302498080860051836399140460866920835281001096793756748922242555569207027064376441748843480288994873489798262188909399650388737404838456303203159142418596840369678735261803600715633363557180406704015205732087189463622558085745689608335013790530954014558250378549300718903103013918076332134761555458850091480823286711661968981189482980950476976957364610545399097246734548742836142813558603776
36731857822655882577822486516269285752875729570318931805593080226682837689017745786454502971292810029978739183312547567123971081607609732158131932467914630915526675105359973053989500503927230408471449272711606257218562142922545019413200486316936185534535821932204491769860825943008776199657601846215076010605545591223830364140129859296258235687874422908198571316499082143920745684608895269795626946665266101931405724281103162179157510290674302744113279547800080906888791283946629816340697118598017145318435039045337440931046022137547549119923395601573614627864558018560883166824063114103707241381748522432722722094587395371251375433057383118780136668324884763669332629752347159012862706102257228557042439143443461602696119602264818844221084317508955039281032982254360841166614024574073281998649650316300897880494348617506794947927155411027544297158244205842643746942634710762664564931068811725759225523584386739895835117431707756790113392007137993228848488325723165308709708433508813421985569778129866022214518492745145272653718387601389788609356093029799112026154725910558800843160547249558605439475246746982535987817030660597847342286854546865607652365513869050840018401953710002670024796920710363658974082392978223166284591556852879292202896375297300744622711737978634862470976175079221382021644822623382032745269453276506530339169252978333550893966081222526441718760603838705274553467659528891398949218005200366488146117185361238617897991182665405130431532256531202441533863051412969897176765812010470916576751711316203981250052955489928002664467417916226478232748837441965133485278381265743342917297918471219499059639685741730905752026936581676294785430994812633337894068891155134915644872515967740073739917136594781495897937126097326843495620218559367126926928530411652947367646470064797148402101528775768227765007792551577086620588367916532014810638977890391892603717328158658711063929063983527328846231258478545206078684067857432720347900937709546044861338946979247312533901922549176595751833000933107704803331633759931865731385088610303253811017906432461222812801910390003806199685917435850987787764427737576338708257708468016143152982531410151208190684261754427851722594674980548820204655192550038910609003560575885844368311665504769362218234538303273730547530838216611625090969348666234679289482605717375876430948151982474419487586056338283015402615625120204004475420714891765057461304673443166233942095527041544348447179917553305546282685717283258726817929623354267310522076391309813696518996785446605088529846577722975398364607008436120759790227924094333501821237730277910735265753654723153650445210629084957951354621773238500964028148495495814749146107348125009342020661593485979459106389400277479050891022468822439322178057227804013951363494966617046884912213172160089000966865287846503802390643084085694350859405838426961543251501419476185237750807072944762121524216007708174414035264591884451569814269921628178059767193599800386001872279820160898576199729230616520896922606163055001654297535223899405592052789828239192444579638388836713173257201699865319379809816457952572973680499520578639895766368687079822486298318911267896015790752256958236291991963621973430455768016848024537550253744217413056061052823939611878178413211436016961388079479341837228847758258144253190114665864734429241183213108496549864184012132392384444867945449069427818668289382567640755068791719369112676940353542978375246868887349951335249200265624759907274443803900766902676637108752447740790454506641473927859615047412977435995851305766127729254973447610813877066553517947079106793099171547549762670483448198938225670217328923400078755787301711473720925986032948416013402587585231434749811351353365210128270496345657140142819942899175679494022115762171873101142018191431115126506554141703667166534525160191483310509860492051898315712216627839529109424292667437608686363462854169186056895454884645293817145582722402908206647160066461485662132410949786917754907149335527424
39440532017407195883440938620194388559469999114164986098669127364376763609701859129115972513409361479674866091910285186810455143288607726087624037600743477275524402048284609643581536747935743542060398994004833528595672081999002179866845299855634101947454908434824455333963351474192763404628141581820743211926241867635834007458407226717627674362520177536396518519571805755539291982832083933615328584935913541733197505273632798090416399882807396018392398044276754060310344918380156217650445129554979252397489499650051842520793614037914684278756141533507230240796371751803388546596565815228834738523246938786216612908087370433336609019999824446625792601216444790732118150733001906799689241511813607108023636651289980102152894779457981116823518934339860520211608002969957041548414430650146268922896441067587103023039735906253624339781288870168185127871491150218911753824379017700015881049252260171929298598520854436017167568994376082210764738700571369869243425274504697637627485419903936043798467395248437651568241605681903052204180901885455256556384434795330184900543711105423467676587943928579240199478473044955094687704300279774257535780639532374171043519304776451946110091107341741833957295570873129250890145197362722134845472641350210310861766932094712243807748693363389470259575105290106511231721719323786688888733350132598898234290932337673299417283970646007691419331705785112803297461150267562831405645024277482998450486245127522452481028098411069286448511352242649222485823470590368074651672973408964149064073218503782303583493660524346107209622105301939297934728033248815136572886286248046685739876948130690516424663800951112935659353494582341429740470364996251458473585849970572031290611551542670351935393127856137832286899527613061726459149789487213511152159754961847706561512719354536688315271180940881863881646910548543995064596550119880165337170510725525062839127553117484765811272173768285340029200167004568594441382118540979581103637067427558352421399908011736299507249912155059607620683817765308768943982869710289219626140519090828640940177318149452246192288333812847238235793265214684042619435901521261411263846435752507899210528574316473050398469059024292801585020348326301654727594519739749991148284433955246156947811095519568935687523839217555000609390280922953473424781594364974791752344077079248002052564878759091299213941797489634765986624595687468067017542401575267775377966089482589672368196361587829152478566532329855914494887381694474549997401469684043980183548696672337107600490059055574402365718942804425370947139746281383692101425188592783202309843122446223899793431453957105215661298872937870201650814853627222412141342552896531913114243746475550510918305025076382102847427964708206462225515290898389129924790820558665454658486372470207031699157851351999983900499697734590024801864665639158824598274392508814978228722024886948261744425243975809931611521356286573255036356203212626625812037526877376959691207471210792501554409149137955210687700252388299792395795128352318888608452910013996152926562454462197203729959836889953640818015774349288585219541096667215010252803548457234337119350591921573830034171955918484820637495130718453327986447612799397697113501731260597745965946978834547376409114537269723927355199073006511415774032005474625614097370410873275471540094750483329026999161297795348875893458673128357541735185616306528653230292598012387724301666231487174999457952442463030129449391987273021711787753214202398932158585907769078842811337939601661021823750236329348427476947056873397028637486103705427213350709203734485952943754113455600313095070354984900572008630937445294462777234619556844982707895716114835135212016556308141702840086156210399424058067229261272436711571232135575105992136742196350703674813577225116767095908426726289138192067650050883692804477895479092415974721342800175363341059545165254335598644283357094148531991867841326293505148747376237820465895784320709890574182316840607902662741777481491987478169604247781376
42348948787901202258611164830319566006410049322121896410519632788714218781498098317488035834082032253861429644483501260846038847824891018229817817959666885045924122011834452829827229160451553505648153533990515017810673099831486166790202549392815497301662185540561395790096338161052826705685870783794450057409301496420466974929619779750567072022890452664734224182454810410926457477314698488601217829148426729406903610664760099727827422129678999641478991023795754665517035758730640062544929947820279730751436748375094027082837693064622518253855743861390210515940655417363445707403305570579855989536514234454728572003031677480454520975109463980999769193075850048396002838551560404402576328814071260044188664653069355187809355567375290375735642306656618070877600843081959090993838295074209560660065339995019483278834600056459059605207556872525286285970408145235912305846427702132543336946791155673129918676216425944167564800845667220254960482967234892525580076954254374737994627227301058192447510269378586377145160202157575347064884422016453766245240181862346899417367062954066450475464581010282399100322139496024917368068325755048521594714849155377949466756401689879424864598930403301668130411684376435074438538127841089254674151752065472641968320637530260465421264787345622504618909927019191014524225365567138765914309080421007382850477925034913912432412627767406756902622374630738373458369150057431002628101772264228876885214274530137070727932435783153037421603061441728666744109907453712173307855503119644663366665870505801761548662219343848185562559189697624372501714311364515410582580029940563764783490263821401025485320468220020938364868863933617404960300496329020794184088326367992359201366321428896877517830947261314645635141590083987264392836556453216660141964356832127406853575435478940326386558764878096528692799273856358469804906897549827547390555039185436844330599437453024978734408223622403654355413600580590098928605897043175634160975197813677493195388753861953947639924821901213473915357342614606241489106720347480298248908719048893166594547068473221159427404730282127468216663202678530595505886842750523602511256617180796644272721111390689326381696094244307813083969839888998485921425562757763160799542782585913542930132958510620176698860541164940239174647831766084466022260515935076154610182085598668342272276756797125548200507631866359054724291452976724496221170218264768494422759598331183051052189560881479210382710149329214459286928415895209314035789049318826086978503432357777976257834459304200176163876972718175373072658438755070142800838674999159028884731967449263792076592312590874172024076418037452988995793752019986808866324898555938659661497600721251176997552752613880258432352896534397234518611887789126943027217878485118144290792454655303483874279570574617328761293179956987361122959404684540522149847213464906930801828276191085220359088583298231167845870200514099033572354295951240373030382655265763761034411586900303829104554115037676055554115563364673375345882391047332998084093049416536094772350107904156564580706678708961309567377109610577538596009497578415766109023983234143183133962410265350349211557778277561486627616864448750506851038507047671029400050883950912043083764550941096294159937213472909349734814948533120731450031497392702492598030618574700237665921426516794591042224698364985080718191945353462412986894328631536219227757866243519969686880225636245516525180866875509023761946268105519118806584437079546534591612289868666487480055287148289339002737385276705645250628850798673062605394563767318574762427652111454558816204711189319223197671928369814632647190726515340376679528006078912803418024405422929271541837283888502778057980089686503205356658588661624838755607056699179829596990235223327370707477833269661736114543897050056047993738780897029549123735770859402044593264032509989562153692010118350571729596444739019114384467870529112636967377769399076811604835469250429638879962928192980246673906812993979332876194991046370922619469824
45471837516003626044954071831671981306611122051065128602170403298364211889180825539950934694664602677888002509715386181727125535638356914515301835043712679581608890534585674967540650643609239724788242677819021593923424620880794049360080310714491804568153833334148819099643963272769667907319058066419762445719568103332441680592692213935852152948197764396417386348893936928202363981550322977160714840491152083163723121107365362004179319794739493609536997879570081018008771878652661385444467164124771982287276584820902496811431543647159932621368361446605927815130100423595307464792195626983775307862261708705383902327450566907642961700860294454620993516952271401315212362175529986669399937600044631625825457384711016637862280011178099180572033912161044429095476409994760535857105903714031989021377202125432370891353364058932853641820282014889036382820051651890065389583589144771925772372294126439534466668372290612051403190898223463573571014029159725736860318486921456891153873141242300820688732700901294683137396228236883688574882045645132824979833824190968076701148247453822138750731006461376385965075853050044235524238963452851976785612510891980378869814846114167815994185408559690188760590911853265699445211705281636358460624227915576362009163551558584727336517781151460826524956769929293042939652236211126372973939259711015155179338486498723728018155011659608378906546338919220347583982479247995669516046790608625724220201413764826121293427181346565610872212328196425808342908713285820104538580881448124951075189792595447386027673636158151633945032770453889202196846167811438705835048383974355548386931800961832347340078484771099315678085871480890167320219702516428091681151591331475410986938257263234019573900393836011792242190569435040798461934576659955827328020907447915343635348189012751699641458937283394504366674627976401857366169656325332961620581008147362431468341898984184954983844697592919587091847343761810271819941741668295612176362218519218883691364308960821475942893373491084103295252214670800234778297926036561409245847254001062093880364837756289382878976350679359582323461974437727127258297141272548389915487660663778326594470719587945933926413684447558972838232841043401191806509804435747086436906365739834244292103267433709631899836816192070017262382617438160675884808030983309735830042921562838277802490749476149984081812982366104895658576521826838390118000417574090638139227718225631845314663138294638535174410933804063110001920256640752641714576935094822280171080924250101144814115866623345668015322583598011863034916756557861304378912987623340214140760788480081131561476977425703399223621585018921272718595511621744320608067068752068542457051656370059954351499136127848556406745979736526965332570090342780491173589006490021113106290676667022854048723532794726338686158599645775850677113119463932684855089348307126527869396875812191617047809710408218670136474819967254434024616937708920653200083479683024385526189224085066739616908222187260116611801375713971967208124389452644603698202576266233602162700069627605886834461784405942081680304148569109455985509637051171727732260794617574320535426834745753607961455010729136448923688940806362123747158582851603146059968261826264623604327933714033651450931531319879059770914119140419178599370984867891618691555895196246913444639975148824990819012408640268898303138649385935056035989204520081123955676602730665160432015482344193821425569845928810240102611527705613123094254676679805529145276875224398674714507727643447953340553581060000664242507159403591071021582551139204958054489433846190669276426927349812832034531368921402110200484519164466740036723464706254921479022959555331567448323657513646785541042719255669539901505163534798773169151411287448769535481480078884578372571419134534476398637036946595400275028619179912864258017648296620398910900660380871490687866627278704198760379721357989587850043168571325247918802034611616119608680403972852233234632711570311634059610634590182269900788775865793983033992386734718976
48825013755065362620122891084766494177854529449797292328089019196401205090211505481092701489554053547590748282498376479632079242913306357754672268270383172305884286977222357723918239016215759005347385706636040588154725268751052289128238665613065173470061029316800954507497746875092712750679028358199468878113630047764396408493222738862080109700924845055731463483574076219828963342661746141285656293972838693637615754688795383632787798459482889473140599898693711128104515564984415298461509223515440031845236052178086560252460689726837118472585165795569927541430128826134398075086787913482382517470186427870675589905314616981246593237443874936881830807584506815391232120709702176053097173984158105243321912117893876717632592000001112603000321056233655627042015510616746008214426296415073082286161532002178430709526266953174605762893152290861349083291564524474651858890753608774007642819635902387672363951365266432842150043954478660137083698797199553100036142405367965267044929211342117709163016786514202597033449868717791795846241808275856176216119533603705387002862822115470339033790992211194066216668546752310460732481940829734619555789234402374878979886051408905862987693013981066956154701185011148732478937404495254657238228490660662680955003576564832807988855264142002368137454663665027462956532514035013680811541845187315125613905953606538989394293667334129167892798191491645844672739340451785018530261278217451855257520043663223106520449740910240135153603496192916877730789219269009512383126514017637446347385049047617370369386404565166087900719802686932299860746411273264284067524294936876895749504409728362819015137420541276401701339720472520589402077895460726889126558936096760996404264724529206144316131511671797658687638751780779356454934026911528797794618215473259806072605555345648769232120265339773620030249179857903159285338842676216151617804647627907797953892428870902500717711296126149886929327022420361182805880045272652533589443778197512663230009366152091996117294450689829892809648523520664603630477850717914538251646494936491710620362178677902229444306438031319197075872218427406500036604091603971789316118926610618391129214698764953595507530911317282403842890587678643658854095692488722367393449502066700730923864551170631179242499368320425994671022198233944851329626589077867509307108440597170903024665129085648328405576836912661306439769635789925265158525343598765736936938336118947981140652252058049430178860154188317982344574499867989854247428325677044088066735463655909435417196911575491898557270930860921740588749693874601958502833218467974746504051081770280501870804257875081592365371624583987601881266183366944944871346723516179480550856087173009394374735419560340406151946314186965503181378575412501909824345360454943107785258857038643359955962190974733276481717698336941115801195075947532983249520812534265350233273035214484108326424693658632499463192802121711396261679851596870843238329072427117545551369617238244292157992095731945947173208309084829562354919669549768978398665179761604777596267917526872545682772582446331007221766761359362577325528835256903112272469089256363633387269866158452055267113624914242540612204600110051297556787771568335483374568734835442948055584529840257587306303468938520069097826348433187000953870366544726345688183720305970998796417849939614017098789637532035686714482598316550387013625258105700950664138290570147790095524932008494469627021646606999681357656048922051569829561540458704652829734752988466242291138206741971027068952895297096966664961215671070628748827591826783209571270976086736104680651409175303516327363343050883214444117253291417473434365279977293783597862890330819946156742069761054404398576036235502534115082934639273122175606896887959430107583517138121191067235787151783550079157483164992735681319331210441023029468276306203680162198088560161489120788927042964002733428660943539497031113590300514245797586700538787823856426663194867203395827947691572318203586847514659802975733239236864810551144039334650557417652224
52425459326188971698952172177510514072614902858087061094623509906314844189361786441054474810481286402783760866374674038278847615198272642446298345854858552610626480231862180836060458388139474651946127682274911125263287504287645086847930354722698677592619739009939330737821652405552349558022157147880823069016962806747750121914562075264045581424391137617058483255042222639394176067578760316769022294127476025364230735450683707584649316922829547839680386743677600604020040205382756614143565307450292271956121844376257836035363041475592149339657689916677665117883022094328527458285776612523727596174149840681903644017208504131305090816559051372355381883795181382098612850898223789012021680442995271028348433736635074225221952295929002648374952603505931963167957459005916223804877074626285232467245173330653440163504348054212623782329804857899243495794212416323105328730348396619585370191096356845625279183530788469845903692277362089504668340787171654237617662012263546417005469381337366957059399157694378498444233451049602304124179302763176105811961606213671915399079819840052660452041137611617309877462464593255110321175535193579323837779202306769552487642108151956351168699586384088334967676876568832300347222290284560535007470262090746912097355602227247233504995222991835417776230053280993113085039654335261189499538741103753364639464498389944552799345537554997070184815366596141090020927822493256629852556544069778223696393561399508820114213998105288662997836738174959624175042597257442220499608849984059599811743360194718138114508511798603362085463211849986788616992797642008954808717675609836162905530711997775637823095537542645190850953214703814399542142188862082210296597158888035592771172646694847346670010281966353307398194679590177274341467035855650017972520540065883007398285765429369859938651893093292506518362689555128999066402265393209372056362113219666992278835924475633111646796636207896313688889356146127511164783077736260508734550629547248679279687988349231121326784661428776007355156490443985313194426309421453265778440678476315373522387857274224648337196101186691643794462502205169866938759344084711754704833248859807529059028410339491820915614446454201051025369949046498768104030458723383854194640594000991012484323528302894857631112210059222023975077655076205523382082078995367937473751593172601934653431052693619488364755084638751479870861194872890035034998651585965446527372341999884286231081549674517749042409948199085789854663219992143185313127837721735354049193170471381905563671212802235384854107057764784000061018930180356734196804449165593689897197431929194135070392776197756473135218602618654088837376583157941926413739276244686248958048739802650110685063748916125185762491656545189416411051234397941353058276106940828082369572445468828159804603402612246446202975864065388920260970422227722593734501924376504139659473414321216397693428837967661293319287660213837464623602905157673411911141524940121300422730698511574268819311329048802256387168333728700665012093181355846201644399349282513399063331049357985696216943558053113837802057014844574693254854373333342656362717744881746691320514444469212182839059390830670629135342643983357080972192045424679882562531108555580850893140586456860610424109533435573882853706097801909752537298507233283044000084923088439138338767506860319444575621573595946856685901112332672141939915897490886123564645859505032488086738074732276835311230822515283249028388402334196886410856777572379330606686155110025193960112677143213067960170855566385918891702652603912760945592976309617695497630755861632407246457581596060733374956897078193067488209605618996601470886920005090105784230582365726572401922019882769800342160656150198584537351376150845904239010997771457482121717241924221507629586260734431833915189900356828592957209701420359071912087272751159122052871191459901331063112058842115094661332676175393660558230491200462874420685078634659820736590279461090378412015294544525450375827744992800683586644436035619589722599846081915435924246628795416576
56291408320939957440717284242642191159507194244425214130540484120088569918161125969116300266368230779991434070240962769266975658961043388749588207926378661542134038666859640967529401563956979479182400287302755541078094805090223856216735149704917492280687447502936211115767886840631767541916304848380192696747551531057488723800764254855241584217766258194375389324942493333837196865779165366186387784793100595990859374239678586229023991953073065938473678039181807340503979702681015705018576011084797613423270317146807231158903640656189965912044443506759884163736891162196613128293853693187768512395167071583096622519284146614259063713857765224262570920122794099625405510393298849573959317086406870337353202947917680220965205863071795078166952244402008180951863460387417712939440930205011623853643852667251979953036016911661113543864583637684794519394213968546218489015043891541789029512703030759176573691033579571770509629474229483893193840751871287822196917823663370698504117311493335955830288927926825603465892388011814692504899007051980951887752656073837816178181653676649531889827315622132973897799763223897160253580244982930056266263720794135746835744574666286881672264025592096573365316350489640855724942295303601507897336972843076642917782269912102907002607483846540098590851281253550729775368745558272857129644375031407910994115712884464127381633583500563054454899668832169205360419238296257601437976914692620053187245644838964593213524026651905193053818527302191577988064733656903407413860197868426525626571372195365648784956290322157894658177712976703228785512283934993594160646088110345793899345686388510297298933991807300325009130616894737293121844518736124636921819814377657149159040132281032961415017166257306506914170249570252519034755213915519051003446986567806300534440852245367736581152611791044898114558643776469960012853065561036708365692886252979748962071202143192540854427063918931031063184225802528564374654546452866149587804324790411091071363186760994173210987062417756396224963145854763360018594572111779614327699673982956409965170042705077642091339508733886850133424448217383115156660754414562010011008234246575656540774168985746407023013205816484168990697799363974648077774686501202891055103442427067547552524316686065948913050743577660204043971611903167777675151460418198456734183987776055548140703866377487102598718901893287395079237783833636394369903355991455031355275244426107561286699588640263294177171511135031891131026780740077089467287895620512123502066460590284547080532076170564373410590886095632535191534577390384888747159984218379846633107143047768749440585907911002820172016621014484817773302771774896244153562189135409283263933353356598929880782239317478279972956622083613222402697686179897090277821365362263805233926959697840083451158341117479863883501178509546754510404937172845001162495068011537617661513722772770616758051673293597090102850946658698069304482856835699256901772426911347335897154831280611840513513672876725119788473776852895773200097914606989093617129156683019028414700972453477590421890875729000341081220850071208707639707831677320303859909756986493356644454148222718601044633128754853156471010353415672457766397180132586631718797946557211388217472802390619209150536784006902087462100710613744968372787527189142529172923441471880353712856552728131913641294814366662216904986055439712280480552194178461089692592227098981320937512410573283240820028591052580503688387990902766422389914169753328874465522218783385372448685169201276708812189813807491769638692864672563637474596967144277693106302635477367872574322181201583083068803894590119294908945280431662059913151204384007539469112695945957484936107810734689511591507407035751046123353862757119380360525000703184691991820061355962871382221867966328416951761064915519384257227898753591740609831755891015093827288537555207678075733801177527989759592009987368533005831265834000956424749339662763065537219470209220919944967525880136006300962768418376672862770458788337507238876012754115133583055701028641517154074624
60442439446054847296878148651021084914965929689131431252117113524946936105477858123972703916141909973360945122956275483388813587016432673179123921627761081758929655530640399244460144408911619803507880513186584774903300442462501447942470938969071169930971259855706972679093685976885551392801209623239791551677194848491660591153264823602267954598633955279283577074473881487382192681708804201486599944015063296554712431823611098351293502859453996226048998833779817281409332245215691493279291760024834808107949154378271272160950828958417970888896424340013314351999564172586471226996588472512570936988953300226372735032095634759877951480649850908463461954702007240508220629469351664118644700030152878562161123465539306962307903183950203490185205879425106053478175928155337641741503705938585874937813459409322406022384327136421850926460262044128226404319546681633095268697537191544138724772159583417686358973080808174642005918961223327030056575754479807999434706231158418015799964993552830713057997867919154261995368014491521641480209388767782890093211780193567295423337477822101974580129348921132754163567907350795457239099554778338167479760637230522045311014608000283067634048945048840454669424596511770265531020382454035716858837005963163580338336216530281695040682132461434501550080484445924567065535547128331795904075755717563987638851458819624813397323588047550879117415296148849312440327130332914289341878355251946255248250152225446028588507309845041295064679235670448984146342877346837654868373371740245209636257488047234796073302350930787365426271594047753794382845264526765919222367879666067406012211509709331019264539657618771707491096725238800437117471987792128642339772552889207012184667817724637612593882153088431542061089775220098155928972782783159607731190197644619836814542695510055649027398329406880455767420359123513103145407914059499138571535138709099001085596439407104268000227034087277593423984089861234884523742992078193229486265863855544422636795622319202535596937185240843602870258642562871649274734409775801774974240781666664960548493458124307961480774058711187597071877810395126494575114964194307864790326241518937411208088386578839577078336609589479120879196094121860178516787885744829770435580054780318495480254195602850087370189922813633153142386254769127480978943608585700213727747798186255587785919178128015274080823573782175460948589402543246454643523360165986253781390432972134566076172603246645989330044717526965453081198118544698443945216893376690299303222109163436246261264386357888725415304958954100716770302526486221030505412636274454390848672722563540136154533692389056197800645120406409658656213736669832810608195201059687346798348472247551057406639224191553643418545114068937541933190276079382293847200579590247559001057480388733300065158972104297027329542278918990333601282424218575994817499574717712454632488359291065059571395370368519027048127523065437170400273834075494588421153714504696774743751704949656413468977267763594157268294327334197287197763451808704712528563018340406641396708850576770783082726038434214155929172207702290167625742622012290882498773742942074120127298716597028228924392681080062877081340059999428774988654274104020131779758362223794676338201355509295030122734857038665075980963547886098681811419191408519492270108027458374055705407767176656537065814375699801293571443361862401786078387709504382991959551577213482432085373965751594032666728755088947869937208448971631825022900879834384975740476852308999270707970559979927476448717564111876597596837897489303642858048501166364801358473617713476090216952274407046331301841011275498424093124819326884327562744255783081051859317057806569795301748924158912296249934306140077761474398105594275032454059891852638813788175065760143486794224309682852645000816445854572189559712769191368922113735621903541292057643935288821192955843221814812251535517646299663305589885466012829068169254874712290758869765573830762532200667410859304440773671255917637363838722454112706344950283933644450847039473883916092218871143375805874176
64899575177816481340591412838290519179054402242263735968378833337891592677107251773647669229130157457640372626686975509780386402119007136472548398330625232964046256617161510172834857352928164502613073220603019588535299240709693356316389793075643157587495034649044781653968221047704313791752111290263846570077661455822839291933824835249737444107486411049912377461190169348621588555177462860163085335445031947518109842341759827010361278519659349551846968321156613822127177695599911857414990475837236412156519313921382581736899764660123732216622548017923892336601390081878048412998834948253021780811907784435885073417231065409509153640216471619781614676596338630884503505680849807928188912618309206826185382091777376601404387214350099020722629058789437445255098165290405194779380725717256829336363710477915802846543532248474295047233531630780210309259031532789867012577063688356440890845892615517986704943674553868834217982444220120436601450473809325212482812437548205393239515231313564690202115248487623781812280331431384879858434088997444312844676746883328020854601235604263321699669721266509515601732999186706122106824760065280739638535669703303049404459472484868933557699078762017718881737283289012242380242154037373906781155197301586139562855666262483618466793787113350291350914246715770674007358465910412944611238030978355584924053818658044834132901866148401879676337010252365636240822744080349116273612224754344751660225691258828077950179984310347797518070880483713755136241284051801744170249704085400945602097491749496088092015703991911723508959398912222702283557228642732134926861948711655727438500552709090798444885950491915429841084661518336416922511674440825941268551008684393607176755447437751919885560394298219717271807254672578195406211650231945593688412664509854607367829423602843762928182508191896658725661256180016000659250430866281849576228894317600966822226300976889615280748607994983618357399081994582251800953171621256748853033691605187940875059821024235640797280262093929289444643150217221839370141602268232828923278849921950594736227406178462049298088078732433659686135139238789282995810046663690817157510276123608386452410867758380327295481742066583202462744497756081826353581439060757116277001002517839100637903895970257032411427090948329673921977148908331640314856215875951807805221760236493966559444979839756025891403427535071658126979155313855687090470042531235022894157060755649510152078093948881986465526752998968654776392087911552732731698943169900961056947636570275149168283202754160156816464704143621235904652023821123280162041405945981222234662757104421541691777352735280119464969479961877928176740326545721967837490064533875424620979248778698851912933510293383734478074226206669058017420213176539512988797127623089586613343076921442722661503113557233008362600575651593429039409478919595563357956540476620856144605300563955543966858723204649172281361782400884578702988836699694913073458869596648371480273088275753905571477818903017991221001208400674052731578377465614697107814907411773680035016068815245312657154599400647211794009781108363893563730632314019762592802996509929792088680836151752163504766955475157003672005872388056091814403219581846542029918110133429991972869964343822894598120269265075477208898389184730942852188866611588848769659694080196642647402142592030520330571135809325917396961069678827330804665826182418329781226244739281464019305565708230107543088917602456168107292965467010880056538432484577341769775366028043488544646080411148731949763039750323317966542740682489913972245570722838669260045140139546526489938890842770446224547062004958244394877389363719230114234491650047996963261689043539691190606520216428154831432821755021495107357151202941477304881464483095139130111444740616414012150322944007060566401132061085581557519745707631471487316422116482778993291312219556834534263052449473097181293518321987328329953016227705091056276069894466554647166265697449628636003359753426957607621745505374736818741489708733612403291060229287619978509688116429122042908709303316807652737024
69685388228253793011908588859723079105224856458837953747741494831219727035382183563063683491434889201973976440218544160914921934836060187785051043151804092703239954000483069635574254984912899094007814006135840632901621695105441198891842297512023654001116358095008543710813574505797220903424268132658896057411332033229710882179893565897552578757070511055946671215354821647257836381013773615163768185548400455066367535148393628024029786096671049846453746334028920315034447338845566132019999798468102152308156821621173925916007841411331996295963857828293184850681998547451245048533674347212145220440706065379986049785391597202269665574342273991868545424513722753247589527524150034634863224051359943533541543129361975753926867689138554297091329523659973794402109249297973163541487538022091056208083880015965225866872044411879610781130698407195637560567396606491307614801927305300012404285053639894413749373970932733508309970083256890375096117792793689081860482595342896146863634353346408866399614155569314400908895908670459731745215880503894187812269838888890944302729569510375441218102146710273517395561248107724348102948740720856900451550390676286155092306427719980981119178618073048567392395830847548724291691312037778822837203550377684979587339205741414423262655244406956436586062087336177613074370468608488615740081694280868030276940448720054292475639508171188888968698631027081778572141516489519262664416473276428085572477761983914916520640437481684226181436100171868809733877084841883715271745283800118663102120939016928880708785621840919375247493745329953620244155703891232246899782855405847670839862431290867295303828203953162970891310274597121153752002151975386626244210833901820632103908884533747872917423489035929639176194625408566634318094118250099284835759102055511352089937004220186113593530267350862060359597032816861652897048760111147373262073640026084097419860752151698437358209282433994693225193574196788305166782743435193258685766303957607987497990888335676325155480522859933694575315083143345774017930855157774854984761388375817489229961613988850710328107013370818925710386011916751576275573263862196492586755579183706918331108534344306083915967552685270577260108569066579207322145803309642192852247145693333148457462492795810035730272843077873393830308977555151624268585647532382251848876249560823703018533457080782862955626742201359666167967021836678697929294556484845870455053961358249923335398849987115906908238008885910073498429552613318981915518925858121799824639923163456342849824489073813750368236844658792223805395354142984360570053354783962323031996144838170544641021060527871064625254233518598257065834152599559125142695917474481108221304767249789877599699116533140626190419107654537435319986603470646370684662719379976997245616978151402213742088487732622498792265995483591917003190101778016089542279820684096707433150103187609854433887081004071127525479641439016906750018787769568556207017172629683366679858005823321013543442355644468216998453824614343880209477149418889622153752703338708990275990537598991021019943466210440243972214374641135388730861989385528920658443258745237649069240930763427508837554703466821867809154283156662583839108782465284423327296934145302002957254754029351357978745404892053282395952985433874875527349036028020110015994555780952345354897765448274938763416534325657326756286311013935152359253271915576814150327388983026483625479529336906847485032452980646992823575376442917274179752799622090926820949989589219050541251387815117509379025642669296664023127573354375725090162044483861791189013599095772301886171302302053236142439075931044962380393424311758085566733871428035305946879066982931123435398576683480441733657090564703661315780743352090176006598027777869791855099635999064675265745445920087191081446024654934911761672012672128386914595127948506159580845497345980443984485800432904911206371361042428093225890625478637663804851953936036005893843982561248196399744879571772851712378449321004871715275444544332857712018766613489147296343833319805729869071403792829158298907010742091776
74824115862353356043525181923505139093340425304250845377527588540560441851753378316106818540251986308965441863453286565965337787128480407006103227006920835389841958918154788071620515834941468754327897681201044712945101691460488305222873527250910940178303576377171639019632696013814606546973701510626237022511252375629698373624488013572702303050520543437824344797503383002721313834043288250669018510263909944905391518244620284824499258353769413390126165520333526167815742108443984232907779388086772410837686115725561928234295130435306351972389476542628203108340456764305650409483516018997578123948885814488969474191121182134238327653664280876336693132344218982102368702887079062238501212183427895450241901699495795802265210075142296279681882057319711417793521774788476424124087128749109402986954508873339650742867170141420620548541340890136138599126546907185386878462510823508240186199658911238066986663486407436258518666434581685331923749694153149770445759895443735214175930629831233560057694016297215403261385150801956847282658802806017384324545186388743895872695256144805313178329780827004686107205664046904490021271120640115963133834140112668089714759992066976539912216410751554533992498023144242433149833737432397790141791795241811358879512366079497595173951473212691202508458638633594651450440794615413308147990428326149607132849262548049561381822641070195261889783946985321782321215347501582489976425643911479148807420356352046661125680196989741587612083753137989129252362135669926972031780436690937064735712835328629983250529886420443007815184385539175882036363070836175610393791188367403138353745498883330524201479129895313218934094399995853732778659234313976839168665210234301922436084083209071830622474498497883092304709074465191083158251374733533294280643518665686908445755170956478335229388383864522276662911813921764889137332019898681823299227780263926946340994977841376604826953376294408621509939791111138809731649927147828435373758554049180419173061932776929421646062740212098901732357722749047744856704885122988980572673185359422668376879338854372477371397263003975501665990372179578573665009162985028146596505413834889897570263513608821858558228062745098527560801897387578735510554990439640444940531612715553279464378563426159927322528334544101551932426308043643565638713819081641218165439756553718041821554420010945506617916689234465703231224000398763215216545760113309433301277350487232790130011324952668210383065680287285290218177808958529090335792305357420466557871751240749463715939904977984846956671301247936220025821428598613984121962768943050830679652750919505425425923378753610679767542357161981630465089651093744956626562574706402818595085176446684846790637671237482972414202783977435387676764439266136564517929877131856650100551750125654761141067958387427706156645487083727747034661953701872639086474859779734926431664949862452419300216401767347083894945116673595998220603085213965433234769140538719094681291559233735326819664498188547998829947614821181694499361496503359082946041236127836281024140343248281199469576437785680475405730467946192057726824797575086462472548145645615424625078659293380365831012107000244435824488203894047360523957586618693713382239959058784453686176113624147076652975044280411814545017648798014240236508715829368028037254663498309515758445854005954910401319174038589908030258867054334019911942511464599422437881540843792361568328522704871868936668558762634138774500734903304625858875874935330422458577363234309074063711452395135649294972100902502828825308178798221189439633158099670898235198590653899302115936214510262040720685257199074716132335017258113071443172900829720114143799976489670641343894013895124160175422686613478099320684655350949179797805602381012577140995026859371766713809199821927778790828387070538782756256760176322248127855104904942381863572119782460200992231611058927308977287225627059282209209844225933278168920517069243280298130788206738830118972300126055720711330759552227332468445864487442811502835497185798140022180896119960179715268010294752898552253150920601217137639424
80341782645230625450696152228476236523457054519122057669208441529862866816147610031298583918247185199011581099430290856134318116327458274566995658098697238415092656040512588858355255308430935593511044750298180260783229902054269936780676947671706818568606567324947587642009982827910824831589883940051371122807561186332965480265391250759690127486466692460400742574476193111512580479842073621231121155500533385614454596234107862814857353551423607208924092555928829475782205027434249432069639863953894878685734457838639948247249152707923756365619474181286820559391951659098687164185177388171678186391374737217111711098295382709853274785555125231806079322051555085698020725758486338320177814596044891033224040772045315665055789997826466266894038179979339488895242125845095889819994915957991568738763582562683901560169150257367315059002659906780561067742943282942796013026002687253479896560121387530616144494235569319815385568435515315485293852425519445169863611523199805538242294411372457534946361918292857793218775240588608207970571506494589424420346156403469843823213876129070465096991056138708240117298469256854448669229451874642161826839825718047800156922033604220920130552048763107376164574829687293085268500542527399879880416740851177049547206204184755476845692252134882191730185754074992788725040544414363264004697304445461146059708977485397623680518203067208772537694302201938711776512721123143025673748987893886115778446958164176568050197747956444441571254613535150171335603075862762848896200912060043288158530377745974797636513409211599306099522337025153935034533318005876405088542708872743027919275049202777280250972344431726544749605856839733579470966154526732879982717226482322813563227446922276560759594823410602251670018685405606098138876511756891553365626939625872707287466162320240872285686941695104318232667564231504425361476669539614916144958534572060120766930073482239298337820122625316674261408385437853172278450743305176421837285631560369568987968091364865582317508489093777221614498541045048819825524921981668652332002670603716591529937540729407974228162822606496374410155540990539553238385303640257406817871115076949513456267913262985204899381810299908540042849700203599626410716886686962093254617985366859771461263581719704649678999010225065808813154148744367713774776301114727446506541217964105164207184125457814728240525936978656367852937151940744742050718399443531317589319883842048624786807557195334677883528682263470551527235598547454565814214402439641623696780215735316592297375131445448129415617091970412513126190827841761543183023341985001951058685504458927432674726945587144777879480826576365619350079330288921304719006185815389226917027874793225226146139839237647303968967780773809448006196171435958696218575706975655647985496219586312772421894630946872723876772555022650271820408517391252279708405209670036818143241734622178209812627162828388081502439393956999779768491111097670674554451237180956583346718697487435012152582677353016224175217817762545066487155180090886403849449610459117625560237040191395539983370836815419074743336172704917793917914151876704115172981395833340763639466475773148785133178215536525628968036907915678315631379814754594180304379542845464542523838263828022932529633239072130149220716980332571217889523059926523299192004962337181080367030394685591732356069021938368974236402403103094117645501471643139895277797452361544109387644568600354534238347438769241963212401543784414772597346948542657569853363422444317564564920627104442120801407657652165433588046181264920147904361245068821004070780515730947189366292410435904030321390862594843616812215626809797808129634782884274788770251985047176071595842569742431960453226515495336357348645102765339532447399738698007187546312705314910832285387976204777208395132586804098329259442881084054812316583725548344179717096447050765299420805379888871180224683960216698177435447727737909466203396096108952414087058216319661440543571454542826499482218867228913999227323484980003669518742767920225761763223915857800566174839674022738754920783257579233630065989014180069376
86266332240901476672091308563585738945352196505029561080369060644472305085039407448247238584995799518452498086826205864716184323221689229017458728126975544799584457625944605055732449474860315362203071754330792617094180943643093148907248753747771032563092684737868023459131657987849647164015814801739065883104318749204762226109197205664351063162111281677677741102872523436131753563372423362002989155072130350442559838925594507631566709102118461801169704218547843375511348652899221025261419202544966938944279239539312355710266908211060593412951865097335817374602214505360450551677579842539013760996886688207022212686444727521655918040615169018947882425548320179753869087265720904386988822648691064483895226139226305452852777014027145924889275370096656265121605025126550802190224372731460574394181388645630806796652469145875650309436183669158229608621695483755545878686467884840453054479796064308534634833088057687137011443515227041229114866279364073204157344068147977515077582955212068896935850388311912093063342557875651010847692787705928294708212624688050990035732800896938180617771513530062982747378032332262820216612804330398494187254166622338754659680950587985464879937274965835857990804701812923426998787302278359917000179573201678157727755563785455778702283365349976298573487367439298189752471668633431422890997228243152759491282330394345777815985208626587142013424988800716888719123049537966920999810067179335196404224816746454639636279453451444927247380354705647233083802962816893355053243153985814477746298008960371987872260797007321040888435439686131520084757307864401773918334729726920082681325316088679822762438222883678303628659416004178409295204153803800019313415883239350401592191778185188420582454171189857962646672909381497671641160271044602181081001609057422438314662009468015506327384545868682962529420926803572719951703818484911360319094825315770893509943775981273655801731146651611194399058492588935503846449937010655919825360505240623187119234692475909419872423712215036460986003888307049585968506491486054593318586401106905834168418085588868808687892541314487851308547334706888706638328942745483827826130966899637670934445653419671525593675961463845782818786475254466234227961723058859995030071612031017320161040303580488727287609411733256812075071410865944698715238230750900681674795995307959845543641396772918821355046630290771537487627701282220399247947874728857901949479614996029418275278357599902981321112546849895318567139937262075616054482617602610846934502411770752339030847924050475230976112750417886485876540081658883022750394249057551775573311704600088874643798509256689584752388594901134495411843874649124808721445509424698955779839406939321277164968681542098185632321904325302288130606240419462989666395382290130019063848636363712001694782038568701965631294114463160864178541241888818944458261197962207771260280673406141581857264988047298417612289935316843521096217943357799552247406858729736939867513758655062687030176290291831132447491275241654738572119275641836853046108646130462436699597941407470356207209531990594428639302113925357445811477247711505299734143119480157311563793612083512586772282860067254167470887187204700472823285473931380067539809365523175248016871660883694565888197328172337093989644829050067146106597920855566433252921134476976116251585805453147173219325369086000317981603723505899537924351335556789308242751223201237479470345002152637804639753629649814180677024933043493380701220530089027280861757853750244080211175640562347521291731800095003670210579571267629986825178620835106870440471296064607928357836216898804228606241531019520758110705472612055599572316080228005192611385083364175561164474591652086103412943305433126723833049996571923113549378179486721622721087888679206851455470574117786077255817776476870870734386768359008111492786274918994479709218943040208153196001712150889458355484885266620936297013285437958304188100879230505867831041183985259842231721965075147611669572742065587943069480909400465743635748061813471895927433503533577304552805054492740928184130790501788142469196284449669556232781824
92627768930135558966184771551611371315570303797716866088354885769562308379494688465360175561216568807281506953105280656179852997536262149126359862583778825076499529973332469955501781955124357162227146923898025164044439426213376042709572883670858504438658534391495373380282815904017849983646768150065502973380601996048519942148789830785743442336024575279567477815998114953794856575454005452017301868819368094049953408677114046908700358208986079438462283541164055977287872435263952471843346331369258243041727025028274168526078805549384778545745320853815298088336273077424987952820090840033473426893897170916727320258459101804285824937324637664473389836545797509944927264817910336551414980298418054791439278739625331165727286794506781250904777533925858754412699761486948489172394712945934339334096019231212512120429219314796242840440172264520970004572265434700242201896490750786010011703507597238667277572853906613603716005268912855023472998424320473522301431002728789678950391423840717164209568006937140771733491185630227081575045440063008222773205771412375301045973562811707238071767431753010505930050219653974854626769907623477177795475686420669933574174323142397385545671790627406131843651615752384507278008723736405533008261423257111424939559954485143632495130093675741949187064923955230247544717037986784243393894717032747159486802801536595474758834694267732212760441979962061324600876206891338959005999965186701908894470596039403950296321396922677571618149481283408643151955738151615249068348921276241307460917433388678161976467187182334635797127249514828845879699946343652305395908359739530191480477055634435618644937136126439281567462580015101316818051062557668770868822398139991128780732504066367624499883484169806339113162437250676021799732502907765531268292959456251689654512671989692239424249423430451308664064079609838662037583649967753640507346099763517215163476792159580165023698983763312496412863649715134090118446171290506794789680350354628299834100364183162056552598084054624329845616653501903694496268966724076729593477175426124689376238758414780108737244784027013543089880401958513185230840227295527373052531819261700577728263460331709941371816309727143480898551651406261438486342852319403190424220027552804881925307389304027696849236302354034170857912401633452880281630354481004987584338826829864246272787784972861569045697920413466681029249745407698470258499779268287389076047397656654380336556317797044089386769315763892053567341902699026638008263849200921877949637428147126686363249042236570742575112605063358197570026386089518002650641817702165924478526355417848618822139561617758758933832318245941252772832873168978632120216009206285447429940107234105085465123021021887638627939914905403568208730694813776715624888529285381503866771607269084852110446357375196397889331053944139127108483134724925658628368070568366055379988549015058754905665015917244401199333919963949580264435534002532375856513939762578064853522541563382796406122632979504252454154866102060399772670506573224673300148653798293278745310833673502347499858884829767212651402089893269103717596740092251526322205548187674043525444045398099245247829270812550252451791875287404547062936974451784484557438100749136905077288159931167655035681179223691817643300675856387284782972949974063542594165792261457621068413785639771392312962373851875194294147180522416244611650177057583007416269933178327850263650796520657242765244725210811959621214306499598453926054931004039034938264169732112319131150037481783413233662939152812614138602172950043014210763261461292054301683332856056138839804384226181675842578759301452798419651688089250623874192287888548631396019942577841923300966512042166106083666369984354598471643374802330471130268440507871858960780752854720515555094029031558813434466693925899622554808668179266856465059697673686584888907737515345207752346307912019010236990381110612290456142850858385988374878277160967086967605084711452492111841373440653293623330721366185925623832590392834834020964515496062061305860621722853740235532403527455038987881602847951875356446682279011025506657724295806976
99458309564094283651610790926850503975521737599994634829273920205521476681049110991107595724060902250151949757295946515798472229626453626145097645331096028450217544848708677648445682191745513406197240640382254729638975606559863805296878690373687426201877310830690972300905916384636335169999251005156438882115111033455178595183216072300535516969921848369508093561229352331049365021146377442155002188184717023832600520147981863783769484092770086126863388084694672548291182721719638248566383332108135763410659283963952757285275248238337734193544648253040875528473902979516399787639070282423233978448583802768566544964950027400735552685547642125990757602555746477862924340872914072637170190726547466466291950739129724162492063209304824480715497479591773459729460290663361022958011349526523950900827205080461200495811777609965347975841171530180956818958712627667190955106114237948099823648785594656903965950190446572816517236675436099449951460142878991200379643202680159607188567692948688733366489070020730185585886467546522616104586083696137124047500303323650911917652761189221098361181805074273018128494939262859609257082759839943890108486362484982165777892777024883180488640863773617164394586968718512473194030362112640172215982827676926842385842195286235104857306657900682025073434408654110220338635993931807001396220463930705802758178544050214027817697124737517130472953046610635177476800890385707663645363629563505808200630681305716773463977477221983802713162455537901057435346063450181746080863271399583749337230293640157790589579322641309412419183106854155440022683904959735357217607684323571312703316694107068378374383208909739208815496849717160835465016024035809371220527426510888281960842614972308990185051980079962984286129577781826416880308540384269465308345915652913737452718366253325854358038285745161125308139168093149373321954624868953335140998086559364943265032028995096505466767550052965544180341672308425158328360768007285199721865075766737637505885822437092696690377818711717643563210063935910060400762601524905452349654960844415101222276026719781342514447551135651587030030778740787119837812246708874148583353963432096711671799384249121877487507106599371983489720009139171321981189573338798612277521346161878970234584187951984789761418040296636144375302506962124275091651410514200868721905325754318573465328357801680171646629624417762548251572818985597779097371304495128286502712807470309400080163714550121782346568726575553406936503401435683385319580952514258799711149072237364748574750953177348508637635865566121866624192499527887287446936980110199128500219137698433058129964864474012680609589408703545441349146626883619776669785724999157728588080002952303589474997080976431977023417061592932814784550908974131950963797109231562952497770398580518827915840921222199232627920076001822340451230526952779414960025270235438085003393917718542590959577702123971036397560590807161236557169412610293133871226839962096698298211586603382455423330760703095450645880722306902103810076415078938250271105715000523953206930485995547031072780318739720176407712356159410732748577504603108082139988997013953021812465679715693889725427533282857670159247480239478282589251789744900472503603419065474026883402249818095672367815094462117756290193049074470045213276819447811740916961269541222590944699446979593141725139798143082376941751986138596491376543432763732131414551205327255863212091287155143361525564675054236018044696998555773899186142182740471024741811497002003872916751136463358488898458982487142031035390885993742646957122864793636635782596508091260847964248803322217141174587253875998893625021121013631039671813173724183316187866119483907248708847883603073399657253424714459758025729969537769959522193776920557816198819470034320813382347035223854913900399972403245181562911799341816753443539392049032790462946631447439991361663264937116923574540724084163986511196616685243336853684597096794341564562912569749512569514168316832223246722697714964247702462343479047351212407693108017942523754605858470997525722752574673607640839106138003441309451710789013775443629189029068897962164224
106792546723307241036053951187879110713995961882267621591798507677107085242683138669170317613007753869163858809555306919679896388252455155188451234355916133507292479802654259582870097561489145308586678068970970250635180529279094527491051386508574378615869135955561079778708195511230904102110345852910508090626800299024688487037784039658092882168066838605727046363197060454279597031847509885731966540265449306093867953167042796338104187445309937490495389720879924185084902618736528789635833824100987459844193760605988583857320733385485545441003799640658523236500532521624973745892787978713318391998159062601576891856043458490115771282228023695260553875310074284822112003742880508548703610789150961866095153703151298194851100335882256009923311088804273610044701239032447434761440981853311363419940646291916476181602642451606553312374407453113371624853965877523202481091941215406762721978725379791828718592191383250470556035035322453418836277525278188622775587584914996265233776186574196978973183634520122547282848244320319998673390036272906937328877238331290192501723813597950671293618762176062365959275222458872092299627327469495300622741704733749923289824969279123359604794452349219217174751667518446525534109266926206751970863523342501110457934710542806283582315710581622328446363195892625693083448909796391381295148307647082258260950860806141157819360850195217164905274586934060433262503905727573810293351232750779050331939345695563029966605974687251341223687203817584782542157244240217881168370980527196087854116446601238625715464937285564066239341921743567764149479217486908889016125639882007667496133637980173651888432381609716429437868466881558159573570193837437795570622225183827139732861445977296764612895810625871120599872110747808170912446881834983156587688065896109747367138932339146148924758377997842505862253912394180810015172498152025715045178582642762398463052006231615808835912960577882520017352652167658720070982881970183255637559699135675069425020653719344037401405042312661032772543033345700687354665006752337161833463603427730850999551290361570755592631659908727806486119991141273185250359105950724525286337500733208823334879960205728995131740417852972110806749847862390485112573786166583391915534564426791324766924133853122972578681531414615594725864654377284018051587552697690818683843173230756200949739671664900697768485176374763296558531809526417589058360538093858445463417430841330841086420733079663101998935704614591988973415414439754896839541674868317629609899877960055786087954488810384783148254889340786485675345176970192834889686416236576933239035681312022673778366502636239176276869963592426357461117719993465334723888370049758017957861967027931841164630568122309772021049926427516026056217860022742409844546066032225642985781343705053297152697149246964513333303215732415347160053249054758530888830420748692198830611231401613840238622872148321334744687097923798938402990565373184750737567288258657799695099404937449842255845863152649231622609944856250552734468799506240260829465544921486750472100189474065125021871816194888523465618832969943314946634143197909668186133608993692471091228684875328958579435418766956302689180759899741367955770659515953928044480981759998457050409367045385715454724178422486618541819357825342978180666321130812051500793426094547987990967467331659630773842113513145084399692319352079313450650016310951099832467911349486227480045397524471403985951236822702680941809868756602032243720422819094676725421805855102170160696565420239453035715098644927940951005218479897282330329154635624784898428842053941181352919196869014692888866820423966121862912150515700921400229038541833466833928093802452507875459971478503724153860267083150699757145936422949553229766514512128852662777164401364972762324915002254223562778420697810144770572086176404320316224267834579565867494120465029976455216557767375170820195957040410968391643651622242014397121720407417060864412795505395368849501069882358441290911231466666343422829725978506808673179247829435414630183433822875734734369035267830735672934918715149410789887628382516130405968814607713227519564096865304576
114667623908289140302460219310880283029543966440100509264119513073694964751802075968679869400450271765619059113050383880816913444053203370810250692112372854383147744564785144725880417710731307039842902571877687399966755900077420363016659659427445644934669921386228136744999654211977683455769045005374964665996377856358514437103750591660568987660557161838426975608151778163616443122960931354563873328051592982104764091248727108826136510929564992526370502422488460679474776932704536998012092506051089435334231364322493527354136520018348944687458304217091227301106465166740918753867034672708911663316850316519947357137758848542445194227746336946464287273325707728160390058431175344263132607884129033205455454094782029471707327883057226217330018148612126725044462229933760103784870644723525443798453947521221233590886576549207852283982138029625146127260541054965524034368986472331634307032641478492770908596762288008443303695353035035562096300587362408359235107356098382974785302628979942575537955842816585748623011717771698035639243397811097256669762333757922247570112050756899556456834649259547413962867687080995085368498201117341188450091013921686076993076743154509881263059914410531727225069982228298325973457058484648111262310594408843719065128291371144849012336925223767259825125104124217219840686616615588750369732026203491252263152445256356117198432381802803234721498322195424617337511214543049150159012927726470034924404358504520396503310158349987084671968290232553247681459276325305041883141907739940008978143239282012562634976626769047169352687815612603711345463623634486246613988309980074057679284045392587332815426429930280975067384182301487850222608322123044018102539028883821288317465521742940090624749401623381438621830654361081549437634459204607281563741799818321074642170954871247372549045699550684880309267208645263909931488785840392720567514293732574438124332257777994525046708498996135671101148748389739427898522569159441282522531634258830972515748307962280850802908870295593835622914133743105478598251739259226820410046393782104376133330425694386602615090519470545068455925509970894511613010483078540205902486150316876979340487771292346866482442076559972438078769693155485660485019822493093219083492937142668431522613494353072408672935491056242648939794693968194525708760544929314660241643048154740136107084007378631592000806002997600049615010867922916198261206486622521050429694357464964431895587539568374596445835269531597219256102954610258361045421313297122331428690303418207698895834077244250147199451667297694238723595002149577648166182731357885331812408400453053938872140220281136261635783883718545469645976549744504736587198434829614144960699463616799394079788710501805149702906314397346861606834891562196116628638449393466404679125666055034845301951043552035903009773314805589150785228795577182700836133117201388207186951170640054921361463517988657348506874898833966485130090736718594634945940845417585009636442678918851999532304211764379976394659681830489886294116716452920717045266087149151120243745718556628288035772683815292342662640367001898272167405407578000720105413872828590158404563158499156928585103435437035491377777054200454353557084339274343327798445762488291473510492213717997948895900528756262224408685337549892442817300857186367874779643870781969153080951503897356624894271762451619450899959576019892140217168682499350385108920189553867643357302868740731009951716151401064741244148966339914478143479179343825940215844756988231283894704703264863236819331067163344855665296637924123415262010597018833811916446639601206710454598246170750925425291689055109837003289570446491247982762561861674566982505456524288451479570754614316565563758779818989392024114234808965888744914588386375704381157609409869493943529072715165414120001479947906017651658133334537560657822902137765993327691279217397015133701281052142783608788782949996514910449800850886699508199736420278018061273611734902225189616060265435018173499940297104514786239593213582085541158505443326022995209445687557884339021563417600902644719007054496264774059222854477039571526815484003845385783749053064817749786624
123123423649032390227755547570304618145778784413588307560584583721741077872215668337596889842121261226911509021210541392088551251467808540416746936046001641633447454110478487466070819718602537994864958880982239173742122019511891081800250285100844282453008842227185208028697351592938200481092077706809404364402501536879601289626114437530698533688480139808655774080300399554244890075240326713388204071767067814710768754427110683509222316118507050601811431370919178388931526345715294809320988581504027807482907634765642724289424440949514509337186589494006426376688653126328858238212996862945709830424708748795105607637076605306104844270134623242215154167720731962125833385891356792612923942343381488765382306030479525207372782635319924774976554096843888018268387355868182973016396309669494185734561429991436366063408622481062065066525546871349470438951269475585566033779194223832694553734204488654884606210824819620599240310434308163020350147056326783700677951417372895258796516853232918800473382487897338079178878090213556264364498211945645175817986773895728208556111681264093910334752613562346689682972618597008898698606970608452765716728458254280601465950657566702953733421376320448221600517101245460628946886357562980738984948320095076056639934426370856531146711248592319465716111750330526920203947837137210971655876740206952492373081434559619964874202555577606353562961740487054913074481315123908921013388431056600108381073638014193642786667471464443962672121673624463108342613854343253053028001186867522902890767897879936619394594049424363934362791914438452786409247605366942771742217631872682122347635657913935518816531030211148087001351614813148082211862265833976836429709275904902954208025320373376152030143722041998146953548493032781257505911798471608611709933692401966939303924788403274838956019858894908363832494256714154239611208483943808652658485112898486245407395657248582028385666468908412884439611545591315876196476110314424629516642438066778056536753456916333163941387234896970344224903998160702024014479785723374614976803642784219011387784278479787137253090464301410576078070320684278459810943058231872895943071045175981665780665656597139361657541819259852451052425226004691488695029908879890140460741314618686149890310110673681668092551173601065668459206820886930988021339440291636274357802087282590507989628641403961344218969247128792544896112267103375130120133481386697352166776003146938925198691942287818711903015079510388823837375909615008021700161227788127586099374452323379769423255668101598046566207725044067362881364329445371424771587301085517792963100621735384562694956342908429042361347810973754915204607494783891249839777982463895021226301850379723818441327131548816216734591684122124679942398467332834667714550979288272311042886527395147999178074744262266469411201088865879500158742599220367285977035898370624348917006858961987818722834401114597752696775530413798646898452504929727578043468664754779769922091538933774493963863471262767614083078830627929869322997483593049900847571898980872483902162852435184705285527938769207279103816484320647662219478315680265915479300564085874436033764575730085862961206701994828725664710607242542719217124626574268241192533057379248865410803592695360939275743019869313452258879115782877202554464321152054149800898407883851864740876087450290811192459169366496580963201036681865646920046457262529361321954403001995589633051866002105097718917852335639410805580540445534375765787467734662788185876103069380205302962052024993007012932498515836411263072345505715849504540696350331579560038350404070325884560190030583114115840673938074472904254837371392007009047793732267285246205584978342182193809800796632685621845940538856059628623470468143324934745660858196265571508962759232834028881859534210344218925743961964032373867600711061562577241402810378356960847063855781163561816017388064431580538170235469358713589565826067836747274287940228549700216871627301719736757094409102120567086974358504103625211870918169650102687560707830812557542133474587336835762047879346466909787010602163686739685297831788663035651381322705731767545426377796090200883465264562176
132202769486036774518230017074257648923472009876749079745175081431662973410238890642190332275806355058964441583027061402368660190268527419469855575256445150594492208784741468644580020077827455877635603582550868402018119002861261519861533944780700563781064908541146067654552938643370768903845485028859267062587102670371906357115896394186946299556794113105921061849113673485303695212068045643589375460103398298499234874820773900361079090530590360670049304024261579159912718509552395233258050480987307481353418092576787031310855703135312001170175759631633697325427385487967650668536249752125604486294957466600014497416862964209105093821850299085648893436489660659628091257287081308334990679825053274074777105334493284990818429874803942851426114753179828963987243561028439889012368155451391524148022769679053188076856073960142987201737822040240273730553616733830769141182517619148381720961430738837283103582332770363893216263940060279139560116018928551470819413591473357843341124050837054529664181776004545713882184982859540452825362510939255639939605810610674792463291762988214820990129721875201272300557001234408655832873474880234462478524682078659108825866932949671031207911478370908481958895431634493567445616956690391133554566317764622818475290502211837192195782547664834535508723296987732578180889402648563846978593391348987306642018548044582977830842182571360419628683438072784990752755015155064750858787622383212047611691695159676019894960773691700011625351839787463708972507816890194855251854717461298888111707995430248878713145190368462680922520467941596230616947934254333321034104417851934237821741473415949158992448349731517252070941973354815040976266943753347169521785685699849748594313582935893270518947823087524094914523202181469839227411425274025442951531961798742922595893492658946373153943019070041530894358013673780219857472048394099816212504254200466547982648636103771288572445289781358539483289718814678667467362441061435515207723889805629304228948779867648986842116158688589389481956285209964836385799327533745418520490861092971759702996262493410587885871704776003477730957992531802081561312694506029418226075304208844954805890326048770051368364616368352300763901781793889671628676794095247036337932579550825931066758978160400823093058497955748899195168001452374576840155161541880625173510841829815935493870430503731374567167894811976470074353476188353208771429463427622464251524417818423941559443048526225196700073922572989922656358688563677850994962697819303599843059369696706831465225969085748503834836819451707370599106030707210021991722932042801055000654026277685865689524779234866064919646865653366818780760584653325876420602918645822654236048065601299745429435431209913869597379798804521992596767145248762311202255879841975733067884322150292181387416476712499533239623263189635545864656568033378147594912147629952816424959369362355547141237560302735824006936676945079633889476335420614681471496395380641742874446906909718040353435753720655681233693151134220483230956963180611474259090996782865761976518978718798067230185209777008938899008997235719621692878535006976524891774021925795709581865701131008526172580125440951834462821979852755429730115248573173652763342380210691336496126758926469931276289549109744867856185781976213755438847979536728404153985893319903081392669577496858764940230723561106963333191158005477327446870665185806323279390371924193820052548601287703915464409094073032121164669358876893853289458032401757970211628257947728300191496946344098884937310932545271481115225444107265538672715023581435173241596695872817608739562071881224928734342912527657347584053166439981819024915762545260442515789073893632135204921657016453032917619434441186848339090927789674347608858486865965063544740436105446736050860876536774805401297183642276246743511647521998939177977324741934383133263022929550939507706667262676018594810257810255378721239953997450145776752520961242205931985516936672796748482362395769513139971882214341426138020006666128034842701528736536987758937395353854864701333529719944807307670348215474575346434304879888004230421691209561585043338970121752486992365138404611633419649024
141951642845788668802281019784864551401040472298006572075905747135782332422773406713881978732990386751804107056500924351539323113135115681175575838392424683755284748614317127910870158472323074431331973798069104010766900379181312163277135685306744703352108971559363357733827074243493014911097531709052042055085397780160401490246817973689314716676162502598813986149884128551450426890946010141462909913552262117629064917094469440865299321274577221662676601872941168260285070053245350281327404586139388855877265131358000167059263313685312426945554654547455934266068322473401515281828932218966894438216930632189518644882825727547931220847964671195170175062078036393810109868237883975647919295578352703402223081475298949941793204146588077239682037456312619351799693213950932362302497741793892678476838014708718464758658493039442834378802625007274992913703924961580372564976229985296520715713385675168811998844874923025499845772469465750793260429531815961381955519924318994098113804792556047657469080647634680347115239424601011701618490695957136304031039592926104505530356350635141472393775373562891314487120750721404201675377804079121133289350652964159542984900858966665473249143794016515821955615473788488424425323771882069579016307641565549707781679322774814101139338117837006374815329320818901684120170789142139376035251756981407451186648310819222159935440048570313547133507957514863200730686302997746868425220188086373330981352684486402500851075469552177184143426489095147055205945709161935831593542463709899717530237258768659095803407289483060351089677129924943062134166320239279940031136843830794030446766476522088760667817493266509244526121011868158501280491608896624395907559369900447385581599702569561315356340462122827433317469267200652204173027494572171778937185872256080546615205493717347688628499410088333177138260324911101714244883057271697007498079089512968612881872666881175636670607761590044479382763520200520190380295207934398266157521188328271414590642376497663901723605804250159419049402156769611866396749737644057227233835238565298130843984905154857472617488188116175485609182216168475545062640660433258806523724941502560058706474244635561067912841519076414855296828492540221088069336471598302982528086008355928935930120050978324944359041953333706094307811821865907327267576359596993554864065847790122060161454776868741764933778065889651752022717717143222941942487471148116636748806623168892623815305783348669554539496154558356972686657503456611395875731461968459869705252681358432320010732324618299210912888681260434952021328082180959698964472693954265250865526575368346351924489354148842412942524038962529039738731326272968534214256769046489226739935576510411245428137663197559445224388730789120463778967251042678977772765861336247855388047227886658328975863418352932772419861711690071328911952000493739545080302182515942814142073032385025362123950403616769555859351176155508553917738534799366615284383543585435439284547624816398851974803710866831617643828254355165570482569142911050605806285415467612415211817333380139419795413695003788211317726472484292544549101365988838826562474840898419877857806755255447957852097922677116427032256532834388866544317774733172875386853887663929219950348915064916105889757788413235030586539891222006082378798550006481431668909989963582150117785492370786484537310588097342766268481793737473427563448171128700980468746279557922262072751310995307950962696427752165098989941081757386597485411067682514703741571391698736281704037480457942868348954366366300762707843722526945351146783568452533215454188028898852451227335720022965566333483370338919250841903240246241664886650952321698830101950509001819350839947193781948677575296733274728387260426863306737222367545750245341370850805501470417834702097914342835382628833889930120660690252256575516221079026433299044953833824673312129849287918618963586835327049483155093856253954975746898210875396148653522439503193748897165941271896721030662566922505376117540121860198877706180475149537892553157640679747111189057247855683079433851746577866488883598815558105802417903046578092703008519422564765904828812017459718417784580145279633300469579776
152419415909033675958293117544380551014294952223083048264770503381657697282603056863657481965490306845347577201538573570907850007223057469956465264965811307718022615616518345437459033385241231457186156295458927418566567251968433748910577488236754057279632401368914936011883989198791609961901061539175376947152103488234980508709936541265148793193905942860855269725287321579484859215463018014816882918925288245509134719495424397746966631531326550816934687217173666252489397878939439530591400541507272508354927782275938696370518106532751527318386603465475229418472301881210334503074871736765880629706502404688646863438493562971442716499840412736662283761554984027828049679562145205912568446239095566666434017158188105455785728851161845431989076078377432217019100274188096361199312765029655356647965591665878193052441690109262652929625437511299464160747526984206439160517135701055779334143876196071231703552781892901259802911450053139562284900512515536406574480650406618680753951717539072233961777878194362961568470317967800776741181952004044960906907005124692948982782915300960363066138015855700298731158659387849863348184019241030165975054489889327674311613852766034140444358863825573984791481805868275751045333298611213302667882292799731558796167349819313634218273388799034159593839368096768667983864018325000128886313109840421170724342721705550536270299119994537060351042805820523720263045243752617390393183932357485569952873341427726324461995327038611192873346636010939308605060841400510491186207111605321529558001729383020011562141288424437238481110309056693346632085077413092559255643491488479929620222571402880762169361813319089354330339190928042156686021395753356106304680933225197074210418165474898253630556217764767640287537822027971671698366953624073825557338739903274921213527772958885447630149014971170866740150741456878992502827516581608408406329118069914190050531853872737919383059665118251499533578896340767394967765430225940066646414272074245659469616558672296369575661240112553126900885417919336993196890370969451469930440723572578358116211011489443665108331821406317389822089063937101223054953976990171941180847517963252138105036736044009556324122325716040482107112686995307384466833981483686039764347201840974376879986240076439610220776217865056462381985883059062416995252376412955764515986135462272030060398186608555791264974099679546854941668611042480270919972600367726131707409053384647425955592270930549275464506081036476130295689808224788225066793977308200730968120356462693917068875425811412698503365797725534044416733301863405565236603821604646543044168083756481683779147109392360019961466968759472998782033857718276355821822470000324083116087999564780525656120195404845151063663245082555166133754228970832027440185073476113849560450058269164179419335638797153110807479208137859311396023276410596799715453891925849346336602492934308202613231020465006339896089619341761062331234920310559383540160264805008948411631421685227768430931738548120402229754732174051423471954351715428147234745892668791967634582089898406985985429207707947240929993066098370088133753358277747365275211385620379158368898638027506276201186745721937955421978036401512591488588344277618156525205198961758459636384833498224097945045670649033047482687132649478399832505414012514584262306776715318391441312809418946364221639666918153511406325314918466495263508714997195529519100005205737363328202013366493214708388218292893973338599894778709410657139093203210790902294490748819553611871032431275930748798129834916033082511297733032190488667880523451872182364842588818542487710494677812369084107426341378654587698720813509734400189346797237936612334445493341929089380831915111031334087011727648351641589103225574696633622172271881291040004331018081127875161111173071825075622015966582990749636556995510780962981090634730866187526697618370425699254839089522718146453748581207752105315422872350247287684497377808328217088909766240946211963265179082784535892989202253568839352215950987159460251489507143502063008263026869138152981238477240861716104121802351115901600102273182827487918217369457932324118500783899023380317900438409124266738450097346645195751424
163659101651180437300882599958749573796214112074006047147294715242419304023862049744759303996872667126443193458360843592384788202674098902647880214197033531188974880965331292759479340432345814544845241368235151643495277386547253643978401485112670845302832972695358820294243600238706801876388216324610416699122651204894190512026655148742292132835423352771854515514841987596830633714394469967774338891361283120458738122372745352490929441407582483813804141141437536526715210619194164987114914216152606492386075396329241287153062291533502940681630260342184093862608908715409415896981746387201044528307328476670773835240326990117215762326053540480776592238137629626330956821295673314749416827989612413862730461159080192887199719849815944433350018496471751029138452571245626705961912915869425556738557100284559249569952867991562440251734960910180707258183678827511041176758698070907151227985151105199705963299391309957971352676020890542970534350683966966889533688445420309083945221812398336211761874125215265112872571220104606379286693485060703691702191021880965154480712272071290689190337265780640559556939184564504635709629855907514826053077746473156255149030202652668943206998056954639428276953933895816308662386082738740838459675999288085830652159974404235892033597682619736107960596182263231798067044553604255063190624927195166176781771155205242223739049134128529093216926782623806956030507959821460001534897392697019175934877815665581627800638681133914900662643017934650057174896923476358849337413947656869507254078690702878301843234676378565326620230372791737633421399287944715206055982724844568914617809411104099428426240750349186497337640701405760238068942408779234439705126004979245309222157760799751077067688055397282809018516745493301681789733710605636439764594715169603997477269604411531537545452680726948313869230391166861666757268342811726457295948760380701021948340724947415077432331439524900540799920153404842508232416874254945619275602423556632797822988956289394522136748605964554759775460175851711187945904658052775469602592575652700082626625615445560197718665367514061479270488947002275688515657135489481250197143927803735115740802048546901365280893841213463413315530539907882430438087586783475274579906694674023985368379854514578166504305298866247111781020906818088379354330885989981699822709430249971052741234779055363069318616557102674455518530668024299307581625537948865327391977631295344700742462587989270156359137206711197690676155634021494310796941887027122063027842837399783154467239033339522950907766061789029976226120231664355690468901978975143786003539550815269414963612630403280179498101952751547554990970812816178532436196677942333261596195932397198647777681295377234850940653312896701814665080293782854823941242371691816505258699243826838628965180709670260347205696837788020700473750019159570380655034142904360349884671278726231201652092242447477235571591238339488202439717875506754678942727259984053312603827025536009617930478262968149912461790513197197460908572678455661347752776610970696915204505138685247491826337194907206129771938211099816461859777086883273954601799735181593289078606088466770351179710047316097857069625386493698526343923723969789681762891332307481434697402227886319443688267990165996008240339090232380889684755657731672568532410972877866698366941204940063849277511716227450610049432548777928625907127208280984882750484282428017931764974340472610804844608393609922141171195620625899518964961568557721557279912292281788633342076190415521372529512189736731560248860023328473049266017701363465288013307286714790903815775764139296545510130717371737563251661592448764706056614855175434820220124368402049542796110433491168731947183741347154532322233277955952858211632130982052041352769107355254207224652735804840921139707321358515943534889884045439705762855792735645238009294842349445516797974366364810622672011147133223423868501222250288673689529404950971131462207713942574967209119326974384035714568731694840051916075611333654847199429289842117124934882255269542229409690066040331585346381409917974654676619498333393875472354644681110242144967558223849167196201188116587812748410405938457964372766971056357376
175727622321139894500567319689570092127169544992883676050966224209955905675392176817316589514572547896091953176365240249065954994592968633285533330925433479168010777377897703051841340286143943508147859264449067386603216876417201189876015427229188038947085708469256776037229340020635876847959705928493764915916014704458885847386994636029540060651557762617446523351542734834006301263569813238711239861604401980741777188254846802671133521872278743600684534887960582452261814978797712123421704488055229957488866708256082444203836872096803204636857479033411613087824895042733203131999776460498659806529930511107618145342424180724889226441527211277486895086282140798013040004963258308287164927821860686314011090985311920472973653443830378240147895290835315514500999212386769171282656048814795543124673791987693567669312408071291471205788916092266132781012182231281886733271990874521125894180615992612748165296765483244021523562097952073713531931958058338583715509140833327122439111584929175338582444976867043154939360501445025524497330081577996732651844252630891435852561767833011922645449818934477778307048511891363853203313495846992144633274420311896364440729081627366389547234503238930424980413694145269229232097432672110503350981857924611981273005360456597560038422245018288546960271464870758958991308093276298605711536869026404934640765410140663879679382717304787478987808991248937986792085416425213176391123526087341649331292611009897391055546885845684173698285122738015865192678109625493971766096043600127590848975684794840389871177363474770448308361915781600338639336632070059716511086737087097542875426939963281574155749192743064146567489470584060362130820459753568800612600018736247940467643695296880420236623944065291487999385820080521527587176258899984215513702060086971065608934863580596319757578844309443128487671937687739534419629475668120454846010129781712849705475403778519769327292796448012400097092684571275405222210310490883950261794904968519467632679391058030746054720825597838307109184439658377124466242480867683420993544307310188177244463699293638379400240390560178718400032991326062829937657545219090730400481680630506857188379902829686421504797225414910578770683649448394472836145284504647034386329848089097599469193496911337795092908475457509305838485277068988252641123187822418996094256500258604694117573631675142539032409779180025825146673985284349614844631634002195875364219224794262901683945933479359430117825183400346449611203143782115756480731275398503981426158931014978581482126987901976184597567186950649749863710973990587834868858226181980539445706227748528068674442319398655915517339395285408490518745304084006114127684984596541483122168571913548768555141060589034916925385203941347330062593263752858398585868453006457020229781317934050449618732367690959783763518225797541472276442009692432047580910675384404539638445128459915887107629337821804431121118058837060793714103921692027693288498359669799614788475419779529544838214835271772940912163275946254873364139525001547318662364659328214516282858680629270603765036390898707020525301638801613973822543481503453051105829641336600949441421780807815360264822417996313217612430857490448820182636710692194493792466474665625244538125556232320304112506159161650616664700725124617240352852324927125806306755961135495117933377270693101968199696512363433216904390435089782053723332423219652612520931130297591122758031087652258147635957853120427744359145081951665371134160426713068994197853503274668849147188104643733236450821912438152225299976855369397203053735707878294505312093902309630552841759628961922062852946766949157977215154489306681242028053481861567223856268420834864641420261676962238202132736142097237924745541715625923813634171262337675470145045728782482468449072606309679998694389498061647067144233671734098928547832090340937667677014372978086074595279635645796007402421002871159690144089638525254345013936112973690373267574697835570676547859975579127515784642173343384168732621721835313628218356497434099513749216353998351885051387054784826094014635246885017796098243550294463299960114937754767209745819138388102005086130029599272122716648642372940286412941823429008375702093824
188686097718283864080206722878270104496475067197908985342789590545591013119467547851156029610836402158277136275313006755230292812196164277878795671560670551912525894553401816960294487277448879828991641268304839970790251253151788190592443138685207630978026848096112018626574123460073764046567625322164508713442868259576505022781097254368574462605074260474216044205944089314614263146238956018273154098300618149230888711118350582740670979922684473190227340139190431442393994140884776742429734098193408827293538199015761822733806030843676177515824607165377142379703374995792907476315952744288094930218934697589946167675471644393248200197274457182722148866041223239083337150714218028923414785388273040396698105590798778697593673352722311878186311119342522164155801344130732923440007525419031604661757896813862676902314933868300826328147270123892789705710213115237002919144868969719668844151125601351582740658402471278677107804826032326293750230102889451969288267481967049544436443002141383638865332043840856722671303554215136342400319884923627009983631604783810169078308667665682749235072193883175906166877901214718713586194075874565770292203887158238251253557183996413275428742109663503062327564564226119503166746416703069125797641372318881723264330617698444536949605011448112057771431538225480648891668352220455000865362415591661138683776236240544530737856934072918871620731700027234712001021703796207955607038712310333805864150508423489706724824198525464707194729493360781029232924304874149854145132467214384526030904860323260986009149107284910999147918237903469933249618993468922815795537189302108562552979127294912450459585398302465260084379483245723318560447687072315554479265461500293038513971154370172603934759105302740057416134641332995011902720955240765285136891546990341910622161391118220663384189946112633485206619227886447790124643734608051275838064555874293077086995022840284309137546620240149555654870076228617911609635224098088068126424938774804755755422131361859223116876743088208794332487867391203790504258227833151499112168156756057987217705746381338785093618142998558678860833785766622881755862218890908960481705450238785902881958548469290259574593797567145241646129539485695675134601090913018643178168531752830570968073257182518210383197795902805276547989030797200820225452429101138760958495850511530675956765581729171725320650871412198153860094792492566714096972247301618219218853414766457872789652778131510060846314147337422519037457354439143230942760220500235991887786011901913273401551655389493841654352497278939660403804772621470340644298632578044340356936553950863941773692958213903385875977905920811513194684288998595374210612644258102356179262497241929025061351006974164866099151580782594271198938925192107262111309413355211444679130291439631241481637797052329826528885644425096035157752275717377665765581816168322431545264372756464395509524009508696476843271669415044975441469679403150981650104786932858676097474971413237731336474582128573013288870419700347033694900189765655020762836669460215669376834379673106485876251441789954675460442819797034162396106090148827941392738736122027701413364004077911858385967546135451779554480433995678578761552354867997218327479629966318240170812972289906171089997064549465043988280553009429142958318058969892730341286849232499639072879621114153051552732129431551333221107819381456186127356947466209748814589830024117154956416210704439541161494673196652177888394151375410655439230365287509026467848637490932903079282599951264995476128806560509857583256095842120746587416548991171112142985395925220522574439367371137422313565705318891801719150421789944412201787604783590106442045968020827162871697723578732426280484795326211434678252697604268737336591119950838163233598945386312024920529671407389710654431398215157386319699933769988626535394899928411193161823255715706453764935617768372422920193029638788242690589631289607270479189067363840365403566496110214510317413193474927835127190478393049495667689015905470282775235975837141331690596646512820046048914669934647097710069932685009326654988112889412760800232940514450208487866418026949066839238535083096438118126148428644591376114570694549387837643503200894976
202600154727472354367249248920376271966715740223605362907956160200636049584905014738507555742937488619026029001751154044285296144221598877533220915304859325073642242465001332347860738346432754294338292976183312258264431101977486800628389536348139803505065451795690246188419674195220794581907142952769507214036038684829381970706136918627105111757392228097035840275755038102692828767058595374916393811742381031882678641817226834583430976966050605219753803175722747740303078195478933153249280882429185898995864689224859104291761554020289117711189302561835522506690402446938668799882727899949704631858431661527117202141670763511085695764538635483985981408622634699924530520214847369109912147971372842605576307474408878255726575236612250521580635513114321429301077555428584863671326034917157359503162827171320699182614306914188705042292072363449349999057707445783301706695936127787797993394801334848345317241472030436874370041398539952717614531871096227827863976307887186885741555361191325174279018919119329463123747630760643384697608011421365366395490809464615456615891547654360017369001022231802940400476326035583887172973608247550645401516014777176916527564777232612399816671934855697804373184860669918703772236073616217509532044902011539171178105591586574519067104281071836722267890274945353315217643554916265802739095818538436270240234855108777187187690570242503658218066291801863849340091734097728054536812774194709074757434863125165202143937801004070585150894769387800912393157463969501754839128496068393440017799265093963480745502243144072023902748174569337742056604145352365271547516112701079335001653904775567480476784863857055552059636020248440396270428153773609323370137866811526423708493636776814702943737818728372181447865136814475855463329309043241676418766019355591433495084546921655654736630125501440787849232346624266115049204150948220902003890564854213363301962642503448534771929174901693501921649710132735237410800501497729837182703776359147183688701457218450326260738199306712703719406385190501279571756109320575658325033817229967626244908053214780106668365555622765225211061911289878891376675821604611844245570328770135210905961028525808131301057808258833294238035894267650896127938020869334463272131836263686214434220424932778204130070540325457864357462165460178582803173382448287413668675322824682281033770420866301922355022651537323101575170823303870090036169493695018624855683520759965010348321742317594924607472336239088799049954184077700149789732598754565586360040555741246067271992758888134547974711627967243707747921913094482825125310548945055152367733866491475055215914872168552403710248354487112553737860375573494930542865780803157950702618984763343840647916742132676504202018783201986120209099348400372802023043460524394696515444453864041235115878230714310451386729260532418048165453056268928003335998175713807218667527306165741987825453719341661098908068284445235404972558858803034566384374043712419040407127977599597739390848175544371789805967963348696157392551589256920554548646116880297068270063090176109881890996461390175758106223913176570771321507163733910945253204390879120710694112843714560516934578488992284144842873728570831525277156886587458612433874207202879605765478792429425308935029516243988334556216595612073137158821188610472181360993484002117162537455433307539609789396628839238011682464105283307317068471745071440234058759521901945517952592982584953237824466368964457220179456804528765545920354733579996226496052073375429078813964115483133587349890293215225020851425632208637546469014420761565429848517687826108451511311702098491180789626340372953384836566909623104258016155278820923166159436587994528627850601791692075963002353279737832940881083904658527944213968251078215759719254269703575058271302984423091274996921403202413436433987254018866784315369720409429703967592429757801073114133637465179014897627470076438548856348378336390382847985823232108825593251985638670633339486061323433911957840776265185554400504501803104673004877658725792060435250246874958635628325630915985935491516712688759131859538755032195968070517817172869265218941969560602772183061899431211961032859898075867577391923929170542406554874750988678809962676224
217540259679758388687864574398394849027861426197204190224970791565867157841450353392071985941203374147772249483817183337615870658276666638958873246194389167767981555747820786757622191690085449489346631573293458262550409325759636684242651326940965931622530571450488520281362788647862108057106293072735476527580214579183261726018722023000407418538106176480335312131061877589574897272061167312740692538922576827276709518870671815987359457385629162924962369452837535676964905494428178237543954381387843618022899519865493360785242279186819770258563106942033146724326804926669989453317971241387685359672920922027477450089374272019865799190524788983046230468124557110382658063119159085989678326242539775803376416958756622260097791339833269455786942938930547412020026059531349813257240953230636232087949787815930648029295594994536791632308686920270095999602621074093743483290007471238367302371273937397697064316716826406273002947102223799767885184380176996547410223944723573632925017246122552305607471659145697291391433518768611735298743314620589681083922607129772663845340257764575446602462838669040640034170740786266531918118885623586473525801018072056895923003150183898910464170588941566137260458688984904370920116442243275664665675279535771338708227326774767578015035329156282637198105920451685169006239547637635410301900940308233574915506691512874135380500303239786000301739089912249536190091294897417515534328823310327053079400467493205224451360484992659781524669064914516715021893100481827094612166657938853601034346375367851879205064458349607389732708423574751121627899646276609809385685253521046491933382906730440137122227369373466503737840537157661324246692323093827757938857660241677446416954801845130500048827214859183706658689672909184854649155577404750012510703613452092050399786776445872127816823470569265946173231776864139741034326314787514040872582710202953350797024030541512756016138656257759401442299664846994415926545967778287167235779374079558776098369350865196819772600133710065233935646996231695431401711343705018308099922595774188066465157843771127055493005394793161388841896401605320753565889767746434528452242588733924658084791287242217253977229304169281925467077351288418617403646707887189252259879846238239780850254967085376346290066275217722680910326013552201950864814420658273713228845972793563184657681257298230686244188397423001711162661192925879176734480858133245797966513360347546696387585862934952361641169830342900507189867272728021516560300697058987381025859467035579224305456209043337801499782369287557671009776607175639472986723977390704795083928480553128906238037148670988293399426435639990817943788217525609492775850013666767002947532190276821023796459464497677719623819312757561137136001595748627774724213575334735557932419772062659483804535942809076526974250005598249766167693418424573388826672766051615864956437619292210248321088470233499267531393648056777891844614018998528792044606870794028551899079297269223218359805968916085958520404647051594160060469427462824680864154778269567363746150067040772705806063109630632894189559650286628734063841992416716189009739824507356035416873030871899144811717195441739099609867430717325555147796540938578946039257170628573885947026114816488522487662090265657663381114237911577806714314840748456425515811945964548101964671865278347933567514992109294425434062317221426435381647184445471247225239372224362929595041934650367924536348310838553286765459556623928177744877450361219198150988082065115055868345586029406499316734529636810538459447791328055627700524303630826733740891425822668283547571383643778548108967146990499807701389295436755118544433190548406609795888516805581670888522367309117690860703326878082983748939198885089891975276516190813356506497807471304622389135153351093613333679981859198844438737529722969351403799674826791077137942732416733202474727212071616051942701692992380546872928621734357895255254612563386105758996269151288010777174974707999782569067366208556244880448930286276900455180898177081482816463833975968385344109749005681529133007491608912174539517654626959277481483561635695168149726509746154099143297345800174093570039910896436142931265562576825010683580771218129788759473340679192576
233582075221977428149008674779516187867380554584227410912603108082658018202374805256647961323810067712383420697336920919474072771966068733555650020353564483565034524467022775598244298008189993250550920753764107562098747401387762478916016494385613099742235255285009869457971473888481953605722407285797555236233165908563627875964730843125427414324237539439661138179215707499894873581515582029951369645765918637300227031510357575803659704716895728786642269707651657533449372409574933937777550857644174857842667404229099075869436117135973096876690502067045733232238288694054820721666401292707157569233298154225545415377833693857282867458051810439871164579168435810894444606661873006336730051192931725263668459303879868357636404891603978601340159466631206587500862305688724133668889282329362040522602533589890350272477857604599204682383066824815755451268421627278255274735926143141112046030091202745065059238876838876962939226378917297218979814498947557715657956334655965128415214473083086240158372047319407291410497324417347398607477831548517832122629357254357504782634502272765402620543051284713429160417913539277020131915190898317117505321296205747334860143566036205551553411214817271453638679275787299927697338386986685463912934524840448990471493813657782976393926333752707299924624500370991337242507919261369536504551506313877840947816800829238793605881329633240929333653880774478816931902637709674976019378565357004288010020274792606885308733206437543140425739662757687581666095697644372303421488399887248746043587363735265947739473581545879468335477215189317869682786815482001825266078003605590882637351848763164669156430526533787660926371716188807045870898840965563939951099504584271022135403313458748988640459822743739816338782394839471532184159189742349464697265717431440254812166982552070975792797171175053935385131708064862405729085183851143498672137510844182541071708436325475614364035694207115593857803072887400465074784117462103290543538783185763761363070710223692411381630932792489331445048304353941779125740414911317276092604862245391386605331815618717003100808831847049212381471089878733634038892983402992980076890854117646113050540143422766284089781447524975579421251687121515356326549760378385773954719508120687120839513039223311961791951395433163548526823434226190041937944213459118097533594004242414909353587488822015529020606559248610756898916989986249404030499840305076578148899546459944063704380655424389742141697327126156536040573199736891279102703476448588546095689335302450709202245683050318826030526256801863754175229456021302616091163731268030127318963599794665160691154986193746146037347301557902348202215090155656703484856016824979329927896590286548871012757790151799718433040342726730165179924489486042232329438181345480368532014074788224236431180882705377513828916402043074915132472620971996636940612835671387296985663009881035421023778471693887209421822592926498749152110581335450958486492870809312545624196068570493957544808349350045440042487626943254935531076393340169065023295447837480824839662645962081567501617593593907730081496780655566859724520633385319008877646792931968370885921848544801298094173358005777426547216743456614769986207647448280429488189569995804150815527787898689811410967310297499904038415608967547504899347864015517127517868059700963318339284752185455577895414374774779403718602064223001032608507983950944725535183462368802389261363908267974857562752989579107175652739604527607923616780920207324960686459370638858326857939293405563852213805287576011005107869621493357832060625891536893719714907102948792543323318488243874544498594135165655374192938989416336317627235919065585673495893603735479916680809707339290001215439720124941048593948333475975187013496369399089465458849223646239452903741217341722968775656264353783078406342291421995326072412823379125535233019329112687036946574910592211838240635259321526706501455874522855489920178033278223512813921558447698920641215514910121553927313799771651146784523896344435801263812367858617746355974534323389466245719269553542671454384602645818052945868046559353294176690285696727753357074047675989279399200929453837670747441325678736819210541791789626227100207504139081381251331602100249635401498624
250806843502551248587545518249580509398247866781399901824095965860742363232843124527917970117709276735058081526917897410619848018879582708077413658360073453484738192924193662920401523740913490291394234655026127719460102302881356215390045093495693969075521612846832137089804181712986985455691754436723156254093750451955727015595615855166554292636110543007213688450467112660387601367665953733261606274742931354650340208428036818335639837218021023445178577511393837516589270142712264631028769964139620654834926403642298155600762722265057409055306362772945455892200955704993001157675078043547341266243967841653970441702632799610976501788358794428209506580240508670816720023424082073080364083363511886592078252424217740127208397717113378269059951670151458896583991493683056227518452990062380166147101157643830132661569271823974620824611334839191557722182898151674801974232574455265622737692722086921839963705819668687104297945333247573861057513439281596701955847394885850409464946617679431923056952450959354695678006929867002333022448306886470281559877837734241459133394693995691268933876275756973740744001919085937603237727337688467220280586018294003422615869337497579798963885791219952877333126922534854460400808239588301513736160493894757008007820387481624004869363404125264701159181373543436915138969583562147658864431718691410709452490700540231574777938556007941366494172622527467417541823222004797591198203800112932995383700500132794938746357996209616113679421842038584333960302553347220820410870395289775862918554279440455911850871040248885360014685548947818674708989816658796079032527880917745730920800104620732575872382254889669560671775896242580005817470590017850546071720052857811529018012328768840887820962610271579874977029210574022350163493792300312404269465699247503254149040953238036864525217880639542635878809462697800869836575975159702164749962508872652341439291131216304043834760286299054531527720668114922321987846994689989038064621284472622511959084270636562937811870757871428908246346722085108587508277638457394610274385137698635283047498151827672883449276130982759910320244151849659391023069438939931409486956445949199248013397177783982673004264111226827564203231650892933208346079479335450871101792218057889401263527142007422529175508199851750298685503907191973324201084714569838815477131127390714322934115691191330565486911020513967383578663712452425170002621850160881641481277942608673081899913881745699735814115754484363997117726805491005962113429914133048507710293545425001016168912864614575220043555942658325594007598491726841253857697895094380501794416205433129795109773855542367804239111663696260108972529551744059272717656455883027994479077473337659667426379276867802666552979159464984381116113409523011809082442721733138865063756995056780305346623411470002106307245921473248585942986353672532321870479405851607660875815502078992995978679843568526821894857776333308264848305669052827468027835134465787608924607505200511254555141078761547005274103302051482098974140375268414584346487856651913516428363877019991697125965997896013201385406021911236275714558922416787727414156660270522026465358221577946691533205425197328456518834528242445607990331054213865574022152055345070421243435894501024325314628053363211529602033342042885214717274711918525324804276243014653247990716260666999058480396312006491226146444163168970271506942840606050116119327267058513238141054895591424004345570589492123531076861013562512390261135022271811561448207176731659785158031925782561302424517727462710595268597244136467642481462123360450425900829112710792284065579015299900410237089632128473343641328838416613653086511647815798336687749254584867419252220640955395432770028462049003709409738718948253857482612704295956106580969762338897080901625191132482051795868204084257223908360985159792815136467301056092095726078439468712880592170735051918459386892654262609088303585889365685983435305575856892414128507506760554847652129996556693113375628282787183485840106423432461429499907397058271193091033449781946811349065040682368573709263656042435902142224929575956930349688005647085568721046811254679689866543630134258984388269092367264910275085383544421489364815036272784791989244196867964274371340104867250176
269301797614111926311868548448329863396123806881969339858025729534355235091703513236465780156566653503222029204653528263923832582394549573329901674730058118718681943432887597353393098913947754491687937021571765145150050541922427878306643890132316978500950170329579371500624393875330090251455935590647214379307631077283766692971713014729855829970127102714196070994572291199978075639502535784251926590612320243849047177618060426058866563021540979384372809822809399877422193181864607332091518457771690872590528295552641465146598781196088153863758770842628151662203401553222390970276149897820873641567267659294877398915870607856516399451371633895786712649607446138890560527648696610675011429454825308155059246708711978057346736992890754797422395271660273831879122395627729271630222707207833953380211449320997708990195364630626316293926558761308289874017950322985530526651285495812716162866056965136542988065580610471167054154061573537801146617049198734892390455949250381290450038645329743880346999780574368060800268077560035162471779077981990361043896794705940451586312678042855391245934847721619965106567737658835054850665657184278736868286223071900603261806393790322928925036039592195387701719957426081331885299610249771876421026023471297253815099669118905725470615143264310844705474322375355296490250414134540844586424682351170228300651406141106036484456140087893121344505397083506355011926862680988302323965693856992080453078154882299479747482708207098292241933759935949421124360407222902189038744407666044943601342435449400830182337486745615580429065128113672104603293394936641287544434642187475095087113103874856224233430113590466712832991316150742601912381482392123037898444724372922963816029486746742889254659778588807310319527302663030845281316522757214596730121487415449571555926800980508409094548341155316796374280715425596666767111669482557293675373248208537908814895244499217642565711464413509022158040296744215335629546137911347144271511887858856574054408958123012729936916676409130433426760970708085577989201646615655435123787438231023811130176944180074415550165164361091538661335379732386248295839805446018578057415518482050611901333462110225833295994106566432706521055059524309331839691403390617326199227265886483903302967538132556888015603390635774895303117767667436155287016044200738105116414207011681957770202414086800014372867287292368755920262022091278515262125270173999747172221439947603953178914916828547938489366775167177177745118722861605957354549130897382883349328655040067446303061991348319053754769117315989932095602274366427437675611574319600772146771729436927496229914859877574515402578689916896911386602646783568584651969879945218009435026576058890059193633870459835442056659635317919193511126768132097669857721814409264966218848312165026268630160374072902582910184140139246703875842927399453953984163648993541483121171574689773731585372360345304658734307724980710448252494812398323317877509380052580052803306741118086440198565490486751142504753299509181330855842015372751965384399719195276152220045394647157569336890288342845377183645188947554804780717400711276142654491375820618654129090009650500638741629349818075016829638076709223061344327040515438907541352564311564863514375205388601428931698099899784082292717274793943456673158193484471921645536016174421037225076012795043025659023404296722989002479446875203759529640034336081517117378261384343119049722652876465169183396891082027953891789428897100791941590955124415569773686055473742736263033328240000000257117287006145766547829374840464071355025026523963049768333094594387691577700947504238973506320894053115970336819228745256015768414246522980922051270003072595905546052107069895394623759733372412020324378815446921458548416613396312545704188876302613857795586597290939903942558001117034601284539933055912868786725208752325453176902067962209359339331605174067661281352040280135257474069378588173870865058795017950023718107020706770493370040179987897382964185909505898199908634043450487476120877976348440345156222454413879971488928997476920636974863203735913746969278103301159540939114957014423958842614150305983498733056873995940606785447579441251502649966521482726715015373098470166104109991652326423047130319177524512481842561024
289160603376655387898259328059142077276624810931269511691232447869149260791314537569730910098894884110125611515185948726141129394090953946525670377965307312019006092817493550369209878616874680948609198336339594453853040022575976176561425841909129633841779021622793235507854053818591359708682914936728057308156803650041756614501895112840574266129158140780176239963345546052923607697169419225607934132918174015502600697157668177218664514751360362494922857915148481828728682125175667197803720763777442333099505457190304334804541402717664595994464990100561568519522912242761443158065442974983598489169960195187492212168302529027844649032828377481122250755353372101154107797339913929968804643483671451979775390389078396009943461979194794088921073197441477932581358228600567653098426783163557576191599207099611641550953568934833787119841623326410343795648764188543872673294231900218690215110081073433616077059946756306344412136088850978788736117881836147341847771891139755839503298275906848275536625297321521729251022745288285624856584415717420569417692288415310044121671068356060297964643715977774465568342397013351041510493790359206155049369696915293436893032346803283615252990556417460091755231955023882914470870962296079150172215074393537524957616077461530306550861562330642440497036741692478008701502277889577267868728164066366129470037861218115996992230483505973880429502557442288393946097891289681909859998363035432271619242884437874748698313142518749490059139004680804454609814874484901771032054226957138680608482555488041907107097305601813097332723093275567964934659046286421580521669733751166858553410263048889589946156251943154917248580303179859020331906381087542073945497165111359559379309501537231535967328391161382107367023268779202797180622596266669110252425081639057868742479361295296087628518524288284124236756762069105101262838667201886204695498935412240226584051298197515918101487067657072267692430604491635035927641058413085432987284325707252112379572149936943305017684317063557481841560895100110380058219628340897293865329189714466840350347693486659287408568307082338223353188768909585042117691924311413121541255715540822735283253899638468775295160643877891831473174354018060474309771523073761232319161271863486203279167989007241186721637725121841455736178704742041122781427850817365155134002322976236974644068112950763941755948737167240049262432942158217687469566225713123285904239891061246733115938701136293358745012485773002727763215984581971280219139798507370653993887379238188812876471839375416320112599840725741014053968128456756241293457492125439692036683072477241022757661905009651276864280936814899298052217095120616665313304544085439405528414645265947343574040401255723426293764028173437374725246220309383624979180041488393647327124569883396694686862381469560728348292346808986369805635454403389265154967943584820996306191979624349880699764129916352694105073107998078401522491392415113493879528730314766521803038893439629933688474631938698819587137736485006666939899286642174735211430215633823627868453191411238804915199048693132732647135168149372136425211421868264542781517771665900570492994238422306158355602162805593936739486285745613087510721608535569272744019257830976960844236283254331527110127889203728377727148348553558071321101850512561796824462923464816346654025016517196836529598592188252779434254221810292385129013072531446797202300956476773345690298347993694557431449168346346028830757880007891312651208373617192120822796932407741709741820349637208310036077584731910454582944496181979600983210723545488464766852754429342380117790053099729803144564672309903494872986173031204425718149874649171193160532474615654732035949705444272776512515569849047353982623580964936822086517246780059467698499128481678979637109772125127271133667019345198770254374650720293777716130992632502696335793421123114640566885352680451248123653116916513902326916887267812356931788688429815771207923494240893518700526849813493233908791505147962071928213351163021676299187962805803195763231863152116331503590617557360162648631458529883640977467142601847466802967966890349175876969446677756880043534176980139435725473260605634289298115886315798167474134898791887762210036333393747326021346879377349836964398354741067776
310483833698590515221304497335237593930152077052996464118933253383005240610317754927839394598767413248674890977431164284377252757031235712442471774459238481927824724768968823881671288504901617101177690884839041632300447021785729838401611431532244495293723934082193448669064778072968451684241301721799228846036816429205693423419329709918124033720983681665755218939704339761142195061419131836324930704751418610155166749309746244193524082913200582106599660197104368109609990746202317217386735926885064060797078563101471291568134969237583740323319932374718922006453511401334602773413509051326875411844997305988013909879388152502170860241148977915540731093038507524443924211408381531167712560993827099065492438786681106610711015002415268256342531327058324648585656612774982479273304025684490802188986706108090753690555074047398167718886451221620789919606987323152977748246704649219802430463250812576488869498071787459257751859211779076028802829869121761315968378120728330874022922744788274521465950625550553056021627316391331212666488688942397430781671535633789076300723570864664865790540031104113498119977162025647699663777317600967632114737028416154348424753444947558318231060301502458504368470120930430004146388981924427254754284128099612675860436209705268841187201242708393705151099697619898184143038927401309566190304771444791224908978606453398732454016073188106309268731979440747514849713707475936766272878226962679223956909288235344847350868379371254031655169782755511512880067831631749488088788268119868056737505489001911327525613224262376212837127629060630481304908845177682734302300531443572264831488737266434509483397875750446705161059676146814824554034243026176530154981002653500376407776092041117793339880791132607902325231402069423464710623763970988880846896007582470905625102375679566223750309314687090497388217813548414925477665093939082269670182391499597012818532530236168654171325341138516183211886708260270796219250842077756898283596440691514973174294780612894989314276710860018534481404474511865182085045969927357154111622574524453664345299131438558462928616367275181962128172304945292334206567349480206669141241603255228150243710198852922403352471928130462008400706837953373982627679216208478472130863974200859554907808617719047101038415871239536666920979785219676684658338293861037552547626618692741797810563446379991297014462159896448923540894601990651156332633983686004697743692029961664362929949224430274503617956057376677998865450971391001719938114286960296643463469519433792586394377559495594540317070838362966640181917372687023751649821166861235251729466357151636974263437403860377699624182013544058722666907230958792438218305152633788119133555625036171265777144819494012362188195747436534035087257375444103417800876739772143469711039460341813834268642722316109936935463931747921604306241538290164021349514922406294795287307838696020275716747133226157509195695246635205691345764284716103728085218015148581499254930750184809878883661799075587126730140200112642407212207958415467535512638105383375098281770161804524688489225991866829156626639263823253542219983351702463857880752925636959597163788212785057896759177106909223391037996617279479796582033839505196119794516722994559485638866846668486589819934168626881215901309242094485205190241990659133438635016227261484303881309118176805058622321022364046690762805816206283927581736971819759981386956726004315225836083487278936334595316984983488648731894553382046352439862754891797345570698358985093295139060751299773789086095451635556082508559982621199812690504875676092531129720211280386166348177226464360732735605806931998071848894821757305048987478756311172437032446464105046810930511870295996181406092826798115510527675908130702943391940514365079179675055536278328338178009104809858512339206173160357013215489181443771154700769046252154006848512944483933242723391872585991012303367875301222893205861582831343216621677829897198082160762455958670502159281809479714284788884440373278184995019000738935416061027652901947281203841652875871779248854052245326325667278213385657619170906712597375804774798273382415132103033973268045412606493586596993729490200422105921106467902631536101764359535079050856962198682683724474364037283661199343598228255712482273161509863424
333379477918037246042823254628141153579932819812272968048613944421722217654481459395803259935536270453393943021108081173150886079443747858851919138176379341236173556325730563553840489487683295286768126358795246508678219301187577293856571503032683319190642552733870159494771987182224350405893127366899044542936986443848488127647075399584877390625806525426023367121837483795844544848611970646432000551593393685055553668427997673217503957775147226709002081577819043732380063392450397162023438347539899322997102030215872881692005062147347054687503893923587346802523133103273812416240479915012228824935198612606656177731265854871671103434980383402768422550132680771534143768475397194163932535149223162091210546681019318318523303185584734543014529155892746062556521951638671388862959659045008002453625778528253307025231336780108371060735057383590135204599619931507155758433829452042550838605244092465361298250557565549443744167449446867380201427080032481273500526649672530201148887285800048378491576978572591842581436298150253074076647468540378448260425740440305678818414099500018510142649654942747561374364848791762495818388443730690289471838714171901401143126290728274852963791141589239734964913075737340489756471268465037550675177711519927768271905545244581867946711787800777357079059984928237934936034494810885713589826576407033245132960922870250525984463214550314763620116381771838736518198682143014779526501949148793169858396276552360917663522981650014277116775741565586677892843526779999591651521788960828177880664632970924208303613350138004889345949635348356779586330723574818663223059540028390636715973769387918164189248932826010014014426430438730241506888714665386067234600304474518334148772068851821702419618652613289434919507806880100125626784792503955084004264783919920140632829285048910676618449244116306539918692231228766954391212189227281541121721519461459391808722500019118881501544080291492603215449412608739031466390703086106641791611311508015108619478347648969703746771984759556909887870134544131630254089382873649618155262722769462810157605255216453507915608919994307789947402652498242411144177218609722560820681272703953011578827433443739609106146923019599186862878283073328207060788594498582038930527050354319880854538577032568353810900951655289241654613298448903884075316976459398464204984452426097073542153601383778052360434353946192718285636708533195803548311564367396927427880564745300143128201664467148306335438736199482889562459256603946003953488001601208333533543439165243898952776544077468201684493180321060974280083651566252664227801988979391094085096360874634129331464334530866592523393309730790317239475114608483061449930284777602059067993316431798600891940255995651590854501933121547379072671733466804413874147459362114673557220263083394849876046142664025388269610012361224851616790043908246557543003094299753442573500522770962592389082974177025368435082587070215621640781957745124539167422019023297530022643984697126096445762103938542435326139894244673663779786928336340261394124814326249397305247159484765470471453320855298303732669330127597472037745933306637048054956420866765359672951182345528186011802515511752526316603741143498554553141980460032539145886891346681044186378693234949114272795945781351012193209589594590124561984702051728900659354394129344681396887132058994218137557901666716285760819068451144064663498165209985681656636964788941662460208208647165896688249961314351711572679744724103819321325084747183404471439976930460863532785424747429479080695423277265771287035691353095387946761052689340827568002560269867217679059234219103764161505888880155453631515378297843608624224792962809804117744213550503490373910952865274359720012996559524628036677932077117408839830954793858320288717858824790441506144332887144652221025743081261583861191458735701793086989929925528207242430780697789218736049516737257586398224663768939618781419023440853549785387471014179201228598940691782533603503188640768907148072233931622959215961132768081861459566727341375766871653852166113409840789899967687984397201325956177227448066741318150074232359807293685073469512654390798322246929017916958000019370391357581650058943969039973830313025387572051343354312595219532217082632962381581222764330457059135552105847346876645376
357963488703881035065957823534036723974381195742693314298412457355214639205647923985831730268328837454784519370036661579999092246158138731359754201326013587574847409149756673442848609387557887015545011061555286428757783021529154609646539080052734918762134738304481931635087391981146194382038826927998497311390406141281149221822115567815795092226914000082040707280023410082520565206198421230134355364236896641741631737267769434308318648348705565075065412293164217959141537128245317278275470222039037411851273480638094461740109721647325783261188181068615194379061756740504003715247900126580595560791296840102540398818037580838827416530368502279107892678582196093636798808241006682386063075304070990246864066761314829030567824548994763374772226994349457505578257983448546806014327590341404990649152618850346741419303909576231849260422475295800739442993409094963248493112843419141089063056724407808981697202561689450059288047746530507171903581800317070421854298349779991580876693129825353245209788233608943681460912279315660561820666568675528572685439161556924382692042119984467363114331140691196382121662459583151258434828780311912756196580097588752060011576108468932128994672906325072531794502341943662122380166775605243099890457747491553054252525188106631861006429449835507628007969180422258709364211001785158961165481975994963243057704583843426115107516927652158314063592606855974476782906062158636918227744059218580425602496239700140443238344984582804859537408245747585655150762284991349608259160178054542712268181297338490698389677744367932021607238128471079483915792716598465591918369669370685174051931045078738613179295630322653467090115797733091329759567197049827185496666366837424677630344008569208620478826545441415764490401605741678458193133046358658259112812492865140921737430630809033279125367843428864252315425408054205990878944985631934432525568270326598905062628356280368742696307799588589719459064917274236045986715748228318574615839357517648333348636802933110841421798585027826837854805313740541305165119517425786902534935311145689329278792794208100304400504359825358115995532988155900963336106773689250246589549246675783918662943288167119569262681206735052018651063765557143754800100824335303843894903124328787275148214930381314451625594138913686089581801261091182427287715403681679568898258715839638696946214148837986769952660288638446567187537712421790026651109731244142182988408106043768671109936321044791810523124744447087585695585564111605027882529418001396356652307297552522021466425976302157104178707579953496916138714106905328592532819659157559291772286977741291885361018415150118879356733095059735744194252654362321648274352228649941869249822883605288601322359957371797875232614624281456296507909975645888414804477999460442886082494253652924250218111959132234839582919258441404119049141490771080747337945100911061264179149705385046908187622470380184117997757602631412137653867092095540949792787160083838188381208513431320262355672518553048138408491484925443002031671150763219277753964361018328358941436769795990976476236428666025240714022374920064662363598315277250815284504559581992298275250645994644032691724118533377451043798102500643983707254175030127697681855992812275120730906854028830722506456352403072941016583105145586620879572655041119932147489989814857450127792457099153327388475304241232584763327094292712282878558466133223368835880716278301995679616289372580482340637072829601444161571057667913611723446038593395287579693716735830968770308105768919668179475746978183406994508530786573669899942827606812925550536553100837158548518108754463691376041163712919434185850746177576611590917259781909763238469382623163133872449588543137717266198884229529698681024101689032155229833813252018976824384120355904985080572723201505885027649832527029193276244679716093177229295158027868841407937636660188188493180782655781489577067340837047940816225519537680846663436751673511905390058867542862399442766806560955287123657718545495527508823716611506386904910480065239486590168381121468963673309296792082837429534492227404280267350048096686625011989419307809914468728525916657399345557342096683163472190799347883557163220204830781029472574370609921340834909884257194203197070275750122406135122507101429883581379571300889909027405824
384360369286308618470729513748506718083236594388060553967382672264910382612174313002360312215391415360499847355346495951778947226734096873855268476323457048171400393622134019698696625599659928509657216531334549526856827995732945739739882867103105607860146376040817096648902038665238888366428922864489423172391430666240022862255458973325327518337974860339226538677102415104705622202014428917564786493859909768203134198310183528805662243851153701482651432714974170122982191550245848893834218970669881029805425603823176231233123626481731871241096865947857147966688318091193063628513056894084479560450349952417138074860567116150430000246525627029317465777497092967507251145881724746741400038656042539693154033324351957161530047686949614592476326597454824195450088901890604457639198276986704977382324077018748093164019728678714252871779079634708025510068487101604027649960235930694949483912978281106135851136894285902628216856528758756442404833474405654973098283772332958158755184000306943594955877280609005291245114935496394843414187282345483313799380023571162666501827336196948838138852239545765824081514839265139111899708439699808491767383216547044638800587191822253031518943372720864517221326937810859472524191495062572430039794301986511601065877352083558000933558033193694460463190314322381156792613801377663839091769782743956047413735057109201287244779182008104505679406777678448939998323207202872181931596753550522560877120611368770012578909010487192768915760526021652864957814490877019552593876114292449463356744163366917347895966444009829055988563279666883216308721933926351520267669907896356430916277911065071022134367329137875642273264909029144549574623163610848861039976890647469484821417573508573694389458968281884648106278250641598700521802421471822277332455907859003399323390014598361988804773592874255116529561100980067431518085752068087070228408601217007384038349405506604989175320214795678774959624657608447320224324047272199554761091451031987833640325308694926984862416766048397879634370904740661083755336051818764213363171664711579990157147579371062256421952777838832344922247166554687496735868412239850768965512387463482161455016367445120583126205654050215839241275227169635911509269014505692736937924545020090824525634169691665594806025215800890680390990683289546449792658910342062935692349983969551345960011210067907394856837851975012093578485293404560280561371174450235016877315090639821596751639129882484344331362357282149695752534352357263722206157995018477758538802971482555731129527382555658944175403498861893613913157922163058518265542560686896017335723612131382149103938811580877879337334540170606046929134255411840803492789414409053640182274334719282278830279592612956496711592050965045573188688087677811804612628810508526960350041594386809547363027932834859293850111123803600655908938329934619408097928317064106983575466067429202889522938285569404868314743476159319668380202332120242121697199707312200409313294436536074317229938346817823748894538104112313673009522287188678059407504316230814389560705026381415458969135195571103828794313447223482084764234206249122356109071004741885087904019682687467377893127484738820909164238478466780432240453379928464569061836625427583177723424138619018448571320295605662322892190357566605963853228826964374910946802138685546460800204905979086642605770629754936011572009442534476876525227337916529487053263316943090476463871314171026382695235439902077095847079458165954747726360733044846650438824876769270470563117662530304727020505047924117139632817947830335767028738509210256865507409322705165746546863026591048212119883509024192725627763335192472138829371040351309631383082261865949088013760204550358195220604683499380053323933213135542867151132897858098227858027933067584947851106942775032048536323021610866855289683498268653690272138649215212132606125686065759733695923745130566380763917275121201542747458038143737069026262891850551725779237239902847470958693014483415297178599952262718994691166553568897967262928293421965885328150938012493250613968864453688374620683837155166894679671648289824025096777540956268635006936558378582987956395146799484564296720322167814501208044328448656433930479762674348933004601821997948588863048869340119400586795231238542276204778153324955583742280795449982976
412703803990794594223681198702954680750948244681784303039387907023719085422533931449101277943363859203124723651051322715271742840033210740326053885777249584889215323282148149083730445194023945417668941293118112363185587478992557375481331115269638211448382306717056847806176362593732129390301772002872178065831441205538097369919877271975504514937610575006786362388358494229331765766245869380264359488087704314985850516610354179994548319240670559934333653719589637540737202674678365439693936631182480558806276052945398619997699931915989482105348492603535622949189805906729838476627668117270043893328677019346691045360633880969782566849024876429203037178987306757628808578605133217832048933820209625191719612054646454100591136034192260168622547597570856689221910958478174678808043491829361826164375399817227059750456474643467751853341307092012649018619467705396781974614737255694732646444579956827287046391521344240265507961396735735598439516841224585286729222148974391228697472837945194175513040870801273172247180941929541344591743840023242251520510676578463195330375783301173068697891968956355527426148868195617289624933045111466382400999038642210692275163663618263853852679747578012909578106997905366817035803260033773515163041126399803789925635492186489768332192305371250035276441852959646867317731132818826483445239389911579091325854362873177957349357133366610114710824592702420250324666117443541914666092541389816570669350525119098249942980704850553492335219209557689010714629414487922334085812470190407156212491640674947814387057571833907724505358059048941297074313636442888163037380855134545757086174235517919141996099949074510939619666969856147737819914299808163282241387323481662425616489219644749998252156238976148968215233354695439358974309883798771216666785060904102244811697160138231829271505177519836091463783486485785791561224484413999582977867548088038128358805776617977685124608583218783915143232906215869703425577791685113774421162218861893298838771456911453960272991767424988011556341868348767679037271302012838403882497117692528332553237688511069160028063289318534620067010810795261948495165395182401290156831864009634069432171768330377994825875681178991742820617638507139221039865104542024977743279275744242438571818368121454533365066441404041979987623369442323925133094000200539120493098574633836822672757467758762050016669294051891487781021486097387725567918428795217544250519089646327368330697474309791645533801077913075096958371288122747048730669389603323222156885877376299374924672312003259016240811928803951573097065964943412478821180985461578422552395491649818796419903225131244137680921500460987808015118214146791815539973276675469137723154936629868682042100996202212834811754850747108993998747443430245571413495672430376105959429340032761044926192002765051308961970300675567986043259820287512043996869921785664557475458976891539301462430244586725661898752466183408415325633577579842563072781189421668204949603355735296679182028627919714667848539327547057584117384030014623011656994043797547447652357973752749154615316384595113746822989841649469389326071446581124837047731443577064343484462431020742444279463982527993726615347739439905544721372818751354535903830426976617941160465602126413710058619648291843047310337429888779689117043988954108299899856895359319619256356515319732997485556268918693666068614526172192384286020383829158731178355339086764072395346254979274916107304137349898642283465922484043945525162426381550716242474223598811702211780266091905852866819175559248951099004633563281569021876747298462006278448371676049282919550407650032609353542625647157157343086148569888425415830085639592804390038390597989817255031419132514708389520155243567041325257311126338557405047121412560084351446525894938577180592449154326533453848011477643595419888807813685055417137209589238043811431267729500240404415423461405463834527048373748765581269565239917814672673421399126145444546015302009026260974066027480758942051966508884820559139491916862213038788913360108851378023626728845437701932048397712118892808371434307872517766531355802129346435693348618588386338312845702180023669757389226318327805755942336776620775720701315449717848829569042541336814960745800642064036179166397481563852181904574162753230291866489473206421327226635621419188224
443137335268814266811075314289816993098860857974217377120081115131190542045203394256048969339638478876442327272575786769908513812716199920894087454036751626982188899149723420235388656946963305052444290852221560616283843150205030238773977349657575584980683699863700071675094206037079307578946632580796105715258643756583235571467371755867122301189345225009475601129201045959696164474989597420830802958930997903145577667896543994513370622357611902006992737569456561944490038304566826720555529520106291952057190111737112886643413200700150361280612250603770848634439321516498070641119573733104182830582795094260199331409993761148693222211873903438467076006905645230783882838138323117077973547857367171015713365944128471301101005883585723800139321824942549630727735813321943543813962764788188063981707365620478649758612119916286813560186075571521797588324277215901835321153149678210416618985750397757572446164004746299474580762756652616387450178366775204599416197984340962567191225629205729206049548640400707397490954243445463802825351566127320337541499907280833150470905976167230312123351827702148560411035111031897697367811883735860196753930207173933792115836942071997070149045779452275163825943678398072745513097665733810275774055436447539874636864677739459272006345603888091010037791019426831025709626614094473009873997146640306132240485441949803980600892933608475205266450030712353808798143589134826912474022556344697139615933333736738372128983998023038954269588293510311231589481730996313752971637654264193407214253705843071057324772639173951105158072660096309933589499387542259608007766699574846926625169648826816084211407360205572488215175078485893089620228563799700092763694033005678243433713459177690495147267051971230085627142686856320021786466263771320655142492991511121833426606245262445136496842560535592601029353710720326985904232985568147483361894852714457772525530241047523910816994887431392832107756121977048873102518946297866097794503265080656514788519546063241981795545718291890410706639596488373675841726251806119979202041136825918042967392012767419244078680567460323079957899190211023455134992946604832373992949891723024439284642758808365502773798316306373064417148887977228304221283934064904584255628093279021833490312209583434044188475298674365156564482214130026754171247794538783241021615442939136082095011158540914355566877718200070316740067723065399738086508169617791008440353080263667063372522941257588822535425023051551368057058438978147951994685835133638913020291856133868025201677510892676430042855023674913100504912938246659771793816241163632697350451870773453203737391558855904719782819781905797889819914850833598847766162451008774887994567588691559611536361568454381082086984350082048573943020133624128696617449101531498553018894929565893064135195346423159235938413537281212801570096342341425386543167360108876798995852157084695259719955718295316938394773776364271270408695351546225659306603119082511523505392935263738317486054246962731753015244773296111056203233358496372059208954046944314483168787368638221002291107833132242936001191317706172430727142085806335546503333935288590152738369206343686173954850022341912115076520828140480917976840422190100821852052371248572553492763012316473735616949408079122037940720006024250420526687762187820098228011360162092983379305768353694051913128601843392644701761070485025588782180464633901000400972931111160549351447136933015730618503724160826694380572224649859956964344541599191986006700699119971921365421777200728342093494050643164188823132039826689571347131834547437667016120606493271094155930099970089567626752319724127706540220314954566989382481354628732584403035028950710037112844109156654840692991473975990839218865162518130257069624002951471721481116049752894580229854113755593829522331783662777969368069454379051643565137988282618747932278121462505926740275514441181896341251107098165233272980803216396351936730322449418339415716129322311082721922193673043624231343188822036899433083137921244888984945790582261246917184002478925653692150885970615687966868921226343231214786107784132171347525789274850390974252116716026889339391528472745344990102782303223529351072278640745010179423287617728872268587094301684381750209331820118431363377014264597255457926355480776771437461964408828593526012632237080576
475815090654036161162946671366921362796166269963441111481411763588918531907165382999481143372063495809376655116460470464556635934395086897409473173712937854990823124085576074339064725859142650428079948518050892948255177845831055142556325963156010984035026320658717866349346388162085347352475181265961837922798640778959895370329058105630846601310124911267364749239964790751471990129179332715668561964507166778663707902660901391965032564438277383945097642792581615511045720478975452052821232560204774594478407862891371399398403727705457525995703573800038012290770786302447084462676580502285774454539453387529198360711747192924418195634214799536019509955601504105998787308424939828032668867500120718044132002210027986865175847265676066733521806870436821935708125499586427159959828295731752025474747169395567637144869337347420530499262130563567657398246110521284078462682608718826665796269672662096941348156280259436255086589837639448454233045228666549184550337758851388584811629163898907348953714191520575651872230232857672348171669344054805555464105786139552667226297041782302404367417104470638723974719029847432355753114330931418461871563899819637555201695577466968473424492367088587655356367583764416027851921303495163743979577296208297545305318416717139195497805668293180332995980038130184980085245374976743557940875706404357778350284045084628642572863394561475068761572461981938797992265945211535630924145332266697879418794917228886195500566041304070240780480322002808944614576533054659266392051635156716406951007532910698574853509933971932112939244746376343843761707939626508708583784422167956163515303823040744962373694140554156418460380593252786004317819685391190348257058031977433159461631512750802932366889672998691387664964372493365886120720024576282959141575404612368473709708359917889199562048701190317616350162530890012251721233415244908355086010631249833239842539927589527994684253420629258414407907822958802943142243232392428791153632313021659633306507951649597464886524054634124574000256329244050345491879880922986560831241714778494809930317872311920026909743672018202351503292519705307269623429492714607320465440179879282764234069571031286441407015263558933957011738943856240789838988310984746382684599791143059044427712118247586750790630066977557625251592706215533500192635215264050355955180989128035897772911022672074558774163835125101498824738050847769186062129551836308300253544111606328273554336374427768276151199568866614811967281264342989278116638406923356730223785526617525041555327178405682258236023551288264375577640539274167825273316002707862854919114158948499933759630429408142486989813796486813622390586403458756347284737595626472588240682704772956990695784312835708003871172302716553385442177310346295677116762428505592449771868948136433546873473633864714873838958503186621434490025310481410525306765575980570212745087663582455210655858982161643780090100026700740722319429772229565559739474608327745129749699484146800302076166981696710052505306422685432777594226301049540432237658315498169859587271049069763815115162303728102163313034431646789081827475189520859240458526601757868756989735146404901963305861956635845466089961373581550509105647024679328931199321771247967450983656927644424974129437022746596833337065903141769634769092758450028182855204085753166655631297459565816928439153394489894180670252867834783940385652390793172352405965406425923875017464865850034076415004836931238924172086170659278391535456811061160279981017284895153845675692549580831664167964280470739489238430209836350304220047473195431935108193977420071148365464125958386317786920386976816060429432890341171236309734163365046167985148783121428201344652927593521670384122089283428935910155014812273615295526971923294629707553528817347775855717895357834808714453578123244617736287023303647699151829126350269681901400538614444661388913805138612990093233890177603284627915897562558485635490749022946595503282130964758185857251621020575120713733033535750311792583254455201055449373201720919213309371527765342152955802426785304899200560687046486097934618171141994675919772878863017496131806604838527602192324414832473521017182223417738153485137884823549787948952528114736814047135724538350594332782080330355204388131242096142675700787800191601647500091511594958695715975395185284098109210624
510902563325590140649060320128246717353321310917821672358638409131022170637401957011521473937924968634176445967767197980511169619501324941862948600421598744816493924517024786151586953198055796546840944739598062719088252277627027944613009462417692030561804041432100603315335412032969528509920272047244492965618183734721178877786278330542049900354934311892058377522222408117263865366215012333224835103226948517994574006006330714092673009959353493655157458830207037507696924054489255538420814595122464486584105987316923040251474521274857298717154171495371426586426642450303748134436411470607163632069797760288580301088441369157544687519070635661599942319313718035918627226336245458042044201377593940012896008549767481707661956323792432487597426852838564862010453405546841544378405800985822834548949491605633772223302154525090642113325350725451284402199873112029157230679940218831247271925010720082905467990343402822277748404250206845237602170504902917609204792285005162123988417394856407728472565567577988233971277505176541839520211306610290473089362113338437199451629206409133594585056007923102177925647340995892459382965875374840878157247475524890899541169297242116028405309960511777678646229499405676852040556782319354693639300344779685690230855233666653131835706446270658417512030990809494369974135044415092585483685565151903602474421701487267393038830394179269920462576236436657620012583173904518334189482614709130235504068914307273289045198374222291718959752124543403409313970383589706132394303421835355200650301107025273516877408289305141951751558655156552829251867304449849339506637142281407285364964578865942722217941716096732283538956329933448537357887584695042878068728712129299407478415078516926398064172754692378440204469946216042114462638203381862891688792649182022537921158300886282839367654173592922608519155738614298098545504306814817303902892732081587342644358294642807712311332571944699157653694825847654149026120539800702374003416224009215766173700999074742590813032291442720572730258207430051159116281280531150393354424435011148773189112825116000106636197253765282354104234452113932570165920976642777175720314267706469175080451824142031064662837695489610478497322162988033579464915975351440817121164196451967263303508645994067481392164570225724891602753611276963077629944487404254070831165297516461434412163019273618690602165880402061751533208091039488432173346362313020223740580116860638490389004101787618865083924724862852600907165613096667469097402607798339283713163399535101888485292801458090679922786950467218540426956806256588596791083623275929600982697009493588240938944754838602154432338935260116050853715485279404949105091593289343099583551598428168345063242477174799724408031609337152187078058511742645591990667550958264431218674948260975557474713076841807117875773185471912711466816286682476055535684629093788048792978474934923832287926259793026855272198887012102045334342034273678270842244430747518645424558987559644440115014521855600066576183487973171568843410880357706658072611641171772373695060303410561702090953142061054416894083473611226632464718463310873086897192949724015605482770965377706476621217287210381614541565273358999456395226044979355661681930266222703327111822383679160895152894520897060373619965149647651058224779477283324673910352362928857578593529205720766516792334038815370527119862856850151838795597661520221688418752083976672822446400756913730899672002674575371045020333494768868862651067556982033614583168184858850139016432630650132626520665408879499397803700424406385517156188671235454194470921838660842009055708069213123472957171539655272322437993494960521185571548989526698650256584059300182730396846887121207888941774032785879838618548945727277689274493429874115163791593112609975563689661693790962680199748480137379172646343579389589186340688259063665031136709602486456243466794682508314884812802887297915434784769577167418702472929635991024895310284353288706334201296359181589071644183889277729708992737053310583707564935121272539735055449660516425127298850289120079738863746173931987155586959547825549526320385808616107452440478968294567853052332815981952772888691575912937678877523909341940267467121506427328787994920334841370125110365493928430119727604843839697819971204370814677902468153299826888099142732406765367765461978766613938176
548577450231494663496938572020527544212967676842972956585094787576802000484643219942720656441276018596403405831267796366963179719616738613492616388234934605255372731795828512935614915621483064237977897442579228890860219617551399376947743754305632090765695216177875273955308692488072249678661795002584516050858037890886650739664511576807895568706125415451163653395191689025503308687610135318859330245838131987665590715312224496497089222749326386138061196851551410751150909273456768630226067542932616521200041492230993811307243671163192081264269980190648923140391836706784975875906349664464258265765089542443374978861172221036279376138236939120125768824234702032108964313582341035429780009475801029880793543742546930584671583758517221056629718486673460212477412546738877357299846390962698408509439244400505895263048990702900679828093176793385785337160841367878743626053067770778822593951785001801372348419524939732759257406192706450382708667944293459696629272857642570628427037448426447452457829286490784348594858272018429476778746973225156549744794590572508287848644143861415596109434561089510184264257112301679545845711693554738328222324663189491711874335884313547833959553328285284138152088313414458379064605561423154859251223550287568591175177479677178341752583907947214766900321698016313721333758595412582525866128460968675811193056471100122003377238650272688267385821531850552013375809960099946717994056624334070728523688515469991317845870520779278091775939628795109143884601148357590730221044843370935720834140296806536400110843160951222811852638585230784040433260554885944546327051825259385779874665572606909190033818063767395482566804144759086831112790355977409823655726364722884869627992647035867765531174922674498985283422493003194958043929924351324429839838659490496987876573682186378152522523998954877355162196221719783672811981541399197562119454361021626910106266258599297781498437491670512500670341842645022512096474492049470763543558318598847929580907211577136421790070935584606379285712107636913484002830090254573112178697171319040344059440301781846966083744943681725142770894586736454613702963972100276961083498755660368508650659688398391670435737292170970928231227478402396465787907823380595104003729273301829657687797639149440310649108844942345936831742945995113304155030190924188791373680622600827970611372288100202487927661250773475638451901652244298365188709207253747193988098597496075126474895733796919540812023247152937501541204060076494016590108709759745446665025561426861053768042889811680146217693439358068887804658339919164051936058676592825505054753279412990754130734013695633502910509292932414922895345222340953419686728215065565419508656333694377011807267372795947822920577180459329220318783776777273696529619167143539798251062581808845523102315253004774134204115705578901855579165035135348748707211310731927446580373706069363396981908035367662518060954849431144360231427105720889821723317551324682353812175221697885929920554462483719880100032693334995303394865569056729719495830348035412365844143669974049942867684640655167688959109603763574351220044418441893947357502458316604812835534896938899401143879207069607026533925220431550683124818478428439390519082711894771060663916818215690050350941721747615721808822862599101804573804917935963600148706958653941518675239403947887074418727380054902749025523010544132930065338996250857448607110538452913849824826490963530026858977153531437331356919003761419710999762754181112708551844006509110930810157938807391712242210049823979479604646887651686502438469316740492920239658330005126216179300499848417442590248042870340434711287262179044825786237494519754305424842635842302368469610620426247867755529879759346419363106385218484152636099812069048506355643944599672562351565517034037742953606617403937283416895861864466299552126496702404222657747361932122462156224205829978919585248870759730150343551533207452910964996777972659118719873767458875937885653535872198597005692688264483540312850686374091388665456035556838016230915259623087098145299702542721773833002504270753140384513735496420782193587066527174131763433138850247455828175805287518321443361441694192168516278795020425582489194906340907736269375063067263508795112046757373482212856808175672300824704608595324616968649026067741711817410330784155924517949283513320280921473024
589030552016834302229469040737276610765472557786416343986352488425607920087229694970530053169733061095160112817077719903523617932981085499782792931235670823567623902838315703070694754061017318979995557671679956493785749141190221980756333931432737254611691138046906105101272849955197795613749729645189182978605586370021745342458321808550825885544032423559290244119056917003884705188269552898158838857584604249188796876696812660366266192725604008623210145331007869009713987422539985534164919295895665972565867220743789124285751643887222066999053474558351242476400138820253453172791681541903640653089684000826474866518356503393625787508252607155020798126736104364053185908816810837572420611293283881685281762225546127651586652785839056472756801220487280860936924506735887425339436778752104905114822415499780986502499183078691618049456774092084524283595536791720777191866594908991666872602200995890048831095144226002142997600210865519530495103179115989805929202089958826126616073440789719617442222901157233345650894958018556628011777419465258756408522478186658253249720198956674785388591569232890092518479529767778233819866096415593776388149561373270488340831871211481839146979932938311782857691295054724207908912989363042334406872049117529623613545370552296403846714802032290479531286246214813876901137667013984393874023953498818772375112071414048286528810388427094397606251723347685814249014584035084011281751980971747889390034133808600694887988763849371959666736816336343414433730082549974074913036613306902829475204603764951769377410537817691557029060973718481516524898938470486209136061127396542160402285903320947108709274429473751537180640484244381934613427466556793326847617974902439654456363026286880847984248090335575498744371224599877792077692789101173110111988390107041146429098112381197985443285119721584105028152386955308937730556269316305902486496231488116181904986366338065685025285725456280899484574072825187456659530585062672235881933012462700100206826864933588378229704111464001760016276335592943814043393602272029957812110914675746864959970994054350811451626432579592830265480767674126984210635929609236495098972970204494406990719112624160710880075434880479244329971286418709787146261743420550033178433972717301079182991459603213847735500755142927701052704451931926454290088895978006718569931297304868649074473275767764914156784971459633142850909416349406620237942728402232542907662822367277539142185235416922833332744282528397919862855258622740264898549586375715677677799263333101830467460445416624456704372854649166276709025201601615221681054374775806563111212006106886341635469874324390498250639556962201508034467340146060874753465062236764493134549835530153031201604805321608995191569548879177314841588753938438700658935754554065292790687946529579011310114118384367659568347986015337054326557241223253452312998714738730551526873025756558124394190028895930462759202603209842307762205602619789072080229810890578046802898375953492415336832323638608954363670406601150500098636348353770928486461238294098490293646123915990418321843496713864309368819007361017588638627119218818445050204669677355221221205852254825859536736546234593543633753264065775297646888612696657164649408177876757974739688695375191460082472004426985372786082039780060952404768835204731871221279281026575751051681621231677068232388076818892497881279299895628524826821533012724838431385128928053855225771276890700248518327119607173561512870606119049661318438123241691586030037382112560643466436782943129161785433748689130605369264348023044941804462491924970602837217252396498152710580429751351468320268218164029533867850498280093805817476881462830991938723626722281521480079796146251042999933439179301305374810768370541812566580220457077357158784721769007366902123687515630756203848716749773763477662715136404085267630687647969495221831780132185336706995151720832998997014445983492917377679249904167059013665240534486024264509804121045294535052331039463952439133405480569950993497826626968834008339689410608107220324556057127093273401119634879515359963580332246266810195839704980396144048897915697297805285035011109966072304919762088766900013227095991549229184567057753882198210599025995438557589735557958554622303651369635488240464425461364488713795030694349932096018556065800533207708523532622932692309184419085646732814845556555776
632466739314282542381637354352773692835856540419532087615317552029051136423308251784620565537286158613420657108254809318970553546438220502036727685799295763961082676779611880102970186172708143377170249606286829629878154948068022480582198895089678233079509654291120758848176414632572399343086834188732306156517715285536687763674703102692342583050464606787692878865801447223567778434554813132533557876664969200842129278749938720927967169846725579720797390183021473028843370573391142780387854761587808095077608229743246770981945667318464272512613884045821657529276162010712150952051927310830747547089068534631036630665576641436133943052547569459387482538537407866512827870744060150597978639265245634070554633325992198500751489056321509867496894050891439120422703668812892050342630665949969564657336349854820708047712853397424273497935038822790781066440164953001375400692435582249826388588262923741597535349168078770609250152078037527559381435710612201601783827466937002050091597644031509542480994632503139443352814419455248419608655379858640041738058614873142645309008493917382881037954860339145688732320963999516497209241509801039523502059842013735398996455547071949599708552837284580573206309383580981750817071459055965674335252752154073848432841677283578628055012167941950486389757959076807348004339026254700236585828906049512850495493647764538466401519495019856829505917959230487552370662109664432386266904949964217871221805498257906977016696530987129909227016421300938375304461265960879734349836574550936515911467154019776580123328135273189111913783950927698406063731127608963632364599739106259550603251039601321405913022611619705335655144731040805920224470342832390266360389494426931776625904964251435388985273267785437608111490868434986450642594605081140935791399258260357915809830893863144508194998413001912089102335915319347225282309909150325532677816598967176103482575855686966849270859780972590285268927224818425612855525317388980840870025001447514337561061055205992824105564383623656560139086822267603612420470261653499991083819022814244807344400942143011795423949453484625030746579723719337345633947423258557201494938297554071477560013091060727748169508842706159005801005026946851874577078839161801391708272211329041097119113679610777153129574850380544570428457598350307034863292676289571197881532702722815947337640846962134899329909717230854433175588036769787285731963939202149776293832142465628582792761370022436123529948844847613314271348035241572859910411807829506501055156265317141079023869751309498784064762337727082678032837437229686049473979670614954130146203894287907279428356565954121821279910527059146146292479616676859830072821126246377026716727017821046522721540055393189349111803116836385005657429779711746354157715678993698374096167325921484637556238563122182863871529019170834500687384663831464153100856258873220225840990627692245700449036496629329081260230275956084334288960002019991496750693431484824336388501470682940685213935913565878295481180221718740978474421972594077394031226449311203961403545884704085574535419255204082669630176009689688452120921159845879572313050533592680886729981079279571231221343294161392803439929817723939224069513086921738222673323857433906555003539264964338442698176680462367348996647691207083205866273675411084212836069522822884039408402542248578061822816829479369748334960970923375181873980636979559383227420767181683711280351582655429533481321858835672703423405884090253944490641995280670716429345257457725838626265514098047594443082729948624705183418094584435069847097407419103206236813227672484297704089174739919992059283012740675002885135568982576785949559437779731937488014403188677702315516059979623765672650962862976046678730318085027073693505967355904355184772964775586476806923517706639396676819836942961432383850147007354931316317302713505035695848940220299644541823127767883963142444461784665158996190614679052163146048556296897758596283015542813891340684321865765840274244351780038775739348968502477283419267889319339833995938858692769893331199848880397744842843311319516632541970342722037272439953630393190614777317950332733075235054800429518838621131028086176189157930431065242966814587778134304965612506331701680076156555953703492507358446822801997547640377690219887282583055107527938928546617520918265471253269294450101402735112252922174494079975424
679105990290650246308216596969281564404788334312398108982598878654888268212435838385469741187917179959527607242696084414923639967242243585171111700341434731511046378380142906153832515518703220889456303770789702313962614991693183734373334823544375749559889833224157430609905082521358577882702459132194986660225761099004843938286556652143335235957477350939660132505176697163673402203946749680905736175699811066616050227808763642097422441563340924396866400469557170281157085329780931514458086599154378200170596482161924839556264611895425016846527094863085046134188319597101572502219572973446821826494942338835736438821670596987428439521554555078089409423697306614821432317330763383268788274837702866934953876679102049827966969230050696735560113332538922667147629488362646624849996076215455013099654267274617322252122678235194936327547628819094186032664127903496571097248226645087430610166094216729875842279720209781729653849564549405182060491091651481504555088558050236274357091421376495769616948662038130631631995630279379524443714993756829020575259187352801712586279823890343599992068664970219550421178559638279178831541888390282055061192602520980080371821948647953022427131391906320751749508165834558996833035798785093901242124277598935183046978964069689081335206337548184241373825885897648477942781745965105720604899462133528562402470653131109055432130258954179988332541368338501340891770257718775658354899071809208031779098544272673859924233811636593389258371042285622024011008795050184118605428977660234555502983764473283837214104496918752815323246510211033378648763321204425369364830756897879259682155071591419079195293284353786001448887338491744367211821275346756050881650457096411560557859761965991029187196827690376217971829400432726376928265503352383936397723923076723775414486261108163190604880543653778402040392688375705432163966356784344827651250399312492185482593751503684557763626051269749586909338248899794386355809602771423205576834391979856685078965408792247430686019869821500724433308778235980518909344793685586336410323574442464832620505663803955954072026339468384436469888594307817345572313142569743233141510574383163446941663525859423907086941085951440266922797718667081882866211861353395257458578680080958051791638267608627470458877008192133021165148523159318066574143468885005730191181860137246161710606426874027585740553637534781868156442010873770468273848135181141405518931284600871891794434607444629484202536591293369322112402470299102723229102051129991791462821412926655000656418046309487612927480046637581768909783601746488605709545172065020049379518356128600743356281256449955064699293143881288939002657901093432292534721008921519142058515199425250998895883863166944168892680258600785145540858970819608724538655616836092176707853055944137395517614497345951763114959270713422804370201662732023148341128655364347670048197210545176809056306066933345659608603875165109336997253655631989354185579638387334311273379141757783257025421378051332505151973408941005353210670586198842672664255800640455685153468958309858545053749023687553217935494594085247752572054554733110290859754778943978448367387279551135419749530896403022459146063716914890030917543684743217744463772914823798783815056576818428054416059710353927480669705061842082283186620196319081512508205502426653137414866026640225269508016107303075443947601955888075832021699707291113942862925781369140407541254083721727670783703602637285724840858878275401850980576686943666767002231943868408144858495987415935338896127914637935717235105599433695833907189771347859009108964011028380564428147722743896417887800058232387616589090728326629822365537522718023880789434563418082212232391237743814624987100831779848162429129033744717157197047514343613199505641980224025974276399753730823282698028070238517992369487924990345425366977261578359046461245950300611502156888809494872775204917088215364663049819719657166644247583755230797684856684604729161337780684189168350496492959790501996481853095510012368506817169660222378071830656598725253000877727961845362632393041170442417635823952992348265425905660741573806327890678729818210219108016970153147541223414875040246050531805245117100246190666950702035930749029825812910988836799299287647600021392113322421637646906037145608731875133022649565276098250765941136522019704938186044957157758019297404971319710013640933376
729184504704009085617033755016869258933570900418516131353126504227254395626622076590983494999922119570679419179128104357338081999145986876993928829232353551389621214470488809434276949803560702512519713979145812883011238888990383951313156030395256162273803306765162600406232915773354078373818996517888502100206476974233705715131150774351718285700452117236638784616190116254818305422751403001247143133358699611123703279282997396250569558102755095695737428724496772489968201632522618924753308276525978906237013377924528640576050915003245754844020730903709967703247515043686787571801488333009894034983690913676309680203644997536450317721347675285056184909683534828485630170703280686463439804494048380312766664901290097664420139752826510725311161751327061375618040564110694960433878513268425682755566666712831112496989992400023311927904852415089157338508104274469704227704992258661578382833174947227388202182963096260697040399320060884058300683783085612923003245096802390580859147770123551158396786237691181941958811084816210600164447122732606205008612329100955042382715855478416313042210193858368445749696234855698665699801975972585877675873376646184149766106697344487412167220967833151681112568089086093859495114082044803709530994387463763003902637070569818417305748808295347035220788072582156954017106239546477256795139131807873890150126661199468348322612652455053553096481687395238279195575183111908254448790168700326012037939236003085583712167314709148210928625330212544921036152379677226867047225646775355503893603024707930186639991641048144027730317857475629604915205783854337572973667098362829458022886846821420904843554663356984842501394933602631005791746770552832074556700169933134692888082798349569033647097959211278267531293681037462009255867318725866842615992074612837078557716834025219405569744098244919645898656566892793548018445503008257189887219239638523705225826534990568999773749197144298437471279374006631217630647715876503407831997132190382288295281902069493393284120546322380742270342333898313224802186369416865155366698447252051972433796451255190444540957789116826295148390300328871814093653837602008146365022814253465594409269015850568993584738648210040247632731689624631349666120671980029732336523876397640366198240141410287778267020715767883852596497180487992423399474239518273298985931479219479584012145504937840998139378453536431546556425562105830136361695828168397343163820944058003297085686848446320441371810824962084895030614561481064383603383206262458647270317492102123718623543510350865698010158405000242115498337535984564261089783847263488474417334107951005340739129318157586515888257031821789624835738635568073584206732919450512236444825224962592759212288325329041048412990561118798730005147377854609446852449640529430722850420455413432129169692814509085405143072289021540383247655504589715358510026056629582051807701440762490181358617795011276654970625451013252800666861823188960121911806315419276761884461882314556760595136764837431329712369325315812996350189691488294558035552962982263255567855479223007471347998654732492598323127479795233533338618549026637676900923624536024212966688239659634046872866927848136374396459937820413674556819749655863592569697431484702344742560527456215055961471208288337778658013854644350230706886101990888669245239391142430965983160892160308072652428797676983947993907884541230083725297451287026784001469710463926038505449515102816577658565415771130384599785921686023957804860600410769739649159539480330177436817703424667457452386533600653396618770523168549931760706991801193070935491631951969463015228852760477624609912661873750095311382937134923973239568254383692399434406028053175269144362879496661160151525623587211332369701279424410150732852525465977399587663918136717578242918551724084996585848301341106424183632046525108679423594034213672361474198971988391942641317724472213212296469648069134558128258828655854767266359688934286247112993706074608720818911953245585705175656248612271578066525672966890823070024185484636476465052235432889232023925222727642078847145511257936399259379028894284561648081016582651437132079451953008229080481794555194200254344679434445867706816733904802311935615783423322140796000971398757327903268517939040634716192006778031709304055956281337673353932271982377532364799380631033005786454144269691163644572951391022812371493117197880684208717824
782955900113419295703005989581382348856860713448699874252529640751715845272146811477470319875111256525767416468657593502310539950424578391583524778026131822081969617494637848413548940203231710410514300523926323086967186257164268382343315351273201792627113550023257230216771671951319578710943363166967248873703533362927700176844146231671426409622156573986330368222931115358220656053214182557118181742801645366716055848732107036437337318356126235877635655743711157975491478522904614565521535978871300974168455720725084716872369320192454062726475655094362709088666077526475690972046661048600763031170108091903027301610718471103263670635499376598735947927404873949505687697280371967067225964991642905021275769257508009419332620760534846781751169786428953302016064002614206544723880546231247594210407498869835362936467228949347168591989512730628636923272677322451296850196469721721162971502263555547039550968015576703648419669767610533439812298545697566368103475948159655429852120813777994526174278170596627247074715947081976674588708153514460450839665337957747747350014628735115124597297762544878132603323882659890262102871610119608534292333160233112771609748578585285870285471635012213613746475209299496913729483513542873184793776098129103621714136646563653546746667891104872256310961227771809597660611780852415422485729085721162928371772635027347172158189449892567280119497095006360958818078149843714365252500070333555761560262832467119584283207223488982829488838895875020291195294226096566107485093560108149936999156413681810025867485056003787440149858076385654567530052423691106175916478414164891916058425956651641084638448818876634867927800518550847907357784741559507400100215231885114003179329851762890443802152335030195528350611254156838670149099857510701619571616261764331778545394162641744346536652787262735219320657621285046156704757260044683562130617140657361543916417315588373380614921050260254595450761462659458391714072636746670527867744486280870193491469840122287210860840945644069590227831278704391872522421631485602608285482179610386072623862320815475277388778859193308415243794951739030621527108778411380013140838566378129345662252715586074862609521574692342950606581006520153540718082201335942816373250928862752916097726315027900331401338382394393168507110018588034194799131750581363653383651416836142104867962352625358399964156826926507259250637301975739331651176002270725542405475031282242422010799280943563676807053217377733766033020615085638212711732376463220570644603325028839915908506378147501414560460656313890689536803614855731665547756735926435523123845662288725377198974222250403265007662085529154434715401702942134606472354998011638086494585912412544681045795269652709935493836790390482429044610474886425554270980335890215270035048938962529288474869568170679027490101420577843946397996665221801340687369300332974724665663842251744158114093069334266296076778038191792710361144630386879537964845280253013555066635778774905517872953475406002579440104834726250422743958022084638673394368495321179827681607298029306145050827814282012834589974241539857200592973090472095363782720399894001792139016281691484600661773631216934345645201792778217563353182029634710346180979767210499323740953751181238434324332168911003724384364068503095488014032692511946831096316047161923269208841129633676490331743415247811707137699792835281793302873600287483286590592105594287830785935596286413819632545678753411905701995645560672519761090057150795049494893683988609736843252285630693482358367909741402865677234094184433063163817056906166093362436171228844371610272368140462679759834910041015685059818162881730601127581206434441872823635696918411582482759117548637156011055239453269719092113294104299825372008007416845022976035103359105813835414080811657368965122527669301258081050784580723055242521126932106967147693733121740871318591871238323651888110548678390618546070660625040966083676546236373131113220596061070247978405294373317915023635380781937953016509669434296843972069048646387894216518259528987913583328680291184660960485838451509163816757887592297808399050956845230400862420319652943418179886364884487489255321320020637194420780097096665076777165061856146879597882894935473524596221634013642211930281727692064130677974813095587770546967435290822147457998720352835650637349827360497337968406248527660171781376785263498174796636673043070976
840692496299344641444941013536038479702969937372348333408481813074812102832216693751603116168565412784909408758824043278621467380793756376609880143506973902306737534601274753574999545367084947430825413822644805793013457199915294600482840819483288415135506655057087460794144330432539523651999895527593830353912377548354842768009756138517603961749465550565673320642281694431090260625054837441549060648079337566258846697103480696667461033914975666085506749805688495293756367445640426621600061553234896169256614528834587066449061409065085656348136382992615907374445691810203416715985714847434335944880360716877116165953290989112909626061096339779989652821940728941032321006452186435317231138270286797594203403289559775728523389078116953598998030960613914764917551439467718903644557074068456117603094787619774961179104318528297632413198331188256413276628552597572291631095412157361653948422100490261803565256538010990187361590933751790297277051658089852264448481685317077864460920252854348173596385184779805708522104165301689112098333942558288774860444591528328501171495873884725326735089765026056327959206854229992541670175438287645325777016356684386772585946854951572189921749714078276507901771764804023578430266270409453355641158211452746710264343089466500691387836447317178911778327019900982293172811426528360810545557362472093838111088499247550042514376356465201795398227748754831307523712116787735177481221646080080451823425699652651402454372656719036067240026863698990363505046362545595292387624412041178550618959294088005252796440586326248876894799444279464062773649664229709157906224404082038482711429177264078030813026415311243554070795629096933268792930809001474080325102885876905268221715434129535600640292543341181241687829039553291535759628832961680856518581343534895062036495594993899233191953646650173281622402955158106684224355889877620849504946174855099943192270031985043666894511570122441444023682715104874744371174839448859438519754795465164537866763754573893052841591967149748136594164132760306086013000483488406774359611148254351550963342394277281591770333369402862146378421796162258711550371445177846997666987971152397677319313718782345251978897095377508558617852196344705555570691852644390476412311517166786561792091615750856312729077550753365208125963668327389740897991039485546469591465644093823532804125175671283517031235285966120218497020169785869153715674652423196985705844107675452037020053367618230503394951817692236350926684799471655090721195508103473124438257229972931423911606255587731909912729183390714105519865228544986815419806276741937208417392219320384001148714592328129386504882461691718287909004345409793778807148661140532652220566443718549966307610440367472612680074656072182275602310628674056767483133416126892407800085991650890865860428628289677242295767641276245292992743169261174336115301326301132088208407684150236039514770692372733558451203694771197166653079134159413860762650219096661956113973942645427536188569664949580350196723063990182669597868571612592211551409499494299094006854711437698785641284430017101711404049234224022839264232807746424697010001741864194890950616203869112480382484425857974423981325429825753353943681228703995940820036649351696935824378184292985111050312630628377232691260351994574698946357600853408932212378312160113514428344111459084246554724539788174754430587594723377604295018484014129228513297108700811219409093840703101601111056606868006545851776804904374014034948882193358919494817422932009414062233711265269810132385781068801281311100331564580949647424137484738577933936507578835676984947669703939885969253018246316096488738703320958511931345501305038152947626623520686431757764223429304068609483016975310590941933352426199340737821356426368703295609840168834803556641950925992383815651655243126001657442209272336648574957397190616059068272746395507257224974120935010776680680864451575932142146139172416466997408991381863620946100633328980783456465213391663315009355256871732603926773394572018941404012825347517268547563366915960863204917713167369468980533656105092785109320415989740817141599494271942976322266367078814512805265945543799146018189115865046698779611044959470263855813255066491976111339166146415704603655880814068629521415263125948249999143032439315499099194291637769343071148509381319675087574766156145517217340979667087147300688838640084850826811490378558660331700224
902686694399571565309716959446594646930453918771351066677383399041775795752339918712095732878919317786981548235461304325041954591009990539632723641710559914583234167892035866628770532641624541017318593663481446276316035990382981069819796782213640840385668122965135914280633021877893697078189509071608041735356441804947177072956004405967088733998497371289550303094580398100249498752181761254512381765755330015106494908684266879988510332004791832618266957500671610512533377792696172528815007890682710513228210008255750111015824400457555207363485138875253982915652368113229678475654591418228025597684601977917582295890573365452859723833999519315089848522157385513033632800421486431845581781035933951051918774075139513747775632615398976242711510336058056999463102892227894084718586960382367172579105505303749785285980661662851295442229097803834528571344958636597210387832322967877277338235548102325003197688258151845935823736396748510477063763680699622326319443078822953204536293289018369014248451268112045619834136470769033177505405554843648215437379121158562392519068116433458938067531249102809129109660965254214307199330181506975728764887760104128045517907772802764554874253955265887096370798827572371279642721161995123672929057907437849942489235271045555639268036598356027591267195938016965026863077288328604124445305197477415186832560879807487010180664015213419968318967869315426296952815571530563790297650656010308034407629236673514083307516173201223642360093090437153299868331514524272772414101151212022620051277681415807176659231215869575928154973411414818108505029089606995466199733412592361046064762430442350474483507186136476181456218723917768600840003805163038397696998485669132102175593966651199408104443283380759000764474391530119398810305088667266524984143821699528831559659934736714631519729650677608549325304628334455679505651918422339747727870402810737948705564406844159127610961268892374179439182977713980559312639005132725488235817374115512699349175982813260269339059341871118645327218943665429211593900026853723772754845306257361850268608219567815498109101141150694991872921613652619868899985703422777439667875408731234864018203342833578449857560576698948008305943536265570275981408030800327053511184344498872715077329160271431586791634147183370932711311850987582489550696296672866687895900855522636907247225200849604387998253640926423525612268975670668834536004878683449551343094979635092270254427627523741356367733757120977330083122626857769173409861940331630013369313293492322857737765315644581452972697514191975868323428558732071009244814117315536435459558874896477157773838901621822053973753479322475720153571471864237999520240347652193450326868663591549183458272179321613273409148889667117672265695713047068414996883563467440469403016160032076329533915964761576042513947494624133308769442469326034064042432720412196741657824558915090335099125958170041818917406070219164508385709164728669745626170077326849441069226333064572747966940799994031273254788181551687457747204746595579382599404305757935786800467646362108356457057753589363142796505425741505508049236152950287383646166616552437782500795736666376691947053045072334222951057708958688408437605875783189757584702207621739485367278775268557983544005239781152035989986319209536675350912888496603263491611444276841665029340523537736420265335643169715334453051205350052244276483381139045959595580445750335309007984622703713755634306347625704275786826460138914699408087612513058326905034418245995216240354074648260153783681590036479357288517981461157922670077350284489972833951137147888843602092531412457953146977743729304726724378290763240850029488681345466046735575587210063150967633283426924485679367438344092956884509395920542105511425809035403253173142920975233149925590415702193551208325888049373276481489020958668465782921756381744562947658919244201387777980890965555056812770936958131901052808222749548307761433733680362524873910699718215018489493982819713794252031690577442700180603227122431317505693852008036625801758520347925071970262831106240110905069628399671062772521742865263070284871507257033603420259100801059846737197613173283566935212718445882580192798137425327607186302197498472335711153743340691449723374662533624655123504671690295615683687838088281793314239235633526401720496762237979299455619889148873156466371107937685066309598310057846387241548477783232026435556243538968576
969252457745126557354190612959920566783741591889498333278519270434436195130168916585937403084027599429429211056688202387389637199076241244247984973138219082745886055251516826507396802596069472995098482349341410314889588484763468552465779948243405473636600153811241325007594548785801483578838674088212965345989751113793834133966761242615138341213397380707646974584527601170808031645253368308952653027746468788142395397497358159821652182929670759095840658665701616296745163932010682168908519131116046191737634342519584182690333784611001762935166764012808520079117411887818673497382900583382907053176554704483232536059651949827172185885654917084507804676064975535835908656470794810121126667910692330146013983175284214546009683707212387238581723814033831092499479120200454418204546089543578665322811529553289968492577237282596823008901958101763680902376050019664441835142825869685641177310902361030187574291622891345924098365661139933308925555778819366072773362018119533546905444630349542714864214053797740900211916271588464366731169930317550869658076415332311776561228154119506574789734038588648637814058860853660693899105120669551187727739850689480877523953316633018005393229532566408015835245313454619429808789488804043571676426060133940163886686580297589299201147642017556467241565437851726970888169605822929303955824990976079981514894701675535871167692749226421306060830773796139463427681833710830035942552918299304711666702576101546704300300368722581792779650019735785941568241240241975138925453853422896978783117871173899700298373152165536203203614105444049216454419847847674755037032102750666318068126034189842525319186463959287448009355268762417283475873617922701466525212553327611763886976634035454024245785313601805055985264127562840554216360415902072487630616158189982867539458023143920928215482407105458239710546560983480523359558109195902283073023421949616491829131165154325505427242315253852311121531627560360836056893191624758027829617089413680992494347832682902732986852852184934507154057145418671207399716162107566344949949103978618326535430279620138704635134810299628699441296029652387360411311522767096091215034495575821648663297626537023853197149633815220333319590962670803576532460449079791350233644682462463955030963713598235287092863557137357167758025252312223023680625582059569008770183306732036626077354406099020565247648573222979046187428406715235577694644072110465839871116453238626828671290064853334647290524459117451187066102160977932460828077459399863575448310841381894075264240643704148625031474451088758055017582002586665052764047572867334075748805024566731194562417561709571770437204509014061363953409392313871589974973995806460312954825355053232411232195797713244118812950227078745682241202327556139837771542711753149294228210762774317536580971997865814385003627528317947093377256352477199866611054522612674161234529325761484557534106727131248404800653299185797778990134654069278317762259880963152363027051593133585852182715306285610328457638678792952041159406555510995196609078240577979674194009254657837191147843370012385327944692196661580676718833508675584556640422713464923136228919695739578988682314848040722360489091367146563232323451923256559598847115982908593257071083222073347539100302170428171547945201556123094147986185044959451405945835480877090330367801107260524036726932057469263284776389243597963655264724825969926406275988850158698083305837039345837419548670374674401778367946078481021562722851713411576471749399931030233784181192206518655015950210771920989571633320991670901893039819804315555182340437143128048324678561564895589898935342422639308219524855491190124582461973630495235487151926176700804278875173926709934867963625872413793911150726476120861039440638801034349569637664267780634701226368917232991544475465243020553863946090323600134907061035994746618047321502104479137499536060508902500207874568292343613559069029821417298295151875214057082690439358244728552479977102993949864152598137223146426938147406038510725674173286847040695309247185656045922181392681286031418194465171753644865007941385993263806555327518131807796498165761645446729860968759013817127925230241394132080406946041343742873928737775629357217922960034557519061890647180605584238598523682851453259177483405986315528365779222242041508434135522931671502215071719506825388870568838708097910841436829038148829525348550591119391032680130379392120333872922624
1040726901895735116804329242803263148273488510420093546819437181455420792570687489923088279937267019877696680358889357830716903644834374388662860893382022362019174621461928456060743792311271571164475787497413651110241961098239322932091246259209499789234146962311962812017831384665723470279848285717219326311051826446231023022958930572018085172506807676797851273238472308659487951452624072630198617191651616006139085205838018385708184329592486344591032539649071859722215277583536161859528109420983438593584621228382019076043468225057040163401221554935290579712492154150585705862340374898812226709700258842427607080684836457412584347634930166104888172335113735974363825925496340622149192209337469051673791240624134984245039769705445310628949063301144922594968303429573951172631808123278589483591201200550779475970122413220696316194183556729359312349071225882029733644008165149830646664335315716218460125082022671273926356344700411357910364081742163246693503386471947989000683441672922523752224213110451220441272944963990677106492931318633119969999449226530298013101533565884432103594721443069061974061582934096371830544330804235463993572149802676810855045690237892386291735768115548522344051157186356214807788729596940481323227320455609350595878549778045055996927122012033230121158954721854271959271458132577673131852577941235439659721689320145025742485027422425952202162218690011198191619220384220331331346942329711218419036799304128773567496593161660057524168411442272738794973040769769440587032470220602130045362674283401260085391428532638852392765883252971621735621539580289764765632216037554055869577833804212887875408989456007755566165870295344968156608509598501800563674256668997687124919859620874608884661809746939214170506039621451093091305445723612089918248715231938784742720568049741987871973865144845325290662631496427329611020566532001999290752592494278902848037092393608050709687169062870654403570248855450350514205893463348349208360415814808616919435011351555386794131888349524653963032138368322077265889653528983657971427571539613167298933980509064157759847926905697017306260844979802912490322587024688159284164501515502502667334416355372734795663415679413686759660465575192064543811687677802794285939296467515146858609200954316782760344254973223794103847976025055786566941630105941703304130768620584808486119104485099199066342521190723439079767069623295830897783540841018679120392904505416853878272846490668697836664124390649385467831321742898786824238348441669295460853030900544369624949019030745826661008387434521441859889270851526978451831924682513344200511876072898646762567149114559668151048153246969782690579261651921828061521508692609797047415725006336305386332376003361753769091489891644746580481792995143175051807880366611732760928911696677727012083639596681363644999233268872724163978393556024455503187510381673581999401633610024626617754504699400576949567743829859376222108016061465955923277700522947398095066576538953362348583263114243829899031344061700094443019024269671933234462270284996910709604001226969186601518121993783405524618171970361972346543234626757641986113318796486855928314240715652940572299824101477528053629142496662604480406319026053806323630810612627825749121605796524833248419469771426703778875584170919249478982412256976283358659645834440884091141885351779134722391019017311119583332031618554857817889652837495031348620545315373063169434113412473959237673642584877655571613642165441859242141365205240071383491685152849877422573135666321925326853128407426891326530540740774203006357629021317107293058873567019659673700502908387285067638810230949309701730810748446900299959957976647856175284037778084067888666433920382767784048462809899178356919074985395105776939527445947795593556360649986403135972496398086657373941663173289492775363722861731159101753787268328888079962307984083267668698648764603338811363618121433596857665911822359004136588464849362042408151183883084274324730338046959588099762938200983539479649130940659120828950454711216685183579317193189385110810636464314040693431820223231916001860758281495131363900526236240375829361317563531213015751861710512444140878055014495682913068904702009884439244945221968767120164598984893550429232392243897444938430022932116943559975772073478954466995521271471018749780060255846786157231148394075073495393884791994854357473755592198089798012806947464813129199206802126307298520200922504626176
1117472001927395682138333532264114645979158004021514251212531877869362496502375634363998429412863695498522290487298833691342651347236709333981745176718282219803256881023040606968166894352981912581490036071309329025610828390960533793628682892796785101819888522396906206796195391495419549257894088749280227641279979486907536586057915989488062134114814327302127305407799643673529587898764021332257940705641763742979376546607929310015841373784853464336267813166146738565203565473212430805008943988958341229267545896112029731513708275258788809091685676224335109030508721183339066480956847052694455740775074422740347414769851466923886637983380002666085601479131362112567831688860928884951768442980603851087766859702981596405480265276064790566974354432062810475460079346656189874988616534707169532258434447430383759149923409474872177100423390393389742393077462784486615025151493918872391840462917644748275757176839172663018089503232592424992991157633915462210444295140566358542725775908481442064396550642180606899638496807486963955320762317175851423398033891490031379851216548229974300117953159052886761997924747983910081110888670599174033944484404727438969999759039373564772600959782430113142206245066588830001450879924061657235440036632638495140274120921152893580322666384271110458904957036977218635740189166413584570271179537724305793671506022973839885262827637245660422486477440099514526694723208810719381604814233926933058518969207937160061246779055186797033945514185208401259189914826958603195379875321895013493192920626577161927986588226601284901475203889016802542644317682628526467980868161325344447998409378904405111649133084490535219761094257471124817698738750216831004523824497613740825292765923141851019103377220819490240565801986153166222652107832404245297272386378798533785992153460046084787039096440956243775469424111613730379986433609585181090099394997535738708770142406369234310103995378963107135363151118185171702562773958885333626373868926391050541991410138079786253356686292982951479234956822222531062945289562938949776432780548834730509974525487382997286082866998341791353784086308394822417871356940287397180981326173306421490588521435393352459363903241683851271882477927395936533598089439682296648881237742306470535590913535870642994903795202870387841266171195851669970142604011487157743444198233188696210576205931076994826433715712086037357061974832452658359781656699813890536801392880304110563598160160562606594844590998578759696708296732551002412044851666505546912931253995078874034022955601083735999378975603241733549747458122148611028078706950032499106197443548176149941970545612747283037341151579232856939066204022707796768192488958834698801961975054585956102941550080103479623863171179132192553344283209395455921279487962419470634520365579525677342128757221099271746988765208720881267679035393435545040599395211237128108651076981007547269466672660150947200481225271437952288228490290859751626963802218035293086650911294371390339100716752160090296531651205981427948219511186017809472777737754993582739695334595144132413310429478659510508935192875002138127614892842994709712108297595233281476493346071200253761064817005599642067314925283922418847382053252160917524078080889801559053015999405769547313453766589484571997837562416748362692273625000725671218268054313466556904195270220418209761961866400866329116889055627732765277441495668458690551205004210803328088015405983332653344361346505810608710308194762004851708608127141324608605200565504854746181890097463755959471647074276296765439598682406705203908192724181664365667252737443237075621898422822569068366934459470569373050677336690036179895225152404809218495339146441924894280116525685247263858612634561897309025059610595210914237603985337510047449404369331118226078418428296314997598759171485281488052653866048985714571551313140403437718870586426079330794468714830840535651803563248947563784830864542762921084444043384713884651693604650382311459152321482678985780528151231523344274854468736238160161113653247251196808250230891689730746320254915793468962975707466133124662852757991195687797794158795460596045463933875709240544465944724441391746524515752836941011204239172418269783824084665416828878636763694268149283719971767845895397129420519493075159393438901985554595004718809860090835527041497942834833003324066268840207878285455002415516408218361696977109034062907130740625165503971068308277097593039376599958656385024
1199876425618453355308938467253633309718775381222260047338938190201594520711654433975156753530903513467963913492490098520814911466578001640027384248752690684838317964570230607352066631078986098654257659969033473016175513590660948667584501548029216496564112821515118922442268035924685874465429045252470030314683182868954682453260559684191676662109773361218719171988775853224565720228387207610873551291759634491963742967537619030199470985582414342369143151061509614118652819322510538592044091855017965171528136914495045312257759404480265967904894361223791013157657305931305927653719866219649169021787099584408967711528664854303929707837502125747807616672339606690353076921322534263262397999991633575688403172024231557562852223633525671765561037489105606202486812836863345617260609097213035519444398242968332370569615451149848133606659642373262379540033119863506776920691970956774950038021370196233797632366040383809839980768196217686660557512813711912655645529314626058214704356555788120672375477745843376189844824502689229533608369835514865236112401188662324371618682105115436576481774440148008744293105603114983933143993547430092300100988599471594542496222550497459256314699780937152837838904961990091783783790456066945328444182376556075704533070457875268135813550311990747054650085611525554184386462305649961834861232491467572912030610533934916742686059266613765758125240901867303469407688789403554699556505282717867784980056735930281521543068256841268107946446317843542588166475908703174967499415701024138924685578177468184725299675889967788970853645714564795128786747451781007124162054976645001605022085235603523066217063806159613397602518192252971189087511228157300518297163567523661721213119816319374923988319101642770225655323016634923443285664381410420650836674375203892595896840505877794203294010971824265495661185901833706441650846319210896227053632725950499586342257504154650865614445627895417884232244784027785833662938385113239134831212526960048346234045313993881549209334462823312722217240662854464237423534027518230733591325999897524612328497190357108492545667425948920023639554134949283135121280998419248933319347275264977122217317839502356427192283346485131296015811763401852463773849837879607184278827772801791639887644417832033637400823765652500276268561129330033347186945171403937708021497453121608005325983447434230709373501323792720596703864137639811780880804306599987285521466717038349351255556493846626071342860135347938844401253329542553502937438598203105648408373851283277229158046404978667068707644131476279294627830423439464404355746016089372449566812739555691111988947800506465339558948206945968330484002764098407120900308277759030406109265873753624070756391748397656320073675348305631169347107953228850778226237818554325852224334702506717844172803821436303330683383262719699759245119709908039758327348667410619231904677577151457162883364609321410162372404500708681992787432893674040240123080575568461295235139544480537596121982125171731295002596039642298155245795493263166039784846483640474639215385772480362280365462426639231888811242295396599797045159810801685228629678345440597358075378534353794342668596793818777887105858656782575887679983483840395523817162493035069015629111903133909856002147077463423556817428325073235106215432815371183537527442759472648573310422698644730592623540247710527406152763795359244373563897612338933661102426619235646006496094560644116800734252312245109595156608645902335370450406937949791019834151091014216020399709018271097813956405817694368888414851075372355474674784206349203347358931371294474042683146864228539834292907800383232937970727933021570426691184033817836639199990599155546055339485221820246986556008343937057493259167989231492718192472605967293966649995239164544029085370234098478000247292927334934135090770172089594514000885480971955312130502689088061815952206973402568203904586892624323218680636025643184884779005169837820224035095746436385403486315162646118598454360786683721980262194595399336989798307909007023047073581166064077933622791801429045771592924602376199502310905408897033756938043241583503317983631285919429235869616594304877355011779205167870215950844205524643488607358363775095560443313282540460957005775991235356274626948352663522077016201820250526612491948063506283118544489539324831721319724580978601359171769394446963560994062312278803936340481584033304045336108535774128558045066976109934262526031444916043776
1288357501818158433788339673332680500604594804879884852632037838570319028377337609994172383222190778919100138039604528687679505004521978519237994973204583820846104676369606788438835834624285621639666565181121784833443077466973076387902552366311714526311640233915430235360075415590669737475544807991965710855423214755836953710704788102564834864791979737101598386674997892168501478045902176878366049197371546108974462715831015846103491059894339278299204248337892869257298430642094909967043815076830533476045094597891641992546296141119794552383326729947748234662710955237606445460917209539722083385537976047432926952533894428944995734861226628104328314326850739635142316017513162432137863419124968620299308077576684164815897941246717762352378808776884633732483903751400263161819812295392518075225015635987212373813662813496220832301810422949054436237895443142652397687184900237282560011333935385483315800223593637369637650098167927968775967492665498401305401514543732053625386839428958294448288551887693275168402152138477426224571320328852311377737520321334052290861497556022808600187855990121101739065228800913302930104725686261817818798790882999835360248339514481074009241029260795858917467922032049891821847420785931113743071935467191975565267424141759505572637521235912713813582610606275603972553952356975835526094286562276456175416739298540891400579867936305967148638138986410403433203339960358524695185573973331119032835325923261266817775149404657243696699446163639409165239552657863004564193963333751897597021291338769284368912212936702837030811476386606586487769797115902690638054759382211081423859341361160396597945982871150205724676565110742887953990273201742100017432541783019203699694354764305310597423079106891949498508038131190765040093909825947456762236637869725488007818368440618305468941538149162599440771505836238008899338729297933193955511285748988181559550381060788702398528033729245251280257751354016480827718604062831103835181848070829731486413527346346443099487976543937963992075945313580321476833914487233491261139208449708591890326493460352916884151875345235778317012857975407185420997562720459225466372370317832446618527893781374999442431565519179768866663501655675761509431427448426953710451052657350053345880910472266385923452115129234264196801108740862329904189335777331256715393382106526149873451723181441839001919517208675610411427175466997558556619643142755725586332628463908049110366357919837921054089636771105382729427853937949094483861634678322605781386710035950810832733826731158436659442879132474235942547120040026582863116012272196536121013217520836964724167601079156600217490804403247693504620127930744065377490085532323279940727223882585170036344273135583048574441035982873523721246016582824852924036460079952302883657711600656060590255454146423186638105251111003721620224215700415009482370926547229447651034807495822506338332249014869818349997881775856749495571533039531162028879154521709849468019181243385061570960592413577291073933969556340697528765455621267371615573437630904109399336870248206713199100411012583075038251148493965091869477299705621696399662687847166689090909438076967489798817860148915526493951910755219913005055924594228660814624875497775862300807487122371115685035322750871845703181713124753400396528592568126109848623488838611754957217330986653795354512201050914113521084457420270197788932236802822051535487117408964236028833432422422492588489440617026281511783358533105343706527135647096463430055541569957194319674004770347657893239963839175363124775414662358674446553688600531785983140084553304549799711255968056632714530324571847320433833568269410330861299850229191241596708627806720128881176223801298316599475151877378195454004966741479835349474703519001355508094961057691853741918434486876206763609400758858911637132225970144275104883704313953944589693495283418320390885275012446793069544915052052932959591696999654224111351838847967090871539532346793245963106372001778500050424708931847854550195620823107026107816704526330826955374824903461689941326287396838669413369674248049895187799203788840566854364227205208743500961796259086593464761568348149587023266643345242219191870333351579861576406988189341526632844705452598421901776167491364459459607784443742725453239645020027920581857645499022504271166368423103564540942900758757599128365974798900858125243299720355900535144608581078329162385771872264082049925800089130445239564795851145508370906087424
1383363333966312753016875070775796519528410728572651662575095509623511905791790245618943284131422124232575330657296750871769318030972557463335423812631520956956185658500031291181097701506042798076349448449392595613196706199560970799637818112059056508049156577196140722660276673513883761298592637527023039719358722903876085323935727502781464865980533703486510725023869531933162092383702959126947387804859459924750342365916388630368065783418641103955831187358878057752925142229980479809129405888514717153461720179792718227431654423010129605181336790202050614179519285861609898143361765284171390267467641622438941503672505225958838116022113866538111146520158045351586804900228998973891985687114120290302942481155122355001338879632095564161441752875039315661489194864668961121452412413392389154045077499413429454934052145484403973582544042039529169441369551041279877690611296206037808789959160453906998628900101040024069292635480610035494122382939358875286745803278549383026988677674044797500834423382210420431854034002694252217196643107990160645347838063066291420101002917175472691968595233481957762193470827669982754035192669386416006312715211706813811412749163250182820161455614124317245688672064183037303793132644381187608837527351753004001613675045754486082901976542687651634986188287064112856191726742188332761712478849357411646048033614547777271044542055608284988262794471233817794943616411927450000157602216611483106277718748477036661468564543629182941706566103535981675366634667797870462877951279771883289286858328925533313450488414531700779438258855487885345791695647339294452212641150936439721067246312571006999641914301541578872789456832063830506745144025896882450308449211055252007537364727128274293763586659930452825443906141646323346105867867804344752045101865866519872805021190133535002010462521647433596115376643828844973704199590205027107936462812703776222194790780106316191988665851573318253002293129000125850015603685158080035921552919263597079651892071139909549556433400357165599697947067527986353042021086582113620623673998706315724790777043643412658909631326214094320169036353966658416648130895020290869889919568272870958560772863691849129315452155739592006789681061992312115725894111397623207823281143023093286103471697272010635335398475521994561971117464635861444214002638900121437798738980590350468817422424784443159835401908842738547479205829102010328131582902331625177512265957550946820046350461083615136986209246104164148113962363739043530249930183123767992139111283360929197818578020814017411698663863514423733956903877725096091929329340754693181058616908932240509551376864437976299167373023170409947443768591470478435601452981392809561219061258143362310174446128555141879800917756700250121757965398376604651186642088751171531299091045754398094835407961128795496691560231907162523287784655133049838578254515392169267334629688053330335972430175248521877675395974144785366086057808342454021728244051718581366556345335258863945555531930275042882704779326985731329968912786970680790191649727757217195539515450760808959446950479800637943100657954004930736260125712508903346148047433759393976514001859578124885284082200073469039536249622595046911170069695813542136172639692754762330041867895631272960564836954949833195580895254017455691970934252252573450885348794814627395603578938021365880476657386663237119472287768491256746728866957062077963135938175203412744366126321432665690591133372865484966399740884182496135593367335208776947337133626633661430729204967497795300415476042370197057458693329917347242464748111863007251514467635779452529440798656472014546197862009087360892136926906025172063455592196018621796874594417724790642389237809838268033649927019493087924611801094055894867364645598351734121734330251295020266788725105162962312559094794364151939909182442362883494275619977941577115732425226552984291525548166606242293443715937916371180581707031664053966627702550370242844380607150152780471306472579212177888127118943151407035213745459415319560222728975771518162492531095523578871722140808629764729644564013386922901956339621977381099398987679671258547470864869548015440799566123242804595209056063877842156886657704413393850718754864770028165695252341415775072334690921907178948933316793223139414892763152917295976490969586465813953169967038079225131093752940559368461952491920109840598563961085513634569768748121613097041692490881772730469972987652362286845462420863396610647583970843349221376
1485375069467709809978800941274932849931287355518767912690015589477359227010593022556292170855823447387440035757368932190327177649812562344626591088388003552216360277040464702649866960337305941028563148039444777305808229785508704785613849359022527730671772064860180945309923607763450039180731467251236567958288683241118484525702378907603535158589853807275081185282692114755939711163733723207165935733625152563256335356603538559464268745639920654562907794550807468325203183553478667874649780130770133047202075340028241211440511455500564132743808415869855155009437301444222423608907475348086066914406553376655908378782618459970574987618308167392324027979285752384087537187904023375920909090663808816665290972282586704402313131058282740005015498201801958870079174650281083470733398833956185957982178492441534673036214950403537286147368654259856730497181202793124955166013880863275316623093981831286768634160693604499741166176810717336144163708736533680140978961836654794605473463993076938326256595284402865986305818171810947290008767737450384065388804756293426782334801136517312976336549596716623198668575607393156952366291137018399283441010345810620415094717303402725069653625325604884562140410878333739544434880364251799734399405138321160114171966386971705342837783506150652928826652026159656143149154365866878171080114403270448408746458004897843302157108972033549352809111526879715049626416663299315518838024091530856969879823579548730567000127011738126471457693960787297813738746176942919494126295696525396266953990921330094100157091163910136500736257758875714421093246008426954771991882145263952094164796282317267185312276408988940910708815346829479052739375249509221798107783618489827255352831750259975522158025365015792129938093390216125592541497861479228009185735407721320388757911449052632676626557695077354834411803831991782345878379304446798340845142456620723052507263935529738861906644258794848010711175700515262426425304729362758586108393752442619465106495877516904238935743190234025242489727533342951237762447670153140604783707736952293086656730961219005513962317391376660649846341083030469443476716033409839635646148916450604992761672669510189458043985469088561590386172527881882285116820627202943132432900964174421059142895552961224523732429610873805793088948701796365362921617439833429746443520537918983509187274277366550805265987985373883817125433069011424851794844337556773070986344231633860211483568108627161933701582178757550106391292108308512060185959210699968661632267011134944967200576785155153020405082275172864390407776707061217648323469765438661792790241570714145817132384816133033406336744791187390239796016224839422357595370661290953398747994498886588700419563544264536526596226188953314786992619853381782117092028840810852802153959109010394866370695923966553975540581848813859686419468372521771896357920570093423904424628899614933924221569990083987534239084553200478679069751452099068997926620400409459891218622839054744085068633548103765366553647808075151580214766279178822226182143288251137820702763984176093199832110639418812141388508687133362433745610321018609495132707825563330865476757518242807684824721179672819580519180783884517283765316609389957897194866522593298088945645230622164660118768102270439723918779209601646202536053098997754325847608829820459761635756429839044351474372091778857498406680185992691747284959639929165273367787016194143971160530200189520751797543186007857934466636490109486149504973564809091580242925803193362604429626191870943441846741203562876671715130180722086197365468893332341444366371241630797020683176849417010303789024618537767459669371153830144841328651307553200506142284509348034634377151923905507063452166015377391783565049798656772112836352637887762389434057807443893423378692317052270970730460552289469424171223950011497393042997753845828777683193358702614585825989831011642489948198792516195150898835489212587061361264465363996427048181271632488381932191530209268368610080637884344098156839279464323198136430856702561719043858724884205812730793493042958521499421035418835014493973274065463668411794334923744873136957031886008154984290147579337800935353519346454750719574004800490363301139559507043383164994477212045068542382968964855883322062427925244554353248272213408302945274803300328787721370989487064648767245397401579872624943275644002524651319356624429959812950866297420639835899206498019968289172992576959786258025901319131552154634046500611229246029824
1594909336414385440469331124017463283762738759782858324804450085633854903113584219361266298211651509419757898684742538690974218886481773950033072514147880153875273926510573891630885783349914536366045830675055459131612334444103245444382543570418079782622089282235216993187121619900587405602790071300539018735032846661876793374743447209389347310032398894916890141633519786928460020298980610606773481705289449445549132905355173937693496385769600450845650538064801271712325891479318986388816658278812081182825434472187343929884104437722070564921314973162648820755635945266357219387528975227488968397660944500203874083010931644704876173534059627449931325401505317982102500755807896796599954606747539449593471126069438091423088531161671559560703110187471555403931792013407372678561530281691588246606971693967743653185149058902363661679885551625403935782719771545603884019873967247451933085058452574948715220309691860000686687298575846135259855467573370409152007327628116109218026437611524755130770263712704532074963568225612631926341871246402328495871110488202379552474620351001372642790475601844971404459110744164236231152062561577169968162243445113566323075438890120003422860410705327582653062086120611511579182437491533511842096732817735934758787055438013688731209186998011317294589271526381964902357778112863465108601346089496282839705319371718411200924357322198068271279274934691250265986119146635000903148646348596285315121874831102863055895270585815365327805668252289537630555053579503717121508326027550529450001969135948415745194313752871152938389526748949361791807766043169077787644067647848748883037128116763761414252549680979955409292704523383877455058168977028486918320811331114587242607463327089258591357310571670322430404573403893006447948588709476805620694980291468074237913308933736256882203002226353594800996548213693045929074449876520556561459236962911776046597997351385120211827324324157508144823789333855735617588572499861794761919687769457942679801353237773481348348196711877461250732962342914681279578108240054783552308921470958067379849388364176568244027956143083697477195035594219271707814953975243526149926191356125296210831425209450820015265720429808647739597589754466583141374623033333712177186776638884001522188104547678073821385990258331250466093094373309261421353879478876957112122123255366590517380664640167842178234970744577439331764344940310245197205125832804281220794958734366419563639392166985558990636103920305025905007980046091987294230069622086584667483869197791064119221567491144550127128862261014181325861094265224625517371832967950960873509704033539231912289697321944587916372949510312047521878371849192675469350833547810634497070670929576451720326291725302508188582056419643300870231627115908767298776976623392850726780303182530236218777107301549212980691395740366685936176107999421838835707292589779232833542102705195652049433146341296442688207137100243707014537465547403502974535581606891263810451925669974699349754805751128528765951342391296215186816285456339161799312555090556134493676770762210745449581726971739361648607843210362421910863090778083747297247512822679444711012512247243745598384913239753325019609580041873911393629696644103868919817220463405865100200211346785143736984266118764880490442606416370949906913735080278701301739501850969926056977382332595103508368989379081325854975265876692452087399499611543925151423386253611817685712511093958581157720945299262848656887078732035117617872207012549896205153081515017506187573657306897680783849357828369558496174453088645982470644422564141929740664741981249796727562120036407593980217221405089646645033237019646564308112416638432158488502939772594303759131296210699408357956012474102132702047749793460555238389239094912817495309523557886246902080241331246491735454375325775342275501839692397830031777233318642323206541242531118031658953802867755892772392880636990936930866070857663055555024844029986322347508197094485307532874679977964250919816892328909019132998559646006868133692524668925691245678728403255481338152964626187277593231131557514588512417825300302302854726211232293888720992724845226908556411706394407067355088475393947881611971100704417463278785388251903649303086712062911587706666903310402859748055362490802320623437323940131273548461203939476936252327653690032525620373261424461577232913994260686526045479712609988421908009804562000572564312645474665336613139238768501123261271342865921648318906467891142067118405514207980158976
1712520859996211842688583017162481234160432699164744141609114678265451559820523198874582189991506629776724027772162654464437230124146188903864196141665410642155437294351105565686525635749806064521792381896629199989134884046909444807771002887060181428370165648598092691300535541461891419563367630647330818159724341474635899381468144538657427706843681488523645949085193875556656019706904466173550705001068123895619714647414483831696277162193658431842231151208281147685912405999430026722959171861876384602483059483758915940989086407566190453435323155762173593469605598150262566580733524713614819867182819881211676129758485156124733684264601710502849730011349852475802738516502549699984992257766305716118449745397132406939705835163014059251633996255168689847534779128064664794926423220894759769368731597797294867335445360217707396003479216313507386744116395180240013608983925842395297983076610014442930187111890382635089964872490461631617267923728603596950502641228778984795546920801220793995266621483840376243237886480117750922030954479685189637003822644507953501814402569391734087973545722552517361051767303856904366404101276229982798372549204688284590883995043477988054148380688127565115409643536390488438428470860925177562458545880156442138245012933601937075216798172801756204535029739568635114961622571493294888669967438991005977525089244691460857262549917164709514879935481772863937440420731189189331988474873472715233883376663448080109259201791786938894304416146752260311548821362874050236828379620008779743810831143624955892155261683436156993049330073913677813971578968557628324102825858980505301790248603815606158040352291106035428612615104831255230786636383494781643637926975830844858884468188841929130691669288959774733090719704637965444264078699139431352858480285804981669984446288385463599629204748800969750578950696674712912000174442211757175796409198205110763353642670823427902706737592860450058717951717926002514891320317557843255577291287088262864297352983195203561805372124522107707851332323004523353512851892145853151381380751699278295954383107435324644403054736066694313827595922681924659500823735854034612413446172099009125958423060915305521487122498976801394888993048964661129267237603124152913823540736915897118853031848126549949781643388026828071663649306201223274657347101125513401139781134970140690793418553066122526602150587869217817337988874373893803934271513864787953025325721443330826611445023630386692265209143641869151610519229246414509091419631666240106794563203013593958273919338080653101162776447186131146696829726978229172739775617230998270874942890672572049060947618872697056254650271462364715316362895502396285900820109546581891481984860827194817631090352282422094183033233698707305783294601923739216980343848807200607932808386483020772700594243409169971652056043367155785944881788520196176886384675451237220008185739472113708427684718562568896746994679833748814311052773206195747867260947484276573499840933191055713657339079982436535589063474478919818988619098794283953024984849034229025629812304646036091433583555705418629171832629400562603627700506337222047701614597687215531309727787177838371401788196134484516620426242035689997810332455206767059421452046987538844986917696682576772251662161664003404949858780828247213662184115751239164080947090311824573564022432546041094544917920931410267859501457324712591356946129586465648208822952209679709812410401647322312743319488634716972281882079766994423068638556560916442331747945155580485776624931059243546220159215862208685757054281605170908301768739448512634621207027436530537881781841199236367769859227712800072153468458099625795525924238398094355702229580787552930339694648760671045992533745709176729786799398325959853720816407743797778392759269615748333153987721372796229627706431078610229121655866670844951962464465232581323389122486589052072774802222960643092177548499776930491617096822420373649065708394073024452465413403184154451549798842955614589437867715254378133916772023676208906398487293177267838595909953712148070026325028729805608550325252149675175932962388059942418634129069172527779331755466044058487242712518883107900343555250876716962973909905648891878416043286147195874952655040593490934892497720943604800693145373855266969642409357155420459367685511209951137506019118775854678946317282730212155985945032595081968296893572844768758388007760286015874249417258232504324566108601261909836606320247784098107029164518832316590847160797334531254700212224
1838805271850381137058840192823465904733194115030395651104685089665919114025333692193908627919394873164552370324708585029326574607008475316283702613445580420616990531954180986516801848352756371365891039886991216647994470578557048830723366014261265204669107010707859089278105964466118919331919643313823293422234737752174400337738077314833664937094471844362414668500947203333832849940671546902934634544332809299940698015874344753464069654143362645839256956527999603421084965922056539853878923872500625265595675219191796778740298003353728738203030951297512384456688803518473954319318258083945854317620318760715688457664136531014296317656513539268849826300294331299499348318904501815512538359479871265366650429675052554996950001471378053318493562119433998464582275644405282766852883614999494266803801194385301773118599120932498176483066084070555977280100959429135720970295223320694263785372200368644618203014182471538659425286283835694934741330321043707162593543709806748427238817818686356771205829518376352112260515895066573609799198847478146466622382421286473575545383924328967130143691447880937927047391183266874729376304025419909573413165214571748048046874610391014197111493046716466911698721157953733432129097995740650483438112977746863586869660346229334805076510065504024897460759904458671241529342309914780857530367771962811477902692331357791498101693994947484102937337065201113677891099247234493842410646557620762469462523461889775665814094620697375987746967004668823663045239715222548583559736308152654058133694543111866111562337971170049797267142995542127234522175885859106485836231401376094543185932001274422315799880134654773458527131132071463203714383905238450336521505706607415274239631478357109432467607363932451584537942533130710275773082200093520251141052235948282326615665409321037700551468030647015072955467577053576976807418793898634744184725065131133157165372638414179058184826960047349023508720579149799437367993439542817842749658919577459016902104270547859220504196997983123058552748689333034065851486398114539636800391887968074176981671138572393445713487383476090938179671267555452755722993407638405322491946734955407967499242925590863260158854104562788863433851673918636552481303487419916048143803444994379506993599204537492725905650173177466134602529520536835989961832851363621212276272274823629050869145244364659194321281694541366212641790998461931591018683071408418706054639558336677954401200718948614508778172357635498585619611454798119260451885498054716811491549086887098673552418041699593119953776103305876124957465526063025800227617748596337912710107255326600098730119383456826560982298790962094636777032232462664384393972067520426653125236487604978312286554313968530462545989894204268248953880494598949655740806176365423805095682546344775669509425468802062143687706949355272955292610935070057703807813322184659475668278650831576170422546361806299385318785734042985468636187108062678950416036879635735339350189267314426302468052974726823293687641929538772815990589706380610652494977549374377712413497412768278467185726781959541805570543176915276116645396158600252360592146665865696986069636223147815985286145494579111154175774788780867251347422376500112359526306305660933664687106263773828732457532316496889891173071995868938393920551292270562670300511412398911246386655627498903128835616618351180239903789670518495058119373972251911990821083889598686322069768242501368464800910311541388271541705506481926086823547640918445587900881851739604954576599310039426417378662062010297686913422285197745858911677908721626710385220382721318343976885530539346404936343459387573297621396830126359775405456931023380671615816790941582439919488671763322268388011074499323595379633117080618679884962596419953151258589126550121394365722448820430007580776344242877234802144688179453866341368974434016454404170240509544311052196880121015594007721057998944939190158251690256096709349626904080064786814284449001408704800636468251160304027215247948601497511056894263736561357017016982324350509952638637439668145964365193877290256232036452144413779936278878393919181335384732148470348615232117424454670870733182719703699241721143670955346486503109069109228548930644031256939736929648998958935746801829219831414378020516267990793250906728615528376527464945381336587779573258850130753117241461700275321137662382766068616678440218875489754752255661446509523917791648209547501458101051769681212272783829459636442331647093966401692139751273927606814446584856576
1974402126577444097200753063966779990550030082418802841858812183123487540130025780864942011831508376087955114255976068357848209710201363469565439745634624445571974619171212576888670223296860021618033216553514702835596748780934180899557974263572500913409140278128644149656452341551129714644364259233214027492877529470181400584749099170282521646160663458482343243200562395835368565206414958556458585448405319520762488179398099890389340468902943364836909775307063001248632411368126830933832649194015964813821184756366599679041932000424590812559340935974646114349114284890303841407317464871558766732239916405592282869948036738196323098196988253135230438873761207026384720550751853461199744432977884663759975261129674657698285409016680154763768530322378367358973772048494503713316381992429270733115456144592652484658798788434857172893601282222456119738838163081590187778199842906849595743242690942721944757088050584858748257821686127920795536716987103975712485056193591624743772539528239990003429298066494465835484859100349775349216056044229882787210272020257674563533902329689263142356532637340879224618644743562492350700019066632916071271713923107620127978290781660536937216390075344656392603031794608633843024077885421310281033321219843988718044611550420757475909536377288651172740929308239519391496060561368270082524941226858165256451372558382927439783405447624758364898940058091850727330137379090592374066776191799038594231434241612322210362040402936188645097230002060919235892557086340299882040047676474856838821475214579781754672732262868588683488452335302227565635916904131172805112025270199643864796909398188368541913267314765582063665710135237597798705166149446976819270015352639054928487522116658979205385373551864662377173460612730949281924132291630349405041131509106387035047268323578077622162899089104613864590696826958368288801603552492600141330680084372421715361625886410533089397978229205615666866872514562642017113683034994738956573763943684970154093712268896247838719394684269722874106887177898061341321511118222695950538350309701643620559598382898878494446044924534605344350911466545383863075833380257636863423811112501864309686769817543029794697554535983135636750350799698850039454346532479821711460799325325748721587527966205036515900664868853488363066349562395067735050464096206295527714615784289752735379624800005034884448903448714657400613968525315295621103622779171997750394828523030978992859334087753996704928338798673920578472621773646226126487138598920420080974400077139687811808153907705029176677018348851263860329880956372032861695461896552605310113703347570017305729058470530688376840780735520634210153588070591253267999020702384434071784906726632322804515006439755638577453694872888458018217025734148698351839305295041075847016458671837203960249871688063581301124588546178206407033758519144469326671853222014055930222941137484155714024439781250459836682271815536494111498914337816506002546120997991342918855131198631415679525622902811805145089856331681841402163352158164741320243787344704294383791816154205092210695926421626888712517568391451763270950464432538028256522517281082152020853713789259206957657503025278756922983441638318783138763647760241645381122719908623072438664137868946335986652558752054315842075335824527634376031883255648151063114781752082023177309321022730536803555261983953108143347052705334887909440082618703893368511701873274708079463044407960693697891409234774858494177398162600747139499098410110668800797445210695380996966514890878875233309949901142538145129398974590475839236271692611264972256146276385166442346400483400525512604192029973282875521693493807695695724085664670486948987112148355441406485522179566486948758760550865103604069165235584949056388151848451736366626945384408494173407674145274195164804116619203398901104531116597718033769233729265790195397946587251236797958009237268248624642293878898996929081609604018546664307817466245706401806232140933525607561262112957780918954962576645972943630186653689814519632446971367013639923876171876364177343965002475722275915271904014187360031563479514686659360972275642758038849990932035207946716140506060715830779930763353077704617649558969839713536285117361662971616539485788921475821941769869798273038279846755574647014107160435480437510433736358996549816723320375100899363537490600532934479764620539361967424681781465222090327598160999662035901614644861230400485868430264082903495932764310094601694967966053563599783547634822995773352184898705574470692634624
2119998140700743702186369889077279022459892063951235695313864543980435528580487079112947133438193384411958908811340146538904621409366123419098163759839817689743440750870603160600181010497257773084826417234757870633511625164510043823037340079513393887005596340509717675899048110586181009062839191029480071262588465501926330674743164325456041387668033378960979505748247464730078646916998934101296248519830585673526319928525354998440850505236861687528680964661635987043620842887930838910233092056334831944312179330142068352052298638619868913531108844831283736575730545042570486586899781678243435914265807446948181609101959752489930433551365278227996050096632864172951945969894579706809326815799519630527262535080253167483532616750156195800651110862149856186166560767510704871111105089631759347965207083286922415875670628743033646002258798702278807768342492868036109045466806759314147027012042647506540488302960363590499136710279529749172327125556704807359175403810049568263501859234164506376023940760957441032099196534792566821457484987017619019245361350567640435847296173318398759689875012333926168405729311360802794626686149441204840806204107403771784514523376302570679786100162196068783646839467073067868756803064610340709626670931373189441548642919520252099644741648744268484718584514884159780308350155978030254134960918419484151755524538141630999652683930264144514285845473642209759499188359595312116970950565982073541616456080724871551029848962610398151394788399760415179463960513911159080048665633185074672255044807273686254784220062996165885314649493444473417588989136554238623020182537958258447537442886773521133778172096355978217462103726865304933760069939530253481208704633250662052550381558781753117968561620500521182010407562705887103224708036432471303926179341611764625061605815976147272434774093063126617781303824409290738481592572578284222255062220954517987949600998880062612222540205739527837184612058961957801714685237353106837635370087437733134642143678535835621102620672463676346818051409358476870694445918516717188128462043490007716937627068361292202180870146855729493563495774150955447919211584037920595662321828969220987283573092556800010244897735806005691843723100308501892066182010512959007658720372073238826483060454084006266569784899095465383721636412147681838436634050707059240211334103682469646595507665193041366011794823822766692870341284250635695303016815916090074232839898486509392298464358810352485239744290978104263160328037297013971770754911745616288591680036133709093841455914931925682138399940777024362095887619797770987504824989326893737633573479814736349565084891950271585724619264541987366447112975061293042427229319192023389446072684324059665476738449994965480439895608354701061027774439639762455529729422390262934897797292319096811338720722107348814241808956822895576536914301921721414332687528065649368155597543606872127476624351298029745877964647677946725846103655106847332480820604507924881900992564977802575436041790401322385221366981478009374837595292262145837686732348170905792285580713688840980400836345327448533623625516682162302566557893440507409522027602460670604716752681253132487508658065648330566936868146525958500876524250975378992287884442526051128775359518789911760425158088697964839342067033640846073325576209074704024736404879842467364014385767148232047948556687447669068306717836850417074717741129717814981407258934754201906310186243196715371479226705677600788879932882685174817328544373227729560028141475072122700057764165855444456082651164201408591940817571000507180649485134183986974257623898016616742348614894880961986462160140309775426030628123610007881563728742315541015573616750667730256124890014680175225632426089865141121782199302214372906753293017745538982269149064603157694848128332344355296388752781412170963071574855800390435817070619544171745207907574449718145695352313833258055508907977073044074402486141074792025162991623665723224043900593573388848613537772909381718911097690899586790748125798993357772531827420618892999164742021940664774269568457150446552258695323672146457838035668065886288410717045662085789025452125746944212926283517217916070887318200436446010569888260041071255000088272099966066816803336039018624441823655201785440204172624477771203653083576177453399288771139109244074209915363722897203866645184249799088440374954748602382698806398650036959833448006930822777812553193318409757101946854535773178486938822931683079236508395491923461331592442605729398823465607521378771129344044539314176
2276330670472625180942105592636515254533021471590124462540217167942481064772416327135168157073497155843229926160138040829110735154122232043831578790541103794012588163875731025643003292941488708270279623965033952212382807929345314520868046757085016584663838912866629347044884758124559705865293483594678369489141721909399453812325875994346899511414165266818445359328741717582650314004110412107981634650040193232080419272062364306273395977604349420402763951309864567552257811406904286557323852529728873206619225859361842651465309283624414889855791091791675571572360429566523791916385306084398887994610875708918923754440393266613126445354553751534795966695553947835409673930064055102102831795408688226406148956143935022435545801872805665963892264164750999142672166526313784187832522885596888770613212142146219990168829138129771774351835670638633680009725437748832083024342428021201501217788087942299461835840271325401365732121720901822738557018119933235283409621222939172957664998961483040192251576020338390720178633836202650160513642268412914565861605400097601676962830778607117616988744070075452381145298962830812314806755385176535866524883228800017820384359284561760617602447118003102741382418781210223834674722335003497082815996004900427255665981233130360694412374649931438152327449063709872871215727178910534709002056478712452110245069719660952439902016209777311332568877776250730230555259835751438334325689815731423995877393460533414821368499103557796712444868240452789357794920304470945324565616245742257008163334004563776346415737176858898062704326561011744930121514877799933254012939187120249661322262233540026057085522518127171804522027906561550321891736675238784076095384237583816921513030546822282810805250529052625406922491003363213593754574288906460190705354167613335248372324741215236712796739255713547321719448001519407560083532199305059283594571902361195165421814596609700386482035014424095888797380376922208116624156454341397867909474124600431062415892940661137789166900812031254414378071116410341625001266507217495288073205980891728211758683382614026580166664289392018851269464212353138953991511250886806145553627928712427382744944577639259266603575181537810661714661164676185784294593400684171780520704381815878119135540837070429137894071060842420951246129789444267654574624754026706278260572025961420075160095790630357548448956179645216161529048046053780044634169508624414787255064913300879434279684673028018347584256112288416415587946631205635811802614888794697057716540913222594710306712040914594717771729772851414115849274835780677131257711992840639414100850631854302190061115858597527529751325050814852039433879485376379303174322596455521400434488433702692032293822972868527025784569832884366356242697841479376441927210556223787363556754118236968200239421869982141839608237126358553141312277965877115856645439649207261544307838822282362417091511148325563226945262242205235881984823281927493169667490760901121885147356344129704256860593107365741589919621226465572002027219272887369557911759932124831449140884564415477882741542268557388465759156991775247379021855753904408061385696886044467343371749027325629082851203727201550205497746896498281944079464748022537218270474974419145306528513415961242126437960261646906551683018016631791423675841944582878051780608494884551740097278535857381957539538715747458089952035801593101244968171645783027263430756295443273746545776486549748753780942461063778226995778050451957626117218042574479105163334118773991559511828600807463450604873755805343964879805158737334085075675672639598925331622130162352043238339801103052386218543136036314190976503721310707327404614072015114993608827656138921903151526576162078123410172743276984542119824809491188003913462762880559394684779775554888379425864718557506252048520024598577745688309428219648206466376337366169018268801938213056158044825341777942936384828099550560525681317179252368509519164523291555220864058479418173220171559919376617313575857328468710521544198919992585338562901472668545377783980575128017414496754702873586323436762836700000915634151514806123295494713381757099282752668147924201241613712041318700607433462343005027135466835099812686164257763901445625874921980287887820792978134713422712186621471246217629099665137422309221760627325425625717467503345881529447074244271452897195344855505519155681783849762425109361822918981199171066291269197595890733905370041369540303765918843251911078416889345051966811274638577538148091197543131415421273360707300414307180443047297024
2444191446140419503853106497438132858406110743136344420794952455262673945574196451985496151522815338173921958966571936051635833062368126553694967359355318734756396694040738340807309128601000410893533928426249668070452751572296901139490542588269750630687200821143591663827903570058463557772703723370264029148616980677499332281050539772567853570130554633031084196969978547462087818912946257394215885347635758754326484703868995291970490839667157296996606579720901169956532517738297414841479593973978094542340056447699152404585357462923012574766516223863345156236348835628182785671696014041860759938905183853931898260209755965370496691777634871879014620747527348639193635072912226962168400847567319721668663344985684797527423871738448971769604397863749574325275248319995906630185651729702546677283348004007029526949140666719809093696256450739789772441474929267629414696276875064073610589126002792637030905833521505591359973299471991142072222887764098162811429403631067818212614690765860905321093517902952804749109279901112350816983811026169180471104408313869048602647528700424946649448027445272000057356096517375264618302267734801276183323848659478740465692006319276679886195818075348194775191358623668522667691910806680194004081526606678497699878105024011162721796249764788743876623265002934931103547291998569771871259177343203725500367190247795919734397641266363856904048377429104522959088345228833689807722387992801683095450760934678820843244846403596513531441756323943448630926506345657268187803356795387323273822081143981533538528489498585083796478209974312398286691427926532037439242108642379574178683548102447581555542537072606942517348853692570300610895820468198587649408812669244096934187466259112675349117876611841930996417697716574807098659631605313925530551354830499144316310792998752776244590134949682266722733354913424603444963481456044545887594968910940459603740000934353523909074725219619595029188200372338259249251626473745905265398829813429270120144698732694213855655395518337520259902361906136156548891983901769822555327129635450393396606026943086474788172636338087450172404459218874782752584297371043720848261161941993023749416102917573287858931825100345539944876147246501372093391347271388985455545628792695773403802284921622489398985127379654556048766834473058623897767159527504186943931758154439190545132618346246162223843750579228326074154478677953421787220294580915562864599825353246088144567556746961948023640585151691713056144943848205394715644660438663975180279991915134254562257480586254399560480982341936583073731347671248444726871743089259383105822938677398790935803417213485835291685402026478831915111853686024214839506246134682567483373562003310831616465436382820954720859219043416634712436268166990928519137553137871783995933580294435273899555074075380115826287663977480751327953575096675904139773796890221725164630155674535475664756887955319424805127531828103779758272632891054492751746313003113118496604440909723800341342057756824719209872954109094260354660038119718037935674246740569832715893096625168920715646561716013908139900798773051107118802146733062214233472582141932506510380416110670846813368098610640990933278725580536404467502150479485419505853625924379166421952965103262694834147134074180266684761674035003082059645255314312126398488477013127233254834425792527554706953194852765293172868654994115878636588795444888149602077868762368743641147375744164238693626476054581670213785932764191449005837811738839630850227966194613818340870835391406373678265811049848160617797433931907234637406527174772469844714015750919289299036861844768188681145850969510312129656195446862946556457595499701576928807290950004250801683471494272744683860935981521313119475545517503520719248960645171451338589171341242616460641132055681183411965981627713001736461173500932962137849535523153989677568232715431622219753483036242071851481761289537872439067456350772973119731269078195164986647297007733135772174964340756742017228921010233760362330859444971668647904187365995410061368540380718526452145509436744062620348443676933673123954683964200289833673384528885076108811941638018833654913371870656304955535513814813531477605654611580095700349695017699582563760322972008713805637468759308220266289966933477270170429922445040962065276475786752934214865703332936316411210507451384964614069459512580288698554417648303589563216991877019648007612303501628131528250671615085663807131767789277092825157797762264218725494191186576561024568306244666139786728466676974147625214732824819531776
2624430581584011798192409598625472102539311082081213939076595779307021921438114425689235059281088118826043793454420105643294817576146657965227268192054643402358705581926872316365173736275888749417572590114286768073362497979056942499064253629478443046219225383149017879029768001410686447160392273343178726019625163910030888802237287211581552256156893649802446994352120038792812745527768611628438851782945293692494487577440394861847807388359505028972046070719921833152861226311631820866374970092398647769936657438415448506153467685930967893604735504336620554798782173867681170092527943290837184730826180674376186009700049992851797953615283469737379466204118258817731691612379147570260677721230079840735682903686870448386166798061584249878819533920644171415244614433165340457629235146879567446711361450649267193088227454716303913197205303389108019637854223802095391892032737840318515504233868804395179334774057621756893056371166354005800471743242370043052193175902054982195313317872131445409762259587693199557224460576346915195156087429710207571628826677374516743751408695886631790481013582288417517713639692086564323738540740901870566609907642328657676854744287479668621668010121396540093021239357615969100592858179610102894616361823359500701846921066145309657262309778803836824754295525086718276437202180804912240309722257231042222359579526423402835369718874643197559827897764967121168741397183149583486794046169026578077179266148189981946394939455997560599290952785034573405821329733533609622829150878801979278511372859014738443976754590175593294823357954073187682166528746999047874448110911274807678962974858313805083837001065928598893641309808169569826171592543500085496900091037148465343347257978998100650881665624206094987775676212075668406562940795057822491774379461371362048634783825367235689930081633277985291322214770379895789471772192003446526597920891656502650318105825014457022957505609613144552781871507071961631276312044886616432200543611337124193792867961173573619617497099301154451504516135002753525156823973664966098713293091452960467189310779262815628782500168546699419626678507408224460363604172942889607358767251954971515973365281686863759326512574894003090676173798550960890060723564998632256547034375096077611689353947110628806686954421502623501713133797808045682918499398361323856814271732274410153014251944994217779229885037941679351329389193434815696851258993129592060222081504875899005212744072706428529497037021204776662589686415949639648616259035271696833164567349661507698558668762329388312095648297142778401915823734504457398194447238720764825161107196510325354804228104241278184257855606084677277921614940852763749939303984047009670600618138812066378820466094646134187396788702893712548073034065377976179592375213155372825927731088197388046847858026153759060649383467879276855767293911625761647889867620312202942696683639379671992983673389708309692888480577726206938941935929723244330654865309237597532872190188907052714724443703726322452696824553367166101143556230575576418752060365045506979737927359317121237329724516281343735505530853632857802962001728273863016527612203068436425347742928550700921010449785601523413866161105240617831337507779765148921620450977056572221507330392185634302372521225182870854902432883637649176345173234135195904431568151057307379119373168461182161303708923835617335330736925808692794613486358957093229719964994938437357833984684352267010465869573538846132316977391764288340731278624630276872610447237614980280931304541572433598526721113503318904798783572565565918364863118145758556048224030756807368731521480437399771669700430034170932906367792015115313545297570503762667213858729156257063553072952912422430335144763145925043780802167359254263508170913250610953023978422594373424981233342891983439242896538891047433022987740072224467617499710184159109269286080324022989517033705687620335349083469760987269803619441119355967483223249856075080743604333753119309254794658379101713876821071080320517828037911931507122324255919601667174921808484610365023318968016018782419143157429232028907134880453063969907337116524298442307454556687387890194979270474388792960056941500295079508645710735352023479388038966148462066050605486793737305559157188362625406919954808051570735338215790316822362684770175559930621221908211749919659214304318815683230886397519732110133632406568947286763355976165824260535531600646679776916855783669207106572520448554402833291502246857076700584247088146079440950167281959738411205640794802457440071943335614994396519988199424
2817960879631397637428637785383222308241674912977296371078328827783823173932945686560271709717223685413005001487628305095704070793958971415087255523073935114518202433817141315589046697665767753020703330561718642810157214393228915238808369985314803605127547366769525321238034444131545038866079220135011303234308583293055538438855440051375449844277218217712896675378963068720345515473434111699867542985885331741594726201346190830240692715577811297545617592986841862266976883958728343753502720654957572591625318922387371348775299617016576604164586635463962864505536324347369114225605202600072081219902252264258236028218613372215876496394341867072862629022156295534655310094481486891656868251869749451857161662890356600101860594118885136794555465318782343870373413707643678756555809662335374658562880045543430140169913540153961566294704894163494226738977413711366121112146042996377423578488354012607979075727403258666348434920910981957617905109649522084109820427893425361930683246183514216962034556016051184044970184676662827978420213281480510069379347007543973139554178175690773315927469361215139519543395792659825942864347234234285907203635728345512501417615714291999748745375110198782386769755218587158953598215023147871490893052124457996091330393194346889440433647348345868290410045628941650640315817691074244257070087501412656465257388504574920756736653658826614297081956072241319983753399595743495837950519045870810249068878008938965513649172515852388457433200750100902751828486806189811961720524504976040165319005498382580099718522287255514024665802127411452771343820848551192190973237603226514162458911052832006635099614443220118029822801995173084006448848714642581145597450095993844936566471047767974285413266855493150984091512278787539020882065620089396507786047199321023827465489494495513119543424285384803025749486259267450477917340669954258887755716092814959537213397128776047910200001947756249766479670986137076981224642743069725401099384031028670810757683522821674118926373517718330706064178699035286815124318059529948663730575377063300582239742709428517028624628630255640464009691179606104444672232047869709734836046571505598681429286372976726889778746623725623485244272247797117303046464791441413956650048631706362550020890628552166104678993837549091779514727408814458173452235187339390489070470959043964826221641981413639067723526075949807992319555177364587831440901887979371647118775640122112691496917328672989185787786333743943571201682455849788768447941052589112093217146238196393058840427167875379895033862665036580869700901671149307822867600084775797450043528335040523181300939047560092173656437964805986878846909755616898664300908149121103065456346895895553346803762232995496756924185713587688989499627282573083392504068537865838813511676470822568313458216527495376958238195629276140142912559084213140117194512209752564237149304569698487234268004667685663277598956964116311211220970915272172182795014191615102024324085452311963348372375839824417067170842114940446271152850552864783993722225100122068507428533164772669151799555291529447719732682260868021763685052338407930046892500473287361324180925326385131283404240275852188687583358717018916949107259963059221294732376067807306008309012964676038322426438467806570485299377626514669181680963962016304313021681669696580753784295259640169007074506637844332833804045109981978476343942218065708022217566222881348496310403404164467438352649885637702780969376650799749541038736604262724814821757258372470336571211357167468680200965241152364670892328226187787108777323221988154289834826302745446444518424440700033948649807665278475079826664974213162552336459719975478725157313669922561440432360473265250572606571269284353534676478375363478936179040075297456773814344907213125333476476655366455733030460908712160208004620689954788191597043073132610377893018543064926955781952650214504633097216561549411315119718460509357878230720821699669794678584993658379092808863297233433557739623968183417003317301945898487820593437670555891465841469699644209269444311251317668652989906375182749637967733151694853436985266479700749763565024494627271013468757521359567838089899510388135209838269214753262972848939363295323913595985611694315406247934779335196977854974497594863447427077079600386381593134665326520126544264832044936966738225526176229232138173609626231926255343974851041449136902209592667970872917688005523210617825501923851244940494708102661449185546240415803793231334092660117374732910436571816210806786100000371385219128407888245069151381708001509376
3025762454856061346881916205512701660248906253875283476070225642416384172472230355180158431527370284191362183618448729747489783538530634148399650864499481176720423562488056598666342635572818009488831503920214720105782693109344668698059494774498770437171428462241507106040313042216631265970214793556264562995423597603941380376638752673086529224614736250733074784544943696636421139694665366640435516164062922359065017980214050197514715755448032316554438157500181189190100534347681312542385017665016618637144177064305930546599330376921880401191409250169098572402439431002999722309865677743690939020533989447932768359961969393033866150997190059630381060187685437180463847872134164069279736098890316186860108951374764607803810380122935399628275498600558095366369968795551926370134287024632809285608684038795005749922618634527211933019173354600837245232179180093244868414760600761312720185586692400255410449725376101743948775931524253508803740127493997843320360002558747025727311990323327594050746722927704971633805984120336795146547152447325908302345746603809207479071909821187203400214489203615258764129009445564487319413683983856077393338326566385279095486953282794954678825400782389041602549230436439294757814478762098997756349105177042603734489966975135215556497563854785656001008644101543035148103474023665527548007960649606428329690860962378907757993874787284762535093257390496270687523025648134483857177398742060063465193111374951613135298759393262012497040871331571511504794938758438183185994814160209670443406890505699340606097868007302387582902239366709853697192569129052584860510160479273825601960463478921599169951962433959913966837221811087986416789614581560380587341815635821406154962046920073575838004737747215960357165815377143728656753083227802479649329420521549047686050255986872450216794486439394974942748972343088769179988637092186067934707033863925287947973708910288356570609538296187348331659455983574703751848561652692050311355584214753197592638513927809289995189597222620176730564559097364095905234736059995827660820430649937436130634363342112477871930468956773312978113972160866970187956869521230877445033412986637367954409876877138375040180878356192992636583421968902256714915071861914083410952480147497093956864722341606109312388997777614721496879549242803229996734311386930778850782779552102896088699068889398054911055118416501909366122977167012096051139558541404014186751198500471484864101449302866542907880052574916494719095168392012951662248005874851513141511436629875733553220259592173664613186588239721879369756152494824505958063325825529719385064286993862094474604352985839996120149988449673628157413147897759483017029620800893757202395089308375629564086376230118897671565859797822386759530046645710185975171426479269078834910023339078907281257229162019832206706252001447790516730551863590786674204009302889988912673862848999588812963642636721317946338922391147750548088054577615291615996379956210685153543835880697312542702502265466601421440750532112172430561660335432441590785306528343652461819270749987498320401787381115680944298411043196873511810885059377596064614758990108434624373082065960566190721929883127792235797921740858191727438944484377380893025583070901364433887878736330896957416064146246392272069918918758651649894705630653653310802967427567372145131644094640588653324449661219081365031844254970330176318285368576479083627322080997409670007989821363364463245381843438018387207930973172734130938095896116624317876775873490095570575866388534513294141857104595539903637088217193559096702249446215117693560671053033071873031527860563434288885166819765291300151628853248554123754245721428999761623608666882785059801910083189333385647624269067376938984369140659338535918462081018988578876570138036131952307640305026597567199384143681292392723100820060192750379070502351974461040179007296357219928081184922956195998256080121073171622885278153789897240224067926582225535889344829776399996054160138081102070153156671380139694533842147791631325782526812993996478653370136705412010842229413555942889005124877953929606813447446100620841229091039942025297878143465764178144272267998341330322385376260863248170365931652216294418482628410119749655371989778409954735958486196411910401287924520992291071277850438712064476572441425327276248349737498984268630529606999824121158161951628734226744446529303967373895860604237661604071465510520913414243120121349431544847077559340499283702971734620407683370331522606259441999806764993258245184447018592245171842593576376140248709610727269776072139341824
3248887697267864968056885419122367135843488895041053948112704433379740108835063210919311162877177674871031596083096059129552739598027057390379327800210849765745453934038503870467234708928924894328587246647954504038032581846859976012530107179688778454965726997732710968548687143480674658658287562104886958497269037343898047354689901284284805599467132599141053056285694854803693499367908793846129983280382405504592855340667830169507011162096308156788107822529443830411467630493853982699974566177907165085759582832006815159122881996094707367485115541407040209567191376694683071304488666015506913356180939283820083728195053586708356334743582273502194125380979143656388669180283856100463686205061132478415898218287867057553907991703334000231033455841872696736652038553359008507381688474768765572573605350055436236012400391493637918594573024741301775622735376328145235090305035984787708806473473607977182482156785634572557139631282151062781327982517397793338869565484073698559018903106840120585580334838416556375951097451485465914967886770797784703017465437015903786573114278565061624405307628718155339627868373393641323972119651385211093808260216498186662737231386071042454839320013613436607933093738618644418529356679625439919474195773565568259580468849581448998266869264994021403559567357357659774420734338907242715320315234428631236847538405875123795196093694926752931837898200572945953218707601426702894104215616874878062672211919975692999638048695858286608483459786110903549595502288453710205376203010924559764342603385757892377988790316672110962820401711295643187596692855875013860038965283548191697306926031742663445741106136219597565634874058530197959650904985061639817986592432278596383073774910733383534501535629337316195814914073501555118063125502644442010393852367671105767882581219011344751130107302579225851461577137793688813235983490637924731600243446680906480982507309378072350088670441946055643359381214651216446769517960738016611614712907334706092952086917495351363579829347641522621878746234959517929397676645218493424918982542529328156790843572038588003366260138821154231642968547894521990970431913056449072950636601217295093927210041673982716039889616100785609623652633050780402789157266102704052964257610897318699943304288329694902627948271267977429311457512265359049785013551987024244980125544064866681962204016403921742248480613070751862263569311617920644013786866801925713804108512082317017968682295503450210481391625006733687367613738827133749446005768425779449726460083823183038772722608254046766527221708855920007189941615015015587309782979410586658727085874048962125621999653355683606202771751531493702438552545322032808002408100780003688712840362618146965290430506878108922736479235442080787211241668169936864359786180532278894996083335985156384104018253613166157802716056238201230204165274538570473154706696998065166434210212610655067281576490437317311385888650465427127001067434780192790051860591578701205055878402496578761499462671886240821338784184279094598193790513035681662463276624142821093175914133441424423745151595459334412133018273823953755669105266710448303154673175359428551359107994006186653698496869509742460358698585438330110762003099290108464420038445213152371331498325838752366611975043291603991631858995360022438338550631801124018205217150288778050000444250298214285054298243033558488493702268415763389402237336207820934751849347485634398349617085364133125541877260149620294026182070400586612820525918583178711799765133640448463884451506405340991404126162235773798396071336378320305544865705282010368658507991147731325271969134508199601051701947599063132516141441458130830202605528671370090541298771440930024311652011407706566849375503935072093360613228580870722190578990148164575318096290878848100375486710255175240318629302113028968439826601467327153583599852620005347798698744580899909881147040319256285363268984288291248135821878707597716775490756864188296932885202579689081243916786709451294396736426403685479792983570497497863791681268567513080680038846714333198443193243186738008443680192331802029763987473888504222309593738615089407097597821094663310194491840193155848994944581937265603905013378199710057611422556741396200053382491703179260617945503356814146929603468024344588904812793140861892321880498524164069395854924132080566746650842305994319531561806429236859435811598245311378483431351243888900250461203619816759555475378548839968327238859635735937953922344551760493565674236567942247070094723491400455887387358174599243069459867588800140729271068628615899770452472261246976
3488466602035557147387101885687454967638243544685125821128936615870048629106519287247797884851301844588100430739894818096977810920182599403698579484092305412061496426842478832106548328601452902395384525558912555034812469803676719316290324138034524730566801564031564939834273966246289316738327079651014602130669955176361204636663109559367909699857252385051575141936976658504333019948241235369983583588567307504009172870856817344328687345977649583935740874871433312171555924083428796173935135441474747941852610895518083289387453554623491965509706254281142881062018319369220092084403719634817205431675683420642230390144877065969972686909528602644312788188657240615568798898570572487065405671585978418879927183502764531447446145339714716289286284280675844969811607529602023121547531647097992324123587382824682605171649282980692863107300356086922496691594618847909087262772934054691590706643690559445280868771874461242934963451915584340794361621090470818353252857340956736041187128672417777953940976827932138514912561112359755681027447642701883282177271642198413648803522434826893371261357928540946896287366868479601505203598679624600686490716431129397839939947661189969319040609098336996254310452940867362498359130838727603495938636090841384246638438097324766683962041043364219890953089946940073426557947832477696959958748024070386102076051897834407740079656081665551239428972486209512832862473770878572967821539322552516750791247141069242637095389746491697908507803984569371443630749089400460935488058827144428727762237120332254984337381166177050035149174317899305319503247163435006498103519294629712544967994645156449346848180334482023154670749389616497516276641121910777890595951765779416556521437799216300414027245797445637803359047003684829859305635724350359987702521999649891739303163375929384789771267476387137870256306901851294762012400255671452224883155837283203270863578710464943710788175562070043896106195472930932671373101122763598342697481422357910298750287351397996084651093133345338598153347289158565347672164542399106008604515367439598388567158363539388881119006301516319354469639565390895402192703092393041042553125606152219054499653833378138214865145133150717308310252731754347634314284410327970821162034573930769257586432243138148518111235570168924877739715453318308998131067259175266237137182845433202325406924839633672852275141434707227345638281681407050503390618191507144762652525452457193113019933702850381627295473361493054241756347334455706212822113223304018034971005551467497449537685894832737630472241183319352501718221024159728624106437629356477763851686704605966858072283042321499436091061854345100841500884657933922174652347470523896983445253423178430538011011542200545220369742285601705270815554502085590750702517405734722431589798994036706652793093165363895620694160170379292767398464314280505418197677803019717816277932449687992573777762662437683647594260047411646172285205797367885245461933846195433671467696897818882633132094024331045740007564251970187158933147730940828605336670975423675157092379994508774457910267985265015849509674771961063560503795429525683240887003729434304668334006296497183924826680374725680855155796713394772412643715237725414167744211182313294295983408321039048296010258783226405833860473014188678029622562884906491308557879069267154670138640210125517150377058134514848384645910886201679372089180587060686893545835705742434892681060438940448006398156277697175807415089040028022280319893284458777805725850137366698893789289085727218519452234746565159676341205911156975198931981416224552247630298803533540886659461434558535582589326767519370468599035420793242617252379949908081217596859290175943312560757575182179656745626386856163487096523137814953060753109560497768261354238091575888922316110185157151367979363368030690778737417849303248934293582642238335721035129174832805584797218446284599786169420941792337186616593983782602735068750843770494062228169763000524859447727399465625190884712750133935007395233321388015943703783401338315362393244071661904535440148273323803641796444570987019924645686199726194896294404673599545333900053230440609459354111463242115673616100362188237023109430587452558513530833939310250252151987814011036565894884171906943744953196427353185435295183850885603737193787561595365235948367844276961804653502621308774706787457999604063712378639956420275838980753932863397936608284269615977449950865562150121900675791682028955081600995406193363774772347318562269808295702164254431973818954840560935501722421196919596745078104207419719214814926818871100732524724224
3745712492232741244291663612811887390869748595826432504848482141104693361985533509780630440863578811382591485197840331551597163584963982696788625081458250997511982773527325781867474964696675408468114149655001386299579924824944762505009605553524418359171906065209305332072103586233005124186325049213073702342419844013064321549407904531787535648192018715553628626976468210347867648742652929658179487892444726306123696591085115498134320806395760527488003505775808570105447858843346363777925333586616141105025068362115860176130804222456711896295737083176042165916146607360920911132155611873073240066790155692526947710542391925070366802072418164783475636416214481649367724926840357494985825093108673440312769051001441097038886184238834379108100766541715409730626740405207010300620620333452722584842459917857560972698078534195981311616614992060621664144266771510338681943704977509716264362813045219390356308227417123914006294770233175824110375455945279005517394399374490675661950806666044563390291572447565588557222864569296633009140773825939220443640130344437600041172789596795949612711679642908417979106736129518455426990457537624110376384194019827650016678779452190651667130701543319361724784473602993085951057330153830026816877927708252257615670422391132584499611833496664760562049051898063497659726260947341448773105361068121732277627390151499378616792847826420261945789925635788417155309159727895317020985792938685263671785147148486473899453373848388893313138154568625984748417593709739189991311694615277359613585423923906062952915511084754192811680338544195155942096319383189529982725525348234900952629616591912518687048373803427657637306404569053704703618350326833885017507369696004011515055127717633056177089570088245613675822096456638283934260496676143516748252323541304202117561911132240415319366857282887802346948482320297598214524840561142731456674897935600713884619825059742196548079024105649314148765132824805402272581346184092634005291370782648696985008518461214213265878123144592099088278778149966573381632704109783741421648372025270624583567561367763638513058040987257626709434733339565387302143606617916544413937854705250989309226013714420034208553404849293974069533421126094895948798704732000319827733300802963487032363981594399567073819655116006861386343219068086987956248864749933531105149295246676956735043473019539167380221192913960515196088327016819793293970760561436462926482569757527811815094261762457642767588329754112963424874397350476008036163748039924975631398663287946836588181942809456775878256702229545239929693885776516415080193056710287460380373551347680160055470082317706555998923388185581330903017094790223585667285258138882115382592604214745851883341244865407466398714289036151903954995907458640794016776850320625348923828945991650338524322990549979762907509759687491212587896434807614459135377457356778704516015564079476773377066589451804934726102833995238107439872135121081167502484984570581220410872741624143188660141177470624717432703151813707664353654255938681866542765573227239276135959858631804961470441182374827263241641427695292256444435279663421770577916242762337592782748670962028371078306878669422956061056864967213708162416943461491879819629111280338273156818020724369245292582147188613541605013585255757729027675656703594198047091083881406336998804781872099916053989144689108010659613153949091647640850211454215932743768799458288209315868606085962157269767119991851616071102550430962097654383321518740118933930791970446769827076093534572035979523222017653052285725856081405272500423988577791053923953856714971121836820307387600538631218366366288272802285263017363143854723104315755331758922592590904862653349589949597930716929742780645466608277221218055631073927426673160712040875808318578974005869094454795617436498256817148057204741495458561027639834447577771730039828614768260591563657552004640072197511564015063901959980730012814158280220109296391669331758044505505831275540746450556997017760899642044867619138011315412746451133581705053926778303342894783440087197377449829151464960357030366500254213401653825632808526644915224900452392532189350392324558537504440898237007540278663058252537850150572701691785326314236093407642135320641983158394669123012091334971435926536492821504084686465252172115674097855919818393390858936892929306983592592865020871030332818258648341652245445987489930325028767918443291615525167967406653111099081857251453971393305798250132321647661683316219585394594560641539557573207301387652284816277528068765787677676710990404626634136923643283227344921173321428833513374744576
4021928163589569416165760475615065735955084803704112425168898057821178825459039012404975969442783248101695743163198078460976688540945605755154257237417131005918335845103809698864608694867743859824497932890770159247839558915319069991375823004561838597516329548014502449032026204198768211045171174198935521799582955884383164449783749531979414507354720477880690371748328581256935083671527463290117339849019516243118040347334314054217414219660534774652171022410111229139855456291349254906677078621101677337950992468862976204847650988407571592571083579113883228331713889239127045438782671744429717274905143598537868003870411934947926978406285260345341694905106960701406629409675832013478150689619476850021787771313036390163094650393006077857439610242299676133070504905861474337775173208853014566014737664847267691016049046602839347005136570280917424232180402384102291207989647869161719419393076944862681350406013069440259138094071831114692977719391515523573153126111750077156255466547870048359975296891677219417066006977141541124293423160635437072292242755634176922391346200831907492965132485880153385840460742395846571839432707043060901916091011619633094542303071088911116813560321523346472885866693357647968477072407943653580323420082798918944367850321105142706447337390693117922417814162497362044974206770298375156436712537463617069819308293630579130861749455294927452230263872995814714414548450137661379171531588070235176863521235324265324127458238922989767390365250510398037562088183586284425553563128738890377395148263868133239722326990036185581261335213381611353230940358192480861354394078771977729335862115820811463465406063926230563528909288857658842420546879805611843704635070829672835492296296084274702282621997928686188276562548854727899802761792188276959042998691478113320575588892057728751534511864075632879363944240628095329683045597430579998632281884385745062173816506208495091300875039339863278444081066908825081215239840083064621805982115621519451906347268081822606828972906970936211037192271236454041824147808891490759625076065044654533979073770254464017887588747524764860899568584978550329070115279860181478798643133863179638692839993970382633234529324291356829629518428893267573153331827775454580413720189714679171530848629073019334653459131312138941487336732199302638808688234522933567603740070481445463454663439294773222280005202891838650627597916148563530771132647904051762789772355655150389068063356754724068010701271294724849869922382000876136989120783065468157613552389961873533224416116089802980678553392176772612627144675324391894147598984239497273150030825415753226572387365244384935042140866646148744153142463235570242211130202354127891883440698451298697652663476213247474174191964540947293710119587176170728382261864243246974108529533072123257324036238270033787397072664648484588099678233425038440793653990749784951383588987086271611526119527440190705006597385616172796796276691684153646167751865427736344116527023388229829116103994816290515675279478999375725872501836963099537353680601421466842665210598096403741521237247863677318008219327507223647723691835752598021641320622859165378317793692344177901370074734252897868471053557617747200117257120847164798717352949649392756412019608654034689960568392138376194067174577296810468274206109315061566900818300958239974255332307270698574057186694682748298664471055690468881051802957635508114155635364632593788514549243078507541814607475277619377533366190793228810283669242710465486095784060112068729032849258605984972046891059591748560442649872809589777822294268872532131188571400967740468393667214602877333266872044438622148535369680583245752944777042941401860550672843367073035877068422133350194621769693141095213302677008326555042789913959665834791908752981465360637110468185120531813471842447664989421075474782163034233310254800188999268601169468665464892880672000837087584847755006627477567066884048810617684828243277386947646686743834015009316435367680142595793813148777530203247211785577543921687289698887637633357297875025142211044222031110996021582358805845476949371455561577023351549781642463873909981970382676971803629687084054790778173202860600565140449498243849714607359145462093083060102156041918440947847471972936019483324066824599658423804724702314695667979907445844821369834999468250419826114806783618648735776895858178319604101574140257198870300918968829302117221983179817900571229592261246802798130483813895891989202873087287314941178867986406115723283725294716808621322095495376397337878767774289825315741157910300177161058487657877942337778371133982843326636568346624
4318512482369634652288438739434028205204315139203935631701916108674970017878566186466877524105662348453359324757087834439984222375434833408324229567469471295141708725366346095407775669073550730812756730346365143555545716049090159754523540462419388896490785558670187438076114850912181837480859042976586766035475965490609112111202759628026722863579118980929764134140288399790153689391058515299223633663514099982483192089852339910364241236781839269750451079162577707219510348734625624384536396177613119914310963076127195276261714414408148777217860131894189281311902948477754245937169386298457226466560958314475974123547055170662356458812773348507522061390661054898624673628037371114869622105618874938868168841310554568552096907397628662881733219071415936205732390658220647746771906583189768808011232831134605891967840916572793724032264278342536467488443184752959942764245967876151417960355343411749202902715735613748622505969796571528110391096410806048405752435062532555677898477661080969041008083879411027996128671060032684672969830895704539201040292597485427405387190511496722668895648523790610141912112090540510428071019509985673859366468657766470033144616944711809088741269327566504500380437047146689614022466229485490684560599589622742252553690130742421625401060609826229062263994268932949917358974810493326364708641060539852526185319437621225618147829551959381860505396398991830435821516344987185580365995936248150958914399890279809880588568217944998828371066504109251719817937079492783900476675083551242973560314865596202680294480635805883732026046292691800582477298193440807743155758208555423047184466896853937357941454467980811406728078936548565481830366581799986426495417778207022103704750162905973176545999507558471729723683687657364646157906686981749453420002709417322652913529546832204782969909567882210121842613448766305984939754721660280681109343855822507022657507140417616843628448097536856552507167486786547884400999762488258118527825410938829189941401592807593187100976225177555362226723761156132898160432755564752706318974730219790000764560647903585138708988168729116506913409053247967631211545804487341726016272407279326671689710990865907650587166536446088989681256362081471425317711948432870463602582591129865653214342279248763209578071615564551580374042215733878746922454091983994458709667172500635810086335662614483073357290225282572907438575731223957660510076095906446316768305497705937893752252008829380141402510434559116701877456621188045512928772417765024090969895230317221378021709161825260800274426676997275155515515755594700344112857858557865054915140324138136427833720477592060085910269851017576515122304523806414133551900736577210376560200410950931438786395399407392955883189773732340069836167532792668567228578423358184385661773274798729949871932029522164683421361015200204160462037200170898542687894043652553221306366162660325725519475005035648418501629808865140742731215491337628767932412497963780162322771394638168556846333811167730323215075179490559386759664113864109117931697142083702800398864248944163481261437817257884986785573467709659692682770319734903012495943079357616328432597850873332415597596144173021834577821138158168973424796674815423156203363416608319138762229630119949392957535193451407315015866009153106261587040199967897597516382669563481537786633553334968348662362721857185259540885915332289635755801946220145209660272136299506344330682354800936063145772900348625936810421234562253509603336970080633914929533815414858321525093318852638001202217819855336794639065121823936932730664996123939074041023944029337015691630585056692943470227067770135201815166769343751678607178273361227158864673103264227303083860887354265409203933980421239863689285475003418399281640263854655879946764867884054523308796198585289489247283882396430281926284334265739043048994547059691619402485633817967119889657368524543950202183223121319851381478408566417663474135063377199119945931880956029346806304870986959387743658283568650649751905560328903912623598900022803492108264040820243546015908346105614670585310410984281768062348222657369983655767580875826210052685809549707225910030182232366094074227463268549337060424235989344385252671549149862737590654782127242578033430009200195323921095343525305753050121681238348541644216252599718600810908078235872858275469250261213968378215818434208962982098630996544127648162466973999992994032394992547202704317367426550632929480335051610593681254784392757003850421978909901473746467464163652517312108707636444122692400838377339165286806477740612438082308451349775132972329151686578248976681604718002176
4636967469786339353761793986192154172723527630239647753162207626823644530142244267561669188317817858756433620292083848279798677464621010816990195039169401172761100665251575524698423070693854751859422414110382261011353502465936141675273498587055998086683363284959386074181734610851934189996369153892574663457193211894047682909303341956830974928281946382896546157281573938276720839687084619508120290193769431964909870723900423346022496889958147987576677366562794579891615010237193009883790987426136939343122977196557465511937437136693697548513274783396947373917091784809481867456320846241066070732186238387773398059594216368775629912223808129725054415917848377652613392152773544401045021561877931425688196107208761412888661572373888893757313322927133733604210736401238398906080357086591790098052286952591155719962696455102703362018156081077558803387557684117012198342617067531984229620938306123077972155308088511408205407047460259621539718609213498739725424911716485260392968267890632333509779550783423793246278264202695508340371469722925345686804506471117700635680029366049983968522161711597837127849610083789420812927997290191603663625271541029001299430041453996165045284828391856512023542699168920460501722338866226153349175106841895174738138867898914166270235179550729367516357150775849612177965674875789158590669545480905355676157232654974069016345578004761969452811577891296519773257709898712353901688683064163677327252096798054442931556391431884692573653011896947571436912448707651814780135659573667664027897836257799581513413084495022889308357574161823331827273436600817037742169387334957272347775487550295566560297798205662666036860213349345636965043976672130562628760431812814035363240255597382956779079575531148935221725943138784265002198705318101580712826196747294698002535892129893504985607634836532896113378550005405263938011328764948122086886309215194051710761081044245036031410732638538554261915397790335683824060070632397709050770875451495008006832122999377730389767775484202783018498303072847926486857189311589443720991872252636105236317900744638617282976681961485621320041712446892585888630044521969785689804020588272975097951959441365207020157018867835386069446669384832963564824519807016904273144362642510428167357319341880884358396452886898908403652906690975096464315350243283157988900810716233755335881819651851923664003782610192280749046079473606546050894861877597386601524882130496001569668261276068122737818909472182538603302764496915329036047155677931906970841957233689713381048823507015766700962362600713313068513113547712991752221167658900656033610442936856033835983023394315849724562889850163820863406986842475350534659397495559357386559476435060002697581448542544902631534767718585510114374173907830379761203480421223661107588791883156841529258916863783150955605234737023558940426896506067353712944641213150228118102573266306778836953404439429386317904655337943627591116930063405921713114621304284025597427468634013810926247630154116110327189064367523320626719643195247792212423011596756542205574184426189696170523846062765060104093357552104575100840477256485217957100488714629623704783400677455211940882088933859707436251415938831708354025348708445447323073636349883888485628665545351839799981916593160706945792078557607657012582289679074855107802458597499081950173344834377490197674993309116538768085344245304802239592730400317168622965483023966608552461198930808572245349521371910103849284530438607205924951888554741013286892698470433229290855932161955045114622583554736772746010063205562016249011189533671071271425680100489734236739448045932960624529650501441676584323625277779347210390733378732054660437691867062671778363865614150027474658738460113082379579244755186876878279828706623139475426364332140943724373037345513234955752406982930144542004362774617120340791441926325927116294738714589500099282347381614584009858257382776484950509757546230722527124535959772989383061939679237477814637330366873622453209798889831712177883396223823299327061199708354878663209897036663938761223349360564265993035430348296452340969210726319282573293394070409677152288977997244819255414615867765233161687016587800865167009250717365005084785362250057079265210223031115628045828077471054954508263307746234768389437731217434810941852800718116866592321432319021320825076795847231388362860703774751200355909547063394132229317426797537002513053399564914386099837831462775462662630054678330447492997033386802605637703127118804407140080820088527734888440895181023838241173818267138413355601693070544220598143584938682922813267551244860319205374948239717154662094209024
4978905908837048907991169936246194435909371605407916935597890585092331404122556339305210706748973239360907407187345524012890294293649859623358782211473504260228243344554840122763441837850500546852603614513365186275574794446562770629930582071726930175735904604046922969212095028540086011094663968677949819196712785259533253790008996962023420279191726295441539874219708082076109651144421828592995063204067303313446228586685040957930378955657989103842510895432651662750136423397862295072671762873701342524062227391342019539604797525038828135044972154137843189301748157796748552857476185772105826492490667114186627731186754583659801508700151637437008547046885151176157942056946352224123068957970138954365364143424035028255888585639447470756319820699281594212115330183848914300254327308728394643307801439846629069020778903660310815264307231612909875016613566649016507278651427025323925052421125408064110316261718240192891282329802433733545607147903645342214479003881497854363460704739008194296167016696094092725257704616556180841997674737854635293580003509717723199241034211876073461531744500634023592112161529056845535576870591037389827266081516959770692148382871209454344729174236998997966436668747519939370039299275767761893646988115811404540127950383075144510441598599767651607379676909503777729661476350520824584570787145918273775085820301744219538312786741167397766094185573318798866189799848706258129732723233473015927911111323767537204633266894929841561713439337322185387040673603660502358933022078072979943134209589103056880648845811151996087705960124731455481973832762509645995553799673999520572765214344743653377567563828532158159121136714755533441288143752146920283151460913718568903726094595360185638482068471961626520633858613958501845960201858696891491873220690423076098772045441019096968999435577704773708781595085279057960001707080739063874947992137350469597862923588659489691312681356480719947512012957080606721533555326399549609596028413365073424150528211144195093689482184830379424158593682344537460615950478939353640123160001720480444699933789399227142261306638793468785954876078809948304134284866221045759459267268985777291581515594945498435961002205551982369951857455995504233420222137510458793079422159086607079439225329901660361717677037908899612947200293269404416169915081421701807482528253527578864719477681418529492896184682767340522200823634039252615027845824679482627154488120183782750122461937473953656761549638352156260860722775160307772725434687634562338670157975831987095804570785477186134249789774239296475268307508640458792526912613477800244325482304467714596454128372447371715362054950425987712683872906583483558124556685622936300512245311866344845946024946634305353486541409570324330178574110286999847407309502632982189620249638577221901705418761582880047538907770479836507665483193083987442590351467233498725547544438057878451954947085802606784187588480654927098862618683561910032640898200331188659044459878788777785140259877358033410501222766837896652270772821094552542140079931474522111746207753089317736144089506928574119638831604280941507521437982408953758294632503737827641207766168333594947709314340772737622706959072743830957087215664442258813173003580637028610771521129352039188588378289756243401104255555196934717056498670106209555987528526163146091504604398645464229393667874918588165410670517621481792699583357176806815738526031194941982213687429193246157557370595401737271160192808133621309401447929012339454276401347924985688973875120797873547377141937655466208174333988695446272330912846293685483014608831540350532631862757593292922702646071500500445269739212055302943214257810777439178366067903689838717613740800228330710290187611700772320511678615976790640147609257857090660950707615681558739689658375791499117530148766241750265115409101575087696348904457563274600341372869006745247851608768536467499746439263643889135068896797487540331112588716600240246101561816162424357848221006617472550396844114641077686923530320682741673136665134477235455133676538999732480500259613801508636583034278804788029321350253118431276619462636312471172749893009857519201859211518113584258815104108103557113202577490136809033506709510877032394339404620876903212832995494183854057939667131715449342692411851830194501800184182579314180003879132518502917607143713081856290790425929025039016343766242862659170804480124573859785858541058231979334680119259045113381816291547530267965866861855334327305380038883048908821829003269271611533702963307865346260558927527201719216909722535054312097709063905960329699169111873669789768801527526819486890967139657267019776
5346059512079070613243646983238952526671979766284504994469369567389467130275034763308339836968971636158569313688451092671836624106760391889329211818166314192049244665098174501444401959491508696490512064196573607489635446437477379866675292187077772836815310751839340850549290758805964010669668726395340707444748600848691549313139173374413486021297913438176161909913399932795943683643815181658857872787730510478540997208588137991682872364859424340531983057601728665517964339508056938412156791221303561153035339928682341868298895533685876992545706722813176893506836353341320612414546891747503758459074451210163565936493447551299235867429652688258200242409712275742403574016311888107276360863408636338393718857784320976679369348685280533602077503804999574458944557529968188581174765068367037584897148111450745776821793033916942411188824288968436311147950681356860552331488459514374205476625954811787502119920074204598785197322501034756696390206177497925998478884837422585996308656058788102494512768715902524798443338625034254215760439076782757946983368458450709833080183490306217580543089174012745648253544332792126325056565920632445005327727301353071117609147102782796594154228331249112362653999481445855175555408156044755656082211031577660750918866637704604395705149125990364213104386145341269234337292519141093539421079247174041438192014447331068668524409517984097566699496173289812828071767619744781644434042877196493977216329182649209950090785246840784430505196919369674613147198837383080879637045819942351889256342481001806819003642004761103820454261600000420519389382310688066108860232752090850594926445974276015190053156668484542744431211573054974191341728382004438100813646109760882797356537207218587664442340792376969718272172984309913632388674175165390533614033160889413061986300232050729598326325412175217455574394724496971242973952003986477713139164982696351753265882076059866176059275434038402457274733054447364376206099773373167750586127451722439916341313811997425166909995490755276733508118045755500249398098830750015162926881404891191810848438039708758015921962874961408333518254222555361641426853773191781660949258891104287139120516399601224671217913701057408476727950216988612451392351076415658843557937325963671659448386702875610537419238315727219016238820858588425221211939713450846611950386735074236964507741213973622765100144383915465579937024863115615590456768986582131891457172003952466105336228504113856951902616241750784617869612282558970760287585692693605210965401159337985741793662582735386550176878143808250409831363393720501984084684718684260217849689019278887219908079730961792249658861702858629623618769630099131243974671514812166199547830415498817959099083831748621691225603732563571102557520410898740379642846176289671098842360714261247009589925051745822749417633540442793006962525905583344861800059269228373155471095763641321426572401249733175512408355613379810137719776510704244095371737570621927914850512447345481169747182736548431095244523687894849863732713350811690523061326289127248381794704937885065660922905393988747812940193268009464342723378538334669922362933833973141869268044408552005279630583802050676864478794052261309736610492674619602920736456092231734182469999144684998496474365290044869304889646973999289362301168793093415722372279000934448205870624831400003890995911358065288708232867070653914001676040517975068040826716847806737903556300297987826977696642487750627390304328021997076580481979047538731884141907783477032748852705360553729078082082800045074569935473087007043860946595091164413490214427105424644710507507837855892192989030202439381765016741953556583771119445604550414401427843090615783754916398974300387433342201615489791013634922410420714723618221593770758857622578369352607884317514978359241706151212311255766554617502939231435936037630812665721064783416727031415710731518480462740423694461232450206406342659613002030172402394957924161040687299873734994210257977538800561046533039323498375860882972395049191969434574622770792084072704010811579889124393190196767457396420353978377638536872102926246086976030365014001430975889216209262647919333966661089001237817963785006595618310035760839341177171386447252602805079592694394535218760789308752847521939867960994826202151372743370782637701047738661832306429506825955036500816205914645034979186338768239935080121376640978639549930036331683429187999281844895705949737709744628540878233319160932620878653989702704730691767963475858039560364986449663319617657296392410440204122102541383607900497118123121010859396499718408882827213467694257640049490460633364773051145659656624669326311424
5740287691712331312489032068195090313838180203941418095698650791418857354849561448418105090958926236013166568110265643980250890198395273918203154034120254535928042264524783028251202794573586660281584822504434039856181225352831263816784805048685837035659726117806785199826506861266659858894805559755490076313174741896722012172876003184894971410706924422501383322469737725881793990676989079473273398083857723141679723201528335751953264202603351794992808618606377202866344934670336319746524896779949673410155709031483407674258823867525327005015661539922482968868684222506218088942792623678495233054702030594200034626994742537780375090100137469176863311242246614270839367708393732489190827385558604039339552916500533404101167507627025122101587989124947183398770942317100977469126564307279907637884018665587279056564928975188471609092846200452471883159832098462158244374059871153914313607023142085350289226646847210661248805957262177301542578234196762690817823739030820070946473313623551788401957090272303314783285782775893932184110303401345594569744417346240933390266251759136084383473203480299098911603823106357080733104653994796120733600283630329444249823364129226315490828148865707898106657054884102726693440704166535972563796029966999119052344833539581689097042864588732899476603028282099063530152407900724112690372605534909202099295876854911613604010650864363205724261878680989223706632378166928900257376328646655171449501275739162191843969428716535114112001451381683175349407167660142388650441006036676476492419951179119565401132608428835204300427927358957609929256182728511538798760168876294569731507807246256585629619383098176356242211534956981957240484192440206014142462740257985154498683830639202752285522218945236452760890329148616450044923480485783781933235065278169883843466595074173773659437695995286569798345089559177355384906398409248895851041395774357309169697306177317427441077791536662785940520253938995404337300159770587691773172325559108924577502729699050508382021443002075345977461768589256826295821169540661788569068766818319550816514264848307866260790669459021346513640690626222295949845303933008225942437406813182534646979005034729731851107322958847972506514930817770548520787134384438912908843630274057915365353217572203004103562153201819632032943757128309981762311711638498749375459828450424015973678765313212011995686552573448748273610798881655111406979888124799329822941793885405656165241898127288004267210995433789512429022460486447672651713859026229135132357894641719283442879520293226844863731988660758405101301075662780281946586708340304964446404562445393283528194390642660344084457769542591170986204851183258446482720752802115258352493635405580378665247007670230674164222544547304017031613803030915642974540162121880696998031080681796814176591631617084854103340384775478622330950387265508312495930223563049380464508169944530905350338132185948379388005482389151076142048924031475930579505679457128917693688105922547440909361993610402823868546172590651422812890515081769696462755382553546643045569294873546517105119125961120916712142413922505003092618761599193922404875914964881634517718639548151631347808173097798748716900061134995410041217109981984690946267289787768814491768485706892510191041642555775067009273821660578077534581053817228002800130288461500252121005052214487132651525047038151340208664562505193470492898770802868454344681385416095537156054477968653192868828400223473256311209729085433453130194402981634020683925488738270426205860837761175538710301694007439425650938530434745853976100799379776323624873045111293698306012283431513681932447401301558351025801415895749169545610592045298744659345000444503588932193503202177027126583533978791754856359170459063614834721485133731601653647823601891614888863869528010772716819674726899022510873193228295723180100193041430293638375768041434822410543117027501771266576223622428372615922852501875933993018382024089891929497319580059182375951840313062745190327734519476872157902053030001767954986832404118022226276986553180941510470143706935056008608674681951468862163393743050743210902505488409519682034661387034464041271975458227832894015432918214478925831234625595348861966534311644481889524673678324856262821424448932059981663401593842757745540861007693570828057712654165621831139887745586721411434372970427550548171095341424891861162571113095875397575380416283168034246897187798828400396239020782780023685052806013433941883346417568259395266407714887333191362610458656196776992158328035295405821416998701500270630780586120263410772892205146859840224694465639397272752675337471069286673283185889387386125830479597797376
6163586976383948306764287272898288661425340053020750255222075855117127444191983355224538074989923365738231958858536865691889210819248663289911081415149240340751649633859931021958690018839340242832817240926627254042864726584904084774859718388460339461636027365074296420037917960764978307277291145857200908554407442594915512971454082985578935850960306158846781971191836370589929487941749249021713537709239496602634196414224154817986709467657228504869252393025331795837727238366087758658080860329914888955624891139478267581894267387611378984561973570443015681601996213553848462163228383402293061115460850106720149001252494490926688860648285948804708990411929585464995492694217386433111819281038846760094219303907802434292516680168975866299181800739512952606258830961762789939882860846152024505653117702437731045393026012249320249319567664625306785132753000936505388290840784338008939832113047792935183233147335127824721539026372756301969725966849131146533878113257452735193875662137476546637179451278715617896651441111056133973898900991354222767681865895169979361926989009497987910128432960059502530901903787593197861679048363261273184620186632147279189711650677931635703921271833608729564248092653724570363188510527620734942264305580724293897657893041766819048059718429691073332816380911544635023557725457315519680942228706685902336482583929872179349953609974528525112856190668592083187103490630416013840669328575482975291220223702494960102381657790330392386668578697215812889784289522075100489241424226216010766864120553058792867899418640255286460954126702946646824120044606189276474827512667780561664804383222835963425959704833590651825185999338549568302487503433913816561097738576647210356338581909844649144876796162785544898768217883995794147641019877233884082610065212541198459951952278012763022047786512336496857978368644714449510485618297217607901083220598264309575602711062719281967570520410468062648695772973400110180750184787562249716475847112159436490526210352037463938238993016160417775270862295294531471326186160403431025254247664933111108584716060241171632409433107110673860492596033619630282654709162862626330436860197416641996790432955695885624838873373590498937847193699506760382190479589680555563318905301248565926031990240246105324438311276289251818061857868364561854871311711283675776125097039085376484982973457476197058958359092486752941823710257285519461053791406437972038063118812347516230783681096416405875194917629932822307609247259686251313606155716902135398960447213399489899930455931894407249748616951750047116801921755315708848562282787475065240937585122038484652912600435218650069713295519633489621023475747160482589762965596396348561637751028778855566633007426375474577841990524143469530052070529992090877615539238003889905057216979963674851362556635664760807694589241684246414641800475973267746542110825316420782030969659142593135243425070093320053921010382526954308326494786794399112535805278656933887566540140381291928550565695510273475363503585704864079308272376198903027845312528862950172826489795915686625297810046779726195047878472913516669794110016139639172725931428060902191156572347230868471971126184138158832201931268801481809284374852064849196721325728255459762709126828636693264467641737793942184259898185279813866394483801552558350489003370297434488867833477998653037778460388430417623696027948488446479935305209229918600118915475525421024201707817429494134399599198954181846817846154739167794633447732090751869611881757921946039538415427852699318981948513837878467951124980883526224736124733899098440985475226234778618803339378158479919101917457595237872876283365684307154389168296438964715435359422562094354599664449255401877795282662753836175627953687841883124667305979481853886029230367925352421074248554704306188607393020347258294642042329654698218799861779057471060125193574211133792212643307755210043004344587378128121972655088647228787367160780075092500341331329003660512303182753904723047109728820730860236640566433778825047212311321579990296515192270835977139489527201426568488225638055221190055538526983693492339830072929294848522351797348936755370537782208600789099187329625753257425031590583058706972964270778743730423593189608369320428179699674074504936788667381417229870887171964931372773991878762551675983062363067101534198493398089563176185445431775979466146007453867505275536269314145673768145590757852767584551704460008915276130422351801465182729261334377623608487578489585710797095389430399278981316230481316841408425425508506450354532123587977084560718043746526109771472715212005378351753906083117736001483102949980085401874221341512678133740888653824
6618101122405145579226797354461794233797363068350757088890617253739824155567158414016435442197129096347988290039858332139252143230980594030470965356514846555693057808869694496032107873479147555295912111331204197924096945708536202851208503366551745445196246047088788933568184180354148242976351068731760947085666650651039876023864766997182892276589111286598577410277837838466770844413959844395204909585411598734954245262583303539123437431560341541603103946003384640667996852937685849725599535310132054631970125671904833441743220039917557074038841342567276146023930656382402769982739830122949477224658407794180287446156631719237574347512972377143138851154103784456748148477267650761202338830781019935040057447233974113628887009715060774892063596433649186603069910972990852325378673351285458173992676913102178579101734547272031467264527343106197184028018289367037003809235626268684351583639317711385397958533836880889789657606264667455584468352424749610094497563122735881480861047092701805943426130231327239937637561870813999859522574342052091384673054938003206430117841333886322862951251680796009396063226537962828841992161092152374057816367941622236593798229832973151068031950371018861784638472194531220575386373749770690317127410164340282570783255402663612467341585727622908836896019897040719067609155101829200245722806690142081769860671413094041942074323489434852094708012018185842913280235306269800580089530245494411570141734184004971811138507979933165083897232973836050653919693997977006664301379225014968018816319562797237033216512819327311110227388786349038735614463890411035411321583537285806313711535044882885821787262418521242960124144069037006983525515674336884853114493261564339452526678901449997129460051367105551900437281623991064416416593980201366769466298102072934109534800191354379262573342504918788638055962501120100976544734916222208432625908860974690997808320875829180219829479434165206282156870493548537787279673102134142524112258930155205916149771823204388645378959709095348458621357775002376839247182826835136604914685951493019559726415081045449508480362219235002320834441603633907141903302978721629457473700985207145265588761627598611420109871602264095758594108396189696793104142670058371307891388871845904654801838282912051339958504125282589198721055412406516543010345522146295409281177346924531438712326529174078266669384032013710799591156538105262954899394946864233439010890620698735799511274689900471507956107211493825622040242231882517153193869657094526492774758294771285525820905225463920615743903507249415583280836512257970914908205297827280906323322119092865109414382503894867164671681088302290957162815595575859396652330407123863131512695216898884868749078932601947782077688889184525010886533025850354364504669872157866865751322984429967688644960447281983722177701487296819577322947149715604685412495770385399027649439786296426229126153918769329324912924040057429648187148899899109216078176825213924462683107731702224450838362086129029652175627403145281082188545039508624323917748664591356764591830388983897107259675102834788530891288798836493983279133393186445604024592663665037901818054661703634062198369904290666532490211616885537371803824788355841342772491107155145703569905022427698459118000028517397217077767167516637291282905340617498035120493770765314730597455213594537582327384965385025116349118670964962566292114017355234433063210919592492928894289895801804023267526788754002108629882725941020272051775579263787246008472090823436790123554299572297770087235220322372866468166479825842580100000490468332591979300526924143846390098321194911989403865292815753367336060627410726972130075172461346678223203780477409945567946495531450654116931904900880918215943338170870209875092515574952366486513932572359004447079682557565507609790201552534234688075958128644955623714677593053976926039016726542159158440621130472577078603397175918667392613153006957130692923373699092678285221723792734541157193891183000446818438152116922883579513434998850818770633273689149342882523392598124098577787366157379050608319128977013333684599265744268721899170357154073686193723655125716172203034129577759775200720230045540001494963330274679524232174792798193533593244044068319782194131727812964442724468416652240106593676523827076237169979663689099464310374825419835723488679316645680160593540167607751366160293833290968883936391526004753517599717894372989684621369198907744853743357913674911176210363347303478162914408750926115609697348987242861683351237813543215801445353479843519440769047947939246427631042106738769645336397971201649222352716811533460982933666691397663084199441815549938447857726537886334976
7106131970587748281224517901058181478910263067401178588406341506516469610237940429962954557682991963476160685278038518252798418268742356342881405920945061623789981475833189146492276270634261121988573530164458263595476868037912634819490619009111411744708709268553906119480516910181408100379822385404390366055731193726018343978598422444890161614660304851411343264316921947451527889871065454383663496471994933816425863864789555294044055068913476292943888715043271734244439519299570562623355144537453598021399251452460321414153562825294430542302568550014795931743425650633558391743919513713665915935051176561858958427280523531910408969234188823895289819123471902607891606054604189864528387729228839689630272796457791119536664396901355076703457769158666372599296650207656812511166738214909440604418606271317022725898424734351685291846009879884721990081908025130322117945623609395519449749674169557538462770961998378205073489934486097860512706034802825469086154625790961561251507561795867534201788413883846852551524601934080676573899512743210612506393531652783769790123259488789693319518179002820972900850067282197413085000470844789522206770028370692585839184458388827806570816174481655269391041608314729235605561694454824500602851523830254874764228221764713881709112494690230189318714450902588793893926233518136991208303654653872561698727345548960254078415386447111822817342001571820788140682993680903334310981590289100337261130689601256650057560445075011992075276927961879665306096124982909683445787118614783278187825501288324787834206247061543889484511021490211563152625328218472081272281027357893633680595339848932471688669594089229650798750857719126577801991425150703076732661128075507802937111157612305236162581199690049608898102193168545847666184649164168835442339730430647530451803712148940400219783275715008229084096684990028299265619324886540921271755924490040727129823086459590101481664426216611036510739376777874587196246600194809252486516260884425139403502247054631285788894093369266548843875685222687633711708624875347435725450262257943290345328317870102848782135607597462079276617006529507356482793879371997195601919942127886917175306241343918941766096003814620852709543501624978439684634592772504705794604565481149123910977016196447014037348688303792451841677444505722445302378102851819595627604397893354227177348317698718964011572342815490876226961506875494670549193306066742385093165346450933552731861334394098766655412821069208934088147424295463364921781673031226931416768291792586849783319737874120761368140062068753984711325989300917672048712485149055527837315977025894318207968558641565761773632279212900006955722707482569269598929012745195839392756793241349084262536636611411988477480852177577525757762925828212798646389605085048634784380988671714957106266703919072413044189394447097599882353650309591234456177759400885903534916135908716094903943358434844127504588691699944713575196147553137262945646991710899728442759580029826449106700581235532629398077143736197597446181822262628142345294210277091887627047570577366199186577327186565213407813492780573466127371162190739323274942147867540716321727250928589362985373407150859765708771795083660666096820804998425615044443143818420545598736913130288277851615350781852322103597605668296627675488526080453973626546695041202186914765780170803308380084756497882693730714514902554374746022215421810977076104898000099960694178057135902998994433812654125584911420096419058003223333849732917355494677073542253850680975970378985801427524600584585986509649637513983859414293440629036362051550501918023691323261279986939162659021974992158281116577563759050578376220944080935760951771723906373509745749867586046347674717507572852066416331981825808239002818544649842197762704345941361657769417831449822701373140422011272345740976418750331598861299806455574337706915019046915123887187682337528326566894360203056267358801793771036081234200025927167897399527019165949634984169928439440492417559644778285214238282006404728171516050673208926078424435082085290977868585269212421980052859564891121869550982822256309311814998163923377346528844052454806633432047583964627076130857851305922797724270164653062248813364507561505954388665415133955054063548409723518163971578114247126568265739848657560064299485950562132440227726044767169975975519094172806206177356320742184412668439445776933796852165105337110487474657937193789493280298533713012620766985006354114133669382100948236382124191886408100969063991303589526703034861268522571664437469555681771927798910817506363743500390039150710489210499337051187958307817187720571402632848028144229371869365774234810462472090484185283278421805236224
7630151103683603191534878804602863311288123398311176437265170382373901965337455231271767079195649004640234154727531025731017066736194339885663450209239950271720656502787340433891619924742749174016297449436904435924880130436835613663725768005732359865978551838702776999055772159601029304590205580900141089256708497605072292921039687079498901611780140871550464690917765885922235708057028945813303638504057405154808388226954826477575720026051601732966329398543578830855267751310404098327907577895429062654860023286799394802859505964130235187533269114777922210737965358119663743161622679564104654302732515854876486852448360696828404731211477790929743275394266801918947889879360146423181023940161392441747202998086169375702300064404720948131230652163397376322232406311059404631766193859007366749408096757301778863955626612989494022740706975549442299363457832303669908630477027169808591401691486226396621965848830373298957455136300743219389410552984993299530223281042824509492081452152487521836210675585708643595333080061573713427612933605606206688772202338661779652043045828318352857300064323647492588013322394109373053969872605743122470385755411279205262242491022872070249267344356634783495148385771750935505241558348453944877194894798677335614233980789920382184462687469878078458941771847304137877624416499214350021875930093915213061944038488418864517661176073386728163857619599537720059294526240713620150755155987439283449781630954831148124934657285095193192781393934905274294277171558481412330342065857141750486095168347040207593513625312056776151153283963002961965391110309900883038375270955858611026190273615292636603820450090709064003533802888899451335988183673675396493339520033693358051926291665388109121960697903302101708734879031194757900715248314334720811813708980271784848415261972774224999280095350927840071767823933546407865083954393323041856975606044742600182662525652429977857267463561737353441571894010098302099344870446973242096948505367702502374570774740538424450432422757142569697808169480258466003853909030187328269567727818122387063954417908696027918926465917047190773307345140413138771253324652924243328490296562371739713550251339203735840077704495021952256780581642151313787653532417046419848482075498456497924174474992850559171816384703321573357914898483233196856715695693772374328126370944431925367516354129153982881176044482658468895295886370282188457769902184694234308045769031817319413108972107393544544733341967838031124903192143912748376291470930321214297363689814736433764755740120160308707695445733177116951207281210571826059418360655519794337322432436125860463860571490445783262769398587336537798250387170552375745501786591545827826789731563357037956785783061962687723277273142226464408547346138361921078719105578659796242091089487290555251364572496532761170149312995082048403700593896478656779387955447340377277468899457656717240317246478515318622465630195672297453388672631478741637626613739774355099233351054699825867271852717700979101407374408014983106281011671918148595567843159564188836269090166509915830542855610347320539454915590023785285605728015684276881762035345770879137557989242569236358912927515258808000349280052884036211855331760157837026142222307885201430262945200645285106212268094905938434152410072309559973327930084698220389816143154712191330649541333381375885266691716632415704450768054743916598973430331536247908919059993961283978095053249880702027353527846515086667855092759255208742820367173164594130110983236241790701214780534902185694892068436564823439710595385203854714063010612257210751556217957574256796651540401750752690530945484162418462818749948119264533938434724465967591183346858853897579683239069599882300789335266007990676041445555178188821114325273347002737894883583804663456998473759057191849003101338513317076674651409968851566168377194455364337014909964429386695814872263430249019604808339742646888471500498184120234222107019884549308012998296529719760036830088514307867888662613028041528443692183392509107829095127780220528619971207850058147358379263677020319649045622039557617962356562157355976420879087738188302161081494375752148626152860971828204534171945942326831640895663359386226403841925953195652146407771650104084213081368829729079973368550190068168516021807052494830487326818957911699689538680606745321990051523936707019394643331642125002978877742073992159289218553821149710568367258536971986823490853535663957362759703318099790342150025111462525190790637835142898937595036356149413358274050379884143804494662215353306798806402614137553576945349115291580813878116133339720271580601636740185232644054388180825387096150057590269065985582149221329328995715908632576
8192812363464845209770882127273218047485189407239721107334925618040930946258623955544089023318688615106189485084237386585013198612451037327308224477802485858426633331780340001595739396308022228882752629084929541943671918236605788603448228774275906538320205796167273568831391076378428317788138912970697055035844986454769955452899441581130383622629348346395545665273638176355117291327085756298373812273183229611630961145310601347635648718885974362876827458977005277330322675300411686715682832792860082997639683868650457297718486349664077303810954439984511549487895309676220957849028262754929256437905459758123998287659921680422442311101241892968393200373574355035097807440015303573333468527696560374781455494063312014639528952149242545057436991818635844889048235704346036501666681335708168802946400732553697355828362374494281404814704186975981576701273251804828649586801745143407834662522933106001985817048988833292623475176449728636942817853446955350065360288914187010933932851990780677833652680051671067306618859272852191366218403295674504995723264859611765002670785354214139049672982782190585024479905323751045078466061452738253196807386998924804031550650641202282428104452993129138931925722889215497163104432421671366352434702344619915129887754896150071981522070503848833022119247213116194487467929758802110759463501080737012174480416872481074463202391411023423356052651345105781093268292758919705562314996167357577300621540823135258599681518794113000752449477556927726487957482950764754345677580337375506593492712698538017502797970611420412016099026826024748898121675657538179412835725432637848489368056162743389920755335448898915836487127959583366230103189180219241014681580092262447731360423126349825956525118223004574311770505743374412247552401629646688471007612628682206278872966900084434690913408268999179091040274174916974769703191103419496384737334357987345130634793470486954456741977980633402493286082901537625315453590398776744248371072987590675589035954886998854611493507199993371815371672699833857278420087311603412917852415758966272141284421338141538479223027635644083315006999283664739737810663578895043965353002197181961566080684388615062028539206726217869936236498100224466950351452577522551540778947377018389265755314473065746364566054304430205035877347934161646210280977743660094651893184040374938187948880432467729155698741267914840760682270050923536429357601744095172028204441915706242581422237221357868405287228198162156876622325356027344938412242352366077545546166693045320469824015311090909044203990738034614870250625129120320596050602949347659639861459880082544908035136113833653893674685330549757397338314729215107020508448130065160150327162433309357498956399882220121335934146521480455315104708632964085511207900007678745092451232000230585613572974561407320654592497687686301682645764040288260107369988885657992646757610206936934335470486572498615029627413143610649573872108332262863863209947267888777392674519363105714799206861040963606386931035163912928179867359329170682451708054229896375166136010230208820737973560693222965229546985031398175415950655344408736067144200166120494451245062275088670294306285447413780334360828601070521502599594348277006456344685464282145766337943579352914406944394475401307442718512685037638818398522999288341650915176575585782514408625616068310630675872290262581176023212609301664861885607611720655551838937346281418044021758521904032777251074882751901202260809467011880717016687952863475153485060462515683252548597467305568529620117046209941814392808721034769572509015465736414229528384308307337108281022083385545987303604932609118312518280750693484470209564804753025467282093174650454536718266460820240571834857488270945107067734850013721109799705331532909304720246219542076200023686779266205696266522612872130526198988059504126463842890019894505589810940140402184789965594110462604079084678665885681360615313516937125948128952412654040243403814606624714165350788246419434380164323623033335473898877926290415237377025282772247061522652087544404553650646932264340744905029286067969196863995898389208781139455703351458342017902785583665853437764467042709228951166855565743411010236222569197334259338190180657238164553395779358249172803593627650047756446618505319341946732628328321863038033107471985887655585496633240148737065233165779455558407706746852215934545620247529884076904073514563460002750736883367872568759035122700666629747833514475321095997752044827575106005487471229747605900956510398184715843144346764693477316398005377340446581987765782424964607023507369968274936892930696018456056730564450791905797091301520483492966126226214680551562135334606750333420556087920959500058624
8796965290836493855417049597427345292656465887115056947041102812019596500893780861756005060316587246872153851403969845120785202942207445930516017960997088677361219043845019440653572130020434653873112290094447697278082790744951963024024913853660296165709463667632020530904007402807896936195087921978533514425616581137199985468394992491904382092781764169390137028106209714595577312123484440572235385424041347249403439835038934137547159542839889360412602603135254820538286519885623792445013854288492599694677021851908118437286358571607408151470976371569867962896198975732790340707842723478029004798600351100246660739564840996833938297656622918821095289318319209375009503779042802646744796257175499255343963623570361814080162519581536410548374580360415129282947730229166437960470161457430045502175564896807143176791122846922460793175022855744027502357621044515328006214789352156665869966427798635068557598820311567215253455981179853470936015025659898524825738475835886140597309003990102876201062597261169706057835701228431625639960400337065154304405010609594640485827093937746375749785495136069913479812138193671757664458371946359261782113794692899405119679749167871308287316024219364741104315337527584797852978578770930150035835464136409264258290874857457108867170802279059244989441752848118299392912560040720058461916364911856530716536809064938204299598756634834224301052175295329934864030610788328436920023049647291534310990369577123713967533719809081173890048474499822640875352581778003049526039771627360111822620891863636173046798218067804948428997686428800744551011158194461444112377480838403752568409701231518528337455049342632580681892174527844441935971002058585672566999810587467968913775602729098644584641825142584570381864007506293317321614855261397407754419485101806666886221312143588286659030239220811861211716246050035447537783084354006222685309271154443200929485321418863952646587060534293146268467146408512222210843713542131428738027464938532741372363740601947864036455849785078015840947371082650610411086460388200304951040015059838789403463120270400616296847119796298885433463581983608871050562103677853132411918325383078167071861370586599861536396827885722244286729341165507553952698086131638565892529997337399740971754132100003213373410524117321939635916929011109357912669784594980994467536432484679875773815485694315808324777946443514953795044528128939210890188878444970331243158016907472475157562781508221489378245079649398867772478598586902250748047928767359602819480184101198530515933375159134680106941689643136393545920429563281888552268141607132335671836027038942653040115559306956019164378958689450539430575534802433495100555946502585554298664401587885867877197522906008418252747247229857679270391024598547403703296342997454589761599634478974757417306004862671096486615022443892071908538331826492725893473887708946140464708104069477481326336308150522171139385952629222072819274260343409525491946735274366712466740302659264448513324168727438801439521379459108006481031778484167144983021798064299849201875182656667079080080757122515931124262358401314174141394815363500784466269999957391322715861752238247298603543047750970728578951925976264830110832509177179044169695318943124598045781581339303487055028352390592922985529351328999451813520434844161814666188832965551551985488423950330311565180501465737601350891229373451368995037760396357220470707267140417929427894435290996780107201354850566612536383314480825804630759926360946453834281728777771873364197783693186461518351302504290955210720003888606980648205530522624026918033362026974898499228550156398676243643253602115111775915180806593711279958491775701717434757927047887129616684946403759149647720762906236103205466784909402099329463639877342670752876888985500213343760422285573981085868405980482567309966981225966181284813334779392922719581794681510257989962713917411773987666223121161978079629888498007924508861710750772349851921815864275063071382392971548164940405950266722102044548085576128408010698600102817988336417972669797336626430751495829517681591844852396039033416562035864947698577495965283797793218318777647286278076781889324826493395659506423505882054112724292319911903559477357437792425609975329522028016252621815507739111694099912533743924364403181566388077535850189358155913567454942921136334967719866409326993011629578022204596000878895794069223243536168557460107104621238491494754978891789128677593041371417881061676602305380512890259819325471367376717419726206819621823078339508790410473134611819403827339381918109176905768640280864014307178352872900298248446544017723749942859175004987989137919099339544349987711011653243515502425719596052938555421423075040690176
9445669557047467398080295115440103442014767487024699344179785136349450670613705892758184716417562407911644771215123542340989404119375989579813646386657774855119582843001687147522826291003706662522524254922829402747968450957495039569797066822672075481349085772544935485658317277600453977874125325185600264624491860154901106649607933590723716461896428693178810700168700884676374605452487496455651626502553169646991832400348964251865753973547908941807621311677596629709572429696601962277706595608996266206664348534155680971259884262995773040472914452270331769919329010870258037041220497012426487537353893637419256352409541338210451132829277218535166785630459784488560604605044311887987785195687993658543669248562089686590382585991914622184624562151426718313468107952925109095258071060875435409908987020528073690876854712662595838632235792368280967487636320638673489351351254760476744976299003270723223401206381590430004846447535765537935567760943466245701297713191004309261275019435956340239775143921385764556084355329335214373936247545690553589653287326685501175876229993335135946964045156146837091335672441413178331921512265754223905220356489115327101719872167372620757689023909728873234635324788044551161328503002426217476071636625714668215195251092001736076802550958660430719026048444895737757924024890632269846284712195906430517886260328526481931935811417219001938636887820775302942705420019693853769574491450325368710841382676174925309153933089307751416761824457857050089998037801422157475652279883705094773264920890167463719648756028074641002377910317840557586760782044073577698898257251952694531248917379625750906854672199168308143202067248854029872591594961493534922357138827842368483052714401041756512241035715287816676079035939757078019921529313868849391102121994354716197771672168729836822301995132110866618303052204197856703875517910616503253474154813482428270424064401517248522596017752890337425002707468750962602964641557661701140895628365196193604882106025398357483408106643699676711359724114290121177513365798929943515485936467338770880026362675871330953300751859224473694494217156653727304411349428335130800086702035851849846317167128795685284238172361829466137806341777370366866948452724294697850189347315774741288138814280594400733427009266529249459887339268867078228618887220701994244906477802553021869470051048860562462681456609234059459166833794386495486352070046016727094912676594452334705476148411151213000993497741770820785555987447664245227914347474086771595304195608676710742297963305845561679684084899063180286778429798141818440277113706332565513657481101707603306692825821031131905339218930431271765970096108540420667966005411732633788698955324845068078285076253379259574059722251566331800196647945673157002841770142616518567791716683187645679215678827397332653618005784705610950213109589295551023590681884975009980335887291142573526266286750967742591644431016078504170028366657383410280697384844343654288921271911670659445050781232683897506045511667418764291946883231553585374942274485320989364946402846102875252198154220031247354423835364368805339634902952548555338243616230729281134702031580131736965640964954646407874972769006067579390255420562400966061345217286252358164944350652868089080026531467590005567973811301536695485249539570843462630823548636862652594929161863312954142485206533055765579890812653052050120028891796859564863787359589407611666210647428804853450433298292518641978317486453807512490499809836908327706353457187718061961970744559479487562820337023733138074660801328639952220336908670249995929194240635696364716776526037806999901034975528029650376235045508561722776672005603530960958329577586857261900743715184914589799432649405613494430490152400037084883447465623577055567225484026736508628118454843922455338081842861455860223606719801342683655070133585547994453614796738518323488853138133671903560592483917307435342669813720767649228599477465294712338768660471498842659981172830754906726964336339843476350427190662220207675623726388646374336356159600850341939605761720822714708472678715336733722115896272198782359535202723116465720137412434524447596872334997893805327502179392110114922271511863283244691398847265310261955205607839222915983410350191792965471279906562570122222662895952312846496711465197207712171719910305417449956816460914510479387096088742396317912275411166811173029816147777721836858664209751367446996586697468351157649649460171853697077379691457501876924843090236442075666850657389390891101975302341559059879375132261092498624159969007783166241938695937174799018151780907063606411430997340086987591765506344991012555041441289279545684699199237438947851746868583578425445058123901269879543797121024
10142210459085419698595270175710947232577614676453797006871206276231947864462783764689721648335116205504881487484589448738555192743811888793234098251300928436717436619963737192858516583337474782577887634565079822147434256825555270258626077840025798881209445338144848150333087434421425797430618969069379566672784564995876436793568551498574552793855497844099752559349857995622824118565834269781484912549418181033742446234652995112309130074692579498562425164301975105120608890922541157578043874506034041685933338550836047186042679706577977048767412986576706975718328664987946692043299659648309367394271637887744546968559807711493490695226974401231596592547066878955393970723163079047432888165738223245825112602603767557331145738740795255676789642119674288724237449999202712775341390971626005053829863397414139288048526138557331552347786524895603285774659320371218117396564473151202983260434128541288319693970823969348334348153416973193939277722111033407541743565728737827418061531934799211953420760384011263442084565989184513789301324499425298350924068261751373906939487991287176714981141108379469670281619523509519239754682005069313111695708698552927468557329078041511100021274557611891692422113612747369757226185077014603178177835465160073152938573423663935906272575154204999476872660760734712950019012939488893938009946496547616037604457789690863941899802002044756149051508002362658875853085186632194468132190153744766793051354809398065644514708012087259903572425566947240094893857265319977161922114592088016339938342591824116159789479936915860238038445761986540044385560363670011708620737532132913787698037545224654216095789830057070468675840888355187945146986781023277951739452624428686719473134649125643137617568016582284962750721218116319070020851222343006841983281840488950673197700009982010752800908131991842892957431058502627114109926470290033167887273326287002323034300163978598796113553317124852178697870322435081587063042033629876157968152994471899039163247828672622690838670163992608980265711690614659178324229177322254798534841668788448270637591827675603687104808121895077610166239487237466892237245581481920628563674802120078647758714715385922040427853642217158947754416778801059643266396942161957983191188532209474683854280010842679647696854700708018464410446501060162990747932965206849860963384185128793558836662526576653460345519150575834246610249638689396624483438797385764485401758487249358147716462383484205387499272077388882100259998816176111210604047172595722867013316827713321618755409071503683260248493063290955092366314295312747942739983136492929245234080669393051489196786204788265132823528273096602852632432125039493265749117020787669204601646877393655915781992568282532338820349255330219964132352323872948508069695456321800779510545523497132805866761873527793136230557730512354004716197479122095831155325796576825410704059752649845942147274645691137695514778518646306394717864546439646022136361994795511439011749494837220759811653613406976523570358724787505342661114912163361114230241700577220346202152254213292564939706121649648871334223453213065654080520190332471257450637447939263175783749085356253409775555039522111266721224942905669761757663100559519118070909502616937180328639928506172800182169866403489462726356131143825413264405713957636783696315735497618234757571409904890063780421555820014027468378898930387462819241210658626648689351033674420029960699738425833483920943298945052191801586356006570206452048485935090312209697509446302248791485897933581466288023260157950965530136999915485736337402210115645165005598790467534161160870468218381033705114111261919921060904017086071830806143946473554859869588631261634820950263699186688935454607137935949348808337452053797190395709146836925049302045838150923541747647392174932509270534615340994651984527178150610796849992084069963604166235243405915720343212207772825546702668202060350793600350814277282362908595899032441124184767408703867331617196320954016845960556484493018171008554880848093679283020310222090870905852323452158105255988431025560471707082297971641240987031602705521061306352364128840866773818758086560935258117675777530690653107464459526005489431371319389783580915374151652597700275656315912550625783155414528575501106487043613163264992036958612816010978642562328574129537708455329798060827975571190204214956389526488526010471976601797192614396899504591673252538781951869032338322313803554287246164325541542161009139046135283812704530624273905596870241200883653660820331139177095958605474494266703705423015590200567117114480671763458104583702339998851232228013534084150375447662163154223084457097565539931029380247080547104954975564259219794984424721743767516377617008614258507776
10890115557730255918975215636240672978275640204264669849883629560121539547061174219615528516735634237750770289275536246579690751781412142185732339515347069272534448968924257987316543370127028180599184490804954254938181655843956165700310116553915281497766989163407946029141675509387142120413807325297555198467565309977718917721347007955117373716858698247551735951024984778361035185100071152916879691429292767841932819766218238978953890178253666550051423773781102436174794330529786385252920252164136090925946098077984214030491534249988821874573658971968160864021321930975642819129338863529354898662211355617054337108075078585228286463220039587579722371713672396459551936762891723545846771856667774134491456790925156526280768997525368961040942464793886297060665352571252719361143167364570838912332495710010294802539285856526225909590663785604026481648075951633992098475233268734971719040300008211773379698099354331631000614348100972629819465806582066141538807092405838844029666599843905554916628610294195194444848400247475344108677555853628806803065401140873429653343212093390789233754178579312753447920864740847122069857285568663101506979265990956886500628449172824530476253089782294985669911767248486590454326481145155240491172866048732865399209694787882839303020207887253157408216296580964518263069835788326406604741342881345446947069063097633676645111323426914388197117782072407477650848281244321832905334967728796746326825592238714251347212958175725988496023920344358163691257263386460324221480594668045602633387200022082113972600231643475440706520474934600497370707592544149141706115787241977653460837639595030002707759983530846128869132532260196279864084937534359823054359703833715645036091659917149768067758570496569124901991731458055718282410172509511209720155608820912682947685326321322902432900060206501354141005548779110861546296248584715102022707779087753953021827086672633879768303170849850889214085425224926912624881885556178412566750836730195318791054993157322981386924901791619803088989285275338707827272199100252017303171553420996112316244053492015896383293041951973634969761458930247182422010431511396338078737186682171252314267895850394120795610805310199295652659748176126054314493650370585003268283068115302484097123517969048958621965698165401201837401751910702757343422980666290931507004970532152944470784729339358864362327309402966226914276955264141693701032290632097357190189705530906606560358335754469718167964095199047807423654122003118778356500837752884974285825388242878795704021065546302511286577483635029377563579494787606384626489877050707158810880585084917236078936073514467389337513537518070316475189150871496101571201173636289997848457601511536568469040147086622130820823947817735312106608686561645978475312833518395482699956274977634846237741614795055389916790879542097635443557674483576761096447515548130653472618926243015234415240213154693355929817194905567303039127223843479038225723041705016010959537340660017596001730830847315797826743615969487649999038690539659887148764252079538646427381010434164692443723998501084059868065950404276575776044170792036414854402621043313009483582075372468755226018623898748863839860198569709829709931318623572273478400329730678842901299490756273447577726790604629919095672577645127954305576076785580895178855575519913114151044254923481528323603066176835099677559483261260625883354264239828562019098710988273857185112136385453677333745548329609837616200233179992008049459879109824382217436770074281129806672671863717481594464696604716424797830890429259141500380905328511204090409892615488803942987183013972538481457534703954512837781871094394925932604808391493073163000436499060531193869049557645702694075648137490765848961076482175756741341564021098163732988868625187781431000659058582755359581040747331377979596111432045009783723803954734844063951067429467751917951594581993060680150320140947081619200288210361974406112505705906013167854762670437443984504661247427255468308414951714561046203869637365934774116221240126913696820198406058158220673949004852283491513062940342181566371038873434669519237498610246413763295461148753278688511197183996006421997847360156786627309656053363302872789137325431237912869032188515445062333420746723271388758679793416441565474562345109416337573404611689918716873169031353606039891385093440037211724699761770626286233555623257299039275861855534004959613393004363738134992065186323328758070716419910705267734854640066919791811037085571722071187261478356764693553499693664012873616070679859407979128467451402393462164924093312040801763287311223434679997154835984201793623457587601001088007869989768805088320944089837323392274900243123871483482252315845393667252359602897642546920423424
11693172542528062290427244248050380706681198287694879183371854591625219534949599046151754168283734432239361747811721927980590909173704722846255589006996038153745492338727652089147834143615302350335969768069422809933884178389229752735097221914253588696885778871305882025424139815865479102520349112249558261543245580774601310073425060058670238988829518206591804494419941825489613650177528022262753320263845983572605489581242425503329847651893777056140003056656684306549167247287911719631837292885259433655055212275937664216306371602141469579215819806915057916059670185056988820184438403240096606432897980853768569433535420009046359763412394220120058844817444604712930438802520014754621260437890322361188878127105164216014216839525541154501086500826843256654524654323459984851793979251171565550938070038138629000056252627243872111999938426525212336149107598398018456218384588796970706190747260324524526991681770053267771494595250509287716430005865058904504520894183981948638465725028273265819912971947874324695246188685206227378279093050137272035667052612293117309116428251176284376650774075373004553632838314494476156439217226185195853601065795311214816545768161119902585515581308477180819264922884453452873969504556300596688150609090474099782493905840024612971523806725718391585257278877369805519069917318738073735140616553625275779041167264424274044748033099468985874617318865261305124061068650543114506797587580099355726231011540277283656350899028039735411923740978181842791141146841826325433203953699471959886752375449963289334715658747687837403423143449624218758130774589003499943559237348397014994279719706622136442155143670620682675281422486801996139277032919069579078705439546513629398389604750628080846252043076618717914348422968690926442185245746517223673366412979197273532981338862292463351276148255838580653833251140203469574931594399709412166208340136673985580866927856479992946614544053302523912754010972828633428529303581650263178847565184206117474968863237051496991514793800754715283292189487998526360258328006395759918786984755173805535352754825670718019592073992020691212341853756664698424670218478073780835583922444743068740286231715044214381955477287882277517602148458014262813567481785330217356332222906441131586176399337383404376049975213551340152683908517393463791756385664139960110990585836260153243031109992189502010973922083353307497333629586485903988995722426206329254973809322778548101769525526608731338435705945535235806275117704747290761160931786310773551855249717416833110158943054110414924630293995606594158702522702242972022892799301962045191452590475266227956435427554822305015779937399345254572326849601771413709950814051170734882758940633662432070648055062017932746318122912695933570559293562946041370347140832650303147611495414731199005272219110748160550286247226096199867252666449193969503711795264918167650001779921096645060807599870869238156763130844467343719993208697753473010253582519171961556897614356396657402993569471032330262502926191433197655441401826625951566748287373879619293427169686543028780923223503127264420062332939381467874243883450808704760186964749427693805830715664140080619394769483012596377339133517242423703471044973599662320524394647220529535050767174912191044876745917481392174759904027461314369457910058513687288897191891321255510062469786260036652493218528707626475004531425443452975374418923051493629684172772598014025457810967053798567843401815315420250362650323909939028449732810202328481823722104227235807397482057901488107926951635954820965181771533056853563293089982206939484472979004599078997321449898044690954990403491567418627471322383028483947219988033452278461405537999297429050513850889172889956498500425131537705820374766974900532028387159026716809710116769305500776235977802764770594742322567857916924244963472351260855273442770575404901582391788463695293560843510177746530047285342324456505276990884319762099060558625869930151420391036842611981819862704314656593855451664802864705110291260283517359824579382361414304314302836562779457947040513753075726742324721389817219214416340736647194423274846963449403659572704783480784982340708767535544271682348568332999186278303550954161293048279195018983141947695211285833401680888746087444212757937214913158102071998039502177881467201645945045467136092385934138250392592116715990345153308055957738202764104921749091745511547933106979360330939334360144524738298689710874442505769701670591304031169600317939320883223593424939537667985335729044794935802658238426076001207505160787069554571593437314030640584774416891647734533789106424845001348400097669069322919297338692463554849169218113834211604423947482499118896469869224615819473244057098273597668319230393630341030138085376
12555448414160799174908966978195124223886278835935176329813325619474438347857214227883644701452579958804296687691186311530676319413992041946352947710566274767976277375563454993439006039014972699961231191575719006565614117108392936656852279875543419925939919324936639027907730259518423670174082652903621430943713564780859743551028997914706129426381722504187092981289866157675107453796916862435521357362158147656323454815376238146129508691386541230509117281420123549106277985783981382988465583333840687005985970449872498885916333986905183852027706849132302099855549157341508719732446907510668840127470011567842541017434968649119534832926632634118769483021615916883420925744938216439133944611759393444050932808711602865122635199203669853821062429379592186562329440186241410125777636953371110931599808233790721067379696798581627334361546173984871475804043928676147815165592410708349291739821055223857797544785616604544314125021910423579521580349265879045990126081167219769114140504153340588011910210020571410321041886767901496401312131352720117925961334128627576602136645498783153732127705166702923389778029638102384466139554449576312757642845355401474444773678484802010084873816254584594795255332637172391731994057942658513380223194191516640925213009725552280136938032293096333491100402131063727300571399805351008670616378514774197427490683909592010322683610680636202324441835260375284000529878140223382361169702087055628318708130976622380018935603506407212645676388986816516082241146051394438161866003409282570045656329051976403023297337945103894316166989891413160763930352737729468371781192562516734356113255803997197662176534455874307027881874294293391261428279367829814222881418217395277271086876867578460673474132296815153925893951449925690250281816313753645394456432492620554539130306947959994420252404155918536240818027671132153152515554845972169289312334302364734570949754617893237846005035156721405249884108605281031296976428065210886515735822858848372569531341555358218761599607218606260564882832265797163803375858224777666921064428878480515392550963449940478789746461264135258428080713364222405442915326987125445440976124990892961840552320723798222991127906869881289759024322991627021971455319839267244026504618973536681977965060210274448002069482300953405493187258426915193537438457706661092160862274082654542281691739331758181642914807114213660428619886568733740299433142926112489374580139094468442986865747966555419721657916208686648750899955530110049440947287253772908224420014415554634952005656444832647618569354400498872398392992199707777671041884078954653182640733706437386491542768520934761783527898765778790050234571415579711387981194029588894208434011068296415611813739504343568227740950580534324469435168570429141274575998510834815255869308329981114089627978164502387913909198818663474044932435942021136144715877818067796543250704775724887747872143198409300243933242048889025954340453174738478812364452396670216971761124220285932987393418344096969459030290774126854824706174322438281001015963833705672376550080390386219977712998408207538602528031564026738747088030037314752924280634111074194903186174472439141555775989560749482249179913489383415477545834961138933265823936145002407913211282678989543052362423016621023519786026112511257780499146237456433318546085769865294661344526662243741893554922610645123213982055981020973206636755657377426415861464216780528798472652382811549580364762011541690474950928820269248744136403999939293993120554218662070286313085077858417453319793908349913444747715857455742240751221884091006747515636155111919471304024727851120499527697747531568696032634203245030997442709680297222492105495975066932187209330391004520713241980499745512736172344618655204659478730847911524971989601691127075616709034660364157021340186244008123491079256901615816399441106459237248788563617845227630342288235565596816123382642969715926327784781817360874355491352905400512387538726862692637390283514219560392041019979862909264548890346258988082687073708186049538422334130597019292705685786576639124616442429324345394155985895248797973062184529762231855024017141871094828183135890320421506407291108956500365663185664981426427198087187857822920934673460169168762116142080962148165005212504951575618334382119165354259492530419048891492835323645639894705433548844710575490648363171302551637955884750411860406247041168913290757718005492096044509207454896113957746964356531128289995716553948966599498735146326473792203928986265339280790956927892074709160976241734699172793832921339140570275967996920813384109021774248843778504763943190665113580352964643173811329245991592437271001142202186001736135839138812002288424542280455700455793065860440011423237457132880359442506763493965824
13481310081358923935364449237123000912062237405869632978135385830160413353003751696606536321505628654472370384478692738866780623161186426240961524222520055942252024857967437192397106377078951950166577108928205960221230477784115437514645029092124484702476673890370315474255233192555305593217493905255493371466993044381342501328654113297828755834263184441907696854987778760857941476835897237447873784644999518040962071507443665193283477202513237869898064038381964769922728494306738240152077606410102100191220474829256197521201772366492764224331576050724610874017927488725534563637422334453664859858434042726156349736855439038688425325538177782736612177335166906021836780169138519286662466667745502965748890542927439550360404302479551816335640942539914502775583902794473751412784549320722499600602317331000667273163502541075997146885624464314737246835405994552852860349518057114540100541823593269669799852360829661928098537429990138178888110731583302027804817864382462603897476089121887498665141002631711423640367941078568017398274323911997286783316819860746024717477924035104813268807209546629821026672524498742114195421951433235386087585898712458707422620676803460866587398806275038511177758367411564214100753818932511839566009258058305283353391264651244244681594812569360159730446433551341853611954131069230837010227445470728057693929954684092776259705128707132197364279215974382872367246968320781182343931782692491717140395721878469415680753069447510476192924431624437877931470942169074661775377209744273285292230790033413333787194398139520267352544376414595529176267810357573032988066647830971952378056512837562537508673967916649325942853902561293298724191661533595151645257836532452833546042565630257102826648383229199612767230132260410655313796613962762795492492849313159260770737255155982437487831638978761149498626052283683910271029402048686196105943009539518877611487446935769108242035277562362167532853738562448550577416555555744328232063187138600746102240149506817330786470983412589852956756562663363099476263571367838174074288183885497942946057747507696422387135677815297938167278757986921341961943431076712500304606188788173392235437046021404104162452414539768466729327297029394735299318511058718197424472173921070284637928131558449909338335241700561426553266506436875290602202181865697138046636359586297414991428809995814571084186661667423952074342938806985267679455649051536721570242297785468254283157236264733507369018543253954366874238639892419251407452920503718073358673347620663927705020706009391962428711914864494085758993746113332001463490984591333329321616066546648359913222092845678273302450739175654666809051920339622821323124498955028689237506971228108781871690960603654718871523015675836784450419150150560058614916917467645058295540137831852315328149244755784966051036418109930363863182411725148932970579554610133256016010906635172351892595487156649195942484524251807599901796858908830284962973560869161850297734546012580395487425578018385739619811477687061341106863207881036843969455426859921161336743298145719931903334794259337859069628859622687643247069776060833130867026421958301424634678626389619041583093108766364107877290062814252753170209895874776287322260070059194413957123516361117838433970155598926240110881947767759467149767344911449207831990047162595605723969534350734227353370876448132936416485835092331569153149278924994756896192871119436656399756554183638019494687294147598683782617236621970071317638731735695713421445507338637106188842014206566879170081030366455724892405535644618252672858064116052594167073746633710219337259099169823965725606661317955238069259382212917106302130674427624796540807180848693026288778455883855827262882225095169178381152924089191423878161991349841587414045663828864270788471083753498630464316218502140991588128689034105555247985006230119585162974089365173665498926314389945596992913488112243555497045253508015100096700109684872445621530427452185390022813620435240711828279875998443463663224057568117440298681344650132562739955131724697704312992951649675209455422194453713711127047235682717269403292882411481118324391729719936133690326936912513332738592442229935439283855945567809738061477346401489435793404065966434615198408497855452645650949844574313836104287298545592840193678926525041096695083342899710188180161447312626079418468414168826251592939323441015743837078979312048916034473294725224414501597414551131503084438644720002878001644824157799460849361709494869129243689679016347335330254460272773358776139420880813886941336909937318520518060379380546616833654737669748622757229050977138828935362819768957325696455557152259970348734258574291425662628678588530265142114581623358600877903540987308167823206980767521572835366347476855422976
14475446476667919385035481828623859511671370393699488020153641300220196446248204225557396920175704137719828734233732830566372719320948959316011490532508866744015727838687296943569907933646785658980217608777218552775615456740307588103532980249910808239497401140499398572782239129719677048538753934537916638698878667269335648945351491077513303529132393358702392460713641064392065886223030048413841102446504974980423521375220990641881513360488981414570221974641056860760570832533690733471441846496337121085551821429311638089719469732830737141035731649499760201558243670443894917735089932054616150109099350820477051475633079137722116376731156794071885670872473573016323608169097822207520135832164258322240623257539259242453720373121841689974744101851886991014308522451576942962085858906650537718990003709615468223103685468683576099115766331692328881497787060371714294675308796167102464476921053323609374771188847947351979880431809883270211358308844229127278043849689810029920665484930122041139506065382962624261245393084826150309286807009634782193769694927156862580893830833186882230428455482948517081972909105964043401808658581561577679028706640194664032647064371062560402174249665182496662250657655755117941669925315560995517202149148411413296707173092293719153917913277162904421900901895712599544840616898610989208408323954600083276257583270735121366319682600150887407049157805623802649966957623225803834849907679807687467220566491584456721266002482168570966499255106587210024826956447620743726876603478846570904152261519438253966582940900910698352088649772350383719971016205826560653818852675593467839255537669283814738632002132140527206250469101681338371090427580673095405135750348649740685696132401471971178040990815171802272779369641054580025671268641400792111448250328468771862463066175937986940150321841964493922991422873002127253867444513385653010416944303012399728991294625915933126656392402157027515319953169262644603151505570222248673550221841454505927580228617482741193476708252507973277679584718129792405936691825256735967355706066861968407147979418245410612237496832874343231173110717331489862744878269127564000668404751101647807145611232194385844477647901135114003631206205332084696287444021152248404544854263255239459328131560481968265578715547041687971346411779638215391738629173253368037775121806910871779381714811055369921712243655250675681593570716132745259266955939700909421812108946119844048093063345693903076327411723323857100310175809365410778953066055789242869907726494397745824993066828292286869144601437134592480074369356322013968979479202654143617784717921503591059831571689215939692943960352615698333663668656169307639517792887058598754209904499185043517327586002880358907316344509753581662087895847192231958727804570166665878839598660784510359070128608298983999417920671783261407437169210480401959483829304192091197690524094343663675525330473749081379416732161908127615617580162238079882583003711428870489904434503360000797309709205715809594965442587840545599969479748675675854966470323270340269913027170761137475042493670686161829678234734304581842369984002830500896791651769700223629038361953404084374562242168626187040294200223250324386002956059432366341351603427727198012932862250880510519028418434354873498120344844826778650659270100856590900876078790211430264439888334188025017639137425896900542313524242203307475284642097208629460154712091580837295135875645094318007973093527667135944746651144313742850011495186932601238124179766393592073288912781993033618070411773477558461213723590749418408647493057079260140885525452993870798628656303203670717126380030091501274840807386410770081651685446268005025355192796773518063392929952634888118276087870865527183560507934461938160094810359451128181012834298895545964842859640738385856256863367271416213005955310209297100504192914179967111015135979700573669583010854657632575939843799842712011642597112238532197373352154035004969002894844009213469247298418179035797555608837062505834627921293871424592517211799405979758193860816237178877645718803466068408247073762813243759364794576118726125391091166721254531192199559999233352159496396774994319055164112585505978888736747224743831092910059815103105540568959815826499877262384413812086876553445740241927054498160377403390901323837359608840339160437152266527949793051939024744755134316022943324485574672882201200341942078577668280078202357552041636277258813816081385746776397743859510735588491354856918610231188778897475411096436987313655047066557423203790898349454868789568920874674620113890043576698200114475997542611757395820835030381982028482280452200503497471474260271603866284435838892847314898551325982358232372897730089261945112728149395771032968588373058851533575595113648016539650541748224
15542892303071785202772956563385438321981766535110486374625919569940165333832864761874506785761442961319636106063739531821019996707515776986875970249334801873892388694199675985818378016185970605210460835165369058503929603242930963971328203057695207076392168343859504494442198197949378642788938184357919208796482966948465558966805386350688859915636253182458593153930513298161638275801292754990686052187081114260554316133932774894900786947571808435982730319135970138960769353005923629609523820166905029713309272788031365346883259079242468381080251750508401206383756200938882618633205412448359612638002135947194925801588153948074092443491583453696738907362073445682344492809748396051530377165155808598529826583447025970601115949021806870432724245855686915573575242995901178412454032987033594100969126020929279188489390176266597879507367728149110220027313730167122624771539554559708809002344417699693592330315896243448370846826153451683783828736055957914997454958317918455740509933082713752995736281103365546698096280882498217355991780297661236606580993667008956761726289469173522658973438091763941629692748942024041240673193964359181185397970016203530273481654446030126424340752401324443258998933096490064436023791214274238909896459003335317615624213230003178348071556948494714539109539948747504415058733777999786619080669899795186607600713354951015036733468162187076519663593159874339315191554618093179373497934638348314310275351274987175209941217094392208865042353072788265307128781500436857829533042042301462458769778457606642269454002010228056509685461016260685782581584167977770664078087437479010440207579819117512011136809234136458706761002894094961729335824579411836608036479546967808500986375914502014617585162224649817845741465907956170040318234815411688436791255589298658226640969808384359008005185408777995448109725932012624473447740926021503478836180776422942779624218371752371706078057799151828258717834459558652751251653739316597376119395755648000007698806582072916817603617620563763801718935782807209166691811908977056945874920289040235913721446058461286070412846570524720463841869561381462337861195239350993458754430136618149325850128838051287379209209984594588980706913974233391147514166171569909783597081706441856994615761796263874924592606447057699846392355920123823454830310219748683411023960190774655269823448053470408264734041705521287683586723847413360120812654173622088497035319245093439070794989558552914034855006285000741665602399139308692452302325957135627398713716957787761383616440363564454908006573666861918663051737008306905210405505417627925809318121860360754687133644918365484215775647918801263099821788185406861237672969415004525821229470535820755139814697800249625826916498698915196564383208935286212421995485598686291804743793669458717423894854835789532616881813080407864436290393233457866716229340975587866848982567928576513517801112501086122758659358047646696266417991409867731815382380236508405046089761089326301384744781455454884620134895541235187653666403529674081776944457303750164806517066115694623220766881631471014734557885096712357078983627106050043195754703919170746052651550129820304565392361107670397646810656044334010514818494108646761439999077289812453768815707102801184970752760717539426133160999645193302272403143480602419876328484038169334477788488038307371541397479593469202824250312699691597147344966524643979105086655883408863280726421443000749669917075987319905014168232417587125476038301262984232218488115120871349454685178889514114272360243298084868445210256822163110049040336568135620896244921075096065092139870117671006439302667332027623465745893832717373080717309663750061708766050961479258600284472236046418374153694326047427616797842603915633938595405688291150011938522867505864709766211984022419136113046284492792347616186977646616490453283419319473350041402598451720945824435394491885297611466395918204508487831459392134284690391150867875195266231771086648343274962110607872655828654174138013816884026571409943463447887748888498822070155058428637264697586933824753814779989624745635725536971609547027830433882942705567939890577250125574258149371999994610117731929870866902545734897688020923379130449161093817911291195020910428250045747488767075760956076959662612396956771802128277645330172461141185740152294906416512027454957772011535166214512353851467591081764810948738053990146311154336864718111862039029361460288448466955627664191291433641195856978368420772299047569181701141707956905838090659228830344051216991578362908342260219792405273684802007595383125483409288434466405623466110034153382725444799997783764425313439093400160193082670789702240463776016452672875717915920249491056871503803759128608748359686826056214393403705006656739213908573266541019326186520576
16689053531735859446561644238242252158884201294151693681417982196704848696411269120560458575243868994159307519541137145158408052805201984890665428357290484950751831416226938313221623343821025600849064121031026714511172083353661008360652228453812028882263034176850763555598563755635678883574838933095720440097772465716177123286197170993213360102295756612658894617575262118024333329087095144301684344686715664862080002656721606009032179276121145961030684085369158681017269949539880320861630514437460591039142895639534363596772823318810368537763436604970083638666294827167426335453114366528973956281861865167837047313741926516997877307419269746220555977242719769988925500305894127757444625168722347168780299714114097873048612615538165924834165001034109709500904687615662155832337817695653619679250229541398466410853837612512178317416773245861561751629169174449890071953860464601089253487044915337086882069865800928635001762899538618114841919488756338817716604242302125734550078406238351008011527338694904454650371077962389965580571071505818039128045846543746645857673119443382369992351469384201694062895824808582964293611658275196818197155698491095688151087410475418097505822237480930487720702018837079209785413716885809996123323995541382486020219673612148544245255660440396588843582796760369011906073217873919901955982471701347980894465562221446262316193621106312679371451158385877396707088690765026993822458849598812899354840357620245455086529865375712670518139546025627676756672378051176528522711489630769457458346986717146462744919039602561940052684740577880642411680017613333973864300896883550198631783529693604827417179945860601724236698240379574803036467242592441698286703062607299908369131817073587061227160554562431393174954192236442674131145454991160449653039951483703736165026080315183552134326318382279470443517034474379335393146816910585778208587906144070106775641338269059701672010245667638709727450431473936562040111568969070223780108054040447341830218530622058179404733983692902675652762864442770280610993186165009947099215606187008670119389572118729831938630882309667357987935695070407811330442384035120852292615050582972940848642687689204189916100276806457605872674542620104450412437313850900571874554975792551912079345886250269889446839927703377894066309848065330952502243478905838792147351408722945766322391441270902565700200204815778498308203143726105918978090239654666193989496122278648932318308277218661560716300414023988160197376718110617345532790132472657354378479241700074761912921080392360920954488730613046684901404813501667759552415911166765690811833916362598030035779429226414086120490153771115472134306540921140413367453871695163172523542029615686434960882008638048820890710829608666829980359360197147315688044890426499150966221852867324256339433442615595873232158171169384199023767178624170307635032982981445655622695675031833647348164423006145415431970810904749242556677644042847709958191508212610086225519224139777449780029587414461502561733189864495337604230044413472286692701502732018823999650241658194539764058986161767783164215059377326342693327191834986014816288444842750345434014875472820690616279921091416673160091781603679825315416388893151627800277475807480200727643851664411499859857455945886332208133558644693209214553496144195750936822800874298826823046698632454338991505821247694400328336482190737219758463381113390167074913633566311764196813811805200336983944159099371475681419743718915929787558233891978193185518995252206383232815069326593179532548520423969422351160105223737861409569300436243841860506536305909689907256992203271161086052591309156554038495197564452303048177903306727817939283016348655692867637136137609839813730902201988615639768488556793282327343734901765714856876491319621457504161603069294891180102526587707713770182646657303325217887787125449048153592846101579890424308534444251876472656118771267919063748747633012292198096395869606331495169519867493328254154635950174986934229183364404164583478256687250178946179412320438790697831459748399991550430757802723558457432824218375454439977631275471241476428840182303164014734030776962738332992753555728740657982337122584712400687632463988969219271772016172145879193677936892081369825248992032179438715166058552507859713376203968983920875244460660305898153915170601574928077424435962641918411313670095008236325020281247113168589590178165729210632866676581823745763925422223038939375213616748873472601013196436664047868010395925971320384123387987713117726727008101281957144028137363304682538139913538508714328531135376771102166062840864358190256555463389190760935535171622363863860394367612779116526404092461465833346983248680349687327062476896227871264809008046087140678370369308347782205539305434517628453392262118765567487770624
17919734779999703608358730412809326386948260102365600106175019110289391028928658359665462692858793138605660202609016241276541831555345895944923537618098409008864821636200015942374069165435367158206370058008811385031953181158040008194845973609660827645181791564826077435981127258756544123927931196528412831944664945675065490664394224405892804897407872292736422996499044403885550945157969795104033754536158786558382490486553103096347572650637318909167319649792052155500917611119339056463672400186137268950487348160635274079078051823969178623850325300728945071614104335044517106815062886397425044666582617221355417317431556443635267784196575430054876881298700416548769326498563318689167621407660240798567394870299549994321737750477361021746083225727326845695611528930591294171186646556710594466600436420199872834792932995458631568756337073205793766682939080978399162459229379102261007425977967763969243600170600524333440623138966124573069804103518378733697030154215622445293141007257379990094535977676132488642014723528182805041779601280291487945451316823506619317099979666907250685030332785672883766983733651952322935949453504074525530010351309823131953883783707312135178511419892535467102436188266607789547468772963589224954890835915571898021005173224993046456845516187596076588286642888499913757104773637492157556117786876633764264340604284841201617372203463857074262629140332164891780641004551812039756163697333171030787994708819974654272320655478992168142058181236089412385591803379087851081964260301899483774815897542572614982877416315183092585148369445060375037409061016493347818222773504579105874453551546369408526128004004583745119457376362755101356817075577458837732022221390348399327304462561027713344851052196716605982536465488404596193013736051518525087115284650983555945449868485195682163510634110993487871776069571590948852945220289366418402148630807474643233151889322821166838200130929858485955759169160411652585238557228351261665741396862480498592730343388728604188158301885203574809877988706244904716239658164389345576455273956504374557807656933344514308998979633911561799227043219607491761797072160779144001107066142813628849465707403668451988955918185070684708398675151276691656367993659926444087227758895770535690764484629261311586928255008253110936038313210831328103416277132460868930253978371145297784082358192207799021212805084067588753430957707003125860730829963398409245419403176403540843112878175063311042207153086072226884735477319228102358416328650392737817362687329175135792745610028544250931992550595897385643187664611660567183804484062824961032918590140239454149424589599248769810308181484238005564111478223795947609283902429826476843054701820209171686954816603802296744241150840563128231408943593557958343585135640429336292922414686420377001346827800669243771170290167918802816558789727250436606681441446658416425189109905592318568190830610526141575162086415624541965425476894590034244731513769518933784586287074909469880877367964371337738416067886441536638661758004122743286872239031018875283719425840110589673101225444927298559180769384078691446782211589695790563332579675578149082949204033319350767264086567273809382928793586544820746176568729625969942839044579639663573186436508530639746099089127335635641831274894763854382448278295445712623953822975558417034038287426789827545453781013117341203134213273225698248141310273898708818682509547959218641344757276108542518554860105505325551739278530361333752748710565391284119243536348751421956845869193422612297238115688534180875561019898968219407770151704816458468067841857029692420292513645094155271135930352220306234848399648095373435951301773061558705665667226427383607680489126533504401943239175528872584279943840694346557109026988394379491086462732250510770056967270388694849604799405293776562465831834960375340720029975403377783502614726461680825917179712937836159172467094221854208193952561186301239204993428857168541571967451726524587446734383196863589935411379725784353060143599708204685997080016196019604243784434829588008944109868798625825854547033709834767210480324923937282445155863550691850151681081328107837702358581710663643324914821787020687629757336125130125380728436356837414319503397227060341192581413958793817221318620173060589062976682447852834627256663635293099481743108023006240546522527092698329333823122363948396966650333623268288375806065316155056915014459661785514023069556257735965587767289237572352415825933789973955233020793772514614520937027258986772616622591228733265402118602919797320496243300330040641163011956540245130470278665648317699795412891216674909530869481593950014373147529639871974288169674400638973611669818335484266228389748504513573211513211311036282494937997688698966091730516720952070935699706514889445062713927507378176
19241168708273120471898484839774159078933154595940466172858958682716987891251094392980041941634152319085126402673614657753898114626537859262816402822589601100676545753088069546793811915996728886562204354505366944636175707019236310664108863102693081097087121686404166628875618812393371659562858887506920461997270005838005731265441626368648656679018861667561868779496429552485064159098842455931911473353223409432824297824694176391532290395867829567999008121958759302150686909437001800161742592714320970677274850902923564188409187603835192775354858191398046010790739012837006919470808454315075956363577891261951977542700146410947885621331669276820707922621098074094635361589818911188800130852002554527332971154963682237282212335047218494196143067648263653941372471869361865601890518118245753142691859681021441902198614536853534777180410780542810526405969438490630021299045279151649216637647128090697537103147507318173144918884930092073299192737434508799042659421170483733704397439821736428025208993103593779620136172276006720490996825284692917518222909429273883501616566557907903789369719020615403283301105149777468390283401377268172474527881354290278821555857801910814163909417600240916431261827632994846241307254864966179989810803876870879784216085012039996089890041837490937451150596969934526021396372604627944040001294839760001021179098602067607374988979834181012994058868175810696769308080116654962072943723617102998302261595950708472912130973326888644302568242634561220281993534279711152676988678359372342373029227091559037264164525762672052726338085518564994882791673409976861370204941261145641493924871440676709288645834677361054845317261185999148196173641564886505711301563204204506289180266633617608241449509794021695318778016600032601966270025005012059096828924639426286754873386287854128763172174513734766119562715061350964003252108605586105899470236362320416258913766910532124506657321461665066772015233599024956437728363913498268213674445779427687723387712050359792501967134266961125027678844810894804180721372978567907765429417312476703801679586996775585214538664006255052620990767176748180768376961779774619340907359219473350332884330093065267929877955447632566567724901576115310827794150727629855780053948940176880878058557680243004475980679089698830390136125760881326794104654039498023013795835519490101011703749451522544708062452023123206087390842786384393935402691337933261181875093611622931704942519649582270913938849540486421890957709174258612898384650476456156620368790762370198721550357280041796060431381231251145777347736174424669076812769976996604252214931020689127295167527386748803125876440789008743344531207567354940989800936728839913248955317264207516068680021785752163441550754799405386494338933184060036841557122241842003694271911835881403632193793339304502227557025979510401620148172284970346306854501525884206757334114414967163939798290839821372854596771763558317789120496496866959102160477985164375564396902969200918824766327798383247196566903603295560419759504958393353896729953192130199725569413805793076917311273545871449102327331264184010713601130803073897764594711619480610050869805638084476467337939800438478794254277287736137685752669933809951804193171465359605627819561828729880680863332844323933674259323805749149053880407922611490365824003973549202124680940827477575893300985732721181869483684676798371600632855103245939198217043078923146901572321490486058065854649333750120699638339301634217882749165496131308683898788219318651934537332874611004530881284501729707259670806529618431624931322464286333700723410271310609161523858214828286932568708408329994066444693001626884399079497940981552108904532661881159878458548803936251813654562776800627813308340626124713098718366805383807866107370235834687059172612620815458396794062992594254902030512212147620386069346459124297997019174645160226236126139017905668596162999148329753598168250368817650696397429954209110385302904158885470459705904079457315262136436657057120311085458570452613567307851955264263631400479239716730957892176844580237182946567690669387469683196535999941078914264836893214983643800720931534852123226472628061020634179465390230532661309878768378313063652045702458520122867296512780312910184702692614334143141266909785272562995033881026287536240930127914083412140299508051754687805855097603321220651944300441143600847196394856620801996002042831467478751438903620000923908283415052029800610481233486507014939744614149867604398092135227683262367809838202177621245593825546457602346922163434900619948866444157640036501939549331535798274992241510789509811064648106096574710781472622315797849645096610196798660407812428198291282218425291519943372809142137676332887733313209529296293996405171412038248876340417575663075589589562075899986246911976016156033024
20660047584712904265668019854695453317479845389919099143855877590721175854137863735514563030006756251788293634877325479289806304709259839809911779743846106689272841870940237427813240958595262452690790393067335320922954320039324399299510902002451968209366247126469565877288838012747972691248931144526291589487871379088990922411409120062599305037679495057331562616145150069172816522947817294920970245204817499923899567017806357200821619644556805383264387011062812665868245684991809125996952986519564109976467613757833194744243560756100189286001147681693079033662371789951567224413206984490890328084372532129681978167105893092358236275992039878258227845806428706961260921768351697529556260872467896950837962303270090819215803475388899512084700071221602006215914067008397299287416782772590242659687689683852021211176769983074029652497127848569301084709545789373184885978795727494881002480678374384467210921441280648868580973019836883175272216907620482558428114580698379419190089983855121507075032622236256205884379040748017687496261106759395492535898220009175338666589279124505434238814353911563076723907317384737852103485243271752039649946160864211234207325957274108348285681133024860384448334645424225488785740795983141659800571753969657609871988905530966887362511401482023830762268352889186371130789604147476839474880919283605691218722707963659922914136519187052738438408470278470530227787765162395231754853414845980050992939269361264729796926103026908761178326832730908330105253531853703579268532306328941786394768890702600815675707987728506481008202428785371963467999397619240854925438992883555381427336976379677717625908321016472110536174993884539128646605795714603450995439357888933831051963890959986910391691429050138719427156968995221284494728763125407257476624882158296123453724790681777081264099354688423880825432671752367255993010261026008121937554332225389048626285324341225608178373332489202594872865429080403141346966995885015408732592021153391787092212729396140103457323714335859741324311933313463122113130592657791818191915946688355913897523174005484498986926176408599447610478607035520922006918800460993486080011545703340531505822227775145990538075859979731728508230355348558528682562641298816208542132069953428390956637317302393332389279658554531881753771395282782103679442003675259575275227117594301288610251029283716816731956524741220801481002946934349621509333823971701460251694958754714754289092410863698308409194847330063452488430459755629976861221461256192502665584460945861727738519948733723756898163605510082971069059256122197526325133339741592771891579416074188925278881367241817613298195471131418247230704799238294297193801223200133161855935048453768868218093795864593265185676824846890293809856451791266751683760743436146402166502260966626486983711988781623867113229144139254885262590453659530307429433616171013691376413057389351535508826042998432292723078824497914804873261889264331538951687193972502241558336560054100810401380533184017932095884633613034747456214776495362323922552327575952503098817201818443040175766104032906957428656111316657165535257619796955151792545448275055104168653677892362309628124515905725008220327908414735573309415210627599056919586466777559975762735641460861197685572556902983488590254228192191712991561423480688912508758293289541968043099588822131841658771429801650018303975141523106334002693321392887003075286665383449515709914212945108898634200683294501239360249826582067611290236507094293896329756524294000921365411244396879983295460734748350187027984973442663604796973042057534982806087424664217388351645738139107108657771689971684384622813501858686885822104764040153776111766199542235851879131700501131529402116758341884410992606829138308451494094551235913862878219675496868447045385197006319810666369772950039053750427183486325660870597684257508065174038915146468894091030735203163601258383578106838036181967740209902936982144646667944726662532483104058870858502735949845538619709415633008974835012347705314221797328279727967416833596814253327575942044413160430148387169669286718815882660380150715058397965930665584783149761824752385541211238363465484740313879045495911451003920246443457977403391008775653889172681068235067581572495472470846065426471401981021383682010127442582354964971111802419003021238239668937681793764885209410380288155920725142302077534619596602299572238411530074177586015231251250997499994918965442786915533009854433161571921610196632091455050904917871399427281429082694556351079808225066205391182682650884552616296922626642482218556329019151236981228761086222985643643944598450639358281650106770878891427887093203786888927592587041100503502315052510738924355729496800282783844796505954951163280784152140338194994604906247710412614128793015771794738077674334179495031632367793995776
22183557177536428342555760217248911009617660272209724727160648397381680837046747754834860486402421190118565669360769476374310846225220450087442487661243571371838422464166943130733257678233585583710922984653797582307438335067703932231561158223998028817514928073610190345568277102648543449803816165174067947252566240460408571349468906986250371972290369750258176616229905284027346184567327199067188526935947995955407782282509638459605740175780655883839321983500492650419672665483234556007814118187764179131068932673263308812431294426509836370696129977834498089780792485908740663200054197216788292261272588544423331777076458450137733080406660308361727510163785510738545799479471257178882033459823511053436791971956468480870431073289616071458535896966412846356334908136854739453544796582452824358015671191485252601375634188054357726102352210883997137101206206093083356160104149763760478266552122468932700322981081392812053670262014443123091701878912056442046790322760073111405227821988728718748374432659460697437612684320146836156497393952092045292873740231005224875681300425991588057496575966383272692580187375635331079438481867694762729453512268135586939065367526047165861894532856500226542896075940201130116092867470150399044653391350259402679429773932584074120225541448104571254145331608710644013914972117549746615513840454375548185972103399119531345524341496917004555051622533854735057031970450353912353359026509351299020771622205191705919018583457324934309197042644628411544009039275037782359122464400564697713337532761467241367522487234976165713568634845235396572591038830584933062960248219511774858804528480560069055799750265004298012242155916773889392377158499569692908537671821052601169043547061513456180099309473462536050739759023240349296992980503538729385788838332433936329331636340669526797910266820371209482658702556580093767809768924782072288044002782791216181612298502579182920955899379914854524323573927334711645222159029376939240638885041089481259012152257829893245815471189440987257734870820964256494487576910578394677664210651842038549513481938918311945948264810315340162667741031299467585870733426879186595670207024564225192191025471028717746640315345005749199100060764129390358371127462448644800793269640689795559164857986738576285103418622440266180446816849959451799321168328487920029487667259967557637921365280975508297244717964339551368954005590663770853141733176269650314118444104892188870081908545344837057003413743583861510664660755168725624045726677169469107269521122066336793749804813735037043966772030812939747030915632731538804636689257349511556080412456354535949545787941843093178131061081188372488379919939679929317670206892342098254078924152278164234911662174732029578584332585628504803291175724522829223476331836723865393297689390429527260603169125048348756092275758042450502764592677371547282560802314380136907482826818658995914447643507839119128980583912166926781220309808369364774711655533476362694936900398375742840256505819099942057343309389231639909015414249882669229480170946848739214689634523111146798432377141667272491735562833894506504497452990681134331924619233755321250560203724453582008955179407730182368909882259343122962937204632622396117516594163452650644875558891995127013731255733353282080782763602796152465243659456191341693730545811839752891147463115525855231168420634311648863343654909678333218005147825016711307951913411702742410279941891205640698117750462684089920935241889912962638101540518816068237179675871340861564577240068815693172757540249073710810169724428917178433116983857686325382016949662419366101212448271311232581561966165758899497217321497573847027506508859564324802735466958028288634892699632306682444138477562982183056367307233823664981884608672511605433745484240695632618559312216165173032242535465840794445217724775789994161200985464832795594683422196350737500566163657105895785585478448082739842604037282139322418165048345074493137809060867401353798989173607777521155789230291761171247716257287626307005803825401889957963474547816957149461509286475889872153830218897398240340967926555562181708498456282722539085869726875194799371382249686204546108790818826158945943435956566728081524467845547970613752968421176989925800920076842588041114242741046939113897725390226670833090303537694037307916285858200674302591568699671902923695138183915813698092291011868801897345289691759164478296507911295500048337463984280686730990327747933309037392321816917548740535881172659365806618481717024579099771279217653152789897487127186773934739646629826717969853240239367767580128080823689981289875732063079695337078527528491373958250964877451922692137824398668338390017597894152705536592225519014744937800041309533212896123892030999669460237470374742193765574264087258383673267649817124293259876538663876292563880770535424
23819413146616256394981118797375481969480548083294806339079376951227282806156421707544287917455262926694159478083213531605677434768851720878991456196481166433071969969957188157697798556888535282713871134265692624553578966663119583686288868398988244034923042016987012046637672172735282274735602011354688995182906263712781699186012885618702817322205539073276639030824846503018760758096762557531214107464077932346304174811816782497197617777212802072629965709487116883360213693318910113587660489515881484182056690838322941236535251952201705658612802752141093549045743883985145497247395870618409984354463913784890613290475237883711102568980986101248723748554241593045177753840625718238825888887979927476601382480677095315248325768300270040827602674378192196383682798217738849563893953148151862020127375805729628397301818362238245075973632073605015738401827224330507236627391865797309345033040034170863180978043095452210474997093029946073332740494727258619674270934505949617013604524717724881910062560358734500122974369867450663802506661233365881328660864037341731511544212762096184769512990351898937904020441658976453552080164416409501208370632785994282199262624582648251382581167804966483504582446822474076377714887270789555024533989876213353906161412742280476779202168165875403681163975922621821191715743542407007341679657746726189890205577516887205580968480675298554847557437593660684971174251977677111295831853651015216867332735514041444583158610091364301125837412544649094413486922103666706099199177964837405152727671554957592662211849804700024769813447527913012425217250440007093013940843762711325526370116870176517089540381628290198315504466823769188191745301863265065278733104913850421579193350557259298639363905055176143054787065402934551044550360601066113745339306949908733153756415905335183085205049284032062826996051652575773084339093770314021101064220940255316274022704654991840573976835223750244861641846634935216740454881921421264323780771349345734554265524803487987855487184402369815198480998303706538207194936777304730396187061604829099432032920409685204855843479267063007361443316960907131415881717937995028442871278593013203963009942245692834549658742070481662435528238403387125375405428070466099374731881990918085701884774531381646711530088740294578739638478259469396101043193242841650414428221629222647518966818325364914778410677641395516842242370935025514686570440711209087844123711125228986200714247510879752050569637447262403755424468291596084879318396821749404916351227269214035117919227220343838928296449995757270126779073935879276578417378380507669943734860361558439821138866316191808790888402436370615163264474041005897281746283379040776211321919459224809820965612622368576150931092608315386933878628225553664180055980167193153411729938381065248744257770156509898081554651284751483472268170784017968704879079267945949632410329716943027507187560692608934072104903430435171754541944399483612198920242086574602740947102998658296754651961186066985822946117617789906994417404940784609044450713324301172296481175766738732918080540972749723566381168162932496437718959377568216179949762086557921009282474168906382549629118671503445716645937868772325892080478499693221510472786167333403241063458857710266678835471576941210737806199938627152248212823508925739323233485624520377065049950498637454515074721623085026834974142761544568762780637067023076430281713210971765581416141156877154202285586748579258647485022412756351704279000013883471429497769785822326022080659540376047907141028376793820555760157657882889515708492252730671435544376329442354410439622818343369743814574319848247090374809709199354082011816994740757959017620481005026082428157347477106534958027007059564114445727283214216532013706673548829879598187400367783596685772151170675176915710841476584321217147877886739371597296163607053796854542451671727027603113597863395101968464536757050381515131901088278675404629743088467677666584379490551768195964625867696152015716293031692187899209934469163514795778073202856510984486350554787792641599053560523349580467825211655438101283385267374333102568750194758803973053161353484232342030179288696975945156240853445531222324831143387968102805108028246309511797968981389759104584187180644146593993150500073773487409953097313769982077277248372926082416689797383694598902607017246839350493529813262633801871422812997950192111437883035642100817504860424893956746015851898506151842423723476165315831292042842271899787778526371881759830948623415420691329976189275975216600962046633363005137425592956883795186928943368294791657248302920717041278746475128598992979676539842198490877275163943763058029217844833946718954966084977395434973006238912408182902973540603664390359344649629632476913321646663609138728510512044626226354832305079570740639757053287898975073231622373376
25575900118657318569598690943054636422789156031476669288249852688394341678846234673571798269269575453308165088143957721207761737564347865162147169456825790027494270958815056414357633863258063639149547661807393699311507065392893215317436453345625596904615386834948273299266707185866825058829474421410052472640420985219987233797808791091729331585483771227443328049547462908671385682618440597018470772683011053555669244321255008792352245000559299733616679857962150986840391100094023159055661757905515461793468699292144964024362176871456620249790032136836197692707010497427054515119805821367879544580573545329567190754993523752089859161468729837673453315444748731052994875813056464003066977553000899004113685745723869078816592323400933333330784565134118154767581771595738861486397097795867122554487893209977600846161051126786385990434946278617551854500284808785496019101495350343966150428021746555644959597806097261462580255285064671983401934537727109052808773959086602880624289155185062999832295177513697676493770724206727113981314278204864371077203859628871314904523760067817235497857897852142367448725645960194963210061834734695433358406087315667702222206981974399972189943224946954788257076268809546318962522896010091958732191491039682860836359280156313081056490181311181790505349321950248037148594716160740321413436506932665509161279696537955858922772076126803822026580364986583394718038028740346628765837498136542138410885417445756438318315645680806311339341916873132000075485657939737006095026050287265123272116808630693081787772367483712648369184671288349608874787434083718018625726499009872681856142409387276504661690260691216407540611493687501414684003862166092829787865952479381114529612028676023015761991317613707652484931995537354239791196609451646465317512098943290879770043686465897210817282017032246481214341336942234924889788364379444014069831184933528738321766022713664229603019093986897036038185944040523601744731359504011493027402492004773430226916891582814433642040657788824915293759909147962764295319181338827863019430138172769564432428391988742219127727034486722416647201574426214559981096538386996300743180486473674151279326323917024880313080796288304516782076373106759739778704509075883070072789870479881136776130078043154474580161919314885763273211040746907014641712606615353268659158514609237777249124506104153949059775236831748040159612043617858881626096933313737503227125621265252464060825746225119484811446382751642237214973918477648544049578155280141008905797534192684417113914646120242443518031235431169203487188474092941873477110354895584471571375846337005058656143880075639953504987747812474628265405654151190322942058896220632126419520607251329140923216730338419458156583650675565481133648605665523874786576772566829801504622727032692607249673047654023703440142592026173001250219079114774963765951780272604868691716396946711810059649744528192620189277666528739318433475147664008118420577271568560179859139941861295229110073277289104768743712305384644269584976102198464678106515406002936244266961966449442645614908642642987022477661900582517867913909857841452001125485569771186747986154884745354423284080540405852566626076396489406269844084920139053383105091084521674537612186990013626778207259221446925011958380414880610206510921737854664003621477248432350288794994500499516689925733367091863557220874083041617262320641504556227368336342095576993720387890187908826745697091390884329722588718340978153885946538042079803263936160822733760953682871551650006379325724990434534356155470605390102741766987313123736900127946117072917858527519885246840030487029873747977416234021741020808624031641213969487139858058097063414094058913984019239070169088151682001397248889899962084997441815351796657293147985458126364722229942661344446404499772998053183642502353502262479836798271494576179640363100721874743432027848665542649044359620285102176830321507953611075115929949271078388462677582762375484093246349160246818657648943136489146367659641448403195840104131069735820040672114758409747801256403924346046750035773121157416076096166391118837885244116335748919520673418084548320656468390171276572492513534636186018961921379308013712393402410359776210766235896466500733572861995876831904902263458757592861455725678934404074464136880872102981621646683951270831084958666484633657053820742433898001890999809465476144703629947538885723793389006342979559961491052123044165550415858354505009426169366746227594358147173982074527814576423113212706556362922835989619349754868451912068106880252390380726845805959600055504610665553363753775598995243290524532638152517286561082820170879764612794682875179352110214005350927129520657941767573117189109733188938542764424511516663588290739537962500210547874787267191041419918005970933684474510470262752191563665314213842622862255781667955277824
27461913643848925671869969361207765444262463564658360295010178593367844065523578233933027268605557094940736015836813938148505571049752194109709957489009213034362708648868307553015265572658879834608513115164006047384845140583852437652168956419422930841450479478622945918005132036226551759756467170206174393908635724797986133674773658550068403810898156440153717916551455198129159079462209502678261769151345662457025979938205995109836336797395423516136287947512340923573401536688322998302668373460514591606321392464855242543933024230568444963884884723625116499791816949094472822012175881161365157210234353528316156531822683301756289187938544494866717679304491873702528158618164730673643478071926241970316812435976347385025727602792916040632996614318154832131657547502360035760087370975640743833287369841198564131700910434632869351737665770544822326665718419104829720294778458605849241754842450858323936414954625271844235831056170980853419690915667702888609805274033350351005178496191828602994840318009961528142983302047532124436552294996934515473049717057744248726861727986556442142107487332565027932072901568877971192784689580818430698725397927028302361961378130727347444778912810985537588686853778676573135305122003638462176836019106228731375970578994366612768655614319159047332799662708022564660351849567195589904809573062068908988721171534831209191223964156661191152991777583279789772658118681024211563281224136727356750164569583207939139651734001046690528216872783013130353820108042053295004772388562963777433787550440179332022983882758759909351798974341992938982900847085331154020853544371994887423986056259248996507787803437622206211383539307382255005382690585265106009744720882708000306178521682933258010261307246705782181929013404238601567532826575226515473178180261437621806851408465576584939460923690603403556668602086953910887664357342760843773222199882608466242031748129795259617500517884318255575835509205233742052437432343837035840206433747350839678586477064541417032331698976332671364167260666607824418538092432939791660505064002201619245361186363379057832013314983884231432454183020075375049460002647739425841235171107450211176315780533881119640749065265976521717025295366956749719751535932163242070677208297791327105195389659319036249464693460506269808609833228522260259787200710963885094446897781653618193180649587373395240246147825753121749407086846607354531805407177098870972299750854485368581165483697920910239382735093950474782646775338617650918738394881053837879711288538755333488271527905463644625267835620837047004960912804332152753289694714872200051125247435439530378674918598854901643720737433818517307418623188212269126955365543368245854694646035629778199247775980890646278141806684960511943881441622356339228886554491940992965131551355937467739579561591670332271053781582270854101964514408298774943586973645953968940324057748270369735789865490835563425374226901032304195276427711421416223718638706969148575720984245401094307147977530061129717971839314952959615319962970989873469662718325693312274917284794051350085937607544845066323493688386779398006472645730261374496928928571793321427282272692986633983516709618285835164164795929882284859423937761001513208631284780440985550066263286301401687505966477241181531413198759783145372053782725316774155667586306252939697664157036319961759299370118879151489469708799433587154052081952307885036183807192823569765839197876926375624779061542837169349824433264136897648923723788156710179966741359489152787426017426388059348839841351559472169040635409953149492285940578340396839486697119592362417513155781212704571359064980642987217925715059338673922664670801171401895734402238839293022125864659924610295420700403820848252571623160466675996210149709344479047620607734078479336431980607400174637828066515573853307440973812103226726998354633433233995139791401503712237602244935729934682555596873011376159954456540863181579635186555179274895983639184010863165321028664287355661207755046136977013838019994449388782622044753210608607030686632201943501040641408082244572683096361736928674420500207438391662320159615241252157081642417500037813246660850179356579709024945552403472048362782501362303309665702604779946569086215652563862876353069968911150907934926532908850185742665407268154157053282566202265388309389069287159417515818210896759950150007839980397584599112820642563559291427467993473710812258442307768772066276514750661487708091847438392289183019362285249055851958046799562022340976770037805883571886746725671486404436120296693829151227761697861457811033908021896441122766314498551845098091573591637415901463627754745344430140032816527896641861959435135850256142595504073599742904000437850444207531775177306211367685683713800772219674059113403885684170682309661673225350701353847025297429567406609504503921062623762696062361168510976
29487005246476831831354086392727340911086547962649809720013407261408543189862862407909947393234268811657807061547113484296199554733122515651362025865211212356321189462216432087767587955831150163409363198204121912466034051208042141351486172821967686789124892641051170958252184913938731763751318855133296149777553012496151662698659290918703643232682337574287999916099439294293484657567913770475889677158032823661095397314236712476970748614313680495468671253351117205787548763888122855698656043386606129569986621875433524025085045571166758652365370249174968482698961151194814396225781080847011462232963786224955025563148802013002140356128611565823348077869452155862530218446029517445986696870654086246673328042871126462055155043150013163748131899243800085767459783198550709101741440110749151852270732409451136596953511792543329908088498813967162998789972333600016311078725239819353061910861494017247109069053400216626525625124408875437419935561305269477505961139225389442719340591946591098075051705648756141398074223542060077991098633501394541052588626036266222953490189604076961664616960652525267690394905431539494421960088229781777191267003245293188277755918371640892492038649118404578368097184141137475944371920496729297014310917704020887788840679259747292518917969346894353629222644862696928011564135436054203269146217352327135551239466151226542089110384066084009138626054319273153372830473680971411112119473029522457427620417244448612343090643591046691396931108449608474802060568176951373683634393200433465227685083638130158853460324195993017045475288391300698098620660360548556962376218770850724941305449398372634380441706268065937920315091059484319154712740007050182450456658374969778308148684341456306126200586759702284551371158691187605378331956386759391937334562350916828901110807022797243524587701780273310195545432168376098880454186153003821588838647259244600420561594702794950808248548394052504738495789977996468537729672250748174021816628708415645764417017625014866847840505431866375381353522709246941283832830782425369579730696182960706664267623784618556359947462423082385263121487272405561823091273458028560579480587037865689737642491790433207202220126064984675569614352501454889773197503018602499806722482552898394737313137569187960580422338979884874107732853235129300555946622743244458779437824295214309734945375049451156774334816975397791120902436349202589066795403915400832746137787957240678241652918511647863168175094613887194158785152099805534136081439898415010927161491548993446469424952980479433345622882308049743257880467563228560799163898803550036009788116433780163590501817799385986402269302758813374058643241193679737151555941765122971407700268197331487032375742409664911679230794840564893462597044767338414861587402509252115086751520352873969840637315456560445779407349838245112945481259684041007344892574185246544830022900917709159645261408252844433156429010275304293789558963675065777088718843188018055103421651738732234612953085631038852254875688326672501331551995384083125824844855839828163186671274823892160990937203475398103311589087020908128301091902432516660249079550163043075900348350844232860381081617720016576402533647418339580650245442520760240859395848263614143348885792861897501261699334456155800745454721334004092356246187289581324059702574058153454076331920515600629987040354633496396955875521919052670037654851466468549488334307134486699510563433219067854077059409138014236352677381052800626267256670817167575586476857126674122622185496216465700577043543536694092891262928195202082490391779766142832595314281388926649358649625432515474338424220591250125788184242784318575971463198566409322408162914879480986132447898277524590761094201698956134171943467342960133375387703236224610776921934208377933361846784509322491413540047538825593657040103993343951942132763349101452052160206754430112320774155863785422837448107567835931410739613923115163123760686466338471273810883011597695850946214863548188927801940946184321852684508829388556587137733835921988741863228688432931951152324203644157629486848461419173603030170035727277031126040257240280291188777246282260121664440983180973061043169834298938391661142070296728042040561688345097970947713175208041272401341231816418282469825304088751544824182068349021810701707574087821421190975391695582056932742212194620703704564218491714852226732645708818531048189509477047014082343602901402942410688683993836738171018240119828029064214910679887480129524759307142039088269529147002022238384409310550648529436690441498855453282383668684899098609318595725279316630267710455432703514190305147314990096684159935037290783926799411838521087116335080096777541821417700638186418191672487034334602605402816838694800468360689543535135761352917910111063208916350500657831880025111358974359836166218703839021776416933657183013157298823746734260224
31661430797649602984339397113180635364539891831279090562020125217319653973866128191730258941755409053135766218105677894563196666167130803170962009736847065300727651903009850872691697979774570612477067699118167386609647740190232572323610588316638811282015665588206461582049528881477856868257078189916417170994326965894312679286691189385595485600105589559599732531224458913231959007532987135785499129974437300329734929750193228822786129611778643803357754806429594700980105966226178367013963734374557602734057771028126292877442638586707717243558574565784465153755694989389059789144928893573361552406929648747129283466142021856855789901893544961274657826918439591716565490009358179620293577377631210639556333184902793524301768964634693840066929822086622124783308707458256392547397255480902556316310154759139978248486016595330984654544697069930938274426054686389218000287421846598469587196153345997443998350532339902002560751503823012833964079463558383869588777684504987607335808287273972436229268907317606522595970126873435328859744502499694881053449391241834384383671223351587434654143891592378711135972893038368723868673250791046816563312628935615027396133058419160801777389484582891723946911613908968826855266028448541101410383958878629280188489117793760027648324534912910432001142542396976429042333567876091875581079822342588189171483109846004247139974154324457580509741008418699434056774744852990237059381031476638249287295494791695306891539061446784384489705916389024415819822553432796122738371192304166626544215157003198432716724237213836875613671727104201237308886279739619905193349740517236295430199606178148335071340587613945353134829892528936785348579395651207835763886121996484925705467202387995532956248992217232980711156289634069232125122364928207478947924506676915163936574633558770321844262987757518711307882749011340427529903235788361866471770187149833898117724973800527788378839070597982207189681112547294847993260471101440529738854802702904979633223002801323611156317394763494109626243227062652232400523565435404763476414151148282066894019673986642111850176788846331940054694785677465532819670789281306374080705982498628662765914330594964777651481775010526588078165953831491135998792033203439754073429845878157298851914609192702806992462780946607884034447446337412036054786340750971188847726383153334927405701203545961775273784222765869787363728786531636688930103354834939231843956917396532839862189517497620141843898744842087811586296114839762624268570349489070508541910311078376808576126709244374223155015536065582661208448275615313870201389142376275233340415573993131488068683810919228375119611838883456504337321876764573618240952241348920918903603933619491902818775476708307757495256176569077937896894626625491605198749565105706542929106495698468020018806900420790605817433949454323412533167060330959854917302349689721938935486559593152306979010177454217834845630162819519974568632913812014870811218380507872481431680472979039121040908180191899848235016734477136839430383068274544996090790420026474143786626067117811247721710560329133098575926106636324619818440440509520475686234970513165369707810480470878531386319911303561320056691836800340832378789647499928258887047025652600283111630099595220003105779344718538777520605112194585267350060238933360667092200126766696771851820871563844040897833806745777272764829830422315594278301668896055015166238345664359962036212288052344109216467606524213673879290918415177184756546489199393083123881530304982471477945117573812980171032586964513326231090090183897312101831732080704498515419410351795353884564878988825954324364815903427268504034386495293066360681466777570530973144920711850654223173311881475712288670836368061058401771308249714447169772069180034516449302214742511718249299818407574876934598828941385303751193071702962818817713975768624541887535043540718908883832915209241255462092786525236356725706446242861471014564337225858384746913300955923523097192220873482143491234660382296239586304523807011773554600485268209392913395688330447104054898175492260225260028724850975817093090266701191951605954579239706607766132288808752811201878438777221091336659356520621919869925861076483544989092581389228185036784096553376713815295496994296967799766097446973610741622335013377171347638634210515672508975870169418328730552634468243647077383902341088428434317822372563732582412683635803549747034529306374084087543019824647701864001959549083534126493735131321419463029039671311611669277717821229923115489931438466273235796380269687178346348319773427481535239396725612371180016348057185032720181780577908131994586168955586240554662114351951482949620825542756529098300014277565324149132248721153197838862786827840372807118068834213661080373144080482710784524921052521135249999653602743512236388247899717456838243027044585638529550679249334037922872958616208408576
33996202455118059621280427691366909857799968375680310953124674375553201648947864816406269952112762678580110538666372407264766471601014117443373732169547927905050417481574868366011975578460262558257923829422624241235556340549338429190965551364820846775143279165254838947695786799538713849333282836551472180728368530011745087483618816615618736034423110326319973517989087466906741399841699347346857508569165380229685384906484341868627751571251612881663652970400479941811113567888979156346914853617188979552734577985114681016583467211464326467974836105105419605058080388294269703641531350535763111092888231285421911592748376791628202754219956020545060460051281626443560320258102028854813653188942872911445423744709254781479169734513447657515029509247285126263585496301310622793502335552658307985337586520801240915849700697564961346686832921395101216813644512087306909562248857824088930164524739514998618126753586017364210833990525664773515999833682120626624432280890881930598146570891871151402538878729693774886494179078593867155901902287994941025793790843696876994040255177844885381021271316858981793908646185574935551301552764388051686084713675562458078133880693688275849756627134454038865261355485399958106713529391572412367354644546680397929395369144022747905402416661340128405534763557326803004921818387702696478009708331726595121845323151240959435822631777200570307156160147093686031889034095584348994332185048726967177907364604617418873960922005118343936694139887142569822910723879267970249226558813730636385512399329060658979196757770993884859884999598095274611100405416193722069014423052904003294225389821806662242064412669829491311316366733744556680880116095345569376207517960792245715492840664263479260294905101493544941753771580757789844308284341207127495986060813571066818516667349525656574125984410447810793855448501570867340898114938897748477442965259084011061956180098930919656580666666342185867394111764881656350086237947560043429324199525377322930059718026650323857250988576282213883338360893898370295410071705594864913453511633368080973274699438302452813220839978323313023786638936610916906925176362429555208243564855789617856953738360776485571256477402560437883546565841725081007175019528529964612915992649251499828167898366819879470006940665723196015928079862474919033020049448233334084806184899984716635505198294436264416751170735047350430422298691786212077129784728986869729289183862770502749527281151574566762606561558053958780837923752160187909161392932712035906398357861703721399829135639172040109049416443396510268733295668841837322538825068897463372963431337391967470702792415683392173488234054716710391819903232296495432319731122878567895311767858168157685862721807247887486306038376547807035570360328654321062793240555808096213433111381521205820662235561606072612476539886609025659267259856482878289679594115327868765405956825036056005450317654255534480477689455248360297757518062947640499961983548849044571858722441696179593821528015771213069190049148004596267574636747826476872598175200952475438290140113025072016425341447865413603686700228905701939958787428056004928685588931392400083698772347117493173188390210604149493520076251908289180079855018890008566522083297997818331198098752673187816085178539608593589704730751538627887981327462182497133435740287504214263086000354231632925170669304074393156253905167267836504027597582694178388944424492392357429333336224537371305745138666223490356890986565747539643679223253752628766420172309583155212756766315600403963720361890715162179677718942382395324918077745414963440951729796141224954738178611801255814784165069570203134859633514176944488671160020743984215753122181477899881183414967736603124536638377447416191688449350914637983222699225624446075231763584864222694377273739818223776331675295787045136600090986502083281513727852094717577486280515330939496216558488008047295917471460849907701774707277368022866501442018244282003844466138274267294885304519303589983708032250907301601739624811992245725991688643172282760762160421669788243424163087331592153354117313880902025425120764384309091497399173995106247659449210805030665032587078925704263095215537118873855516036817034045102574328445738325353606062927414826051161386041642943802990116246075188077575558716402668362774045190067898180374407207698425310175190261937203689282460447958159292357882790024589779288025247842655211055594088407563874487817784985383556861663985807171461347629884477940464501901621642490386149941495924723569405921636373719986686387443371522787021348612855290755374270116818654947795785912740713338467666689290851752299711179543344922465670367960963261830765326665185541917732629619033431040508759072702030933386814248495878754955413406130054157670325592308678240259704390043561885324058777990232865836472006791190136340814134712838924424237618880664590781904844132588531482624
36503144433231743473094395644828414843957718670845294323695266363412555747581088048873493423417950452177733619909253236039741202150917098713398327893417869364189334078627685551881598263459377430822769395057313419650882278756211806952802195443628425449566862432241928196525114715251820967197180296826671609220536073959009911657700438273575968518175997269536043572837299588811984148562339568479824341919151265525475924135630566665459930349134572778499426894940829343195678945856260308833917531695613492657651929953607282443924506331881899612654778105596948959020422862065717400335997314477453660136792442888542787963164387269282134355157959274699834692565742267115195091327958623240668243155198936991735599768097025578746165128742065040308715092673004798522332595578514521708871173124571379664930145406602938362447888136857473954881016337802024605206102126496214968321172130141953919013065413899959491584899858648825543413209548226012727616554601536837819740880248255909129095310048783036879942253878136196808069652809232018275191800927781461279808256028385583606684420724084611618088714846563045062174261844669873787536974839266268861222875880516177962739007572239234598332830775436572935352618075605756387026171694384572283403534090424263617754806881856304033438970319955339758553108717452810022593434253008632486016520113816111315439699526282895648130203584931701975446095649176482738763853635390929235026806036125622615594386173594946163898826498497507954445306292531617069699517647285546160182259849898409757260850830201968178964704743913148222298903898698087086703839958723326271732600491132792994043578734377720491146171985591427769604987457743802640599601781548109572327602537733826399609467793787639837535222181584584069984668456002232569636253246838379439340625616538721239339963374280924024699625706669797018601237266414769963877971732653716999662832373257498606901005827498586122054378629454258061402775693283888833482779691111137381321781085718581011159346062861199348675392099700427473853854835384706591621029221136221257205175720417862527623671027934651147341676033136994587883621078626026297954277098916795680808145164517841237988478111118913673590612018040026843317989195829983787191862555799384242127871905977897660232685770635798461585405763073398769252149524351488716767264123116253717821163660990847212330494778149683606588698219185162777528824087591341173748163739629707175177354504282565315674438001452495787690944401713139591757728498017404105765700357950930700889666041030493563440369389547992196491879318068161691184419060993534374214114340294887991058947049510010554941082890309251718868580876450436419392457576149534714306656647069201622419898668694050932337857926918923129693020668648441149573351579626530163445232649264159022179162316789739432557285699836568776397005095056328386244430101781903959530567760971812166199620181779463641058378019459738955163006666983940759123340554622346326925452146399166219244883704856589530901506622121283087604761574828101156729182517748629312677380259342277514424854486175106984647904086053810109336970628326425925011686897829123506279854181707486525608472486554698262086850000357843619140922855343089904938407993638512253593047056672113002961282660027433561537876144484987527084265218585977114898338227185125492930063163095059430532777889217319655571209969857649539289185141425191864368375974780037937526567789091643989832327541740030621996046870603737727454538884265259140516439247387562456450865766086109757820558332054537407141931202476586903262969669353024061666609448935670481980826647263827044494889345073268344056955568117396810074700873483882234012518696869523448849966944834939234111263266006401390504069246228789125750689245782699456405222464725380267808995054348889268202848449539721026038541061074121360543310854412706282492455624947784272414980175507102938301208609916442830196693559840924485935222229067214791950966851299856636378332083616847977473692745352479918854792832540031676770026318704210999682519972559892037784517761344327554188016879064895051566537642516460259545263544970282280884200280341598749435652726445154134648023069564517655940432616499159318447701833173289858536426520902154491886418985141174928816743966721834435752104072032805287559033913969299846312096982241931676041496998112854034475274551399490862789678332598451034258902327739212034464481650976624671321938561890354889989056534229845553684250803795702397188149610236253082117679098690965503127102519327501252109704894240982844169897369416435586993866386507109743725906597901555640872871945459718379107401795983200427027888076596062664109427478277155853555155541169432161077174691671457381362414092854699627302919180428729154110828674629372137132475718992159400544725565225466181578204733703362443691548000738296912884125394454651545382929479050706341636038376093533361307635634118066176
39194952885473698451500471303855718321579836224512281948941401725216444472909401069502025973712794432862944469227484284143214254885478448845312373830828580645298375854931050501375793951442104472476074230980216295755615781200971316927837711246846074720465942877952524391013907136163730864639744539571531785533473622310546203777418132237468871439272872461210651059641798915725429852736413465966899496091869140377232837249477588041524543411992712996646722617128422471035650300242098185826133923548425844405237790825506518831022677147094420242676834925418932584093490097165743809305311969306122699910755607136559761849613373998361378113120370999733917555294019341806164795478328874314963910384338821688367255820730477253897562978340699741907713266703041207926121905911128517750170930411797052419618603161471060681054368513017305712346436185525346050486879993234324589181277580836586979925037137352257458020483025082932114442290806006414870398214510449757443760755965127872687053049681625826999728464693781033681119686926431511342005778278040958507966691198177732317145828500662011609138168073164484136053185318949434958479739831355870348723853618471046987219986026565967521977801075900600219914554215676294767905131530865661201041555622298329750784885126092140398763316984030710110888534555148080867584955305249566533281032801141598964427262331362932313224986986775904594539893956025220673824815707733687309872607402123735920403967054196218131206528915956247450460612086781576090088695210516570982870295863671884707460663214212975600871520503350756669793582545388795253788227265083669062357282091612220975638773365738345105125466558426641372099910992374953572013432870593116715942899874413347584816022836570796267810133129499890509586681559983100947393437577786163772401700706803411110156432829593594050686397158396916816462654431096969041554747481640042451597777017467755375851344984652961220115755136776835175417320371569507345877032138123829238535032753908169525614000596183802847474327497047526849355550400377194597391987032660105565179058520281989752591890915110507275750343975037601010672287596688756891037392960792348618546259583006166931420166578016897048779724377526619327753219931142779985549818338621332614219238821563064337383576283781327879839107515822543040376158146197899911857101563044606831020077575154829933073060753912916620761447243653428474480705788385462438506654250440662866860820148922977493451406849854517476427591390178055230020558763557987868269952018983685233270868437646940998428721943567027676598956900170384090619282842931564851175361698292789729395329496460297039521690555175847864693085246571410246554486369657420300890948403565808804280901290418721946037352154702783221392372572824276814699547346901471736488702228925250366300710200821880642798784931831633859869968398903075424189070887327807207699174011421469607920571322091092855691704105096207600280580995931497129409040328093369776232635299699355768331185331920592101329488084784585251705088484441037822482902310636325611694076603207770098652729566920242157090980531136471028949118273093642640122935910991944713954206083520624016462263957567057187702764365798631660323135819739377500324552806745596543819348900348945985733765044757428402404495376465398047948708337504265768173199262626683032447625125176898598328666222555074739364082754921937636669129317227583471996860627078095933828974946318909120801200828833376613877889887631549328694651458669904249370793779475108546903473174056456832426444568158636663020807836229723738804092604427792955889793709595821681985051937260866259976471644057136565389175031597329896981390892148976944549796664410785197978934209686775032163790838185910624715975591868005157194910440023900021964352052400005467850838833263555495214151696204352014949774573216622468867136227816097692539708568970493789421373698572836833927299194216185812087120021712647407374347862083977029309211665478244835683375045540474864463313760410339310994517247153660165632826487973464835279972416252888425893825020026254960087300082669927827037628185640283989107644689337096922071481541795299584295156729123792836498109888708284073569684552988899821056632214959631960785604582995453489647916721933714065570760828568897807670475038142331737300481582463255096982070686977347327116174086444220448823240179720471071683122941217539473099840273624547326208643391134172355948618802660086547584168903103072800051217378141063615317976233679963455318658538075113311648772762937706447802558381244040014651693367330005362757304770660433005196427506484450926268326474836346530909105096319877499874503442232108036179155996121033703728589595378973181679267358201948257402342113105110544792356641318128743936938279248044562499402608146352676439640221984623029058096749412082665222460043696292273893769901686457035623885477299275215756646990080668505975311710905329007170945024
42085260202842592079340091594661697223443351909329091130258615557550651883136458891114656140709751946479303536399030846187269151263534540775856402126883747613413775114711225559583359506869612686675017741132094753319158347149915852409778540450173818517593391635652552925011761857751060741243376404813576717872688780275612975280240635319333027162426359310219693717007317954412245333261247986165460588558364442357962034740949208430827150983960239127727957826537525986292406322408098147636043985939163318500420220674709835253512637145284279091594347375366228636977577443456682988120193846811788202169979362825037095773409477891794719146335545488811000150487021184362230841941487797978816099630252507433678216846825759658990480381518415434312317282658721932945757392499371516547484911132140038182864892342930103218889999890335369579140481709745587466480978612004531343795555656297784349759360759128351453492516872713585279829442072779758058642102454793589618021251529615282412236122749911534768196889185020048561370887002695524799441972186803277935052473538376103774395908368292013552705191654898198648264811365378788056087400113565504621346266656606102083247292485419454423373204214746672922825854567687154137652112588911607356972390633684063658761227986920644823832211322723313546480697353931728940860172384417146344654532864501609754340639771004127347990736849557023678591246177109096236315166674485820318348266679592241680868874401608554110103569678927603841652927262217295800566623917120126909372624236078704823306518927878743146147282414921239578404327025780327804965114053337470331627877812730241251073436078850509779918890211296024477072421139190332740329018762972209104421419191001958765666351064965180689730844832152040643563892944323420220430357710402257370941322977625183854841233111781306854699560536845522378484883796727741859550526356795585693416028809081107518452428716674522587488356411700128482199953536961400560343403367695700344449137157081101074933991720083483908703478199853166093916001911424939215006617799432809321587913182170324671297325678799785243829445308384284177783505550321162184475059569925936890921740993034521084191572571863701339976958227342696845535396190738402986114955585779919326502453828156735232651592586590504614840496130571406224492001694010991716326883459656767132102357876168244174747666179169270229536312632280204714042450486028364453805622771005510150432206180840509489329461646328883729779238983216480707455014324281938623446050005256024808614127762303056695673237033674485363729846098486334124242130049341243950475321413784637730089407510610280886797820104278087526982058552841075784387703909939096729013275763934639649543833959938152226086976074720896634014441946031911818496401980236347010621826486679063887968392703525892420509059797688614201596940271460547805178346695424658197115257946317085609569199098504181537023779147474289644207933950351222306782427003976533305838501675025972914312848374378461986041517361142867215249320819365115571965779735836462862958313541924035316700041787763670876276563969450963195546983057743297971209776789303592366468347492591331173054397328967510587036276579974825975659512284486694401823045922699336336928683614753071499199250857545282810347208851325523172890485548755837933699052124168229670330164186375671423632465421293475891101114817356826295611360197571820100334162051992618518436506862910767565059317719341861597464189201216654816138570596276483602624746965101456813750124837846449438226832936449546851905235556026796850319605971743208884751458640725143875593377607849216101807194860174188575938068068282574637114530750593029784174845529273552383750101931885076291713207441348228525283511113951831424727869859387905013177643435722125448660133048758441950156466512895154809270246218634437756840782066911736272949777871274807803633977699691224018915483320191417604193345499020657631063003324244549936624574393692688442185247407874712546794991298187296720246156202958229874522733227472142195833377132897063663687724507339827528733184790001359094951739404683209138342438541072727799969818449069617210267523340695255242059614284454069945064863283030925945614621881787915307942631537888297613681719218809206947860404333135319641677697058401416851222107930432501940810825474731989965699245423480150938977564564163146418648271176919165614638221429510280537217591759361951654206647203448937381600888311541972648331781441025683375611558141140174192767198919905945616256433713838252519640079828143462914461095960925621968136810093772835019629413549096386165209842382518268825594414884330200954171809097156582314132064950055535653807011393089640635343379916179421282256812322397495700086978721307441321781677048935216716971390555381421981747581117857534031173245805682200568594745613085576568207804076473117053528423770362434364044535679253326908745286095436048659479839589873483776
45188704053714814804158582665179119439635800239796900926466107460479213925387976210646468277658489709600237757422745772617381824056639482499670428381797634598382553758395840565622457116953918456363974044595535245369743137813575848812990405459027417012125704425211915607958664398595252498237455008823092245012554250717471898795472490926699467048825223311434675772420777401718553152071420281181628418158771766794181016105498170551872522926240861904482786412461478756969007361971603377413747157606547574640534152513745449175846161415427694830333577618915347004669337851238435656653947272309266048899674399082113124083403383490423336369754051529190894892848208614823742020935308809475517512177553052912411207586178219786430056403487799278028259744748699657789983235683759091031342631091501949621898995049861402534759219737608499703620413183260865662210824836158733781352211013486700054869269982580500739786106237258260887943615540128878168165070053004946459961601888171903355589534360177907180643144984649300418854952150772185714790057398015420379162196472807691664733147149506730396714392621799970350902192990477750338252699301357632075604769695454617700396147676355778397637612526266580282086444317867136345131726448671311458247353836652442352690394519156021316397757255614383334722092757602628204432789624998495892984290767797903308561910465044914010159856519947372196661754420642148039772582103926418970759528531783797158664971104810077424185303735962819712885821293472525477247946998290589894781244242913755124534739344711046116571681592840656601256853110153864200621157819998608681428002411890099660887633213252354194419947747532738725960387654090385759767798966684003465090861106815047592619376367920055610281175399135905965942428270578559673403374352939783603191980730968376100632576871853256311268809102830930404907177484326490775674933990505766977596831564299296150803224467472081097418947392260990897511729643492185655257747998397323964806244806270435984127984949123337444405922157454575093856323195160900671810333968033850846406008476577208691230990920676519538517713350332783785987601526715968469758074945120931022167199215116457963906316698741301756178103244998753984004222562406104729158119084354319040211596313920795446592385380430566366219251784304683881730995372338452121537718426207287554366834700657656631070933822964323021011219000018788288749339198297782564366013135595390782975591452959762512161924685067218519897083183170769381683557478500616267795010898238813664990584455664322537187594440521991336712588393028000041637187336824877277812337281823375659485420103521982352542628877991423904453364765802377094850683919429937450723148438982173394083917044097134498428290073115175842722127337474414558199483599696187190282027346018289761679713635832182958825172875695243596855002359897103744371394626049644947147088605509001584782983694247035555191036153182208755676138035121646880314050742396618125007782637969443404388873520140564639206881391081208968291606351346273716213339599139281800181121618469414150393920530069584847628876125010957500143486266118386087382285216379702957324199874960842420343488239226302854463642369150651517187224323295150150744066254274948402003283302423876301152618155214236127378058105331212069413697305366734353578411294875469409071229175698489383635800127076585242610936392422145525500905093661766485532666171218137042522192507170325514546830476161650551216752287595473961459013428798679111788386993846502584253287323616950851725454922926612520738185501077867042939628699060845567526036987552776667642062354972774014124627105486858199247703718673888238271494345045848882146224973520429531487382408528205575843295442963619915906747340618911322127821686453792652388106898693901736401149615856570394959121438950963045668206283725643986244689814112297752724056351897449336323381043641779114862921562063908767472272844780631138457108248292406471010354912707281383375706097622665813471339310579755874026325490353283941281330705131344870541495562756783542492179878920567798547382245745116277092469860357223122377278295699329664595100006452861886334442039800696791754651758526167907037526099832254673253168900421268563907842874852105787969456549460052976189103446038221750878036859607371854015562798347459742809755784184392816919605216431229697013082870202301869138462307951811587619724977838256050783716860584671045387662641155761114981921855655357963977877561656265698575631553949900077419579775630639954443987187631779301410935138176368403449813154123310060401688351629254915627962308257067232840781502557671682116084922113458990818978709360701907582304396359099754215772957204851731298119617523458918874848499476763086043549490865839709622828844302636855516152650751621054395342457076307562774033811393555602856759271410505252439107960106880192021115375033917415129459757474546193064445043515340962982637852458166398876647424
48521001514831939223639439336164208993828402045179161790331008098794959074332285484088147067611165189871389600488768584978476813867023157249612205169532760572552790722318005162944648800119881727283517898532667356619595551207432303866808552852075656008608483986811913851423605227951529455198041726291643160480034904064331585281394035349457736048833492335627188820727694422819259996146116190986554573004034318477286556819290982077030689382303680524651460859118804530245154676312817646668797275683269867137303285254403223669772354101599754787237746160979741594386591341260998560882247080969176019446809582276532071627651877116778639725825253720343420726439120073213358196064524667089510656869468026890940922271625638902554299211103869558535946741872243192183592408412501373580575877877148414286573937288605153304870588001876551869668841855028168163961218932121579963919540240054097916656230032644435091171283081051461804888437359212726839359341051801307892941513381367543534582427219208099020646467988913791832065280313802849697865420007609771458048388432558897249320165893571757396444355540783642327723640747195594279612070320763269541180771315897365718846045128583615169619207364958725822329933247541094768878433477265376341650613551740591505832635518278189268851808985152622202459702410645435875421508417354160977389461172361681161910900559662014211192198871306583806450478902660363287503436853459710667451538831097576334790943478986067707025949747446732434697178059391228799826681110199862875658381274375714502107278175354603410155794020243951960391174150996683067423263930637169763058738234419274897423268745440563765010525316420494379328142791450091866556702278952597112228981530562248032745938119032975597164742425932115695763504810240188199012983465480383008256649612242837440611230644203929692001282840381486776582091302712457616992378454045260917043789060471499530879633304784901026618542265126359850341641648798169155223089525931491710689969104875344570872817608716239548523913453747290658422259661505573460832453376885824701563931386199473336951016996494645403259647789095474269363952904681188714644524230302848376319992918210513946584094657228143851813079847145280980511960757859884720621264770043816388514728772060991494355002462894450235417311394794565842913239248430248726316579467754222340718344256590646230611799556453005287505776613543629771431554149574958745817760347822154225304999714179825598415567194694700776160874389377508019372255197774092496506287459974822172243115096251056812804115484738342489993972824891113647779589477272046096854373762688233426453077883361962155314933369209584959524957606569977205360794359296170078545383523895471563647935895993545629515717316307782271445194132500041441053267676195869879538859116931557586066501023136119888110658020664336127811410897440220626798570999198343680102098515568851810063771556023070263623675827567808233668466807107293183152318536969498876977316543888841817293278658821030612091898738211194649738587567584532795650169634311241270176481056981180838055378548467962881215791525539317526190547205100905277402078313523776929975480533081026868996191768509398775728197899135501890852977594392100213213808657042030894672890667133356560749985520355249010177612447596319771543077955248362333734744270781788376152343761036512464829739780146644426092549364347334314544780348919275985237914586266858769919744543128198396663252288892599181714081020638936785521506780278787838282362552790620460836838408856543084850043516173000346158657126377702924715483241212339406657722122506383715378629812150201840265978871565299530889584818700483618133780945255215142344048637782177706402727420318588610452950387098645214148437503423299131915778818759651414293003857310573268120137584226733218267807459296711707212375113895834489365004151319159529841029235965153111331456615646947509398018908019430604555270113780423758478131956286933409532061606857677090667073942549283254299159643064809569651740956029629503501324928474936400868269313242375229288734728928269619127930762971577390457358004524990046996354013379809589639650902391107691852824469837880769649587939684695080232735710881491226891381588918407276204267776349103799015281531705983497789916503073765796504256899174051378376932123484145610011118060704700295571754966450783345433794952914174857967341827095427878195139316082408628947544771383738394714535671411244407708962500316848775614532548701471192217232826690120113746240801599154094971963708680376947462423268811185843216170268567556065173259023357949544867334354271193631481093432141735057148473204009003391751169453206125940167702952669838729089595744639011439613600845889821142341747855551842641624269773756558069102046595321325305251538208680480561903258226965756189637985564483388374856836310813226962515548230018080772330222669303362547186471316125316862913273370571921577574894048029874472825322956050661376
52099028668842409475447755511150306928550513154996003587541122199758871558478899797773530009157063833737812195043441671948688694863285938315437432471396335564928117846472012371701604413680133224517675073507113171081983001295753764310469268598188117068679833297874216323758446874116611020814071604416497683090957393473700409720855584778847226915985027132746357908360563616872579450592163769425835466692892968480398570089825137482142240921332187248452536547134832209004895549306254414513541910678385033424245687950255221414661341157825602023201389484539385366605326747908191054823079029938518746897876791854281618983973575372393757623446467834944330477206145812367124770607672337733683943974460729103559954956177536960394011493972429953240462224184759580146793055481392169270912954082210586274773558135128511725371373245087444227368832529385488855750450281439557460220821326597084955705060416215215278243859791868536436247242846590816520507453852399214822552617303429993809221942480699752078001552197573906620518075771213964210983864985497009885588016075836291319913617686546328661743653432865534502333587783814520286554630398632618109351084506458517663748823671551685488740997101485015949184442455013018612092387596141587725130376965765061098311640700123208284954167765417365482051978152903627334150127216881210061851782797588809918496649692414111962639432830647472559547000182616056928826576693302650442581672736109539535697662309807406010329540897155793827271708857143518341127231459132345768659315510435624150795920711680643712417302395465033902918795086392829894764970392915764143584337410963891809116673482771542620630708832451518785841547935424073245764158104427518432821879334288219948221035324521596333847159760910534807348134727580073554911475865906747487504102014778517004417394466792222495457215647371118467319135201109010389192089835344858635622510753661914206301841789130887555980866123977869216186201327134913556589779274488975208477127725172499772157476451202293351253003339444755506632478051146617034000231047292344854801511339228670928657151588471162161529229762660941852131918111722477708950626958657576487985267603666440060982644366640801963580162062131415193007421197960894956349607247373787968924897522578049246397226048032779315254213338222701233457758984357884404168840839147367879824464432331564504995838291668240867688096991562880134357620043719385028459114367465434305488297349422924602044622629626051134529192984285091685295392631051434817143374724741692553299964574890545304107917515289592027942830130005016969558149955297293320248495946326606902657497696895132496866827850293565192723294154001121708122521913439581016351543371727071222091466782799183976463434547880703081536425863864692176992124115798794705722714867093119925624081793880043568942613856948353965625321465030939426781120905272732080851699766334591340123575626883529650943446532677367896501397760746841146180736575714641156531575472460581066147959770062767098987391806790186640429352138001939518189232409054765185143371572024421046727430775642462869640939330236329384287005927563148136608933549753864108160992742866914130108979998573067602593762140450721823439925078033705854126983809399300697510421508280347124782056260599834200162304153447176807183927818242566945237241045482787356991815691850365024585020640980016973552047147284347316437102181527939825148755481814382286364022839352518412267076026447714385474584801584633629506559481484912881986320994462697103710667439518882326261472491534970891237027896267393251314137656460769285811740295505155902194546825118935085935348798699986453403727145834166589817085428174778852452918419876950805165001018867695995693376414824805380168613891675739454000864963235553527187149632187690675396957580818566155344265701826056985704369610166721070612888159205006359718489161862549902200313295061620358773285964283271644776598440783279741921244870856220146517494816227733107735877351815738611363835516811597577530515378902758181133727015117347749352290676124095332788904250491585786006209666778813167386843777999663066643710879676157153552370262656673934430481685795559081898072395205446480332923986711829037802349917165268815926442278761510773919997795727496552630844914818126892887293626683730020488161257794059742374930566780407620740555300557922915554905063984060227448794545856937351993698717184437975559475923147238267879617491134174224443221056237813782260514899750086509414786179562925453712976071452297834792265541420272576575854532113364998897908690466297516641398019764823349205821427573013640523693083342286826787345856887751414281087242818628314969384234289898306758504394271330364727573627473679456411791973768324044578621749541433993079549553393309699358143414994271831734549400165217036601180519694063051319175159242025242057424384859585601461182019263941310749287779100078340962456102728522997890224231738341022942500704218908982272589824
55940906071511140718722156219248582899621665671181403604796948225775983107382856534374581250951042423322071204075388820075794633630684074040369276099713929176401987685357810528941446706871356801056609953666861773291992481348297010345589374760564431916449817477275396358042969282021068306187403209392776677933858549574736773963218806441026058046111657790204564469879896427648800634863747805890012006730718143812917668895240686961126177194318663246062967769547216710030865772041579549647822563872254223163250530803841862707302328797089933790290350264463739443377712230414929247746216874902335727152320568212884687777524813588155552556813315539450456345054117428581038308827863684312509824242651272684026350928003908603680881660214921943704648619199240664588291763143123225892266825461461040858784725498982926654405645385564991404193280960852908403105161374014223773090312133998453713421710777337124429414229529721182681266574249069375512379006905070959699735483639358883009022676540049636592581176931454214869520754503553488626172536024097292941097307693809781767239415377190915197764109457428900563270598803457120690170171519873634474630064934342908536609880606946283686955089691327234133946394554068716548294028713996043766237501601028162259172584405782930688618599852841246133973130284706891709986615087686074083139886078734831563875883978621767542104684461904900287077944589810498058446086638342676470252052552641327644860121041068657218239804083994658476262665611866236813379407722998946403038935470766638110254062956719352485265085723266194831141865959945674751726667360995369269886044349479806789259596814203548748769757332169404172679769055165678620416407396872386117851786183506539028916040024520250774896762258899481544857474785389571284904812254790690461140071704830359804338149192100988411286062443169605548019332620941395638126064426175048180435466072096558439206051897220822579097797301059807427821222136629062776335036817947188908241011385907690619995953179950997455957472491173502924925601080278133865516878101141112625631589943340075876032103817249523030720177794674646797866064041899528997007987316532558769628815321888912438666175794580219453197344782808587077041100482634796431103227667478750303542674784906035780188382925355028073750530053468372140619983958816822268913404366591785392081733239394818644367888519704900952142759926809639526158516014042212224615981370346941688127177606623736409613867231726352583106645056194277682176308862461326658376633646459642891027521181778358715187470045708594432299193391513744050044320407066434191946636170665336995390452024339978703907462021068211625497621392205701320925472294816585834293080005173335484186400638198207628599421280746041461171342629506850267322054181732185044324251099624484166790345923685950018915911954087400660848165970448673116545475209592074561957019580604477899838892479011864562962099600843472608708454050173828814538354724471352898919683361393486082065574977385816139353910631625550588595044707796502253798187584058377685787541493255249227257100751872072853500536421521294664149126684160466555384677484407508798544917633376683367314589502447363004884333291709702232816991107711253657289785523122873475269312249309771025116640691727085308179853557765147512596166959044114306221143312904355057300531334039232876563724906123532572732734862859091734200679277668189214817465782373373665593796211504032098981234187784641084890519790496162603718113397614104586385089047643870288097809224766414391441356573986584204543751949677033621391332564235271797390675345510005099826738310856614376109818165192332283253008993966292035670057134012208035829423498281875013096136814960858313093302136372567169347260907599646897887652843202236185931563635426140096148521156878754636704019202619350558558151749990584026459115329972785918615730679182525569279586010810914436424762473763118948549904882322194778792766731983802261867242131886910946485509457978920888473031875457267447251596998603098688041450433130176546431823409159679372978645056884188218518781242933515054905166951792409292563451678072121511365970125348336156128641806504718499697001635711944958527053928745311073426060151543284647863178382228101039384510063260421555375555417497940198232255285138963343322515639349927924142628038648148686157464079193932368999321735549081535546723522269679555383444097096078576292099098204199438315661097352712060487449561359996748336744111636835032776825685013887099445798499429544606121097863536951026949737719670071108694398467086733706045205063652269474014047651060531559552790526524131073725816800493497166828754264807204868093273131883278752673388035816913416729170169857885091518926009022560413048906628758690499304838914558917745985704539669538386158476156751506042236026331769571182694456741660022640860780371741209427597066646560467480432891066631827196367921531263655660580597518355724980708306553269295825915354262825598976
60066090521437046671641398968068917312054976207692504541494850337578267917114456241549681571632374026319220874121784225177391548164022460027857156152866440192076688014501633569991993776234843984921329498906811648810418491517206411182220005610428016395492642622516762635808014907253272289514252807876853962589361830378372287995142270139090267997961807543318058387014433051154707225090958560572339435488941576567576532561403800136652638594774923911069411831726840124351820910371093829479951557360550752571011674714285347870896380642035071400025594182564177971793129451232834407305970796357213785532899012745619224955909999547406127798080593054817076953570781426474793805534705654417074484700223796127667829709499009503245602987767318519851054725658074090610004606801473105626326608665678819716650037580617237810759735312193737140882814747450674464455063237548378836062153867488832103429001011258421847754194066797484903620382064427181565202769453559487117424470520447365232710617165474905845455257786446371646487136946501737359029752969219935276036147724640548583797593311798621280676555610555358041120800164796266275651458838141968530298567647839794853564663979324729716052603011249301359858662006709410327904214479674486362343684586290899219531931510659320145662911446315891206325257278890817210051507099837965125429748925332945655728864172817713686763480693070226148785195854034055999624359672716093770210320647616955163173730591497838910743573306551073798559335277187329160013952852532575460877265715399268682852110662558670593627466268016203275529639158595579748829738961636434255400989531955341193067183092787507540776956993880949913366386193192352384083716917844847765414455858336309932835497558785378791975062919565089546629602796098206822031716776836508713963941711835340146886327426310641688937158873506828602490797795672314749587124358902709576548658454543074162635699275960546566860853148422234760637507402893267076872486468009770554007272197109291621942145640059184238979136179102460931078949968234213884076263395104914752035092537782029723429109035290865522135491738858252739296466912050012689988246843822535008688439966684147967269707724777214149996399619049776130964939755191566645801470007965898832166465285383814527228737345881163691480100660577947428580086066790715624906897302633828310310395405549221227352783946176600290093103752206688845599940698050894567054261536146344681031314827308125214154004937087684491452040649158626216822482167566590015625151490529348100200523827921330450571690588824509558213180425932713657363735874723935538436747232554574239005223548799301129654754197712507979179820901328369119529725989897826619166413475332746678954228977253707532663057171332670639297742611535641626529270052519943848998242223144799344308586257689516776483605804205209840997915116164288370539303130494176436099731214081967122740701716554081173475887668279342217368653736053834468386170719812887897433708441965092927475704163827004973198506183134610774002316901910963350813376864400995778818413679443575002849629878266890920378550762222707787524950693857531267869740623759450056645668405591643277890829314169084016854624937664299753961788690185661967305005204166748341456890225799416281531091589087662289008638079167638853804071286012560591626384968163324936769497030780439196442300832935310633969459396154711013663960549642443954295233536223173288728248787224629209314658938563039037675685560155447499116876261393005906711891080419552185561547167404715762606092196786745875316397306249774291542054845312577904866022186079743086137264077869860122668778181001948176634170530669771404897040209258480694658942539913641342701869831049622493706365318091777015977444816329940321893830110938755083160960277074534684118048481889584150463030926751527046441648670103681675395474755831341022615970214558203833684901049212994986074656497345163483744937023371138777464221868806806979112658212541900321404917314979537868340733820763627182867753548193016637349633975674785794407726758997012437197266656427412014511666750044419565785334109842101623151630240549020555163733493921031099646716631959031506471201983660327318356443238797356343427895756251802872747806858570970394085019672671600427877865878997319824692823365498750593728256162864117783537439066371605664497919031608173391621972775091316449502659752025550345692928284217976513755201642494532229356833434437342619174592421122682829193164588650194873680888595956860599489001069913942184865829184876668887075684535440142830459225668632513415731258311500023926767364126472650691163777924239940879117437007251731748049538899941867163408150494758544282995968545837829942128851292189595358949938543448924475057326404769047192575048468144672496040659070349850503991818541610872012537531951986288509404183216479129498279151246416804266754070278127399678732696763478563670280898240067910653899735678369149621628101890458526863313938955772534038382772224
64495473597036925594381364801886037032351087341524352657512964288078305136083157061569739677343731944470224227638398992076399124487821327407278433659031634320227333336569922480422835062691049232724856832661205945818146181285013739327290905193431211745198175468081292183147545640333319418111689883926814741172329134746452070662957364278647518060780339513899291024611375258672740642055144410737358229409026460253105285332077108359260853419166423669732884050805558384877911002023198805340948156631958390710170765133011428279370796265577028637033715144270249452493775367634862665190672008971327285636039797953280434613625122493871030130688159685681020194475454161968366990778736144676903213945878392062326192338398856590208267672065130275093851709451920074378727619155416538322156595208420182080722974521480499972766925019872112759028058477181786549494202766720541579676374071046112882365612200326462410169038640933109279025813241434927448999996602916446989967853158859383240964882539422735228727390606009129569880981617474565891053549823439629160452996747788992380727444689420852334598860775315143796046114973287843539207684201127478060673383290778890985852335203107233573621324037246717360860320125283662483448309352692893912966032802564675522580392566498413855804040225517703104065242087905502767971296367328966778227327394949036875675186666369543113535184415966008785089111580507765047154803269814221558980666555797090690232379114199488444079977598453861129623709232754668401961769601328330594779995929385475643791702825065595470216718407118190966621969316212243077845905778111370942250340351446634339186293328591619591247604179779287998830665491366772831736798772066384988638441949297515032712104640717759848626220621768584536521402758677988676217578957811833816323537043895760516978153131388013997689825590217007420093840168340370545523782156043026019265624153734101537955728388085356622738110413783033074043120601596119468440211835576128684481258958188618313492077882030795952713509578893867083025450026896546875094171612964383837214667973526865509656987070248094316276475274818591973745184858900228204971126704648251872532981377541936270262068272349175915055743720391411769653957292789506239680432348234598741849890307160697550544282102983359589332416542992570166139691343432848821352831739910726814015521968915640522437296925845580621603498352715654106074934699417000777260533088794818068743262183792071377466111878053535593788226535149727379385191486810424004837538661717300954640245220747711486503588895608062908941254531382088863727448789580314041499495082110100722932880678815514604880756262523484945179094918585647081349122006613097927699498164541962425990256234550050436884170584563022283030804230792803281079865215581340304800953177473311864071905427192875769260107202304288884975851357027414878644859207025727027875544839718105863879632940172710113852060044957367853997622742974858784279037285067283189697995021559797024277262304552003140379235143154235010007299530483906873899507157981325874964784068952295528640566783215189415656303865905600553996045003532651219699487891762369641059623315519142852359837940668581316666731723403551517501682214502523579421504652251496764304896128417637096266491795578045002096150202881316944656852841269152496563433722241870447511564409392772926309050407112679714124963692321097990004429923637120319302736691690240158107148493120361264933199678630581475297095333811771921237993106090426943115599771179020648988042119791172849142216428889967455186705020721319247388673742313965249712941137705730750760415045341661642739237631920433982732648446328408289957190486490542748551880020718066057794514800601793490903701217058204852536898739945455107041428277665501235282521173497556255676177208264553052319665271858595045631588552604301431254512985672298745989697109709397138544618293841475000850656267632846996614483030239657179871563684153309629368355530623319727531502160355311513429251386205226124188403245619241588250142510773416129696641529899060544866878547486750700061271525472847145587632639551274548836192083060664092314999820412660844895391272010827183031856221407858051249076045378740966570239201799670219872670028321703784394847834410287196428760158141945479677032400180447132230860732652958893046326995414704928006727625203273750828443366004891891050189774991302122788155359797400515468671301099874945976392678756936677625464240712845588791348993749469941621566914963518525409053476747347804608380624241907665852695539132091605597811727065094540711751593205195867170831980830910639245055591104327933195720322371575674309420340782533942003573568708541778008863451054539130263247229500413074540841736330751416686296158420079031297611799074066541781330048359592798283494521946277612972600426584037847077888840092487365414460720499452877635497979860701435419459831256369540227546268648908269387334900409968060055867973518786830567707498995856027475203857974296576
69251487459826269483063330793986512043248203530471669362897217578328060811646497278968372584356230213022525275873445746191874343279556337876392336232911621108701896991464594467667819211465041551619788265640506046302421452991605316330345869521005902117819312168569660449009787716974746359977864531689926342696464583470997223882220729554787430295655224612993498097073046961395740356079221868168536210187058513496432770736504920038318396042092392310695760513492468929517302176622057175561410615591436699133243412705395293613536780354533067141228815248505160796055667711890528004111333470698617323379810372790946800645546574278792508713284062956106405305796908875100305802980151328400105947613709701975189247444407213514684645870083446828376894105692422700965630660591114293337798322152718746465767601901399999221190708397708718600612459976467833869232571556164360814029551224751358834421149878855189143762339698641997819252501652941691376396923328409309510607392352157835920668664497825519631562805588056708145016340664857610653468023869094945368628389394237020646004388907677859489386839077208936674388839479531800398815474348934601149387421242892048787846244595643771444934198757048334237062626340545988272378157494076727221946645311469626573583623900988048186637903138316749875249474854469222881718548541100378796489214003697747241930736162688112680773908002975716994901606670993930487895444473291486397880024488357365931623533733940063021813357148442988429164861985223638194437595669998034515714077707930935816872477267451885399836636897753460952080996452061766653537636861121442710672479113583110194018925274440996971020336947626236613285748631834014913342715401439520466786859935156829309891714903803152129057882024644214066142685613141535389853208651024897490724115639644201963367305111447877801617005115481486103073094193518256522386580887608291380405730419328910596365789030671350687789298550008788673175387369409794629364903491277900504533627487581786763968787514601803670438421524682972744141306150300747300965115999473399548406996669449120285341782911152604923682735449874616215000914901612713666821943455184123244024978924479911287322950144764732911928823324009620467483307952377906477853848606702021232982006352610647649033749658027908367097679881200616708638815221894597514955639699976837406446735323215551156690136126787026478979594126025901793209989864832902151185142521974901914880547724935121957578655466129268878123093429576868389443795505637096613167643586302853699392358167132930375344114923316347056953328549374469337468798302190558593412479544543929319065669929645728811343302531821389567873141384551284197348082644179287831178679283079938859822242735513142975392006200195845789134139982958381561099879166252461559241691421718789592249407800549577628290750637837744150376896832047491669800869773174997753837186361192706636107212789631528632670758618830046161790373135705708057174196019432152614830863183592535781917239908616111354804527994335329412969896051176133769426994808511925002923083181962979569909566418203290067672293870075730950663123850879235364195952860766841352953585231558451953209415094757886282450058120805992894480224184068298920771055270133007842434837261057691889515246490665005174904804142219755311677956223883922276594175056623095343482763430034878734312897371841111289772337078926630549470090354286302285755582903527204110364018010441908156148321061089014375466114085628940855382067055832960534839688341159744262178084099893400434137240303759079950632810909499267124377421781013103027899388893604786511574377437782198475465665371267687407490938447111431220275354594879802729580069012074974038648771739193166040594267553155096792528620680332334627144778442425733758246507440149886513512348868949209068942484820074903714373825124490862569041031381467459921791890059786896193481279152213113334263785212405125296457756833706576657449988875954934577074742035331971181174858147119852672517724878378527936918506620598724472464364987777787485811492442987967805331796008764894312517066599520477356576458222233720075592149964479916965133612289729562888291358513602585727257407149280221351881268391279676096268651664656681984484561763960277880243826649922151738657263218261860990256971700276851232897133592168764440816584064557024905819732404556951527985854290894792212019040044545310325457625901624237099937871337699432930664593335828719240886065962669785882739177023969120454149914777010981274930507426236238818882598217159764554372255823504355417529682974227464778876278413923053016693270850694915025363991973373759249283722887937123670287026937094539582228827298183298973099440130102235569208232680366720143410931368463108093443327672946168617289650779981709719669657535271637379126183477088604154163566044063522887206445433230151712437077570005436723834388408043944825186709004307946441741966905543472780780640338465057452586129219789245869720949205470288619382619505233158150631194624
74358218459826985317859957914250445672715292943531889842042176327078834886280230431530537217038252494694714842802456828681104211331792964142157793646347812880054477147875306095133953226220715427872021606842633490439790466551936549044642560490350883654752771150305382681580428457077259918499992861881647313632550960207548810270232047322768163337929700151085332746891742505566719835766913177227971609736299589476388340743988616226918144458990666096210040602824580198643235478685337830319597258398112080107868000994275917205614533628963702180537493686288944626570104654503242027457582699900183919083835434454671188412113556143062152823337522788620523571129650709111990535849692323152352761983993102805336105296145140038014942441337467229708421236501030733913842826813427979520998618572399833389146858425715103317359890686807876930924350292259569016078758862926439224250215121965957981349879455099349823088372850527469061448203441392626664137503002634363012500128812089605077351491117539217482942054842677402419065502135289583563336587874877543869291399206350313636766410857735392452549933232356800493858766587995686026228054866850251094855746167999255500559015703676685605522762133371611259865272809128294603465931645449214283243443767418444957718550543976902262120474543271551300802143585279917928879010565153659696033253440656761868241677928987494852971705710723343793813449847443590815002064470042719888530887227293504859256912392806333975716825892132613155942373704722290322811490628878191657317790460591502290035583716552323261459559804619502665000225726174329887231878255910172581668971990020631915318874714697976668041851735238787771405022369150959638295809172254562931693054406007815629259791203297581104004093646718291362426503894513150579661535349204052901103135007698492127170391372330567591637353222114421526544356164672101735647264195384065784320326840502509319674730084992248032050535952766991965965880305936634688799675436308700978628457447852605069122903384996967306786445607593956176036571379566342555501360613646151070587304898216223490378286446433027953106481159257830985995058528126415714203121848794262747880177971932618197008332565500748367727286114095832874303259770339958438832207008380086903188828460231743968494810195370262572992324381808453494658718013556069871454335850539942154549546944794695444149776567584597071075847055658737662686165332487193811027058693245291264304932056290888132392956143669211384982324035596282212689323331705778399486848042138727547590698350038609511686994585427314617950098879476616765445819032082193579669590170521287915180650406039756527701109550701716876822678630857981315602906221263811498870799163325265889154015230600631714370199852417596614847610845973061533503351702151517319110057804001486351854095394681931685030504592201062820071019491902495360156791627035388359401043482494979638950662920295085841952126350846294511764994356373246496521717519638618992894860486245096243261083396523056721894925052096678271523145443080259218852536840530125078389836667504653583869433360930747480063532254319134369098276613180974183677066718137806273039010393873034562855440017818465655302504595540239160650235447330407023765944372157428563342286761831250258678107242696241629471723426029795477194777216425275069544462033073785674637088917926147075799941810765481074467141759869512248362137050456180434522568805016516175082558002500745509623175070671333721875206188495311141246060897420392883998782507028398079444630234244937987712912270084588562754304340212842008792247727562337813076612719104545404068469141708704305776522785118603869181151511673155689709005024953020443619482055071260649011378662600922392762546886468770584906230741504161908728794316846086350117979940416109978411750121069860709043645401799538930896126007027845846215442966378110213071721381203050970087245586750481948251118431112106662767092561572564300966174244447561194588902097346823181590126649829730955200456583240338749421834238157750387137325036978259241699606015896116561350239571647137606289301121698594882201104647001031948271732982942201253511109263683037322396671533833569209901734869978785161492738953886185105736701632429102047808393048275366234679859991827220665870621118824600729312967022171647547787617027626961246508739022926793674388307687260887045539118232503600781834318780159122759502904870319652906295760256818709078737465980630973549292899842941371803421814053975495116114637862112324302173728517092444524286606651552273692022213142924188657962603370888743022566371854497565941792935091751189726859339005411699690062775307204154767047566906973024191462579008532327325713119778674771726559325994033371075683595029112393760963001096178894544940147564820583681036626759377912254929527772847780034105564598497231436774794984033013311508911155247125317766520483177561588751338066842838270050329282505884174929756900911448149404623905556201755738638370893018479982335621447028777939205666872754176
79841529118445097939620170987410509129434225677882260401161438294367248762589367198691906143122537111426053438470583266909304350209480846508367104645645111540240387512125948891147448461452915610108244918698620164988307177733287340903459960328939692215466026763983479757538180454203642773812273679503780058664515333786204878108588891395603404431598564623999440763294469928465539910153345793766397500058470480214828421922783853822727086330092131013119528483990924294525469988145107763983566863177788183051456304138827636899629532379672824809123105771104375194368383035597200908475762930821668099212545868307191087165870473468177960917897181486694967423099744892884802138233986024900404684544130613009621106633738942833153593636216705062767347206640952118112708255711966266423511703007408873160558649569897103540330459890493702513378233888825722716778291869134800830471571017452110188801977548298501980256986777717443992142962044683996054502037860854097746120023110928045807195051161666357771666890853084467117029404638221732223497447390707297730852964571338738147313639456318204801356798759989006781080012834584744417933423472703865745448405907308531031812270541310447908348555086604565143986676020331018897534866166843960643856667946869312860144319339725951248798964443837962421032866316368358627524851079543361402294031114025067246339466932291575196620451110223299524548333554926602938809963267829263411032231531772430490931380397260077521839356340908899299947960780598149424673158756010576583949987276805319787802984684715590570197216646849228417490203331634149515094071269446927487996030948769663110387102077787285076652700390532861057217323761412952733374122392172544594598887646038068512017115976487899549401289215694109781655279357637653895392434268494836710222971795284432978677575990920086776799978795245416106616601405160666879547459277761579175792098341997321433484543768167251427794352934101607800529550241462080159173435873590100415863104918363641050071672360782417910457245685174722755833573243801760984552852179778177541111965512654822156950427738987477728211539546163137929186052598977212911550722760418603883644114429027550267951318352079373025728518926719131701253544874950648074195886383123617796708484087312344231432616033710662090483711519722681273974026137377351190046824108867348873880520434877483591725871220870744533402037659888042499470139903670365939293705314640255521546043838317848897855566214455385085152486817740192990671789979511519530004808880776866177989083251804247047502542883234848617299602311829578651078773900681849052155515067027998716875228856487468790569695895794281959251166277663271542773384185720752543989705833966544901105214130628902912540105400779400998922699151797298145848125966781674930588823523213990454150922170955777227328047496470345367161640278774938598166290367600905609571643976397471508369746250046812090174251868636164212703734499561915717976838625149526578271970538726336551294703394398782182622917561781582351606429446270285712043538094178013628618446206428528267632102354812231136926820758635459215576672765893481662078324644902981990971549043472190555935442813054991813605866556183758661752812835246007168360856459242852160752846523979740232953502699640273165173700467888761674030070491638117612874397512491394956869898392784207458461695778985190485135828621308860083546702049094799211837375597863934427958649180190947044862597553053966775038992593211043200249067060811249550061473142875964973620974174723706977693752009232606757661345206111253526744412112052639677117053192752914228855295077106018637961137311670809774828027010564291482104125084718221685441271823747483859248901521935794994087301492762498646874763065347551311469777131091150684837182396417805247204433198029773069154457109337449814019416293319916017706193227686802733856658758672763262986448515453412719994229514262331756562090854239757500876704895534946229429506668162603483606065809379184605266200537321289159182079240305153300421537523685903526527391823589669191100814140497376217756068058097895247051679238485764174019564220745320060520104865050321452410278144267334315870127660055423620605348087101604283835358874548201583495919154164111795093164923689185010622415268139647523164235477238433279046603071857631760403607070417393258409363580392726420135143874320072390054607512805511482028562408755507574652910701623229123528926339180650209713512187609182085268308063704482577280023051163947589095546422823656560126313324808270785419145388600191023320877867246627434117689276110479057901023955730529811488008455105104296148239032859549479947949585455253314137154812365612705676247331884725696459439937044004975673345373436474777902632793525125658987684017079611754420901827421648609919984142276233008171291140540244941872709043381658589315858456088995509455203309740436296178199618332463085420845135598479364721812246661245598423145386385919807718808031639058171561940537952706199404933653859087444841857024
85729189106588351505546404263214041109407357567396934740386054472657338612204450098929217716153198053530301860144875847355075295565062746222958126203813855721901163085736938480111438763946447297315699736442188122237725887691632134937790905714563345105433092587592439060726123630537767859397610174217580215085263698575568451858013906313253105054994326015155033700159756390103738344272849632301459481621822200076025781602411522361364354330278590842073930444420369851449691359528186387176276589694476719955316577862323536066217919021616959433780295431210538315581462128572795432761222749132043723571091964319827150250024752729465009712583633893982886052499699815220812069786460293167069944320559412907188696585809352417502067303106117353365845877299960840399002800068025077536051412472521488981202889248158131447711285565577548397228129257686344728031758515169170345587259444424564626773219747517081612748748971450210868741425734621763427169821544430537111793202538050034237773166558100953873186182904999831748307174397878262874097724820642094515637123254636634820154927929905477547814406775351534361065221670950433753885652430145463017368891056805837040858709396608147687367162366455263744431076141767289314817556301582922625118873035833791080078018351075818554020477891237719330403285842485522448604670203477257959190390752686027686807196547066440451452401810793990678786860447427294825641570348571993815538210007715643468245875846591880240681190312473487352158446513639920774273108086520367464542148463373736961858869728010583140080759442111054373988564427439728601025823616441939392156596375692388624012560331077509362213050331856266563515097579978084685158915851770591355725950169427982057530224027813658376102918390410922863010781396699402824719377567253751703816973182169261665331013552389141413959490114768135617957488061458177468301677219469440661335424318523579719103988701439737685146512816362012161073227442167134376945095367255667848872008809347147036385232811396899474304631656015636570543047575237299533965815323917396268389396837783083825199566558040610249049234730145339921647814952985733126084823725290186737557515193888760370961737310566380185422138841193922808600204360495360773169178378311916190516628900185731752774335273128131801283633449476843765287514553371231643089447564062401753884815969814622448309808272686860103533132842244878389170587053702203018404696416260321867530920410939368167339825355662100347954026513816310379915942757945621609158986216416750826957906902880143515731995040082805374703152940778508557960782255801723444954133879730125601327267812782288972329379270275466239696640953105451644144787554228555591236146979386679077090612236532052480429725246185125050210681022254083789394784802553919049745516763829896452558599543124096063408880365218702196446089335763671055883075674621426893273288861895634006384962604942424099088953679264803354112031853171338583954720295121704940890224414326279245425044384240739764148232606988988923820096883765566577450767360656184134289629029736448467722853743410780238473398275898301729210905827501591989550531935082280186024942602043285180805696392337357922246231173137347504646264290847659225672861104749601738049102639850066016777678895900671052231862417220532388974341320540089153574281467963573205293886030962783354843065459860659300497189511595580693468228247379587254632026065823511456492716567314332148238175325994103055465765578156915542778230520173790011602185484558651236535896695024727826270416595797084020246018775903553308732977843003093710922435756691537705406637968150037093702387218147871775180875008644569605262146626389497878562065452910429834440474790159716527841368320076728095892839993354110939111150617611299246595925369350345272210059002938641741579984914309760794813668822204645640378664212392874868179435330082868645119260916265039560991405268118670114784103403085115352309034713641422620129560969293076593075931199626841985691250170493141095811592111597789621394241669566945255661554082623857624809192743102645007267621703770172013130200687794635422245620298068218601246647786470406008097341250972942691940183020820762499481470439199387457051591953651973144182596529148710594203249155094846322379171545297714218239448452895505831945800563380416594736100031969268278609773389490056702688899710114861287909273730403893255966291820874972273253632503670045799867870684193474021683769093769713371384116629715959319504872909718822407355854526319348225219593339775137123421865774076757916128985938458623598957967513996105409144447073693794332273510352711976798656446353530608594417562812946767563903673594399830741470388963613038727056029380020075070844573489455641576155167830121883814910637830034709478403739191900654195502548266978757942042849053678722949293176584061917221837276770766821944650239248091533035214184287224402751752446063519038564702759934315583758962839650995202302257722214997972030775022962200879980285161176093641191999994952496971776
92051015881349106962718542230224820603226039673436987640151088593634448888454034910141238677435449141430875958582551896592584123517369583803888169105705285199306991599400648707810643981664163759339629738843754344922670756262032238105117733632567269537049201144962385285672914751503124962238165489705342353011963359229517071334880040782157504395413227925163217527991005917705643558998269517865098421658709847313324861408798990818908148947175632558918158018241058547050200644616834630778625434947047036010358820811329294493870613151755289451761261631566869938994326766520675884751904671123335044594976079440514123674183634040884738072967266809873406694795187439047657714573729165688784418750335904715333933784229506581027479269807923312561095891594940147898598154326148570831301269386021573457872692015387300701097276388568108429488008053255901808169604318005276635437574307017658652757356206051810682029703374323073343387043052653312212385815342871341959716525204007273165729009558351120187934796724012138061120454350263907708385173403166315416400601245546356729015064278045251609781288344443914746048845699930646552488347527774422045594216764191987078098393153799971911094998677061831307346493538744091812427913130484341426746006950320592195157901486589621776486990464289262371427282796103781567557724839200122103619607730061828267746859956773621619529885369502842439679601644054039653470141716300008434812717155379649090928012811997109673218580288606412261147540696562169411383499350969529174527741815941713519122561212332467432133962150677545934089659323460649838130436121020644393031675086067734624064096728801208787959717339931152965738912727063654529869000036542668391855814579054710491091775682753264276869625604242968424452498548557284368724936757207726025299544546781507297265800055511036259618801977941107275505040385568327574529945079892365527962064783585465474600124473959295368130754378679923982140949031319393378754130247491050670385987081492473908044474245573954829484496325978370183775996573954075234434804499550215894551224502861040542814679760039926714887219564950405072570141913233375332779540605511560036885615669193831213815372454056399533372625569324809014221586316811042220120723852509998931340456617616541550998631816556138426022694121388678070302843760963371613577380422588720109037081385333081649519519251805078548400494902466319976246207990192989421800164300161621260869736858440866729407001305230072355283191097089486308281077343596122239432184966006180777091291329120716151963845049497464554070766897182479759024420059811377114128615308361621690918237362233345476044033226453368102662292463660546112727823108569868193419298872378743193537910596130645464800337489657665213081308225117284519473588089981724898822097905817290242701400140319633565475870861147715455324830281049832592479899605598041421865914513050702155652217393602669867137329861825300932445570982370293275657118503093797765221281746408030808116030812415608769465853085804632114978387875831155445265424216030636989232007218672564417014742104935119154521581640241497737225272103913788745763777100145497117021481179013263156990478233898534318773518436970155312160728294440832123104405509912492433486413670075824971375279540170692658447439222783423457588386738715283992881465102900604659009783642934099475546032340622183103158416373054307964143760284389681239155744116732881253379386129703109782191096760964702828019784301446621053116647266223874084050711804576330013697909158791422981283152232811031729780213129176928577800182758097727478808784891912791901168098113629074734659660164768381741600830661698035935649137316774905986571362656615431039056133420612111275927337602655001845636024923004190957659559802892682976049734697054113427612605264962958543686629643783446256826918501285947911173834962098248865562746450613221450162763913762334845651070740912949897502572554233218985638705545104658806092773911487956051621056136785833433075904858905616299706097674251022182444122473377617088922183407351187591978930267946597469328029384348172174172173635998666375697022514859192717333304268130296269154997964370129260691322215669915503264033123588031387817298006417993105033636186264205680667920574517999183191103674656866287723159450565998513396121366064316120311808846973140433419798263457715913808604879291802408786692721799160601362545062262574004632781779116361671313666427442028764939345777939119071347170794619946761634961014969675698806346256168792969838448953188407484753107277740349960870776380830914251674572537810923750911024880379437143816221073003841314435053456998104511999990112408033018969967045551510445637687887779333832971779136700344563185581559070145353071084812941193669738226660624870938651319528331694462672158772833810521943575029053665889564714936124732326712570191035997273531974932282191200187134467236470107977290632704552327190283469706135096973535795079111935275205969217242644625357289075455924436473001352771488299608788284891829238759424
98839025693492757690920507532902626804580708123252595457801285502114647938723407984574729715128886803379222721686177728021980661658981712595707740987580441736344092695893129850307843915486701750388031071270736441325193636780253917289791419045378925795410844815134799988029196552675472138653538935330067520667517431160268894814252209810628185424819016586092488686213833749672051610132653524956071365211344216940970936193631038051253689539004043352166570457226379476000472259716855797558607814732835627859556363152445876534481788985564113297582097076819826906266537147935932658206323909046089899746530956774826534651679516926008069232230118156728132913563195867224920817374067336848673598131765474941732858830573812830932449385285747707281473214080057303575470549269192257339394621284062164388006211484392196321232668350893253493308229153229681146268929041773261776159324074552676802021066282103791040225257723324611537014181945322495494568620757981860113153756295492741598236121012897366223036331427510017719887300137761103144169156184472086890565301096089616950767308841385551618025496788033149285122984374938089102768150013218398587782145472234882091421799116430294370967909716785957708730528572295295811899813313239806766993019887553910048389009110223052025755261453396559442310896112852294513647010694132845808563234606241087116985273780258669632839853139160896014366185444879983292085357895998461588011192016813435827372986329449145623249762349778695519380524680640894313175924956612838424278631836050327751708117755681514875000116732015471007113214581511244149419479230500191452229203696689726362790537514495443257388696135102104219855509659334142579007402580293391412898409091119997038496818972998335326600032806496947055246031992885251086561402147968868889297403108030428974835490364423721325533229980489292290580452584793799326505279172703454285668710443533222958586163323296094310331467677059768288765366037979918573076982659474612170496672552922165576296082049563602185504292064777313785674853768735199634455254592430455994209223459135506890979784339521153223669331089958334412160316545854054167495310919644046927091068248003164937070252018057874633836271850475858879381928031986130336773435529594393230775552653592455857541059948213421471954096651293956604155775692283830633552399620092303131702954650323989937896017325036300333022819679076888509862240040473194573776413779155222707443451080782326038174388019848118630413749645129426119876750291597975012694879009704854542867740566245462077195920165500777873663291873259536277297961255564057158476315571794530126004512420189381085069668540888644517496029165952328499916482400145160305441622768029094935456981136638246603672042171960602581475272553943635693866533995561653419527454856898837435935604074020659287605685006437198726433473778464879882744016085851721607141860532671132737090743813851456674409874224325966592553008167331750545219009220096084055515822826006064448154700928163337606196660598067894194785871918374430363826828761854506200699843790158646175882905822642634242633340917757817580860136367752709066627070296639656739817386648335371702378954449498510870366475129409963598442749780041308143939916914649089705917900493325750523069240441972760806424762399200615460315341018045560451194547355380842937268063122609424682670240161382652180047298157354797084477447765979335060509668907978032837778988226907717676002110952678732014175921503921860728210269720399836151354940601544120136133937965147008147478489738928189856856081164431182909844894142213204673351066037066084024892661399139041965025779524538542748754772594606776042761451326540353351449654445079738590422347937435407557905186768938568924456591840935979558521682513795069894957390448330971178467650742593330399134465398128507844811307923870120055712783533278344604115274160330966318413691221644548119668139164900902248165025299074715475031133496999590617351717372940692484899430973118814287791104013651779089490555980672450392042012842643874013832875405871799173577624355473788301310062325475603441361675409961920095808390226473976691476978540809209385702882452979069603490471816825136454400600879717830246924196940162819623018240099991731953471534575970084363790125800199166181903974035493573076155239790123270492336205080088276687988324745117120432166678189986079746658217070032155265775956020436009778669387557702367289200024665929167620326440384971048672621497306254751022620816262382430889524800851874251015312713164327411268334053598068597965383716059449504504180650571169410235428125516767998650894579535714381731968051828454650303257499271278966406041039016710369911854063835766889219320029470765773312703369593736741615351670608706176095681977097104777901432059930357693289360303674760177358702086276776936206147799581554613579996119040651020162141249686110956462005682904183755653061012994538300068900739767839314243014781204337535873682569599363009969490614932223575317936024692599279325302016598819449584369522075422949376
106127595730513778573839013997384606519541781095472858659593667324585337934842712320853434148629491311349935968885560829274497427742441890065159004378924184856707833182913366554538391287321992985205637190234914544331782392709623328333885774865333506554725091341183782945021647671724273534219031800476324741684697864085821559448319308958094602403855385739037201834634605504405628097685972277846361587556198884990049833359537007980166542092339920652330407714566766679476911309009778467615554301891888999750105265202113625531413275000142720681088455705009589061698908627388486167563626802433958669021817287199867400600493569167570777296133046657340783306723780269743348296702801952566717201238644853404162533561474832755720011823744397504420227130293463211165647469230584361402278967713338130519365633242581024409326455243475194035199149765198813324933210663840194293962792346417303173484586596171023148846325598712655735845051235838444580569892945839705036810560677173859342450727759073145533119021325243130204824110724355058166272324726055939054962074790024464572178208394920648881584848199688855085872249307069523680280796844298747410004224993990823653268177336637452646740016024769077647759178473700466791688866452217593467398628169330410273689142903563516928981349410566912730911324367288532553668534154865707956797442345445226664734669249954319123378874209534746315939878163507684721133256950942190446705073848547497252990419469709790536749816633017902523320271920668371348820744895800589991502224031865147875916893474592256144965757340047211035396859999255279969507000170087392002265794043351169546843597480754763682877040065086283811265751958063060878259472556066532550831474904197367822990172622265039322547154944107870981531303160802964524382421830357611176411047691679861854942309523830751244945748131862057116556993177142008752731750004527818015794538211367211824150983467917849996851332148163198559396282837648211044027156653200640953641696172905382595922166303952080614673764921462719058050862556575007428504118312460654412373945034635748632285202783844078348966187537391770075714986068362711759601216658305716378236358634719402677302657618009143246898690654089803981114147397701517930508842940293089767786194840876403705115621863688024712576756582632664924323068571967703030177629167654816612995642752428163146874116364920077985791729835835112904824123609783521764753589099408862009016549540333986107192061022515467101188841418640622718029704513292941564837422543339804218513493946359195282491176123863187107486064577838071307780082710030680882182616142858261730719034998284800471713805066169191745103786269406851900547507659995762291137285156463489281066741199187544136388623659525899071972367762968577783123757824952377647139246596124216691940978664980773717156268811581329501971155149545052045238465957107768151992712755103913657269927716201579554637832473238348539650931806277691043536453439458786749026876862056586275623182008780595091205396053278351588548393403065739973816402734889319110558760347760017994263136108424522591849982040247113039532030312399528614141487988090086098545414166696868575430363689817446947231126553903290357965521708397153001820100934343765900771910069954091192809320310458398346606235297284284986281593879898256993967896256221002510119727674217779298360964861401063313761562329749978836636696851107376374178802262888421131168706927634418657107547642179639398908447812501881891782463265114090078456993992913640771447582858999796956416414573042038381918947494988382260094484193346921782849297838983788669425507654925946949139324713699867649349923254438292270914182744246658617190065008029626339523280804704532393408500860340765540895739132110116558393786125911223511219036822271074748859284833347117073001288897851390199686002706001955847720025811139454434923292383173840218416081598901405377668238021606531559190414917634630506440955737855838956728519061553827392559007469638690622090080954592182180394648809461345630500705954291858266039112869465525954798930981033249834838527910909856106628362398388459854215555676277940821239976192417338921802532527119340429874815975218415905596994015284227654654757612265644799002597510235064652639608667681184954209889229895312259436688873719509895068218079404337643286454863932052291977262702526391986462317311736671801786251901364262133725479792726742415030304489170245102223569985639775095451051574386075988933385379229062971694740513939373928872302159928212103815724563453726308459160151703939256473800141571403402215147369794084359192864913275413456241085062391033383915655080011431317901860409221748201657229852657759068868901724828776069158624483673796113552638438525027917884409200839359801042764612171509342998552241699582564950292260930895599696280391431836323120778336284887541000202771629756536358321183604205857898568659903883026088043276043256353840805993269121814203870429306302480673355878626987562771037228207378137682007068740589483835276653694672043396972523272903234445901824
113953638216416477063006021571913278633815083677661745399646299451949460797814407080500439619413317100841032149514389332088151464747477757252571308211850041405754647436909123838250647738874824823249905891725072131314936887519115254918177392911556553696386475395249281418607635690522574689707269620957452996952856317472414133780562808535084037949670466515657393101776707687820939149474986052828187082786128693275982329922365314744126578730001842829248521830102591424203962114822387165653450206884443545397213571650121212933352659196466845164434440734040202096599034688381449494158538278900726420816098389752717475278912660258257608063047685664530195657350343291009434811968959754459748409350157584182398087978759203053221751928928875886177222741375588843633899479752631528797958216549356793392613722360803983617058710664583418942108655272133745542149290296368021065714000842175354974658328447658625811788477144059619021690327495342625653264031811150658097846958563971334895482485054154631834148670366861455869597334248346961379079341232075604326907814435865285594354009135014209865376474916697027492376145601955566451275895635770781044933212392754096028722516294596560431624252460224778612302569807092675242559431504896527654575087545634615585939319510268946767179312578083441749737546608388034878459429754851803736582998942533195771085640236482662532214913436812396700654565053622511630486554665565346088800480784194089451060922455931303241587687143202181280044111308274440351192126873455615437751742532031518002316730871822386769370740703843680623259953019473002956089110743397946527915885828916219861761097801707424853541350567206825096890160256182202494445368007628820926485160580243106982256377085505726333623506475697003440466091768977540433017674089665599996842384122215324492193778842890602309038318380150157724724086453980015585182154232573707575019288268311127557858244240235957737777543637598591070840337072916285996750663490341391655532334291149244887963321809236845447794849511718596709391095046270151669095561588333304996976047911565531912035418925334618418017862720725107403686827245178366818340459887308364653594181623561761158917438990808632718602282446134139186483966179012881270273270266839825301858485290462019472891205950810659021839242353040004357823473613741676720713254586473284592423443553044596326294193604057534150686258078044814693671792883970422904830217670145788815325734349624575811927063120635062713442499153297929837753052610284195322153948345144400433389573558576680501794270715142108451245371034389640662657851399939206386396691358324474524211653470578158529974041457728948636993482538219068557791747473497821634756167598309232370057051360951580959086425541028893844779517439408680363537180144698638687976123022108207761375952532081540895990632166781649063791519725659496953229280951746800740089764628373341559895523046342438382677933899221375547712527840972222631595294926575551256727148986888035338801002186792060189036328316889498414401249444877374831395336513678645939889420994982716035432921301020008654102207250262176565801306334059159670888473506405939323769196754184535719270880293287955712143181575562953308563512208285955180581390497106379441323833726476473473629415274351846916803563297879210407705813590229191399123845923597510582324534851297876117051542620680684918057824237035431740011684902243090727865253643889140813861230628199616694062288769480865343846220363204580665915072717496598648942715835508135716414894739413576799612209487198339520879659303429056426763093870103492459901936978749711552339477621526148862096093748216373678371579009480588038416496727276732729526978156400305631838170821707632393165529290887862853437737529540093522262346425101810795008013061068507623280510416293669511105945095529901393946572772811475819498366755779957323319425263594386105206641846937231406380902760185948606678680076977817925551955562268594370447937129971574898667472708079472289534698216491470870517247252510453714788258044649000522926314307801787743825145704824751082307219704535258395508676331778639544416184841020229708362269978562768463122444643488450058850728996895360692866328162888370480340241528871998219017162431377656988883179825482205383214682940545747914497111523788092219116597085009390334614259400092073640051046620737857539683031897570910588139336574694330911880528587917554334292804157477047222588602492172505917939386220199376912559937031588345789038371050643960787805391984280458173409973452644407826041725250798704445231381972222336915334297977271502644249617939765944258858446858630901986890487747766340204134667448791146334516153804779993470359836154894396104185931598430960059970121116994375346200127756471636523763935176675689042784307113361798643328325281585023779171457953511453905257157903102220531908432508379590236025306105261018891931493919874431025114415171809621580272616432842918579661452942623012280293933889318064241275088007787294451812401401970413935208508469682733498958872433216929568729442253826686976
122356787349931134825286248525609510970092836026765150560439826528386414392861736672095056869750720913747441794262221115682473482546228466471805145169458041873490519235383727552325131472320930113396831560009225456809667852049657648682068764620419404645111956299826084365105070286669208860502517708866644207342426384332753021688921525783023902901364386915452893828186739753435677787750280166738297956884016825016889802322610311447692565932431782242838628379158174622951520029196287431282925777033279769659830904941155840996150474720864684682385416322188225488530871702941969187621666236760686702012069053576545770862654588562393835143493929004411304388200236612314633336212647878136202391636736859127441671680425379943152692992643609560293547533578905034037514015622241646531428182913493349364176206375119255475446737504078052455055897918088104310379247843127699514370175126614901778337107364180061408483240150844886093094867808006542373884913070498931164782563761331001814390212862100733163647258806888568780716947821357735296030207295247266695876288952219522772362597870342819966768130623744514355042108672733347888346187307186158085091213432775187453351671036029832141978452119278241237169950144555017251985406412470662535089896446209395376785313684274965632350018422657457168560944816575582270172646414974448593808644811945664807794581807728685411716899913645051579172414674603293445579847214079844700579894209297511977201313612954237161319475849083259328413218876605623875268234883543649703174114485521900565296402832027679773777606455576157443292598781283249712828513676154107062738870168516253857552389005847720676584422617456090964783817401125385382723119312862616096573546230363132054555097967422722555909736372490712145500336786173330879582147201275080890663935767896121441000021856217964755765415663395155749232930485830193993981913657933012986043827420398191503471376703948451451748173411674706156234216741447953925456715489329372258909668312756337262224412804548950479121338492518235405461992324339477049931312730161340027401376168875764930759118269492912990506494382332979426230598211010714792865962052397317913607344732270486803428364807399580530218093484275252358765169991807601654638658194761560735458880585657858591545722031183091296751723918931226224137325228034859426916988560656190325539844861007145612738826601029870519900153600454573682925152148584622251883776331459369628486653154705345747524845710113824276286138359980574799412986771334513043581848104917130064734111215368295765861815510426471947646019766022299491826810050091676954442032166652358859468552959554522274535485947473500207087695816699492384824360344340942662129749192258254481064901312369832914693127934064551313595931933230485934977394900385300235144449202206859327070772021534652238391575669673200075483398745961607861482850819337065812828533795800273919497224165213766317624214749501391960389848671616296261783212004279178480203701223500911148460646061074095416093651969239780033924305446821619907794121093291110241347061257456636364359793547405677152751489095322533943973550684715435428927029243343988973937263877852983015803066956200664523587838734108159312363820418371229429179711612819270583363154200139565720662464256736012526217434305164278714849823939776680550940350323898555654524448211184150269248960875543418745484698733745832829147640328247757929535525073812172511268202257607722265183291912957099887399827828293228929374784808777434547111687372732189610982875818265938643179696307454449726920611464962484502271526827968143062665352672695764521682862168544668742882584164484845820080288595399799892961911267636149553762796182861421443287390010923932000559040554723360439712080965401633899724556457008697708734794038807522764379120118042164020508085744118130569276335607627331654560071085372133918983157417163516932764835513645111663797515768488695036105424527766622626922052972197226097240899710973003899847827315043472113122442974265098812952056888369563150784319966644091261263854542456389002515656686164293827462528213916429421904799532309625588659963326318211467955891819562427908082770446838318089123289096856114927496194989802328027948287079811568030212239476371720248089773228733264887715552644163274921156324570283645528834462622731065835016685224664008918210730251660103380511411051547970704249644019862203115782182036074739152522661286124187922916420041556252226979030881517344609755595297622816024664779737907242830882638546236278486672933194833984082533916770899458367859652180894729373013582679875013792457407877947407121588996887793414842169016402536282056592090168098432060274289143809010107572260409297455400287096229638494592863467233662457981969556646266882805291307102021516609256035958477272447208081418714417043730934471742695721122743915932993532381610522528396504402402687621302421120981164570881419868541955272136456351681585853128901209177785102200550217207830451792414575889083242055748714127987171869452825801704556586968478001787425664142807084688126537853487284224
131379600027895182981692777814005267020775491204711725582401281578833216367011213714103036264709869499242124827504950035044214081980819517910158901146838666972710087370508008961952642108129681013335240755065071198822045980293961542271435711416955799188636584641583550708965800121256399206512934921310771523950891098499175252449774159687127113736909888895240124005155572555467334934495270682744604178880117582140324087152879032255053496335529562620996359773495462004158477379721754920494003383888331128576846695403087285379460587705247137388049377592785756907378429262626896161668686126978635590910983495601233979625552791404954294353330473062123098020005326137338295260316173784539695676429192180527530269003749092556053788884433167911213431704135714739170222383559790240515418970446539983158159800090620977591728167142477975481459397852525723714928875710828001941483746051650915581052529348098531401176803352998223134671917165207826612468476526398962938924074576487850555930656606300301698871898163908595607356471581417480853268654740296906673044659777907239230006152626680415016421231961009692553577097363066924027259383502663713689838186717681331158103738171674641682541770147250484309510878866203567892498277902707545536915889414123994077806629971765561715616822187577820987372504342513211140637238156521725346510329387346675119613963687547815971099095084902680171194668943192906780664149885287410930437389466018148269061984893969512638123756244918607599155424662277753508488463013116586015903232277269107104927990677500166498783874525964518264072171581115253607299964473842656222636516890441829790655338346696478265518272031254157352436895861967310953548060217962732068946639679538433594610858400039166696228462311957320682168485013400050278798059093733600481289038962439622078584871851935343218423271930532084566945453380720518653371984994079505433450385798319568951238658353888718263775531707719901882858956855173662448987853722561572706056667505373992039500007302085345584737419910277940437522139201010269682799386805597857055306163627678795866148529355317043949499737961931966704475315967701781785235680281655879709264624752624904161681101881634634295351262815608224785760816014673559257717130910955825469178399917042457324020374553159517326932721315857642976461844416831365896641441993706112437036306805734839007255785310209533450521419224832261175446450523498771315088673434149212126781461317988672125497971318096192926034958148561910989690134545140590949567365077464662604552842651408410727407942718116811006950269769908837081028392115286968580281352520887975775668323725432670974508361433966564304022720234180082613155418595765911851914612622357904845554800597523978156397835588187823061202091952966748180228973399108010577271629789852937959160383327490784773656253285788923332966482251208129459161335583474875516674552477148229658020578638093506795795587691697327694087931863745258976251487550053420906555470043272900002210068893836114611226436820272713306984665608403381162429571399187270873529073771621222330772413315854802253950510519927727465304074119962800558410330742649514580311286177775175187229405938345029635569296986579145993340114287630366996409902370942545378529897245251118351471988859362530376387555731427265246927225843174679127432016671981825939454594874870406709993470360610627434972532182462740894368067691348706323169938165552816745651780045284633581503319552943005666846885749637530437476448620184173780656317131315229136410603513870361475799852272932205646700039257584130201040761359527448145999242080383625194586243974393748041458532938607474371211784902870979146303927367037791390194050836725860199748114706528842671532233224918632853945891850626031276070478347739496661641518483493516277945958663061688504287525393637798788924930955369919403020268644777134792941243670384283577641799847481279086569619347925813131447584388738472025750956664191670837391845023061226022181719423691800386037226254523392258959376387869699123606342751584045709691911721687808568014701798759844417971556336062089111043325004176484312324822737774023586020676833883640223893298282561470698107434995737597507803392161410013096175516746752506633060177122484175801201645622366425050010852689311897767655848133232377747500160490591078491154898663564582722991856316789498431818888555302876087479577321237534202198443326114924217953896530697171430871048254970766064800526628472761488915541089075345342339989584338764860042847842568449997252154980051189445966934335449774548517685908719484668965980643463805401538374577179218298805559296629624587819231788345225721623662121066477051938993165576884820539075103682036320062916829275560044755356690436961833883350865833925534147724939068737331268871333064974780010149050070925891632341344913478562275330380178795137239633546517233554432259891788999482910058440315982393057358079274430215019950971461151222491458360515916845204028332056390331296079330662012773133993439515371707767058276512898802748200143105692881109075593151459897608481323484184576
141067771370342624655576561857636748156494521820643125621035014382393977533701274041834808682807722106918205729920850419657238349032570682175654686647242242109006287436408633349415376538802368919796749731822706787713050302292706322584384483875579744348184366466184307986641431375817267255673351422001524286974289494527868098061080974610523136423725080226012475667281929879471837384983872462263916617188759729981821409290667298944895974372888828574590852040553244228067819086765177740812206174478428878314081894890483357034550543578744035669822734498542507862949113694707978516088733925665535788416077240200764949933919891251447146655577962620506920580531307376420495657862443256112635836013994618766167633255296213479482017518882194919084580211298110687580318828609116785908424665451469936005171784232778733772005329499741169273289492032112653588587787036013755354924298751852452307269362702040848038420856578737627977381621978547161085947643127956806617748736433270092169764397241966535837897010676857466416721325614035370396873761702872646872672744623389553953631161852594219884809123558141644164157090247245069239098916163265644795940624871095725568450340205672354894758829234097483607377591621640470944198936832112094483371126434103788763269288785176622736910975940773479648926833780178056074244948620506034869189033111210421463269715545737358008024273641212838669507196090140104110532292229237895376685379683040712539525058429111271100450053968150296455057406536368699046826801758660338993368829632890604801696740098714024536707891215296277200146167181147656362524843569279013981498683734949818485315801151719020947193945716167023923188603407726832691637873450097141495734058648178373165980339668663776519848403043556310519424513373604834428048336498965303150866570566736987300530391641103313357415834406737521773434261221521816133097658918043557365130927860591350100596764080217309841568452542417002328802010668411472154736525009908453029709902014581800014654217888554437971826303815515752112348379786074669611940915014724176445055709012026287159441981764895666868624012526766872493170594730136436262128935615506018019350387880559013382388657240716204329863419656334550950864827815323998281953278220376489622701270908326616812535795985872685097580344510972665693886929890532727118271177400312197688092449223813339695997176153536790269351882429540058208568255799427325573622190934923718917173245524962600819370148631392290399856673050200529282995530261304668462626354589150808120557159972908263103388171206238262495666059340033975041102261545655447926821989888965253209033920735968551321360465509358514310814646161690229049520185558501208868898014049383999929684449885541686189386769254112905988324397846194238402387738635205715250250932714009430296027707502599144586057092552088991818535589983275843129108025979676417095447076391196858431373912336401957869473949859235038294175689975765553844512644924707651461644603961441202578142643405233252059731325148420383363670786790397116217114368265701572345325180988571130702553102402647823491316132371398386436770493260200052283735727072055764378178034908310304867455243838675023662230232224767195739251306167568690896514570023437773273945462306648511156749406402759602843597780621964365909567449872110317916903582017372175479080490266124402264410227893091992855811848095496244219958160330264228947480822867847895420813886374670725060975026998831887472762511433535409270791479898478837971174889873700861651907466229923971230564665238468772319430799733309989795518993800527721950350644494008668336167388530374552316232112777864469551378195011904347985218341829446675604238455859374751318846545025549504238740052977717535092182187512997930364248962973654313422312874890596042060455384628304458839113519336610968066965246363092959854531974363613008786066593303466875429590351786877470412266316981627553208443681021957972011902807178354120130548727077787082892733663873451062560347515450432635454802521144613742211312275924055032129623967770092047930382933968216476283308997280402064539342198333009265883423040846934153785072862445328764857762958479293620939508430600284720173406668532779689873751386775800582548754133285259230335918916362361340429557944186417062413944318578843928298457833765459999457219828757550997394784162538735477870226353035023635042616304915654623911530941346943265563407590408778052843824169262084327421096219658216913255425128870930707781314044844428907214729512160633912344902323876210847769082085517034068784114156563887556972795568250061520089828866724495642631053658260503250157360270122696584608027907207433627895003117258330058319443539165100538794338604111026636441077138326560386756532294161912498484115952461525954883453530139586497530802096179535023296250136533078011593642410832615792936782014449329003204170098020651562927914902977651478071073292600661263295636234352487268458777808324440410134401699033409906225181816504553728722536192312149268893535796120937256319990268634375367698945873970344330458720983974147842381786906624
151470366138806669302626149300667710294983065305705150557391269110817942923651427460803559781769000976367477239252465305233928559692981079688211751634758329611974017899437689981948495738420462379463471766318824030856191420187521868708089389633863583753873172737685173177754138159440862033802178704052910418676073042958391110443515949090000802097811404516424967869742916511024190830383973428214628997924168624768428406854011651746245879013402906942904501523737762426563012061925256207103897499248530472455236338705083880023921531682432108489236524697132757734297323357739123999217930511194792811391156846818055483537315823502210501889555781358346920708762824871462397598657299762914880752009431471480169464021304813921752408065924522413541409566353538777436385685532296440730329397248451112567356425035438278188763402634773090623394613654594107237690396036172963363886183923734975519280413967006908695280832622496140281867173527323717614447243100713406930956799031554683051010941544849717537544904568316410578309100264512258610454836788583821892771528567004492724718335150843736790972018221160379055180989504609531619796362357567935239729394344790089250471305145859169491073673341924355042395715084547357143843168652972822103035250966289217951983470343378291059690663432266232009065578145673200973934050554568433683450633813627472789779973374041186212476990215790994965214389910952703803192841069122923911683326655000676548449308331380510930355728168660137221794073719070049251046871532430360187198171034765208392237016008447136760425486068705801381294558615694422956022630779392318837415898927164150648891905544668082287334234955034166555936166919025225028062079785788477686815576351818020680592384663970599043150396487475304303837264420086848373990617592564778717924418660952886472336338888152625056835241962372304518247018388089302910544907056789955796684316479843773975637352951990216585658861253752269449140118669967593293952006603560720429139036379998336544938046644949870951163636070050043173844802234944545549322810268138924073011952776186343510527012322413812513212715580689510493592421928701484840958065450971994471074152777978929168846406302557424303504245892670113892202534595871925066237379239126525934196334432224758324041251647162815128453537101760178076296377750420730747666757748438797315060969510204719600711613421947897234919341537727893581934251410575674716862937581341259250988905573973180535574397922622261553479793459493959878089032846620471334775697807025559322441056845570309009303915531010552150687266650660316582603617282557139932482861946687108453289935328910294702435196397507700226024221095567865462609590366403546717095530475363202160915252964538121357027759060378311177843961647074273000470656437401055308029052950041756039257650608379290248672667525016849085555481397558733296586319308457143021850125899751052315173203458104339839940112842339573262698053931037021581377219752519936347182543097315502525008384462116723212067670014801973151687125943836105251304361798222122929737417707798489034301769630677856425195832133090748883274810102586910744033765120315335873139108999184779506377471757703681650326249456965106728428725878747655808515749659541797425664652373664019696332457541816374590800267687379872714742372676708299489315932587466799385755959461162661098297568382184273408794382774869063453887332276702355592021658951143910183705949920467691726373836708174996724366769345465165119006153549852002308569785675986692820490775868936968250430028203102854557306337547422982000461951430023328329534338458572424611087416929921051207214493581477902360889284825909876319179067394205570374031301725388532980644694831831651283600475946151057486663710160516421457533665893440046439541908583712394649174082961417191661242672795551930830629017774516800995763936819507071284079169679130708347349127900443474344972867169614943470691370261791336919401469890406246266890508333381292268883040593682249088285651313615719582366728613616127337440236584286135675241043587575848192664796537504317271292943495469952231839011798255128558567627242613583093080639294948408258041499597192998779152375936127130358323272564150267995196143759177596566161832001253358293725709971025310619918490504413652621070415665284967382511330814413808016234228899100461715694794770654302661888479600694213773769148972275162032801247594303878790569653780966252071696150638755159766941070975318485026529955769308198750719135628074891071070426053989238037471538340681385892160529308784144086396196693130197954873431831937544693465491204612856798719714062505426981892303466676934555594210127812529974917927610645196013945680408150489668415893651787639124827035031461257322104429448316477450731897823536168619901100871318580464494938934837367385998113961276220502850749011170240199146636885216879476547445454953198846670128440006529300330238834719728457200701514131138571705752721007029757020565468832589649895678385232824984537201039261933342011587536187294190581878705724196413736825594191643294805826039476273124684377497771442176
162640067219830110280366609540195271670038694590458965965687917976724516166769376461966902785769689055022595905153426493338595198370434384501909837498540390636754194219950873815563904888227814154248488315739675880426559257205300153346512424780511376587060547560029151385637604530866034020307101016863728225457850334303373227033006264148988601405967043893467982959599153585626830770340562249178708803714389032842423895188840572663266835284334557747776543323908964325576434622305625551483060658352155738813667224672278563409882669061568440925398710395720374859774515340456611519082435280595549252605228730172507491026559464391325572330847071225456620266610368360876600344995508998346991615405098613390121140127338205760323023913098108942644835407307497755739274809950938391178491779122372478782902610675670761461822232249507664152081029537259182685049287387162727661824326854670669506667498860409073963072301412317709099211933028953082389797511558731429259299795457342958934934373418324313514648254313089995303486508153816275030749481922996295296035633498803510234433795071110269080914201577749980803241432320804294889225820626379934988220917150190195328923852046975410696470597732538032653245572444666193474009594279382661027340586308841147395296275864348912564435145829531644411021258413749680521670523898170521516091322165000438689808717169314417534908695032333576536724115574033553759372018193302158401144070072928245158365984699274906244412096532665315376619461267504738266588901748725450100379145616332762270820681009227228032716712427498756494532938849290644731427211358343250040076506760652878265151978238367620149784353538262943980090697895202605423641828734426049309624657703612347241648988509601418098964961430784926398157274497594354811500119892726994338740546787151189898871346059247131618914376372158977620505994806588547982056997337068118722011191129260713103644582921201759586840397924366888642459186252267457644338195738967332848337811672261770998727636171545554823667057516327725128762867044668632876980956262117417419553363347704188244883837412339083130731045327602774175057067434301530284638663104838051916289076043081762439323944279153104636386578576540116320901288874394623691013044401199448123367276107371016380815236594867605541000495226895647218207283810329772200412588208974807381439868073095602237476639493665216809986850275598913270343976557666097860515094156587512074613701274761729795348950913138237983438466976340314596482135763126177126741772394188424081498064509850349915893619232609198829526068547054379131822254689970826815327385035376006587921353960906179766170305021658147094736459427334318177609025359914972572083366874864071750741885227564569743428341232123133974137763766315574154999315501572350945967997159570416005755525370195888795435203607257157167857074649012783437006127467709191374110226038228336058813498357028061442053164814099517822471039589162061764315340369119585049787681086270157184679108347646469282628678813123577650691563288252301209591523816378942231728478730621448640135180689671847914399892351782671463453457692805296660824012077874968195597019502519479660215566157625237186736637287000723202937732779042510783559895772163788572071668252023934071911939071352470326193133046335526309615306927976531809596357968727640711903683530698852888379874369451270834073578201642089554148724049280459998473935929707189007144601747255634247346352332913976694015600161987052523342844379842163888855932503023024548801470256687565230246827267171101511968819404929639192695184571072656923105073647140903638011493677781909699231892297412375496675166951027993058569738006473216164372732147713030511321591324654290510185116329688362245259147822360235157764936957828905098638434647116603322012019932519416999300297594131109296801436612538090619836585793998281501465189811675301515294678156631466552068371625212066779877042445955187611236675268405882967604205226172028848267574449726421012478172274509738779442969418497171803119343121002925057844789781387194976739002054768770034752787987154842246607691402615981755830894902835999237539967415643977868886142445185275789156845311590852446831804264679865767250730637745569276886742172207351220430571579983704175197850725535795415850528948881254357078222049336087710137162549353641721852298364348012613624191371036196763692809372418457910995559421383458822861174049823199981906803560635730337566720449551929093302963098376308544751686000992519147252472903667526926724869926009164690696314040819346093605865823944387021546868384364280693243157407096966072908106642233027177435856895871214928452356586476699065323049842954134584851564318368571243058036840260480494545544279193107822369765594314648227203738104025355823904170749177601873037562970660892000399726945340594370557160443020130085949833132598450804736219305341957564258280037486885342846034448747595762419387177862730505180089717947051248125538772015719961322507119077268163569746039751803920417937830241411269819990062831057898220037769477218876922177377453949509620782918761664257168769024
174633442432102991582561994716385072319162874080138343113151666463090571534424438469615008824823027169852798488414371162807307057895912043687398000399226356379980969941380308441117426823248249297515789193385007489018019634875704129121763955022489085149341287135544450501986648891962759668610599685999514304243395453073913738147186254270760828628852018194060373708640913479887093454684800410618689292865146055169820137801250500936660669516908946662330917573029034164895370762771193465110427456401684537325854641948630186911827076704156866060073859227548557095898032330377863045358984864548616860774175048672632028068521591740004969812367665722679706677945583221119531093354507103693511762037777084041379496581287717317976550525645580987026176954422135569123395402873973938655619272483861344575755149201256595835485910019337982408634898051134550776994039368992301384422507884506267595390340387893560463260161562339793035689217933073927495643459051733367979007531337194342920353531434488663416766267304553118633317036824469559712402604807053069656407921082000782896723610726896150028071618389596942203637440652512956741391210587266013911253746095798102279394976854025511164377449971705651330467460476660017651919958355044304045470395012484520930478272266993177949353111012707300935609371711954928642755779857457206035719141612019199999595382184479779513430445877477593446985754841249595050790167909437444144781357486889786977463061270555529308304034338648131314026627295267889595009765621833254466002086905642744351629380003769804658313174477185982556171643788117797980058644047140998916119821468731752939274240750873155242168604974835307260792405643427806397133469907998237778830320718052373116169553690054468182569250198780656622463142157915646147403314909835367235316948569993058405784494658991227171261195385664483448217286666560914727765399592666664608820845311545017859448035513530425610783495264195517056159010492065384106874437565627811848989357273142844197644113742043700935456264706294641361528475724011987340915899590150177882240601626298641298500930251244407227278783063486880290185870890997925293819157303110313089202927821773314182734381257172219747536581649893508107576719239943390137781958703136883215777756069440174973470430748364691812106378529830226101738414928589159643975506016065502847795907691125037272846648047318526342910742030936479827316946496441637099711974779226016830617739702153784915853129269959517216483301322939414239560552437714733370214789867528725472953256439276380685729861304783281430393985897263198876190364194601830091477737565034937839550690970533026154999596808591578365962626744807946257822270848817359134458765828277728153708465197443836194083959127874301265987051293724794352796223745409770972691802715743957538458732309072408872511758395067679574469529504935145886967948406354568247602180483339587288275377001696313911974235492463837184220562235643082830416611679119296525482155502302019932244050651895546034689689103513465404059194026539463672984209077538166507086767424962678916381068520297827941058336279206775308761265002179590913454284071495498394282332489598838685890762239281193685319225528170568021241483352593694502279271699653034768126588527651070662030472625850867634952489653446984535686328399165357894430014109098551897216119666571346295076674710345457424496165208437817033042997727947067006320441181622932910444193711851851711022539513689708570525800402386673240797948301759873886127102239016827893026867687297454488444208280065233857550557978975745378426414957360212281141069521535406257286696954546015994656543434395114545972899697501315941768009318272674931479861232148826809794098119516874061832057385491767428797292735466706883367451172344219640534932734499777991661645632267755724245308262465148991490931914167030691620626212380203032248691580894454744782471621394428591412884321565048971034982051645344567951470598393822349965872229620286793319444629705043598930239458218315622802627687393372590722732372427533460945570088763247984567373638227167035352001962412928884304800379074002622056587728523428594178773885774130931553439437417058043792310506953410247976044532368337845002958980305610803282731581403643405633747993654264411353355798916528347106185464936560812777117453931148806906660205927469283464187504327251634527846493261466683070414111224890288619601629016659679887849923038629626089378253206703692231026137199988327361789781855268975228460953780973319525794844094546651870676180515825535704656068266175129035637106901308995077661760515235832010892309815406895990467410417806034541548626375736386372462858261904587899066687616486017480001440458386390795083814720484961329754765413572841419980111691854417396108171434487304607887101429404735101169284632284661976211539391958100686177350349082547205050600291894426651735955781886458777282814553956644106366380165077989554863441320540674252510982232112342583792582046879307943638246291011114888509463939878448799907408162015297190672281726094711484389707947360523353650243318940222464124999499193200767999127664459776
187511231008445262337716762799849670238349854567890066706653308736718498956575375352540188153341573670559301660454489760165718840873230199932474414762618036088314803750146865463248022475381100805521322157304706675511868371619252564887534347163301391308345026047427233515080860004903672506647580852578945752152394373736890544016818149128414521999694985041771571632037739000920155040091718937973660409810292111304447304514646062356643735756147011231129911526457848349173072171974212565884550738456425231780859245604789091196166132512909301745467399181707218744717696152430897275545951143248824804764816768857040692699113570898296270055396595151692386416162271100588680638203182736140828456335896723123992112135393637861800529350634844906549207578787988711965832660955115619020548745486374290687863840080749400304425444950463840503927548783479257820710197069189602730467548802564141107306518080077699129675250862481419081923437960592308836015959775877496895442740407736212809781887567309193964440684037262429106226222290181112878072088307876331077670494470635574196956013405763437989719270732277763346556244960921012355134494753539120950278971459735133077216120063679134100171006957087974450684157784856836781444733186149310626593960878705632275657917256329869886894989038858824484718113333488487686662435450688560410736880266203796130586344928740422945868639453616071706896931705260170629096807532345628089915654869169095956152634301270051532783832177338678211314467576589130342376407036599732874181226781871356212484227857236916929940884726363923297095923258131873929971684086143918161376520106390391367733684500057671302361279621215136917803681320922066453176960350463140021426977154306544837284460472425015325701871714751104817721253633411641932451408214933022754959057575658538199965575446063498262868356313823765909706638933683996386899283602718761481071540934040195734516309285514935874818984274072656376503286359785423058175969530691326399862645035052063741326207192245468930147315937963632496953428951840351885299947856528704433201480797079269476574117313667948086017103083088710642853826309528617485201117888784588449611826425491225285094283838587512313848748687481584801188214736632709383285611652198871505784193380627764134893291921814789203528968164654345384813015216292154022749450441013146331269572304004226133414345546613832784429029617491200277922503157199652928990805674088140619962190874547821744051825538434120422186182828034579687077320532919464200608095744137012061724092235848366237613952048665020527776567455957663769395391821536059996161392788473932779565778263160461755908973796521700225707650356801266744568059369031179439896816473243798606339079785343864812592928283105201484066445616505620442396316784708399111640350437851070484323229378271140050844558920567282869738456443050880546379062751377047300912848898558250066320017116089051193919791058683658792224010513204921571314615304237256164868072128493407080932083360114712656763674051999473151515415998026388132211804178113188334935054581143209991601351992053570796670142486840856193187483863987677922986229119541722853665782858356318078870110111556113356571947240885229090243901079479588665776117352177029719063660228577535048201487220863180166336452393833293062647631347182811463178082789849214109875496852986589197011270923341003125092854711913361851637856650833739502816730042840523263489977206373137673970862482541260650544805563118600478866380224989349396500083053956412748552745791565430412979071120873147041192892296563170494391149046096836559779612789364234395280031278909484306035691200782634629281873175764111221714260110251098510286261218674368738208415979285018353929842078770601495980595228041971340220322284023820752684603010059099348361832172032813287737598317181599814555233712977518975484712705303330585337040919683055389148185561984291179181421148538258216808424795940934477500703983801754280384321985583433568861931491366498095914879764624106007035789445054661691074232135834187086176729191828491795113695621199554458891531069172837701415721330982811006387823138840763045447272454194682998461009215005725752655427360910519402682090364490406117541706460910526621350905395918752550610752446662670294424838564049610371169500702803270851398224600446267690343381127260776480130809729574351062964911272466570945195256368221952572702297495293719491070036091801757797177646992624099871523676633948789719400157268273838613472418481225561988602961770947874150432712854180415771573294532032791400554160348166294508362295560390680502053533096608768103802982763874571653606849425869377696846737012802390901924712193058963908879472630200415199349090105450851572542780347287861817103152195171735488077354518497371094954516301074882047501766332213844502237560822916568941962351719751310930962517133569713654088469177927626112408420459063019153459688687050728261606892019554434312238080978641939898098834319884685841619259819768671509304661708452067311952703191470994792721414531566818803906002352538226184331343009319322688215595351526262793921029584168845899856871424
201338651203493375386658500884085931847524287593861012057083596658599256844175340324521144661072173008056719665062632504069661490470387947647379754940546017084764962464884735590390536617108698274048333724075970669549089678990366082539019484785772461765160134689492028221756854129153918261586425589835592315913163860823586548820970606121447819080040620682404523515530858711683944951110875419755180992386290545564848268061439497709240383348979311051461916783377474345556483405619232681456597683330748972892002574662950221916273764931436937202744548929902416488920169431788933674601340176366878431724618248418345268620969688799489955501678121121567739677402900051528577422217769513709163867577210104162778268645870099675725160309116193927915255691402438708877603787052719426898013103459451298029893134311948168369779932533122633748732245394621999358575631976471098237647606224074236749552680450391606725220716388738372091132877704157225809955093542861334717067025372961184853227368998685496699348331217977844595190033678488525432051013703188205297765802403882155877526885082072886019592063004025741290371646582930136526128648161983526184509156124019944347212769599377829599458215722020331415143005627815979504578757166489292328541582461286028358738202874852710038037299227044281080717087136538649051678463913104596911358807001103269612979924193278891756428446191324084230278304829209486005837633592357733703691671265376106456390353577050670649385307759805523808365853853275672512396987786045031934236112951324200152946546390661178784491205778259739888819870542150541146105844339007943813103151049808292883264221141332452089389855887457570210532262855441588995283440001481971211374401532471438908723599794517537659047081815210858992995206399906043751385259848070767890743243526608616808004713716665834244593100380287046822437425793563269320078646479876534311706697837006983457296561689976944025471171844270089966231869437950320403097523636852928789567869829401346856575865889603568464791707603933341602944449245803467590123804798574021406462644150556868680364217995567802708217313159631695719466080026972446318758141328742593144975534598078348333612056340818677055494415875814082830838511058615684991271007768387669901362346350883981727242105313493877149572701513953889143015108857281291977275932411531060149716298801401380272200786734987413837583825060035023690365815470657314068141530163724949646046693640673133294685068304168034565953842017371327928275751378049597535863638633476312637065627382064062951395622280582115906492254204619021562529323391650811542051766891076446759184348680265466210471944302245415255932544184866042959823050159043827724666106091774043512259181491196649871082948984202567425389012253463549400070308115294611770252689511137407062189787718195239884753289435845385423276924624106004602675171434074049280616439241374326396458576145940677575388814161049882830556246065043828573760301114630026363220688486612073291054530807209620417309313313535385148747191137839634393213055772538075721208688427496266301597060368813634612929731920160396926594825298088697206551765181698643540997582772719446615930167890263104633836325017659873258016346949955982504760174621364614261449622105949099408079792808042321926242725791043726445013813952003649241920943451595703843304252403832080131937577389786332869526901987736847684549649587716750574495288853915181590054160731289517270652591204857021366175406119068313206505260555057594401571298394506649041127878626443789066977221099152057376630659310347287617870534146211877368327646474465680839951517776193322409662137279029096334370682313881629376942338057591455612438452883079879551012483065748241823222106201691097327871332988763482255403893411115583354436618532736747682107245088380394727426805650469901524118598395718773695731566704308372655974781971863121395437002571615477870081369970943644311498865498960446782136092856851362095419669309803657664412639923702903918000169947208178258363965392012940223876970532930015803468646388787970675254413823687622672677525588366312924774084004205191202646136868488286157970349220791955373869313227401056140100011418003567404223258200100753495149990291410653555209878503865243519497441646092038314646343190668169466428856697797265957146362632844846683821569237912162261431955397630110453964282677696416865719358608962254992254857521587309782085892264957050863547748733888315542407998208122353795901173051123208804311505593722444685067611383739840599208071489315925655647476620514115866242538743028552120730114487840991434876196372797066878170436049523243874562514681426338393957134448574750558593645580850172047070414738109471301706415622567149709855353288128222200556293034193303256213708893786008978701339530153877010269401224773083353884930639309377735564405674895309425402831222630395970098657952475789801927446416673243516782742041306014144146133408047421965710702592266701589083016494906782045247239152408324604457620434536278972106872526540687191831193562984661600383529290562686012888496463196178541689196657993730596248102417663418120487238461739237376
216185730584938772059587404004384041034700418445332894288658933196684671328909313695872085794947496841314388868621020099161445751840232972894514046890534891940530693408336871942583651659593083291042309717050045461292140809458690155893181332765415572344693302673580844016288681037139659770942717746470344753408984789531599963152894028067228946779824818045617157785416996561369809163321382199444693672214985722988755289631530990335963590871592273986660076393519942184311024786975326748867618173333732797439185399531292356501584567640828331893048389774050668822820818516078093226781465473816653740466251063760399163790849958300276715090050700833965070540771761484217988709457325962861670616687248038074971531083378570892874942153002825896097451163512835657318443283059294541597707251684451946785785060561188211298826611236712037177047718857637025381803829120368802104974926176271223678872526290892625319429158817830632707923710332430712023961059498802551718178071754217622905505527475369618828304256773347672447227888388561698860480843514710298171709515797968010732988038197063330335620881465865518796075765439838772058134398336102438863306621841305945255754728545727700019283453961147587618780152083653394969593011071599284421317446011827669475627284293326392607585279052080316496377856369953946079245104103575107390387171747828594726604837878673005775246043538958175176548663054943401982010575341301865447508170638093328592502754705827311643494244832814937019270178375733648978287804277493714335204931967024869887565903696009150674049690204307952653987005003372590932806739797626463940370892508368671250802343882233668896854074907695830160464975929249300093253968264185814471616639448384278041757447555211286086013903730141738679745476143091588846236211435981469196087283019936928745544039106730592060271057740144507298697365697445272259144485694753809246650534288524733118175436257924366395855318515484010348985905897234631851006350279717577378252716722415971001836436634682318240294327902722055787160656703864439635744418550240822343990244918081862792582748414894596395593397620402140130032501074291363708045452085173855589975926954715752634639969883781411954833523324311170783671626313522176517536755959546746218998705855717910552191608648911007463414113344200410380314839843975770128756826218858079157810091757545731809590489243060390351010096072858915841176601930711002886467146888149046067254331218905570731630274746481972237342326627540129335008946459637488420624128761585723391717096752921811838282358813167280915216406471539297437645565752037008756242916884047233266645491304200234493042513375919399472542436814018658163342760595015209677024754545958972876708539895104530775265970497596611932820181926592301850345598363958438739562991776594347773586144098707754861972546788844555126372377102998095751428833855135365425634983315418445491704778691385233335593882826482730945467746584472983132732704257612077592412668570150647155958574792397450177229343249462968338158320327220564452861719725818762534340732596787532731866561713448064745356704335784046968525921824531101452346597096616792934036563305970756049659485927117337809438267741918944523671294995862573374373278580502550286145330124152507249588917067249444614279057857607133696826168298021046791676411085517226755273318163047042310580815000650336025596969757381788464818517366875831757211619333409756621795974802403980146270014950629535780924152470229171802956247133982793837795354404165840921548499413608368706247379549454814940936059102214878680264922330007823895932446955119949570491394768578241780770698505723098847138890319831801247290049608782866596114701486416248606804444613785629100059589870125510729390091120666272941509010367952828345816813275732959168013605504812606240467241125629058519607483833742549859098033447461740714098086892470624645469952418339093834852805221019855644236016014784460231705738960348952433220377770185400462458007880331976887010248911425293030852867455892849467588626691622527233165249900308208782106185963097162374784521289059118020001699746604505672198016627724260501893034910250132887665038322416936799397385802387976903117626562999140041656725729081566681403139647558657626829362556408427691846250452478020061624427356927453131039441248356267987286923044058095058373912640538000076161076913201354763661867184897234422536836588089277380669948485242475075886534836618930542792713348178027779984249275652679470274295080389740705883602610499980386462927636460478525743317447508182587966603576330144838191821341903211965252344307509306571616709786690442208269581716061495508768764120625886865129359880791603204535200977334146027169901023077346891941157815759194851502607897213211806912047121418811546471153458350726901678333602475684506504442910765537350089914618838040551476427931751311446775982449843459857762175031100992505706476051153402969305268208104175139959875257741976458725696618663294863234221098471128453574403896078656777682878429583285875570263676416209430818569840006204465818181701009813617183018060648892470980045046480728390766619194630842952475213824
232127660681044744039581615863092224217090074595054986200703825444502349745543590418393874672151415242627150461238430486014271632057983108900698072301864463207868326268252409686084193405552104350707692496758239712890744669613010420639588873406288280767394943533314772065509294087372550025191455952612237537434193545899916250074121224575613603940968026528769082206209446488406946829556614821032877170725376890335904836178608373475863918860053238054744142094757444501356663938076098786325106271970910414650973459966898599947269672548914389957719150956252113010235558498626665147766376387248918028864655027644031297096861988735663059765519363765939975994736937543757170410504115229525646467648970545943041380533539602793028848991259741354830111694061194406101344239592635221248366058641690505782119788198920693607299494609046078561239028581238375963392339889889113124890816706774809231664576643071002098632447627843147286880063985191799082226679731216777697730856722176510111501684713485489594888155494778684399641016622002659270991422432543606390475240691066987338090153103896451758084097437646235890804676425568645375621462906549197755935338807162084200958228725314528026030251029262635862988817153299396898443224245671210251640178963761367396429163781282831825808733764929710029318048891884368859126286623242620730350201858714743341101459951070643920675220838304366073778883493376340660929250354258887540209999395849574525145260562859601033101948180289285529516284477965605592122483361871102978817891064069191646437688354761206965444943826608553740397647624618411939797770229796830262004069358443712333292870183584820835520162253221952313691875942388238432853885979224990305679246670058488557479789903516907027382389880562794268521259409631647606815725202120401964806572933031306236198488422788236595395363472312081290484622267969918775710400749426862371446610577535089207422900479579443627929995742916773514955003148389070159668054784926861738986209986482226390242962821784214047882101939122874745935639310245231263222107571955016222896041016547949936225533953942032701548280323287853556724694882791568375324127196839179058293347924447257635451126846316521289678352950592420060835081454927697678389884331046593498452773879158030105779065068175880767443883329544488463307789828338418829856069436687697112043391769354519836644512612896042877645580799686769189967458863203553856184499215757080708113692274887810801141705699908690453241310705458707105368413227889499195539831234875915766981781959466743572622092979072711427024853639476009318376076036104149497432240962157272749881408194348098645787183621804093666632354022089142786340145698486956546351010839330279365803554743346307545298217247219573712966507605871052293148657817688149872410627753097415486500725385673300748439270626979295473859626693789011200665846669805999039027843343306968985507665941604313528426179869349843029887782750781790987661647974020958078506707311221027832019372566029259486247358287000454643868363668926085725925304958177417977045880855970901935974104898806290368949403244133471062086693891153432818171684246714419474022731166844509691420410998285301361530410020608408753001627465299551988333398999888939180897408696589659588346827061973149323122972029028616011041992959248094372483977656737087039628774262922460608368218798204852990337400996163959010596394666484932772505529297049056214483288140191289227115752649596227697682763879037976629715609389837457440010343976655463229597326664830780236310581512651911200263136367784006274086370505840930764289291774373740790607446795117259216397737939289194595059209273352141644470692923985001598860870887240094002307663170913156934885462535840488999506886847430408003497730104920581053996247856552922513980451231553928602833078098480758442246079455693238232118865428690577644570742334831900373246260046860629664742005849534582939658674922207877296047182782552947862135286620927924710730104904834030588184226572847808578682446177720627735886040905517857910828528721372754259871514677699143817525303495881168626627893569019459727084244463034976440353782757427653983043845349341861807477671132287769875623391632305547538759928666211771253267434044496350187223271088075288038815102888404574580877205033182782560596800661950896190502269560674571349943791432667928543089333642585112343205382190357301741410289625284917369562492828530292270256946332510752473947558084381822625202958508509986844899675379931906816422506998689410492124928828753083116144460631898460226928301375133652944744271109537282447028676797021059735182912595239646340073968555520920283753180781106595784181640874353598588721871769609348612695763082418536544833629693765133824623819344310518562452077283726184177820197077753417535133962583602732397662620395109257310625671486835422422328265620443200667253322315086905102144338376101636421287602003777772208068854698578988596795971746060339924157190202994158668298943101491673077079279759088203375939176378551012935948251960076086497413132993079650154444560072005699915214131554266084425369980635810382083150334452356332318448281406171774976
249245177780518065690673492413703979111075268667990402263438555616557563788065910647355162140903262606799879088172593648950170512237395657112226183026687827325597427799100455668731309244846288252567213432300306396348544494268551183188559403541373071661006766397838408123764196922327817231580319863773521498165859257943603795801827058872932977014788597130680902802901275198492469943039136709201275097262625585316722431488840144717647344212581564566007186986140039296465474811424853361632905865459885423567932566280448682330427642022554066293048644027497488027464459251974096930799898507915183586339619338513272587657870496461298307642049773957359898899105053718407903969653517446057046292952562625723157052041560906279222290800495794740103515340504996849225854092672089159429864128825619726121975847967202780385246899055795303294392090248807025985730648260997495484462605331582056821659561080918854754893432221504774153715251172696551336391601076060532624564050757952467217078262323330826995148229156959287063590890132923453898484840211073888885246941166465287490585825670217037617853225528091995592126878092919877522828954714826477144194717516860200553578471059328416296368841219338340006573426621786182043834370361988029399883624752235560528975981405309364904529120067886014078671055293293101015887058045187332377546437902544558810766135776925543956240322934523739095223056934861403939711538810334584075635958094338420180253405941720134669195170217057298292119621133073677157750195316385130165367755714966954700651566596384857451518358955960208227216592645767040940221835997674947674942647328357861482081182357117580382644623006550488954144535048361666051039433056821067197202351878454527690391478454139027766419985255834636864418762861275048469467551610407529073304593428302064607158339785127524327683367575903347662081232157961037363363132596460566157314049160140220109580979500314106553958730973311691474142676358477022854905948379299296230214865021732441107840414703426768926179351473067732489824469939588816503873929901435190365121985643487009947983488503079650183228098138390409555042461349292084839141244927542107156714501727462612605287220002819269250914067070484886996695251324602639893314919784766989132015222602866698830026126267317854568041715103908292131739063323688740723645601654419700415445003845573309432042861012562003001825374753395050178702661780421150400821777868453577380445207542612747364984796360691153920714711669029958924000040211299798536665471054787838209309377535928115311007522578047126996279309240184008649754124600969159335341577727114265017323159018287873930859460457898853704276671745091732466001310326719138762287674922866265104667472095804516127353470410977804007063110327637856798044822548316333507187554720595840554161136252935953413729747596242372332336979886148102357759376217741819134308003698228683070410430794120893094280202222267782149025394366140177681078579390471168141443327104584602091507246702383817518132541402265383658136487221768027408535401033549664494283634241976877535657966610811601643429365203067390517656183944816744418045124588219206773138287980549272160451429256128520356319345886995950404185532949559237658335930562260525353521849570749643665930611234135610393234425362750167103891833660658206520035081579920125726377760359954618424197440916015566775496735321040506351099008137015403383667464077498891437217821025166562603634818509110286391629211460839552391660211027515598615159077320361450507712764318619238622279274823895542209256569323505133734764943400481443652705698213484256894210041989772160204895717844406381067989816753166843163640321334743548965403787828693676859969290462313916872862165774317032031382459784121536002739851102717136076057773662651225372692035205711761652371760844997181198680704011604984803821845950212762771695012571636423440155720063894457970008589850297932636708387548394544275025890030999797614066043191117946451434015212227838421028724288358874857677337275647574987555267818029356417745853780523168942898210175675450805867942541821022488407009410076824578853978851401076178862497903260118735794363577376247896717011440854815319144113668338095939586796504168114435754140590737208211371856593356424428122711374143196360415125652351661472010599271327562674024558394218392911706788910388434780158403700333902602638261079691364383540260714621703696083313131693035261518794503740205860988963497870084138029893039123832797058582539455978620863535819425533231298958716455519110752557006390845266853448235757716756672684874705065450675754804339870446468257543645191578305947291723678215635737897707140895737905419741387769618048422594449746847818209187941761060319323923936220455675896606460223633151375217118515652598754306424366408325068865350376050155359664214623996543083499458459561250254051173972854599372661316202891368199228569100378182204122400021348359561643173423998907258467294204224563071277878189844718143067886170594798441129648069763888957763079106892671229223672294514148701543922934115183638592971565358666965653620472234754882739719376098759781083129361560806526728166520047796224
267624971813257739519655575532740673126783857580858064940838243219647963142794240330712152572989214198976296975113897531434571770920795533877360314463633628391184024014714428828974695754469316147941292433395431505774153105021071693274241909890865981429772115028356921996066986549275456800175683053031612496343822374151651628837577328726778438969609183257498478937553927723555266726904018753523134706060549003007045161288542252633550624363573172885878325351607068513618515677045378087452247962399195973532844501626969863703869947045316252280114969558811858950027850572388342439229884802903727661291164352000914756480961754826139990255687663387763316068380652347221285184392608470545114494647322939218211972097568531315345195825582774748568354510525816398002021561423594047936849109757391902656590793480251005588726428082513526729953771954926669905933824236465878860918641508525042497360379822065222700510346839138908224518270170789334030446755317689599034710911065672464654965817337803719933198898725363447185399686361108831841339023164587022450418377298501125422826007283684864447670337342816862586890274122917430777218963475511181412301946997718222495405157242374505929094404147618733271790323090806853245742764786372566953996668629196958840045075126326960756870683242806932580921938406625389251414822683433320688760968878180928818747301466547690679765660530064552187404914840093933053426653716055446355654707604202499357623700878075015097227258680853579380692606821615476837749830455371626750239395652175042040002987105659748645973314314859449653311350630530888418236469148772358075597477237739697112509192060208050142527455450845885957715005422459783517321957946356948333950621003061590863339453349403940023502440918652989629178643134488929509294497174973117650503103855283472074256039217694596044211112795412918966389237853456540379469680768477424249827058086034628036222960804373877344178002216008990923971206149392796382316400361238670176147233080348790955105147584573877917222338201828833959168187792767265642870896558415161520433306847339555781853936067179773205021272303166322779738320846638384283942266922129809975254082932096856550606491649716447307823584043520779128265441129417254634263127376109394325598201913368116830610918785924184751655843283758839122258350145229050872870308249994026785613476200832899595278105629806812016273453217193951371451722013764493519556706867396176235804379078863569081329968976597081511492965891138312405700880552554391091591713768187097331880744815732080066923544570673504498944586717015231543218770900567897312476293331749445176119960361738471111603086959720190383939190120224059865364264936601443990327870484397482801553202401618243894021931611813336898058452966311109969783447396785508068999882115792388203438149230139975973637205827048900414210642965603975759759253173140322038349976868734811729140416389505136227561428301226661821129166769018678222965404122053320299604048037905309412049205983435585370002788079023950781147264230453894254522794674335101948680147004329109850962010108823947268977244208303710289348455153787046497173590589661739992422659540472252011435538312882400625815464379189929667603711383671835839311110886658962056288795581950339437206381163975661366984889148591226082437614973499739709391161039612237571750181321932568544021765945294785481915663089659258867312633401629761145274874688028137049776244632867894833837039055881039527310327845643565556364797376909513045492781732121936207437229627556338439777395586806878277236138429402848369730442538089707785809438934940127392873665525214548642824941808042255805182453853971123954849089109913652838345976039690548128890018524990748363651397979105542327643027610209304305263556720519909046362476621914287407509425672053162174870908415799054615129925519024853550747951041628465086559098370371823969469157705439431844208360561526789132768393402312046241515056809109139233758121272493764421897086909621266329772662373775560256270204529817017948314370567739341245536539006736243095007676040365118980314914527982100968247161138361053603426703081560816491854768743842695437828414036491137550897087476332317519960942729104678182858920684702294796887381733450607449546194840816953447570637006698062097222298415145262878387185808928328047081446751002568259364718477823450509352323398124873989595153663896014950231155117153451596620038297987231889799507420727183463313780110072444257401685118353727589384704250770014452071017405839306683947557821507647904846308572706085853732988249352072812385092828343028439047966996188655609114521213015347614119666675063242351245782529869990883214612391332603312040975096596887283456714574353874145326679444892534114611743548375056010707307864493737231020993936789107954105319288228406923179179731369229837897522340171292829381527087505370930954224017190617393933331764095279178750108449658726118180226535126581469432912053713511923188710857756950938413685935703605052638834043090904938906357378841987520091227777898947993489887220603003427392269106197774082168350281909463798061087063985852400140424331478040016310255886920206271411853284738072576
287360125382715952613951861524294742082140682492626766134686107363620436582828660069393229922687731986335508046824478943151654429967405156076530656357395553816488119465219273649941473869248939672723137182351409138277005687040589078371053040543462079839953638694885773147082686963602494863053841441808052331485409167153604872560631280688138678703100844998056678451634736452254399860152430969338137085483157740930166156332333548643817451000481897811950336905100015077105713863243299198390608240046796100754612179085313589046424712799221283380094806343783120701833629124395702847035305663579729035434029006401240260292383695901260356016484298060275002275551550377615264085513895751280961511771454769473204056938680340779539869755398434421508926360810617298279800587050297909667255799923678179041318244213092022718673308726322896695693318534563008331043292858958280081885824448965790680793249415477107669412185545929645906362848934508131041597170589697729533359132960356935985198527365944190395058143672163022843778725402404919763828641335121921692641178003612790877557968295421071793234300569171491332004921424601362324124827489584755262039988608081288060254165156434012087404640177657303919821629261072268235784156496522650384746507063837522240162923208359341263458747957257750669284149746345599139524146288746268338727139023265224311855892871768792373479380230116319103447343086967128008120224611293753055054838457123061725613700886454668319324334078499556201153670031956244726395255008841481104649241124224099207309488340279579234508916767762495774382697265929786218537701247122559120873165099049104014793153099494109579520889985870003931132896794481858520534414720572603859169900921760062157943839370551895873622113780446696707487359901071220479117298349818482497017797251233507342064742992622928631454424894016406444134974946740270371781427181042671216831137033852770434775580004768914237489963880093535915104288214329037680009013068990668614270731340246849356329303279249549937591634434376572311110391483380457818868729067148018080204672164614064172557591414352996217065866881602488396888974868566723009453103595662528127602713870956946897314562650207307215102384601107296763084864714465103048066143284768035086703063213580171749145266971514099660955932187761365495256239884168905982024556895790834309889470894862907930642774926213435101978575340208501507349873523000440378124998103231296402058048099326408512537245234794763615227134159120636998779091482905879749895037804739127062399164288922707546372528815860265629168966616454106552998057897813896696142993158791686374395047481620765782344006156160571752478126304772161328521420257445678831208486011952716724348365579754753750443971544871712308447785346665101770419863692832523170774651278795898114875761425554693577249389298998914867948891298100382193935686303005477193405302113393125318343824646186739430350287096204337301250393266166302245195951710910650763753077018004068067378082010405839221694508557056633051435288307417520764754425803198058353601775437016474307668316888955063635471444810717461832052578008409503813447982004372632242477652633917677696146463766496231545461838209918422723724522770273360831530483106907451184266322038926498944725113175446469727792688254846150124152939067855322179086895184150980223012370564942607353462955261801907181040843100060208154676440966909264304811772928894762839148723703965783749924359234620945309070289235019312534354712344873236020419214435882487173785293305799183499087894891347567817145508955903509639309791759175632313562028278419229717616534222609787451083577529661149617331196653958784278609754585617222081148385455917625543474155586417355731112067366234698907392630087068499426504744193818505367755346213171605332599402018302788178613696166917027319925224223781892952912981515700848032362284167998469827184733706382190269923968905383438788282112901348102348536721621676466975925407509940655638994083638623261658119884002553939836189476848698787238063809978816355825540835251740121947740947365582740479900356419679600132997872883525714066705160817101531866893420534111844568490359886569196593735131543124619444030019054708395038995943030663570912195566785059537056783719220638185244917584148413877413536736033750383787998947068705618442543590510980371471494777899624655299885692784140480377358057316631990038992469717119280805250512157030665898064290092233141378281175339724107069080810879654787339025055379922348722273094806881645409717242255611088291299453806524269240487856011829861479751179363914362253827236905979408121838457032149791887178899049954421157580695205929938493806228892522471270939317762958517944461217732114112446269509863022217064205438569452464877039028276551050251013191411980877477973953820644751378308640323584226863619309962616272435058241686843424593199366556722860876248102182776802775180363486934372759651276000560015657873495234185932265850394292616553049290822803165535612596037678661722866911920737153654687607991560640683306210971629804559280006426593587647647727370306768381861392079287506973866321557077815211303057963905928440024322002401175049409998618624
308550585173306125033602239641291656676887294244237930420679290588073638820122772542386253270438104325431031486163993428269249736250881872832618710549107097844406114668914447448843295645615693994255704365180222657103820303661335279044613440553882924882185448087683629530598784579119564445206061919933767968296595868525832584038539781917538000035617455764154654376039777700002928217865416147051219386928729714026076065323348974697205276160288057835585163745896605091318989844340946637057669556137276690580345057583679264714694491799712006596163882656500459082799001080568164872737682095609628623932694937002175392948578842944880618568029224266599342884954872308488502429421382401326269950123279315307657643221538485261564721631883948822495379422938474336420905144695657657269506475684629268752823622905842873153797717371917063910997316787914691608301621097344038395026954503576322999197145394261323419199029115912933771172178620775217167435565822221195717807704271912176135798303776022830476993011772602382173632635665973392533787014570615607460641705847107876666599653543259592475302348752506435271627153907428145254790671472352076117656415328980423382086729198666701474367905770421437557791625957435509491308142266877680281432016272353785569793103222915691135664660580382211241774383722930260954445487328121248839218328093142380388381291237281621229377038954674636206301594854153874655480496785420245405140154664976662089725042709212252454506324921033472658617252564406836500710022058138588048167611044940194867613444142998528077214128034481486611577969836359261710222733949852451381994188766106125610409723191762058697170633459531392247901806990510703902748563916840077992174528541629930431823994175299404562001081937352371657472272277120671831153561840086287465259964181001652423385989066990161932959697958572182941250842101507200763249747750695936014192564578723023474089204304978502671862042998305750544093587577475363854697606029137878356866607499090616638118252047710593101168727724708709056199567216718998464387170765121331411423942983354733520695038950294125937977403833593047934214403800864993429872944697267641440183442739151412786993679201795868027272394788342461246104038505302998931178500363232181410892545241336875184160509398960505411672604210907199063607098360609069833223558934078228354382501717045010991392438641693879219704101494716896948808602602755798804411185163360112492630445920050471047620868566343837749862817206306899007110947461918224142976961701009546136148240479663530995860603674234361745788393818946540782506487355656299051064151239140506963678885179482087527410840165583081150388739858588440409308853010300272769139987894752595857357119269024686764672550816394650220075975646888658692116253687373369155909837557058240165584861606463936893396844168793176224332161681200032112013625549680917763637409862505789208379078934732704240557038225602108610555834746330722860091996427489122852099222002924168886086696675474752786153001988837597243946812285172361475505292073998548209854807327380466241164915763356615481987180250975102216198516774651907963586591926494246119719165018381171515304421775787573748750533081910702106575017152882851437857697642811993633785080727848337978843218199610324419880904580621882073685803249679833404680417489527089396045229544965385675023126299237577343249493088756462413821955853637477097146685041345284954954969197168256677233341346613137764765376107417201315864091496179505493347428553031592827636825818543805068021338596955819285945517259720170008114077904557412176717432180809443553668582388743455217978791313143776892050101107324401852136962072953000203225343414092062844798931116219561167981124762231721616914569713846209387158157975324091478527416228682372334833408584441717163190307913647297371154341801652553917433530885946913204615490031352999421450300754845093421543214713785696983922385733267443474656503205039127588605911147666977717569392891343897821618908659570688018096350081127607835586557555043675265149242229686937714149797503808806585806844040316883342395778618077039772886457045967929219952266577896306206975331951021242252771747115994563541138658570557347877284054998344790561614211724503643267946542249471903468927693533191403440923337239885662649226018735631424065544794074769156092000366828417866297070530761546637672620648764256978521217605556324420597397873700424281625322148912899541456765503194139182381126123877319575847736869345338835695417582244066025694351019023789724176524918860421111954548525163991561042935370396360567106221208336306446183183239087046144182159873280209927290604887097603267774547312913618578263445981248114678694022518624941350474198525515907465503043872720283840318367821940851501125638561994761482836320272999870864200971633496005277970172397120880968176500357975064095525108345842260204099760875514273145596710425419443913575243874696768736233953646734010110066274655278873287403738289983131755182605826872258964190100515019654789752538355055298933901817319206598600244830227222320907489140096047912921885379646393320358531944440867253414919490874942077767605190111221570077296782040598814130176
331303668120253074803952130082925609156222741964232736899885268795064221593035833693598932899126175417490605334155157066793837374913540823743832060961526296810799089761353354903673146956694652872417965527473374364564782570221556020796912213035241822045452788135926732307125402766166913441481104981766625977471561020861791669904174991732699469747555951918442732407818532804155668949991881320253828525945016001141357297943035877879907040926771415585798705827857693266160538721300124119960968102396109868136423320679284806325734903227775812637265038766512768392401966445627232306786086646872025030624101914892280898392523785031445646843483967349323440706492866750203535281595346404201569115361758956879915439000235969250949621299071327764988840933158024873765772321796499377796126742781425479794443042009207906877559393577958714580518832586961342123895276179219069341802274657835055580371093431227352540784682141949460932649613690324985975358377848423846421499833666175571971861342392572841462009266495967555061861390925909725234696450652567379157657433446745076616761751873307617729927818901000384380294875684490623834815880324908083780759238000640999862574053535970442409151284388992439612005285867462550323566516823688735210273646484274834491014525957193772798229204103920494115896131775135049022022278472265796221780170340961141409922356060593984780508424190911397206690714752808195349243000214803270907842808645614150069653019017067465553650098340247136897517818086374874102342156379785961575624090541116630808066698041025356366943110674313686328547308850309375188027917797581295677773761003119100690494449567257694679495059610072667297521546410886913900061161633448449659619736002629781434859803152751358400516962809386189274220180864260183640088245514271046620336570573883380420100492156834074663951511804526372147000364039608334896665976317372151605266414177995850815863358969136269739674023525367245498904041152142138500406678466159902654392074060765637050297839881400507260570726238888099130689041811290460706604279779540853971010838976219313209545032870239860121129568463066791762602805944213310823139791727495285136160556701335994178083516582607159411266742924882928275041063198450275745033653449601585003630654995435576558700841270808996784691212936249576617288577813067792393668839969648652671923185787343041991997765366940468323000778679218447293433783585574158834825485203308025156682201560128350954731622274890297356697757096878554043679097698128244530120919646820132709639964067024554677775901038913505384398654297185984458298903025095331260179090892526588139465267922903664037009765516765639577958423844822254070406594410627705670833901513449572304613477063308113867728163476328280831146379509669808308986360654327007166491969358059418869625151328112157790136821013643748917867848465434628988812082610567391257522033340402555315164468298819870803708249000395731597744327654367727671033677051853654511373100862400730433430777910458997122553006298570109304492823182066579565096383633187944128201435594870066963758840536552884670095554067298784032207437747709336621901592797097605754092178614593592630099813752799468473517915112343138685034501310567719761206346919433450533416780604707122016771590519679585831834664347166894712112296784216351735957681612286317865520663158109823231562802874725726105881784796196757844004629689532181693048506791847601681333106463631259559512707211127006765902457873624165669871109739210671259844887800241823212372082963973518277637676176016942247505517267075417074102504809317573663348385962418629717741145545583674673814864977890354174318926662362923004422519954031375504483550920473598862897033209979947592987623299770255079606079336720386922853122720904636975296884735392611587451162869595707408496066878321283571973667951625859457563424852236974551493521484918786786658990657855947447898212261603892224628121131670162236294571524840558848358432652877873999030316769724230658254713617016825609485719943852505614139402419033576278865030983921879450165594180970314930707453231533379858059259863274240058259650133435256166134443908284617909540214452095027319237004803994742230746122290463479406357509380039052398525628081390727417170241009441024667478348978441942071776900372121956964428617545455059067855562743547026041165185687014494792004637556551195795666810264196634122101014490960318107993162560815197726263088761336370772551008539952831799779027426083073601655332362913807337633983200413467605483329662862677829758764358640566158185138506094197874848766923503798286308361986509688947689009263553021626319330595501470431921469535494598768602852542167566664879240430820451662093677045418497551189189725561023024455405446701412501169005833677110931781202720992273025615223379059293491607584322260203881319927279027079256721448308798268446040073062291287832689520438532585387229420589689672827980719261735909750020279375627658417002509244108632281766175905128820042092633618847555209829209740543529799227041987036298152992765239683413862730854748029304720724546922021212138377060450838823186423986203464823605882945211662476538244941889811522940467737603012736372151681024
355734604905331187881604002563925814831713707906956601679394913906742539490446481767525575335561347598920324074359887847905704774899037166385164745886508439761592797537895276002789349113101365586276905595838383101642630603113101645888658453192337130284167887638955529477812558162878707127106038924657583719376096838667442239550914760838253649090573547354964998735114983274137942758304447434000873984431432804774707066929066791612212639075154190202157530892443349580039734323431422923993284699072617780317202657182312186959681333132255488524219213096586130052947235192514581241160220254034412050955979048458330455360347156903048346198582317616418996390145499387352496344508540877959234085590601482208577752437874106053922560105774096980480961403214959708194630121574488198729678228929306627994560416991075522725932767928731276390381686168274510109599347829658434410649253838452788470009036457720476075833178994357041097639937356744921593955723684647816381717104216415965753309674455689686844280656512282291216943482727963357232841795010013687979642676156266665429501512429880738374427435655101828149198929475318210947293078044232518511097240315658380361624013578786552442489054391779467631204407944970661036118101959594228952932248715156448103680048711772587525812209584611876902983579926777865383235617455446609447986548628934317890611962294879639741651355038114927859100593062543980796444496069875255905753273260424707095998959686492707594633426449636333383118483064564346866419229663324615111804524915959718160588130268227792975691508959671447506578250675222531478693439418897003209336114398829172864651169740223287763196120704708154556585935922526368388782625403857757747492274481862170314587702221516194187448806189890491191710413178800625992283312259453211628509224781906267655564588711776713395023483332549678285222967012553061757548976929755976951443287565420725519457011194287137974833591185546736451849015147672161300687291678036056151789387213149581962908782337514924340490454872748367292478866131267283072909608216690514425350821366096017989644177804231302723966523781866213621005311842057642608317061376460898413501124509347933625628775919742858021712318698702890392503764873603273051775393996359097955089426117113707648631084376452930163204478254941016116275187475369342440431306280974648959093275095192594022196273989022687756553077252444326491299454010395657394571231203884969765573832891507861228245673531919737283683028321911323325342570033062422667690059202134085095570877400621403592502828244766482249678032208205917019489516071364978761188915621603286717366203164187271599382069131784240420963668215304540041349801104095597671936337012087704298375558476938617658334132987242909082419349545709085611421370480098914167410158859874829517451328183323170782157319404751367849269449802231379483210361175509312363773361799112652638365591051165025124218041245531089567576428661254445476230972363084285576107582064530133314524274051315152247580816519710157756485495358421653231667717698102970063025099295054310744668559333843433058130038478512015119724488953591874926230614598460845108431831329767517169356331320991186384985621869404486645553906940139373891918547381649254222364706958706048180078886195981866386638709762554750760599412441913799923592767441187571755167943569078441988975818329260444648653924735443775030307838547282838477793311803154832159340076485845618302848610792053465340480446123308373136845587216284230478810227783707002897137939728416251803128016828357776623739233560413053474707566676925423740538057890743374924707982777964489988884578159673708563139218272167797096740196642118045287413088143346200986891386363072443931918940251320212470121496828498858432530059274439987835913119957298220122033347130520769015368879946754681080592241506349094099531802396527859535162235683399886616174323494965204941954371400113728402771616505612464165974852230380762967015722882482247276960986559621483403991136855733283768619108634465366965096282143683124510911671018492793514328922197918852043552254443221345605677410785682073132369582999876615341732444831307214345332776867143675255087371826538077009251170229089314183168749317820241313624482806858100113599183499996807046887195912620787558252067926628508821435086921055318033546971708802627971216205564873636752405560146430184123020412149340415816925382011774163476896807347578221333518381630471215430859209042728530490659935705428464624567645990681301445495696965997314260876582793795476754449537122432911667082383149226219141957038720593836842868814825847176804364237391400318161755564440072755056253426523802403223947780820230039944389032359923697584160296449614588403953413945005952285584743651000709442381610456119101718941088178552006328430088673198569197830056282417475118140338244129893026504652167010768009292713626997913016781052501355258117119464370436544896279255736928249141286158813776023093521226888346064080368895657877870186964301198865094708942718395289776438020397853284939133002282807261465983515513598228046056282585613624642088151925288241940338204382983459154818419010722062533630532329663540231658315671987012283447465288787375947776
381967123530969657000080177758690381018090529773818803776074958074548700250864035907445655227455053434762729202274297610245706025005601582878198280788676069101006775573602382776218464804474242581499793983551312280768535579944881839553890228443758693094248065995679163676392223731915472081420638076376832518275594361551413159710044156170990242149168381943070493198000054990502366684909408535096218049637554262732229875110106255443525099756409733268907555955788469994741498324916661989323962876533523723892624479700582588163517249096179641482006206046173079456152780891367597608479558771808652954361053887197432131133369733526293322407449243931601065532204244137566751955905933065878509404705024552763741824348463389316708252042723511823774519894361630301163409893744732710370479184463643265798168764218198023493496502337164622717256567762518643417787643647827888661074894840739298429673672102595282863813479933119415015422868432677030815031006124393747159322003733332569810680263886898451530166716091415465774180074849235871000355141677486195596228401964271078368670697367218816124624509715951671862655402673675538802963237481788577106219315057901365090375947942287040526269852362664496180078380303672889207407180677512681695795082883833741032206756616187548403165249000851439037873060152628251619421870908377481163296709852296633668061520870723290236663614730697112161059085794457720020595285924828688728710291724618852011923666075877148015360347927402360743461730813858431569717668007373078134246954514716034488275823906956519677213388491669962486433582878742672555829710778479968294126413303671499536101852120600959170131082715197499261262494050200585481867397340646965440342486228063341670184053191299650392369479064955506372443072726399022285296093630226852696653505418150038029518125233192938521497747516325490132588500846750555428335284257890102566744675023051369146665118689342289908837486296039275235055649697265135829022185019994455670188757490089508921691176292702258488580218069654519789648199201238755958230287713714660202574502773530110115337352586495633904727983760480406337391888250979773087394479052681075727191403656718355301813575002951973983206416682814547964119068422249907858983357987969267197292390482102910066043891641470471883583794166428703657102715885745032825669322152836376071096514586845869536684523718976976729103769121852479585219395879326348132526001490785163322272099735598845025555389818272020932582620268212723473607076572148186021064470034367437223089488221423604626854139524694281104832913715969769108099316535344746464760246668122406884299759461469012484703900182456106684060056947231921539479970859548820914635076115237761661310412396046733260498300755180769929223118714103244957779737571881163798534425330331759857757228954784027777097106792608327980969536098124360676338470584290153186463761020791141225397082114116011401883706180683783960996885770141226413756792910431711060226645986198271048100459712135001173155125517282916740776483615695199702066389763078164415289965074852729798043217174573272742258445545107675920568551146497591134870725563592375419309072351684919381375984098549405956938427839828663284580693528231510136926599925002494356961582043066524852709783727961990684913737449452144981551400448708817580729558745508556022524909154191356300321083064752742408096704290194116450488393843256985231043174110520198437183672362211384378908451747725572580208255256774861486429182423964112136754087330333034772346175783591730842333965694783573996558326343519926231342040510283523199138237021024384107571812095372178487894666678638611077429523393491578888715723196626505170221533504509323311135357283374132191596374725599583345735801506242579435262606780165309117471166128480192985785588736750536592444865186865394144013404395275783879178915051255395164100891078611680776644206011449993970907900871931548542632602162164833510708476571979508642715114124515025838783122885367456339787172167308680971226675666424992389931826324576948190365405542284389838930907056747477197229925125176592066374447812615542289251909492406908731978178633147180635516581720311855538461179904393206413365816395916858069944682992315061612211308220092456125150594496197275592700711261462789053114081667309993232327800528212481190240818592286130613807108061586369056041382539369652988907777730464538476183909753219179767757359781165241357327739429430256836227713004736626265880814328069486307502739417420427616780386244421222193574833847896971093272246105796825891043918840917024730108665685489052734820362623823389967168547417011179537183746804033258706806776801917571853265170658666019189481138171739495544840670218189892249870187500337726897980731554397921181956853315210796240937339369383268953948066468441971604668261474705598862826622274228988631203985562291694669938807279762394766831829921444957322666659299015547393188778868331802390091033870657543363903604741810547188876180616555464303786269792154793522712903561276797561112244940191854936398849737632766930053901503258185340428870136209482447079417048108626772042751069453994724227617368982981902509125743898994638182414407120273539286387359243798338730983424
410134075928176679995920458212860441565619502436466509812020813043689449384192007491262193024802723953059597860868069264344065475457304253816923791847697200981665055440758468732882998221635976590478057447522612045946007515418915245867069440184978140538874122290672921324683932049323006006525672439372711459515750024456329835884666123367579918491449738510681175527000172197602313880571461595235381184119550052965079729688017691553740569602229342691510281619350375130323006819888961292408180425957392560439738988980754522077335821299994279676555406859337710554946414976969390110626879302357022802198626755401661024599351604942916143960794622366538259344892515840812231166890004142578302850609127245249324387541006691242144432224205669513345219556096144235184869061369115490825662035280024781903442544751473879739101786557127404984698903345306367017420898535080730809011475386903603804358144408218574155987029539175038688473138882214656270235599132561712969045226891963323107127161226719673048776800760086592962177685673075049134150034472562447394315051845721610518023419046429529432774932377511670041657089550286849818476523218640833564396569094301677364230195189280333626238911192098085628438392530231401956911300491370022627174425425918821208665325594189286148502941835588401705550624688744777287768993494653773504803851090003758023804187963944493857996581355371986003348164552713521385795299874727083123093629803964351864068986961079251309931000000843630406590594918269356791447832011263214364360841807076229713488189776958299726902994996266314326194770535076328056731335484677541103597463507262101808709156545752341875486075073711035377026642904251524221168218146679022011978304347215612472478631689339107542865120133135139891190648245408339140430475954594562348284053603678304539484157628949011151992854630070801552659578740615485858633829402625405121563509101538419153237528058670879727051956255084215366526682047446514756662033079834323301195618891702371232840956797231680918447606520428603128780953728653444882081056941768769061452556103943279354163179341554939716898867506820610616972325493411191341965059345555570341596624159485036676049378531630457929128603217509322184728695080887418248336725591647091016364099217573418010021928675170858522419978805101715830732940710513647145174051989230137216129125252522490363185675410585602407113434942172759688756237571645956935077462568142380457794344194411821590033170876502428284317443717490098922558478257886060856549066476295034730125601998097897108693203155195730435872027988619997810989413309814428537889218980119675823218180686918995184804737881824352790881237272064675184826111922198798785929614922354228399892712436323429760368912601768377353528382391049752765285218410673011928281122380982226354798227567095415511446912872618055803876466978433894011445543046546054827673010868364381902399458073488702230263407710327479757502740985151085187104197512037214061248732714622810380833779346546351093905724307876302545281476693822678756141021913302476113845340588368666624730075639854432295922065199008590219352155225077614716762322870855105175221688166646134809851600795771434906319532964430008762667504944188297188698057157590441495393636200847896948689934522707427680690285731631853953203447067551024234015823658117508751232081040655724158940651515603119742271907632941655911615813696089125422721359192179535458783545785219240536574268108618844153717198299267028129785821582735967076258871169527083283914407545298414345964728742270342028303507050478336171986648545393720956989005847099048540140769730270184888445581319393444095105781679978317644609513642624854308219099869208953037104198040341825573821808869652796115290382131414854629283761323129466033317320186201340764429424123112376993750494165178949150671871515833037165459363869476021493342470106773833504819686361766081411111652418238971335310872007469212122444443166658544900652690952424926959542120307350595480523442014728056277079022247523586887951518433402468378276449773472149872380738353086507673152067551290542287452828661310622588410480893859908332075776653753280596037053638612709614691809463735307067495909676200873336371523495270152238168150761668267288459171609031223758737142795980396026017946929542393306707308305071033012774867554534422215171483794212852243771032307304523010556889028095573910735891817872951955615683880852607100417322700753163256119613841054425726333174543226664626561016307057707324101744933509352942438323176337832305765415662215180805659922680354211966359986411343225815518204476045552597210856218972072544647152116516841760510589738851860299376004698707332851332478914119591199157095029461692882739078889834631495451692616073579111722587567974887300236402244188600961694768891098121028952705990759319585983783196489662446544230773724749854951172896956552043546063761110085191242255299711515262320964598415245335543906234325610690916952315646706001021982685373708838714359432784388887421138498221444382147413350816373229352304908787728605642956618424785870362155962312698128823036734092852660348415739293482979278538864945868012959138852899463374568205690225201097452301221484979288917175986999525376
440378110771674921373083945360392550784113700236103994360473124923494101071338002889889531200691754057526702987834978915255135027192953103616342714327542722781747627186021122160692759289088169768281210435679713739458437915123614180198715602238877326022339042974786200730574621422132142434609831427878584618366143587987784206328422056935714284146780570632781848892825326143767596932745319335613987901971805507930021317260639067073182793227496688887903319100714945487517263051952012775575757003088587634130595584112111261431566833823193909049470732598207384763252215839632030929552067165540677162842344702640181361183016661508734196295510202309237987154769935042862618734646121455419582965637443799362104902645963399450544988327862972534400488387843144230454486283155642004385801619769126160086204589880649190319419796419508660028657292568788960360098955368776511886120977218864981261064853126136012404928773617735685496631715918394486183135809122329631475947077461470549494148065495520059276077243017019964725154231226706270946191878704232080219075890999479688673840050841629583620609441272506037171815039316256341847305050941961759432315593558657511059328042138413890675166302763177412849587625867038640679291109195815744354623539522978051960522191309058687910351483635910598560562638677632249435442851965593677011530959831605023307334144203244607069842046250281508449737528313882760602246852978116429734790170588489445601503234121421452310079701255049841251554447008787670084555982744619352335691810876105486999603806293569357920703523718353865534365703893594312466857079641273587036411713428061046442157068834937659017655999136247421574657115248607688972017341963645032637677734358206421057476355791135174687608152277731647945262208178767149693456411396674506556328242986527315825453199431611226437337148965459067708294728128020094668495694130879832883966543994526463387673798882968449413809389652102334681263188126293275297261207550689643919231485209585362552675777653364743219959928273679301585269368153063950971569178996502659878278835680510390366280714179840319967833033620307894884661630132817032573534570565965084391946262297247930181248156818619329590777809149340728339634254001291884008619960702962626672204801741994254707995395975675861141509172936231256861620863015390779462551579380386795890216769168167959403589409566034133636752770209713913511318794821556460481695524239208923884454054152191559921244797117439396086432202612235159519048375191286921368285996983754283353268411638535680572052566212262418675225546363079887692447779891970021599790823097649120456710990880733974829979456337071977013300310275883508578922726538169884299013050262346247576213402455685403324834399129919363125097858144335242808946394296514420895446329530123078637781920019860113833298901107013990894188103924099378019272214267468877810669624365369395320514984088439285176115899395342691752144070790395683124380642314631100182003661982687567890322596876374207124114727702380238661346375378638652620184912070413370566196727657256205286085594925195265227907866048630406653795743249705968567545619933828877070554375056413836753279951007771472003408804452055204729162589864301760422846724077647416096229250532290851216250364704852442816212476980563561360214279897399687974100353339529446252883896943909495414461801066112058252157448005754296104118746585282919197957603262770020938986921272608819573635993350413427842384040882024676647135536795585484198866147425749023622670165817568082044143934879390582950574467285977468753794121712778000738504400686210797488155287306944296334936795010625843236320911494005703068174402946384895212641434485202582671190601281893857375125275706680371547532009199442393710341989696677686246760184147523847263644004177220284230245292205820602147445666146904210205500127159090881242524747709112810742937402825190636115699519535213923949460411316330533448196407744432281986812719173765038296605530463642068998743397103652338010925478740192555668091547026251188922592877156012373017171461221709862778760296841893920429678732560755146128655471015690288372955842130417663953172633145509847651261520691451610463853149168263175126588525179470228636968352617540674601229685073010201071658555642304450297218861792862048874469296653617319436701101589364209980104349481984548612469200868008087060805325280792928777240369662789579233087151453234077023157447237903307688395653327869425162665507665754565721559904496833886735439166766489091349473492134862457700198683129265096118759074902502500522841998449930889577198404379314115952817122069160816579149754549994254198650011797510480143645177347022582017964856739688309208317286479475531854040076683250932280294148133470176553629310957237079475950270176872761796618295280386153836600435340253638957253152203819360552496704847656144183199007817317492239988077930874643138039848031385909071568351001341813035994405912129752633179068611923517841129089552689584250126078112349515122704903907236914446801516648187524480349514211365889341840044932220301587252088883546111747203834436083862600885760391419292885483492524901865981498001389381537492430060390229586397145235666554709650284151529209870664360525824
472852395909652277610191739996384234834946874714903533558300126658332416537578821343507256389935674063488122994864180071467590109464451065423472822291166656597600051122390307011349064462658474703815924238134570510403963899175586675318833573205230623755468988750161321182477326573909640586765761125702875898662806916011907903421472242455985706202618453639004016624274646207003905762662764510884631529777139642658027553554321275284817633885507141680457841386855705271827355260890760958118015974677113719855230356690883766340471423327221121408468810654615456445964242407688188379121652101298156643025484225449605950447455107950778847861515167638130208377651240353284826421555498446067757698842878227824556554646419166763268773561218298151149083148053517111903276450658519521680226630913055982017077313575620203917696954829191897802966373593713103768116349158164684520961218363646532188981595577949384031754847974390593695043684506466730745823041726726057630231227080948677536128821171231172275683298481986279968402762918681348878002273693868910333744866796206503967601157274944084249153705463561513403876481706068797346692854882834937711103749971315566916143064180049391440489657432270355308717255046303651521462634614898370511251182160738543424057873688665623279907550520328797999350302119973799510035378117298539997228121842058310573579476574270891113335494132669627396292585973000119891211874414982567347801434024955810724906859747434107676153992010972305756354514766527016905301375142320109562624385311972543627362878246999841844285048920572541856320565581751858984189060241334367027499467591211560790150441585319516919908000717096730956869283101618233417238585719675959032919621613968031914766671104046445499631007623961334247271695568137157383132928037559672204091846367069047520246183984334001533703412033131732358443881309764401958003241952237006485645417303659090814150083929607705408035424833375086275317994242781283776615391199920070719746123607169209471011385578142299122291406591489584475213222891998397904859262397887255638554735004187507802842282139484409191004662846922722495056848361624322813774423926556062035322310589029422733038046499062356116458938374737002044887375384226445891812028328007412966844233924007288447683563858524458774854781461280385428409301050599835612901872537977308044677057482015627468368044774516539097386672922031080011821687397179788396599670809244402248770861349568939147242684807389319363304174885198944898913965122128767857327982154994822575551260674344130346517085868635420594988341763289964868604030205954413945878796411331096711184572389126664592712231329896023417547147415393101713052136348147737189091233988495338392038957766013724136183352219703629934860914382391778881160984930162591134580255163779417401027394116346714852213994011840821776244925706564023711678854500070856723661529127466576965226823634451775378258847052155758947016930481264582479698489749203579396551343991970405568678817118454743664000742108417086601789375394848157501299726703765268945735987097533524699199988515104307641977567795004085542308377880374974153403101150960177769608831364253895974305052577715178524105103910009076074584465233459284722838452783557854188052154988694949483449285038853483600335681804668330922852401927880473822341378153830838921281520764781407297243850255052306016065790156883780394672556871075453215659614002035033575546009559395395167482813812124785165573824565155745116105515654111072951613715868776661190824951595338003658260757155934064545773130351473776922601907168356254620035062224838833343426476588202416613071549199423492298105278556916248678823979769762291591670481722117922126874988472077448592362865765793871130444722256194055605468735680699905570695994217138140844362521931912127239182016020490796766576626509471978619333121368034181007115908970322610828888402027342946770591477141664230931690905862586987971559420361754444305002633032038245168027075288518600849844588914031978477715655470567576834278156302948727475913470726904657970026068092944016458855789589796617736674106033793421421569064115966422856663598200570708374898633700542601227027661128252993427195166456074984572454593923674290650355432769833298340514834693239546469289412240573472025453122788671606538849809620852156769954093363373225824356247923119544366969348883837386647419908875911911511576164208157947733927519152359808561801567636410059532971172437938186607991958902913289734195607979696219768319856364890179021686288884536869320134179185615132086091689702365657075957321079433966048563603528134326732125354588971389343025697819663129692778122005080421608553354733395508185159186043571618320814599155202596136327093706973726276343517873358462822295970167086927716939807233008161867418445406132420244855949401438002916598457677078619966151459617111950380075092808756742904870644535751485238387990209903115254403947744852984776735611057886584317018496049987906195230490835764258298532047342320645293368747335101291318240611451791238829575139546825931553289489361764182996126153065628925615550472087194698046040460378309505491649268385578494999977214264189066299046239235835267876836313737516309735686506981266195805954562791860862976
507721394066800175766921639893451361716520196199480000106934388337548873731387648173147612033365185911599228986841807342202060561020719350146543040621345144943088712914648615490285933176828490517533170251700424097297763173930946533026940142445821856291855001956033697300723041474113408294818298611860499249475841458958440797939787446380060331895927651986403610353474981295263055348725627862799732112350816233410338713595674609206326205715588645473001227765825134603378320250924841535917626079910941896612780059133440139442407591103246555752454749799397434222882203081609267013453686245141315481719900310717487113314704063769186182323441795503431701892919323652798453913404393818709959779145594757754226906977201791188952389125865511118990644235318645513350236167706324752348534087409959515545127793827706399685839874157542116792978706593178942972678521789308612849921464839044122763871811138297705789932924384864861362559105561654127266336913204882946668213595307656028668030786343367575244950415758384379396247445022944475219046514832202021398647662024395807850835303516909330519695970160803304938478782137776942332524346369662492308846925547440324500133508777635297975401352224461127770310148533691287242515664439246513927378656855427664803251106776029434466664795847069992643549944213251734318115693204197820289160678490785930309633713385822898094138244193953983709895572100325963484208519604802314792231154159771713727160253815322078096005988686742831596313796276045653277177133815023054033652149711756208032364193198823532709594152403904792217121990016461862181073948704376243445992736490416387652703016382226429720380878602168751882066089367103939301083512073825216940956390557171858465851777965666924171490389453110149140139177422904307650740216985510062941263679381704492618331814520378378232017499111478414734835354919185937968655572411708284224196740192872074044967156128330065209278621317203061213417309318265474475364618693475725388829195578891326454041840275441806791122773973071649311417528736972914771441362870402075615696045887232942266238104408772611944311711077759836838888171343501911980826962271449548088064130199758966755039337109300028546224176911593704095969100319632004840911553962054349884540579257446263287109878432272530313525378381356586425323224328636183785097414551943264010501417191692307034390006699503057408595279816593061636583360188605638448898965932517640532384926423537254333705364955743296451272743408048505698635376529306925961999919325343591502828788441969736521963007827753220900669947343650343118910811727092588091098936141627306050587723957760902606815048375272501914703787671801074710390125489556850350887454485217779660565137590738541363018337010819024345678559395257182138462475196549293221410432653941930373836493632452989821824144368599041571684146398910543592957303333136689827706994243955090849679034182982558534689944377918747743874278293834230618349899353355153888581859407589744629332950362932020523236599968845368320571285600284980838484850921602427545645115808546112711668047008987150837754132611291344897650226835755078551427901637088480629704038355562386662556564287211797540958242240042677200879083741839158208035894749155287565405159904692014437946693129114450349778521993228185360139141328823496415985083329568077570787012523470263232629521945642728277096654827053636516991151097492289977409019301681036663308014100226647944333781991283260139291380395246336605046228154905776569662775020357996835666395590689937944539578056233694889112172473781214321043678628829519917524874657251947020202763381709759695327347479894720368617513541731340671638050212923663020060126251265558847600709541987412720829935957230667995624658006539200563773424624768598204106877780203359410194714416411331309519382149839009495357289184047195599611747401326396808926793077212162019852784685284513538989802224944857716151012665106445823248272143612956868159939516623395804476578301679288734440079017082875764991151258322808265297973272085263218466246124477213322831927681665909762417836467108432117607206306294753956396239845850734400869262486283910251435734764728482431213318958304267095976549234529569815599255836785349624818788630590177936080571702577511094867573483081286658623010489604217342034921444346543244504456604254662289408181270766591338638594022623919658193897850335445529766387671791030479924001098449754749439631959978306134881054832930275287717658929747154633035667284907973979940619988655190382431971382673543459050513483505226488121015932260117743696920481985075592538756232311787302364237633008909876994574455757911941872140349029589164657093112755126672139754152779932930423284862736094664955206257544890372037816931916516876648262875057502533343104316578576730409127741625045699246153727551749474585747821773200393858286509540127213299323409443748298974864347873432970575795427675513836545918884359130486016327783049710629685234190450809576007687330408799139472937035797722070158773868186799764803038611121612848087635482063409156528209507329269708130280526791594297601486662965522123084719904405778463141502204596588516450414002469185928794838377426126693602830861957019645344987898253498914226802313255215366064308224
545161695749108798571495040484265630784780166400067523166339925181884055369485859400505784765949883578819658889325194215072632683348850496818443791731269229264736450798787160715614272170829937943462770206563352471806053701496643780418822949688596581153882266143795189945142235071242179805334929700075760497682821052076857362575882814848428177999978735215918235781125511154341635609953611736947806105026938350350826830794033253399687892464055377423869681055516524894076954148284177037687153340793544509627025882404767874719705069822646129095358455527068635123397559273985555218328793608381747223101364416727961361747025027451738286403568951461689753849927447263802154609358771868515957540226428076755861742807578977687292866949164599487597295380166127654714098933543759035923063274741745365987581871657657411335146733449849735842113986810520784185875818151675973660384511913027102792959639793819294869897939066658874232941339313579047068084730983140700862022388647240425386607667016481790545970306205965986826034750374276122672421804376771652393070971755410287219709418721839839394837218925910513949870415317915233365267506195369182756087269174100772559925241958418135254890955069559348749189871932276608216686699883568489050024962550617005105903444519712604441925125089420558956751898934635162177896940664099772014107594351774052004202988182786694340566122028973560240729558436527511026091451036800196644432460497138467321006889271966887282275917407426612617150807289805667257107753233634932640144216613022185055994179837593174665723287501902716317553569590785549924742959960719384419968286369971050597704415340553687828969574565015246001653075685581189382730695430475111095378215101314087590593529786498212536365779569852854010645071979928890674362955536177356552907267964262574133002138360340765013008364695877212374010590330614081629615089149111732058799432749548572583706092241325902291849768577338897525678354980566567079403448740997122278724569685331508764542337749669548029755754333785679614329801331609713745283992077511400284983395340545197741837195846177945950329443077194853041330179230396273517780595497725420888053691789662677323911299019490700014474816029953310582922132824840651886657201773890664432160790973906916323885596556286567163940031653487988702740198680190991409809721918687703043149346849992655401873956520896632755481809028059019467409442296962402244805306472095352257419321968114688000224703246165486407362322628441978789327143505504808138270748064247277366958284461390703045891976085498021231760272082755074238725143877168985753817249857170425926964298994414690520927944873113332702937537394428399324694565094745665447456935397674719769965311707490566910226755327443526934829302882755783698452918673097596609468073810472769109684198550674458885538891781578863221831962106249238690333488435043468976924353737061840223020075978194042161224748150805021526303452401905174737783668801887983456126578493616971841994166025996089704625501234106368954482028922474930245319773224929471555688829904959537851136034877947607733093250413585851665816047876637406461073472908299971240727082724067517600846757840924055365947217730657270055515121780411122848921033085430020929722655695075669740835217095223617423328628201032947396805898504204724815757286131082420743030335942461803253163759210162451912586139578298976219587085571280973266280079179038202573071220933795079777154805540138839842629220853069642395620304623368683082046171115260832655314663857052971387016737382290742120494781812600433242012361074589227701287488479849080421023880003317445613862470360143960376569321348643309850730025103428242303920708550704163465402123887307769119904738228520043442360444307317605140847905279325550213600843238660626224030036852636598414551649952921179361898255220174307505211891346527465328964834281196359682180253239456659526307605358411549823560462598478496292411781336331366257651380980308883332172628550923941748740342062506694183066994095971427327583321724672078811716057596129094079694654874348045306917934378326723907739744214865231794772115038825246387328909087557260775228904465059771590442943631383403698617043036309584075736888615232547602630641773680359853571708470888362264383345390177733877096736611478765366929008423349371831449093210381247247133156438195557662212405622647704759818572423488860294984007392600014414353192320827443237015973398595801429697573839354569052256083896236597674485768047554215653365980718309483428299762508347692550264167655915495802888173979838039268571895901509614207510444907573826234740616028436429499575770014229307670897173953151027699629543493427527378294389606917499855310362980585843916185672045272464349951924149454124646859088785895726875036445646705354417833453087541477293191920528405814535232742510554783105218914954268209595200052575622029123938168175038190438967792912763166306990052802647817839109178287553672574190411905521815656419160832174834653667301811454599390657337822830429952182385679048147265327452634357884231388901183853871424995755042468887328974619114604272973553339656685766203153473347263562137830921536566404202979303881162729701244192741281222483596560415128638338543906265522074324670718013735960576
585362913568581127752605679176529221699360407309432016047788086668819717368948740614906627857142441086509468302881848165646336909901009160757142033775009140065792295559975982934564813881139377161220523757688190854631940675686957822665162437931693925048333569130492093534123483424832348089916292347071120014969100049922603812680057752025605555378693839111953080322487771119795133338974943621818145520009960353441247841204924633822035078685070675392114252474848558701907595543543018722785120769511354089192108330668504964098139610413415411161389657971457557650587360371997365809781077080783358951639793965706177344363774479549679539613602526052242222420932119492698734665382895176500212422349278256140650990414028732526009144580185312330042185318966351330989558787419730611048511484288614798219053720223026972414118728882083467889029648213840529201652656019672868615077222362843450714347977990598513599998055787275157204665034559565273967067151232386809392226291914924826921152021554661795843616112435432438376546523554259926637933942728885977272029990174106723667654680008368057787679571632594476109311304307095842551007990350147006645910491506177937088303278604073220703265319017490702002207251610889089779118564369523417061497830534631195387830077686479015849263185884942594077322321077538815811430873552690260520412042091525968234863772197635830584169945059996651420654835166351637915335546227060534268551589579005404681822330803447757618073346428323602177680921502428433766183955921625070723145586769117543134488732792201319135524313001569426089364533030121009969036568559381800179253929829047054695975429140619697939404391033943476829623680501845996787902691012306810974154042652749333206419661915552921301537058486515738876995755004340138462987069915445972812617002406804063164504934638932662286622985235808403294505501456910327049067798240889839160614578170665619502624972163113522505296550846209752895370963714153030289257011883048753654308755847542960265511676260554235898725549932854940454170097419360242892979105051308640322792190722670101777760951778920331113280149610611374308009814033092610969784633041533881275506470832166227494499957023397355784579015366066506340145314149314674066128345095433397603960251961605548739824295213675257293307476614233928951771654728990667784737422305904513951921530391119768197811595092844244570329183624607758742587723126763159445758944296226668634803940302886734934552185273396450380888427327939764583421438800310486731156877232349340787031705689484511065138406109007025265781001276873712358344147421333858719533748824301912613675537185144195612336681700628158415171001559961756928297910567718943633646185975349418964491414209529475776980920518890929867996744805978653334926302874175473113466465243023661406163167415779349913971536884491098195656367613462939349970051040526479898570169491653996721862143169444655056126363153386010882012332959518843397986558256751097999863176366615459702979455626111872776312206932023623611202506710438986195882420765802133059561441798577000818475846561975081703768051861172426748246761695531975800142415798572595859165840890339145047885301708600097054109153053841077868269388120080766517688546497113978497438580140154537445546013287261388660003061395994955621942417233863652893089292351678341542956828202191695675381188585016630452932530067921333543352061788151314251430809912564902196490986047360112202147714431033983105868572554473833824901075497731522796994197425516280691076330463818932761715161515389846742773694805943615372468586010776037402731755028732138855992868862319200104449488609646912917321269967334407444520024886120829544525783950605484963735037396231814464177388331733640266359342335989621891245806721202245776155359027017528118772244400937240390796196762659101256275788662527482538583105720910216688419461192949508147304285410116102368724504162612991250216689284774080233791463451161598673902647769915768472490236063143550098562204588579859824336544154805591430602761380628223705163752253356708816598940087832960978684702677696842596640880670562841901501404466126050873179953331603908889237937897835023416545587262690799530681410067293551034163080925804629847015452496362144782150459168327920998131743514471431657380441793656788862354382782998518699554369906860776154531734164825441352921124288689602218221075863073029296817306148559823579693888502788052090569995594143734865865280702643257956903398837842111122556506845421782254534539876026454932800360214480066625111859060704508853257492397140635508820013380425057512708579614109831595949441221256967678921894521283082772806323276901675029674750154920205258979755905498239312160685232876320635144506624556666448092353348544520402641833863945623248607453215170266843170950046435217504446475530233503111266517207805432063322141662296823955964406097444295486118490759484257871596638639404595070482843246171379956184827629619076887709988202746310014715267060488764847927136936189765642913698472870134699560547579692636228493310948889039683392356810507015253336421211557740543863695577820457100817066684261308397811565023826162618611913094273693546028263983609948630232914583430859926486780860266421324264463417626700397635504959458507363266330624
628528642517082649205059842711765304496771623377812465315149251345248567254899501710352724185017336120041218288806540105872151932555633235712082908372647919670915299439715713312352495902955114031312867245815452071512618829771906545519560057361063822491116974678604674528908355333813252332269635752061385462595828791242387676656439539085313403736851733545631040667886527579863348977714166254788181766952923328071690133851438134102604036779291308564440672668740405544357333918378152345869445935115404928438993085377595659503790940291950057650140489725008977890326826997173770087789570745404919189580440163721544309804635329196323607480189831534342083192065349764276294042100259525216140022760772399832001794994565726450885186342207891519269186061332951872761556577359289799895863273625004595873118693106258668161133527302409783731412124063207471870107786689008125830065370640733116596478100858337102844550718817482583286823775517010653916458398894746860590349390101487836481202075805389872372239983322210308611200663022010016598321379257225566724092025832247431041571505914321453632280467972320650629936343270520146123536132597141245584120053290580005437752011433517753827478666397782354270890466370702989521130524418393483846325400730297794903029055017141678615712762268149315099875666069710173520165826218379000438222415306919868075868687151009985219201622334700593930306113985937751120599946977880296223929089632660655328918049120825380753539970359732069864513484744018326901565550350821304482399341355022537635624609255746857383783979038652070431827460696670380184875508647651666436875641573808992691084422744631746955785112302395714723941867935645355958140776582062721663011378614936867651844816294669127686840855182906088866493133618617308189660292939426484621273790377694184792866740576208338216814574967421985067969946312377551970102595182837047283384926125961085578838510398370739173902168166518003560464899735072489357914071544094443429704148962911444073850031561305004504823851260306741290671988809321560116990421051679753047154835639515673233118686999073961080257378465890746804629195529793656463618960769187257438561764515132962981143333822224287476910823031284278222975194039738146481730145880872110413793510564753919872419840182246140509785272932604883235361704580204665306161999187800198780569672347032373307175414923340028512847353905517266156818088310137658039292037912944819497377972743208715234030584038642643307100634699593488985933535858149753789040182989606852981865019212858276530829894987937946137693777095576708925299786471907913974470471892163791176496578641356554299803185511339900762466660486900182254435235708371414056544443499814904156273202325679697502539310811152973493518903994034045336907451353693614996916441352876829473412044222636285558162041098436749088367177038494223454038216949628000446590068781957715217022278283308644987015943546803087100535771182449081072524444990086184280375838742323376408075658918508424302893413064656489627382046388638996878677611762607859174464203156873909463279748387399253271152935678341876275168866705053836345968776999325755674235577116086537582316931199382584697456188695126489156401604523419453268021028179719974007736480367659708678656876982992279424564602988919609944303505503657793224728573764560351909629439067075952112136709326563735852865720984064696567351225898570293752328512445314718602841837758050997260778743610609551226080506198917073691422177424495953150342131261089955370932279595447706869297394893989298112666285880153223611188858925911546056301417227272019182655056343219422790372584415589500271813701608722067067438110325748771799532204474153059329365432906538159189595411606871995981760526079285917454576602141175158852585350909044665922221798343636139806739981124200478473114256765540779551106374312354971007258751938414820817989364099274651809164969653059665831103708347874576338153592401679589878872210214898889566013359892630334656665561332402908257447440510637494108094178424272507187062565563203342647371827406376483728573737774047891888758075484176488969941746370019932078485035770511257976260157408420103694364370646592786236092201208547740230859352826733071919579212919629242702938316669837944922661878873528725423687018633446872103047279903811025657757617130963399902222610108022786039890555721868276055627144032458408722370051698721039943578725202636272137135640268927857593046581839928173419947968859944068620744511203271670527314749117485379591798856204552857949689131751871786061120848228171918355759569254802007149000613455303506714167584028693244048274641376818104116816039154074061615018220358088303769231315485044451107827919543038485285188901046631558223334284804918701082337857111777941343776572275251586790753097846672235141061086746204288776600985136836391660779599888060983783884117082146559573659834948215772346334532564943168184961656667850138530750936900152784042605965915835304724469837694176324699320366632962170571554687272845592947431834356657956583350888470059288243254091709372624922913270997330298212886956497109671551945069071888369371692707436977707309028971913974919663329416125314852346772591249649251715354421992790756358668220408423767036058672382330023748551020442000818176
674877491052536274916193105542483984310278964997133397637425091971681650337662463903165253749789427957154140680605293156408317526867410611988513840875271848977254073369906528053466450681791551130109871191191739874650537781296032438143711443668413295342024164188766797003596398184968770434623452752234003786574728981100316570048207612043183705740055596394847860837754658348628778002079344225055511024091574816415846967084447327134486661601159335085329349411120270831697956629296424421603737744240200538360673908216727292170083419143753547418167003293584398336335199176077806739019813820348117549192703616117229615306450222026100964390039073577937187046607990983091998004725065453478952182278553272244470900928739073207258506397662189627094226988491019615163209676452960933084779241476723526781185338104410408167146239513243280779211980187342682136238225956058505779595905111016825311507067991686846415183477283594872066626075890201562563690784849365078108555470924859094657139658587865590592096166658119676479793506743262387368551873101849145193760276560972474625891208586870305345456254960173156920254598227178427127432216344760298219125011455204577056661763216294207731099924579042334629840119465089288130671575831082358494867971477680886362356320659102057263257216417881022699691239858905512866899355026189290253833735529337658969622614526010824971478589789420554220610215709612711238691031042332476921141933148832542025907786009516640715800502230964648847618141981638411416715262489254707372990844682940531121984215321552913129532077674940040606846885301731164746481685868257273636570432244631898439727656615807978184611153835619214297468997747186959123623345096000512440846151006756905917338450013182950638957400641813437480214429775129868853535980881154115111154468883539002893685796215232752080931389195304422824582814130634346429032754018753064644835975472594709782442157956589564108813967244671776871852075729513851495387244015022464116475348687804242310329723591093203357337778850946459192942255449828520162542948090558616300721591229993765453916836186870761281220567943423852258724724051813287034875612577291568799638876967137343273897320863715998172558585006952389961660863554982365885672109513913706546436038793162144034961926491073463327937128806992996396444297975698111619147903447395103986211455744984901501895442307743942387596725216083633026715324178320286634197696457322523698465387670715209508084586177437438308747627653899204922280185135099121898594917292554235363647584651409490095709683678076948284701071372053957773368472473156928310983013923632680444606542280129628448225715251956477728669942770392929799809722079376654198533269900556198851141969307496360436144804222070313301954640153035000958149701335706251303942814113826994526118407867182147343805768096598438514773709855043705705002575233201285320994435034224735427998056932555413223326955541025376112160150326689513097936273848242801426410880496712168182245726337161102870354701821629689105942278834189849386041605561946417706724327720368349685112858055747132823605719738217483527282144843897376256318009662305283667832058378319418605481531852107564166881096209593296377510880117503054469087659668047924700299558541311126207929664961861747087249667219158393770964984409091557568934900698877578817527397067978991167422322809662357386910234876504702226234244144966906205841021200238926206662126457841748483807571824884245285313119096868525530170061941829907016266906244330148908063422473294002870456714391920355591974055304261167719757792191586944325153090427396080421347029360791193059161828429989044057105739753540966602041327588282720397789471578818066779493056691615904573838539080793507899976218003572029625190517930787720569864741800757677684797075886056047548407994826024592297394437019836096981586859572174772304801129546317065373741071820555281710537694432180932770319771734610874120556279097531983500112186059056965658185753459481339691978493583038169015256276358023394326414296305059807740089668349953544417086014765535874869425086116003883299989901065109346404501131921090580786308633464934003551964130114244115099055937858684597678383734757841054986561102591635924604052165392807068463591678300561400765670504756929798952824872192599231859020702282156595241071463568094287888253927031429223316033822061172479419704615097322606985695128913959027896195077486673440453088400517766448336370086501769752956923250068771544778819375697389358279525980539511141776230479302190302799312108560231126979405675060944483800892360797105427915028958468616529772866548316642352200871557484890542430611962953750899949598049720527668442240507766831073653597971008267389692315890794365678382685154328168890271860224879451818621431667763296468859597537615536318090519828578291618107610270301023596771423876845796796551342153680413604711946173532836148944722000710469475863259498600599169904661191076878956216585823555750830578448060958728841060264502028825539552500252428094812641736993937783780845919991017862029546453404127485040180396754994479733533569180975015189460226409213055404853547061650878808493334899971756201329556793183250582133114282641604826897079785877004861582896013192174960582248712654821465069732490046455244717790593024
724644188219293979654678632281411262804106317824854169150526108917041211580891909887718818934721739990631280863545728897816584150069782476673503118550660151616689323251633262141636236277872903698233434413235271506740799799869714954095595899654195342926395729908121940925279331146958656949509858911361559300619656208472315440900986209285932438968406565934411766298428854919753491990843750860934970908260195486410816664942122435069308401331299584969148731277429605486201360968213634595130942370718118420185171972077837350005286288703570452211253128853067319367599122238725081373874626863600996052236583308261109924965966180363510625112319602294844481376854037251160755097397852398537877261808554266620946759078147586485631278698941468826030035106492374409205122815689052122491192809380553573189742793818286334109976100089690712459615212889009193230016649236582403846497849136834128504666967374285851306646968193149723209865732252307449514787459496148824210182821356037171240145791634872063509194577970897405833703379073866855523703448462996038933188992773323032118598143933630584113067149313145372867392394844837730717260148414385535452587241483932256861968552986919849129826134543763348558662894702822876560288848177820687504501430333625050212653200682433125168002251737698315528551876122922708029359982690244056286416858180004623453932546712807758648620168977440201791928911409073006899017407043834694983744843462113517145454881405660079160536296885592051333161001826855402383046270033851129895261437905161267570448097858572971456217321349199798291829841512599611192531742966777588695798249022819468839255928077903325729696589050202371329211240224516416358412772052361045333168838285374596484279380542487885464776084823439531027715405737867855219676512960959546784556962164762412542207464911036311803919065453420063198934782883680297411757515855839245837336092484763105694550085858804591385562843665970127979703462051994333537922226975023304021398789351078933693231411450116246326910790447523875220171385293372815726549641561093725845652933883475909227116851631599816070366349569887855929389605117290669328262891861858390062745738296005639025428640892919671295783721812224111878593025702941889833916946335397456645770972993104679263850738721079140231736322842543603905943527622825598043299463173381907002824359341315366991105551680803750024209022709944434262651952911980925826806255370683824752273451358420860441752886308446862655522152872770573005398904226019017568195649530836326298288260836798830066277250326961371263568599669783399245995642257421311242872140603378751006600959670199506206440169058340367964997441444257317639951645838442961462150371347707511568931882607183158928067557613528679261092238083183441064645407977256466603297935618273540722912394903284108629174760537762615566404974167001404163408671055594773459708990167497969844376054319217894375488804590987494176956868391893793675449985317575724798464220597985749466999290613468201577866293060932785033167391714139602442053593695972891538684076711642073742762905854631020080788675768546443271273883967318564050273191218853299330335404488811174588069276409196074192743948635208192350561124997213064031209535307861013187114301334542188005996601719858322753290144823292141472546180599549531207069166013671686232235630497744013969787934271963664444760869320566573712973617959478086289096657557567213860942792614561658120352776636262218121515508910200843290955369339613426257396825581624043746735627554157293930385428224227613476054821903074261199782652626007523054276328394749206962067847842837489718480561569591492465893077163836387937998937208024209227604472781036270787966680487391066884523335634106504539878873875777069605134103070508712841488887294434593419278109331760236660858328660678208402260653253131934954049969011458799661341848796322778256727980160318028876706584040364599050824524765584723908440495012837065861748362863679198025725731450397803774828585868623699060061558004112116458715337894271378391933198417634189097666954259237422619732253797555085245614295551230052367816887199016424282710386323585677013508443851441804527726263394414654151893916730816452683354413784194284828281449860022338172189806249666018682126044360706478967559468220648378517303799722203785227777793005955108881114879785889719570261484545654777630716094955817113541255429627989505674527385160362075644454525605189090642695782219448033767996163956850883930107193027856121597247728199883197439132314690328062922845689390748584144442659975889841199108616309950076089783710878912559434868033298095688807814240523547223469794682538180918953522917973762068955638561456243363724692629553116146087946063365727012429621727626049558820563053735112775846693204435523950726063459945214576924758957845822168830776879914154105864389184601557219062395033740895616997820078958968010461041476215788790909740228612732800186316813408900534675213001237294062514817796063088694521454500330882835416885764802602952970876938399032899363114394113582792185550770878854915576012500751453779015368537610298907958729080081396515020506074846855063034580107338531052098909536224174246308671940644048305119674709561104639732886292407294004702711834747639882298326851054542699197646836603631435776
778080772409584029706633524759667810617424472391182628117690434748206495206036802869682839842093858029994174425879886054151088682745417963786644690982274067601020542789534309871030638685498222457117513444651610168783094672330942697170681411661616676766093648777358205263529676735235400365556991813468015006931513987537988235016389135757522834558705544479991554312336727015767488120617960348421886008422238968175317499144551397862640769263993644655216742449113114626354256157292114031845399579973756662337624971052534146170002509274762332669815767900399531492556408013407632308932567795842332709345308240940238439097459664425828881651482254639020899229917285339825295295497267688088835264182442597044557689699458748054279478981653759606500628574029156340230830962261978642834764791079959903806471925525302692941519154306711069192246765025593040691566528501656197832443216544261102726051502061014180679391898951782568104456366143688229050795801731720959482897061976297505659194484335951471479006426921381599456748906921737228183165815987747363348897363237150691048234155390311038327750143137977059839794020164424261964371740040973032676077690190085888175406630314815966946464326507889865705726467559328973426771393809312261346017374017035489947425835580193788575911044216943358877354815546849076730464433366431080002135903726547484715858712680375406932721195321024857122993817814712460576915534446997513346329838569604242794815997670217137321818632236141128518369925787235051939026048662543853958198945293150598455244989091994636408498722765883932358301458323369625503559848871046939488548193041768394094173823017180731064670546493342721760152581559974426418625567608398372322583396120499151752294129389281051636851761069898679999403734309878296734543379716660344554663527586690981369710320359992127166572787688330645697419508630566862375762994120757752876165663245622229316370996049389448413908935024525611946440230322823178530672985162303524902443271109219270631745352184542303343090492420406062062455224837512902270241297356354984624467323698994826233582878532051362545459676535393001901072009805279417222709852259266583775676083486179746761449331254204556542615256968166103385300541971955706956277039022679780863791046427870957735702069458118943280776341976005634057501327790727141676903196566007917073811000750775400712259066838272484337034240201833159783828002996872510750483656736327846116802443808366092450377189902096360914817840098015514992342181271246968182362441116104941244983205268692142116430575655776099158085332958559024791315585613535036270393239250256360668669550476430456238002387671570749111567520931690046568069055474371754760331046693164801690526021362390720569505144107175371146116151951679651735348862274723508966420209806199599346758233495660582389704246994580451717282470084748968316979620516650337459494721611647335656997340706640100160176689933106485958755046636439988835357331255666978003225004623619589358702846110011425728217831539364511742913055676462743316765480000868834015300807088114482295696749331891790348526660078263659826810146974632991352401164037632324811372315747593898193775953489970363077356214972530755074234349777999550289499719367655085838020163211436963154509714068482212494698462103785861669597781881193727216623368009678645312156373488437685445001577438370377122641483068090793571998745011689158460084036398165605213646796501613163750612001908884778628081916181527305681568580977310195764506760991822861614875706775785511567716178724503238684946084794202108428107053834207707642020715850601005506004229754522791545902564688277472055210290462870430022118577747805381852205657754468238006029260757756493157894083774329714794913822774442820135191651595532025934312500719256625386714073877155657642901691221708096566895479547449417550210969913507248449219779014095824418126641689175692746159598660310374209860993925732113875985306110546574513201818970260765438999945811284303350778531077916634998377582843617143426881427607371268985548539355104447966489829610838159012770168584217723972101381705652841873035223359074146415275341874831539056759429140448708223452256629823222161383747205050974913434662695091513761894450758064930069751908636722990290564095069769888655244940235709024411812197475849785650178382928908681472126890174841956954221062572999172207519498224016266904202704258661093275825384880037707602902577808370438051589501477416900051261793912032125407125585957250314813394569057198821005246060552934849441163101796959833464671341185923754112201232850761944049583149484612214704103611272790000627038848072928310678592951334047329559151869170949668062441124062762845553646897895719235584321670491935301412252705451225643202386662024550004783331505699004377248289503821325639898578994157712206339994314376052793047918339719948761636423613337490803188844735605226332710089755611593673950179092436812706496683355071540517936738455537046383509030487372440873929245362318290739230818721498781894670735622716113225198158887856173250456326231168067760081953673203667351331654737605894950616813879168440762505361590209142676046385019527790117361322153836338928125298676564760161883308060930810735321652200394005215513754383188317426914150785199481001322364650842613182873861095424
835457867786395631138470865774994876606439919167546076632202614073892222891177212524421686753549731100322991557418421656696352733796822412078637817335223309013819101876304617991501642742051823729863120668404742947166107933833308743299527098280439161299643815793015969221028755775822023857883431165746214199202016472060552756757038340522066190100714726408859263031923502968100259454530660751674191404203374231852443363310589057602781601046283673536500276152648942881222697476494065421369673431009855350750553540245895213930861108393260224247382772369335643273562959963204527570914586838111405939747293116469403096591419253847017416096342688399734761913251581329912472411925855194424769050598777782925920383011122847948558498767530570376341507182224585357940617018454852113806444877385175076960025708318330671671138702076225398875473248136679678193868865730716312881512425708661893173321912140933125652555816791310702727883201111535645148331272802960421694195988130670728493153807981623961761352338550286983200726980428152356638096669353132215573435803191048727568991413987892006221372348509232571902537578995641686951478335165648218840423260230409728286121147175924190573420316295513214793981784522230720143309046819833255683237390312741894048882680800601376818969087079245413865657551940457285101284837049998168211783329163231493461418255879718218444682301547457495636582774281093051455385378251053941303952544571352410616644587082798699503988013174419374056732941621530400585744566274432598229066155273943738292026336954498424695478227684310538502695229401994883514389270619962281596051363908572503660229028499520821511032814550838617919870723442515706016088804536876986016281812142539282992961094674938642433191395548805200157752084590300103553761852344091481550592883817207892460262777734962283249475816881232891026244975290168604961308730698923705835395365379524172521106466358768220426304486863131615306086923213808268545002451035696722870378859977339602864079886758152837396771283128544979899597875035361207307182631543538979182167499176957131686610330050175272481247156001562882418092527363666606278369490987635422565543244715626920079496697824469808211178839747227381783905178725156277634442396129531365272607293746330846595759649980535325767253333569364053747177996584437251390464456952215877277274566577402948175111949587464610341058575824770465129970925640139355988683930466254548551446773062452514567420633373471327992438816254583517848176839750327358370599812153099115387801097674571910770563386674003024845607409758570483691088416256305268932878193909838657171979102781822507090144861854827489096100889424351050004643407783009113210438540920147942499783693697116377304974772211021334502307727512457669117998252655186409613284390827771444310657394120648489820023316988507332341658811752023791822791907904375955713973388501662429833084562973497190057530811211056196219584032544616138478616216554232071297750694346973731360144584256154972922257142706401978639704883475458659876987576276368423420342332511464172940997134978496272339452611705062804855354651314250509865303452653490537084323366253925395857855297747659943356622715362341282849505646134083232199027156721314098470592338595426022478544054209610551755613117029313908414525607663467103958935618287735598271323833842700323280054245441553056319232937727596924887605407794562018325955664435448727196165020967398937387992812045937424009952894302168244308333011319668752213978564007691928515256226926721094223492669257958100999481370428585236528241440851208377598402062483210035148251024608336374444069199534669044262670525985172299807613962015214362707003801380402470026659981443405079111200713510657592341290553988642974275664610573759067777124008708295920866815075051327867769408802585081640003306490226633032148101138419738395187086416895472172221503038910329949385724976460629617610218702404268520488576172380336624554757233181245596038107962551309567662434251779642893783100182843216578340849274710862782205737518287685633670051880523790575027173880108405436550932662705547913543536417145819680923180807046905196439532108974464148146293425610622479361121407087906335816529576827052317833617649252442820723527861607076296977324581429124127504959609295461197805199756063167144794031562811456869973316532215782481771754808226350264316592092538619987031389444936427330091818883866593709350319281590261596621192717415612317069467532096617469881243769262806739052308504211170622396822418626922713792119849604965329239092445445500094865362452416225849593585357367272179349063831853032496842237836448684929329271073318963212943172843896624864397560078443761268264203109998491333808195256276737587828381995900133765167703855635511854915263095725915355010562472713165162682667384194987248102569859267772347927566357493949432506034715421668102599215162861553466416962637394106827014126583839767880220125435624955566219298265859291083401589915982893631304941962279182366904007651035450085361931546956975248614793885688498915604984559793446727265991326549205705308099786895195037427687659686837187568457763650705398454286559474044979304720116511839158167463101519431630343118472497751856743052060344672678771251728492618889465786955511122934213222232188870615905425174523203813376
897066054832115287364252903988102172398053728953373485927105011973269106186587173683208186479913126746370335943999056800862243598534386542149396201420901495267813763654705142901818190376847086714229710456825007862341272363855048241985582004845066008574909761319912973252515275383181674996535272159286786355345872511188342955488530672590096463207472174037909514847193312305437386401580996739427857332074452314663841435777806573224851783781076940044502337092648978360955874538610934930716801728096860246291059127313284935518993016416840942490033805230027255276768823609730202319052117819760133728948692609940501321125318692374415497319053957971394844372940482708064563887930947109221526151168679948809553808933141659044359860637350026611653296368750926659878851001081154570328787705599014237694398379136616348035313598124318846823678194317483038967617781506510426619949847859083113775215818081373279400196472983311781297759084020459111062585971415692315789735170508908738355647741294734671183740712701650661065405946090936612366488425639557085262982165265261681212807926695698276675155693271467062594841850299324392997717347097246460640067236371826801917284114453649289272027936337801282268993785535674981995510197328029159333177681699403411757262034844847502642511185360083803227746030779921344698741605677607812332379050148520577523507311695187364478823617564085033927296429183561141783431350666216588858094943617485235522312923694011114630239984540037088840614708217587569996388038989598142587536663380511569227059003697561743537649436746038893794306204534196415463407865681507911052145822680878409316380993318823470015234810419671198334921076433366373326362966329405770228744926667955477712514224957305305014298727197679576638069811047791125897205133397563463022995951351308885037478402484444990587496810661944995779313511638900567158691085927787134740536863383756737254903535686258427393774237303802978970824091234142432253792757859539688325663112683109223846712761689412474497184609257264313183437559206992807232856407094679478922158558839784449346989172165317208593711327079930676218300200932233293153226308999015220072537163131835610469661009324023043701601344580391627859394720447395296232256583643053548413019612822889076531195157235701565185764793856849389590528936905239424321543842215041756909460946865630078756522176154240298243057497296931343609983378763811599713474806858325329409927015946991828905008801853666376930303512773597354814637954988072202373949510275326011409284017966297001889949976314961301279239818542082870791031528616316470964799165498575851297551523510837572807225076392230491347387480298525006448301021142504001427198774767498290129564862875799042507715816187846560611422031548521280361547915034792698518179116438140180469239693002191985522197268105770050065906923716290661923200867965684656270065008457235644441248234193405736511247798165959129095318063625731493909865961358920139154544877645386063190727646802925523852214994606600357021805760404646440692912255776326959059362694815274041964317708090584788238964594453757886119944559469047339655700923565656569255661013087309901708335592131635479311476756872993149957328109978309078309198950283477659768729428003878335433176893631382112171718430517380977489581674067279546368865151878840978117582500244933974204115108319356864084987900836508337265608425557596838838433061674050646598088635418533179566645197705094021446308214882089337798507105973793773078041381614519881354048832927655422050808882339668657882759349738008773609305392211964595966588970056083912515187165572823984301121848290575490822936585682358302149702264662082985564015839269127066020531217102847922415724952955034926639985749953735982483537197769717747971548758584637546003293679756309678360755819089361475326061676846983125317352754503286382051014990522968707542358805021120652295256015787193509801218750558472466575185150494601068983428219433223968881925217218766828770513569785949006839304250700808874854742393937118876379303346151452929035477320368244967423686531592756571173714706154631791607631095956577298169554163640336039180061512396807903853207321654358094764612854332015077360796997172227288294096343226910190779385805836801674423598182703744267389583899931235861452579982759620149268015554566744267662479724630729043564850759465731537670179706906394615317940447860387045456239695840560502144737680397097107393191705453356135407036402622200586340551748196881243349517764722414025267579355580563570214180724141441152073943654477271764452907314078511550938566000319226667758718931506304413090658694750224638419322618855941294054502817752829249341988819777787305606558761236252722011404440622731666324207083246570150855158003841907178270337961844630957358648888716984190592144010290834379434393899777601185280507720576589332622794606344182837607500429939421478504072206815398871289000751899001287444171006756734369591262103983792135238559280887478960475351882791788471868146408132759663317476079392724252970502260203216321463718184724452552181416060137123759768725547154858016323353615814435830570785964009269313422952430988345536736692429712914695285356328078171690207913774507829914558671418601446910786809909714817376911848471205919991670337244507829447622294638388063192898101837824
963217341963919482432777065525481700889048664976396857732608066595719809319635796205612756322674060074190869896002309103637430214222635932488545557812350163253189719078908006321578916651615038257623176060903157190924658698446511170957592203583918013447623247755048003421418964377799790634154976808649012520287389301034831772563805735466836980740340062580710407618980428435441984392626375922731320248153396132148175050098840888653641916446747170287722580602123771017029291110603263698853172314973074769525651062253214786095885948090680737907127999849350204650591381489045971585948050938852149232605290805412834420019509425331399787025228106786624840021197250146397704338791506735103048709619558139906996935430019019032677053673134020100445150098595196593468545092925104880370768790718660560183952870196793982727656439262009097346032830755480673350152993649633973353923104428734397552599758500345925448028586859467913611344925988697019229759639104697329378854242459186676971531966439288527432869991999330348623174763856127948030774238621106391282397989811391521422746915371897360550838329577289570946507661331931519705061852108638520025210001864524452502751342179686151319250908542306628973048245925740472239026279089597955867592827664008839052065582540258114489214780108938479670617110498392887233359542184963368370418375565859955811624143736927012757244880497539101220197151260243771194064191443127015299548941925015755082797871385980312099346966557751224799371682082780266287649366396474226648953696605064498394964604785842690858735918884264426597640624871065129513941366952809307483560814759346953141589520845085326228167533128311957980403919505606224155713918752586736561537474791196756989826371531603320330929461422114877186908866753790594691878676436463109942068226748569667007548368244254095821081657074339467155752391454998324335607464056642890340037818428913771032368875351812215565162715806794252776766302504890506283983866742092480743189016621879232004393657140467071854960485208622268887691491413024450393087631283927684393248084985841478408671762629037729094000075268265358076191079928542676583871928509390216604447465848962720853847308813257509962189139450602221132075702669156321425443511756900882002667984420222705984281081030228996522217988590837458472221153837412694627724447635947136300129199944268723673291773320303283169804552484482130490554297723537932268704316494105948786015877809800093681560073638410316652615614679129722800244539688522544820701677246935293685249431985180513335046334837183346124984496094805082442318516377991843694986495756118703974585739588505619193762653903932907207760050730502304933410500142614810419739015629418789960600172190570349359688314547187092623034847388694784078223837752855335568791741642997020544730603857373658532785687143706558482338220485358793847585047887857412232232638779447626860161339819606644293650607318700809984258287497640987605024368945040428886134834812813656674591163365401020517232834749041229787644924950592047304715429389227845040773424208507692878619038800684067750359591520198276296813554063171362024259841667872668430155778518056005113568974699542327659019317058412201174687006974582190179478116856266619463326954187361002962103187882414212764233548798149914472566367709974238835997844988423738849917120283475852221495504712783813749534999662123587846781563327982246791013156943799634746611086307966819632409144144708268679254100713678550498721164445262622104658247442254642289359983652811992916325349998797212270666002340743462703258635206710259896588283766300922521113494863554029734433938629773809525915190546907687971764430715195728558872036021723322756653610500951923809270997268253392114124490489332389446305280705105466672143064147604377024460465709211829551931283207625009511936459634178229875474925471782933857817696975475133931454900565838447719577980938313955054922498647655244914218336629787453962616042107302150547797623368074901754746917838716176174623021038439799561918833116168563628343690745964448272695978682831703000329757236640065920050249442098365969165705291534332933568948933968898682134712753147130460959457803305158221720256864304170760883273837430170675476856008192594131645696758917276221848461339403621296435535313198668450304520194203092622191286420867519701455195888016729687098316756519846752303468901457551515263716408988883534153723193048646755246548951108092397489546995157363753542249385960040471173519275307977345499074213447689173992745325818906829726481405271856616537642431651550907363061521601871909844769127151024508688857418910368011213344262565427666103945614835198315002210947062459349017875135808616206031830652994492657490352875951595261513488918892075523172514853408421234685848247496448761141879946547624585572349680355277055794194281674691027654311537989361709342184593364851842173307723938627833739282773671615345392898481405106158652474962892286288411905993634633727905317392249997782428237670689166005876211767517795044132656563512551713584515066724103675023113488002620780728859314528955927809187157455256908059485241587574248030682108911185501988626714660259357915137206936821272102704200598485229008275474761994739992004025785135027394547598463330112223664684256011454172719612970773370875108088219392569671713482893950976
1034246745668770647256506003722698239991229535156521278969679089703601658651797938833506920011575577821547279966280209685151459352892123848238191766352530314018177702781834282635935676525449103724570090968307291089542159277447422871140380879324375464825707514509309148401272639479209772302335681497196489679332218392291225355005813926781823031210785609175686140292587542248572942567918177033783210865180360194727326516564420796068742375608385905491577848501711396165583366098526134104359591949665491813918852186371304394286366416798856852922065561159713013956299272638728057550548032984328019183337805221454405903161730165940529011793679961397137334528068534035977338086146706397457832349427750703217786079811038845850837375213936822539104638678819386227909502094703651609640611077628528860728779330375140809966218320338534862088922850859273116199741466080418399481408791705051750039669600634120938621534232058627509230519927924248540811125189973859437415179741328265348087911529718828448708043862764226375309203559613648096495940739109238021473619716674016948190595348001794710258642792729432052884280542708522419411205055115947770648529513385057886522905591170464343865072476851873500960812070420305143212553440893597968559940625265270509995887329564399301282450306321930521865315335432153927806573788473487512527236934223203501081732708498526186832835387200089662055495114833778045566553142893228393671413587279836488091340657445299908341642081080586801454311383973512602114906339346994543291036949884264562144254367158189860259727231877106130313264758645557236987095636780962787741575439254627318515092862371487939619867647198774107802890260786698805350709123143590287233792736426653624993140917611645422816588483522719262168207515509988072058502528023593719777908872121454783643757606686809070366398996119943763059005664893251914689058746604194176390344187388842686847014119261083490046419005327180892569242114473336901137648299062227317849876650284342924880116821432035737945484334835831095522488313139101210721671430206643973724502532057204443201383835822598006602209508274684534896742541135003203217008733500070252304614508492842940397612846782638394128499137626679986816806309890061577108485996322820197628753494457773510809777683274089881863455999595137002347486995052768106170327849374014366098477338583819797703112288769136983503934441908191574488333786408710667127387030909054606698747274332455877665009188634081009862997064476449923292148959691194589140901971886983600651575406994731665357628974692591989090664184808556886146085458564678835706177699608543156366187741670151032987360121425889640558883023825702077335404388963883486669504776245896639592167717022617082521788962933382402902314381450698774435438222229030949221766522147888377666264512174437827962546467514776830225588512648863316600345947314235365262157385155377228577301029952188269206383594721089557022774904904833429728180257475496665865940705841849234289885290206247670261635007416126112323388994380791814752859428953332712285669410880368806469520217322973283354010684454792630032596550927712229484493094642412801199942682230117471864796878043696430865801051549533831433163369497988602521227720561332865812866584897501441066998079833078134336992212648518496991217409625962442200775962937939364237609670982006758624263035238105088293101989689047964928027468337359167909000613944833685303359965630937718643582003948217976359544369059784908562172972778860236017678465505289834284244924639980532003050260685146916509620095048138155159072897710603691500876755188257542280703082485807135009601332871837390947784751967144218442425200334455886099812151340558904200069955875477672407275668717113414542807246581086412386354182165131949896918103686797729016627873066498563465467798754015848421364003939704905287583739342336267932564530609925953574204675907302006943748301762942457585326503876570875997359520307113993550135376863955414848314819298101768378762756218521244824045065122204724495809128810106437401757812600463787327478229548368830264600346136747104012474993007613681863151512157978526402713594058122620830226522685280261601516569011771913817598505023226480803598274301293750933717831440022074966204946559670724435559395530164727403039936385610349536201228868768462898592614758448722266596437487076383076739895901475384144018802899778307622573226698006453801685785037695158087710111040468089952040959211513986923759941316743613846631674007168345756706854136258687102268023728912267313036569565198686539307596749221331603700868708429009346291085959446028979428277613456750640871468721626937221542513538069947298152200546331612543340305856927391279980577647405417608008298759427911631807250592374965231397010365365850833491914764254040326311022496595068925379698829750492153913807936615752518669974912264942534384835125424274314504927559615150714256386225853939437988560812070748769705141848770295794849590004921784008572975196053436082900451065631296444188318341464821203145159156471539123838562785899820784784421118766936153880109449821710838741448942403382750848391983803322628815893015586462974907623675854434423280868261786607925469557923683079421432403419365410197997420148061873916400911506028835671813162414037433821768308368271812257934067034841843489931352716327943719536820224
1110513987160449894622861352304160798409772545081635283575716066473004864330206899722530152609851262043962122893232370842436993681836248736041175213665147726389170895741096616703241101259109703052385083092156196926983945427464917897757589525420478799262803028719732069984269167835701110990534594111082809714683351278505127851878990176347317111577477868469252372729282841293659772749923707291009294454955378044463514756539447399074383467771841391858418415688223261640420089538691214944883674611929541370134296934580712321580258254705948798371438405487213806921974237292981157554302417136204530732224125386641177727297243515372806296648263433422811829954666486932796388619283833658798841869960758396290348294578114425678732955189584914053902526061856477934916028486098919618796045722967462173355561487490502297549964637662514720306948472076915883102474350117622582942328530095018336101986909342232573272078212009069976697755303877731162039876000974878344649788940741659817611909038270925065658865460676466110173412794086851242425679417807061368427235602463922171357083348609361807466666624029754310948031850855558762963480321918218290744885742619904469420689667243172679508646131187128430738928105014314891109628351322568072684245300304032041256394293744967231223343731099468409748935570602092786691794858826112657342218235432990550374685651503667809161653451743970526699010913824710295457785885043107692669333681864234829144950396130675503809787583294625163183878158091683789081845790399604889831364977420126819855333035312400477093584631698194880204146593343000397138924333499632472185764052778864737422624781572142425881438554141800201076248021088945650195891373577639248923096527248706305516347116365361879936334935755078526000425332514202882710339939148664635709276747257473608923173658817768967954961606405597338924400562248813076169722331421941261007545903754693743824173749369149318818727787448272928365246074292217563594046159705573449770754312651320490802271617177516345294770362250052021062234834368661699720895837798770597265555422263721171183958279200272924027820479845002865524619987776693369668073625332295336837696985965968669768056103350222680843965554417698400108973561036063957276782399570122251825938251985463620475774406673215561692011763949025666430482967884238202568353479664851443656782821153656246473050799419787859573372478830923661732535386539315401209617390922232671512315516856759556483547827180718212094056458117588945680372108858525754883082676299126493221710165980065536751658147601673561653997863167812961738258130739114675025347571245801214699347637667348776515332225724696223476399437405244806598706168383685725099993743622980930311164780589780715440504200803158411781833937760305068136872006975517037169830965993210064383775720568651079571102847714073220639361741045037569093144936500194982261895108911805268820656132897941264969065353439499472224986335933942393252512093862529425312813712966474652359424776256825709662478530085244778860144576687957153737005392459949877368481882299692648051285638553245730371804270041977484112957400049230621433786195156748948921375844313218721974375681220144157380135120311914482512753370454756246402354051394887855209054609536494050373907024444466931497519049083016121857088293392336070444155756660339411757891377520259808185543922112339231807516377026747554685308242574658280293732585234245556634271722825140376846758546812934771485886050643182612767220825195075738462692571797170988313022879845675239757445560471745139841015194404041230524497943336749031853284704715041116830239247790733007257423592670637838387675488336589021181424073590684073188348545437775762975224375349334912841862647399133097746061979024393488337340132268017049082993456631283318273371738755662640828791155247401904408862906158161931025237408834180704751264548094805725895705848058035311854640966931844250014711115907972283258682630518325619610446595000830886993906237399374192516638244725342344000120707282514883781547574324414635729905254507872170250954559515556244033058378291902188889072617746382360651096023052866039092481853033564144905907820801270206043209561976921852214479022083312363863156596811523477687371887431733849374477637676803368494838915816896521422202884439529224064278261516592905986411161203666050457004673059275371992141427798820303261899428115904449222294880008282946868793829101246707801066206611834744718900532066480630121030148327573249672033949904630328647869077793568347225034542335557539440675465183639324607120386630565383175866615917373088669999638273036369185928177281851418378242499774718655819792550579911918651501815644231902161147499063535100148528040127698721969904547717085063032047533667481775659496807977854835101265528848222663259342752486799023097342917714026958910241100872647474496529292916329599368125555585512329076332870574849040665960554949796884889731372177487767001028954950877349563781328577536885338699178024117174061120945537633691955467479135457091950498957729440051822917780287270595050727535778848930656758773397971200270790813251819079138666089956155958096725251926744669184385778077217525176141987551714461892666539181449122495905693540213252468505951057074306563854338235745989010848930397656797396064794332742639421619683609729352580401416300417320871584809782477848576
1192405314151174050512958940522176218473805471981077298289346611320829489786788894805454619958300054475785858022291483124202714201011329387154546013024405444962561291440758912979166966777725149171566326669763354981282936382002640639548479686868279272873771979410249497616204827578867843233803061815933714718089021184214827973029748739229249932891612603809807130610668016222556764027928577327490418629016873460071807436137582178234184416360782191932756939416263060273013899067517623707695456245635717910251459115494302723392861060799022046413956503011492561722384443231974410509988056423437109265482387969456803406416316842368569072961791465435912537504301430990892959736682665126511262118539235528856113411415593893908995161314175171419120532651865311444052489713499812595915450818566481526669804792122205119647489761179247652209232692281880728617021587608510686752087122711463881519592474061251443457374907633277501323085276691349330910336018020591651962365018446977725350118534875108886167869961517348995011785209827752067458815202515412153814995967067350686466995230055844010625195440085630624109202888747743626683591006244574886334575935952290763701523546643637284442581120671410566543874331282934017290413729911207054728146124811879118533084060628912905673982849209708735714201461636771886999690737549772703524120400319880703334078854872176616099317688131466894340036677606051248916421931207640772555201776429539225810427398730874057812840268739322752113354980863124910919972384270393443286848883264805785862784709463793298092935781137987988177861855499499504056672995249879674014371560864410491809450191832873795953720640868139302547177313240434968678202360771119772752675700896091610125423814543283915382909277792580833770928121309606709187458469921536173110774348321026710477031160287744935262558025111916170506232057815666094241528589714527723215102416461293309055157056940549238916778299854192879752720658019365195738307119062457738922822117522095139802606349571616132386620546423511601190250448571344701897254987792060086065486891474538179374479602248402310743445388773328614113632182582204443436103649030591401082803153670401601403606217345600612135569433793630738014891070194638643267030406565519882578570269198243329335301759233816249156365237652084262095882351136955348476225349932084497801067216357392642356967132213661158031368827251317360153451546087269566606106383670959150862026501533279752908075669948261150683891040898159561017079669164480001999138099592225650438602710018778317071264454430282195542940122489909907627679495882647459306883947383436548612693144079030180539741188015615044841460752872081385803821997280349842311629864666327912429526959075030941157111944050045578027569462395852438657729230424432386833810099197231346146592778210297727398245109396103210398862722025514305586599470014083536609534899939640444476301645014621859692751536177332836953894166720788048841877628246011550389052366732834944074174662848795929943084121254569604339768278676634993087420586397782428274210056411425298557977487085166791649633315085861460358377900763158577254967084413627582324920931662415497843715025214560133088289345450174505385259907254237681487457077038536629927618197759322916213626810433414509733829155237143258104236251476134079899700292296572988440005334092476363395036061361017059667761451578571616155342618384348038059295681837654291244378220577888661291485890542509968328278478273767271797761376255745779235078477992745335031107869959228170448796913681633926916026724851109823834578898362649551692380019232029649020298188279209629509591245934803703833799897966619821541716919694771346153006862726104226240009087596855506501702622575814028392626878174702004661058320929861883145470921503339045623622701401556694292163086750412492101046098624205624306400605394646903465228262177852425048899231061301693607211014698522128694707940428101575567622551529865016226451096370781438116374760230181061931342299239547467471125064457697614618746909997872538700924039322466886444098486475349917842645219405629060727345366247455365326933671391930429242816769563159098172269771883021012553691657891341115502233144381472097536177450658037803150861992177272578909892877726301971376992472055416920931131199236161326748082833764375473139309639444782420504580231227189998041120450350669617472665041649728126717662285925954866478993774739116920708311857832152298781046624575633401046824252224239050596457135160522395128082397303263972618073927950386772455982813778329383361777527328288488682513932955827613517039145678630281068035916207610504066441223622425998586772268561286881292203179869149297705500057577518470321503168721860418650434182171637951543185689254823291283386905520319602248852073653815221606224472096356118981959114019741217245455331930764490974896844645410023410720381515401396196909891682194337449318660983847135611018202431878566677371839965768875720900168083987780690853713198916290466113491546183461044117777819587640984664468582507859742994262407685172711333556794206511423837683276340274478228221743451589352351676356470978475245340430682335472318977672290758327396618996763180639810262004456647751953211913853595054506082442877694033408129607562840241192886313629054962049062689023944575144224113413699186019323390593426073848743426530808369590042624
1280335456963974636739252668433389005273486383706142831750195110207846505556656079011352968783251904432129671026260289749446640891944607460828124405916752858989632172783396063166508012908462004242149716535371550425962225970887476133125311115404895034196877646932051739865507423522139061848809758051025419104496551400713469395607185217521715177094917711516131657510104909597269689750885617561344607441244157035794693687455131003007066274375601712832596521477475793601367881962108272432046562025701087788502870009332279267824018104000916829532734314600221516186225653705124658662319345922316278052006359498200204378814869349686747836671983050404789683124337026357971533976424204562121393343702422972319567847924242209689106954516656685615079149205465416512264994256714526200396431111709866939708740843217237356072433893189929765030859140651177335695689756926138062716678662947119053852967114835200812620554599573986907368811998302114115592843776442326949937242994261051510104807314253007027632497062674448117548521152696673230732999280427828034149082328231541056934723574119461569828172732194027742521273884950071317599614077915045228557480239735919861595226884552088175791783875777684486373693000498517831797056376069502820985467444194038741601225883605015530475522293855149616394500620121333471418969819972598233467400266635078889860336710990282206620629139609744414924286258439621421448996907968494725860191496111493655801236193332863995950240560776810592378893631911456836191048665916121164992461675129115639518059867658963477853284587153968018116187825144057028572907461291149136956716721976279138160216109415779812829151820512204838203094014370203993821915871895488191317923507960647839927169435400743398253106666363528438120637159147870376645579215417799387397942602818630557660327348152199611635580972789506673054456613126266767805854804468224636823551212997956703063880054925817199356313315889059996753498948304193412594166912694308542513906815695716795713185541743008724616635418712658023147180087665813854347894831184944329529552878299960674279192907168993998223481847785862988669763562990917229035986759563163042797364633255009310303629099990405639649962859120220308218575276872103331842426547809122894228179864161092810036319618550126701849994071486742432984526778599202909679417827871114684791041902038189411688549547651145689542554213789570408694031982991364887627330157940899494476083508092682598589786474180267913563660013671248445289518419121985313358078189484050026121531673866906104423749833286336085477001197445099285811816094796434372905139345419811187095657806075712666203791007707813438729911859613281905869443537531125879041801827299696084074192548494397075614474049376481886234456756839622007519198295574046325203608840781656121361417901060752537399646478162051399625930626673280705018648704890355362287492779252847020756154853092200582296767114033851347805968926477739058280878772137666362839808997887231113541142293781851178020863360541318735298741107283590363659914371893904494090299478130346694513387316733763434210105244671459601056508380846724882742993270278250450702270761818981368900578638110087788659902554823436474530666795529235999849873195021066839309293751637688101060218825090076726229667471648709354506145414786906899420065928903855429556702241998184955108672853071554380142779015014863166445265450408945795436609565571686590562165900309176505244038255781379002930987964041619241771632059257594763476174489743074234803792861030776461369874096702088167987097230374376790668459420599821943106958408751354594561134789706813968867992729904468714036460095293692258296757617444725308481264971868044764297056019492823408215582033070138133131086972322730321141221263285607274476692804593956088938327856890714841368677581672858142020962830244838437593813320911152405962706114807197475274828349551959536308095894475281960569018443102553126607252873823211252996779197263962641668419359317117273288416443153825510657026494042925807561182371735479495824240768467553318830087182903681551822612022869480343532786580232490759324728116647387997976285017048534133273688011081738896649727778677832603165562492521417201813601081857231511016159502652698390223892310174448451521127688579052393761056592251143269740746450429249306749465338358223023475722977832224746891229099363229434686481631962015047885925835906144307274831233373024526590606146189523895138953979300883833995340581990690495199468172245073849337675906902699339112416754764292874562359946178995723763670254075686328636165867277404053167352667360374195815625552766270865317860016641135579027582277917614031705961719331300448246622646655389703716700678805190154595120817156922815157603816751171161580307156831103638781636927471229900606431674422178522949249802180980906613115463817864506253817276181407191764909603602322979244616690258481776215302926602033657928150039176406527930666858971080770178988661400407624832709246127377252548398510603807609700143967226830776558730782523772683814778830539162508964822318744618892208908311121071902362913419103090169606893067660454822631074670681541796454627680595660753104802034853017547676231357738583177086107741323039690022782740381309871000345562021252928275199049686220697534346811349202915027790264262601608230583703596661649754943508466911200170958078499331506176
1374749728892371628742142572600534333023898888479797684167979609990454125988430033618338253409143960516428597172256675414339339181989589721953598850107970606968742446293526845778825529490947537469661574313772809072080657469080889521938438377622326492547097779721649239225563455618202100651189801838706718579626573702711835530207436642967603213862379964693237011359043344062327462093030028615684590686525474004956627689489358281327756826336943044234396395627280033537380278473010835326674591562405420880811197873055338563110745709998966134214775210666231681593843457084932909139456174561114842700452475307197212166881464773854342450776229170238722812694307657472344431831923698404281346198288498555517914291921930444049372174273799987994129647572244587094799133304554179609709453464977700286640161421739374466950152644593176364336126109969867700177350228539988116737232942774720828429239137695165979949476515638162324870307235769996913532806917864232370029971978189082980617890236774564963334935797750704239929915510999108433499223504357263573745569947041501588803977939410829859885205556053078870161394980029855725489492921716578780753805721458003870507086464712796580883502662991320358895392267971311446010296511071697909778081291021525368333564960898061071241114895156692340900331399418211702913656522698329257222464206834835949582533045312866462811579208392117616254615949035094498936118662932451661479501986024044105344447531684046026155539912967275462363433747430592269789045807013542570704010745303232062283048083241334054659569397001788588609740559296772856619893774469967869371930822106110846541298449558282990609552076129695437233815049433345047578428679463611827916168151330144531865058936724244387396249165607734472223524075305612623934991228299196836290749504197783916164337059242025840609680337022699263185663895107060021574443015628874871584657445601838538620836958693267144327419485718207462559536039134226341687645352596835608857663849651150781216511224441566327217779815231533157662287367786770870411978926596694205727519169450249793528810477391498291897534158872482886868363261774606360938126184853200128782632363704324753982400703643176534017637841884000389028455208469957246248964362030590820288724919544404023681683333468997280275516808707361211811003547029952297185285353756448718560718390754914816563950111209316088379159887133299282807555359331485110690524516037669507399427830355755774462857156556849774318518643195231242002331715429636988866314440311221493954981065171624893800691614912566422697095175794885047008676734379280352259460499725234109767696875175574000309561712330985660753567803500397248234452609853683558135947666291308667959480858347582369750551286578169723228346089738100209824205692907367628284620128083421029491374220311223964320124626416897237416099668781631476270729814404207886710753309181781317259679571185671493409192830325923543938039473203529431834553077117978259539062333203047682163217225568868741984670534802405206205043461438462002345019773361175345966315382353926569519175289888176872233262404645499312780727635921649040022647717248293626465878288737382612865324181539761574995810284878376678110687708967796907805266570590628026465875973035254208775495695091355948321791793921553469553291196882529985501486132701480049564516976748020518387744507476334802649696920010982563449354920886283004309236031312790362506561199188577344678679201888476435842420362632094656573369198764125887187756177158997820245628828721364437767554151243252534103284188607531538075617797544835987266889748904817044834853348609650856160997729026363582760443065223862941118239657440993571907636120720903072529971008200403761247295637410358439000128156764445971682280680827872187844272777492389990312546376567847122435074523013323672706839675583295190567291286310638126320384539689033625429789093334830615289649111700800775255673940986575613220174632368176704330087161395463056332907006070072895442610749743580916390607066129976290907416951423899799360920666149512385377871357850020645769161957880205537997040866461556971980478576273051153782764582949564136787548856225838535980426194181004287689659244705932865340312133641757070228767197853241208040865897506286038530271218871775685468563125530966840536753100805427733579906423433535554625617609936284565704926662752151211730751655645390736232481350974588081300493757814121027578133944675150036858085179186589252726270204007905563334940199096371770002537320198558578902160907308772521202791570354776698922203443545770872561660170696981742032906230302793454337602948728263924604457354044923270056372341401333812131953168188966603592346202459465639899589766122323017261807007714444797774540369667764277171437729056083281038431972208714101000488652225444113285153342025445616775940260442399838729833169089735912972371816967075246371228867178985253864179181122205741973163884010946203065781178687959029423312091767392077431380920798474987487426065054615724184512676432733499761508033552023004880655899659707255808304668364756479505252599031899229278304564581828482750174725442692173921486595977798011657428659003674183523963800061990633545883619504222815740152331228720809989457341212746116397115748395005245971553401573149239437081847866677038928056529038767865806840358484554840118722195798220675717593639035407394222085505024
1476126281444400612331438991572150158115704628107870552549502348825958835827142667193735836064508454443494023893500124855568677808224170017062110072679234956465004625269433554779522824613375800370982763466381964334659632625970137918828666839299797631231043175904673866414268852263231371153840125596491505808742926486420240028592940119384471047760853948270771909040967919148543058833060920612577367412443274680546714456201209189582370756539480462900353469379861287369207872389238589095427211798672206444049902203839359681692071212654464935066001542450743861001160700780841584777025943241313850674656926461664894919782296378070109173417098525094132748332796258551522339791453413353438942076125758117223170556483922060594702824459595874519994869076699074721296482308051152320953036673528276025102329756632869192762084617683900927395960598413070329427113157879343697403761428687816363408402286640994675293698341746484938714324254776074530411086383827359049355825046529634176496010109866113260537747086399736267866881112946074751759238948152240137322326786855925319661281251118745939106805044371367146862955420241700861143931422599048511086287450299953015317338825546429836898815680869157618328673119007012731711173298578961108422104440641727472256753881537172772697828651319115599925151639015783172704655669191601458402613891221550019245521070614511886447733227539428476499763377536433407300034112617531835788831001085079625528995240942725371824201133854283607268556702869279457163590140042273192569373461777491827651081653179253860043481743391280610396208452306097044380735216085627933280810735330034981911437888557082772645275318046486039339914085657210077808228793341169905734680509899937415828414504585790753544611189838126880712964076326561856261383538897980028733858766964424158900158357741328883551371437131687836256430801383199302842821795385408611683075856055698890212231920433921320069394651808210030859087935253719572952539559162449403282978538303288403522441701048360809603799744037089395024784014299526197466225884093496548828097680000476290559248358544658138034942748850045558354822016592455310875705960866436278516098573725313058029414195428707816790096504515950174132123083444832142789380152197722931174471701745861625380909857869401387174072640724101109796797291858410762212718361702934498829848419639526972102001205054893902528784340798142903059676332509564243381685693367004509584243135122551774170280863532805436370754564922452781889369068378467364083184159297310094587226342802843386513360907057724671227933973559600520245422300598771993242435638230924371848983059030121147339365357638835835095381107838190126043841924945854556831702487172173084481823334935218719686199363455990677200779498898655401591425340053540780232882007475406120366025947583551467121601536276197824123723905323384839026746148729555649551989618614881819163531024420440751997990688001879660552574646941556815375716687249470639589818188903136180604905129490536560635205520077790045697699484284207854152633808764895026761702521207962528317582078740259790826358127834684505495925003841719361321766761227619059369046827510875863723899053037810722061114127643267792513630694521463409048386764312205694442989941044648670434277554151540382584290459753560935311679354943790860367059274837593235919014864292385139803082326703621367831765603939774517710306084375813209627198956308316638367416233984370358040361700146596932802459416747326757489743033306411075874599548129969457522565626578261439177268082374701843660682569065810933830839303862654914748790973795960256107265213308634374297471339224625377440373091901621562722303249449827610272380367791146660025535365012220492138131732780240906785790343278014155983584406712081313014780080058224974317535876460551028996588239916256136634621050536375641850150940502490812359192104027103357766314525012647267592150125517597566683641403744194058452948823357535494061696486755746887431510319920059142565510153751680105456841927653689363675684492550417567759028990390672485386226521015237886625837843605703067863843966556972608974235958880349067908010143058864296239248209373045625553112450037289730015715463349010698452053131105831999152332588294308099033762815327796622477227697766083646633865265066761303841450413496475843754274772846840809192562289619506713363055800649727702007587479623701746314967413841438384064252459615948565108499844271810688049667609447175180561102341568300629995006212308661376104632906818072330681254170155216338117364094644562259813425559571917044190428544152328526985110203746285515955718501955264586758188517862409689930373820679418883471436723493799777616330763868299922251112692327916523671876141999290028309746117288699488972101107899096660478110559939301987502784910331850021408863181586097830969803094562457449775076910194113458873259776356421522983892664966217360953226802200983560289538347868837812045726274789279055090256793535574952944320184736954069483126040156885747304959553744005081339825200936802380150516368016975048157643648957688719619788543265252112629480946801618312323325146015535502296982250356751900540620711468479140518731638388533135934472665298186181875247074171378843704837346323964387069155372020778005299064401518557733777384996565656312597530422265195574944023998196019789857105147065666604299521502868675936055109151248430923776
1584978525892448068071476195355401138377045090429786595850390502320669298929952716180826877990070289537578178148506405806646048667070942515006381190727374309079294658505238076555768755549998226687798909116953533065400380354979085658494656675518079591388899665118637367448789377055508580596745281062365877447586225032626779758819195677310659700097930434213860275501610984232041150933950144401668019826555002052023246497408654466227736574370961680246989864456660407566801422334380280626510524455940615725338695939372093867612103950213497061121810056577875143468188756973539067493534469591248806179869758793181930347935376595897592623744007683122283868892989613677487195104422967665147486337449618374170012968382141500016794735473198288609974415193056060390357176558230574178401947016173143614768845339536453065389768335434254437217430303172181640959349357195766473573218860900101868623184728183672455824143393172646083683646740250702977843543363592352606758229610485614270723563824090080848160387777401538413378337515405868317594312437040827754734485640042740477940887192753244305249133779155712693646305630961010403507055652232417168958274508273380897781139329368241369759756852616251206447725306302358919338777858796270308582212184013148186571876309080803816759703936906847190330486584353396588648403991529730755426282765927964705771920898192058793824069956403592964274397064564370633208873543344170047737967877932839376300740314897161420273595932807566630681839731986286157900563143357405854895742307386158357167166049857627438642128806459653588302658226263365646754379581380816277266288023152053003461394324921990784419115224981414036671375106336864987696989506771466828877463910757208858357448261182003328193325284347600621640168467761357747190923781819892025968265922998771739487121868930018995608333164607279825500593340406978142389979859884083425693893579611607571971257649357741549683799620008392336709733366575722757046560891687244334588776963870626755596234577017329647914100654493117490664968112720015341603169559182563570876386665373879733093841312572747214590083202885821820311005031291341230138167555708399910073647695915616117899521043851113193163256045894980577065743456610558268372497492450180628765903707268985446088102845568271799252418962759593006393637393518310321559514489693200634926087307747263113521999887965839799027735110591235576543952046118450008133831124590592123537210705565967205532033461002009593085849946796160868579765309689876269835150246931800299255700940421974330221193140714455761774082144521453235319668668695201732184248516396676868235181322348101951685142906113535922811877724705318962797104732459032973091183889601585729775219082499104669914804412144874373464560193369248242052229547388909135025637871483424202822580248589690944705024463362406819459438507774334546910524794521848365859458115920607558053087956441792595934254165670153182150222349303183236341153281074484147587617993981230001883104257086124917355132173743194905556491196859184675712975000227285573203639278467236368479372232496278170035752243458439311395732538192214754321748893103116167984084629712941229752474801600691625672657722887851180854039366797862927980872908570045847814402683310933528831276053116933742805713872001587109176708599080489415885055535280234664905745336668418089322656618296910314901054924714755076794984358635983577188402967357388213650177889245588615733791037535148058020118205824250779711042345873718579503394914078649194384570137041845316451064890105994609068384138793729808130668701580377333644931321998410569224122089789762148007265594366771998489514654938966765315176296545384894739426832933856665787326229404727413518575226707736462411588500472921058943634434920988031872804902120584510126064127176190725919873546504630471401251228351724160029351805530459961405800672944459704804527123844773500173011363855094155348854751818211357733231887770573965538547154223507505393032565985787837926166911979849439497741804678548457682528811479599771167223380610959147045220209152075860179532331721414348890519604302278769078034887494575005932246675218525888812406712720947906416619970980148342723541870281371895951421505538487187807392047209771427074485122913443503319737866662675380073217949883027764159337173793260190044654002393752523100057800089665404386692709603419007856955442210716346720218389438668897288762969184514951789783380692129959969145101561529510023207371686218139031187081295633316976938552217259020509621015270068354004739249055760912533629460022970866205719348339785766412225451011548243127074287519993363788343586105440361501114019218168151198663919384816225908553366583261654296967928289727894247179466212400681702318432954486123876771728707996856174075144702887445348065474699397087281991802362699898067960063676337544043879471292111579393522937090776120201582832701047127530384125280971302619302873758632425066147301696965708257608814119279658863148525599474022771034491579951748470830355483314045103092275095048696390356839536402051171276131173844384628776336939934719234632307992016612825848820027787422573117911193683436401952668824342510846535215569811990062720624115415934818323533871439608234642969865213215882676903292988741308899075980004550915435776162641544845586493498521308357125025722766998701264779970077107476454460817433332044720264580582097233247207424
1701857733392588416436343012373488746572644795128324003359149129074071685933848677705755365801283526576287309547774211046512319618173522553462099111370902777361541607256871445875242781306465219120522679220447915916887315692649010916804293753024558925435091819777474863319021332311405532577600286551297395005931697663807138009480803252768463161026444803057902338298242293147747104646878931574910408251033331539663183584529179919953116268756588047182507667571207314969360761063111820429541273284518284364608254395722785484109035019979845523827571816331470854591794681889060558065766809585780027585395826889031204655633085900205992021027836518745735096430935528603120448608066987768268483208988232741185224210774294943254129209900589433525752353162725326417796266769124538930884607994297108724735853333247770428922001123426620191497937098320971301223004888648609818412555817254077662201266738728880669735175150222746152800935489848444032711957837846747880431736188973632992807149220258898550211201816654433836386922125879525147637528328174103555838431246841299598742879978525108122235817678450668127695737419049546183544641932897545282926173850406163095830278096313992256038099764724672742453381131040053561553488212034721725534107364417301373831978775214810053593726274914339020234731827891145913690714996554013651560314754627257875783165673208459511595896810092394389613557940605593089113730851415712206824332703305016301408179278268012475827001475931778035029852957498626042170102680175754446544033674966782346777516347285003826280047467890931426312241307916630933924987211700194108160793835688639621281315856024987042573371562137713873834725195266339370331503072309655143994383972030618660721684139947192649588371715440711341503448362241365464185313377736268903446221218277744717316555060055207524699139641765112883511408806410841612937948694075200166072729757834056725900629463995333840078069627238318082926331263580677187269483144767328169355019667115628872577103122258456015760564232075033769872905834253826874200970366657961757588764696607827266568814334128415726884875350578384385079738789571941807854959803283958931563914451345831000517230774351078264457578876498304157263143947017085692740566968978883177460568315651362491512093214100066478257054173485673468182747876910956302069339612717606450143495091003795626521031223832236475499833724235075006371994686167756631786434667825873639966877954866728579592148498845330648145498310463212727226261493118332620307110405454601656926562170167206047012882246367028392814612437784296804022842259400437607963474506065061728037451254028782952540365217711008812849548796990059045615551377349594069803070707940221294781214847642195126641240014099685162014694061386089312929954457480061732012690694890089489304463264507068182563856109255371871356416197353452156785920457667114672209353885040196598572108551182242931788141051926268460161383987346365097195173010284501288489814144672626923985487799785820693852748875996103005479734592755524024852898277210446025940561162299454302530177247295505795505570759103156694411357841374658332905146539350520974295121433278338112439225361984764745811284730301287874370770107473342379592163113960186260395863150648776126390050937521297322287354090545086673502286229493169428225114104793095520243923785873841322423904241855796255086273094387403795871106579293271158204320593817334480400843704723028304211635887077842339928579551017338455640356801399685461218664269235132065434618896403240954412023621844770204875253725921048603945394241974626040836165126037304689699587117489550985327479324547821890650256710468896783264897331534206475659560172308942527677042061644074447214237221806378464061126475235219120438149551341270985225275671599097879848906565855130999421089099673230746808359329812620813134784101207969366518834018747811614131314517414560990942633537398496470056018657528353579669996912589739383284272763685958252518404624292980191171858837397690988411682929236596354624425298970657597083077041712657508937818957856611427495540013329524502837478896231287052866323978434059756974501365467075586444654777546834608044762831555051549306552975536291652781217542749721335236939697454114082730040639737945021375485392152249855319710295056942818131088523619780195365133429979168200358058196773704694855865031337077442132597667606061162473983711154218677906905005235836876890034071749254005662316845071341944322144965604605820265232409555609601005988166993678944962453878484815047033726425925522999931763757745199819778589052318452940596700891668362455639260209265218110901991592083556590081425545027286924606761183163241532311846149036452016554083780991313629632645586906249479389890819229371639634134827214557707734617107386342303634732137675156480198453080221972898116105514730986820181355479541347524069522132257687204880890798471509189424435266099834638966106245278035715836068324376778254849976749950912294473814864260089930650788109355970032235058596691222024353812567500867360631003968894691652821987369494266930643459866913924083871921978352677695293928706364884197797918399332175670280820655785117463197098506446163125547015517340105092370491819881245346451710962451851072570771268144485337504481441274684674028240880051730453020677839878866410938245868515610755512501675952029258802412249811047396948095586460516816064972209942352101376
1827355826841463594345630525995564375988385370825192929429834912940005163161365822539765901773257395367175210901879696509243086905288621655059531814712172288690847592827884782827600460442837067371029697419530643333597218754288772373605354625404395417392155484175345133854316659250958712553563953224512734480117591868952815150519646977612742684197340555070712834338219735838404677634258659896415494392049179292194675087699219828474633056898773061798343843871893792257343927697933865183976110259801133615005148120319401484067958277233035775992852423558746504012232397165059649263994366083296131282313230925816611279856761529235863848387875538411855794662568604508718722580124108560486290482532398218056742565925751904683665193370337757029068082657236860798839949541070369314807048921321559120024189076237940864283971839998148294574224272188427062426842699898475201486606467720204020449644003153279771799788562759645460397459181776201779246053275420663301602906323035357377603327284000967481534731423846645365169411333187838936278188957945332541610843016281971269684648055154630424966701832191065889450686013355312065491462614456295877211745967476216703358289597563433721720224254869440968284975690610130128240138706352660856907419815681265874296054759628436138759265405383247823341213861030693086816414892264060332747272810647584311661781738445039248211127391784389160431028358275533188106771907844179807214624244429579031823752186766499276649240473217679446896090209036369204013626970079203220008301214476256016439890924923617456276917302979790142747427575490548938927439247867640562850624058420276203033269304368390976669097634959478234081403705704035401302759593523373007123512491884521464611738284778769899248411094927318359683399546762856481764945060222142363340825456821047751377842215580108068268979250179578887107439616605239966851095029594723419484035766835818358188009923418492084934350783949871741053502188585341094213924411399727004169839720924608164548002287129889561786520985817406064924930158651945746884768464065268641715606047242495061882532924644390552815651896942673904608637113358528975988042066624799253118528675568031833291116315080659192045435113475159838726511029644684950887559936065537440449426311324101709721379485765827898884985689105319467594949670686497705368227690234856346691241480749461506943914840638577863202522774756882442118677196844074575802462738688187676571554834843990821964202705229047224022849573265688318631940476321841915567256166922203532301749098644734205903441934711350439960550452799597368908857185272907023572898041519798442535524849811952755960797182491175707589149162857111709506941338681065422169932462744704496022023311443212694643676046361181663687393116274667507092316083411571927763905697879112167769002876972813851238479855225406274948531681849439691524048209734402492955233750384547009069411631272418881989306154664590209927355776937678979232282352058451172433403245121786316231687019671773921154396165526005457995692216661213552521372327858401947746969457990976097003400332554375459868722549040488073215061974914328305750371264149516166289900802069777064539210929324581558378305226097052911775953547483102678039789598089130258617193061432003661317707829107027825679139433315742519044437284226078337403471101488665526512939650761163815426015041851579815908704149729655114403165647348757604336899759086187847803694170648221826167828799414820464059341036838458048984619799945704020155209835292157788820655046568882981901867091250689804643608628133262807992981209776932326805322427596485429561788683580132775926524887262266252093935186367113127330583535934271579567307742452758241179117626194428935743606793311073386835312389013755007418934378441957954154064550525640354263497780426864479077343153949652586050889925240421050115706238677245630942057369643525438565741825446390482573990813809833814615510855512525704351791802998475329092290147793681777246964374858379260864740405537916135285523291348165897366181255468499210771440222301072957534190030390737084618304885777427952729407765600888886012271136778723987178797817647108352134953295893452437468308716401325806966444127104965177453279197292883761989027102922388611494640736106347969263432673854912045354721835366019965403775262456969869450434715109208345455258861301948594291899935845690691544709869473477826050375622561019908510628682516657038358368631622190866679162417292828109424166378960706716252606811220155282416081969350209426834380839000159664904639202090271954100683892778424981733533485182847089294465263802413906211218343107056994157738737316462013441250173237793192198614235542097052657076620873775830743260113650429624837817322430266832999151775400199778714626622035284032456226680826615057793119115258741638533706892335959504501753299163708657621488643395121173912292597098738297390269388695614689085354632791961811341848393982629456658965687604945546606150881849884477532339092588941372541010731577390727701410614358113101218635127582504441385999992512225479218655465425736131651990091170954096814166487422092663829019225298191168092313685502090686095750963159588176987505421819178952226393439345068070233580370456367841690572056743846082838496310544252781833317510928428806915928790058110270982768933507913959133165670220416065098011604339788832847870184712057687349500188332465030064275763212812080181699149824
1962108378609781278622273407412556708983190710884759041197894219439082346462302544625108551903022230123039860681368990358401104993075119862349520519315077908261165266429022324775151595939131720453780312065414926196910118146557034271155822931648552273087894352870038219854258119977710881765955456835938985031909154827856964709653800293577993495372708423550799647722529892071926807813140898364972824010380656870904139391753520262003319636245184370737418439098178462832677546321703629434012604202783983085043341512101925612091436460552097507171820772234789042371717732443903576869521568164002123935214467513619536885132373583134745774783656940099328104185955877930326265086132446472110563869708177401750596498235557098706512807734779170728460384092564273714180504504296861260434550916837043380058607702840601681620408377444247906438616873404674145701159947150073377662996340220088986569734052096464373754608734191880190240487586805926458239702588751357380752966758997117847119653386392164841387788838391214090678149793903381914057562383120880655515782478480265529426789907539785474549641564560977004642961958031421137290010524074111903481020149342557599683196798007987280062982009112554427146635949831380796773920444572106455749175952023346222495600553607318581898890733276307936878424745517178915022447679560375631330103638730343799997505994927867366125804662750932631847041015610496499970300375080569533982598995688438029182589719542649595404036073927374278357519039519252351455019943708437089918386641173150339783142468088532068181017433998680503010843256215119712445213221654588488531615716026469928828736915555727295233818338995476325150865379443010175955397062183285119301165296322871274779359317708987828095285158169095962955141491861922814180514848222712986401248659672665054155542813741186455340250302705973361794632297903571049964394313474372305212305703163530312453479110101472006606972731014165207804843121559616126163415043694469266559379307733239737087064111339019342991219741925859719101156931623549607409093608423120006405717326431586818056743776247722463548646403572286701771680020251681668634252490806441473677326668300722736768067155150865707989231789616465103925749790126802091071359024660333554848458387274732824957752540842382085018852100033842653238110152591119378333895391760081642074229992364387685483747786687935919601099285568996109954082877806563678614162604731090003096263354881405460615102275418371504104431118475921811863352951705243349460839631346295286872922995569152834241953310855054334906443931233065585357797203870437125273574540067496111800453637034412209187173239222135868171263664734268178337741333656408940664073320504311051899688054599555271166655748084963762363056050473805574058836407786877384424412345404710830520883159782036743041270018736983664804281914190805067755028864584151888335899837484264206931934587569262491239238339003983200219941899426000561487328972382251516503580918944585941328852427099494411415953524390499019902249944860414629937818122297806521098983676295522049936832007279141685460280950356663113584186189217553118751233329845087297109605399993465400551698062773711290529883935498181994514823441413777278697728427628449638461216595542143663277953847924460348763473213878771740313128826618515782370490484443728837763924180210215023538328728089151648815396211207088989430183753558395754214573057826363912907372972729988965986055425203399457711603289132977138864227011940215335565587771649341077064096958577677354629869759565090112096231998313947322525745423383609949708510996315558201127098501809890616985530122430380131896985786347603982954285016858434309955962146150546867714697670660556304103719154588622937778405912189426862755140131644574211824693647495141232754894283375492964365316275195812771912599505150873336879233827765485071063755518393681234195979571567896930975237111379415349242136484689819804637577668219831569078555887629217447176717226323455889244678180328781772260508539646663069692560257161356317116286671400519554579835745594365469942501031842767147992260072676062888488144096787340578385914982847625510347019046087447329864467743343858287990421623831773149095167680082516872818079829477321278143082910211532726495614135726170370938749750518537985273066546796625549136751648594281728045151760126517298389220625540434905679038152799254000566885036853805067864515564952152238749352700182395300064224676736250396331575997424744453838124482234353198504678980703605964751142627978681774885936082914313220652112602679326467733730926345307207172130005459845083258198512990029204178887735521634787539120477852664047926122619543336918105033497404764534269383390137459603756993675965070822071212617771048840361439564623124469367624036428235479900649133467187478903931124058184779153848798642058208639088717554362961977606269230496367538482293269394297059701575100891287848540182086379177109126763362348422633565457496703453094860796262954791581248377727481917122799960433840950500793904680911029381904720024063328355513214273798850542711973723826547733515713244270834756789927102746728728131497051177209101863077832733012247398896834014606345976552504006755136764693024416118751778083811568793762262125901056414682780408155431080592053193691108388358172587235322252914706765636652027777241718816971177156903246647941736007874057708444519797430295231116943143531896551271038976
2106797829334149134348932055501853761207048379245257826696318084139576535576632681505605452718349760484860564432719022524468016198879986570017803087934798983918448261540944397540791664500194286496300179972407830171495653422739649298341363902849343844664741794769974473136024127911678121532025353325774394540870834107161543298447301935758170221981627502523600170404146692207833829815779359379404537763337121442882743159651675404544402320276920777451887899848511057759475395391310545855896781275687339875719584634259239680639375439933313224376523917380470942611421484047461004308004298607755971694071240179262586377077313292604517565992497008252511299763090299552429868788691370180546361979128956751071266277103459860821279102856503095015184461527290548095099429571683927647253933734065479269671254661748517630880564566821867205367581825686711907330805240568663390265706547653242909881697744292968680626291310657520601458288140106353809280158086863404356485553021216933727909209773352499856100395078661023443299257956651041376168778274246001207539831939230641057571047069786560608011637712077917208187390441579269581265930317098532826423822524535830197908897552044055828663625137343698811903704000235919309166602653785744485318295473222484263525935970405732033877208319524800380129516652498351511550543972395725248509537027159356395956413282444783054133997312049891261820562309104426985423726270566894878377305829891071585165479114505373022361991710980577701174286217608130102967602168313874565118220483230491945664971158137242216371178021757542816896100329706521976419278744688314141645340140593327853661718159324940599630946609797653077116307267701589850380908984192921986310490830599220295498794471348244091732829931532613599694490055649902158645399078389739000246963931714482618190031320536553808481134900644063973188780396960291755302363885205200296253745832960411607973088574826251377459110951317411120065711289377275944046519391085539128987410142193346140729144665714097711714673901680281887555803884271713436813924085294982639448966606111055441234604197808877393856497102102747239011267736489397613946705858355051698895540724265061011895616292126181540475409114141567501121584140218369668553975153297647531631387752340470012582809936144733836473065328276568672216887901556106847493982918973664632749698855396843706054457670834267233107601699291950760951001505463188803447320747436551609432747462254719602964420079154272581926715355634696386351541437119771904413951362333258676969535593473966082373724605320345041181551976075922410733708862305943018568564425652034358197527012256763716260504951286364508266036191756697589113523667640425125238549858428035548730129716776738066451299550928833497173610353849980061311302087814689526016217701882972225356047954075247574908152577195163016505154265553446517479728278231236250074833416181657420849008887905307633678003794492867264669517616263698395916428763693764368557321078439155863567198988900638158791572359978282905900054157498321030145717837216301845163917217131779408931393084277486870500556347188416902133403256366064618544837877837457671837697630109233127269270884219911260342951503410116283474304517021586353958655266538423509093487260556491605878111983658228669096967873245334483323473277440344888335277496541253027622036030656620982806248022410045726011650967104188973241082224200958347644211362491737463132939798787400611837741110822993704723867781638042251634376400150756593362966285562858976484928033216047728443771200517861303686572609396782722728710177863569599104564865507924742456369601161019252322528495265339675836430098334950598686998902617446005756296154482642772337466188503617010823026090231725962858424071966659033129301830327645233908008925302645978395848732758774692456781699665637962875930561242196131933674997947413784448766470610096838480162278642052190509353194805024593148848646727795191262876304416028781955190598068934977424152004924768340501122731639227059844951042527784319965128769754343794254364070656482501082220387094893943818678233052734878692487268317568327023968444859271612745307329591738129548939103508675759472603267527198257344352608902169970263669294397650137530461056280587915827365176993759375583093850094801738626529749401319922120387612030790074175097340596631098641073205275057154739994016406207561377078384752261696407984173469711874909288727588114417560413447113170262179987921544591867477789320269464412598031582293369998822648081275150671969171591449983202081582401615829913250313855454287288555893391179219814469348754027584018455089934292001651508307339430229728234107693245271098079418318756120629492637291084491137316918228681499485664351642387200104779923294097300796242776937384199540317824759420696009290038339353077327748268525916605606897690785674132304058307677284642505951877602677388246106144367766782355900081806144503995440200570850720903184772817939904368242087457955904839713174276405477461541989477298147408618452061503360213516616160660163546670243966672847082079959679150451613190834944572861589623008227871564323661758212712130307914577113755581637848263862990372711475536430742142668660570838546883980568871090946836639883534802955058748915771157431117958228389016844277043981202196098916013497404599124854033072426558959839269558834188851429753915880426247282845466821169086146478890096915714318008088240232405141074908465332224
2262156944068489997003843357726629692939716568387046882187180473748214379897654467217839865026146630092977306839657248524919372343046943536786419600111943454065941303596602688098030756244434661536915924495101453240223975714204314114721376251693213256973492523205346051218513547211894577114690577294261464606810291962625046963929782348379708517053037609048255050016459286454806083515300513321593336411882481104990428458367913153531444436363973100684688185826869586842828464330586979257746251082685571171863080117711888903542900471094798179905370053827732171898587027513907681334548393386932557593684423416023496471480546163820620401948824107955594535588231346118132430945250142390719060028034175953112375406366758427669026361914225243503249471416770778889591786969659439223446467398790598646451000860874356350277856124129081576177169899982100095939897790396955425905923593125935961571441760173817781510547494260756809927399367475363893165825071197062232582343930650181120692354608438139790448975738882110789714905816221002098746934116040473561290021699082965685845625090302476877932964890193729653240116346541490360776196247738277024768190594547387070056980643360919433827112337423673677200116045569412429341367853359145788863607801988853410929635160170660734110543453034533973396160566691954109005438153112391678137483568937624875260305422390088535830129014251547422468872134483439237803693258635215220725106521993072925170152886242904086831357768021166329432605025192614533989740965111694680057244837298069834155615024245674899736191350110655709972116786506082291656521348086060737935261883661096291820738335367484328139386339650748285942076425766361373647884307465295221470729454782881813066694565466579350254432131365623642023167595103387449245448175638117337009111502501320013671659808730047944992680457807616025344408159767587724910521869611958380384837417515311679735797069247499637115458278285932219017239839713348096311831671835556124382313039114782845809872483323725539490740122755382538778331764484194497249891595942166237330267758560774216036368723273360816271841592662518055826922575930477150660383787141638850786396682738647670384084735111683005425195609364590882873411800487544006219420723552495675522983980849316540327969291881370037569106892454841622567419339020386604767079048443626870732951784444519204781833222812377700580389436863238718581716331102790310669903667265566249382453865452753779095572222893333019511180780288007575567312807904565191109389786838998067673095940569658837802097307390347388827634733942565291783689732097348102797876235461127761081682006429847829034573045555252173434436777786850233551157445959399850109068960103460662830330365848458132241651586984706573447491226008163013396029335585152905658349048800910831795141979640224564333456380707835141319586446496738033165131324492387104930271768787043954405550431891656557866543622977692451756138602487115580617180372294607530520946183316906289966939388913126971384864541631066087769144512771030499846222056321967025760870051708080870911635901173094474467319165244868036169149903818037835218198448733480976081802885313965297315331058372380333798779612815120478269800789238197179073076126480173024738521597670690551936253083009444643765270717087846247613843778934053971590197182682358717124407350150960131755053390178955373771154354669815866168566819147513958747521611403403368593495534032176521173372132374867401650723208190865195058962297000427259537577713510769064065699734894131674010271570282718140799438397922141020434411523546593644493484245416793799419832535968785329687907982798181187512177179434669218784070206782454848442279932398378626710047688782201559798543775325002018027760516798987737418332975142544311081292151662742844869023212340495290283583823368802296382045966525539380468208839319252332996761344702927772166322832885113362140708388450174431012502649437434440165029666590045999173064639038189120396807795421177740707128595918166173188074889594484706397956981630905137565761597186756398136105292409257484322421091227140636835690014580083226703344369701637724780567939516402074552226170266330309800698310503013826450546566381774621428938029099325839985808110131685124532833554259362028555692254163974991751221307912436161185082942128944878405864313869775924109989864749566291034771420925087231875616096634867262026443174584500837319559512903101095432015964897422971735698447177258969121167784233854889886099009981289205642708003298480528395003976372487768172438884717281758327153767727958781834019295794320994485260123241705410289217928130734001901542273792401989133115093557609868226277522440210375875452559499480451894502244923322372792302784274227954759385956384124190434371655572044203200822696892739316364606711526904229909471659859487376238953485597735889776889887760815411528699913323566138930172351053231693435171000278814127639248643871094294300545374560412838741826660673096574164051384377497533146985633942919390350850036575178177790360890655121050740016883300298037185613619737460685571269573468603304141348326961821114621902622364502783745879666312573718004102275480568889659568218523517942715828969062540714812400202814126260738577806892445371087978144946679750827306231527940757165704267752055764755511833530309573204943617523581360042930297250894648977508591444654957535454693576371333374630157815866080920713820092880084749536198862963736576
2428972523298366430308661301935675859869651190182928457253176271299591825014336440952231582013088490287486743036621249565968236312558378870814061279853548768553624031600753930521682635017998663327470748102016513467208801851901442946209875788283353890963698581516870595586564158752009797726836517659553289739827925713921557755135626706672231667688863707080072281421884224259721977680015105082063927625140310535317958155429471132546445190456104405016112741520993898386745036609443402098862625766684780008558081123850098297775514014083787874603472188991967324037870377945521419123768746131554502155627763679109379928145085618456955759200143552331412987646940438514858835876706932026870404186066907222231820445804984407092712434145864344506023237366079320314810979956221558930600553471133952784692228790980801622373328141531930463049269355564677724365080847834396603058923251287676341084913781878805661762768741726174548711867104409443501711614146412063465054478202291654982462572980119174009763660988799025360318563411097347580616361152165125739523323692172922702849292466881546234629567070924574991232930035907675951658251014828453447191890146168955847036998179935047123194570901838198834937639815781368020489271437520813726416329128528142289120207992536177407929033944892558843584360921476692451127793988442090717485762530081115075789772819034224103983732081917778524224225348903021344992507353463479741733938479519138238037215470433320341251356470231616005172350204821883881055054461166551409495762496015012735405627575975355190953755219080838063861475667484059386937373213788865765725394088879941330219235861244206332787799214577277987512318699749773459183824830038762907800465007389097041938659656374972322582928820816732340283479023824004708331514947807144473366186089315147913887512940133292804063892381415504672144935045669333059825433989069034363566501150626340310928018583227664567795690270322636454387938592939278022080793812097679461048635675958090278223803237451426643248171330517348353005596680474397418647861586029212574182218593485437321579060603264089693473856071544517153696533674986369032940403292145491045992649408511344864891557924049375353955051429155927295590267547758619590518308151930656466388160973519926211165123305680690655758401360755433481446660404052624286187770552628044277356211865933512877745475126726360841998113212567866780237354786408897999668229025594018197004754887087090428588972788933221953809362839420188499515464289138009446228704773247476979515785470954261079559344113862800285273421740829244767638911226392277897461131132390284803280881450571964535990022620995731561483456490193535252988045793335627425001438304163273080819687929548710742500784183781453496278299197238001192893188973148710188240495628488155009393072943557865587477010798445669315731790517987085905780900601559991604161909401833106843171588556463335082825184098311635804459668266231326420030710298684610955185696425080533329826174399149026331798380258923864836145785320062357583264514190264179605508331597148009069872168475349482200738860708880182011795560990255004509288199840337058353127375403285479911012065873780610130834830470438121237117168263553261409529579389337675683418337303346321424575599117076184501023552007619691998144444266843703887169702503453017061547461183070098607221951348388135229447641035368711005883976827857329763131024610507709532801324209247563292534671213646959575606588148481991334680725964328468494435200090646802618492677289181541390547962390610709972179877803560557509266466301659538408825241329789091814420941128945669166963535668193879692161811146857357015813862605974650240164057213332031761286261724479985441553733465861313859640808459942927734529193899768902188581250047203238135092614025116822722052504771760911602412646636948975596967764533143576918348197912354014404226123909954908803911736769666590826673526761611783429663217815218507851395988917190766791791824006032954235535071308383730701534063427001780628987846799329902577180831777312461083578331896927569485702007826590300385700475384553805157912254490423566826393097019132263241447091311322304072631886880393224423510229315983703762370017405748075204596693734286788465809551848438850353617729086568698102733341321385564835994428959872819716934970960671041699225146093997712612544590312927174931713234968724482635926159030510712371193031102261127305465570890146078914570989296586077696824522373653297792017619103221903677538312383761108498987335362077447919615163674604859839508125275288690798203277943917389753460097145844013560114613225684595237660581469474961109153019179358478668989682871675152419936234028062440667469547096036062904702015164746888040335132557927873952879525573747826506153478000862209045909845859477539972896311454933833559067788175476870664559300701131453215702136873280687808199520668854265319603689335591278389968335652859675208438260394675260879663666823722959783271059808691219305796744814691666578080289718222698529745618392350294231962382278065657154191300594616143437653585473811880118521158106411334181975834792088044411872378385390974258104186416757056516140719518009872742708421710913252037196930411587609864171740121538614064572362517827184298397177302047377415563044370700676736598298190188418960417737685696928612544896695675037806024949809953454609154761667350054038798987460978615901867538856568536911612241581321145408556969754624
2608089387612270467099990869338627328449207671190788495352531519338742576646382436257717435741139227434692299843960999306121942384309467835230950523477723907619722109501227165133520784073352157590800350373703749248401343089315233217295325915724806235720858832704137320077083749711408563877084496221576960350443322402202635616920673187405355001014802381327558525505775280473458926047026707278366991332822145290118720809766515837215765823516364935776435644470392522746654273031970534194398184116149514119427889635862774448832775560019888081305815504941507715860821984690793541201023935225488275099995686837847856299555493168598139742370866918942170833853315294470304377536771940307975844802364716346837968236319137105563287586147260263326461769875838965123505395833420776834266527699504901811365313020653040682989296567639025169635687079711321609731931151461171458507892231313639943198161463037286938202682364031247568476257035134194308352775695552692080571355684296882600848051123406277638617027159030709059810711498091327832772998667768523660745122471776168546368409290498851045911483311064890517511230305619893471934466269311754651486907803555081263372971421208137699584891267037072569900616302052110083535419685754700568566506221850137936851467485165173515977312970546851616737602393700704525960988374246045405366631353080151369432408907255429707836258151965712930628547911118166538083188112041289455276448025702666134618225919104091453591533938820697071861352743292223193560253221552310078221750942741952505897667933292476461782553428585378666139249366535951417054456888342398678181141332112766320922588633538565017199922533605973855266526303138630097650829624302311275325215125082142535524220915551276009599710383325927352775771444106526270508468856741708107063728071464673831887373075162324618561638418160787688549424548298512980520462613014581019454574090771625387900577806260768360285116130195280735023397988382613904672143823169675610673699023414712802896693968398199955323488769094204484199625261900924669599846513082539626686150700935767987109975092355324021170219114573684345809404410657287060566544714203904429099815266487492559921694967570429758616342535555692154778481033378347310845261300448092195737018655712901270321848663426494346293781980421621164279207300956041793037954759672324255921220826657893580077915470317793839369229885421121000401064481293820547993715628791063782341076849133806523646065388675524754880109003476852301893557742025909650522839384384252335383290128375127312138259265062706864057204198719248549347060713600521409134799911195929884554294833064907044137240534869217503041614717605044655551685740331723635505467567335739631609431132584416169501186330923849094465038191660067162971308565205383100768733126796897922180455275380871645444397132790749335974684645569358428917876356281722630477494592447029085373943441594468400955904246856931149104231538618142036183165012125198967751471938176251204460350102284379581329222019462502906292636659476179625194671341128143251482116416318536456653085625557052055676878445234939630797355172779654766931336638240021810881424169856486792365453297321346097715469512059006376275324753022591627017101555460242040234052051142320470114082221862171893089558599620429984405820202547101334725486563595008837969091233278885598378357613657535781225768597814048267986736011517263271633794316275437599812281686052836277281623452181580066766083864967836206852277154582208696341385595136063183348303443129163719818465496777744199463411248892226714456672428778446998090072322687924980119810831590742008235987329855555166298381603970150389979173679024614246635792851483492900989443250184525019507351165643768874687201660613750161573564439187534214444823397884091013880701792256919042661301497399264915877318000625058852419656359020092734191493093523991560116031595524995536865846574069673106094100477525849519659559202622015578916250086228198890977181336524811284971953082634013495389984862240582783817277896145051570964447090408643781810414537884388455464415804185344836849931957077904176397312168499591176757215334332039230119552224113762626830390699515090629741222108402614432082845052159686354672827114622467586380509838365302731156545428150127802134237296039106594270919005212264250884919408697956578106067753635579392421433683935155590344844360258808938955681926734643952984170271830593357266807256786754400179394224800812039194081661415301514816170976030731131472295368821440619964563624576739358472591222028764683337801695908980984234803582280827779199155020595745139518198454001100939187386239934645063671025908751356035906074323814036094860345888982632228180528963351665353073479939470984062753230804031261038606951841810637748752782692589661913624537632714261457530596024492748245025858615182167177175995690997365439598677887014062591150715478901278834451208344327127376936384026145778474356077907565574504605910121832577308368112445397200870190210550589572069147768700492886357531178548610152575563967446635493904500016345395422434591791146790672391330244487770492058828280773579277575396854822747879653033835905164746028512021615940321608763623428037195948191547907339150951356156487354853152125982309880993385345145432751749960603069249589076797189424254028811878235125464593758839631746659905688005110187798447875707135040890985728270118591565704307863466656178242775204485855056256411000753185912242806194176
2800414656209842296125276186427003381305299336219189490998042716592272728114746480108925253529293625903677350913209598779818108782151356973870212276332726091936007916228975386528815810232831295485881413830099745353617087212771133425724071595424823729589488917874251258406039726015887304986601218775077153563060692204761119584919768891552519706157155759926196232643321672189683370842815566449787849015096641351405084458825455729176943476899323779990232865112254781369954049022742051700147476795162207147308256054081991250390299100798376104697166642083375508138472727981192732936606590876673631796483151177403549457574605624070106089980184730006226661661259712731641736171518130258305105346032010043496416646519373321833604960186316367746875368252751583941985068996019225077522287154212917167876295133126945574099133069013666259226532060462467858684179905612338507035004522846137668688850282768165057037123443247543757171261129597821881421127810805616282703042414609702881348450360091505644739059579195171617894478458698354865743646567479344605275625001948331734709044367558782191941303832968374926632812368840381867240606620477278664128036697109066640202318726107898057195445191910057376825455246889567624144113901987759005066437455956715762966491514597946352321973171613834732413182123598960587790407009805743418345186137791869749610452584790291928395890921426533787593482500555410018137207867158330503020499727359179617048003442022903603242185002427239682891867969689995496868491348011453534803405533733463645003932724039774001551465209786718228711044652815157036123437246618131493245407696344551483113189682177366375910836193892779664650191958876049605912899915911598436183462681598087875921761762042977068075034536864120422260948293402055567999680757685036359754194663694481231815817328293283532014477891544438897979803028640421424191717995422082362424933869368266611449073944348356038814029753687702212616084038723878663890429830680540951693091458228332433418448665197681578345761340970725950693484808829976562022736545077285961310266529161650025320273144260174070602325686562012811869636648252800447304320194806859049623314322301326334476750051650694097480591350336353747854336540729071523652485850499746531570831435707198630327298850919526129315173103516243797970159692602657258676804044880043088872294450722434476670751019216845816740279906647385471095343707686040755131451759795423740551246846113106236762825380859726894462121142712057732413787343772221683411596114247784219470713681562703356367551843453330342590102476673264401285266979660165465195450318522555775617437961088888799962369158237209203168628934786485560053518773098575301451551907723919892433398639903576851815296981130041331791638412142742103531318118470450985238195309736124452503852104537879415289348267943109402336246709158436437976054905000410715110983034644209633510469753050481969152755969589507519081593538394170269422385598212293255996382657582183201759453254505416298364795195678631370207956764515219995308162760903458752579698384238208699977181094813810090325441016412848187702238717596261659535148284701869169015603435859389946666391098052636473096290466894627502089497526502827046800470303353117447762392436304496465172832132988261125087515646111326199120196940498974033060978482081996786977052476443280123090109146212929781078621730018778600092118732813031272772277769198421254820621395184167784741740127226626560091456670507534150078805370514630723558261495608722010667653766330988520112504091391201179337263015647657491802234622647079771616558772054849150929009420847200145436732057999993460793847591694954921290549268128679842079102080038046773399456200197620231019458822006866525741063340523237057968293791114760065480391822601941625826274060818013329487479684031417967033317990219183832304428632387433225059920959523853285519593417020638945346193343745721904021224962377876670388778957259348590261950310826823557432615830658908690381568691789868374980657937314592085118961650921670242381430858006870079647372528104100361294904592680398999188228353868718540462067716502146373385598798246453624588123743183168266435895048329969328303648474665348946673358165415316765734312309291385417581086191896305332864210717560779172096727047097858289862884522812882123915166979988345361248407655256249648115401980483573461300669972380406622181778567175890962067793230801957130433945278558646048688648682152689955645412733133016270028678448499097525160646234785086381588441361617079346738949952747554771553913601115602579993593242719950099867169971073232952745404889193122220451177179059927431458723495213938592467197737131649753297184820107113033007745370394046309646722356234984022615584505413512780613962889705913638949066613416854866678541488907253168221800711145992175386864356631814277093884782267651546309246222390945480272335497220492651636234486641829802392008516198231868955032317955563368183446335396573781708187520557890866852423903534091388906179289997341496560243791654337891404352234827017888158729358734694886169110521382068319653378502664633836623793500607144512408916421240504990781038098528285421151254095827188399340467404469791517256602151409722929120494740361832958815901723203351060512431326508133341889867716052086570690250472030735814689049517221750035482315146913041106581934367687966430704468620601601030725501204070359369976230368007266562886614990304381359642391215222694653813036417024
3006922340915088993793902184917894653496919610137981787865869966943701983391383966849737120404206175309388167077037740288150070511977616681198522068856693344847760831250139233182555716639438139899293275533630126677928336221407952899084333155578040286287900601906084748835196428028759087834757488208174388607528886670642786027393875543274060701085128456315260048220368553715680696591233203615388409414506471220931520349693297732277701307630781779893287338770378413700895679393864468074018652803035142678216603545769039930746120468396808214895550677902558778185530551516781722758896837258341304457860215530493034778650367658869694016928831675853833347049591874086189020311332654032622114962760561626490161747497675161922554014445902716545584728208381178760756158164551531473805322009616346964196407342606049364281930298341451890109153363795448522124925571796340185449202588209061531733073791082405317476104961665778117344883005674665653384233487711549336833664412612386619917140669218110077888413836609696024991048339771480219342858181776610558793209612332005270583573408519493217993773678549654228038582131168432390987454799537748943377121492692824741188389438000450880739093644853535051737219646425574667319847299984093579772461795140883648377192249764921542996342108567703929215882095037341386038183752411204823689955225212157557317150647858242712688281312077567071088254470658446965942518657549735491108068886646148225152744711395950764721436038251668764393495908542112479359360188142036891351056139202662784024211210283755584973649084228933481870246254459193450813613398333290341029167739496636841939861487799105663986770916195650897551605435873702493767398340840366327623178818375062110804518155669480163465059752475475902354120824527210310933333248174432958428789169846378856583682530132437066614387885674599999373383619133090340140293006098130365708377555974860319095627940115478304517591104514904100143229887476664108920393062538935202777635910556909475537083625019723938504176684922593212901756443549390339583542267382743249066879012948179289037036270096134437126045961331147925728272504912208365396556649051952163653444033353150016000299686051510491094843961108779486730351403552283547633079299249789152346538130972786187257935585179436063306533839045272429261166765906456512178471401640075327444331546583784912700937646823755078793477881234113400565013630597732219753182372330748154032398554019734000967491979837817843801613454684609176395283945250100350878717754463728215772900423022892272237017130804141380927241517650068370270310511067276966740771341511790023653202562546424486204765391326965634479870212016818055801526785045106375981939193030161433731321254129185792992334691620264160793343016602611654607314357650710130992256906344311228322487525752741320464838296992475017896071402805777045900472062019287721992411286051928842923903315737254073637191929413926334800385050741970416056163738655798899916454852154260820959355346735381914085543410794410565270710755643710793523458124981355688903690048461787060006167187123697386775643790567545550098496169515230889890537111326256297748178317680328368860833497120400734631337853557248949894140885350633854388070347580209644446615973161393853916229249720626071039761209484113900102307458130587848387531338575474547610879772199924631909718311013753915519279983796398888315078136195232849795547068533763856071462809678473133110635413142310063999446292207726724047906222277375411799887468563877162043234012860705401308660828297851051852543901589256296574996450997027142249067244509373955363365870053656309454301956556186770580858401084548148784290805122353760346047019702246331867246781008301907314135095034544203873752302952953673007269509439437466031275351835293227256229017186620564460199421094838401228726727589960607889867323017508025754042040374972398302201023330133506821457952370190429420503025817952673310294306700470996359695164544560474683865679102971739059756823103747093671647618332247767291597140046685487181159673206181683851595055133987983815849859250628670436142832011515302178358392728529546874037908961355116396663236743202660501795928266389420436814339041989567597530328738335941577341198364184325760517155587952906970544760194059859108349603980988266650894337426473662429665414357257446928804152850408684566789885017644570374974788565767428363141778283547690435787115296146432001950314915748699289342444069825559481184565307070124402269729600911039019878181156870899364333044939766367320208574107873271948202504400275549101426716752193941420357242458200388257756853340740941242177087190981085562124746462669694499721558436410134234469242806923423435908720134458883260540458405329517054114957668843087303748353061138534271648228587716616890693959958949783676255132150394768689619639930430758316029265357911027530510506895163441072173533525478709946487002178501966717954787206223032546705375060554561900877234774832895721927104057867236967062781001895334106814315712770413667485894735604745028823090161638511712182063170141619158693103686373038437233681213512796028550035141260456185540552006332171482335032527252903699555752740956060699473867887939696638831470097000069248462738298520941182303196477109290626952387199582645356042168552481513418854480855143257726346021448001295570845785589236727168264613409563738155385741635527068051479706172703894253768431988313644488084684875168756294021131154792723780258277393774411776
3228658278960517485318589212111325495485630440570925456581880285652950272959082326449592269583319955948766214841315251773836542297259459982442927592318439506705495717262280700491398700166057458670634337982414585560509832275659843193968899812294040751344252581421337314912885688029884507428268715986303659733532886906425272321495613892264080869069864607958251643210466484818916968559461322459350545193190950468566517639372799347630922676582660746888584872487412035097426317226087248358586555270753666835408540958318916417968173072660123208440132554375529956756142984793355173605000202265602551463122158960744718782523482028305355032059050601820271775453053797336882931877863371811748625222852217516091952992813181164122218494209665932190211125213011458969844376886838053546677134675512801929553113114296812357838120288782014727294049891937460459044521939324845267248725046409118622411304533563416819894092017954462674097180715579717849254938637937280570797769211002312614263025351030834168864687541388132985959437828018400913897120625474141381936280127959700232814019656101617787444264170249095405383459119894599846719550877573216907315823151433596309315949202780939041507200878331842939300256591841631623536206031286395811331572632884886745580301046261250428793786800981492444448228130494336287955327555961171465426450933997632842569101883114091223756623119455280096392640020300955326218385862511484356939913667465084437849870785020641760326189583611680590123698550574545034400481759888613862794572843233865043375074605091327279379792959635904670398029144592182509445463534357225730698240605809075684530106572216765461217886515426069335604297954843344349291154926228508633450293609120203906968533431909663571850791418892006010661759588044230736893164384294660314949044257342296633263197688541337937471742353007748473797575784259685720579018628262249621865500369033108617170961574844956445325145712648007763672870320630508077747517517767502355648268649009276836066071551169210417705938505287058535231152296500475417312412074560642442376756969350297647289650528207180045868933908427540241785291847793483570128957219672370986961995500254528134325790969447576232663313511796325948495631312211189015800733449513110436055985732836270335068341313705075045906137115454193236771796175592579628763190096328851073587473813289614180987185555410806584832972659499972293745520366302871203901350870271064654195380578488111718193652603136429755783291524975993601789809928370758886935554404459067676244259669986971942147279334348885353110695118450112605618750581199750156981423155401796337502392862950071912495767628775489860751733132734204937912465152159188442420877180181293624869124009338639485002475869798819955372073417704550521181715722125261850946904860494737910322668216118995438436084000877753839990160350482913763002504594333631121792936608443583834519321439439367093778628776526988513730200120286015867890184139186936818973487680565766343268635639867801421766822673937571689358644020541296321566365313905100823396224712966007632110619406751148145700513242458270354165842656712297211492208478255145496235616079503327231699576161358357832413992674438805375881419441149364474366797058851088289930500905649850083086401537797176527940186777595918558119605396701941026519863358339191602417280888846651566929269542594107418336813596968235786971004284660789740244188736445296608403445951612328595481208462306417579692322196785161479572743490489058508598762293490520124484245655827893275527813464773885403696469067932524554687921642087074542296020925418149175929955052090759903582570627479408741528160439066246307491467791638504669807223398124853913276446884497982649102158357924804836476030663496905063042325128325086802310359637325869497408949860275689313279404101810115861920576877679995427203814930534816251507784075804904506902659830005164105777988704117273394913314181939287595385871526853379149290356446062056493365359757651023558918475336235862745593693770793323555671607053026911520160227005943649449294203019808948822136513107981913301740798879968570029564901713934039652498422962613311388191485491334390244288851115292526134194127905152300290901143513074820452634011775401905094214307877824300346756655045084412427084182317408224002756329657099573296185189213721677398702917369220372620112185620963595953178121793428621462490429187384780086319509412053782570068866102695010414700566059656152479599147608833460595471600009201669011098939170493180989615979404217098709380254746423027019782510990596119894194767483847832078662443536248678328645392025854587671760852051331451067160975890582364505681653793647633605545003848443404836508396976254679406565175779033934646962724501353026364531317998652862873305526080450143784215322941192105705848947611084525921252850282045123955539956431822783399530324567324777369994952125532172660491107896111436675331324066764341783117510794608123965746968829267205302747663805506132168570854218395487643500940214182741964064560834107680236670303437403474190394483731528391084493768478608427310236017402380431763055035270807841099883734394737245965357323201604911862527657341937767160119307786746331397470985571930554311282970689816688531887282950706361703965129959792834121663341847482456939944641286263974601332388869924720032260603075041299958197442800917039827251222281647323577250967945604863138427944435036751839316723595804328912690953729660690365573742697959889303144889319424
3466745429523766868669875201719137528580444595048549101118260943266639857068382934568148647598693689476027886073289708998658484404112522762803277048875929624763619202277389565745632136627531638561811529302270317023945889677601070834646152283725860940678708218692055241033824279768703157515370800265271650620158955950890789222179414868679373682038581607582138035231803499300332215525586652834955220251131283536412267315428323787511236993556828237137351445763441215605062551563941542435689733918295856082539874553764061288332692528985765225895240123736960716733982091696821447186469572701037016067066655697327978743913822915903811541090663468906796336350680410722631021749004762071937153476277746518173322958225484034407034244899220136460577608531311312487181862234616933207818775725578764079189079180223379778490843975608207231679575715315931687222342284338676685773413493005811679860281408087852395865361850182265500625024374804191460864354854106851237688157847752664014656989256174088160718293609880169404298653163471076102851161248744625432274142076370401926474950118314403812441248508501110234926454814825062327166770975746266615608930894681737916044575489285351358860753580234435114925778796592057058591847194073255704845122667622300676232816383881663415933822759552992687544059146405098667498542640455210322463750363717121900062452302016759110698828640364482337131529115573344800916244658348894434368129959706489220610934894872375761383213638477006424544816467320068233207316031341530285868730381994796310243391722606841439542216481221814656683298619719569783832869243906214223659661661672301921261405213766417469708294728498591825562227028272962195867977797555184300880665673192270778320319397783661966865423833964650592906921187116100904108530419124385520033801247935442979349084958166960096381306582576591732388625229369225435281269798040285859325172648918283162991266001207936050803978230564451726132268717389266573447353270999630387278068681629236702878532651866937326547376306298759875213865728466209291452190518778368214689433923474900690743698014479740952347712759770436031047940285022105423904298440268980305945253267123089503210291805777368776438954628040032540436229221205155567034644354618019111524189486893593602933371966832243477848139399141884034499812297337000731453430598090876255578172355833825770949446738893252531709766798753631178635778829943193062914112399508840336217677194720000238609026531314058206822625990751464926198120177102127995522391956695113060029952847581449309398042189101278011415961850392519962162469897658479841901519632996960252306338917028592236254373926001549369577071945103259317223937084815844536524711639127838867446544975069463794304979084953771451928808710187997969713806074924255816313345752062085426231810198922436363114040542519697009174038916780003104721012999688173145257113904266587507573690365625931560679443914726977031959714121040926079681349349306451416977350469772215305379074953943060217477701480598285487862711820782704979643159629202795521017364198013997484900377451574775724058686846693297453967157892715267851097757693229944262513415542969631595833973527523841456620886817374561060679920918448779267147405919008602884815016875666121933539744336790745267160483113476523927550795108814985742155870454613889201865013990710544909767091957652642591016901277956674363964321575723491596970281419271028056528129783969637446999350932041128058924499394371786223210976336161848335065554709154934405172420989752718355742568992398071460932023039361448824275396734743650585868894656400651458867126833869947552418813520158564864569991537207632167039153491031179952791325779878058820574989893999981213967303477575024799961794896903097060745901172488812768071052971078257596533849096896963786097934781910675507229932359772343178317483463270886897398810823752912433387482556321274836357386530210277444960894291600558519930199677073212308322595636004830156377165284596407991620095174828908558667420712349061161688996902128380696743454917615993000901753063115968839803511161564408547621027764594609446216751492700261952161982828999900776636697692734924374830516579398631304897271666967529912147924439414725561283749408157519908936562787632633405850323272247739233425636923042453393320162433559390380667577308126639718422845730147964355078917273280024156364495091370199222940021018205371559723587482883796082885152094719511798379582214727689976266911542354078492013801934078616867821651189390395135352386785030500860198000641008918507822557434342724622515376649362661754588723602908665986188974683036160125444410573390773897420172754373932486563477307727729720901588946314641069922947960599784154540529415860517945726551866092288996571946292997554524404956482902108127925623263624656314999056476406341480861315827042045846327567723985927092168611444231317253652302766061592043158654928151496523030751707782642124364008446942216392199263833208513605154748746262935597866344481698065255702161291291528025816024003773741989731123299511076201131096241429620950849677082854717721864235196127706743170249384061545256091327156936706483579413026248777790629684044779249804993805600558408900028965035082396587528040728622309369868533357895550904419266675425004371924234589251343122697617593738786233924312055470267630128838789134854292446045985192331216793372318925438942555659227679298529525985550247011426983293707462778873808721405985472574230377291014132619196882394116444389376
3722389560840512888916360252946274665644818710218370480388281944931082398479704784893676581175754582155279786667198289820648774597147333292573910051637377824989324051094749226282282970415463030207068248217249177542349911259730145742346161947709571442414711960702198288816418127854333626465113551113172465992380208532645130444222466176348511168529702653698097123769572952148321436904404531285059589150771442447848478323243591724864904029957984998998564279903074443360557127750360644404270897595505659481707859456089809233382135194904348423688527163379309896202293253921880315704319507112512092323369457218028935822723257116535557212682939942474150784189697087850386991371760043411807818386986408277033072941306107030387087708548551325500709505477968169781820629375514301803849503309029865598054162319853476530801474777668967942313618212109433226097515297938137338328619854686271475733682624273538983779243691434720491093386812246712182033716997631944338851940150645859759956958378272768683226465730840277517600629288488803425918217479745171821846825781117102664146326830347923755043220066355261609675000098723844664085733419688056077034240329545521169463661351170945624544024111255452707910055349673280330004484877693499570138807650636514871174657712686181476378853513135143792982220148224893686139854692104153721945855489418285889003403248680473806090378178968399289487391000464830052316725410685798738341884150404292240375123628365512997241000575159977460350469603365486456528480885637095896099931984927309348669209312178371962172845249549973018057058850274373228187990733105359345447069067826888355213925615032663003870049129707662768210675474839909998074327743538406331883770766267656728215559406438810757701507750014277079150559017678287484545542546190102191160282293611678778894280815713155430423679929478996226438282330635330488346104585983888164073218289164428990378731252206195458465620251742566945977210677867691608595591069175509435361779861409851909076541700059162290300663457539613117350148577374396286969622656428591338584256374519416285897998222572655461221330180903981805252736033082715358183294608694769964325734287182705355692272579107645687934211366964946084987350519658923216751533300518854664074842639778751289128410566136920613916764793440870598000307383800261508080140741451508388422796959939389124197465153210092714690662841108364868371650992523789935757545803189638926735141972101856225484491370597549975835895675779285080527994944332841948193676972424739708962783065196099370036594162154559172708867699954879500128741412256909474510569319105966687766908555532465287908010387282944646915735338914401527621024821911407616748478496471155474710147424029120581198989054960113514473167382624348322908798892871451102050900823361795366805961329812779655053996212135049022557877279950344740388803509412890464216190432542967052637788107598414655663112788304644780302529734845040747446221389105522279432644860100475326518444952479537470056343867105103671010438052033582752495929089383373328636214969647846836968343743142371358341695097813269576797252151820088015086266747838752803849489629578162606318801536611163729118927887785316084493832967150947500880238908344693533232938122668522979925371860679365129480264438985481783148034592789281269316438034244826607344444324171059547447232733785679214098573593021130524537090519639895986979542844921382415771689181548284472959786396585940885007171457999657073448624868011260190504651872979808766810190348032969116253306904343347384543495158293985855860119968287291552489535573227488772232249740238862463718512441050918206905695688825886829757693348875786803382392034264489375583478377565106484650986712372950225556212782914623389254342725471876441183101378766187558444111207042898635746742335361810924205192759378579989040571944942319103310699989327394721537754018792588372795681728821014407298370245334371584608592953944801965477554218618266404918622684632026220770337708074391163712767325053060256439502454421676971487708143302766056359481978787727505577785876222526727403793212710458567348404647126701953792208186267033555724904365933789246732578562825727200423896612313236116644272145391344916632236871073975906337858827883188435121058381332936104374805158109351535978580627386338639666058796488908154250192777559687036509420296956799600418874168246884372883000810686172865135329759695215986081158392701549366781612851599669498423350310333921493854069121872301835051986654787812320713998669312145889262570209430085358856751087895917377309371991533672869867136451219002721417308484853068431050750219677495429387525187676570246175523616182181805899883039714120780324377682671492372102645936911727068629160805928538139514291359873232622574030488591934394724084059421171323040205459255558066826890347168194831727386269436177906276140967676208865859294233831219136765060863939976824968697346805649150153845269771142651562736919726541170727675721074077652447539231990815204928665065653560618186816702239800607359285601185921268405494141392185567393946620755423733679628579855161575348723116177120131534048732069953472231184991653722542681407054784969362965693134245001390854934569601596502183734103097207469894929647911613629595993060813260169517902037666627959015195715555575310359981504385834342942696716447609829945246837728290711531855024834110530180344760650801290133749580119869700157884602978806600072042349570685839356100708661693568314357916972077867043152461824
3996885356695451282440562041439634333494457778059200557919870083776567968837893042713263938337738789619767969366368372681704048099305842846304235833657052252381189587149545231050927255538037311859104558533273880156822630962260784437172601969133067862836683785118994711443419601748977394385185696739375034061236295211342745907897361093970756041781454325559435151005495017340803378200036235055884947203439939621063849990424035774967748206712037456189356583284373696021749300006873254980457226974315461014211891647517519674063775533191190581982843964280446211809501031448974923694051872245769707233351118819176355235069810743529869762402535867514649735866875713115962767221385891103313710052303523886590189048323064305147054982224901892800749537706051534435473764626492707356951855904531763557729527100111543302923967709664272106577351199110001719796150477875999024819477394173452082113456119224576423378231534581609957036788910119330276339903318537127595065356283293320236704386650578684615457663518905932634414691795769789994122875711530263847183213762826902572195736373717918207353036312881699632769610653203921041908082694433610843169029721900568991530524840924595690702719617519408720537082059099145825602337520755035141384059259979606238778201994995328438042043086222537254779007461524547708761891096194872415378531702448402989411975746445697537735704974735327491454495237840291468224576168176918628204113423251795087609431688946684064353258925157323290075600911174213966480187774093110749541255455771789647452328779496190524013929861521523207559371305968948410491341384659645727755782036342422818771760400085493393352745611501918407515419900626671069328165158920732628850029378570111407560047022249966007365238979050465897008513610261532648852302664615764577482838186297507519752037786232051372658627180270968777864958293123350837399557081449104911903988675357573420047737345549684335673391330397403011015679655685931618482924032974621677254567608276681600421728040633585825499451889308730740877874580140989400069590063705360989642061017260105166235422089453921047455352336150091392434885569152759131568544079469288560755528863658897869875589541796227773308214905166474553355976763905920072630738720895855153394628808549011365631090931504729773730186813488183632044820802842360843362961057902855024536394490946974607661548769784244406681063914780717875422896446603904569013150052480387919093993706023604217337473047977673280985190547584962183782116174590724176557192217638137717826927836539970655268343562419588136020350625124237032168443038821069935763860207975278720606078879258634569455032217452135389270337637107207676136185573028429980815004250025716042802859566385929361972542614828908532277469144476373675051434708880972503842944390919595969068981972346639605327768711306978471810712296142041790973880349374598176159699045370034401471202613978230011880042654831955154074117549306750409517229096245977220790645777228509200362910652918971885774644046636647615419843677029546053919919453009162313162800893965783700399020041020677313991169309577878486793989603683226225159267575174930493490465216332340667477343887414873721266799543155072612980946326899990452923389331001800055094539596713235611850984165564135393290135310718607919356143125676660117764867408073014583933755444901880766488606219327541624425088925568742359958532330211249740229694584992034291712219909356722114066719724120575538623774534393291177419228436070169769491052382578356180445964446084115071021493801501419342945361898601753101101446303607618587589905667310169361236176387707602377478249371020705392357731084908844143001603134454555671698938992354223320567625137391318115583378475943094943449939328058863754251019957969303870658571992413321098529886569509083627393818717229410561699209423726749583962323730165593288778875445257177341471920085001684117086827278827749379222830979452655635151400924442239657730654097758072129335244492964568603105769095763776295814429399690073816531259111063208296504007735369565409600716979598663840654061980616614078171299708734547765981102849295901314969209334910096361193264456103310329018224946271794918309568321692635007228297532544895884597825955147023728603265698105796809262590887182914363986857670112943509698842787780871603636712723033245037313075345328564627450779542837015652156233113439892508856489429059649943789714983016622896968741624612269904714133992938470445034253286408910913883672968741243667447267285535523934213121913520796352490894151601521853694542467831346646865461294483878464710453730788779005555584677696810069153250777444914634102224497861782858192635751794531808566554376449304485221800604656581412423581763525786749660048303347018555575641678817725204938943071852314828679373994692212880617683435155820600812619133616370753406336803696957116673444650313777549032729917986615744053821911517926542559617832063058291990239700577838773253169590619317897868229936026595377656658839269377069387038617479933930266480138616628389542267144754307665858108850999759230480051171128564937694054622976210845729651394834984877100489403677679136868645922619692819368651861891280931574901395388504656299114364164673181566782638990599598031406848500293809425661972208972897804701334577481808642373491337628607115292637125509767153132699797267379245739159672606885002471848468943138093450432250034804329765478117143030489860101583979632104593283833273830081190560446099450970927275158439446028944011068992126976
4291622973217064472510868257960556555139363388504273187042698949597284899319974435999849930144187176001881925884220500739164676034332388831648061842957083875935086850595759657159124068252726284615651759686232260771144137813896769845240523041162931985758042661544893438511611035979300577581916648595647401692973987315229625480314248505826794994961438976898877719450355653942425848933868743894998645144365299843170967109180286706455123500647712140965079827122171323064014637060103301339533227245383484260800766460095826646785123833335281516229880414913877163002223978037903697497512075255787741728684423953343145847775807355092558557164545484610602354110817349382434585192378298521137435475767521139614918729251231208277891404842453736596929277183652550422744410334196958320151704839117105668413231727131199109536565621892017959348687473620960423257055522293046838731886927946569411025100148400158154465538569835976952125243359454501748575631833229708395646209054833230397975079870993607474522250221568314591297556341187689792386445846623803334475761207879661764139741658939023157446059422531830859910171914541009623490365152663979953650491913903729695603826294371685223397678003875872274990992749774792635624239788199149289893817674334592605627486141546722828542334332087176421854364188646977677581013727317641766735830280628773491738267525432364791120644689498184457911694129677948381783094456445215362547462591385266468643990981293013186010401618642703796443456820260262486134711680417236682046434796330352743799780456743933414306232850918187744143129934364360753642873634571133622914300830248747366007211451678767432118526548302065250384782272224780537028454512312797324317745567399457934636732279196447084686349135561545040303717547411043183414222969704591316581012002851937530912269080305724928140178077880126829791771143342193385141327837427278471275148113153784736255975664483436341210175475366694153911067966095904187169126964019606425445258736042321598304065435581852559932327182626602644835080412923820135595387361935270507596711703792160803625445327740144349446700575980460269479733832253361724563064500913754851207976380149752312629930167683605845631421186457437410570031811777959983184741872642142426445748528694362257129458487903747611872158072975550095518750738597100916418724100353581168853272975092956002512195750733090675691523354117228571585985601939595097454113617335987448475549229350304579378030734086386420001103015551436090185232639884946630817417612085378965102682811522801940294306426171066418499251381340438497528890703743838442458650092992395120371957521303042050356100979145820485570082363563343253721269169586031611456587669990364390705204503227076881059554145164121695376772593293780994755310798130764415170170119836576013171176284810598370095278493928884488250766803598784115724521022695238304936788568266679493178437378206552589247618669397065940621744008583040120227776529229027133714198718979237133598453146414247796836385951586375075826153475568571681827976663407140230847485040835651184055913306658096880840298854358971916460538309295864445207146656672386987153672247993242058486500704348097154202680932109694382314607386291696014504546192532012538440511439015094010810631754127952726174307249737804818070310025369118269076903533862471004531631666578876955239994117158498597246117934302381658967939068603997601393758442652269925853627088561801469419135694274003574771674118324203202205229953618651480282982136949229988113722997777507373784508297628827943883034417344749424374323363073702162535089075205558423682646929322892155460231999966624949756825835611521183838258184513351852039563932515145802329618530370804515190739628841478884785114706799258746856977923530363674091195172369193558233164123657786238646375275763247522963773665990348975874946629306487959935588453259253747723530316851943346952639488741464200261590238321200983331343744765896592736848231639826678875989329361731059271920573808227832995748989142444894456915510929627855580146089085826476991980961382040100226737864076335844999729933707302050059674522934578193659037335104193742883418593610736365118068983052179075339646886386868680027565377009455869018163147514107446521751483040751610950994434169560690823048466735462250112997145641077987998688952593723339003489580342522862380880496547703321062783276194149096823503113795227135446266038304397691711380702995901980268060432158156375421170866226698414526961937275717959513278198986442285917653528158190137456119629731550596361839168254691472981604292940520801292522220764748528158159625216624962634177625303120698745215134791594826047694055499471857356270921563858841493437225808260619380192943381314935615011645163933008825634866184166425081914542602867582768438544238982977030725658318796536133317550746541649022774292759900677706725271190957677828652857838319196607467893444425054505977679742313893459924566295662458370780730012919689292878923160599833315029707822823761827413407091342541683819190097991403717296449103762344995668322863025699696486540100921454702060564830108942102338499574260840950295323597543504508085521363831826188598778608140077165653816904598178287104146962776418339400368601299931243909598794797139468618678447099868455385606764459586538481076278113540438553694480914974312819992394362306007019709535092159537512367083694612448745349577740794864525481965733243227069998979607579354834951361289154202843620464977078170922023399972659772667899239095796260849844224
4608095079182393954639417543126270515570496618971398923649520736023472753243485710543850127719292121357669726531555733281864027481473145806371018849321540794667529860557106460943652535287982813815953059394304695368051953103200890201336756928932313671575782750077028538553089078950943828417060691679057479554674577124407521042069497283835737485963966296720094826035585157312853122019000680446404709714839540375913308167655248193032076881730739615666789933879764907267248345159613316408732050731064557969667506679461316118506862600871297178790157400011503267913953290234954657287322851147174796360598526496051960320488821732529699513996667336776752101441642918856740585065147665152102612522432925948408681493957979151822027015909458707769202394882176672473169554238045091601931667510663227590002762620424524019180967765546029694711817539931721929499842817376208775137410116975106013936696743125856498664301129118033273396919481224564352526788326564530903729274169221948823334008167226360782033554481491166249865652672529636364023203676231066834177285923137151195130463999757972629854371025961714765579436467672835795928097925447460294532114646132241683760617226697814225724870257246358166139858138713961433796938608794328233778892555963463450663369634159100351141485326953106538211698466278085903613121587339083297993512931676771115901896303357713759451260032957694224526553685730492828033628214027774099454533769445782704767837682893109856802859916973969178684922039051494396581060029445308796020246950908821461690980958423784165211722155913614983170689652793388996210513780985918474015729569156004370491778821279247604634742880166283644915172818821500391828632287951773457555255681107408899348117694864070347030602988718676635833867193337939985501954319033304621440257271708132606375796186266271561983503737027821435571953887642812181522383849941141453102909140887903215210850240882056954798900182280301249670606851703786320860215782833994575019712127390016934157602527417012869000806305638269434788443421759495805442118551990925524760299081231942458186091479019980391798193667235109998110700936078234648264130480240784800624901161770912441311479455241220795585344616459052943591302837316491435343794067299949708239643862245600868486941760934051897207255064093092266965677644262598339107512363266413289176565312646217147689193647637198119274408747588430916279650753064358777761837711781581183767242248924390374016919505945975528180814433930099353294920192614397745516548597770279253720586989337941572962347678851842192224533520835001997296490596934552717966869995427423954676885227374447227898059714876219250152585916882735324788770345746270907407055741591363923300454929588055416457116720455284808551828171556474573165101850071822773659111734863623710297066848278075388437531383859173356699684917094808220600274284435130573657495561993012957428810907945281625930660857734858563331467105837025154158552065958764908299775627215229497958534765009373488963082481224330067465712339760937594720719316796216806093959653559586586595956071876936289202173144584512856345114028245217645053469708970910574020248607858444067552809945664010569282795889733483414149039876800718274667641885061578321415984868020931806699283458269667489588173208269894067110802846885323323510357196721535381552906451368563181790957641107035980908488047696951450044380853043717518212159132428847707926418307088158246499982980873274954157857751343021769682484432737926240859349275887284002832727251064368713700827722439112591447139017934528483750636026632571206433171007613689476783570111039161307959161067107331812675802529179838911349130664022294969962739497063425561419348050024547036488340476981332544606654913327861288698165742739225210802021446719692292626327863427672947686258279586532387470604222043644075752497189654200237135277668315929863959499290135903587301591966255687234819581179635601041712790628875924260480648572252122009220167052313401863380084108903973179608422903847964976793655950119470549291834639881481813952863670847625298058600327743188925446591298526277585350014231102103822330079982278876219533028900059106810665005365220271847529825867304957146141270418189380810047067587141378795360247893074881701073459138359072021443040121912938561919473761267444728159962385566634028972977244361975043014547607089156666968810533497401429351220839476166746908368749958217844719567597593222056818239217367727083021956774117915153112088207709002992757345485599137491351950813124610438730944611190159767685848952516435318756514511948185128689774366884471759525857676463255282502753728132961371962841810103532888389413726145960143154390157158138724943690170868861631720658120498181826485705165659562207910245279174582777187014270386528745952254172123070273661921472406825366192670294109804191913681486648325747739655329755473549298542079038129551259517187928454600656547892749799969944201074716713531339366169348123930746849085165618309957775965091865854855108444932312675316380048462020028563730269609396945578166177089966116950981703959412546852523887439151425611675335198290058813743994098296604449863970457191752680997020546876507703349879515705281941072402437775611531934802848232116944910081501033682243017010556258500265445804030617574824114517032344764189590403833876377707560485217188709768823499720160047389907525455003813829688938167121030877045423900365518080069786880041981060685223893621899425178575024828216033436397167257325254435855475234932387857291527193624576
4947904415486728113541101455054000365706085440240182884111073131823666140881962262957289668119945682375413648555573846611726186987943101785150768600008892375356722986049053147535822234462343031787393838292421058816256455451793384083207056623116420854257917924295444763486048188467266432846077779802172800697878988167990006563030082748308830484564123569714759835960411895720429849880776353279763727251402327950554801177812243997958966321497796631795117999828898168220326093592664773495401081679233791936104525295536976906526158805576930622000197719935449139871888880907681602272984930267647958291057623571583160673297292018697279690330695116111892082197782697249920630502678812809759896605002370825501267564757485513831356211439899211732786350505956645391591668228825466850905190596261073442216690501093648074687183314662598280358030119681479940041960634442829304420848589636903693997758181498816618438060258064456558269898999751197481487492706627307066274639248656459990401311690708529646982775218159699089017985655552446443563002693639851147995424526478808526423164333066461090121909199788882966560996529691147742772327639320572032818490006715147730729956320360332543542969912179053834668306316963973964190780107422844438592446505740231322872620520968205117233698937031864976805754809319434449374241363523242606875490115426203596419017541826168896543093186886294711477407290950182141591746291868044548208268494674310190525071530165581374675881615668118226440930111508950823310726759870099574882023901999276413966420018647222174536751893871897338463425611128300195932606155172956620604946072276302273323814368564949336348139673920758824192585987756619361138790328290630456350166815818631571499880304650022326484952636926643273826440321148440328435401986083498420972891349953153900403821426493790176643496360507069326977328250561484212277263531863943516496728120643250177835962882235539203517656634915583143090796800135321031866697343693761224187770535618677142273272041255753406592398820086736907113192293800842315455769500438975204404280698267510062115777596113771478333627108162276046212020577023151077927125895627736231014457713259618594878080902409234777038539076145323928964294619076584779066423508903026754833503029757996212505152966567100827817978558552553796532021659146545475612670857036229203058284696855879466859872172303178398839073205157157413344103493678298183424406262240341269862317883809936958284969357175610609088231092093632368108108017552214763932426713554501978879301860282389936958020280012543261239329240210517047620776882351355444013904560461113856716052074679693697475006324312111591882749880710380621747926685758711565317387142445983761652426576125670191479744125202555620773930779461633927199917913641893515993473788412271713944020139520031926790423458162192959154922303106668159717532885069671911837165636006282808165245774448262785220473486909631542173549006817448435760084880501532541424993820756824561716601394948576067136464052052257919818677025154216856905597929808803669674782553795478594177475823641016674699732897029990556523452710176007513476697142839174682689388753135386466896133367382615599816987630462133354982137485164738524751766791444817459156057854945194588304904039975500654143906109475647939906331858919039784215753019299308220669153725593848327075466444269006193374309133416323649210098378097837199745876965832408488127131650839831164397533341851827362130974565859594644650578735659626235837781018944291543607633725452361204057660549001538482881817848698589326722362288396569585005433571819040826171196224259071598238295321705612864315742528345373456698189860001630177713817119613725206006634804124200379732785258486966020396511009175219690145759070063130434193347011087921219003335030498852442924099544858345251557761323759243397505280504974174891882865578324013540383944629917230325717354595951128061888693406738001917864991893979341985134342714672989274050606988335695536430730316367966802719827614541090532870537811509733325510896434532725426736576487959264813605985174797969480385622955462133806424039958929530488426072010238008228631618879394179054694265513821400855342525121162406650339562260503908528410535876868463013605035309802380446294838773211138359251617012607981020675352697543446654233662175649708895809913433071720798928918806170746410212851173347912910011787000805950487353538222444736752378537280731044261325047813724755756858195298690526207579812868594355734664730931105383622791027892042702351772404712062292959806419713263486649139641303941714093569033058846977904349783796690057596012142073068286058052924225404029032423237516602599734341896000954626530966072181359603153247355708784129543054412574501520488163013994348305725615770291798860560707206011687035428121930721126870338745185737028077609308242410028804934924141390902963642807570492487153389917695482725649624410153331904526595363031640189084270425812193679747480378171418958462346221859727741100370555443397379424968532529690312817780194551839934405643885128885563687230513144413400007650025914457902485140748480590111623369431736752492150231355003456190587186441450630980568658884144950541373626077841341909599231629015109459341148423809058426908563857053496177704256690524261792981866638101200703188934097780682025483014790228933987429241379383162923588138856365745573382224988446625820187752522679073189631665649999111011867545940673606993385960255135794672879893970408042082359313496059219548979143130654563656108628053405466624
5312771912062373292425701375318736371169919228503336968079004283161735728477639128926927842343465127774701303754556827427571095804999092119005442391575474515335220389703036880108054871371351866265086240134465233069378487328583372296635312748176306292402534958475284775236757980436738423898121066530655382184529057686772008060759892017040056559802685886706917385986073460702152141075030984106681886787959242171474894028621467199901512775199614567404746395431512807055151773608982586913498813053833474675909364445484012643059275259613834858387946828164130321705273093311132819235837384950097126925316135622857097509031302426416659198533835737161874792430205122100769561651176385352506156382706653174498116749294740613274857646865207045982124216594569211287688832107221906154142475401897012578043707861887767678528704441708184222130894633753730569840065448162840761049493228264556470105490721713462409723194852516040294445483636288626329956586652000701577549820031794376899476526906773900475509361159328793223133310286598719571973651571185766970737101074715692164508360666838525444132527166543695611437735421048243133977841896169685135241913320736094972823444150864031802550387935880257079030941659767619546598718916527120926762509503695942450803180477844230808584645730915455846317128862655421744319533580285693583101003697431702387014315763648426881906248173089262964103305039375747265844947926775630520506402145353328109916177822530462367264908534815552243106329326188144249347961469908530720595448929344300303412482905572382350220338333561465470542463972981215750400233914129037477281230779067592634934058982740336962878040992482440811352642605770634140902879444252340348311380499521369516766267894096590654480676552927223703035733489857072093009387594710518210836552212652521783572313555053724188942469979868222184043088842404617082237792138432272831236170942291575499237911157967885062008555851379960330085965153790663051582109730673694074279849653408655363211610628026155913288735933615380724851837668008460320533861334724914036667825190365749894034548335229536298665125251654007569851203265098370728641038298248959125680349195406251855608707645772457743941594265915555004556968135160677336365418595606016186855726359481877131800374555720769861253186237453109913346417810699518022283296723545723978573868988713319083870266698695657054966865945774972407659219624946908360686008546134966361484441433429901778913914909357847623716148229758128797717839331955539095864533272158336478213471055306206525988549706889658944202025878920174718695427829952977803327819764111434673581968404745558526488117485078422245959727451049746504529872867784833780033786409244098425711057765875251964621889716048276441711252726788876551011923073244121226676605717665982694113858418500973565610183749699460755802963772316034736377827084794691885697605420995506177899193091264370276633951443977987895261359435133555518438980365984537585825028424288161865345584152893028452529853368161022362144552018255982689225363716963528823534494506115735308665078670592207565506505853169786242864267211802129668558173371647723962445525505236675583909969860440671780038346364517849031509759790739559284050031221868585893941271061818380657281436732028262987693670904473125902576867159345040446232389056475946410799491621855534185893359925520197056741027403654302706477187191718213365310190269772475968354708682660891446312251311580796649547621157243689281647744254282780917626713159393822156421036176691133544351708639057753309415715873297379329901801225131746661546657293315811894623527170097848586438982405378851547968249894299932997356299397776455029991878144016467478132339810682201638275773476048106374966570934227881125697822169754129467560676388350492754060944417730933451972178538853769452029369485129904542497276939042611621305310880416441161852554367242331858963866432311347260029950543527636069403854581986593281437930031494087066651534615962716449595790819549037729923835863802919471713543225591429254687655669490265187395310005696895038660310538904530581365591015574182316241811582949879154106221449428305629537923479633541833170016415150888164650643068362743516965331800955029902424684613246182884304807429131613059946554226133650038979198526067124538097334917303620729763549746681926814855962406908531413460674525285679705943399047111128194589204035744870746344677063821529379698766958264151518579889496396031480323419129364190421646550895103175842643768218434312947355366259636806309081191468395961244284903789829093147246846484400114480515320226522653391904234387863627605807132555683482748527516746319109270223082191062105721894182851683326432598302826128719089683967241926684077811531488993798499733525055629075481132320716281120779575418112932602737744262786904401092935753604495312391432191583578484903365648878702045188833885221611734377458009557498399519299072962718843780361611535506339049416720841523133331440661989177127539867579172736872511647277686630940585783261033010640093885729167473724756421112736060240795056692138419534255752779037296185609160170274055050840294658864108757935097143402576385177200671269715026700347495603874684304730315328444620722078337174954432618546835463423031372037093096251425196711447724373849859882919531139632168714766823870006146781879392957237866709635153352462700840399429663083356108273058934813893416162029413264602563188191056261144424742674561737396900341013539747540684712533129781247496646443210537322483066101494034187028201155144424882176
5704545403353820300778057979214048572555130086345845826191779835105894608101548981507770664154256680777200838948595896193733416299338473490204928779457172239761555512681729637986492154678360734229277766999282704620499575530553997505860269773037279791986975228537016533482146545760699831887253704149451261982233334981595796607303029280419629411585701024091742827445998556292321160683409089731223619707464857926857173484498722396778422947602136109702143340888057828526758733991744025656738745750258165290768729838374752298197527157375832576480255726887967863001526721630017952832550319883707438041948459240317955970693127140436249431820098910136576022883629840498623020931014583754126843325596683836520998162952685499704624263085395295690497927720823813422284395331238213086705766693908031345699593231346511750431656743596647402398847970798542628864631262589746087790831013192433218762071079947689533171618576047984095015390668190702225982011192533286561158021211810632244987390646064485852167888780292453051125999582290471909275487917985471269998209532437587586141715245661054623853269817534179501525949293425748574672844333176856330620338690257071638756675352510876683664461394179662281627595450196471228102961445495134569370547369315815988524437271281655976286672365506974750216017627430678027234917625325211069023967286311060236457905322171814774908647510369532929891929277407706690591367288081083953838613643229195649211869262272206957790380781366018569080281476645948973469990959381306889092191699492996131789872819398109588750992884175408350453283535803137317572275892983572072220307297680977935123062611851193928895288024814866284753826378740273628089730781323614241864657017514106431910611070279912081523435414694109718153622814577018088447397485067444575688856138684754618092669192503310228628008347248948167531689908237582091903564932453129130277170362351955016385425336706389039903419863466591521874146301031627059175180587981721024135237253296777427082217293714590170043033160014521813956854307399310632001652923310603735974913502016467518348462648485525764002900352899433104961838402461480125599237503615693377709463386032441288444678377854464666942772376552109060565327277357304216224466093369522205847992446074950446443222579342809065506223116414599352829064603926587197167339668673209412154443006678074646208869144423933227078590900179903966549682050507089286363844707606546931158947492352197312231871733754689976203042658474864294088479841632882035696894812555980626922668672295691073735648765390367761485397491726951552850715578594072220776726463460261605668747368421866268130103582754397885418974383833025526511529955543398262510292600688168704858519662500258000952691334036518418579270184187261970794371326412828323208856081415501280730248401958990702114062372377458443752292905492539842285687207184055130866946357172002699260748077942403407044323603784358538507853036599913585973936410872424943200322565147016822903409918672855247503302169981759676833879835745060151641267184515839180458502257914688785427244576865172111573555078649202462103185260423813037402168526181257012884766056631349593163756089734592360883700815381164099649922951510552694612014631426124106061170938795284803675688757988626319957891750224703965614531643880842374091339353378121711258099432323879541255491355916560536544542260033755253500951589624952112889342026052550411257351179908942755029314796843156917858351516239829741765698641079112994284900738892325336567136696330324016539788531618429679794067136060080976108657788358396300675018463227822871773961856934422199678814632655395472140652135593417259659140093258592368157453943541976476006498661709721871418017227182714050802633813943229111561952849379436606030749495901190441044181866257030425943223381562501280697495692533324580406911655560750615983961765625395412716240945341947260257172693122358542881961391237155347569885411493042213557308334800838492161228350942946676583788497305038629573238901476362330082816308549384726695283948842418492557541974562434469947672354449773628299270107900634927550027594140930543509591308857072643889518234194146059528277127714055893131993810996768917550530312722658749404022879251690971231024900924528943049234477283653860631195723437425847971789883644478884180524993716990046017951372069396721050562817050579848539448933604964718356038872048858713824374883198693366627342604317481925372340437578716268043888165879997783622096641416916697473056669094889608280166943810481983847546291368717780671782170955603124190729522407766468117332399970527030343039464948214968716103502549364333076469145383225673864641158732941895107496630155976394125514735831805694140882569902607035981111749225637125792338707180864974544695631252677122625611390142890852692918370346054943156429590105371326626203363269010827296295565961088753588920350860027890255267665677764376932909804498815319896532149714017254483135972475864121496292952026517183738047179398900562711609187877606559414547170252968905816394083853238692033561301326953525163382800113051189002471456575370364222192338214450165670719706205905879605680374271934119494011983168208729439821363536384992785300608859286137112590829122579596723575339923730989020330936826812853316508681249826806452830443811093443524869465196867138936786909541917341002672527935193015292336816494998828251738655790726567017211408541740384150832763520010327834950630114558313156784106100177220834317444238431745408044585815994760663043604930773393098017847763681756418643329024
6125208986487946727125660593779046600719941719470265992237948653953022509654722380629495943102682985781897366426995599817973975787003022518748286361444437850603737941264135512966475773526033188101323943740456817950868442021402817012433856755233114823846435366132152984179277103480393305007113154644188166639905076696741677079858566380283180369800077349926935886880783751334683600266000762546183719176575662966284480044730093911986515579601774052727843487554596992619801155844226031049769458753354450870203506338819731728214804722250261524188529284175132456872641416867755729827168547043715492405528727138688656383923728880035922620641476643630459227925734444677820551982857777330756924279788409190977374381789465754151194717479968212555734584379177524206679328889700803098220120081235259265380655792284057502945919899211364502136600995663925898858864220980536928001391022581011307311777223400681983933402234878045153704814884135663387966784889059106292892501248200238609325975689305819460528943253180353792550396045311809405686224915547682326947473980093722460903562450364708877579843842243297080311883577654474483134620077573381431026229516774399130297261685180871710156949781364053561978816027428060174826793882287622375641386064207565891566592344239548105718552332629853753018891161293568658519942127506440726438784533719968049668182559848072037800560611157241202170224265202752973612578350558116544491804814912201786437616664121693883363334469838493989982131435167234652984595701989594370597615619571269541773002425828548771977380981265523698160539890522429968292522769163409478861292487652484218162790913315304985789752868770071786907676926887896227684165164807362690332133987119996585929831335556944988974610240919849770826396873131941190770501903669330701719058446824965384623246019787111450924894700262310987486934299873414020710269442674659666851342530430529109259636488050932320159506828036448943760081747712552320206514340068885611114117671027631807877286994917447784594476583726476519005821401329192494348047580890459774006918041897389511188231751780719271439467766212480990687707816652235759800674370141521202406480158179689632227499084530814098026684915215876413738340981946585728851748616520745079315726875786738933073560124781532527280387492369976249335899388033971299181506929068727534140679403694560051428465840111073492497572384508972013187890591531542175271172943998200376204210714358474392443747466335803183602771618460609845287036762542121895386016947169996740460609767138433600853433999173601552248127652131921870317559745064814461924532969624890647987929539164494688226090490255642129511512559106148940275050531495807361546232395836617920374504564352891426413536530717364569374901056158046626086582996955809660761138661812572847045632971092531849686993987766339445878788388525819348648506110935273259933633682860021660037159092814370401223586475173670439807396357842729972046035298270170989815010748489316671582992341895483252742167118019372682133260679829721286213010820373381718516177370721436372856994211257318105154920540313258107803965017737380023815184654857254659627680207460632607745309394482728877471731165377658395601426031414404405560819562662174218892491139397841467698215951459002196045994291080826045898980488206334129413325059899204967940273019236806977383954538518080902315755463533726667463694145579595557606456017213520998435418389323980347696761643432560750899444530680520408372950239506608114785570895037193146487011254775056216030438706514254356397817591051607520874610635863750409601646755939919457887491919971193541069222637825294297697645008621571170779486702007011073057864116534754841912310108877755720749075283978589766179248695387479458698430741494673529451826363816024747938144301662547902375773594158368095138465017132875115750151983248660109215742660968872571171169347074946754940339316596193517016059440924560799471042729207529709694021779939454999302607031621991684449815149926531262508429879658985581188013254198763150519535679427981120770065544723229989642086898421274452037156303525904557865674480183214474845299933466740535950433763264881560080304862689171325129496107376381915637212030150118011714634439305442418533932202508122993650477149442237061698781887384701179865976370209170524629481652031269431801159042989096689840450515406467906828391633923849712143259459888644172500078302745551969899143576232763317636328700594728949227917391284003385302347374459274079200776058729311197073391957271572435655602892818682486359751333572549121588652441280764039242342337158651239801838540797480406053331913000143109038071511643505914059048926883382559338740107737531497929273077390921203240417363577032781169592559161366195010383208674183855665335056626080938531095643167203244803409482858480545869001025407313760448919365471402288376873389438171751304453883723166315573562928953064918330166099110041367424845921708569965196194596326248137791587203547297057234233916605830713800589635366859955860140250721461374346579192699385461491490380902616698472160545803614989884882442291174968355481142513208624044380760734273498740127645831749213473334383884889739961436289117725112519515516144880456201187370227750935771156209291126933036014113192050805226712480717023634844757130700452985484834328922388640847646996950861330185439589019825102032053626565693328724884595440042906354318817201217500212575862620936549908337860529155172123328564058213815821890814371591993213937417847390742688779889749904016835734694642329970092477795711661899776
6576893069532759272798737083169236550038029935037699720270744829713863199829719219190737242147675048447220544408118618188525444746068460892793859194611673972361897078270957731475799347917653786876450668166751486299801423320099307777668960031718726256158310205928845770279700140092474255555726011642044673047147628239219303204546330727190339726790129569051634405910430415707665603412502543961730190867760130427427548106120092624747696701846026065011866841913394274440499831593487518447660093421319574195890700147439860753044036686272809193459211553467621059684031330645528404131075160458148880552570563162293858873783508924531248740210439181385167273350609839167990131830760526563712791176809892818778410311433493342847839387726105752011614154291179982461484015585123235132947722889524575456722725404723249029334037405937106682053005850244399885641556387203980789571570271123360268877572212535903756272590010203628620893368291274175869645475258193962434740272526164800921612896547214887881363043533462366882178379861615488880001883112494414380709145063578373246120359833552511975441574232805486058787956361546361073282424199640664071597833873183981918669395424051422959973922584518240079672830970651039360900280547239552942244395042470412915010899081168208275969983212277433885619749701984834610868435800363206237354265529579467998872436936576258032751370898846530919226209361007863707708193747471183476487207655015809946025584979146822948292190008366457522216451534604204281331686832956867488505615765409345055778987818665570669695953141566953243978123546874314267066675563723050247891413638689475882541329044193801462558183325822409517085188343079324339036314799977518223746772713142617641050069834253270168329257889774358930733117365904587126838650679441379440523021752256445340822225734086953141007382922467587078159462011314242539704618486908952509264192865473251831061537372256762274348620832476311027355823594177983755993974764187721521725027380239841331790575706094139113655232387335755614610481338081443173328382300344109821940815966925411434581720368491744758547365224882194910506346405431229198406401974625808114006607194463668465461844049982446513820087461537180494245984904689278031069645985092461355303493247493074497010218374556590337357373025484124380798607397588080116746800957086894123867235375522229248498334716682556414432393687714692953805317698463517048808596931508077524662995408915611283999841221898783906866646889061327287430860656967032840782119020949223938176229731519436955083254178936277423360135885784967277660268059894868878568426581153166680171101393365963962574193727396147406432935724213544172746599819380477644739279033033500131814007294024599019871232492783095061193580799858667416571253609078717512542486255051551114919650957615434421061006753501263002421039527205733938512338886430786656059565949581957193927807112096687368021425573674707614813675973961009585324178953132997443395855063662524127459131164564887805160827523014944491049539533427844943269984290799451247487814863545959286891413055552874075577268183531023292056218032577526779752479810203239077861124506847478064434325036676220841393969129950252574541988763971983886300510140147765241599398695920876559189119477265484479202431497998713089950279029147079696469715699721081598426050274733316211832174094521482445032085095352669157439908405652756471206653158098621434322347287555872785476075045912515401661579210959725944555596462429062257223060261718548316949262657010697571103061296252816154638538729835039137596022499442143180286419301126611953125206760935131380244686025400622892546668352061821554658581553196752530373348274032176223347755504360040020623546741732488952485040005134972580745385690310163241798121760015106013280243301642350417184337072402641903337380960056444577149779318770633751225350734303330841792901190941142393352520948980910298417798701390758159222935655241231025021049427887917020517100002089023029773976955544947143798824314361139675934517438499555603782832788062079725253214462590674544249795493477361950534976725121002391212602863342176564403594468387656626406156322559218121464592129739940363693042186535216172616914167528130707713724950353043035603595769013409358018603752912428205268850602338611634564245543289294020642696553226588544737620116133207091861647605394280951675379287995734667018578361766087630667204716932833180046299519582050333239122947640134146729587411438607496956717261333511963516961747515541727009207342067708250408969685954808634180774517096621330144197450002860475609680239133153159604687513349385025799965249542182974159569790354535277916550438457005824554167037144053583844029897111820893807640450488474342960831167810753248562388565420790794893449597272831432910010516612805949053931419543361635189896826078719420084721738310186112959558032592404871470918692432796510739317065512846335798243581481380594574208242894321110861378503718289374548942175791934012504518720859008559671467087354307118157826481705479252036442750529485629100954642068830420190355677672009105032735223611300949625156602359736572073943654981326405852086360428208397585423436714477715425078290737057513047309825901705389303415037874108585192628114753180380093615651588575093904798992568661785529319478355310786260731536674941533660633392614140283044380162555957377216883367454462410609689179697293752907147477059157853698971594468977831686845727172832679694736765323167344782597102152198600577328785261307489695365183154580842862128479405338409696962557046939226336787431424
7061885160733063769327829540578575753925301531813981206407799327295532870271639203821718010288374283879006955083046285502106886912054766027901146827621509782777188956922928920821727003691112178921227403083386477054259791113519566594331655612640762985244115233271854471594810218595948835833447381384774282327127932342853242958858622247520601773423295388669835877183421935187027115790201105958108361338216905239623955131313133817945539396438936194197384484481207618268898868646884114579224197242218080083999013680949145015279517503841481904988862683022196961565944664640476766095509777871425454668075244378588616051134890653746461367311259110461576354632590400220584366565961267099721424610318960816479631739619007196641296418636072002581842251212829021480481856641214649756432170472044668143727092238318679627963358829535137358070182566324092778994156165395252593055538041460171384113734820180016964748582238760222806816649778576496882369918837080056170465501188501281066169512560529815833690249969811286851427406685975882616664939096644549686954467834047238456242076091215010608292479122163963237969551492879193199388867827263906784808724737441553432935096295598228358837878628335409264417810849670537470868861516904715741150063386678738629396959759293476005051905143600151054384757415432652735412204480308888927784946003910983922058920379604363615181108727427993605282346707894458055857998814155103933482035460163438520282853166176111636304313784537975360323213193573517423105694569015890210434318906193786266837512121287751096880234251644630594311787393318175699869395349408216204014578634344914803723936403296828991901091470394940294950009294881531492484447055566055576559099847123183038035679259158483988506644399132711106716067097672466791538652134242226061543288890259511736010758319458264040227796536636797530181771302887263421760829475357738789226711345261036044295354994331142920793476544547512639304355923034904058803341396308893985141086525708668789067401944671608847605912530721768734050099281469529453481965362140800307867046956374814945718233105522278145985087526959178148330601152943571546058947949511916921807454357034942079836281432631699287731621918790462027708905336237531546323850351067456264293084913134897237787634424134708500054881052231722195681567283746118345213843005827427423056087245950563385828751179653251353415538322932860803818869566447698793442839896118286232065049675672674322156971529311988975540839555424635209466984595701620150329294064139113922761808145364710527604099413946660900328732514890606436495250678960457757914896866057485214542943042201711644692682508183698086756169738191811885549505179859664616253577473374346684638212620635277252465149421928987327371387065131624494078585676178765101498112068993981708163059632673343245822429406780764522523283397917982382396942602422321713832258995352422754897965332862869558897084766557726936996725860425870937027467540439435189459202170096634777061975982095146798268743557911468477078284252982923201775889456854349200676641749358149432536525144206756338352649792321767710198928260841485025900273939930799738170681846673511586705701693089592263665175116192477228649410980014783462974918370012757080038739033061303356342569108472967836942508861896190542855888674065334517560758896179950446746822751107852062861448994137044967712730788807188904378070421878522644021235242912174150774773380501695346589041528158988031808196692696376926247249014976528778680245900279591444473231400793752797508570728222303183018250636467718142713740173696045800869900702820493573488862007863619913903566739220975155379215681465934436861621054182234092839694376746560732746850381557589324457324695817099607901136187826594825039537710697133804986068298372710198252896665869239532594671032352432779708311119433877943223712766934257721676670332490597827342165155012914510082061318756973565003511491696144002626917353093354560811491251094528489170676379433471398367516323980798460166139908357679510356697658974320657195200177740782909426805358925290650533144124793362723475623684628971728248981770272651400392768996642872765123032854613867213755244704803008211762990493479271253419984271493096637410945898026385872999501861979140844537564619585435973394422056138559522124634454835317521397182649340030269324077824915961609785261055461287468220377612584361445584560972049650793896442729740863984230634050606354442471983701959374134314110821925528877802380041236529808032523961715565242306976356265972988293975856557823404436213575720045371266336752982220212298645572023588052465300289533793026880741746180038711615841333750576315982463787576825179635415301263731845870425593235378898478326162443676131987964418681168279925304476031663235631302456227795448417328319967016561495219396791398369260422404405574957705991353825629914708665880149620255239669799768485922862069894438091120031722559176110221656314862081183388818002765736866815188000349105359871074240739577298697693253911131781059306968126341943922875765753425106865172646517516253108921878932552299130182456698709446148663447766503386251058183722972876100958983482851705905875489756750151869367876499238810438452322250756819589421278952195974434638791903288761211122732160491665118890310152634037350833348302167959923726472019763674617446125895980815115707949028692250176279112390565816705707484611881235962110325834654498309734658906769308568410998727901163724742234417597957654244102695922016050994148462934180620610362616106493708170239213999034499365275863263284578504010974917480677376
7582641453364053068786378944861921945341928426519938209270030937516278451177425254181439267180689769566938723259556190071457004595911412062691812286382133495793022656199083126865472731773349523583493064105538619969175055080089490494687139958456730304527701375839506508192767713049052821998482351496111183734221310755163834458960014010179750425773163914721138508547567451249328276446029736838276539492948100739628982656790323820836927404196202453777117832396151561762743193692441761104921182051795011115171174163983289019946736994414679787525736116953787597999075320494133827057014027101499205175328427468311487144381254760594277862082325333003630476938468466177740260102419867249006072352962370208871369042946805852390752290270963544247560008097529245724587769148844331604992634454932182982120222178188541757001018314791563458944818948777832355662414126372344200208183149938832045330886249272403424080086394460405135237709166817923886006190094858298346498082175215533358325517109934194859650649653601116079638880658589539420827704502480031060529119297079211122168310967727995866727316058114252714206372276426027917560198626141264200486495590694414676473191970051284889187110318679480427362478519812232703031078229964676314103980918528046117947951591998377876964665843564208119810612625044182297280089830547838480733212201980891010106219003867161786523797775330852682396202989134990592388461531700738316446575426228569814880371754574113213593018502078148660660504164008493675981288231322015839535489414534200963620260976733619091622183434908180654142542620401663388330241124250695387484969785432937866475141466135936775179959183012705192670720969103049488653692473074925867259939513648167707946291624807799302893919393244141241790368535561220647326140109122740669141827267986183964773598121558291122427803628749277805576070170313026692849954332623581500059840589382078598331439266340631059777475032243663475989713219944701499764503048167418695028019143456248918185103423012840365042910553921647997005124509866181955803448639049883467388924548431542227477956604780675409105366157996797118529442236978133480939834782829985585358001418119445940537762446851293913428452541560450571434898556775020419807311570658210836262283065216346118154656311215591526557232081126328661052410978428282664909773459126784550459862773770094543727379043283033795746868748807830989030579173895641303073914149798019178571613725407385753630790224199524507665112450732996904347702107568560179969730409061105173170058995541961427141628054608418713828455450146746915588550631364240336858491797732447863116370988461774837294360835790058910738879937939678555854804934119964349084376322786282443971787199380742635807638036734576451364638272724437284355017783280460590150127985518011764345639339407445572947455731348016066528639398149372205674758641948250535325055803710117931663246230396944702044231225526307922624797507401644076712462134972232901859709311704318881784359452059034264720840750060109793096539124588361399526763584625158213067479346150370200956333454962425583866335343240796056053300633641083906578847382360963344642110349370904663594514287137906992604134054539922434568483602206701142499725316868604690389709640019240169656592123377818339931984048508579732137632074031853780055849288008486624919548326979243094699014902247675969601888665194789798499470920388294410216663824457600944458556182766536396538829628857179171267903134966575238980234632323101328008619545734730627563482203462359176601955389354424097215022263690008595675343683966469039813587967345358714178208736007785589597538710676862202395562457506635436100209826314434863240678779690395306906379658948741922285735629046897703377450781989334523146914093600724763337801269283290080095466879293955801221109526958064183721392169340413950150397786420076774159192341055140973980813485652809569611578910081958208406652995498778515147287030207710568404449536110281016382086302966611665934967600060917479595182408239167641857827434963617031617652962892512440355964780585416262833604745010508913798323794671112866734494012155305691973886098865968079423128881725020597791354338901523597985371668163092821837940149724308786861895686112169567402317480372878940366665071151532145907742209984047298018673354868119455044169926363516497599246570843217265604802454007167967515290291705097612457243244367805062001414483743494341763708242174575325050370849040130756876854342872456569416200657018506731507212129976177192465694760701899665585504284432359663749229656447203630306273614945366570323214929234130806478699229591743034321408673016299798601003460995936574574211019286688808510858480576428937231797644136837799783228758129193107226021660961817303337939011849602364380496490845713244282520023488239982578085042390975832520311483516907690855954011984961242568247330758418645768388607961128852532242228869443414301064718551704526626295821129358287987943493719348078185034397761025876143660091128837692653979047033772498988916131888261315454340045479408492805399546625149562819448958545878643435724508473299153695665566934072055387736120832006687169707074063063420886320688306224380492073439299414931774036230563412846384135166543714394906425199393706061531371517869781241554458479214989669567927325997128442860962943586012032679105441284074691347024241367045038942255671347140421636025737613290373330736150936243424899409610572323329464454555758275229527360713387208750342824169962622876351733983917743491519622748719598332455236356155649637587398147683493775553967935523913952010461773824
8141799264873129278111483994611235497737070532368968425188896727385158853859143540048442225687817170752944474808947088957816934452390302530610308874245562380784296473340528423768156093636579072042070858944029966308144847416995755606996031968336613822259649533821221249366773347817598578564997765327243551329581921429920433030797778586355959790034453632043655713524504665867484822325936207190971044531566128825504972921166408284936091637537215676591918190819970068507576532038907711582570325392530437708904170619057091857796781763231096087433816345160637219184105884940755836764298793453549189699507385508876478406560479838049183235595096441220725586929901066640169135080606735073785642315345787191436804777550837650919921124887721850237879790644095822197663072893971040109605638826204127951523526748893417842062438175181699528219159013410472284335177272294407364687355755141387008783236484830269125435597487265498905689104514360597869253454627743882288105034767317814381301286327363950908572712561842630547787180979672253325039443022225921074509190959159430022798089053487463417804249254864087709748900880512715417276009302635215104296271462920178241328695033025020010459405710868126585448487195024006880065040267328963001075605397121499633841552679456042066653287886419131487681057734572368380470033893536287009559868127134018326336654026955789350365161242690891962671391688228056980894027201602184582048035096712241993940992709554488665145869280087139133440766785822075151140613415369435218899727716694645053060176664513977725559626360260895168100526869227821659219733419112752298626498229995651334427686848506834984930407301413611888752531364759756001909283060374541789376469335514256488988150463257050072915245487810937494273615337005713921526430403649010605963326125420421977135554994084973232118637176647068389641966955423899932141397723427947105286909343592348107083762954385810999436519075235770033151374878020336967492673073392844006971085006201630377610099719054450788982000616436680673390228928570820209140282327183739501261628362031260490465204044610049533724742066675353124207747505235541291939807433974512604316008135686160534062412590560811383364764725472554002834350273606577983201148454414852183904829160849710435522700181697740902964506815179900110941893523575208881807800949429583090465793093497600672034283732674099656098886292633518271645418073955119078412321386023534344386466236142361522175139317893366384793039824015158233060655191189310012694466594213537196095455008060833531316694813684815115541899778143309100810424388437391027672811412786277632527474509411629068073750228735382335884218132280357254537224129126170355000830962730955673569444592002930268246660978695163122755713988055346739076963458171998457627914857003555536701944950741505688677326173136872750055766615607169136576118494965277443408901851577487995199201361187539648400109364774373228824800943228094811528035016336019545395657268459179904804778492725508007079854397783070398879740527722870418299059868172195735987655908217825877850100028283576697884903883647038428438677263586133195187017188153886208073160193742792426018080167065515993781117409662211795712084235947513709770538981233473568594002099704642334861138680179731705459220588184506881234892482211865711898462436375333756120719673866840890641524992142601295361300489211178913537414369092686028275044850067920248767052808090218156581990212514350598852006704794328676135873034058576177272797438759261084188678056937212657627721701732049512613211325615118800096122039049036021648970564041857903696004509253734177175376641112782295796868402629097225261274745689584487585236983902859212118695892236120074140352023514603321565914963123454399429937758834148935108299063029755063322812701104679934178535570779729008138078735726892951749533193516255665705727250651377153979295213088645577999391710431333796186331721121922232626259604466770244582670414619007003682675227872786221280690776270312045654013940635436492010202378695075525166604362975210623650504832785544645854218167402638740270070959432762209637364524328716104977622620164588897125567273250503883110059179282436104479855700291362016001576888767812413944319110103812419899855313202659233560490182295335906741613256270061956676841914116293863109013017299507891186306634002941324798793050125332642514240545704923580497885483219164734149831878354757962659043464956362235944978087324778648087454125498192916205733908617049819644832221595545575185314149783301267190769398326216669978124529908513785704479909954511561567473067659886535203029527929232941011563950813941327480674104440089794171625363209788420170835908740003378469651913214391124731390851362894634601096078504651305640839922984149656404626932106275441496870621336785641443121255844003711550277769359590398819300182088850145164536333411675740062959465453003415216996789636101629536412916039753856728775441343014908093691736955145349561293443754665440361691672284684403110234862819824672665396963236726269044582469149303029505960586242061135854557707423952122285320460489623688586840286733784616499456809612843257861798671250176808570157672510860836862828952255307070975889218047243457341533098387191670121881302916561640628551086819147504787668842804569095943023578915599312999810129442453660854810283212687261239190825897667193604008635226623093511595339615839812101785589969021322759499091779056135696916377865000148046726950298322741861864649566952699078037313454624562548408262002075178037843883409680869768031846507895981255964141526961762450761692108057214976
8742190393306732959667228099720674174233749985842507197860733516610171218272466223769431403768656463502786053752080898817056614256998004599129328883835816774649113045841426362860664877098055205934680568819809449934365994521726711225714146526444065971496687892045947794202638059480254717048188003098398447696862917473587453937358654954461989778222251265713979733467823108625063695416566665616875165686509040741716687345443827439395990758320356828465200341869814716984730183331051205202334987795249148161077145201713570971526265071781693246440449441733796180729029644705421304105944444563813166221671072017772198114956863187622154609098100578252250678313582531433760758769953062744811370164690968729649191942579350672026631386573074254679075880298929582957298436426617423210465118553933639342998255190269608455330266288106829582849979270805400971283499871716741628758434558262410264700816363845001501156103240506273567264623058176182549862717890294957172871193534643245601471874674690029760417321622780618925339126868931392207417916422628933034623538605252155899479581724006062531366408669868406409561767413436929107338863340052503872719428756995060551249385188300025223667181365943558863322350498825720871189585575275248340803434501009483366456360901031217936469030910760783072078492462169042684845820170187474623832318240028344730170146132960454424420863298781025004185720023936433230641085918153945395512934860359819121703598460327738886701050906866331652082468324567212312250797929097647005791232911627063430305410873517474516537764628825014693669046335925690699917302978231883114787408904208302175896418472816540673186188048882769407857228112214349731285021075778862624089314006995145740489972592804069926151348687489885792251341287030889964521982245823144903842407071015776660579217114601108369246240866447233416946908305664585006330980617462971457406286081911490568943066955425849502254230964054448945440497729633334124570211492460518192592601529817989913428877233159413545479772445061845886751572673541198204538348217865233235225511138657577984051242799391771955071954060601523279430925361203059656434765332364552733269260848010497503400989024829330797694045733659759396941856432637226102080642500338184236636354705579157472909978486501263733828516554991696833260551110017431785933308608869452307116297685818716285213717605655016162297390892220911672533878683971136453391644989103117873868168417309913984487750538648939059507964443142675004815165007622678462332019715577911274427379538465174098876349010897273543264730216208792047299984961054848751854639001573154667320452209849147762364928737122746642669701030168584077858431312304745683113319759438412366201604026884162159571979041173769591405256243956862220568950819958949329618584011875696896463645315756774470666768352586925548300774947560348656183746587624151818751931051949789237303293712904791628145452111132316859175111141218654970975048545576507423572783837114217500529229222695057698848527774730015566413540150883877449460075520336412995644408096374184947397167602951659232830833638091854814349838797150303438107055856727704969744918551873579326366038455563151870663709664208858517402208706347929738994025147172731679397912929996692521901417833173137769250414271975585267197704826294056243936913559229134815905832706810466871035215575204782382986005526297703567812001596913389921059362230993735211797669033263112800006263776335306438186845985266092017569637583422469707427840867475897293428968737004538572477077412982154802931620535263435582391901453535111163327069141156613317863364223278329414211428082515432252003837012126933250125380022001870585501877714568114689235531431830919007090476813730661061134644068733070664024725929377051191070842673475060167965472410494505847461060725417907327423891505555008003864287762354689332145201825360914893425657300336270976610601126049020177069956066106512104446272297997668429807122649783848845203010416375741117199996530092460772949712201539321297967196128709189134210147672587360721822670597675965708872942253160846663390648244590764100334294162905608006136847991359184862609754961014702448369677735910665953987654830887644382505850355421796013838416235720924377097124541334314607093682742671886483197433714489995761955201215422880720694677948034917157384778409017618639454432482640098100179980589519960011104410386894867333402515570357983933904045220157524467628279135124139105993677104228754570550623886297120390844313181789973296174608353201331107374928089722174434241517472843110145391473383485913001146546830740001979941941135644593521002641081639607645598080337651068514317625586537540712928311740255188769364166373939910029318495122799307370876394415732831485402776947797020375156877404119316354399255151246173532940147009503111204702765119778817906721122823919614084931634022751724852031751971273572873333327488706012059947800278885684162634990015674053837075712928531945973823060822096375878443726035924567278259934854672548327387946276989863407912644717742796363230455938743660029531984591482652693071311039670648472456841871874216896543267249762915053522630045188941206756619931249406374783260396994622328069748749007980908057963940018634642114275132505125415816932950438373799915760275980947296611893137699843548393563040041216296841721392670747399824533257683427609805329365699984933787662945109011299137988533030253058594677268133187140141598502744238484723962632843278404987439704867140601229774903288828319025929975538778093451479232399554076362632971759476261316048748201754067992135569473431759104690356224
9386855458664448839594007932818130578351440512158507855364112904102939540860180012088581430925437665150870926437521388091385811303573442222629514407625754020141535601823968757619696162988001623672999538821939726104962823241332846541019583393907315630211185667164131076355917215598149191867925282341792000708798188086051264614215463912990653843137715551434037261312774229964426024432764731357061625584534429598501188761534573364318300575126043117327079335604718424757227967197737316911353458854288558880921219693600777620520063922082366236241449690947028033540221940456071013759175477148615633494072285196398080420443143960395866512783001509828026375437663351276223612301273397986000207136574461160100486236551255255317500961594621859506551470346578315652128937241064234148184752284476948283109108156817556434592142646597536703146495860596781187957316773360900167799812377973314668256177376803979565134092402193516863557703053158552364446565657122739212800598662944845721404387797901079189564777920439101716742553902813801999652299909913145431770533495337865855439566731091334169487424857513916538176143183167530368672722908834707764060823273773929075288960330963852542906407288807048374955107324576439386345974665400134455507253386578452511196513370275543428045773369632664443481883967499638888760208108313089424547427257196504682273680539151504853546527902087794764583982653254829477122772283099332041774460092555937480048099798155897990002115743455509072295962937243022558751429313844730170106416989739273895419828748400086383260777557437254254007003065077367860589041549007334470626633809038463654290189206069326799797125447214385986164020044793112559443888393785238174635086360779716546539533825507451317129294439765395952123640259983055334849128504725759990468050776982977564306957481123811132816124173082392808866325835285041036900878675903337225135363926657457290055726464873078341299950067061102445992156515684355034117462103980319052099563255531958877658724734604661983093757820265646195247531077356682699286531093397764920176461381354504696017424352885787309631006004274486143234623479346032109881078264985081084764721626074578360449224158924226939415379659999248250273488947926028285148479273405042559093967126279547521345590887896626299866081868970980862600208016115341877623608328042388298124061657297967357423881371716929768854680527054269110209417599921887618817635876960041909974209091941540214986984969025894321420926283707160151909444058145748675909898143008587665913819061171874197405047337421434370972014337219942737704580127255602262860523464410697961922775548308254683207237135828194491990041013667894495257070051052811273642221957194642109749466259552345313930595834959694462031214562573630218030395571189017858308235621208648446880013671029734960490370347092160556784674192806953116166684940149332600319615851242805452077607432502123301144827487111864609716634972174840171361415683815866212536581514020738795350975550890693449346860912553268021829267739907289784775729304383769183560530804801185131931578794427022368486219994005304067903177284158132815786541262872688605547773660620175683300961422930521636795463705454047261433383317982706456571288486627117356499298251247832942433588332377452656158230933146697008268390948798583111723410506017023251172633022849527920396925139953592209430460140280976195913766283760696063861495614183922578888655466724251409796472878627399970537687261026690768297062705842994786238316201425312235883084106110229543089893299604660177550158780809617642743982549547041508553569128199615453585300483879216684888230310964942734415027608399883427515873773517448653888734132665318838660952685223462634269597507004868252508488231952228663910800400509410129641779125434147523260992715066047450631505112284986976011094486352740426403839390411602658450930840811158215975630878061983411784128190820328838339897602021070885306218927252688047568315842170623064788574054770287736534122047015149718995473839555886458201344663405943506527784761273307500795830932099761581206685999155597261733388670689285178646664024230820680338382355852747393531787692032975497729723598448908762489404571599710818335185451301647541254790290214199295630330330167470360010614246993834025989357828715583279194047559335180876373138047015589164259227038734395886064200698794827269626187086475757146730309863269040546805633194704582002152824955670421889195817392529335590099380186361621045831363576010638654412765735842409511945816195652033502460695138927123230268655027818431553345545824831615704156407285340188995706471289087657262979958143817045224028828352647994182112377412637888809573905829222220614681395322593705061276334430089632282341464218492384775821007094592725439386109830043459856005686650340462242279677532812015958612384397554886415726600280283477256930583630889894541766703467550881740009848017712532789014348416238423200275606825651647156495874825982273312202229580380702139509768675169934395769537996977276963777682591069105165122979171893115329915636292018249788545567001598478367016901677807298450078623152785795949065987071679895977126446409998376155971614209054492199777005623335969896732738420981547610775334498681835354613368997213895053328032036289401083515359485078525739511923157766913176166736648472840621749355367466108544530851620053665576324334638047464859577684439378561671173033435146988166317027646576665434788983594612267636078503773896984060711024205794065226828915147766770118093755955231282972793833766494817090740248812539560530110194823367068132965295664021681336560598830047167512576
10079059301810721900980353497254608987469250648552570401736990773793427386364932215148335475214409446577397383741594037288256479716818765570084828876278356630962105175263405940725586456372538153517608104365828372726003197279338322836066458293094151571726668003463471009301485824269357964300392059757390734269674259323411753824374368550940761952483300579389948984645942836182198254587505368010201345135543064627894254086978433843264948576116086566701424170404918504405232714682710635333262709218912747435131749234111620090075593264293313800737909095561698168112611083710121082187306173569624869382840668694628673100745308284330041471496139357357498966682545445097285069304238135876165788875203279037863452114921440287334199181624363224016836315719816912807164674556401838475434982206922445335459242183314561081301903941425826453543465004565637561286176146374327556455276609582844315219342795837040308725807180515808398051207205548832977000368159214728594228838956642359856299343195721648140571726410447207958256681166025610491481507871065176457486560184737175579887000703611726661738952711569932849085017614779470155634041955178764829089630028923669968947401592832770707487364023570574906180532856806466054120567532284530060101605096534924718469524688640049383021081453400003329524183002219418979758718952839686201788664917649492063969082209301840233791901738454642158662056135290200139574771783191721159716552976396221131856810285005945744142805522237034374135615112071720573506906874054709025637894452667237236903672166074745834919990362180942148249238779869763667747855187242920703868716209097027650315253183429990828466248307648790527823793646068718382214589149595391901907108163421134906884339937910068502845611055586754381715454166274040044333834005474630151951387455002319546850029821672326535581491426215980156876612074557283522876800776667154159803944309512980413826532796037891066682302916115110459810479626844403982596865989778705439103336079598263615590271946048325676630548684946299110223744150497649580121163394857630462913488045481145462918314760449604929519249153984638548099469874666234844826277399331836296743170809633563728779679407788165311717807249780092654877464521789934627970920245852125088199184049567439689464293694327903046664577701722229994477440738003108582063157991613824360543985742195582381852778325226958181689923060056532261383117075717829869352265069894914975532151063338693091809477376902447271913747659637267623371363545819378241117078891728253768062206705548655778220231594889234398183783327400692404358469438993582487942385922271141914748043564383105497803480972224701304456140027850573965576885745513218697288362527731024941949600084558192680857690581236425298144095069353171844609474628050017883948458470138347267927712988276403574713498190922249572342831643030265518835300175669275218649847307092762592990954794130786757244148354176829998078187758165202132506079039562655467189000701589309647947719208192778008926550044919250502919829759632410924401659014219279519151275160755412480921894057927792032827193975228524255544977432487319834056896810248184143104883009493464409388020659211053727564226714020027454673685858341923231135432085661200598229614759014858419655928134872084271496983714770156505233445178908081238997490580231481520764513120837085786785921203765225374306052272184591253101028756234911371120262784141845301330688813748069013789436257463915060742682580396363058235249483614232679398019736807166159926620978840207414656028627482886297942871340796135044462504187774810723198020917423144933231267881148552718923121650227584811706339317253648552848266094530388213452834080659117431365373053809538616516482534917260014328156729658921086452665795342904561765640384748786353511340745925730070111622251130206723438396838012734612845396267663602349248351495510426662374259838560995653626832897861239943158882783167330738821994309491624573099002216980380928802553679928124655230979645000660614907287528229020875566011578138163833140099516249005758417396956628418150169991145728593463623014152966848404976234880892781594323455607982746061742067518424237379079621275614374865444956045383412091951754669858894205152033774952083702389626118436541849823733600927545863819076479593749967425717876303305341566811751206316465666338049400788890240671039426032434253361920397725210511238548671690199457037959957045020149146194654277942154642860225372770021424822573386905347755922512825792194068730088130965911650471088155322241255286779542700341437659596533436908399676230283539047945139848062992754594650548612405438947932785768461139202783955172503042732296022207381901074307873299664138402592546833283412883098998442250330606780794747759299879255264933550417643009175194585058323338309018149028510872213393864517570132019724880135102070270492106919161509216258108444224363715208572326467988501439264536073630623355745947847375682049606420294084125888737910543446504729729677921483095028868073921612511687853639830835827587090046968840342523187385977078312272169240531419410561077425269446357468958299793767480851223641924054705990250610012846909908250751069533054487769982334411259021281726902192659606801936749718824759489330245641853498592705018388975815711281358425523917010774481241168485120626905137058874703658446903087249646786541842789777853808502289843464716898846759634754235301821140267712781807660627493656099788076299985052824339100849375031253446781867637470965030253086704321273190684922380900121067793444388934989557808270190061795758927510637513558622431094985931293865335274307111650986897178624
10822307518930411036715392152306942846612026335290019903049489241724126121047035046329734163720626790250845223991527126265416526310955984820651283992342992980651745685767169175247127085135145540467588542098946920201770525276548568275098851912846840912358259331481305678898498354861123887896829854159017724495419347091769142454422710146735370654809220493654420630040682655122006750210404381457064842933091537444105057662471678203530635999385089625871884852128264013491426610207885298846936349267896988727849686102945613975112811809484416831408695058214608095566693662425522098048652040455109598246893093905550290457894003076658849347599908682527228760563831575181650727762699066946034092273259677204896468136812404910829307126856651050994358432350436084903613957926557300921566936988268451881036298579569919181196518632739356056935211377282476002778330561393261457241751681198019134131648093683323267852771317879341370158021270287946841795725355946745088432229414707424387767234652976151470743693918782557728805844695394785839836890723747879392343477588245471867756125849385338773565014096370845600934063544765437642664060085446173193653747606741674149231606346348764546431252703620648092490914222959305675945500898030370193716327081681106146912153927593398703975130630226290576649369308912874983546345968325454641896193131201775401439687011021707699188303009077058412709093554296890267192070038868011219733446915868307424827275982244244034160933317924065849235073793797853667415632263545641544977695553126400975793669063899128513123393345550585440299616054108894523056512000838075207659359198894207862227934128197924928460620580291725492739442940129436105061422112897164962748567397957099475068061321967603702210395605220287040063144005483487041052051789951555365081679925264908514465604475176838624638871504625507951592499591875561602338881793223206748437074645290888141218376144013545127052761561669957699078383088842749696466423144548552534541537006592848761836733436005958804171319519095040548661220092264676767872132124596464353566693008157120086963235653891281857101390029709922662617036516657174393496124057888542286534417484679499489760134261453704427417406929659300286137131252122012152278257323739789226479152756694249103175384294219341071420780777636955175617717144875363926574548945115604472506132883055078391432866698396859291979461388924762493452352891686808753239982794680453494152807253392827850175707699161969203808491382734650916294912923055206767162964086756193713253986773480844576054330946398795620669397797184008641118808525273225984897715467091338142104416797252177131995937652665844116501915121503686089245438512626963260137310234499161302558457710864068043287586569124419474868984454596681236616421854804147765943438119714598527810119244180396190472991824941556497990612001712234185398521566210647994031085864839271043797077416151535467278377067140427460674389818066775031085766999028173843623089766061785040288181879244749202931882127258877967718055331877186475484563458553851126859333123035409815137439727294149077620539135763686450977106182397771655491629700815667134505314105920121791015376026370959230396811869061390651711400778339062265867332438685981776372957722161934522623113727950469772358882504395603586694824972204769477901345467040569310327982192839544899547990130851148761178463300974827476799144272996125108105011885203783248576643434050247899344150439021037771502918788527817513115735001631004309537236934187326528830685715976549713951088511069690862337786121263767654791490346188963767181402093064081020424099788537062211376671956489256930836261330870847267790257631578415463740947403736283872984450473237904142696844483106202456866981141461844825239747060753901049608159367248223641005575817215813974013301159527534228721807772483626198424549618443908604892609963782493335475969929706429008381347771092733475469075121400286204713995781191157481842543973040557990707268124143936756207083225329881809855512501453080364664326304315190558206682102118725081229599161542246594798232202878469754585052864984438817890673117662238057522495270498422716863744194763994249221931989707385588642621675769811678955932779214806886462974942826655867204510307088092474082069795150031187660750785194491869023630897011317454682891467604904442165807192564205170045953920857283979038364906539996272985121251749853411927923748761516481585060987090743447012092714806968809162737208068824829605814798545724229504704320226193424088857399676655160498633219676309264950500695397472916623013989276514091254515837912394240707217244460709684885043473990420428705280715149904857651748925474592898748724114895414342270555788167565575155658043817359955028650327837320628690565314527931353664235966452622169315447247657694222986977091934240445317504633602780196774445863358414368260983499456457791815691270560807468990257661451146422528182213943824255654922250038457188456208680505741219065124869081234924571398345787241462138347959051320937285877000712957911585884568300545631986112820089209960584764901007204856138014039023338875308200498718721077945911457369485755416212306904477648834102770372753989526524198523227647496261830215925618634372375722384390434766493851826319712519538932433853719103173019818806773619140546033104738793145340566119693680250728054666883937176929417321303146595404698479602611343186710586404702621672813770646271539338022849015175059797121792342217740527895318132953849487184644738624164499528072557768328366566118757153360633417621105222005476161779250906289555703211259980091244511121813645107806058400302322376676187570176
11620364215265254075632516138493342619984949377590341539696661740677240086019088200438013266388500436187207968350350897101706649080869870325042422541880367316664202121419771069546425887152814459127134334074824054576631531839879364124293175033206055993873381516049757781562031934409582430080313611422357677548041049391205294405927677659978944532210926784874678032963111788315866470511231984323300582137251217374197662662127516102600028337859809013287155231442172483799845016806751779966694532474812777320748761554004275322437521158084538228133072721267139479978947966742020361711066482659591170141526192983148852599988902062193284724233135971010223539033067783964338783758847935305732755803674152227636755428378833194780417587047259886026199436861737848999825315375920894332040163859876434124400146247036014157150536419167542289159061714068837946459433724665344538407656459124627570269416480237654404005875238314647814712132926989777047124781579097307318116263312134402288463273823722619908696616544851291395113285025093921747755834908205728134866897260105813923025149356692562933585621218422943535969317494288346666592368095392569858773680179698439897809593196778498184231625968590566086893314941187867554263275058844767699196202379264867900523068125982899854765492813537446776525505610201729841917023508564819892818885231352865631580181757203556528521291792431089256616806894377385993022660641869889262329056085251610958126782198126326202741078850330158358453777140127107284135950352772745859754528862530630686304074068323422801691520307920947894935152848438567099810309250857764402121339116891845533023762694563089745700376254054375782681348219278503519540107011536135831530538811269389864109022687993346068120543008910814928200961319622505377339592967885047929339788911938126551515428534438941427373393230678217344869434216499721095919713602775876853195933678858791243331788783191190625427943943464588865811266176784768108259303541983378454998452949222505454890715749778825481259771428919911668073459219933722323505447746233202898949681856226673000762943271951057678942153883436146550657353402870080815958621982847524983444596068777257837542115884378193483452042126002616787800605224780893198937421774333719785415274578947511242353901323976027938105463423684042660074007933854545515183958256305705037171292973037938564480112262285501572041375442281647878486317451011468467443065035688807631958808594978445164365663105389016084329157283985786182865771123922469366870704363760089680966668733429196884153084033485889041140771291729939501946670866633623767388269459067665391303967690337790861680406855763701924152434842056549524189823932227922562520821981644997183479334249090049036859724159289556249886945529306285695351092390730868784969632327493483382678552162903759990601121664849835567551492065594785457344962713406357945332879249213136357397057790687756753036176907831133045764207593338047175675688157975517610240947173926914365854945896664004751578625263075947749250997849782735550174926451831360511178395738951657351493177343474882215132195271498284322836244574529460030903082091686388716780589305783600770186996666601425864675909020070826766345148193328804407801962474729054235793459728869040797689911398808977195029491282871423412758643497015898480701318373834272773269989637979052679770555698634111143323103574305772233023630853326013318508872645160388837027330524674736887093956496124849871146439241317729051272033223751917542274373381634467944750249067843406431084520024661414057642707373967643066768017183995329404043270022284044103753954160501799470445061297610423373320769086749931053742527678760927819067010728775861860760108174772130380116466074334791011749633656206843289057887246312532528121779524271793513053248172147598698101730587292409580970187066203945804430561833686466467106686346632388333301811860492132867985899643311446115096023976445364743571643228424498327224860046412775562919797125675369091150436864085510296218679169765033161173258873726571780876421009317114133274017966503242511756442757494266164616987026384817067938335185946418107806420992776349797128312251155302434685067835432357428220442282283014196298645677975496034078515623576989186672472678159568541801554347539700841095740841304165894198602538459688152434245226020127007076816325376208896395372726801251743338631700725845127108246017715050794256112202528108447943205795430055322310811781653946497061505362624487490077436782796678481589375833380353019757975282404708722252815182802232999736049886389350974485394961223280680705326284036942544224062494031496313382931810081770589644870073517083275281449248029129444759902348800587765105346873480799478307245351888724000977020975270242627123034332412354710630225810185241337663605159075752322624299510939687023809789684413100899955672417911718609524356130740279997963192616672838914666422699636528446616485061804400089802358531334477091678881252730867819030970751715046392081795678036175363484856677898442652810727180185180728421458429020480447084001522112372145797253571418655579371288789998527062543535765651949233180889141578409876962621681586861624426360982063494028617486989302468560589865210757626287600799383803366333014554328122544778259327885368950538851699024642487833734609371051209941846614795436676566552494553689518745991671100657603273833234682289230963658534698796388597606294995172548989306045261448096406455230672385870623259682108919581041773138140856191105066442313640199319767382510269747644970906462494255631839261972084911937371953473000612915660948361376567801924469486144353784991137780168304698966906241024
12477271068043242554993091832255278316639578397241518049616861984145794765248052663155189963588186350976448289403840043294022810897021138069454523657497341992385005981357934457877210184752281164076742667762526932840187888773666144374778716470905931130707737494091152195132609738399193401552788403620669567070837444000186862373877781022709843703610987278721792402526543776302180352187172443334440172764313940489591488843369494860595125569945279586218590293979860433277856039263392311736685246550332705578886608276737625088512252094320284423273333618458021936495007071410668280628780286076173794122056672597502250254219226080016778980349424418752528545449101398669507076627166958193811486873183670114556352983109389717555272859397803604223803495123695233794909009813116546759796067184162602791349255937159204434788639617295385419158786350992840518191766709529280834258275101985859050621771422906038993238901385104404630486619643956462035933096928341543033242704812835474446364329792495380370822618511497203431344443349476233308748618080979691094780100261286619074713619468127499131543015787242553795760704574352278931731209183226223956207073759342050625828446203806935564317554106000201139333370478357513634385067937897688202191213676584999038626689723669140682865235345866589994129416776420238408415216478737269333946834329959487930879816362231271926221559872041187172706534303824549780500202910934385667211215169176364249117438740666890879350199804481327238015004486129583767111821595759651596941276013114284648982508308752692621011443300760080240516631381201222589696711509020089513696036132693999433355187191003326866624018156514632848077698447747252333061414143721999529659357454915186428055534155863358307046980102258346674332929245884915915314422820754464785976728062079419378567006198710115784857070776577681848948543337472421425024112241402181475549982057720868748050302725246449562878701310425420528186280184410383363979374050138893359952340786876352388984306849833043668825544791911552304396078668801252166750257536977128410080319080524533625290756100433256710916554701289411384834135041810327410354819076389198189609370385832122280200767186511614576746709528898887578506042802360166263776262117830404667096685523859932721625584061122035170536319400911788765521677253887451052164643033665547228218291917308138975424817352231200866718573870864303314771628858892084797150801267571125403124571833639032951469966905749906359952927158489784046064290633767042292567875275708518192444728969036035637245649145340415577296102807548941356229869927066847923725232165182808376680396006260366735951251762369822217031745041350951397249913671229261956011861432550793796263963022923619593087203450932434671904208686425976657191390264015883742277956799932218195430958605075428388766271232861779128402814304433272581858254461104932033418618052221863597152232724406482150473382131001280680545535735185445023008061835199832426164235698019930273884892926505323977104699969387647986809461065045792473354469047455253175674263030135780412415293364338194527861203751942743021672794102765366355316971732349078256729009368986977240268390621878534888937887720068902141283461234655175076572519018395128600935795536546389323241980451755542600965369703862462132691770740251589391667062389925525921284457118344727698168924377344984807650474653215999411215346427552950007264009874198220682418964615415128991868346907525745232370942642077674555050622473859984065339282783253241712265663658560478967686022829444471712672521756022267183492444556006488601778253728651790162061215987509590918677914209488022834281675536289685201519743696163244696377354078143363201544592578017138058712067615090358087614857073347324834475175093441955950804810840517447838457162501486428623319777538355943084826004350087033524046418744647291148505969400428956906475807409589656283321531089290181551700918719616178976107908474765769480159370084379978289832129731432628039805092336840015917432624874614312357898660963099354861265176613136079123877823143161962516487704290183483021137327911094769604434439942081486145342695115695568655230583958597040543490385603180871293597366770265286547351601858999125738936231524872053773725977304037220089127021211162408293532474929573229626035398507896735707265936509050143433290321669322428026620594536835429732375602252001591070722719924502094952077206639491188576164346839192438466198918937353798248553231408250198624660928872404797373963326826355340337198836418276147049620447163516963092409577723566694489520125447024294669364498650736968770818345527031367964981064812224821942074838304981247091160597428942225855148604790063027319176298704083970860815870056552520353841644284072929211369638756499064067127090850960178811783119301921808453066851823598687498934655004798107329814445221155019010765425924246650715283714725089626867492105061062730191297871298730609283650148248937042586505497178586646993109216447437165041278526448529879672772093005705254300788388929218412613104905414316625208608311275571714800795136983965581509421904398603771405448858172420360518791049228820196060309460984209024015047163794563287362100848678189901079950416387313038071958830914223102623751238982825395725729846268650119864552406176218645834492008198000018960365318098677563973068132893828649788003289616428182538714068879581299350475992760652924897406585221998643946506829533253835916795084756508351154846867893291477617109309541566895558846617411038807697330588552282737568330765531971969631653361624720290426513135088542812865179744859114287062498050576284981160397688103913226514456496822874093387776
13397367795143179371872702731365284573336230458845104159124531888012964753167095878984311266569672797349355767306159080690763021270174552957251938917052347266055270432674178541673526831807291365276604948061961667716948844194545409028022238619849377424704508467818622980263292302388912763112055452789705945047931334328258497946164498548397053001070176867095533762838193322782551106534416928708458433122829572569921418245555211717574035854982084083096314404966631560893195442408090477231725024344843947095128682660237754331967307010103282236844297290043636541524161059749389212701290411266672652641617610266212884032069815507025586212965251132741479805002585034968347701638562017643554891427364290635818027402871717306854643500867493183593040869071691625955052042110769660042444719046349297033770841491008153548198842957153409086750559802141356788944332768472448184384721995100082319221529181742205689215461640998129858372748984096042123049557037806245711488514500427540943944625639931531230940874780991172183270841374331280197585296335750513223065741733456770952076194045349130782061413705854615643078222397190159598713840026122875915370279500058470478877377337961534736680799860995345315714691361499349213889491966002182455604074569870122958773268278974559089332323346460063200956669261569666979166611491234212791411339012476518417008879945567250627901131125130710917947317160107142257293087505956796810630827169007897926535749063611930389202447472828223682487113056304961974459438532193558971304238527208779919453678215535271339796167854630709143838686481586640054490950622497023367079254818688760985425765134329348579837077977585139356985262825006103411089618326699457923903580572308630040560394017811022643374176468690583677322573431739414108996337893064124075438421610929140996403483742022306170083622754939616586181701405320685330602069522063906655136049137824478892396128491958293603169379435807381253901779896983861397778468990974402809656714949570209876614767144315426404436392402660810617993648728286148395010373680223569305321861796024415611569028985618332251039782156758267732238170097255737215631579922272132998008663205574966734933810845044329232820999875558072260116021593628276429010388814301321629906507898743759681035538874854501530603818651781611332193954046128422783461982959276938086785253033454898313518134558651580088340782402780577497692134914397825749255371356103332240083713059870599798907465746599540542765056561295957806987171446367139982306972042343767216292786302398392426865145649381858922883930416669121261107294298771504259551343659866857959819287472804321597969223442410187469871389786603125977418470889188244054821983860222342303448352041702561114563591624463286905371266588239672216874106099180256574405479249352423041528025958682186135735277183251735461216368037975473388333671454522946776958935902952031071485439571176705461672731792790322064264924855355200717256398281632255473763931761957833120633984496950524512887334784103037312426718664439251853865098993566146103230275615833759827690269342519589545212507735446644435654217471079727914386277326048939092098946793569165974212267995880352358095804983253984390859209367131939697758316239086274936683369206302378732551969683640340314470260226659619935487391944427571812307641971280433426879253409101251779415222321048468264618909808609914673781292129912588397380471211875608013095063798347299120923999976351453012765279797103861426418443787417811610928336674542132410041016869313241901076827212193347963481397424991032150218520107785277227108591802137374229476865654086509370515059271811187744235256020111864780665617168330824162046546360159493337520970452056984122421314571838451017808728443435258353289872587551736220744811859872177545889851010210440581249186869308540289141260633494385934858749523545372634455854458904774571176730859845512629186721570287146404614494768476420593716558066520055294389853845093191798004751631633100164573864450247021087373140029976143047675849029675897981958137684270875958680895774888138759873137678114238353789025025745007751925194031829029290330994558602850916584514360289126794169317964022768944696476117501637741235971349403512085330737057202420385626614146619527262388690322960213441330287034114231120230086682435919401965656720295693517522772310764988713412317733946109508664811015162696047179926289976021725664572445912179253698668698883123565704189566622409064729552053388656919605717148990190398669792655638914405804653666437457068751677445050330205784540539972270326828088382196681530596913702087851792209528298856902343933936656940497810158659226095632537457474160282135980327222698337412028654189148091959121255282442669686356531052540739641160438917456624396905729900970123694548730159211655129313774619871008580959112094521662648516062731993311073499373944068037484564919640526413394516180379193865127294024045255616253296857843558684066168000090326562480084425205499481981716811440280876715118342830280243602159312369366880385253579867442915808865015468650592139693013567035493062243147348814510436562165700512771944398184287473827190685834294641641432643176545098801145455618313731667613403965529921272991958366518358745501754165841067678845080066968863739973721183133551241874201137450995943493510537240361614259528318863889693972766827865510743857084123794933223260720870107735034267010276359685880268876648801571493042432296266540687872840237782372429828540250123634542642255373466315158967111716986083121586000332800817615912989164088646658768132373951629930361387948765332879997614946258822224486814971050190078889375357681267243033956536941543424
14385314133155895759913770126585942668053105858164699073288361112581204509713347305883497646750270692509079626812234817735063066410388021290704290920332372056935599359192841665038192712897702247051552061459475986112478567680142998340574665608240313121266641583259013539996223477012230747640818338267564749859409558348378094328214922475401203965593765661277764004763465115269157180503483151807898122209489041292367791163649332922334118113969862450705204196866345631329426743519750021379822898306477144749282973234320858610070477737396284697375995776209711339689204436365082156131807533347187244458328911157764547672895118197857137754978561199887902646282639980162017443423597369561710810965340096939769368475641460579074472615491207713258758576463583353218503321710942624817834510047994634738158892940569974389715097551503455320625720314972339544395870901282576207246739712751681451991075003673103434521386911407365134718017166077431260384063816166115228845855314739516592985784089617249579023420123497061747963295503289135579610316483129272477070728400794795067232509181231114402745168832542934479417743491436614442374106643693384433495353545782590198639948615199082750003001748524088534805348566093354599734669238008529377861118050484361268857485884307483926175467812185812204550492597882547325282927422497183653854142685538895642248707376950400403867705825961021779453466663399942962773357081237661872644126955079296590044313200768966164263265854738767335513709629571104570706718943573394730899776735136228979528765530657907384727661060441344482518829584502981306140572712893889304738300621579659508791098471930399760846073730482498648463543246841446287755988609574103851023483803841632310692511454843095940401889755989706209312967432969817998085062658618989533723564420200074188231454073113376475752043329416768923107393262372395971810709146795707376451520369401283357770918737493667505394621656351908460227904263433983435813842842296294810151525923799585168979155018872517178837293670412761246283067605925249371593111134324848033686708791939171967300204684926697839069481589560276321893756362649632672376933937742258309652410398155751750707154576028879431305741071885497526500779477565812310861821400417098372506466740667531828532757720309180208081336060529208201489006139262112817757626617350937222439867888443395536891485658083982584537112830748719954145308733439605281639629081699745491945491973598079032052935477971312459950501835589089539501445413422971058265615888663201845853618882379465459089968091592941672368066785883382267378526440067715942874429162996275662925280441429262667686068674917073650081651114882211251095091743847887050781712945373698870456995011051832036622983834842332702808659183646722595308526261303333598990131004793821535429930339994759177691908103890300685291944275751086063252856708196201922146809009534800827201450274597053548727241126253470462831265633412029386032993366590283689633268235496137546037146550143378628224358357581441487785122765089846222764492843292277981532968431768064558162075510888264834007808523472589451018810100689814300216837256641630574015227118605907743309417601073394026744490809467422655108696393062134579729023189725316943879885362040548435829160102904681969240030809528153736676994555412567593638193139381608203287900183246596286312546468368095906858022882788300686310289588649187626364543981018805809089709688233797143574532299983566022976886813212650085445781619543469289206570554208963618806957368071169986215460014953320482975201061178774044618275779114040170181241607698431303729084293221801625289931561982656512101609284141894373633259712409254171179130261658215307145614451441770683547701604843597429196600561974855130172704192885400944029400924955984324975612326791601093554122107568201668840024586267657447455178895770739359280314414182945690364120819807609088677986055460264784245809629542329549288379997347157504379018634723777211171461577616701069484241397536993672922498744393998512496385097872828827985649848752146461951773663282283507991280859101507170368185042325091582446297351290015966349427661088300034773528299371040171338636035525774304208949392778646831261951891120268378509069251064919202077504056735454636734958944346448659923299386453364747393416574076852861783593432208155776849877502497493816478755307714842341537497984036084910456564110784406483978705630253884695681367275110471860256600349706915028436843288508481861767664092384806796774990339767531839468565015488842734923119542908001326961387910391770450149467753933073953410241927250402591608727905794227437765500481523752378147764486822352879203336627294209042132580216967014559086689321113266306590084139627324457969566667733616608715159870461320816458379918999985290372378035732980608328228665203398438688689792150459730308091148920987858615841561688548777108661232255438405835117868632391390677562652623942059014154411408080246965107419407953015814394144588614103743767351255636410297806442431196546870402069755870052001549397834636489157079097101622754039187525436593392302565816856673821296088658821482874132979120287559987803526490269498240257524688405002134804919234045029778100796930794238787313797483048881405313229786503590562484533189903366845095245257346047469907869507094983322936419685806114610346476566527741120460079007532800702302405013401102165654624346492202562117165193197146949223315206789005784563189743788366798156977038287851408815425167579326101064179522441348196491008408673587365770206156935601744410340778761077200048280273209199229675278907074535812188045609751412210170965938290853381790777336300166731785912336217460965376
15446113436147790389603677618437100973154768413010849275363754538993611878376635253364832694721343325868442295054608318711154165682523166528431659577424319858660662306472952977161306073210287136158032132502457847412611406421784191619037614658382023241159976923962781062876241949318734713280735979384063974552146162744021922445621545522755883877812683184168952493116267721429475081936507237775481427347391673305278309362907917228410286321125439988849316040635725042398090216461276567980410035624563280417407122372762858125223179534303279741783789718563711260391369964611535244234819805273149657134219977058472057180829359574462715984449945383663265182953948671834488425221470244234793446726443476468444779846363361452199520457995580025997328417867651459260872027203966334731249294549080086645964492107828327900845975685289254058271165752312254371946951399611677316188116317223226501327865306164764781523658549264270646786129477567291966759403622502605252815126100488502631430821414455805024843839262122040339898737198752674436634078429812490257322922090078006305196437040351843344356268189442601026242498354459278771739516157969852698354507611773465907332180745350137235115159102935444131299382454312863122197893663655968461742182114206402152297991289470570767742328152709683423435507022148904902815611806691744611352331797126792229853778520568978487179247108262814078374091018282248798344228531011443236628160579634409985231161097020947931810322695064123082346110554662042159445369367527849936228315432777939392960875361356949395300548530292063469672104192409393281093280945147313020523794752075277362268298108214160240260026990606762498878779723366416775813144076567322132163379766371372484420311952664119468854120399643302070411831438329610114211883686219843142977249572327130103806960830636986215872690776254994319683848189425047018022283422013906593761310129014087780513790859352227735691950897081199375966141379516981877956542537936567937893833161803851589783026127942931019076089904892653093460494231501490467909240935204671336213580142813603005218590133966537844019323624708870455814213091043022058568003461838874879285335946912323120895493444315195677246309120198049233252435293663282390706427122446089567282525049919690603146818518354861000569953321989606419542564967918499031032853594025345381332077476856240044535323100580935805505113726581933849229180160486571568947769040867729744857329860308561222772673404671228860421178790660777116643602048845215027601332680776607271647031575766968702188259718768804256814098430028240327064274678190536000015869372434414335516199796891781663776345238394721709781009817025259053904165806486571020452337083809967786791233536725694289545197463146121068728619634843182891108590830563742035860147823086270679383014027458912869895649517511552953733822219151330119538101735069225601758220701677530431675994033291141142436060765391215661090567365448347776500666421622551869584275326262884273636809708506258829792240424099141211643671437851495007110656867991596725006247840061061183630701046686897343062601554236205011140095815824304864936110431457540526877276970106171717476777851354250460147334343708786870275334583348757328971714785473959874299693745548318839447549321280900915791702575238956372571971832766759400516364297543894224251712739889134538256859879030317602436667599198848184779262172884388418050895943107353927753780660274628683387708191731269351535628356660498202620309409274278761880646579661023473207423108282977422813042893455045610246353334196832432752284818800930596339676774434806070004764970853728113704975644198426659669460026089851939560313790668028008241487557886489368479252294691846283542235912192491538347268742014305989607396835081218232613450858789525728814722735286097826073197714499005064300131963463879859837707945791179565462236126378287575264510313216597511956078495836469868959062095981545215462003040356652059967215456178298278892878331096074179210760097447680693840263212443321737461155328396389745801093914424453865971244053247880920755676485747939310260213758915661036702933700020510496697157078173005104396991703082278726350419578457573700413648198125836676851028445371726372109850418180760286451323795246526547117052221467670272028399183308516754803506357841111107991135505173605531510924443708223565934619981355416087674904049775228693572507821086586688864722160587875736226596220791027856732595167533340808046787981405255553725327506776566959856775445004369373289052190393578249845498877772083609005941032475608157732790578737282000661604187247122583448282595887193937697174971304192177836718381603057144487442337076892201536729531992477960508297565773480274635780164396914043740053850301895443558510055760742334913190074312016461657606831305467775342981837664582370556345945593815513259557872200677135192027833742470883845623357720042067801051703520336317308022718502709932516173799522958492714684904871028471306848414265498237385957984368875729473979072695023974739127009993043144343118501257064234244478332234169529281940581040334185397304580071734895451512280588692711656307419171480065813576287294289292058904788653018642949327862536193172072264952324607724181864969815515001300710642291495913111328639115379499993694096350094409529460916502148334419332309466964412066475020516754097282608952732379165918665358676043882960346499837345580825158256252816956855077853464564254263430398753413635834112363417315408742444298772131272447460461489622145519365768328515118745456323804063267580741112248499492984653348618863914450928901390938586932113524009673533124844318422292352680597643456802438091924289394237797611627085824
16585138014640235986502723443128628828187376070083854632718156062187279942636194495930657595084930354448207613930681315738488003005150629750493958014010658426997721742000315536363411125271091245142061774203798773563931052134531871243390961487900250523773505498133705846565394716926813768410174474566271248568311003899366944102748219103302936261694783572503698974128008747280008461841054733678247130278111816937221640722965024988874285454807479666429604266624661526587002723139685927471745467919423555918810204927121599202830357200242274159125175386043045988941968539660805304584980902025316531076271970984001941330376014382235460481137239992954974159340666554897941027804189064006392599751298247456128976355512635492456001908493489481052338834528246268463030422320564432288926167327842509757315955995093193479124449075382133620127483801494092226886294027058395293183252741579429838700920515867672981044174629840211822309798403143271159128789414778154808909694633928532106501329915376036054764189284473733705164450055085347174469647793785919266880143722010250792425122986008549874331359511565275969221892049434104522092067732336021773342490801687525158140670727409935873482867785236107535791494406567490315491101231372002084597524841048158559485970958692242650476727792697046021542205656326973549951777756993129264735623850500119848152223401967756478640605404972839459886275444312399171555940122761067625769584750541548630705919977953113598511043512626747315398814946268472851847769733043079961324075093238334030759263071140069958785708007116319482649493837475708896374444196186919831356168812494936100267871188089621799005079615183336032280898895061671769205804403948192124984676456348291352804877338702573297841334427828608114466976319772579077242716311717538041334284746293752602346995466184712661294000745884013489926974258252347496417007474198173819350896158557261935144989454475388467385265258350403294057546407084440360612003377417599653934043137506954736238926238857100120328939569267423856771513548073888633731481828222129613866486796114858582835290489153634699602336040041194032205664569501212567639042865153187906991616436090404995907699644279040637403367251989288624954271324659988476024199706978335553641309170426459641738525055695325930018446719547979305961742954291310632923448821973729851981480419708936971201199058447109471429970054107522936718680899545464083948519290672046678982163983977379730155600678887975396910077922914216986482362021857198277408865297487884028389947168349619173238534781816542917010534477174059140292350858197319144194703608903463368988912351463011174272967664327663320632660121494607910611573314255321799006033725432955680770462204933817974122644454518688814861497407718733151464531700479187321849948532470281588638436676461319189978829402597574809614741880083276934578979394510795063899369503213791385523289210319146613320739689605999977516751632171383519326169900768551883982029910539704463475703169952418671317225774018745441423845807735366890061889675275424284180634967183224106687227884268298310040791539030817695499506800817957169208572858138646543883128398034994293580728127755913759231438086951715738916689137735174722543457078162578379933363884986443750801974760562116565685453127202574251341852606991603205279587542693259704411099072452596876889318507022432573739654312445472188623974002887086561122443534786290434199908669059204143423436292969274871353162792666765888830252604558526594066187128744588645828553618627513686122095887408658335549112518408988431365795641506820711411172263352065238693188028495788862009659946077193659483713245508805209473429087604242572052301882878344679467520465058608546418261569395869703489562284468626347375171321591934453228423012051031788152449747840363841610270071478792943926860977890407718819004873693114269730948821456117015061052586180000719561581532006627562817144316268487429988644147246097193402555304117878063194499879841174608425064427459890412773629786368991779000390051459658520671362920869413004251815121283532783986999528160902359240103836127998143715138977211091778134751416731993088356536291380432381707896381338346291696580170749949254928121859209321832818133516384572311681006899122607944365885593781948234918349518885797135037277678263911343281062813156268640061029488113453295486423123527410462258995393430640847453681624067777253235727261962846605301288303423664973722867415440834940045792004495357181443163152123643367934748845077403258845123778144395987875833683208950110614541951046802738793286260623384792192760086780762941503351164175370516904707013335310967876930369236794622298177880107765060729423570676269639595979395408376680915443529382562345296661203081380164223803637994881182283707592050480100658264822520793270269995543972840574759414790396908232326813855130313961176182556461409433087291758535322451237432925256233138439759083598538311882833365000791781843756481341484595536947080024943697679583518123600114594720850053383638360120159877596373117675341387906443762829426381595185496412289745868245798055984489778677486556099717702705989349589365917574646309446682518209238997143210626740786416038693633322597219629720297337847524600411416020995987417550282361432703528027185330775437087512982113860366346221728452517975854829190835555344497780096966975701980385594589473106377870429583993884970407367147273544851157559084391700598041045941738015532854537683566991570516659120166417687581989192845177140087748639600757227408221254813322864833709511543545029137492586860416890553726820310320357073822535404470139445214653101994758178788993028516203095408715084469866164072747897251310740466302976
17808156343131545691937873650792494184596895795265789906285642968129627395204802846479344863665946553698184956912617565523764015348867918583044047378943221934845504587099876212590387388510474008029268548554263042855498308529171344815011758933131768927453519156440113911570591058632960690201054320479029699316495645926177375006190916192732139206187898244425357983227136921792391324552648507823515302787585409594126458002149144619759454970941652785875034852843746390940152798636973374550643687187535333960829265348261332997844013702759672697527132063329764342682433129926009429053952956745828666255188949244437319303618928288631736534496217664361221103723313944031911333038904680427076737717060926591547287051221009688716845728973280487509951739652393327820687962229973166235436077907926822411558231934475100616259991873195925650287407569546720512921111189213986716615600564996497635886752185186776129301889491619153870633286830463343307729540597135788499873066967517434349677300241761630599332264492192081708673554822104241150788285854737268819136628309453435632555996938421146821659524742347848514255682229890473557357785102850023799812480650107185541347852235432551340516527688470258376140904487793574630457750491942019540847548628712359843503678959597237278173476169682020074582671194407641719924976960836431372185007631013901997973571385284344030563380687999795312117464228142405912282564065448252668681183333769067414518876924725415981744451545391210693623426847844772033637506043489669748249961845726698848908723234901780477034170940692481861466803865727927226086122698199957144662145094380226679065070898096397585933875571272173325706215259943104037956347452082564613783482470289270736444136509754766846317849691130686036208971941357416323582831103258141869291662297220831159048809592780903693853714561142861137114794966856922653084631069967180094258877737323867638688350681309168576078819229224993264096958240107493514822750262762533862116908254161400391174623559511882358552615053090978035750959708349568868355709224458084128757417224932284368235619901393675938580704374294768715278425017988406752588469259643770022667920584796090889204645951692328258975614176892846396620851208731312206065204461511183545850869150401633633582710424372000852372503334294263755497615953959900506345818390476723971349844800078559532558610948004081931380891934162790370194153003951907376425372225265389586903451219622978486197902476764812994345351032932042742597354741177275945914653018294943214543889655807355160778516323715136825085171916735760626781380703728754809797740064163387397735339784036022686796238173788204947554009312825681904104899685958234430171700039351897022381637813248699510818433056298381970157782533935184213022794539378344269000838791560763378778252673492074732494070804129950314052185683609807047631962007120436679601505562830750224247263751167600106710433731346740257202795888082678420644820920185123901745501179365459095033342901387292017351814485214699540466125354692526153844260892817001773270009335141495194515114665957903532799317021522717384577117023410678022819889657134683584920366328932292788618962511144739866623861169626605857433913578792753735542505522371997478212615136321070328259513842207930306539714251068996094131235265770319178321150758059138547520074363899959524127840299847223560644230922574667208354377895988561590185500008378438941011561914949042220947838089560627576324110365166947029653576657999423059865135344343537442701641153746906921921702724849071434605308117097700816289608223322783779111609720029854883561419090092032309013136576120667564735277158525584313680701828058835209453890047120428186232150772909358607533132844432223713491221772286949725005074067158614283497929613603248853292792982314452332114258483682249512930357428994470056108397418944134132221336976800941419709090075244831164943365034501510659387955116621358566797079065950948977325340498504405102584049567748443654352814445658298418651670145916571569824883710565747602402810927220291184994663723637761712641998865654626664696372346953473824301307461804132118885811303988394377847340439829020943443700895701235508389922047103281960893962554001688422573165742158304559404260854020493053820316520842752156034809103477958263468900842253577319108898529656983086613129273884725660434402931892099023742656874149813921033821862541817447515039692226512734208413372467991473650103729165607872607699350431461019534280955290830303411760337895304396335907339050535083400079544529416264896260035441512682120098748435892563822915175174374688921413581134185794697082942684249122255380622185309345659836588863364972871082035246530676335609539092207602245214325008230086432554821306635557971086462478459423328584675370930403356508871208512843946629987857270045203382398213353929339208872916095070365979443531856750293954604029884697219832286242283437437551432543663010734954371624007929281125167287427636479743817097457011443780574310371444491544586307150645224551789326141946407157287701673356467253891683847734504536077447745066706884968440170666520722481989211988618739952659411340034384460149317850901494444481767572835181551809756420992719022544476673362745298330624988807053826401489794479778339435145098652861152743437038615805441900334217039348787152254576213279653994765268217358008099640557825384441120628297181155252971392423751172675427726002662514530602483496349574528387563219029956355119182186073724511410147225473868252000922744338435697138486282738826072387452707610915095012224437001982465463567006037723626228777511817500345281439129693263109685331811485562271925218599760294988168047355595886786980859078767986868224
19121362273951235743200714548483471751278463595946619818775935345612279987767573861939123732237704779254403061124715393419925889186257435234441210905008914312757821253552987954681014319405833004485937456710486962611452922229027196990203668618309199600510465334254949258177581148054646158016778992794233903094265588144831863986679445645015342694674105947695681712763267404703107610146936792821299591307054242253384442701887018464060303621744757259880141358956015836801496740847168505029443333054829619551549959927622118921776419340682164795885783071168584678801996801684782349393590042186459176496333831826365549082738197861560639250837407676032237342779164305589458388943464974523906475344286595237538086980629628370284498152554379837922544799086333937779615437499654494984692347728263450354710614639538343018286527732150569917107987127956502536762129496413435223410606057514769925168729148758434781756270669377582990390445436456889008379710219450630719531930694176318710422758172984774212941238857896759572228179375250203411383273091498994062638089386202568419167269934798737868460500803821708906172586239886984397701116796934212153254063831210795198673270277755825105339861542364558998548812865733258559187830968154721364033289370522308029707994796788359860426783690854905734887013407075519819890741905086486387220752959178786100661386843029418318020636127539275130059655342580379056002664343031262198082601467279599240444462991586178855397038104227977363739523512735415992262125093947621320643534840160992227525952895754618230258260816186941297018281298236955667476973767053023501231363537392476743912791840811344071749836299286825387187937661347942665937013745576885527001732008720427368179350410089077146260055611112499446890351577477933239211203283896329593583999063009925379513102917181264764606825062056895241944354045098971676550010991433631574546019309867122517099802628100549374802354126954318373779181653584850042673950903835122387971173570063917646414153803303661113345706887075763594051172686993774106321875103483248663957440024627809294036002174693145744356557486060043674001192746662104677378259704217831214375974395006101299444378453444336431599220337817183542459500213295763894053916501435956016920699873537580430302847145929006249756006457611204517565100182056403592542282613363221826541706097753267855782070306216272092446361744134842445021905080598400234642033773035398299112318224453001512082894630375567923567278904020735642482446177366736181517724880191117697160779407081321722950137377439665470976521449229431741427622966060116790720998487572672618462957208970605081425973493061776170072466298066434281757388076137821824872161833434577686672228609705029978374092042691719344885930985782906594667099962289343201496907301580409877161763917168256772812495654411639583239766687105881123612397766224198668031824176180036349071666007187781068281855754527374860223159194769594990188609270992933355926211220126019211298490947753043061131976935064052516192059248560199991596441302985195982242174268011856348245894016994790046523982484644049821952343101378432121299341943930529766135253036775944031353771247704173312394221414197645172290174325551299113984223509121781378779413636283394703897649138285591274608831908381617815961348249641347279592733672737402123882915324109582292963199252738664747341911125882525944491417760424040404982119277348280310794382895646317461373542679141503612386949478671663768131613488884124707247251618642297976338755660217668272702434668965212086899400257734490860689092845956005195740912920360985717130545749823839099346696907204920435056494573340798051637304934460028097114441943090534508345921258346704497922726200814964134500117873763902049123246638125988998075520043533967636060511942884719788645417680676452828436953570780472763959212986333966737231995537188888524915587926773682261618333628843474986166665650551150264870721514146388249444245748285189206883504496180625462586016522414690224779359923122805709210313995970753902527620987720646706787291656885442176609583721013929788990119250000983827241541399622379152069435877264317054101148517410975195947440241060678373832162202074491889076580023321471425933393757439371634362247402767761944988356829347030717200748534260227649612970157636492381145018761864807113757131408888780896374440436440770176942059698655759648831447852376728342369822986563694404388168970699772546533510315943481795202550736975892142099638463462438580459816968262560463556936062927107968625993531888104641924977421233274472618767017205672428547253353189012596541911211265392643952935366357073108600891383079508922813039422468087592748306141379242138080551022656666295021442924605265788017769066809780927319132117483328581914822660671230687877073557643609665386681841814962989997242267227100989246249249921912119812175115244400869167343352704246145302510448003879524039186361273245680787881487544336116176778345895507682661769065222945877229233827315785776925865836678765358046187127853515384418131312751687517625351389927713097785168304072547052612852339371131286341256291608903628982153077350189983014804192957983861582730689143719848400100690811358360472434013986403504381966350276949430541665559626515008242102325300783827932183076965480689872493370415190888413442246489049594375593908702428145547555216077914826303805763310084031841307699752684320898365070652726498271077208515614448300289495734801909716536847386062417863108355355040293988850561239162437189037618752189841826966822584059504983882656427559169283881744082867442609164379234781806829104375863122244461816891905440245309731783522568210905345103373617586115904085550327080323297892694885400576
20531406405397187553958330837391979392070211833429322570847022265303799910864252446573238893214600731250140102883235398011588822199673934242190773417912962390440289463055951767109221653488937726476130667118239311162641264004325808241868597273714879775032178379091678897503042897820209817383528498327763567791075976555064541810377099670187630572964449605848009879185874823325660943787452819936652329220490966144086881679947655447521788856806021722660945004143271180380125436447294015825667658138932247706507315999811881953813125823052945032202988410504877924515310180683184472880878665805525624272711417898150995962860839486345020275800151645494455607236613110679318445716257514625412870441585316749103858784051909834751424445248370066359777623292673735824586789879437016814662413528587853536400422355219002950392641641745936385435058903740536426483595979603163394890751649141357966391014743949849097948019991975186904813211355113696101223181335624360506740647689806466629734660171771578987631690216097743426773745066580333867309698012356248778982192349416186247881460980891157871778650205048987891710797608013552181047138556377178565437986033536707365113879608082526275232615072405974852057415679487096142805953582350136431628872125424434856508508520486042858503040138671998603125642209625723157157636693880798771165581573042027329830005115204009310450489905224317909788091556353601074203698960546149161591461802141873206423852263286240337384247938231250526372387437455412796930304084491490277289077953082012248033539669625645634981156959840295073241335122514036762603863290635664558927030530646890182886502008085090223492256099697645790408682415294034256770631808288796998002040978202655588368415268464193697501986890217369825303037230802433356020865735285634764720061851130568207102291358193932166975862984981883888862252018886348108503146829161995941797034745715945329142213263936677541102339359769857375338372281947533023587205880770372908123403568541022730246520564175810309721690055498092427669301710271676085566020104714292173883224710414468872502369296722984951843247741442965868041702077976538187967064112752554581448193768671147700394177107147620882534998082505718835423245205152582575074795058595542032792207145568810943780083966863005345120413928751233421527390708223974864336503330396112578547503117473516129428009117092898535023653081311167028870440081196593279426565330528630586255358151192607245858645319619268107287022637119945622580913646467586824469637001186592184748094901821136903131303168702642852756149202070733432523992247561679896521791191147522829903271749994046662513993299415802889533344175064380818870307798348075681625243613855227629957139237529662990954078144263692599073904608612656194979480586298890584937288776357867384171288331477628942140042693960027532938466911947506078794745446519096670750861380978849581838511365276605154769628343971119740347760000834276184506379422659262552702651244907377377798683078687841158010392418981605305567851231865098512781547556576260978970183808260915488991525442318672863051705812805754046569984122747894620184144668875672760376360026409341223547711528788634864862293108340439023799646037595421716219004057908102175779842491473404810275001695054799008116972059815079201781234383069107573807339830911277229519515462546974067124407930511050881135402803950997017365537658423704157895199440245504384175647579325678569858277261643244842866952127024761351508351739617443787803129971987933432665484344492443368158441610695543018734208537245902324467636449322152042628324870533571542349700239531296673215039545517370009712434026225050273580685986771311024086910028716134720126292714897565711988552241915649876272737893990253931582932446023267368597541381292721815500582267926822847589025269691384013855853596093137929155886813550720517590811599261056997275532826526352026786514742474931842144970343620938690700371642795584721970431416067983931184207473241185817657953137671686366349559921406381178205096149646365945955125969735848797405379723684156841759304560482204101038185761473568376456833551002046301962609453504827923784873889579756264515361892567492491795899712719321504850292709923159267245603115623164468093980602987119359209585920705937491271159905341903327150663471118174858292755653878939631733757771987929412809446661203268637754569923151525713441878285571871025488670216150028721946346154619376330500016243763970423691581277773038672685332993498716156870894630208391783049910056058731689277409068741735642123392127433832461722312953685458096574837485643286602169887836430152045594207390426351914930471201693674647805548160464790953629335409154949329080270713992434193375646244977552567230996702207112033940056349923531521136555096305660303125903649566418584056325426138077831372132666982322838425472054769785777094831445649933195046928612766932588602086600218742759218087811029457779689301625531688742252729887565545332587261091159260872869397595864552844109636296254743617616526042906754813677185494425511414253076950061917889764536974961843300598348036719025520339526817003620077223516308721206079108844873149553546898404777061954748166127597535447965891320799897402409995084541652994586705569285991354983713249984363104976033604405362847620980469358977514701833229943863809707491310344613434670229169416452214391712091578438281905942559808077691611617611829580547420826719288316384190198706542878326422817717597475520292734184147788561132861084637288361975539642685563592924757558848468892446205931254114492706294799957691839294977379479675382341506698188825650453103405167868558244521878850190295535941921942645856700394567928227860243022932388997562525485444890624
22045429763016459608657316573336711355411880390092784992305650912115914030422419838380012078787986612604259234325392835282329355086689582358465978805720578510354756571149678264471878865437507958248893634973875101636277991469670337231898220805000042265583760871459262762627226326655717713380096797350433803120737569988816237561198569127697064873653013206939323194447060867833372927787901059192724636431058468163074095149499179784745581846849772578673585222312483554547988899479713556416937257267905557064804982150982393785959989476386370447449375514146368383566403469332532062039593193344711513085319831279586896632578834048239325164254637887309818145601268561043125266980219330207597492261023503457800527696226319776649533070439173008080148665468660382941185963811451442527694289846428198000419439894063228147415976552586636279085007180849804005310938253218167459800027956480049736669618868379603934955461643371902549915051939737291779109067358396057029341267345394181686006426648858168533539724492835745189348051463100969129214089116676573101742112076780981156923956049406900998715565995427274268199466304123308535596732783505158544827086482536229337171611058098936905296194132135083506146259664418673996839829077571969698746036447015989456996624210306225025431228228042884717845579167334914340085479479216898511128290164258935653789519302328483089116091292529146241611732881198114406383839069443726236943286938258142043442275646287495933965337770064662273988047390328060855248886308556542882814640336620466252793873298040198141282305679689213180640364766643485299081327159133780582954465244880479764900246251140947523777142714364476039499340362034541839183382547464431207400435835658063653098495394350193019445087647126086432703444548941713775332285756664698633268330061425752768850424077526590070700935685468532613783167767506709866723118786084217914025745925656415323597440425416361563483060834826278878415676471209386381046761465481906731528607764773346765200358960231643618638572412553182991806224087193429015652838499656595077654298863562303603151917452984935084916720991980850563120840497271118343153410272351869616943740138678392187994649246007729883673618584946193032778511118579788212471427382642564180558972313468888580285588813452638917391342751492355416280581365009062571362829635761596562598939268001699480505450586075958450443225142670272797148006992466738170437621932056974689908017591034817879483878271657055923063395377910460519570845806344597833784395866271981656795564400406528460121916775859755450338951071447573892856092359658737724595439329329873816461980752406279652548887590838502329032003483353403577884417914839686969278332362385263787325375726727069594012327366860232428304915045253759572282167127305160185846991376341224601830187861470705915528639905650513746307569541798162569296157697361109310084357348783388855424920466796832283410143037857649513323410217610037232071640380922223503833840877342718096693895073708218091624350966913081103248501937463477799053746186940937658659470803897341665059612448977658589232440805753452907659435695610364261636310712638440898953627741237454216010511527947337310267232110972092610375411346962080687622203800601647254600216699227358128475054261651231666928908384862880244825046655448138284352107694630526394593951176351391620514860206227001025267134597689057944044632080096557067334775447812986885264756568206338797637338048414542954858554566192246946733282748130407154933201729031392549980818341898760496343148616065730269606135245978787098399719790064051097857063300551280961117060381047571394983048505835951897911526626798549315246224782607067369874386708757554872618135050052024180750446751353799152294463907767013894721029091861804650797604404664726600100186677425803462895113995460518588122025513346005193935424687519498565072182132230924392422593647726280809307849198187923590460420529185453474344788885213207598515063902755739974272421412312422051774982010150119632160108691608184371525208985816665925781342380893939085914258891921242567172715047743680150989021873175458236325479114317334224001787054405917127690903473807342084936151154545511431247234393256320272660378141286795931454797345349299512623220536072009389263411984783512689507479315357482622126422118288600391894204981782285315363693352468495433693264222431107701864587173620259047933983708335933678000955249223406097555058550196395166853514273608754228216651294640273202431688426486691627936824532751764093238622706628444815171326455464892613299382295978043706760126492389051298891834154338196369568657723363925106033655407230671242803336981286038105597286879137309326328662022133821591234226118856018612995135116260948132594493028365849301095146011829674996026659222183735355402800686333703099592136181799076966511478152615583900287823652149537680387061737424716134327836894270155884570646076324831649269622420006937314094580880684560439906712058453943564966932363185575044126619088364819827778668532717172780631927205854201175558521299970790458072918441971840627894004862010971955986650512333505437711912623786381236320999257020054922862219388628650250232362688012816652301358501594449803553236581450975876570117906788690382591364116098735148443755331178011815269798679508739386385629837884627410933228463735744642910626033575297917716706867226416289795991694287359885112960607554430524767794116417794142556977156572816249468722085790908423303691312630262954469416833998375197133767357060384201588179321505310735022675995742328182448978504411502903291674788287158354503885481246815963266793021487150335501676725558211921723160204510350675861336824762185559524284886947283744960526697190920317668788082310094258176
23671099964605181082222033288399990216921464721328058486878095575882605230452960567755939374619844454705278700433390712472579876699525750283377481924799755604043519207782241316707189609681920353104682897598838843979122515131700268578073506589515493702324999822900498340438637028044130157593854340483613158954117650625119206519778663241363535356882515943915118344131093807666428775555201168429128118651221569856065108372972801988576648428177763462610158897225251589830361096459100285064649115112398169502499787739083278895622944691395906332983988612220459391146521686281041038832873955639935200814031183261515888356764655094749796990395874485579550588766203681448300666827827675537164029998177260709649045636708566513786942247801678106747545566251485214415807501506105863987117637294088493206003522156909817362334571550315606756329308661418766422705072527161848998223128693241881223862356249118731853516654743716184154296038914828257755720775080343043989092913917915186642519935825667177398502348953394927972009802148835903288970027734638852420333912998935238755945158797785999996548273489122457132084760145215900027926404787401426049331821604364195034576956658541722485153650747696821578281800062850534917028168309600364235604299687389427876720324841416765657360973384139054987161237525470592142407139051928922698961774578972649177198590967765392879260666412190763058630926763658438668071260606546969275012141101640672820576796291155514712528525330005323068015913759089292021097939158918129162127610168946833430005338611062577977541872599435055513705626752561110262752769748189043823157310820982573004759081587749243075268752587630023503456317767127789305409079847004224939756666272574453507186081696385175547451035878065032404232649801063533018811214714450373666895843801589319818598504732176918231014711641421672503327026099180662584534078468338733960619479613174887786861065924117900024617793533889331406042722684390250018705908685239455572909405609528296302250733155413868481594941139010935202627792105935807512081603361398695772309948503202515008490111995065478442600074886028607856716798407952957632297400657655433252307352841886549777324725583648564603395019040080424248871690316468142084792769985722172803270456271429584191448618573470632248773165687796580426733390730645240621905254858903912322277115230089369635297774954235068629127122173133438943787283026055989702456115051549260075463669200421811397424831634003014729300093820710747186963987673327199250594106040188937664262211314401972210279218181287852985440886741702872312090081179772437061944716687555995409377728439741611103181928810957899180203071574590237194325740953058242153981948554465782129723897014301249256049735865377623120632068708855814345999713973945482902563527505344896950362819652638215092307311736532370536497362984817203317004582762156157497273359453550480130525226397073362133410891925570173640788590788956838298272514441283483067142219296563730402261911266108076537490529730029415353261978795599568585339474904799007381879309575851477948192305339698378068851707750741742219368346054615381315593785489219139383358667942293304107015616651191200939469591734266545132561415504437361376362639331757745020559029069423642907570031101404366741894806567491563023972012156705983538844462774277016417011452875462488903549941816939196238920203190176155261680173187091791281600132607965133349072258440461854628937082246609231660476174041906791971243825859485275968400626622690121189876415051443030718682637724917492923578903420607951524343382608472271302642245639617392624726305491064154340419322951736769635639784390883241622306432407190515993019806635542693742705083984121191738731090383613502771114311461427921266351101748252757681679102808295137648052893025759681834914516022173704948796048409274675960049696642191816424825987534321841946325927482120430208922406175579238570793600938814634047810110822503756155720224406421506866444982840152996111730691621145775967653804166565625380409771558411977000747107193229560904654469050219733858422473578396546209795547750079313198707943001880998964497303411057396693079671604173831714871305864221403335200256052370574629094531757955013970556053075145714775806367843156217156972822001004909160358906501714214602730327243885145543199598472168797805407027323656197189509476582707119298140530032810021633481139098574909432159774363043514646681490508114672904682076756954698827373059428279008372237322366455510180306415330564826916691744812263043226125402940790328562568205404556772513648339350408542059301687183584592482730828637116468359151970562347323728992001923572724421237535423056162062504348783125497967462420364088902218895346482860482507861404796632830767867027276288320807560857825853985263643491463652402238830513959901336503538421468525607427920081893249386109695532695943023764755400600828132328263218974851467951579692645049542964289576183341766295383675395487131983440656455331509798369396466894058819310433418611140777598877390649113448307150879373487693173010972886082312432214059200529336033953840763512625002707447193014775046684791735358577454258747034291778342553536456424687619634475179931440343693928070695404288397265130350393974909152668003642382908610708802475221344686248505252678346949519064137775842272860336306877084266273025627512538746889018047988860709712960183185620768795642410945448431018910628685644676024829308521384683346214493055069615956572782331620583553720597206770933961676210754075361512194774310028805029383696629370966263599173961698491190267247341840611721073966590403337522083993803782322359221887009571261035156961578984573298517488910066226806410240159466743842474458132343943369102742385825153024
25416650052081502575075379996075323537099409194630441222079166409294518950018502226222337930937731091391531334231698534114967466793043879044242254322461520417039910089543138786209339445413713219765346277409382440616194427316979446604310533371502385484194958350640858058571555082566043467908232610741191835405796218492810237025979833945063434701187523623328500872003180360158856417030728315276023240850251068245394766927153488709605117647078324736583587815236470180923351774290634281484236298780772375535875294646576115969286886249190557572111379295280824756767595646682960781655264912290919109763864127508098338969172843500167539844097376752221248346282097450473813319700127982288954685357433568589702100661818697564938912516537233840599976283829982576835860241100048857534623604370725003112425829631184761498139991754694387374207755426770784686545299589367053286564674962068274018501318723866545532961873678896068112153726260382674129369771469461286598560861495697238782839791849814821076799487033502760953014425905170182274186276661121709379076150432534033319684045651504386797957736880261191280366499280926625369787348814186739426410664110712617136718404510911534281310693874090949000466858785488448001185514100129291805402126488580154086666128733095348701115330587900921571550803762696040065348309236239792177138218742702924373637314275958338154253959724881245762526190246021028848446965925653089131023494008621025426953353981741757435089214439870117520760683300711232993602347675137777873210491863565921086158108609979959055748041321293017876827536668358163204993278250472524611492864359856765410343176944594688314258439693646581273764056943599399729877638461083957422520612959673374884609180468089632598880273814402989484339870717747195083502579999149583378574311741537610360941307594800275672068589848694140586853007072229849549046175604753158452726304209781218443259524159946599563482754531933736518064797677063363382901316511266454903622710165930744651191157523631362618323862527774239120415375088920315184935402830112766789781172799174738306603548339545885822390083710660949516251825773995704834297732292609744463842749249058847558971444688486274332231204336610683839677318702367640120016551506481779783026812882197040817287604909358634681230920687868914808363409324827713362283442707384349457657905540614339435214847662501879114604135690051142526894790744401597909240446255404356539278737812993537339254927621587297456937548982421086660933581146671863072144348503241887232247206390999411110262519279269981933631143174213458982422701018276928475817721083259612613000868839864831594629216445316085852959350762903073337627963541088255308650266303946252249556341796523977461669486422808787498332049488340167048879099985862511288359376299463199400574611435606803485318381272520874974902537102507708196179350911396510723953572006262935811425914669606500118941142437628590485057062272124114611660185705250068009586401014900336814368958328597035482496685775048012015065121461836403946435507443481112539608554411835432285187783438212676077490430265796375643562376020545923152261190874258891057197771362568339094853639419534811869496593021286683472814816075756452498002770841535702264501969372671964964298908602558653707007066819905569985970664058091656596712828311552303888879822039389137678877474601614166666672118763870363831983666462543833226132624025118359210636075485660907191697745872712214218358235824298451249191901127102087919453855192590250513198952231917493635966326307884119101270704366763421058652044044350894441921940852538825818997770758756440782499360751042902996439677498833700830568027819829455357846258444974915209165543571183475454598852434010022176485335301097721825060221815578504846156131232062343428551383405956079759080779317726018396558095622966889082352712403233716325865814737703997174487711473143718120193045481435315879535074199570937560388131600197323381494261787840346095605160270434578484074620618070582457403960686346974411661881980552598728228248240381829176482779687734484633937104542659314522606158108249257898647941162127739259081445807670190893918934765586616078594963883910985956977606338939420326172085998212543210690338723147768849158080478725502527068092213786340994798080761796079914263096954966129022060607659574138191464938580920443519167579051201229132971012525756212474213497765301539054322040384002781608098499165221735685836711237120543004274209958980699630517373478633935915852779275942240203772890120461857601410734606379171392331282995495446830357832788678643095935309762779543190704088441848870836394123964809121102286353826828485716708935622416935107433021470325352608491391893191561966674336597618599225511199125538884766972862457099573533807548472937132494653683409910560081903559686161923917347127121695444310362857258286969128304745361593499737243810754983894716662715494168425327406722862054880832842656395288346557386990398974274464428308258105029855575027988141982331409671201130081845259796949787939617968249897461692652909141149598716566365103400284420351038606522913219598617435099287411364617577013430984044249781063608555044625737131052371940603336539592982312949585105224353284349041101497674029785737563820036697410867998087775502599881447145177747284429138881435850068420185197363203399624203869700219284057936955288564416478830129128383533102574858915365580323362820183276937910837050789291020410332901826773268185781884189964089509258260916356031167527782193760632489294103563415210918670604790824014683433288519441854527444068685485208287089946661740125694740526650107788077928908946892178378951281869564052116815801411865038194282331912626161103872400759293348434619148493083852758011553068875776
27290920186891687571622135454479030736115251297964860963720073212715427330595431414132033759509465412492253552971097622638731393495022365197000054854071717102405673740342053166989562181953668867203755763897160296500804288325968937167422998364729841010150617751021146500735720388870934113695071148073529313282527411816772594790147922287389528171757986581355833477490285413717947418976678885292924258096939892875758656640416662095014805342108468673523581109196182483386249738320461959517813310699875506636703716310352074115697629220486387811055883935670667366555994493763821859414989886126451503554307677558714085256129928751136438537793792947545239250893922935017501978130310552736381898909036811896335841181252815480681866374083119627920343789356347197939956723887846226778342892110476637044341787372901573092017807354030512061744405866886760779242418239713430801421148787738319357157415712969816933141534366435454481172178603219991457667110388082522169725495197401321322449938000600500045236325289617603654725687969730282545497240817881454114687133200327481878754322281545588624440659872723721121793620326396843134720142407869106668326900255287903464193677033915978721853073551072041921652261803880790887722088072250544418960732349326769819217943144892608880251605899815727859517906540823309217344172754636161353661322092900824707083387345128745357757440074216527008447142362533628258088064760276596314779741443669811566687273067273057325318254715393278309835933954792019811839565123384597064887874269522431251291468691269985839964219572752535053529406555709777245019168496401897438229239540737195670441991278443847571263342244050081388255661848260284591263922818016841459995621636917727992836050962951735902211565563096503399967912220398062419843892556992792105750464008903210313558417973785900915829753517244730531839978233620978402038418054071959426791359654989364132207921976873129557891576643662796496042304807960978762331270002808559838229593021389820419448237252095262401404479973297562173366960485621461417327436756980044338546261042245069204055165238976170774628868522997776179152153049900359876944464830930488740780415627859077261307946583730364000454315334109065643902447754909543021042150924759694046993534305036947734556843627966095072774547344591703259232737583299117431367396577626369655719010263198946905722720361016904083942549693779012430111981669992089527582423216851843648031479583741451682863692785391126546642685298474161527372892963279457784562516353162613909955427009176164868459142569758515789864150615085109213135734930371326518742059727462432312616959021701228189870003469684490280297169086015337500750417406013602200087819919284987288402729631367092419427884436769942691687451775268637699528141974298387083983586675287985945248689930959707721135315928284005373627804410674301572625366078738951811973468897320104121755381658211640799968079229623128981974214788152131177509059467333934400737351711334538829274874724727772239968711458054906108629938997213766763046460060728986687828561460167424249726018771463470111365739936141005196107839486074841001272760813738896331972823351579093744358655803369610128250121752462034339010835027407255484974851520444559910607275045804931414430405004120619898346129508095286224495795236226577313336064675445011049048113433369092537105025851250868660912520811462789760497771565699443168179448186636808834715579892175228333508255310054484721898706419404362564682390442242251716842747558323726870659179044387960634190875212406679624431646824533320703997056753509666294100726836625153865708960226441004697548850891658816565652204823569455802484429147346422764860414254282769090934752272074018773280201000800760846059813835452257034684771482103855408704523737897987914687176096034613544404876547956610525377844916170883774891087627195594066033738295708371498225281582759062908517931887351314210508154843022638513481262572347912767563496497609194237486363172588757574161438094555114568555331052182492201659156029071279886387879553952375716413037766498175958543598932913698186092825440783947622740647477267718473042520186084943960864707523337985578218283877924706315083520557526775406526690557605596886725460599770516345625378197565514278730702705831143726040465748870232363190621340314177234366693106939506204931624383925488623159975292100997160278233528532322561393554055934798454194982725320807144953335665327663839756201289907108353279829997514901602067850662637627378586873735219620315045234719696294703367027149433493526410411415843464863323437951202812787674586490691914015473387767808124504210232248856257504205840128328198388616999812312535190744768431378305983284705019694320927505929392316948788725382281483327112615256293187217835812642762299931282139116272875904459204717569512371746361529516809136346299436454364689347257627312412943954411690092767224203693387327501466374257491795765308133559112982882174238472827744865125192511874826291957540699587120838622479503592846741684941798540130734938698599091818988330839262060124243582794027883174969995626506913662331138205532032641710486178882806204861857305787656630839709915620840384440700887029846236508417046306226330926829024757330044973081644499568180961442611224881481689996580264113447241422747173393990381302249391456014452234566008795493577599771787264343348048549602891474720236466065005123108108327299843226104357375793609516924281273979922212078454692461016242611196288803964170229963396036339222130423403262948448311232626348241158090843282515989192441797183756342240452368334169871199874980639553577459960292007346167400840834965926743948512601763835404740859679997741352558377438836622853789805054542624899255509248290707445334755605247473351655424
29303402420111501503591682361667383432348452602895157299091189236834602934892989532677029305765270737274344715837666980614175139497407049327420958227111019348349062909903778551428349086212352292963374493577450245185154414014147793161490163643694036753469126818708223706271189752300266095822769074342245450961448410494140559723186327306671884177642805798432537031160682002406103483188111399756711267182855009394781705364870698877892858395040491159356070487200252153548001490543735520935271024722363043069018353698655986143172359431680752215414512183019321041463110125867922708539322813270968332073944808759097528997408456878235281588434600175375561515771234442761126045921247762581610891295172796488716545026532712699362783964232275196893391267090556026293338175188400378972495540672138393769377519653199503264292520308797335772831438977307291720555415498880768426015726091521531861248711002770471690737477160775089272882788711475205901019901892909075217041490792560934816777488577451694013884134427531334010734226420273050368437570342759284356876467591850587789820612854470601868760565111501976165382008040828821695316283438565126547299888908378899110779237467663852855547707854734251448359364683024490686345294051786943349407916937141930997715224525925286143199956897797300895766372729805150500747144489334136348238617062282828972087982048057056555270006254859949080995298047934527267177421408329515271543277735974416725351090220839847278543784198602979529742872865361916893408751450949762305957752473639682940676303948203127472257353218783807689000602632765373833700576896289910792385190994604078783825286601508388772746271085462587537174086531278209203782818952012623411974521808437906992963640293916753331606932041614826648703747609002105548749034989405464550481304113766085281535827645727257434846310015076772415646348304688487474069336319453756342176948983388290543917111290697439948078815099602289150601273145663991057090840345052148163513788141564776792210795340649514872642666488299995702784444373167113755786787148684397539671535839880361662168421320319669500085494210939818142546583589327175432526765214267154597737026659735510833513719190509209766031753375517437559419548730421277678420269514834760647700779240896944647895733108775092333598355206556251992835304493204946288346623215391895744629982111481957325429869798680229085925522419408918259627111722591872274917649415202446136400134897665307074365931034761508771606937988641630615271996018548450023327155351074653228283311955531680003184039812328555983741533793652207081751568783717421133533669397282454962825871793294732339631235848425353298076553596454521380031354554294393795132708720316595026866360960962949428013069671598570934147954107088985133486511102814111267814577542785817754137692460079110638998717475651921119904920205032669640516829042052889738436497533415757311563541583504311770590544533792053345692256507598242920025845288979607140544070971457869196744428584300696068400569943901574377229052839877040842064081822350292935860758181536273459282646895929425546747332730141686440462309270477222377216600517659726807239408863954329397334652792498270525276159658710661241920128358091356495270901665691315049292732455352270605125402990183201925660867681362455396492188657276436001698485609594294175505074781704631886015938137089260397552647600538015985565400388889455943185339455232899543726821274641952998437634375675587964671649774011749253759387894133362008309863284446064872579398989463705814996307114725935609720871424698215721486763809144987488259034873283642716046990006682217412338671485513764084884814156881065664047014684270512739416344306789180295471102769604901180632125485686434411436047720778942333339257796217377063974660795381883469446164850765405114304397139097754458376805489478451840143561830168829177226642603172558184574026609585323159922789321432362649188146148021561550758019464255779817636516765160507859728896768061879359573917810110693185369574208894268357475278020955593091224634563753130310874641908780637546399552301751207924920801822100959910362006701182438569563170454163667147476655673335451203241794801232667493422098075780296753842310224007010673761317451637728202373608006543827661142349128160867700404845991001449236956128217642269396688168541493452450142600161279030434323040513935457483095970816424252070027066713862028517279701203134454448974427032173179328958667288336011313816321043941565913384856142260134672516208346912408157664124970434828200834850672890239905740107326238184460824818967675331196568235216961294777025559605265584087169790454350539846379666450843513808427478215880119193774475573965761100522232679148536075141588396521612178520582606017189079488158702474322052510799561852326649958713328585855379676207032493060829504294066808480720340252548681634300917774148342492282819780967130608523890685245769909867369905886450077431249797586061986543903625037209286158196051617642409646281328911176170910789590397813769246240098320512531538761975094464008190064695251802971209554515587151194249277556224401956428804051619137755909640414616646888331544164187483524776429607246802219390277845040428083110653539923126201007579076719859398715865885905837901463047927116333639530646551574583933028905050907502657932756884870973712703782132473316992264500840955996695916491163167740156592783952703455444784544522660511337103032483730246036645012245415375234772584450629234972425962399266573367396313293246653061990911845818507672639903470920280334423866865544656742321924598088831572560251399027998830283878944807583050907540495184388177269997159897656883104886244722228920128831115776259257656883861028350591869017545074426742308533094604120774172646007997888385253376
31464288763976537907845275570245363967957208101410193879093087073487954541627751825629541049673855517294779683588298231669237054539400288415282952902605992165595614197570830846302753353138384402377076093928927711534354918225202213234793174868838521121592978558007085446171667523284995913414098846615034230771048169965879225909555022174126876286418926318486728652786015530347501942771156069489964312266270079315090044400306849737303431049664489531302861790398967400610559192011149330022628096019739187455118324989872024909888614362556494269471219227465387602302179495262292912158032853246380943127315201832324557379570247761461697153919384897018475306968410037301955076841388332950297827277544560896975298475767363329481759291472713929582269072671484800846400891275624566560218607673168064906361653297022282070895404825925094559060478932038626020529270130846106248271734786194720555971305869763635326552822631768985609627999289265997314936672918793243089699326207283583781311766387292147202357831824878690397839003855732975680650028809962659178287205254750537668914113479157110604940777802094895267421802970542205478899678436225910921688604991480128014320076499858526383983404350961482185436026042231898466227407928982063011377926052127270336368885015036552031121446916162255446097018932764841463266752286769184108022431871693086384369794932760039561726773328584730590775015061412858740436819794596382520702734331163760632014586654113140428745038909270341492100774561453811065265126360505444310765523207986385079503458394922027614566119842549196729652731808004694664239530106474587647012960289134557711184264932826378512149702604503058625924971477628497401923351721395802733398626488119896845367134294870070826437704061407547871222969193325559631754309747764044182001135557013899919535833097672811204609438075258001113608996167615524292208361882119723018500645332178288788867511182084463401980612220805703627142021724147471448760407045789082944209545128273333647021288381559711444066464415370912045099931180070993380953995388128144214588027253594511472916392503680530192098966709995961086606260668172628281689277809986965401064141277961034759948781172641162382977548111346250348857254635059426982837465627430270956465656108342020742258602230033358048046314402887606773390614778129274633471333155535639011656835197470008201697229981717421971459523170769024893958920500867578944045106332872007843760033638865200159549778432723029833417233006978955739176395261076950560420142335394258517504411767893592976403156715778281389268748840153760453585646580690205268496589744051043834982503773722436871947430667262426378121134350290837719641863816318769426560076983413446601616815422466750115254510125021330550625408128814018227538689910931875365642176984580281996659389449236391441816288435967169372390831727526232679397964318310042532219687769701336206059573431771768032418560844867108996108906045144407212143637247730770469891215117278624410465777609944767160954056734204454148277587262081953769480383140815647503885445499865681386332939009583199561836678312797234177018067359334322105766168682911299273346939278264089499790930827823786510655461775659202890145423885531138281866425328644030841986228456553945602088933955414365329819412469608773662548165850616111264682999036483529327999395117363933270539313508389384510079144970630912665682150684856473758803466756720939900890004833156055559464694684783007053458984789436563441162244014570275022054935760231748525905731455770516263593541354630003361688240614424940798334673764288526746100434689319187399292609119484736312689085226592338625609911182710497597177612768843404458236142231383830033924000827127018353031691891997837976991708339060224241790510676916666749167916972214634333038573316665533883532131875355204586441643205565805687531904501382256868699754490126610811850643994800680773364939505162507363568752164155245490839184402177503823931420880430023362071641761246467288416850372254341342763096725161488729300989057127968748773337510217730425708225038480963374953939921265740391507716804005208206302977575627854546450709526676604357460461260107155538831839462909281842772551589795226059731921188299136229631945941164526067232878990407373448816639876516259850055384872816983690332681320389079321499333648962599317873384557274440311501533726658955536173916871478145575506638342711900584483921888028583637286716210880536256555175434787042712981772958691401133254081448168000485753196219977753903442757125118638505491050884276793548186970910430751241414497662821507158807279422321056391285097665178588262183065800152137390036382851440320855230107031239384948460814847433443237622989469461355892252330183138351115985303988927569977562496511596251873826369701241718035770478374128887695973743068470726402414893727127315947326976672242066809568415688061314240460835478927303642672331952402871305305360829225243025971392259688994408714534427665166789239381013525511513353308922230235739086956073961442202772948312606462229287809839772356456351004557675061595166551793984154276997593902651910005032588524123127337684077974594690641036547591224037863392718692785033215365101200498603700056725789114346852068595661417767800717094071910280565265349861311142302194932187003824291550354084234759213566446909917318934610998620509018604279023417625796011346573219610933697981466613737980385688122770706775873688975011764703355986288894640642229143053212672707017242571543906749737939566366108140677306756752371201378364848049872764875612797343082483954641313142368926749632687090875291098878615992889554112947386653148177785922090943329754991195339720556454044681437241555791213388443096743680224918467936217186040742295764593197976429015533971262930374648397824
33784522808294873306374930100577897234498250180755758547931046780077778351556466174270793354959680228252560283134242208328501159629523145549151987325750252381216344834900000282104582041620924992621511620882042167347044088558499467207563763846417634430561770582467417731896220103573593983901800562880723080770542188411025177791833668537607437751201804373333544943435518997247654089874644732642825030347690408640409454998626462996626106896724983577370039915242892944448120540490017709954874653093881895142336668410449969553317236422484007459947574448802556180962928810418333749922837972096693395272363689038368312400732418167523799608185009088282669837803220503832509282973732467314372090404227651058797333068314868501068457196354859500979873152149068642849091236833514808837578533641727873871107150814800318919445729291007213519218074374800726341736959955683416786317089356972969268938924056261912244403663404984110955111719918327175578119205624316460714009150133379677334602513153352960557936195444330493606506937658397758164288803440061855037984444966098226981600548306453141923518854169200083865530454498958605979896534237126677269115443883567377113849537060777629861490464973530918035533584837897579690109819388457262801119867072548254331113820132891614804567247177279235242646146789829454235838871598951714811139819030827468542542788701607722233320666183469119963087362245668914961010973443009225111581071722531196383718735068593500506328840109390906982831167269428215184969159821919597336171795725657632482432428431271690268642594488341367306232159138109778649343620629428937949751564132494907378240257829072233138950027835616664782579612561536797994720440785525069052903626924448572369436352727426743692188407781267948458614268052337195024820640868425144721598487263059360892955858663654774458044975246542575386320554767824502784232115475359304380259668664150201697357352350991767855303907778604606962210890313133730838379922000328021439802847224242523240713210353645932530865599478591456735849170367563900882357469868136301514706795791836281305318173886401859201751414903706342289765628299663136638055030956938129645963502596791572464074806442888580594578499060124677945142624907481163476946717038334283569609658183127902967638585438166485451354329263434009763855193376349882652740440714136512729381967486998846791785343616316751320212624351551796272340857879672547797842986412131940860701205537696477309440070113147887340139835921946588664998530905373721099103345837545850899712723019705131160396714451357621438498680405824583189892119499769664183929938009557060956478068610083612636609688636779894785909500490230339023576255480893716449510051105750771900146640740790778848105587925866871504335450064977190888406639935534389394845298046754051865527414733949438353913811418145495646027866899991088085025177429029141666063146314549604673131646229292557758833996653022590651088785679557982143365864008372777345266330401603124090704448740480454830658110457984173786095943005107043077925542125838242198563005338078368486763978603430618177282515761684144767386518527366498443648886879080856111973417165460527013204761685725342478537790962558591313650819068103371627567481656738041122986548725820938305183750155502155305042657535726069198827628088295054833127670167224067326603564784215043781723167950205857026089727505125662596434254680600639311985770452884906268176013012921798773064961734442011037785915836997871561605264568137769678362906951394064324915331345373209458292593888739850654705263196683516643895888770112108770630665630502457596314262425674574708545812716092710980288039145801566953941107186383607473356207182249503704731538525496873366065724781919769553471546944858535623229159960123976451251709652026298788249861175394179950037594842452438020539015645101435150960081197507995011434202894580737084054631298551929490034600761922848072971743098144000712501441150666422527675098707064619189153417043395354299821042991039455465297056677563323602755086235204625365722881180788804504440246044621019803500239367046292476687969951208002764935527438685750485912677573267913820905943681308795623717002134179392632388680761160825815868886007748561992829488483535394903526178119931291669981549542561703617056435454360516085836064407765298420347376927021677099354523735581290008650785002460304343346279482805317606382027578211813240090432386725335158836793075241235646211686027988232294202957375419181705935904469600470300005522923068818715705745915113883125282594992160177225301710038400855463646667060521702083126785871400677403185318471026998646381435294167375478676265149267851142240015063438202175198461326809467060565774137272228573260164479093227171630495862265564791595594078354996638565744062309617388621890694789706285766004338447114657933925995331842505507155856458646985635851313689170576389592087707316576684833944906540218195839013750464953549802096737942529138945691671992249542116542093851402880982278590967470437216309463237856476003379035784948262599158322317766220504017990333836506482907063018040480797720644740285887540781333434748149165820199528789622311861263704808084360597509897204566708588967960446352057652271478133508792078609200424350441096752531818499767804082372967082345690029795389784784982252080002175642250253785722038950389246837444608492809380235958675194224974596519213685080030122517404988438954627295773993637822654040275639156722387011651487913504252347711638220004929549526751991714006752099952402815370093076786082553225525463618136903740103907296839242383089072992766977688821040889490800800863782828960984579758132267451384771757719188011849937260908423922689643855226880111217767665176686013119356999533970968221775013204000145970637822444059974038219390976
36275855143148139593835928274067014830654706873893017881759073595870040589067953228955823526881486494740640411082517665628432826326719346552163936524375958160267581441638505160507488480127695918144608429443080445612128360657220748622477702388757726659236596889888107536016190352716579722510145973271774295185461294853405836112127775560182022806941883619914337507950430994491347082183060966579899288598384453560858608317071095872665821865308463492735351781545709273208455622517617469679250067704391989330709313961119730968923314686917212780873715533033051289609609257280731883682907903415564670608500764259426397740964245619127742154703056987909210939232614136859317507997147643542154269765328295359108579655107923510657391178879992991845858785677170484473987781380034175172272894455714249802004533015326780632347366437936312241282674232966191538701490711030471106692329768527143141526426860768144275033923336749689987960040268881752534017970336484615280284527216904938025787560788265199585278468172015914663871097509982297768834351468509490901309007221525928402389787177971107579490002974026902670727640941260819685351412003050846969999355582111279129120657585194971145873639219287199651868328197102891541643872230472665906121795313115502933506053181098964874561439514790657406763956240683222840114156160760210749241084805190598302172515538510867403291085684733251516840237009013276850336811508712285420135663475225468701956358495524350348210452322861751992759474227924951209773283050935463625086645119823029901208643660543123348615349410004006466047685120412261639182475617407055912549064818478059519022752351618299838369448333065809808443596617037833721970668459133680442590692870072920290154591229454566598430875522714440010690472690941467248994640198911758900833131909478125985476692432998880032889823195257474588965337125095778131434470109890926540631206225080280980488379493164589025938586012526698854407420437488143306327106653609938339085015378951503922845793546019468645872565082996239706367774379354813369977719116237711869015237738721812998149436929134301096279748233286432330581282262986314919306436752079212781205325515707719565403857142434136356393722092000557364230014008306655717378949903552931561765905345568280557767267701156721304206660773616210147475684607794641461739479410960801763045812162198838040108143071050704724319511339062042959939673489444373995183111495769765908429442353045116304612793301979298934348255837891651743733247531656350694618511324109289628689580291184975474323604738607891719675076920543148178354502754908646800720403126588728063487946005388323024942736252928117713950556555308818403313147563144816250635726180622050709471399896489402082745512924112671390238770060629527462913926018091937683547446522545332929482009018435344661906973410911571192350020160025656504159601098569381121673041622963370260207297614363313197595767679426371598905420321513667260377092319686137218652147371203990985251336235517986206220450643549402124215643681303677749738345738386391707238811530630004033922074243144564619122883837259482914413656116584297955376717013113945885151885186754496075159752897916043995929848521068377543989986565279294471934156437192446165582585156327850193199468547129167873167779500217854705899396045119565226702520190225555067966115376305227518427292217912378098676799599016598305503892516828667870417706228125945318460345365542387783951734083229968553940382192328581294675765145394821097737281043932141971007916524345403884481141687786780303470823487207029911951130074121292355863368544429818855949131814158482277978249333339781641079307197796376443182848418887042652141525301590482531013199606693283314376431031220535582004204348674031462055054985571285740900057804885123356864395706214530698537595954707873433420512121935751644009592936200338818160261872013200351897261126154637329349142045218828637147564534660550339698597023745223340420550965103605894026991032008014879016089574781120567274830338798222960724497719465907453427953517595444707377085886960159192550468602408891576356418334267271892218916474416485889552764722244583426734357300809780920253111531365673788313183557442533468877345806808019087557809885298288892272502526243915872401995052176569274325574515703329295586956362175391289768111215235770456199955538494348034161669667573571673219756395481158363575952332647455006762050795871134760460747914920093602777154445807399594113188078476844929519049692278561531185757393489725085327225066174930034663754062335334394058717086951644588696337981085290786321154684815192789731787265101420679811133332497254307766726046882494750029277220003610914878363427041857262079812794126709092797286634321571609312889681173480311718033056056493010207450773381498227600985760952126523702654735556118220347109769708628057143983574366189794928740789353406183739691942870822079195009473141064003414958171834785320072639778190422861244824696412826567737215380728424784514384766725941561631922717605605476958394080436047091619228851237870258209209570476269867979388744454667473730757581540125890575169497423347378662665931859498086509573409010125345630071293844006882483958809994924127225912529703134674249845926522594246823616638431623991413977625531881795923289819411131116174305994291156009329998078158964344087259589995409224005422035034818867818291670678489620204553263593129726781904033142054165804555420440091937726534250904917691524577884560010147588176648376206343500353020378630496348118723312158218975318060338514952794663783958503611591370435077551196167989722753430562008854260434883140138950308447607505370419686505716152957087015642685248813374999714013179021702184448288714015036122002066314386773137381494739195287200830778905914473094489190334578739380224
38950902868563664509692008781729888402502236072959227001224604011379736249059858560005715569175840340694181641923852332804095569201526851103008616350703661776753397225213478079676723446311299968065946550795988501850299502494214045396544695562233878517182129992101183741630169922857103666289457995847090179428751629017297795079281146251052466940735377980042543479538310277611272968240317784158704103875931726619679617100473488819995071312115391913327067371198539414388561472345122054027662662649037347434944357986401365012961007228056476988331455630096040743990974091839898332840641369837444239409130800521310509504132428609866231150192550588573582100292380263599509212431991897574254546507211655817699981332924872707185750643492113952171789539379430111158063320932711132431811811918638105805195986136145197392224534640666118701788386730502919433098705227580914965679120772467832470291675721683781274970082505477778359106751677422543406193077517874884558990979492857151790416094557302753198420945962946313968213299141250250614019326899654459321682937401670422426075416043446509671701820783097071098737568591486469388684331205131309990311981341560746623075146391606683713797731448835373734049263726187890279598863327170668672181829265659291242500140257714204868923531264676995462097840311327386698542634404275505916514529014464037688626019996989001009431913946065770437142802802650220325497623003708921238225073627338773575293532739382211779302526213014614484541192650773128847092971569579729619086186488999478683330308848637610094999233149895025750161835492169121444421021238270178366010417347686860531936052807526922620229716639019842135755318032698433057637494425809467498260457847735892445357200028688948864528643821676356248217367646593679321171767133403234817228802176115645883747541242495215236472298748713268914789291357475256985545759672267763904787361483437855446422101007794741352921680657071304476630134059683396972109058238889671376736674904063439029659597632830372203330018103775093807456558476908905251059462963228748759822870453368794917219885032861623200084616482269751365090916997317773468494506213118169724175519137749747457037224864752657371178909221213774273284967596824739661318502168645548815677691866761835882640763388936304843038518812011920559717850586422142940554174835535496877555226146600764207866302698362945287176249263993160456971983942520446880126081351463196730570046407461515135207080293802235248008352474596430457688917774084187736023347333313763821253432671651406687195492518287880875878413780004302995728641106668635369177290167158683768729534945839171793103211119769962455063980841512447555658226707632270177102445788745674183408315000689941788996565974952313360067592760416939406287291277667094168026570019660282902389275738639216603344656948551691954779765493062720301573793670690291076136377643868609468382338358557312511469752002787519514310502419508751525086382035156184084669843539873378356583326867962376093873986820106708870964779815697085644912266875877631048509075496490892400510845871697464309822870571559116345819355009129980736365666732792800174560279717464353255942874167997658879053964127055662132804448412338484715727697940772358584854451008390791008444749753625102675737372218593727709279401069985068264606537534449614470090380694348421376371114357442242331850878787930550870827058790119564534672503527284112627967872104467430208455652882490314246570588362448009686677437555811860405638110420912322252176995407290374372939466369446616006136035541935716963280965804648251651421990435680298738376414045350957786228040471507041151054208639218210022693784026811289227276238883471914813890249513766928634527314478072938822078095953013986523500381528627606033459219469122788463664579166248558327551752412983053407562083244821404381049858992813267432029403906773108297923607022201574392073836512468355539994260100604130542591791178517167420830535320355306141629692055939928278813875345372864798669591037271741889807002542783163774858925862570148894190218456069259146739507369205254035015175896343182225055070782543606894718648137105752382741919171639210842352974517364011784452387596215154662053408518880794032901138491685415499267616367573750097735469428563044662676698750339209440716173674930609251389324273282112759685452368621823471891565499745920502597713184919604338938898220193933087918616755539323906646926546570498119296673280170946392879954229838782616386935859333821374591628026507143138377810279413190078492242513579351651926541648043425460466535725930997628474870881059610208958257728809970985731726279942800315413301792087919426566860175608326470327802684286814740933224223144149108417543812987265302330237552973991210332209387302393051823398811800860554757049595162764310239267729398264032275139557255162238615357153765992274336972085183526136341535967936220295694321923387765072327519416309587816223220047929140062364316980086554655837817195584193276771282453662127000504069115428879737453696032038203919505125900201575468924907657801446556760428064875824538557135730504723502935806905272508314550869598377477187133299145652430023085463180302103921466879583384819263109159379707898003646675396863340323796296335626320443823004674733791729707068974775138530584155220244319440526553154358900936771217727323162851810006441788078314640827399038328762363504274355639906703423286738905691097781764652431199942183299765119972667469598597526733329837995261674437470439596745259879770854336937748087419149425088019102865016188854345608220705633619843402826799095322522833908732277749522456119644117637896691252524229834155848502405605902893391318767107788923989202801039114289957465119249064385216178611230006208745109951971223894857777330728475747578133745893742347288576
41823213492538381390760763187518668248619197125057837477924956544856594756704450815402550485672064984149752022386632072931724611144765664688320883608120773479650273534797258742656102363585861299522271201738193345859767962754429938550504704710517710233633555597923830623297123386398525781998729940432239034352315052184004662039605562584415837772644904653620316233318771955360274599880252887902205249972028401840084146361083995149225115541680854211490655227721604776941465840051976911794289053849474033278918876282827568865106535541930545576465043884834392083631185560908915951878869365779115961121452788006332097345336489433107551431213367220187271602581691317538937827261530456054601252206946272471757389441180704075581445802752396164620786061357389115635381662525786632602439170554263419323176126831303256576767215242620022869858774430027601149420449723101066742837196536945899417977409701417259657403421934862199726775010556830741375684927950216371150160409920207033134886243088914730739494340438059411574306025840983677734754232036487244121797639955347420022624722384049118541326754231763757490616160996747792512726078748417810948507009174741403085862548175590778861444270132934656868919747339214021875528353497242942539368175415365587941269326920573880406667633376655303878312657922345396054846506407011935121321102106491538210190046765427444451805264484259697973142990429789959606301691431666775855404129079153031004658679178987972709062579943770124695288079999976534378464624390700681794624427093902456176488204217619487378405289880969550357505737536549610176210141968322959923525365125906531808394627592914278823352315242984314867037970802129707153249580395558490308050900836503051424545660290337324282441714917333101495634713085332084621186055059123640680151560673917582846153176889232038719282357383916303017568354277842918470528645625966431031527743851373908697689601010021763797894353117869260966796205518608975527348457320347623478817828479184102035419486461381366132202472512700490510589509899758829806115765694597681622609946837515916799097608364255139234459573056012786490779211142532589191680097635252836287177798815114321090058511462177671634576687017516497482121275579195492572269270763509427194826804661126818634215343217988889381984212891467992691534545814024381394979363258722784434052453183383595960348279007476350686664829694198673632593771555340615790361687940292477926353118189312374471080857012381667970473580753308084903528053395331175669236139472257856729737870763120174508475085581164782568760405614368555026482335310915759104891336923462230007274845015417093531775992527998881946911916825466630357116805865658588501222783176068898869802554685607379354970995879681635260258545813859279518604393204501556156756611773373748023967474889645419713606376452592167877811350918813424643013675286566648479181597004080303146924522318502494744603552436300724287731352970279740046509033603989433223953168240298258005639903799194128870410249834373337457746703319064972571852313755279629162825167204155836405512254178059305304204110164421808108988289022006762168950134128645061873499873141780379320016440548948288672525198836215314408005178673578228684061579874245956275683677000268167242210265003680968359233526590959755905521005830513318851203138254564391877211638811604060460185310831072621256051575885755458877366634493858214401544965180032476859375656406849577060619872949156007681445889293048099026142700300823528792783244567263804639128315019463589476842878861116267341056101994926885222901045247564641406608860204117918648209189615634356133531498255821790394376005507150718763782305054410418598687139290598857265039137048727215062915188025507645335858546219036256187254718527244513919119907342392214564941362958160126255995808090312825046925126656534373294350066629886120663867048172491283257962029216677926983417052359575570819793941789953102630736619547448132961755954589774730744591867880703248624522791069849289809028879453694212120418577918260632308107748398356845001599388167978270186548762295471890897940554834620363412295010202497479826674177217550132644337654412616455319788659310099953685395401498715035663275330448480202223455584455738906872381481062650892884462661213721521275095943238487743363592604188020775451018047579321410221158331292549117100914862269912656217018265293404425256250566799501387347555687918649755755249876634108627595202179564982815011697142667783609672458800799372104787644201932311300222430874410543068364538963646381037811477017943182113685129377961322313491738282197993432918495860793594515595606661750494517026339653980098951373446934502910644773837256732138220599079727639559781678600227247356861134495980720483589946742074153471993955029782766062488736834486309168528127358413208188430444448703218061710335506776824696145013816488797382042728387033517173442695964640568461567128044442623463672170479697085416802273314535466712308874034990083765136434568933652614367725240888091422671871570172692982263514213383061432081611677085667519293055694461561400558173534297247487714254657962661379098294721016463347979795430897955790481883020147343102421935673400039451975929481164703474266989641539892163966918005785831859921495759002572609188246291783226668867235682110611684257281709640704394279842484035993237107517951518018257281031017287916312590971211851630578421218110923546947107608523312754331840202660428590832138691030798952262656196534341842656773667783683758691079806659177837781848205837948956222560992057126108409993523697289861610046377945614016693155535962811245438446857162866637103385764789050211146321718271240663669997916872158759748483851163971893647673043393479558867903275458256331893750109299110910134340376974051682244797944308910831899418163677048602624
44907333541019572024523118612598348879323262202475158519042702575595057872492673247448621852737608921927485825665111155206611011436271412855010057062675300528330511587352136072539509956607393892360053808777039693648130100544705666299426837756452678170565160135320144506526110158864609864074342651923123689149453422754708349442909637009936815624487837227084366555820507772788587826016292917437381398727341725171576907627233291568736127748335148426924057903168931277400242672331101944075887041463568469933543054967953613670705101427113332488588707693142126093809309727452802512033113419869391153202061802123804349753327160057661628261924851452185690632139468344299222293666392636915619392137370516073825767824051709907719055476804502078170527093835658904900081625256590585925360901839981894840543979897098899013878025718011425895203875078902396828523210228582834340799750344626773430379602283595063769621965372180547523279701472910695904000203786573907553434216440310794215881192686798697164693521939638871604162063720688948085143197298577048056072276084550017328787190680142529048156408468813735705067859592525632800588043007693777441937086108071568877733281091346715172267813886885980939248018417626810575005715247846416093348376478046604022890931962949301474613166423613145005573707359827195917933291829492681606936981465514466478375156200555364345340064780131427391371657556897215164556700052123055267180789814581215886070762679077368290691075918969551127026067224632723980731312112745838708203625742761842573022510311111241315633874168040987889328062712960045097092839244366045209365026060556869117459665943416507219430888763624981448723668246337494843316051981161614882052896149029912218157455651431168150308458149025253615499944865961140186874663802547845785426537354458934630899623536438655213680862388426159465420548766969258064028718198674817418562801189579005631066696774333010940048250076081027264019761149830067325506494446736209548211080514958283751313431998186933630402907973096887846535071675033103076124308612073941611632483957857372132895307559072969602982585627424423533931829353464066298117273659374467136167677512045889895761094364123560152983433386065283956544305829612024647126858608760484997368536600930012135619571435669419696745961489289156510226972581362104059516805947779586468578288792800908818143392776748566423163146712498246044641942120870749740026160428728448342122134792679846270349394659957882750778680741868317118261076087872289647150033083660548483319416395068928107928341850475973679944203343351932882379511020522294291630631429996883243118825356171258129587756176423890571637872739512829330784370511246151778568377437828732622133333587983814056466500582945843583652725693760827269632123093814705918594274249602202836971232204682071676533268270236963865235369063470802491876052559141795835603273994394120143451676584597577655621032549833183509229763760295985867784454574424907706613675356916721854998392592531233663405361285455725258848468151799677623810674430214238647335488026895268162300331455501019257508996116243212144323076249128716951622713184335999384644611051023875098486332585015296760915745684360508949184960750413787873913400502494543716076838189294790383787899736575769680129694083729630216588896470770005839584442263980146459688009091600936244325655029762872223933990129645482032940642438176635928897959330424560082223808811487950966698540951075030948433720126819536368063086705291604508079599058291928282397298739045430066452478509746023570857209042362832485876414895626589621838123210130586280411749591453092471883698498658907837002971495082057808334637368047062110757852947229683052078774446086336780094828747811537628869848023216293240634167024050118069509197784531208990359505515740889650183229915246449496478271087618239499772329437695456113904695198226657109504811773857048539713043553274177277886722361694069293186336336471012831750360924085891138806950353793320580820592812910887844651280693285746860421151497439294241900943753784757354902609968769006222469688292082415073483689191697287357860508280928253344496334899271524236973056320884441347484378342141305892471980566442616049310303129953870363302054836491141132917026700032228000991559111515400081976323867894296560867818013755466382670541064739355693118790034857966605525916282404795807146132017455962744318150996330461941094966287345752361796500112882778408209121934880174319314271303694199087009955335170461849404218045824260036644532803491439056296763744734866538708301380393091112446179968175622340518872057900197801927388904964262692023143374527015613860996108120307748212216620363809028476083522722372406170239477124134536621989771391455253468423659480884031482897559092274722190652921555701954268117315709643314865126899905937041119481267796250600206698512110166992903821882576560984024229946678947684724550603484319961964881375581228554068908903462921073196095837740365813657716492363890382862903473893133569906882018664058450333250971357767625400127853592787361839013663646423280811904743636123327868824853075637721387241324153087358449033788489288972261119237008343378913007636931548348027567226642836594925201162352878574520696149980901145615190921654629419353079686734082226732700558016034949655147332359610125748191448320958853235241498260063490809375700492438235525103302794640783594945060234648173774724883623536955100099783358734000481138247741850275928382507179793391551686688773805164001222636496135884131792957880257806627566760673308789562668099842168185962915239861878774579916967084075273500406542844789608137123887992135507660229748943836612667376076951994097338512121509914831583347704169986466968945891245537838046122589667144616559026710225946721408965853963797759233700336097038643605324713518144946176
48218882227310734085310826109259700505072915442915934022926050197408935325395842399351486574444739597229092226183802464954293604278066926597995546208821059509037767186656617916824769732873783969869143841374405809978144428348175655675481902927165566428547618154550738786380925425604215964499576750676931937764943126751683647718859177510227462533389269410024669947531309832560195858690929010887495308853167182657035701751944986562538551183194395235236168642430223649926386545031431733361988946319055638455331678623822774690174230972453672681015698184237258763204803334936115043182217151849437898608645279973140756323271454909053541904769139749198912246053145762398106947382816077461946900203351476492930998601597794066633130307221255752826612344776519548789256182051896043752725742599947115893061882126930304135553192647976498093557041679088803488630326977173989480180161553784180302370531168381929049390204889189979954965029121698617209070507710167574207231833024630099308248921602818693814441650648451859897554780291056777653582963968565992184262699998856313825843565828732039720140445866593107692213489602654369730057633571671562623955580930925827489318966224527332565479316699397482853737400484128205338109125500647222887934840026976456560544647038957083384877031010105934988661202706983077669727047079323768943283765531835696334877396775069226725150007057296477806934965447046199591311571265387504435035508593269056541647396912103660065566398077756842027594225117323758777158979921853010502956364868446455641958043414511391717152875765378812843049024191800107261674722307584379106770064964069867101910411956514721253500890742995792432718714014793303032652771862731286002241021575541953775684272350366810700162910015562039639169505472276550177374502370734499780914602836980871003678928536928972113244798934841700953715524960126522105596904667027092837874593607847931298407826060127243550179362684699380986262307909062873780132145071084408487142381529142166879044846869433202809275760261937195285061999940320779357337725979867182488943762942560513885821777939519998130603077331826884947472488341645247265397369184923895041816738421627935788377687330770151640038150805736234178577819678301448556938949521960585540199127690093351326842294003433981366205535554143095374712584193509734017343379777022901924736970495180805903250970853654430500592353000657470304774624359766187294103215306459506123559997043065919982364556139479036787999238080087359990372071546794776564787192924910021925319823734656815472331846639825607247279281116117602687051753623403709705360262125916581727781442986672776360438385684940654059566852142804382237037109343437255523700853698814669965297748377962204987467179330829333382729974268990416092243735659745125451055011548724100548587465502982868982059569469165562492879915367524311238370737856772779735156263559112508337704944871803893337928171342821253356927087375069310645553103093588144151931024641079611940686637579372575610715074678024215110678826332919294734402459393368397315961299653928686293557485932834239251416835186263902635464411137030546950415091814377784208131182261696932715796894388904959811966964681445381152666183069517709346484856673591007919748082361526245500386079492279986450546354282025861871605676754671748754686050438548731959412545352944172363089938481652360709205819017403536351408913495299588296478829161327885837084582449474344625005454618945998491427672592076720298678394066009957876392011430039057398418462640735540098417125484375497125719212880695961023191395968610863963451936648382350990918687477358098321201071141816077254751465306549415780794675929945411788646427045882175627280950265425332915737308312642796421867345675051057050717401417124225643370164813939299326233813868209683564370463223408088091872460373985672296154388595160013404255979184307932370182264330837942814288019821484056282457444134026977692848287549799863041091037651286310284048012056759485359467042743696227463775294775544622387110880617040799128571416573510252265650543770226615775981952891452017119327470466942130983481282899131007159253594996058662705467657732841189345668894212596901854724812282304647748118118824749577799751491023082019639899754689549305352568550489002365088111007514727557028463137936989851563699348753920137866514153860701416643948485828340624556312640026967965276760217087107287511393889658593136259607681948022960386218279159796647595058464098859467265905204147744463057101698397817056555197007492048731340692925788568685993669218128124995488076150380861154684243882789872391997802305278373690077748080217178152882503585643590000453006718213032551849823577862064265593008501790684074491773890095643204181873567546535759313096919849904886844514084943742148333976212871616056267292687671496466266960794818417378579827035237411256795905144764768870410633411523142476029396715902565554471359782352160217407806832867694116789501613454494148427184080618185685731431272317993949620427447008873148163703438305835461166665282011349924455145170525564633024615038800346103454354822030477967256925540309724311275492407351090119345538739573826826922892375957404810486355306836218100761968934639631699972256372209830270361256544702325682890780236682851202053097951457609955188090466067636542000349732450421348096501756507422253398977466300948028329220066018131141892402025586156140998107142061640124299500587243965611892007434259726498196410244726628924452187854255480505880215291931941449913179524026984703190878522822287130047820251407831143780110591806006691223484324878005402945521625386055698542737400645606647277650261062890017198043449894160398502513487550796165585348956571901693675098551712623289430084660265556803413455869943502727484772482845988805835966706241150247314183267294005250411603400065024
51774630553993810231540618033503334110010713480674322876440274956081430290188565339896201611555806482333790832806816617975719291289065784959405852530135809326846756623888025383682508541355889561589255549555721161322130198630007435597387890528005694446981885188122824165036201225296247151811694787499842133579584516174615994972621292458971414275493055038347292994460252916722319291108044368404855071719443078883106680832253405419315634017760508086459392788894632134599895754591107646711583663488460887192512379130525275948568713642159700260012765940976402273163509618415587089940312608990900422626773845087350826703289025641180904198487250413215742573893041531855213967829896961270516155215492585282612853544621064715483034874905431523610539894821256972688632924519678920677435543831021718522555654259843144283383628322861674972108460580548834515859490550187205829805458515374899860212205660587263626130824685452566959367588225345791220345156293321394474928462382729759756540335327843547837616095508839482822592922929638555325320611866934327112299975591936776321277688711606811936344051880968944119265742923359138195522471096370258380776291563751916017090687311718371606712360947084712940380721612846302249587829126109862284225702723713909672375975745045977771397957292495709067950499112629747354226389113086976351716062951741590650921370829634549230132115251314392589193869648488361761442941082803167078883116501704390893787607925254151635877223865120725387188881609341826747922692639269828957335524606255217327331120467368649811154220911163242553050084957123573014546261625239140256010780303118873565442879618779525481585612812009017391032789265178524181265318818544968653911942594145771235626917441595626390255640097257452827322166650980204419881621706644786014486846038415415084598923437607765875320604966810185133305047347803779116439941025927783321156802423749378466979107449675760161661824416226650231860209436726796223360864409658782426945341290805019420018001255385897030593678942639161838826671769007924772249357677634775803419335855368533410139603583703164477230338474288852695737253821776902959678783273421576363384860986569660822767535995442833946731155475738293749797289827322490595369795516353887174041436689169741783956464923591465415731543704802457984649853627692710765537128236105284002440185419729621740346664974173745271387266191377825364274541068970178158696010847422549087250480598456207474102166342154619370509403206723259995406730541313924742347054703032781977972899320208901059293018544334618567601274343028870507702251117992108347400030432199788136233118065862034580401193684963667221672316469753085858389426142109761175572629880922410366496821046446179386304906274819787859076572671058836013404740979868574376924630824668080595799705832709903181549665398476542829090867339691184313431894854557055266376923358986196523742515480470158602968443078625421885433013833114293738978806404569376606469351520301767854405050046902454111827118229077933449108644864887994772910892299121316437996990203819956386768214394375777543468707197206382561161963901361093426256338241897471440717171272950909869465030994678176911148105684798742515239009872181864033996497993080181473748751575367418267456341698249706570104928243332659341189933167315644029126328345243315366986720415752999403314580821337196321808589703160760866012111746301195363910230801068594400774966401576970638857952852496301377686797533091265601440763633828308572360324891918985882218534791139235526899543830430229784676504950362775578474435808442475818332751793166512202397238927624443192577775998567357464041751024927088846604859502508482674372317067328458947124991698451081100751015732467438490476517231167833290765363106163150876899854274499803883832266353327961244869962593227120004119815177331097921139081395771910364550264452264831480828147715044072165821311664468444979644515266848227493126232028998595776691277717744838750623670569398921339175438143502351778872978938430953435327671043987633138729883345904728350419747414434963316650037488749762870185903792480575424650106569972935642134013569625301304369617587068603350347884971896841174241202958059395396741841474335348009935072717843713869749785777509224867199918487097491430022233923341273946806029645227080287495790918646335983122376088206181026657205735360613104394324816811992225837180305746545776176495864472531401271689939282046678977759527181239857803288628147880701761346912691505248832993791169963923888391503854070286641587560114379248125638725546798355358655960844150921406170767639790910963251261005793737691925464891186009010257735488540994572259898315592794604142571818904943057390360236384352549169746871468511449352154804511086069673808418679426942157961184631737802179981381302084129482002254928499040954764817224869602010420330235910167585870706977853133148284201620423680707352830544737649208463051522179695060563021031635628486481571487929531365906733745767957788469363531486401874610970798293917180441579237916976347904341256586729781584910807693740788659314396954371647350200796154263506284348906926090983967310513134456452492661799800318767116197587517993474274400492773972313711294924216431306492206065228108741240612715789191964118996359213085939248757571964218520112474167976508130359227407873676724051483439902808264400878468867420426183708549366750562694173963984108743264692587496932482836406769106200153483598819914546246425056922712450387418925800380265093071695296290982023768186380424272525257628210869271723970783180206462201767501078790508850629918098840579362673468149918872998522232459034428825747743705777618543120608393236655700707393167487818616306010511715389582295670454617539023587959286472773531936643395558474537956060731461892735962644850409182242494544741842531785550420588363776
55592586247971444282724285537381163077364320152280636195313907458404394852315919452003327489063671130132108345652470315018760019540708807198304206051983038874324648625817610347233556558091052291003407592582082429393422331042466485031901803211053157437889000696853584354997247729680627357141094065661372892221794727559489680941477216626133411528027551416207412325334173862302743217144738541203957055163685627784122850263409609565147453701946616347921658115080169252014305577744512298760443444762702195966746481110189743875119500775466239856479381564749078517744333067919096471983363311908088219193643019659585515992297465191144353588052958299431025136806369195321971549727950884926661373922550121579828280850846287416424794907636569871668680172290144615827410900440214368182540956475553207830023493346477347696735509967127555784246887589590604494133126311068773929158746591454977019721598733062093357090565760382065512433488067563712895656594027955993121733209468347638340069415584490369041793162203419514409147593475961526055734667170798109681773628627241673899888715487704908219355034158222224945974472347242733253128366748003881013126021839618794587685769767498140903301141086669107155120799279013810409127738894069529553453312470242341425788222610265427136124297693118444166794508858905446360786217155219752258536470963901839522181659995192194143779853190924534296173108285986132400503596430173607652256709395344571787104496402259248441079394192991057657443295971734748491806500205480960172817464370717358862564922342596146528645988706451362020666414985216827082036081489865478894680842206334132190984020929680752344452214312924331437895268389400408240019930056165999668474233976421372128428780117236301350695626824316754796402860255455456081696554355370765455284796489295341862654362360333312727531702961846227646812644687637192182579330663632129355535682824484278554000470602906838924569302219846938617367604193613042766547805961443704260727437505891495980405550780792342901505840630739765006652944565103875815409809895611968176994543118212009256008238046602372500353310101520289796388235943345702704996495206104374125376147449705747114899754827732444209692229718146823277555141609445896088095210192236844643745457682209639588714428583649120706320506031930308796121297835531788168892272411957590300818145143478689634309882441686230140610738210703559279789610164158948897723216148835273555673866182662979797364892850576509092916498408338482250694254473306920909446456557862197652822948738649465484440817882259678207120459617808221103600021164338885634542934333925708845812508681246053142711052359070169416327445416537919239215668128142218172863739852818531709398805120612709372082230683674044287097934095491266592350095029971630331758716612205729053512982879477370305020540871549889918522148159062039841424550480908307233788363558986045446225747878348264475920627885683435908034363302985373359762883486185204371973331701505993246413444872172326628109549899953790099796527511393069063167807286726075909416071167959771738328951989040102720942328952850308915663838678869616538142890115415944205743563350738711825698984284442279969570852932140570861219082256110561547583397764702253433873992634257885160669492175445897540049249523385125479779917169511596803568812923844459165955550562988663912785909656898019297624846086739453937499664472565270763425314992600373701004299437567972930161783572745381594531134883900115885359462572139676149321011234681694761403578713245301792618717257254101633737677675347556111333795842327938584252501549333881547920268498711273620582844462565135790300204157659081845163558049487190762252929782979590316995108142279721795892323402432283425372062240961578967754323337633927264149648994035616109868341784276193577267984277663457879490497863050376533766485415580596922796705892657201085277036358092854287716605644678824102887144694221462519636307841064173122703189221541900326680541174761516382358757608203388947336717069664435639707799544443265439822669987138965949204210754394681440992900822838549863800887557226610541033379990237123547019586982690222019103412358121520974535049044266702982268051080140890713634788521771685759862455101630146677439233404352013285733398248987380913896441813403135662127185245464198082090174933309952409434653316164489703637100709029366012470664744052174397644233908509173743411246415447192664698740274967154051538721970148962063499203764785963166443628646730145595187512624711512157650118665774372459402741061052923222510171906333654663443003425585271190081942444901029267716303005962661042477105598744310026837954575613575538610792443019439134919509403020881991241058462080232405871204573691388893042192266318126096984672546136499403556147431738507682916002484384645339308191457276379039549817019876338058104624822792394188533643798489538569550790753541118297478575506638480669517062567273178031202230092728669458801434461081911835848992293907706063239276546100566417290580041803075370846721432278416361504144363665958365887249874103741530390467798250755175247057399689369628931082614392257975227166315014746747367228548040027532717108784777217565969945887491861617623851849866021330092721803644382261892455890039520329080579039273703790818101077714145054671256520148698275978229042746612161073607269384498667035728540073514364031222585352576881448794140268706261607229007378733698235878525612097866038202510559350979292410768794099497093506496704041020965734638331870211699472952063797288716275143211785052628446448013254623407421112892632262488687163511808419695970093767207699796145457611185115632886156560490526179472866544708143635955737554429943507858853571869012455778964751301243945573578514428695014378520573731984509949042497881654666892804880677542562487404502781155609200194885446516874017767424
59692084958774174884046746042004470225930618232829768068236775246954339058341905976631133312176566291404191376026505946154097977599916316893971487913128106977980254983644494425559832372691848445021377658674534057455244507335869785097022940368725274228318102317776838726272608292247135755920977767418818295638385283323309518523279783834587615361446930179892330072524397252442072342180619633235436004429124424539509147481912314633609273766883712188045619793590582838886556145140766441661471483428347103066139809972836680574563640980618534833917669379725649669962016554010966530259381420182871564829894065134151211025550650224915846868936928053027007092584320394602425999080996686963567489865945002276546579887571964594140206842951602063108974571867454137022303449436158178643329091560765112784460507708698451290574985317673721788439003546769979082793100344069376708138559350662649839033953395834181226500707412744585960207828156348096320794632949204975046261270375917663457358466576304714965368122215027528438872419304089429140908067188005681825459675557313091022079702764785317725202866480631836410828931395565973773959506218142635558112902631936119965263046368997509730119574851681429201190857958186173709887004609113959445546865230639957404556606783264440857281199695727990487696096175345292618964754882305747910909069903302999325502624062585497770504297819675529701523469510744263442422230149494498117194476862395217619184521645563283141993745249597226264792331793262321289773560585689500973232379412469069093553025034557539269039612163948486023354682121767648946558019772740796823008111408485395452204298987889586760024396877198278412106208201404336609983629494860102930810919286845457101761880617176240051309586015165199848850355809509847363912751288050949896233687821884776846310052522341236456022305756078970881007836893167468984361271531467493039216828573047221113896547802023568928941240979945700871828329405360117690343047356238636686230050314421945640089324355092594432296333665503825747574904832305522367507616584807644306596075565795610437251168479185028451256803832844021138982493073950375485024670676209766607759789248739997170435200325882240429693173216189975925847716012304732094945815677475780207779877923410590762368840362525143443200748475327852007630526463171154238448008639120222420245183858655549913073786154161746386863150520347336064373422353912969215364115554796642103208222624104465104897730442942580324980746480662458741252074064488732569132777094775717648390631727695976365888527412949324119766572097743742209974779691435838815361527718021615696595657833416971694255497664987506653076446622813865169080123825290091072336659333026861778651710953627230558761469052276935334285315422324582766940255484055073020676329503088880177168823844690803758036191912884528508113182748709516788491867591750562985960311917800808027977328442661795605609419065198995958479913507626179436632806721955980144175419660532068735335653755169760835990117781395400097468665478949374756843772614129747735338871030798935664936979620720347904731979288641500694068352313891212319846112405158286450157324988481736183136397460524388517245672124592364780926628245282189501766460307988920418998124237270626498799793589617006037969594233070675287127763380160299141016546898363522677146631564427674881037719556496893422618901104894883483614871730160231788574170207929271760797987109936409378014538108492862720887889195028938664557244237868987451341238964651614992520723407687583306236891204344296319690873964651764732925897020584817181615258690144587958263852504375984586727707356342988622284622719817246110591204398386258473697411174520429461743065615768679999333979037725526041643965989251613314756564324436820904891373919815567562773817707304134611432810375101683721671299366139813503253223640194908158892522166373291300040144564452938524259048940006136486409206410125275425781924997889747349823098205355540149196160146295533365399773816606184211294766528553426191710459509876880897871355908540649839772420603904161266350665700565765388272516578515405183666808275602311229890161090520455417757060830033543144851521112720386402646736823715650171842879497221393579349538529942459066821142124750660283495612213586116535469952379833350533171891605450615775360806165371306657459559460506107858412519949384884731793858308771074888892621020005289335983299708235730427473045793345493531388177334856620077768438872948947059933997416318678167162205427680766537953413970005021057014465137494661141470029841260255510911396618226177355173235590251050665395087504159030543643108843836327557838474298448466517989734703853108644185456119584792939363926136764663577824055508032534323108464432995118479638323199731329022549289829767820730492242146371700604221876393477157302041588665788263480949877840060782109323114577556445588587816924349574819734420265419726342675991960106024885499811452634170681786545092058549028031685574222404395998400147050442272334732552103630397502435095114519259832903352602005462495835058163921796066012325907029871247215062975160778778663816672231729798964373435292759416155178997370787989888062573113022929410026416810278463025231180915898596665198569688857237651279210577990232061180605914343588742303401151861603294696316356038074519036648521311651756867688570956068511835787392407325084931746471583787059982772632511458367245968550979954057790333164679146367217369376780761619368242218674446664364326846994022570152062442638441458227387646265152467890758083300705204083376073195513917440893444881685849734314555418102908453931052626965957651824748588861306096129610663914666947082223499695325105624958906822345323768807548523346824952893904047589130920289877302678498907260507534852431038728964018167592725054806906882859687842051096650448437454814082754615802253541376
64093888181997147344091341596406660476544434118766291847085511517542802465218480538984414457803627699789251969339770366970346947542845288349094960035836127132203646822123529612058446632988393139288817766218043621202115035672798203676565428961358308504814471634908330438901787148954964605338209467851729728683331058530327144135748221556875820406010446090558238615682398590337739211032970662440428076831000138328002912081913535722753513317769067920683134792380455926649148924361855295827577981140339191751352952199247047854237331870610494240778295385615567696210013665421929718203659399218866927578184703223918326018383665776887151663557026068613987316852425054300808647078251706398217978115761302228103277109443236194575525407288134742964793467566579291322674034479072254289006024204718939036752344403103935754717138743772201469987037781051266648800110578056080129139812361912769246837623517173987751689426714650692575038344823675762122417718312289849256047060833994997634522226123484459826714464378618578596166744006865794304877381078763771725632721671357574893125884320038430022678856624942088700233070148645874192387443908807815396335406069949490102984360048043963149076340039348947257413534796147737890834919162886429838923519750229528550850916878713133400437239042199217514113455864994678326500952899039879087543694216116066120435957277746842532049218140737626349879985731274933026202964378866015086320963348954037975300125664274601148312815020893860994898825320910675772155495490252753072648310246204586592093651741323475247690219893170634424755362980366985484068886672610768659950134710542317590211148815897918798314846187422783471874743675899651753113798943951285545756662274174220314559555307557061722155008476608373347029105349952100054489269344890176346514570692117147408789923464874479982704686367217933281816241743964131284731499169157179372635981043519040436966590984247977792751094478630444275075340630584208145683610854006051534745969908219193417218358655964746034626109818510683737179241891266145712160426565664010686907685409259210762087507188971438482744375639888130365265619617290843058775274576872788204030288661797674263537930871718191248185291569499771081135815337286089483458461306700639956124665111980220026103469211622568766564012066063746812675263402645663976176495725336705376799758243608168351386888591755578756455848878104297739301299935412885102560914259954118440973993212203994728277240419265494125411339491028089177156746049787225336228834175929899938691947575808548980570038805054208499925353578458872045124110939880474748576285991375087309489652232533027339546268384831426330886439008218799599138160558312839717136880534310886007205372380068481956233078961111387898965564317982127820213396822475297021674191754271667835550696070932996343179835362554682741681447643044690202633880117132736853571911710228377680634219672670755828682242258647144843426850597040771818441402307872474967714698082265164294372678115308428429679793912570330165865782654212935255072988889736923506002628638710809358128085343003094553141493672516147437346218594192170853882836133223685501706411220093158399967673450052424922992023443165761016345518222259217550340370313123625182485890171105571278444024179738871524628485368357188003712288372853725012060740280830391454424787291444545142844424009393445393936421729245447519964106485068283092926411878348435523430922374951608729560035647130636308907765043780264334465819580382936459036253172324896606614947909569961321390750137842201454301366126959297389150725523718907147294107132187700698034664861315637671948894688137938572903137846328410785443105529080083830083314298607548255515337493627145624557185437145171143314291999892991675529399493694119851179394354528797258447993524484239620421397065607806064778449309849007190002946285302800402041738570882089265388436097859383773197779457347455562109972501200405304181460773465333470298219544349584248303117129279472838817211627030165724715644014023103920536562474013348110711147410589614537102546644131235639321513612939722759959800160085370374009453726103520358597944888989262909573148484519170597535568488746897297962705624744408672860486872758702073712662234698694613453871026793009518004935754212634349872067365515402617519359397966832524559086270116232447643970581360284215032592914888913809946088212457409149640160234161219861266457062259701011167207900982317286572942783564406020778105405072706675012967705409304860477723359780646352180263943180272598917119791117928244303951883089217210992054907241607317891205818657879759377734937355325042003063295011349509414948890593176809029226554191336703677858648114937693374943449890963328799167312272100055437087950123304299422960012781033534616211591719549327663752500094824788759099659434704583829054337861216427827711084564044452931168451866447349247036128529182480566107611374341088765768648253578393945958700807504032588808505805194348152169198260051877824940474975810105503400469047927140036109703469877398936111581038592491358241527756075480301276099225896708375469856639224001299062978796443707705015159643428393469495636963683401100579701863080510598378545008674052658836628286218310949782330629539904682831286015499291326027555343387892472738866719914203578917211632250213355547518333706120075829871916452842322427767523943199644987655568371903939686613499695010135008146748128575852857447993741810278995098951999106318229289650127553307223585268109223530711572243484520495503874295018055811598511124017106043146318776472910908622330370339696904828488712826124382899543028948417918418954977062478145364890680527494681585468112578138538521823186736036536471111901389971456426926409529014610539336236926851463714211502263904203638192874359052466497640150289478868164199915559594568418652795650681990797828115930940827525709824
68820288403789660952041392748332759465833529907731950837605926220819416717075387852437628287494038240188635825154477109571889685367487018061763171138085788512028232878238722238969648882311615820209061251102567739541124071061135410399598869748311295691514203554862732798261125490178663389191289170905185640431465009182204227061029199019235963144246076948329672309430053667084272876490862843227273534557330228272562157096145477257238515692229650599934196478008452048631867374091936541365963170971865403729783473362204336589624078851642644079634782066961643020924017960175068545223803246792010350031075945848548743806005934823081187269392355498929131893509988816628249321388774257959135042171609623803018876823871028056026343556579904692468788505648223689705435390338997932148069151576563063008667265315665011238848797158799032246879363203382899688992998143483629852152737676497964979990536107155692933852664122103362168384929240914571205914912150556304356873014129732749966967580446370653129991112909080939182135439118073146500127851255854899917800506121487811021961592091411063602647556878699802215358045966526972085408620937340993369116461829328237091048374601459452623878013269094770400655006374303140256378998984850228280093766293111478404850740241421826630140803446695000784976927843422883656590400703553167620198621907310715031861508442593969310603305944209507622350598060193120433033010766370622090397788635743057227764023878187421873861896523109172415065119395532014344666850139327765305247001154277601884560581599549444486473748495054122150474014200321323183045649317498377582976893393143420118500603474717671528306471071562785384247839974092956914353208157647527109045594010423815414333030672565200437627300012408936131312016559545726225137807454809663029988211177530808280390966053994724067680818393284517487527677442988987316243063268145314322269333973697557857518264430488378943500054163480982257849753986104797839941978045286655481956137105900389331612833429541774886916206314551970519445975803265320966424915401234130606115751050956171452484270016699305040365738425314648254350092652360051764427102530272215822161166298965153882689074587384600684807311659806506968241222351984740931795906071690168568456577888726805702749666644015458986975872528573296002916123645637201663470843066051237045435579699250871026917230686196426496132554949844062316836454278221313443126183148590745291123451808235536359626788505468656402480456415379732108314943637403330144421361689456507656308579964161049657190614026289686253586153015179356378714173186965615298522242723524734515850671697285684915806277547922429641047632557549604872669077345887686880498198162581065324432773681973953060596794372839766709806812743979445925077076773400429618994214187957420413266336443673228875311246382209166346794358419203306571691032041167438519266325394907577707365076508150180314947902319209665076573340970642047334701068151172800831228321030460699561099392335296154264657837651627362840578948006322158385175976343597859125483737423323981448712719581823808383134612346011946818829054472830617339167793951980707070604597095956893350302211231295663632436514789315564568038930550193849653315281040848812440934732566586568201078498404652919754556250801777158930616951288681950779644521267929096754908083977127685496528112384075511190929692007593240963782536111807447052747166988033115266475113328882952269012115393255069796607251085872060881691475181895288812001687763377920802998144634086637324839554269734936813717001510853091552385137834761294623622211256566630857873814263417759833601519817225141326868972206440099499782952779018934253786563966952149524045056540382799718825651483586493416214453297233708686499753577983800747079971445447053428812147976119896109284338533853973352633474317848814144782878109755053295996229697230087816748999444222977228149386027281987137018907162028765380851076517885117961166260077502371484414657891278184971710050815001377848278457484951849181778479649537045000741941357779369628525404108714551850738888149198727918333549990565557581104473037109990362662091427754808672940619515190450000365011213984016979055147021488120902198638472283984676500816399781292444668934416169478910311980557731089690676687779699383106629611315284448646422598087447960120341221474632131974207504535882299071670302098908918022648914593480535323901272556048412925425322180587964755031562293472082542226864796907026917845399167659281667461416191698279454088982983151818261178488629341463272140042905356450842862801885609754250204251169285125044806930216624432446713245795972936522940712394652294108881541389606640717205211453241107360530764495782775565781929639560222297835519932813817783369451231602570260063978174462892191543651268136377341642610364919198508741769708930214786074490857684815335707394959958335381180477599240822833911896939217368147449502337137811679242524252833719652839262687009983968059401184496365729630376738291952698560853657837976830761475858867845287390036108491902116063702495445355113300368268310419319686673080724818889099434252343766791424505831463185992817325933593427236856260056535840265708754310360079773123371290974054043261418452093133245534929406530547901339116205948670262003194501027533574074333894763006361312774752854307050050184584985258450525267987209406734859205197747467404846551890367545543626062133744195245622769511820785471954030146435780008864505441919152280920755484821599126705089963598626841152607713784599401360079585689986417649969351021935471645613638338979141654197695877673334989745429740669559057637451913244943445764234864870193421555879743093487816877116692331444477201134216306576086931784485681455128843156514787133645225567273162624628975740652978091826288875026667459167912083548833605052594337048424662547643211176438171862183525073316478976
73895221998891159062986501573095190107797360083486656595449315013552067280408618898183821843647845009145895934973113333397968689893271621069958532033832390425383440710176815524300634671532835707178533489086593095738443483071489151073453859271890191555609802246905594784429524912117332113392276719279181760615489385951476715105019651472173434152899557767343856098849718224912955920117025788620678731542514791875717259713789788119537801042427287662056038406271171190114517978783566285618540746716154611283314109812988697030452897900482598050249852150421884715323825209967137459073632986427575341869245942777945955927169514611760311318722927165076596126073989154186017956274744684865288177643661038478207305507294604405632900322492754066237596033124958006944324218736747617996896008891951298925953317269134084940582007121494890534199065753958837682468374549812726431591330879356446849903161742435213182778870921726622811214229057250547114816957361338088854847977128037015582067709577352759271867966678786513801059174613680811688466495240662330917076565511009487800488343950175690166486798952078872379157789089174513952183736430585107930127014993049277988846735816806345722404363921054021598860517339075880547812214005287232480284263510595237457761044274574472479259159669679776914542558300513273500767166472324061481489807529042166093055194190542247898967216264965558952564634328642622926016534832494429623358414455309221863075726440544516176697970696822500940082506378536322532836748340936448852699831789924137649873916325201058101093066037196668096568770472054918940656921373435063062986320861807365011637134120044090511836657879383059709002816561842684302771025507444135307156063011915942576025264097808105076823535347519193715534468173764832688384104027888125154644908568259117899181299323938377506808301391418067158017865628118651252855691580885750897446798480183183798277193362906913217596941101594864078855233162991436287810559560514048060055181744083565203236104628444360851274801103347350568344149528457970890434531421966827248064952088583596479447189419039222253574701603904238190544284419114079886270375385889504233408990323818173642439248972330388528816651910137106279148040160209665748273995781149276361562034807039589392964028877737117616872665612821782967863067922276018556391017204559607742622370220771001690030860374025322608239298497625791987649640326389956572098028156125889878410306153750923032403987849124149100428643395802335206613453147682646332945176325000752099554739757568140088666424620268271670313322479661781805226591092424352795917577406528176148165257139868707170587118884956477013290150253225097706458982857770523810207005323803241629319598178661908279775584518445907166722445803346935286101627755259011981482472587624079428875429890827366032546166258146671422726390961945115025118715508325568525084883371305582798927915483760725477301055101202016017748958803591122356256263411388590903711813583704431107050860971392512260319085335954241144753060848309517876115747400155615979891953103256951983682957975788013259933449497939786903040506493852505504804053720055932822800676868597857691326967238724691751982848954082670010875893391974467680332517511873622378563152010998863194126425644193116144182861046501669071698534722028508386013730337832981052287487041946255305940441058554227939881259751991388402523378264037996135200167292563263358627234236361493051834007460452175940656378792570247281746452767058979186005485310127889084338772488019998535199703508932179050885241422074154319497009449188003093769506601539186194868114089039401917725232377719469866970070425948296983638435321049659396196864100567876750668870867853757028318542161974467502490098258534536519326889582374852456622211213702235644078209921236885691073468991973851097304061917504141456056167625538063119260203572226802240036248413414965831663585897413874630847219298643430080503089572677535182077821262875777722000982336517032022933338361232266013323706199798651092615732302840787454666733466803056934503069838028257199554949509052626253511189007265044588712144813425300740627215545292212489254280241930589490772727806683652697937643359440822131859291683546779152534036538590278150616240716154191378287918413110717545974782530852925788587265346084562968444131545235284204694442648559475114994286874846533254528776902313490047505518867224008507182183190252565126851361413972178668515302874562337201969230828832340641184417052290558908149782471297244238695228846634394608674298770432362692656658052635694898181842278405256880806065023062342941679074978639033218298663345928312716778578370493362122254920851607729046204591928108797329076128677816237743785321117421055647923382424647866159118751431299990234129250281743976082063437488268666887567607609349645819394467752254677913111393613401818035665630594594069996192461290599982124945409274815274007121929587370616851838370929601915308744276696365241292074859168188888259904411564780771935074453181564021138731566397632726773831981570557956867331699617652847291682864084287351038525207462189166276051280251479672429654776449773917916778926446739109435713320698923136248274762505973894152378994866999715525086090357577737508935714956679348015303234677523284857497867957360073774047814387747854498119581797630932858176944487818754421778415006675037057445607372219646342660483066873896382416119529423824152447120551554039753768621173584941525580910242064196630649612393730348160905130407598483188314559268955545704325679935123930314622703884510389257335061469629371793857732611228290247588052279025410379323823358748039915334231734617770115007694211233273853011015413261084812005504672268285833550776916837230507513018205886105019851956269495320342817743735020479647349598907822041966248399442861364988161668259394446273490490908469805908478526414834972569864947892224
79344390453974319109765257086474098751973094038427754932459377602201981440636669921056767153689479913789610983332216101561455018980891835735094105790369620605631351527541109263574079796569307888118208442216922564564002932434093883469821904834438686208629866496871711699638244878590303885447598032071564588870806935924178583570392152127575788431678266045901159682772420748704079530898053563728606025324466166175613031753366365048046048528244977241628746268563660392289813303419859764744956909597325862585356673035534782440861878137749955310734119903724316863749524831607297155364448033153311991476107708102991317690662605776426168526173401164848493424122019073371912155667196603061559722148740625493324496465527753839862706266683557977865373181982756830299803353073770363175642346925964006627922355823410731264671455948214913368871239241751697594093525311431095737069886840987715186774075112689404004705830252155305206673173962686002884061497223293386607678538204168746650605804173089020832008422428851453435350451281628130096174534362596090166993384199446819512202102523801010679822399178726457020260104040417541265331213938111703176131445630312079069627345772383775510749059382152337154095888209242962453814005875515458647292469140363173593609466635526350903717532272429201160134018675219462424924602727304883294223008173642668393668037942827036808097226508546586566906279941929745384725211165202103333624496942991690367279608758395296352765185353104743163645905109381225406660430057826076459180624710606328381802692285044761292197645120532002248732359748101589691513110513736749758805959049206292044229037616188776706600586621472738526645593476250372644313529182713591422808551351073557916260625742462189147172162970173732935127316991768200397880371471510342371488706198395773757697976442775560327760917954362973376804599264123026284661155486841709704234162343072319625689401659088362940472248435247038665062097888375714096053499188966992341627312386543788509745665686400690302961997661945396704821283774415201571234077921607974756830162126068360460321603678472674830094690620431862236045479504954332601165665424009700138036291008294876411181443000740156909560268383563700586254269807648778722982045081819528816743702742862176755012249133570125662443389150853339030845423933100542396197137670439214334287866344053938040960818634295272119559301797321177558263510277001907305005324259161969771667420349926940538497069017992400657542210741654353348208546045731306046683464919207924360747735855136532543092208499325361392609753530812244498634012652881877153108039318146753364724257454791648757868092182438013788864238174131978293911484834887254809407099713958203284178357227303515275646938431502270006531231058626883598908723635300837117434844340265478872281582359761096872901763922229661832966910084416062394960775406446583133961632425932925735903885216051083753560505501489157271374983399868789469013778086768847969741331087714772533767130720193407934337377510639159667302999584846849040861128648566348986092733048013579963640157534637969195057128182529751031442024588593034047698345403966842691175467569322872039977846783296493955611819852673218344267981608328211888509286279711124950245617339479187427987774357796291536898752209609250968089971450558223574397678901988921282440605708795736682170167217576507511079866189521021015617898379870111575514778233822020034084772625026036672839573715815527259289295921969294964433478099631755426759565070901925298687603405207611375662657849940038226392107939218256322274197688516361760821713053916726992353308261405265823007388944076360535273480772566181332905631698129886874651159522423871418070386625669756036839571114019368177552442646058096809256665672425772328504413947513892293350351919483789978012727113449444237523664925909834374579765272694988875101580514254122378903807197537291480988135675869850629033219915053397340255854235402157190228411912746221056639899703803579771370852562398704196799404597411912056924809333947987503170175704766957801629174741483845448991263474078071425435390489069518228125108182919422104989617323643214851207471266777712441217539924604024638866086219027475975922164363639549436567070615028571650110029030586467715767943514056687371763766852681356811974328675876829899980056247476872571107000212127641782456575338576976336794385171579156623414422478559520711093314479003928299984172181521706208785512680445007148945498302027469230254685486103168100016195895933930675030106401882631128253707783685002386242711423181339047481265611695176334385254848125562175912015590196636565412596957819009469756226143660490425042509708180916318569498814063216914568530641377115451829695361045402467406754456890942367400042394446662205176128249272290779367169052363576985905245917779368155870590379815117974956741293636018942531711248749641257295366441218218861206279655166669575466889665542893502498070155139336137504602809515908355152576027794259656721948939214400217694852934975155230276189150171273328227987361105285304442065160478670849765018511406790044234350530429406430286589174758962173540031355492491011588484687683490217638431708358683151023060346331220003558355887778911955387056417574332094637850876328964121082475115743903685361340816646959838920664083913824540897524329505436725960445689097255154248420653096226465329239240634969992603196100946291479642485710525558614503825284573520679780030172890115732610589222894292015288369116537030198445320214812658798254210355204434219478020263580170602071875940766070708120954281551962273910953810484547250846606854688101083043693979875926735115783552367168426101051356403856756423555581927070994261487684841871448270171603301904196245473872133353940271395734776140824361429457605462493900035096953247208244102854858545821518448083725097877167682554715786445095710017497084106156756583461553176576
85195390530218573450077403355859624522699713591744943673403928912493101968483365682321429171145830492243819649493567314852765960174497420848908325963000438063278592060767176895653329199889877594205633060358197038141710273413132726224130021052084612945817877393227522014371709196096211442674790967375332260187950339731078638024609301820748707768868320765283178921495320431608963991747540391567653674609282493095689841033029518946938811782710277382264938749240738569733819673033505661621460926912435777214774229795746734113494205163693360271266140684459652382436374271823312099311033815871249689368628342918965477313335534094972770394624819507028146012868782358405146788393867617537923120344921958520103144658777323530637186136365033973962917426862849255514569319170746196313356645959925385435013439672206060489302155870571930624693789244578844729778393494486192787040044712115747266239296087412126201485742758383617343889950782563776676001452556709976223265926016997834432415366877799416942534721082117469836724259638358526099175739948844603231175940946246807774030675820541100620395982890221847957991689066787700479832005618042283284085971694848121469453889249918043944918226627276563541701888076692632164321766425522685508140388476237266036830863448897207219421711482976995364545217296780209184438005994891719992446141459133987485244269111232310218841453960627963449323847061902258889250429975309271762082447878650321631806037026245740818838637564740770987584684642277916479502711918914596812044065522225911182619791222254689911528896440224731944925985643750781452664884602933274741851870531564069771847175523771149029274026718410135831875512140751575803784912052524120923917209130499386435175323544092705225917642709619601598652479018967380480417595797617079052826768988865583988481959266774861768952045880232047791673609705448516003292012314389025377102889997362586238798735394898165000876675456243301186822302059931087650798995420743939032692941530145320530324552850210089200761527972220985646238394833962183068424544758505475828344774739460359309355198360328359406224763199498199425048191710604282123878286118549908819908138885441339727596536602566769430117445612097219487674528991052928817387131805403130110510945123634636649537253527022006360701172963579075407470357755980630367882045265836512880425199349332686986484256112921394440231950788022119505237727797470773201155341199744022134063039447905271400545385106033049100168172718736338141645951363531519968468132772990329338363307900964500221855186554253916311159976876364779609497250254344465630922153406530611257517161456553582477240619651371133692592237985462899990032925821160179813405551605415359454116459630568459093685006451456946456953335949855480930927937325679831635201391963072731928557089284576104360550236166672271243433073365684896810862991393372295532827599547038764581325980000569324746724823671531002444789037663744835365130845564018413085408753650310763852152220530746903468191487959650270706997155934904698449786878805810286545347761816119180926928836430889516223156452598911299806766440832008733972069724395837374506743815251937587069124414124689310152703610484568752740924562516924787823826445690915197497168638410098409918965461488640618695265429500869867461750691741430312798973563445587901565600195145427147148537103626585604034496595732012230791651894693448378486176751719739554282762725929020724664585655141002221886911009546931072447104817901362654800250713808676922595324572086496231737187171448482534935835986917861091677578228854204142130908557913317156784879475265035558928000814970289985356426163583564140705108844199422202121701595389322376597580363495831849068631132283344868358292715622433807277939832283268635284617056624054606976401549941068425789424305506009461187384949220711250420899176397395374750411279246658079362643393060828019662815862122967966201025676908182559917523069553398837634970569983815456246463733219139115481441242210785058459507847654539052131330036605085537222783150243636958764852340258535592678933978202721165130749276177885756565068301760525225936037471206150663839559398800417491559180414099437147893477012708559825560502844845842129090557698700517580335703832371994865634845785229512197137955393117508819354084140713611492136142323158788412552316000106938321008313534404837060136274441447089956593206683100035100660895112522891287675990224209317175920213481210276151107801779023407877709397541978394742367890004610841412906496377702871533381570314130416931903648601470232366871604956743730054369284457459331184111789176483334173064411217170065434289929323094850501025719679651599884809892178727378075381156466263872153817106201234333228992167429080462209826650999658290486546897678187631556174096085664001218664010321042924972793252004022379537557205237717724858571452550814073757522953980069342039102062833557192750813967123761086776419610026404859273758433307029085135994278366782382483060538239314826935216813668465811976571639895361873912935854069836962135698832018347739220751322320947831691548081232221998638363693251103244342804563877804663699717086624685949341120973246635032488492817568282331755874766035541384868231712704583797168998878186619389460359401653685213470260000208187552156221497420044752919021359270370647544648049357106064223662716100541174813452399690102771767598043022289659759139386981474713649305356250216035291156808729516614068218304390353905259667684369341175739368821760091717016076327123842476897091710345805725533152499834251739876719450765062894213522768335158049428088938221188363704608003711445649796866253586282707922943556952091742751234276952287103754644355823319675648200439135702122391034349869067208810231064595511284353680430704901056619970563812558666596500102930836619422252384796895068291309208555420153508339151543528762391002826165443850016341689708314624
91477854024309218174964084020504434322958719876277807162657994919266679695057319581394815912512932202736696763174263644916791213522876218945602454328298646878863782859480067359269463366762217767139088273303712581085677559454155839009990001617623731306776500844012484734711633246213919753947301492128313753660252380604268046279979748624377238525387641154332236411684738167700276251249324967555526675975273471467833416449075159919928638979960024899979100583858029246973142730210079982223754253207689479709449321249080245729066290865894327234358440687972315603523178074574234939235498592779275790622104405303907475803451515903150251713857653493147182319196053842172964043557773446069703960410928012879027891214051420977624492124288104309024911466281102357453255719340835188270565640595532514260894364178148497493637629331600212712160168704945670851965039346559338585972021170228717368774795401373959827301492939381616578546431008540256964418456694891233308966186638540309747511680756997531054013734598044065844749288729140664179680563909222070965999148496539333333465077687500498047111514270819598791064671595413483333980492925894968562579181420438593349584979327100992355928652189617305489718885367711798747479921204642688490889027570543582691160022499113818068287836712933463952766326550721131136800016971877970107186386152092549182799354601041439662112661942496693659482319110943972369463970674472852425930101623606927007122070610772637619051052260439673527375460642264277555620900508761899281188780082210362413288171725482940138159435892434010648455895370118778278409762854303090171609156602373453849686450096142188917268522844450433628205769746944741734430277570956833404843429356771865221786009662024245734371141756807253366690428763947765713545585593428097315734407290131167842617813934200542673142436311972044539086793697792392311467955307082533553992744941439458537405053711811315982294283103442714404119943377709363368472788400437244533908514670503587451295332689368979961628385233919582458869832807850731594912087495367309129914829329617290980522430951300781867767334191797272535366996655245922029903664890925659331321852559299111164113168347722806089681746585754064918023994277194051468923421818861969980169343789015360265651379358055042397878879376852881996250765162839188959879458300589862226027247444916092507688668505971368034878113822209107949899935398871770603698854967155494659325220507777759092836636398534359545096132481762994691291694179293621332435395369544814158134931400255233827463192674624875059088265127025740947259585211084290450851663800735992043481410653662340402846781431353485192031844902753019719627535591269229269014056632524816337878651672148943424122725708639149146159412425682596631171781436633144459994045213768655825631926736551601362911564225233452535146576217596320110947811392815870116485358615178976880259554104398827791996650195148075437616240596274078195535300114571439635912262930051337745443191598334428212287854263068920071024895776356996179644135660217678873164364486757361929866579547500959091929600450924559468728245720949135599100910927963720510242204489334484273760462505175263316665693253086376421445339203324852548768398455600224389930088642055526685889666811814733198342802436407421075018437983705120433660419341845278179380009190206890238386628579687041368142133623081427880537269381199182765589784177948285820520661098238807435153989555334702916904549116603183331630470692596989050703557102230745894210619904173949634614042100494359094148255558024306756514067352602585639997001751054797816690463391242164468211079739685674685542319007538536861696216489219415052252541017040998771900853486597506016244693161104003772073105998345371545879590478090949132495477521023675970444525190149904015945093703955841816599921166393876604257049385037058533670151728479992039181474326682420783059768772048136322259660994226622410830510264345333321653146000741658469470162456567825566789357560234141142258586482898883714725401050331312413611074099068792497985338919868638851999616130966065610895926289922800717796413016928767294572981665239693809899352224303689348258981780204960552499765327760207510456146981963526505738884579936176453725165294896013545394231391048685185155803436630966029340807099305865193623114392114911723988277379208147854964093595736499373521007323979569484470569920821663447653123593014532982926464348681182267098901784111642034190702839038913307657458664998139262108292582213268868958562044074210290804197078646850342707441597696383308554280061453809142094662927232671448272330260673140587712569810246177613820856210950101978670119741804544833963521230068933397372439315564551742388174915064012721859537014246135942338968184516203746713374518552521366332392572124919666517285271455842582176781690645141476950056289383486772653496240556241273230328427714967545328269066308552578566544143263055535072259120641759068695514471761894973784507112656378427071431503650783664031343846612233365077887917027635333761143944563106204199406050302977165863479306438209327842125986216390882148366816087592960653693678492716640812876356294672706832018497101646493536946666715446526093998575455415901118854063779533086891718054515632932679627176577433386342377779681986316403587810147160899318597927088250651517954741092760976748746589248431299239380427984905196426813583771926117726047730513243682829553076766127575082875250291827912782586285810239038773048592683716694427285411770636133632809175295032161113361985110483610537642189160850402278200756827507546982737722047321198373359842109091761195110126421689752400609781736184840666290786868477049070786069915757189079093036290265587121835169780416820464075066385966486373160246108674503486778186066274654468014405136778333892537144257584443101840167980163714912942293240714404079788960988726177975756038605286129155714647772339634176
98223597835667520263199886710665684710021900956659586993552660152796137398194610111877786102045860246954838574225629875949843725835226577056874536089344083916443105255078063217984856902928444679573131904274138852786683322964173734958837018558670255799024103576587504837821425195808775290793006704035777251899446067450368994197581869971000306958332796120110161026681585673148912507320332469431812034342347116152683409906181565325515870768179776583188977022791185280690288754148111183298821467966982352768835104233549381371495848971259914315872907574099209017630638052070147047059253424560252816821620478869452887396433896181413558621296642938091827043874121066097006535616139109361649561591653634081422899259049147190306385360606743822274668099243185342022558790823460452737020556444775528113798726463965428641677896513548313236342846525396082441492575332206392337535178824287997484728729459498087731069430026654738417117084099800175090403376790837524334778908795590700885818171557324229757433349908355742092517202102730138708861672429236676900089367689121001461218792756478486774013955264551865980865975380820263629221815654669560376806428402808646103177645345683712164464888215941279458495969221973777493440005997649317608470991845181755150300991234079509396247538349159341975281565316350935862170843746615208328307785774916195176348688435345027722382793327631782963901780217935039253793845774290990802301012213837063263662113088267805966370894003243818095248641042865056872614647164800529715887929613807424489345083346145279424830124697953162393308455878264492085311278586586846289700088825334115065742150754316689291380488816785876881540601055408465417136089839865479725380714271955369315122674552183537147047889242916784646380321824343339397987098582235607624646166383264337358582596468601106671649795377420696140408293159379308093839178448977279696805372436187977395525674599338252766669015244262960843790821117158372765142755911451529343372958391437280988497361684569873953018312371243479138705299257676686062455333946923286055126601809031967239364903482563756695322624222717969250350063498005655488950543684267278498816146298080895782933636724102952057133186158493342080493494090959902426191714260106249250740275028900424095657636620033970316695801673177996894311057747342607772461632375807298942483196945203544696158364945733051605545321553138419279538457252666742510125189679145000927126120877223497234974995300587074144623331546313844655529860624124916001054491786256202803896825679824928835446829795315151861717541574488210779661994826033071046443247842837036639217217185356433664261597886630821978849263411967130015260838666394340710385339850246494019898823737113856511890341102245892562005250092720695751810643857099812951329501136970426420242250966739283917533548921895314150905708855236893651616985373730092875022081428756388721863723217483883776840375782428250470475660389866176325592701801407346572970329102480907804432220235177084310659019849473798074772481140315457153092125894705574750317769375811673644003101199974774457117872867766958970348737520732119869401944859853297866493675330158997690206874349390496673316911071793459448313311232476734040245629111274967951252820611002384332987845905270216374461954465339748312226338434254418292578209660717828518114890257029509261933053388363693147792390047699180872972541725348161810033739298996532994599191277308780283007006466022032840495211002359090754711298495447634320210465886237395565330222056078441893954615100997604435461735649291156973074938560842351452206588014708772531644435805117587301804954776699541523524836040344298320168931227033331054418698700272417104122582369855965663733550465124138863928657096008700225630451164318407759416911705174960183690074568485504771505809997536461607611472831459968567485890371547769537537754131294859399656195710541154360338104422317206110463740197562547016764429446088880366679827682174653717793940549691457803798238610513996577162178129809592207413147782914259195304597129733281958264294137077942121343333871763326171147066168711260861915229773454437472946338634353026228642839713742300530728970321060041437489145782601203046895682332425612051744416396586143909008710578443143474560308812902672503510970106233601879226435732440828826898996015950116532114157507768896353450833311992827460699303706367181876990169421102588488997193446060858303595622687623904641951229990068888737426995630231621181941992834159707007902172162751345272357983389621410949007668998081740538833713439483988811930227476192245119980598552151987913260653542825573442458926695781064640091973757187291271563263465863621021509768435036940191829199798023593377614257049331878096728663945472159991679002524720397168551652760745706131684715390677462798579741614901331549643367462963117946198407397065296922748838373312001279302415218093721404221578306020922192509944413763790562041783479998518432989663009528013602847808850084633257517929841021055110446418335032595674132389274096813821679539479361744538802786712168954454704602805481217826971018340477786404494956423726964609341857282682039136621570701494315753716828802679660619373565325309763641902633625862899900345962003232448190587463834349347141649892092218223401489761405652806127318229495411578252455831695354357263530077092450388924370220752453389412383982153374412750078405099947244749640405222472350728157881801751673843886183422412803835365287113963271383368179917948847018573604073403193911767200270125223570812523168664791513500793544848924540333329036074148406871010498184695677855277229874568194649009967024895747904739125753652997618172444806553794771403339825136650542898237052007964960630205427374436285376488254188743081188227301017063596187569390213132373455537029839337717453853262889845770194079723487383069238659151027555299705640507099689776236916671054344361556625922589495547630977024
105466785099912095464965206433303532554747827013151009885543909552515443270092094968496498114292572113214378816314587210551278934693272108302325016119726143628050683428811504862066369855329379131727950192287907247820440834109932992827594225225908451476190718394289991140171201276027271535942213424835603627712218685053786233302756973451992696698000148505027207381722798467899181139226547138014138097379902432938922147047203062827794564819573634468345819925145896854410342625965680468110074900065225203237820455174961434747901574482829143975609087930796699847547969460313606666257616608165572257435184655617039801195113542781257629332361982633423437449581926779907824358492394171123713075912222516234815588365779679809764053335944782858429933953875990848713366125206016888513714244602508230827473524122295309622657067022940606566514111117530851883182611119660697652964646574957169920560038115044010844870511267460627446238170702880838037089086691153149866869892166907202326576819260306239019141562689028127355292997337162094517026137117859100382400623425523449065675731797419198205489620127214323120898581504941044485401492041636647876270261728157162389796457109499539626563517056940895282659194289049984725976420074486918001274960634934583386605580476688543380151970582536300719178590856353790896754334364109607616577192731359768855792642380575076135961866133826380240032023648052686561880202881661900770829912251531686347527950227090946978809166387553679158316481566887188352264986895849349373303707323113199555931658357522055698606768983327677654759226809351237686115695877333902269510205788276270120115856864622977833368153540147269260224836907290610722036625960885028114965307236792190295013451357419934359042956811039447426419601753377424847445729160157475328635882046973732669555819186851711006035820377778466689151760801678660980536842630466355236205967572631802455542507283123924718656234832658717112052535340795348869716306352748747604742802655497972070189680154377769113763973030900738438499377023403610894976168190698528356905401977351684177903916066951960310327926801367774540446789818864412887021368621336827718834830766752228737521071167091688505610739516752194217365039165360507541961116643333294504288496259793194082844981223924470229810807741700394261963890369000982822519530117216782639015178977294082133318608569689067848024362079133359241688388968624416966960159634431128055974092108754437976741008048443793262871095807495768036881284233013665710819035933967753329970091913265259088442874879439237814837588862986803309050732427983312389729561651251905055747924712808763172799251727945524006188897517022049610631320745423986897646610553663557338531255294943128786751412543107675176035550332134088979098212037736748508419361775820699498528705074892402046066338400589108153446507078235014141581242424570271607315613753589410877866982846972294057148594049469936809297393734619459283747525513331210076261310268378132871106887439688751470728798615226201385013892284607918898954986498218795775374546269195367939004616544117503079574354596036205331755415341608144203958286062966304423584227433468724389894516201253365186273232224273304099301968526239256445936231209967883053519746688002494622051393032155773342789446006218846132470830131237643177531892503753582342359899306142694096732890511111012255886902463135965473851449254091442296952768736445018707297117791022419552291179327606291566341228924937918409945246239910398571467785704578317611327183792818696486292842991763112006163174318275711195339803419006801424741350639729936246928994220837866723919290634170878415433296359260224466298324203845326995167376802136934438269379513399387189058633126418441250184044076138924900137652183118170864372067950761511986762755717861638810917351653352235793062715121378271232634967021809739766367424589800077813610388555137435109934989499121343195633281885592929587866397051762784071036586999463904969512446981973268539469354853640524262291873888914660309483979622007912703975130357664978803372995060818575603537620641708135939314387000240720967212670950328074473095352299371887442662803758773295637821092642176874506605177372812123224168127485343251028756432043485913533985502928385635954668083582769390308394515445876741451890420812369791516666308245935011218204810058615068941021246454739139632568558677204658282339168144283717455297250421654231609908309663025073596250780608580070478577919354844930470375431247945573309970460751594654331195437865733796461841065499988540587262054301204851765717555411021577849783066733999434627210447922505593341951806995410253451314259429802415239547617845228966170880641993254189668953594887590284748313853132554468768927084057894313610685236993393884345765087073537730102003130496506891501039156371032861318142815929184270708278211824419984164933924808841221174728508763881310223516718790465735177147706852973343183240729758026676699535942532995938705018617869093216668298363700201977736695258677324942378597421276646748825478599464049889936916142980607256152367445597552920027273177628042071405444816309213107857618173278254696314595430522767466123027842538084994881147141769781258977865416659837763712926891472385502816146883049028301853084341504501571401155100729030447961865051966853827663510657204006799894490433656108297233162678882021954822635465185747689701198042835028256881253312047676587660419972165789248668187441836380086471139319092030618884184752768658565336420183516029775318246608681417550265332031789164392884286062686293510040375870287186417909640372945043983826025241780831186144534815001787491413765078767130892744325604136433128398751968285143534068203182143298607415159355164965083726748031935024767196636262427269520658920894440203174016503427597513319232907690897038323694508366875996298758337751036168138618701766801101181505850170778762513899717901926997406927752553164148651851776
113244098204595635624213868852231869390978311637137237341945948675008955844997210699454652422853066850494341613256585829264402288870330874096864006249224151839669118389298639382780012377519983669689105511248368261417540165701280868236479940925933752745060514540555286271791265330392650012745873801380267939360734637976533968252591816903062214587189456608058786823677301889306472204539510673193280378468586059285875946764460030779102733926655225176350910949201698754570423735669339507229685655972652628695348041324073330075868816757664821732729113585790034267486678655813427633846012510744394849702252733899052161615838595313049599933246257461068405091464006098092673878559253207429343807782640268475840502155505452581072027638570635909694491059834338283704797796458520949647520182014279342743704451102781364820876550871702496738395238993076255277322331788707159759006778620909864352380070427156878044847043812135725962308235348934633088592615594252907801398235185978251864875637588679551882993032435927406253776599015231570350372043524604133419597942895658676354549756052695688373779951528462219346759015424128062118220139437108418235912157144948863703084246845491803405786589656574828760995478846294913826842061471769799198827410557682857686213973149618346048907502290486870080423331927851041426795594660024930218147887560169780211437184795498384419166566136978565618249542890271225717053537911645705484977915974719579692590559167817847622913843664891378357361523686891827623592561560885378425304379607081724249662048864150576206051626386904886194705214475102498209747406766357784479901627949719120094689899241143197291112289245709786124092947030936739254753563754046442742454130689153646316322841365051356252639055340638719615595888976025074316119298969437475686604491420966429396697254563504352993141776781772219890733052656006147703119257905237902241955746461122524049021890679714767345448632418191305681395301680650059506085525145743227666832167974186436158946523194938187393263791907686167253901232907973083850557983269611417672059329314614804058654491334471903983987114161839119929880097875052104301999430270450570713195470342223856640691092193386838391254309682706379574955789627245628985671085921689449080963905796207522077299977248622413102790755879486702196360241466947148353644788543683281994227691838766202334235333938759970823997433335285085491417747610792260245040349541205252641199195757597996601240759557534718939554121889219258844201809403818534437261088177660079017704160356397089089457229792852867308473486929505536272989369145758750486910018394135672418033598365345957532345495736199378719041054108476326597137764128720591344831172923308357939003135541401893079753368738612913771915932902469462512995212068538213175259484870085596976506097103473024376684602219249791663214924396612974785047237485144265851814478855458580583086335391484743898387091613713396182779723707056470157224801600170789823411998388198265910736666218454089996463022834441655647736142967014433963407998896492822526934159594258229383177937712501304226987784647570698282957584790775911850813198097163218562318596982043546773358624993531339421247120130866794618091172812154731076663326287076641731304982428793757492031653376087830721217317002666939189454574771909266362904250075152298350819710745433990763700006298192630566122357388477704327894279427131584714720815544920649662487329366875263594970394270335073060319048152264399600257788437770532958694814579675047902837773386484385266494468232121340861413946034135318673781380822925799230207576564127188613181252653167909824410003554320755717469577383124632709092589158780229221667458352821799081515778962065690440862049576107359695209455822009804099672820506178886791454520856102608069664505179763185436463588277519845374921246280821086347296197816177837757704692333234387346927950632541994145623236146207397440209268926942711537179233438667994183752970495539060344126959213127272480811641072651229561709531089861200741045732778113606729199028520876966721255057068946328301624385640447744359119383207080360170409977502117080083149242503850164477007454324899294460645263399283976563341343200126817200031046088776995625706807794104612116287879903882134125365289380747260121103449526451865645729228691201501705605008215336499530895694757910891038617901591065137233264853999112757005375565389885893953951508129931783746141404890333367880972552732080594925716808054196098880414093512955676138573399913537655050227289554431673711381972068061167549264789351362742932571188615851378703784068079278275751589706384168166445189588963347765169116468117365245298917256119991099833955676220127749310784189145958267310333897587017149075298801759324761895565192259159025327866851269859224452544547393029335308895881657254045275681711468298573662416419063811081539307269263724024150540411704929903358908689328569752298611541873728897332950867401474642480018022888938239409718888704719143691445888015670260743406558784342711070290093683283088687539249061494351247863584299042031848678242954137242286610431492609887299620560595199430435747669671341257157399775391581612602798124049628171870713595216271517095909588110854187953199132828209255424966690856978330259353360872882421487142513563692882946110063340744416456799591309669001427113165784460711812670248111508534579302200875633223143550401498913371635217482684113434196595233519323778264569154571288663604798855839994980584553381190808497977550981478916544188524294087399515327509299778923358651425937886559133270115500607750948194323521230051778953582841779790686046916339891521864291000454382922796022040539835355652140902137750080170372198625197149676102613131265493429897071149398323743014891587083199042451915403067935214999069796450805889257436584847414125881643832632693447646026512005633067131129675597037027838646629042699962137508453100547310557875262655129944846466939879424
121594924563437642977582778107492233910798821481700163361861954639714499465342766291344754297800271284043729665497229048326911891921403972236281110749989339381179274735797463131584444680980883861942193664576275454038178403113355558596541635109224356575646283873154355054315312983123766660879377783967862614817916604160903252269496030208968053476328214171905894863282432518022577559907555270302020778120269921998588576516598211823849910609793463699985748786657403364630975118390490463368063863190712527653737746206137872545417441690096791667935398919509371875393650235594977991257821608413506123695502707405754899884533320621031728434794114727421198271679448738113150571401367031023033971291637557409098680717528356296345786832017247354515262113338215526578219063520553024816740477312824295523146381844019274135977421011810628833238554749341621712561706370739608321495338904779962289317155561703885366019618623850527730332999873786349389316188661103961139977170798973267381722968637631743790347573227043856322519092315131350130392797092715831095898452551432388830359925762776508551398078928802611316477113709947399028402996152735126282383181916592025299277073633544615165978704932590190226318945512174116414356215244618228699862682473403248825527811183958227790417134716671549728204775116368213621907064285419828457906830690603609553907668463743502275289089283735998895842951870166057756144773702903610649206992098414139387635546286032657806381574691591313359307486270982435883249862483217353285316572314496333912897159730970167906136873154841782217215196132807759014690915120578949344048465335300788298147385125561312504550768443504009927533451290533398836011492215770114810994260522506213211939368660172893116382464095094360125074508676018655565925488677045115397690358984940845743176929690809487814795910892260953338004788655948085589960682472696564307211252532447244059880630314365534089237652671014263343282954091611460399772810869988199110631636342477328877366793733791236898896869236115384846772980938455843196603072373674047382422818094491169567342276511268056260519190752629367828064208393656970568267115105554409099427485193797348045690165952279344591818628126570009261249374273719001763101741661615550217749307887784037037800346566094331332272045708378775800064651833800266784841152298988790886788399306266736003914905108653235370745787040747411255550828665583723600592311869971291129342042000096334729362053830452762057484188584048612927301382653356465731671534384105569296453793433466300507204305087764979907430292511327433935857767159176322611775651274392787805605886402089986831807191589970943733449924969318064781230416034854218536957636586732528367870107497944096192507359619542809263411733769359174783003102709739034028503950957706111933682541851004241929017787859611719212080386625641314967762628703459976918868192235869528671734105312728582981627026407363725430532537923430855937620125248205502576511037052829066112631409169082077053062359686807033356780107620126850158197253991310190462978573650645931144903873755979538003064773913201758743296545207882385965955379208121363524814627992620333159855404606686328591332987124064030754262599293622230316485963801392820920365929733380959289307732961776305342803117458829812149782036680734239627006655413046165909001348110954692914214397751432843047426372629483926828365897671253942859594848133970652303864129411277410712944308369828730438960236784956206157045668627377842552521086866122079262480405572102400783564496405468023925860341633730023335607280822046968682100879158585580469509268666417350873129516940262851325134212683865389944391138068231308939611317053202914092748277187509241261790581244227943218958285156372226399865372093529121173745884837077655919878684859776370618598649386689176969065902837922049472207316911407608222333906399245906889412938508767594550518815196411461609743231359321989829436673927357164205284305705298294517148948873076882297691696485781847745432712470612273590520596780588291368628838943034456326867704546434524308688990000453769204846557558525435643952960070922157430034739310302402628241990068414057050486341339307617289095385382314165731675908283991477212386449090059302660555448277087347376782370485971393565436078787224362466648239825003833192915432544670397780079087643106478573270840093442782555656117808101026088620737386767350925986464346983782475155425048869070396578483664480401310544309987570410065540186643907595328185079181043364026313861500751612614232128249077050187917184777108008482062097074232294682315860961584432409086902232561171761593465279315298519010784944777604561466839811354406399477664919753395057976158123942232169677493244112992367391248746071778846109867047260092561605950911635359886900583759045763380081467396748101405689063715412628660881366053124883083428514995690170724021312249762384224738342729107821144339349638950043903791399666041522906242435449642294607140242885058130754971200995245526353180954402663365225718277400619261955712159358879232874577721108431152729865868578690470879155015488301982909529015241391962079840817636655441986639489926147154960989845220826019786245507909117053245809144077237289970906863518179684573685629780016035461152470764179003385141195061824336310374713116246443244139610375298542428607093683821235558074898517783729310747017815416814173154821941375577677588282493928374657156140628744652920370038603513427689539138622749262603702933745186008653115901906162067700762675401716771004475792921583963874588266747224708841312902313239611651902444131658520748064851867735857574227300370526648699699294673948317451885753444759437618481766393270338281675310709479852819429034731362343677697308212732638367316951876968979597373077183859953666933361544397041801221964178393205207521856969378984508293013353286347776093625056090827267007209159760031230259265247600124636707442087798309936464811981831065829376
130561556089887938481010523276125979305215779874811116029263627211052309495164166662874231892551902476223936386793904585296322523118979165789829838833439561247702465725812286157480233641783512347053975207963374193145381844196341676247989495374120999854760834824782541829564143233630194432203012545742730761415999202431614247579380807037336458897402197507604885106853109719058475302356607667314904821184757917419102223574495730238878969720396585976500486676191307151842600310519221174391430075810882129302574808029027559262396046681738171822076957550001622142579478721985781393573029428084531811491978697646793574298956197072403420851448497811886500248498738831376112612923146071984137082348646546839350331629632526061360209687725380773896392177413870268413217415936130466355444185844502577666538230260197738901920420060037470145988557603681935696764010311070367268167983603116599027182618327315674420796812920957635548530335411871124579585650525701885088064206692049093445690924607665503617748476870779636415735582457273518688590599786794593594585923361352466995387893265028239596329771019108482010917177329174327176813260896102797083316456818045337108699910924664502673696037379477187898114677359998449964339182342492983067839705228524835881448089743390907047489983951532633014069299478959017950008137564311943214159987607787899383396646263847226001217056854817544988884397158616314037972236523822956994665339849304785533470034516401131716591990849341494268978387685459638977243758390478970305028208774395195216947253413951257377121666974936449669323408896158749405786665997799621004682202713526640015890629125550672712470350409129636570903875809712485599098456536722804641846392546967014425520676282582478410141551279081127692810371081692096285384586460181769137406531443705172240381432040929535482764735549197743521128150292172205870672499286518039157758306647514523020629393216016541975712215948453327052232977274435152588955827129148155771524790998476295787431693420752773143037627961476019999835981066774808817378573534512781217865102239999152763131386813521319282104495065732190207672581509721345608285448692655943757661465307720957976942194128463120419543869241800984607870795651521716216572079989319871677569739026166819247051301069710263880774136423125998810448478577949643309241954419778017682334753373151179747370061352152243130485897617447687684813276896095353403611836427639824964854744097068046628019758036296535477441065501396334949230566007936931236918487898468230584932692892969328149137675685589249609127553433966259575527417914061282978780431678154436470836221890516899872920635114132861231355892249218722914348507877543216185967504119367319209848592219918570095774307451311842064579811480514115642636555701214532961763900292533907483620459524053630960600838064824543318555037170041310703243946143087870727863432746925185942008075481497279107627561822338893575215192561253819592341463503116629063339660481236265807993438720900513820663722875856252732537915522951303200237408052420684057506018144562900885707493711411200042088087931708874113035180224410092284556930773539908484501527922677615066550825718641381057521232185961026674874019140515045146971736042505501275539072139376304914171028887682612378762364613130167403284325268006488116355205843343663579337725539115446351068442968684999507249311852885747771372133904929560973253148136372644567220872562237053148913962079438367589133485308950772559186246683260260999528807610092365193968285443248995332123571592048679583828923995064415179937525857544931566389874139743266433429658522785013871762080107676733021290426571977559169361799158818522114725761423748402020062840320173762729291080211197501223692700483715239597532397986144657166214927297457705097054936940057464420114122116400118199823614089397197770106121766600851660126206194171572287972414883603956964766532775313761043351673411412392762768783155253724993249480846580597218932711642660316090556793174297791264271208357462769041872614696757399767194985905696049231259269286381698827784055171804990973686972353012088018732665916751126680940653370408603789630948329448794404629264236754763885087214410388949653767984337709718742482261238843415906912859886177425779667917736650690538773198592401994852176020196089056659552760418263354391187670430165011329480749487945583780945581452029277728667216205892568846916795227241335493292620775467964784806584409053390115435837838875269432201079552329779895139325529437927912710229644300413899347013745565918185313740743516986472536827393751247491895333093022062384937684577699904758870660555492678102907138902277244396180124694559496237812420578196824039743905772514150440500989087681561686660757550244824653146623947722545989507606101113814147857066512102574471201080071180838071881539250639372810969435433493992861787277865083716052082044429933406004059374044689369768188700556299961586137057992928415665086533625901177559016127819205339662873274424105546794304586182376592235440914886278905061860181208981658102469845492730167710588757003027393733202789909157621792094511806216005662547113158833783538260469543730871460223885252887413271943341774141770981660230717371564614178442568129311673893870522583136665306535100436236957263681283223055637491174584915180002474942555022381491833970551405092758060999463099997947643765711686145370552310345727833844587326366057921929730209091508790456965052005086920655857860424179641122754977233707176150476451796127535412628401276959298429736150055467854339850512786163605809140242284551719964165383431985116213168998514752506461955036890445159615422348914718751662518841143390281789682827957851994351663073896963631257585274391012352905405575840229723144855285894496895744302153503890570010888516111132336643848317245770581548730817222168102973202283284414039455401112562499067179345255784350243335475547459857969450045586221726925455297051329188343483498259021824
140189403380234583020200028625701964672968644196362179380737164458451339756750091492034570834907651779490806088416056621498036926466054858493170291798643426687867761357731168020342777314474791160652256366249372731342450598563863725581733717095848244780754633868524726867432500280675343111108307029160683162503723806401466717460271932538861685478197664413423923205942892929813974833811335415155091085085315807248028193983334845266905860662819400229780453700581351514163718618319874930850476219569634856566350522269537896428673225774438692102662315868109312962332077547914201815600366495317162013457421368180412640219240748340625909168873943082595019657799489094501415587029504835150682649867073947134585460059006520982852447471120720763258043723595700664905377653895827394446465272438871178116370423125316714769223788938110822702899300124506510750894099328963503542872587852412509124123690183867761276376513439135819420606202864474292559015529559693700974696461922633799893922618328481242236399848328452739107088746609375270023585358604326838039589405874742809018527596101908737395672152039559880328273397898359090476804241261969291831742092313025236381790328624886789688907259997412015900112379829696240301882288603097008346463320831698594108646719642384244478186349989849376968049387284939705554890478443147223211756567721803575689056790274826105703887028847203493943566792330233098351289114506449081296525520279372405550636927910983509085037735318363245255258400609964571033807207626808193808962825260871901409081019592486250143204074567588825752023513914059322180528290903356145044076180881959843923253793101776304322714941594218002224099432940590161202749709477325467238531812261200367737092883101373649798546009368590103092855119531372924471852470407241276165145795701877344959621325295359722084736527711473226865060322632463117253679397490544577974154827930853569014660594299778827795173798451574165367933180291602549310583752077080224344353156347922719059560422769007882087663435547988663446884366011468249016823352445465880656183416265123176046339335228799929228853251090478281809101296465036871365174807191910808454792835734025022701189261466058081236012679407708886257851112879196195945992484195206219534519671469160344226607170632163849890863739774992145744552779646312576187014852196017310381334370665477500369692988879251855864619397714035534399273745033830483241518781433803629672803868821839077438486984501931700208428280523972775235301775341914599023291433335423204714318216584128723182909631917765051390095906272844395111084275473054437233415854005608925569887807697992344372375170954687466596894961736823574117003162620111621586347071077856979054373066174047574586108559575108368491221852572663366987871507487699691637672492557459491403309882333075517581458415999653335382832298655347955109851877448636935307612289900584779544910909190232566720061110543790927533593442053231907976047659452665878975201738576663345823623708672211944632336674691352418370840245562771646161399951755238472915234232813520064879750779828159191547220540304465473927116776590326821813628485880622472272941746322482793365528164995840107298581896766081299974791884282147536875551779934726398469631649902201495860922164005817019348657280242255440297027855003878575393889562954127283590520458132381202711570374302035806252352977331662362475637050041851309390940050493690964121311430315847966968499821262242985710738671095110006053909788469397822912350125023805657011845620609986824734081849554640933113132029754417832152799407220327458982050640553938365791948736117952326354531117988850931716641413461133251669578463144711465620449976330924446102107558760004119989892222692901510188170032232870083662051462912736890913506287212399626833765865018222280511268439769422203229694203870621446194162479859236100741497340709129882197435354018805660444965920636321179954988568882222245021299752515382609857046085251260514620866137132456124011491000278561260311269833292426117643111033680145497311525119530036367891166125620466663659563513278290524380390185699360771283282558869834986916448283185694281858371646746112101418627620225351028014662872000090115350681003975575865385079889470240229046279228383240581544285252104833264109961876978919950493814090294409501364067527995741097056352258773996243885897324928073757141697325073042485169781713817917446421734016483532606060763958397191266961605989430586949215931647076082149908623031493287681314125428128108446411773994761729997624239814948117020904533545998207045230005018952939630684223120172389070937444779564796165460416063244939561404860371027552526151648225722083756366909846241488192475441669877063472959793935496811295976603638281221649669629823337069687176697781836883475234717052287994336387803283186399762905150727066909113328266328810610070588458451634849815186460653383845735561331263691043021408305392511511335444628737763320736137660187733312464035965844730010683640153094760991639383433959179030238801786565394221864093844583804302490753490350804362269017393476058323407269055332998947699126545709887195908458097665769100588449192970354982033686810337999802032393258251821222381208438126678731372274561817184582411384591297717338250354647516517862428266188515190002584359053256582709268261145769333324952263865648645027990060929608266772012490699273497494539845705993598035874919856128339574324782478114537818031577295448444196887463564095336596061562812337159999217601701883820622056010580212221326206269705229599295755092237405486350632063923239622416490816660153443919078623580053285483647197031387916733873857434731454054532857116012923670126712728024072942195537192406399572517488183026360146093015181882462458595508571930892398568398824831910395451739891135149820621853347730538804360517674972569141392121066042774771441496050357254487062391448710071634780933877358236946462898228224632866337368282686356024316371509934542917757566976
150527225690964846719989007581413440828336915514208940652887913430205513765656559550824081559330944893267303920606161907654579781843015617842518560658487633697441408751046980851813322818869983862857830780412213515407504874331854817193566222476796077178085960666441916415738779048252854863947268251043013127992836806677733749481085032380282297049074272419809693388385049494295161318746680160544424744585646190490530213411091782359645265664385551785310483476009770235203313063857542323703264207269324225903531586805046240548446675343009613834487030296287837131561288240006842452986849175750336998833284166206611829381663321018388637012645031671577759060681479246598058342999091263511513303313425337539169365367636809468022259670505350036535364050445399470493512989502946412502115091981170467291700462386229349893994090198598137883151704604011047953540639844318448323554474680249650347353213499637065367693085650898207728416327449414651693426962353751431365881156871155363182151478718879280188697812337516195186641602114224417935617065967503993368781312875022659286437470832798777572766026236962346060901997030061856415544815703562969243403055297764096270614707843245353354071673916463413232103668523318850427685399197983793790874750058925245456453982920430286374869739650003251510936938825413567172531034443777579751926635269588895930089894829277244021308462244336896886138360662493697368884566561499496314455597007322316311208619336895942678888989029568571654940500662266071077217716781555741318581251543801871249334824141015922923684204230434837044995899520971435842324104358172234901234918855149491508909843820019906643451026019429105561740581882994963326294506869653533834353391179366847283496864758687719640228024647351025603270297413354389146621108233977270677651371902865140601221008171936886727398081824343808341255672693409429132691586972718357907279229800880857070711549264368521353371812746401619993442204116426173179796140460007908681834962197175718974051972982205653983184665183403787020779746278237522617410113140589395225536698259064626632669506331519093341259803254220139342090445867133442486896167553090629515563880983184406736816364575778118236296428874360579191513588263338015088911375470051898219139583007176987758345052726058845248678232881461416157429939681701740429184292512042032384428102712241905077914824199219603471461529167249945106690935267936084782549808906989644582696949303018222043278262539363875305218962102994203407494957446065605207497562113151715641877440791469424681208473802549664283055313936336982474752312564155934286301452830500233972091574113003540984430251273197941733689068951707152438590165245487271645722077596195798700972331250194544198864249820189524581428679970030656207538538327472324463272009273272979105502272693541881777659228175618555701646090644306060674322475261523889230965621242670679855190529551418679174200114226755702404572443744675533965201562171636302553396365547277664778600503239345471544112190465187382728317113683178333844824182591181759462978202528429686324581942998110056894277965076782273319526810757098022410288438487817819633737896542047966756917310606006309223135038446991836367224191849510026881862229193559724033733096374119255781235014701633112965670560038198518338453790810672108617956497780927457810650705824378626062835319607430653518712090171929798036739681673916701282216298891747836307935492459387492159448748625794765808254477088999495380976138602585386555535815369689129581417506280179245805941360106093743185956383981330875153872682214873175684672238048754151269026240433784810044957513294108011085526002443695370754744224328119265049015249286323642363866660387154002045461736757690259401800273631860716386323737369790462081557267066909850733407104693603784713609027071653535921950545426268931650037879276419434056823107104170573163579365146238120147702359241882744414701663850746954542545315116615511565785042829747963268187474544437568196068543598686875742361678555585544943352622338244858868664078065999272445795749210733007169014241791279887250116627824530350191758635468283997430683315189475908908978081647054072685710208517547703860739210926455288621010620850886081148954142905494137254329639097533313058181583371343508221304202357809117193217642029619954997584355569318109785048705122510730679192241544990584799859112279849571255694367076696682802294956101874366395158147522860267464225753060523152241709816590796714416726327164012158690959754163056068919984464211226413044566925515813635391479979549302733474916088579683969212764101076872235466037347509182160889672943547520763432614777252441003685878466493193929642177391546895076263043813819403989219623818964484507125722251893115159064557323914742972724216886566289333173983915847614412054709468641753413414944080675749161387315398654888207746420131206619422524373162068602292236245494943845506269424880904346122316991511888805687517473965068949350695912367722102458991264943607912006920318614712433471162185881185087063412804790586552615469395863639075809891514758708564505702970332011217492540740397353652568993134815213056428680909791316936336338105177065963945900844200613570641508371678331164085672111034384528063078409425505541809360767871262959732307606413827965081494403714636258256564427966693847598228516030867055482579076428715969259283914220960674646643969032133687363153882173060912626875506453943917650205894811799369928160250045267626549093670409471880539746224286237790815235430560368833892419033529172286613188196280007941734775869823908162554137159922746993553189682255824772404063512969846965389838267884512426686305467679096269134630835712583996862082669634286426267748033541169783346820595054166993903865852232711605986567542934471961416912494681017198907781627852694996296841401909285539844489972681593445108775078399394284570556595939954764300341781898025640319262691900285575631434019211395537462849098138750233119291954612404224
161627377875076254837001414260416696453134550550760605853739619034102965045593182809666470036640772989340320231274011472364348056909641671162712824075299152887734602365478747129519110951034278091755533074843153611911106387053976572716606356787024817585242792234777598922290898922804004394822011651692214818506974051736485216354179296167103375268382826779519353911725303458334764108765305749527583458282125864795953366075134952222256531547441914213205734933852590934168114380029425970810341344667278253569046054057664682730831893549538968408177738014679362670657545602614696787950733681983063417741936412533006546540243966464182152646831387371577671971648658209260344960070261883625316939300022565617123385814768778367734690771210053549987948436029271239856338817516586534334277462721789751204722794544233294637511421055063286813658810170220020345786193884565566739783123806533076339329273035361725905914004458983668804640644066915755841624955368496395157412044746064492650585773003906621545619453204094343049244574288409582859527782977476062567079151543541514223549908393956158455952085736907805678752125376301200540453192367287545894267496562594083851321434000833371789925436977796648953104728397319768991806100633011255867453728683814500536060612193047662556994982014199612883284184643375981170179995620268563933139172868551112846120900157956316597132843116869433333022123694115831001370115345193877347764830297651205271902094571320319990229709374124948061850511792574779131765396062143071241085598124844637129873932859893670293120090250375618241836667224168595773236060212710204809008441624020206805449367954863302275648822332773267244551877005868366504788570967402315667344324105518869767311368664274671932899062960763646999526149509637623760698752192052173391963100103084766895171501941654418367557807152172168371446280448168433215735002625541247857646823083712968277789115884988914326152398768507724888313500286551747551414187805689090922458907976566504139709974140712218451017567722857276804199570671051969040459189039622825664524665767625676734441533717584859975070555604067468114710355318349124187278987047065149373349797955403338217947091252644982894328590544242195134792245582661552650107222471562382568481287568725623926471088135454596828649499363237156770501894586040406192406885074029553817122900203101970287595125452309396408003834273872157122758199438859620389833675186642507323336741183858314441986608558567439269934365087855871828190650878940864559162330818928817542038814059884383697431405185005892377875465078895091441096582040854909900997460176071284057620371883127604215080893602861880270177023145067805773257852019150910825661105395208812358318861530116090242937118330321972149756067356932982132199352694034042978713508245229043034655898718109053160336182111720860327331073170886524802701684551503537842430983434398362419032335068066194364176444390845017502286801686545298127969477893822164568299670937704678013835060515532715181915119850725708832489314096591262299822450774764548721307475655117503249904471512254721042405797384552498204975252599229251529615984308021307433232740970981876521063757707267759820757039180383141694052837573418829770419782490998867136917212429914596096065829658398354494557156518516786754828822684765508573370729079945000961291135498755729615322734686905553862693937832060374943920484813730692058830067534554500305336081347680971754072198183978365288607996485708528505448893963616844075886103692377240309723589698811118438615826037357929323476378920558595835235534465170283588332417724631483311176150107234653161166202326919784275984909863321924694555320083539954143269083172511846006101859616891284325193816148410185157122174693173230126597938417935773253254136700878913170056282328269088931693874350782646356884700283796860184443002163354403313220962667379469235787157900883745865725080621482435181967576958935898732957692255969512095339127879931699539868620091297963528971027632677569964464782799976108415509421384650179720261943625864451178621668888979019494662428262945893430454572173040370158257667015466353551233216417914768035983975363728764232183058029052007550441962328492831458370388755802852789090037095701934556770258581847133463854911452354447848102169898539062138875271381863192505904141542864185636830444567082815419048636283166768585827398162386477085707240091457844086885617550826511991981414089657065284165614838979711882243187344907525751022822637907162431008578745631416856413828653824970019450683893421873709318667300751014969542259198495434446073169972001158324260431566631110181938889168163975206008292016389711750065867654724933599719219731125300723299768442363245977555215968771385900914008065100923936027914732774940024082888753288605513977199148880004848311332649467112678388126042782057114486406614986810701732081152114859615147123496188638396327276652787451475935707053215374903973572168003904096586527125645961579844615062089019432166020616816579142123532022481550804336867890722665067668680800343035206079730801876537787192299138653936775165766511610258901400988564995682492974419964770158346765993308106583871554533526651095589809775106637259766049117161245401392864767990569879828998391561112584491291168130487566606521039857738048812109690345911436938548858474463169699905971796432455373657748804890810391438989473853827358050787162740081158599837183507987085937720781514131437871470773592188713535847901743898974663212321163887457215362218063607681338199315773816399032833930608238295476328965742092783966695909709269367732841630055948318130443349725745524021428091137618549812823316994380819908686925874692213415104674280543902922131908120279173285906908822264499970334226646834933800827666232277986353049658236328653246487185705330612252884241928639443732324793338089447339616844316977540031086308619609964496019798023097339068718596233035173065136162660099385915523694885980819922872256680389933752934048124503064576
173546075527921622007770721238559434649643022825793897516739455762742835891863467272016720368784010422344208001872258922133420675197014451180659468510802825767331019171823864576084614435421920444764825445874416273165619497893386791641997544626494807167245871217023135301161064067971206873400202946237251425823507275032204003557171107489501786957229865956517156912477462322305877616755393783415434600808077732663584355108455124645278581579663823501339050715135400336779535057053425015570866673485656025102762020023879477615784738417255806297675140932075957649149344294714683698301162005830730451273900764885206909486062445956245775251255161696808375260511706552763776488295050163081523542982103512846889749917805554222823189616755049585901734931720017018474086739882262775629925708544986532003065250828302306465610932064495658018733158945841795127401578535631077078768464720444648504922656565583316074004155534933257728506744824944901731725034701287911473744376045208905160274562573664654944071130893246904173777591018540407558668497472911298337113690530734680902116422393959396156527016195751771389340865145426337441695996559074207460994492903033501766126821354350442145784683524536421347994361532362725468520523548017060487650468872560101083238699510719637312884295946773886237391459529331315539458722905619179207429469521729384144623686660125903495326892138613230516845574527673550446686894149838863497021291206850468064450570974429978474572910322362820135836633347492753001338912707847918663365193870701660388448961559035765986589380356482933016117376175359804909073177675369283295038295740772979068140417487502071856118517275043902949604586478904758554752184924892006966478071801106999690371364565514729878232645471381198762163334910175007715838417693218098961050726045380825632636265287651556755640622277013589629191838686431910940285487219793448461905792165711267251047423977695371088342607555672838279667934081506596086243003793959162063982870415806667412275738464841170098682057822784298887414137872352245236294179436965421101060726714320754286073616035277068424416852903004825032550938151212289273651457148788107334973069046666251033827419297109468757405180066323767301795751632982958317198162852189180788866902623911976790347108057827777867978728902969103255332653688270750682735863729546868145503705296248680034596194576671516311469085212221205531804980976436905277327601451529066249292950244971945906504243257250213068708553529716284065911644094501167099891917005608042273751952887457103380395861118231284332567699118661119388609832560713193476452672308822141698051419205347748574651047004686846941369489634675322374655616449365181921206701312907751042495035952950281669199904553303748883356280918900079280387142093311427226058235516671271965805919901941676571292336633835328346717703558385160838674146898204030665384868746964682006424831770964559689329335658060497994217354614037424670549732610040289315194261251250811343907955113098477931102032601696830325489986578582814164273793171045899714553556574761462873878355067324422524683982231863828846366853600757157531564657010450176474224081506701611166669773620895742486333576310384059581422743768458468193636038497568387181527145411491970576413003161481946073584399312445704384748940877312694187858724470509987151858497225465126847607451491386038320259234361539112670409079074859493536030512020595732185260120919271344781309961505754417521528236567550265329796689343276539795165539394906272906248932139029060943759389084619395172652613123075737791004606246246804770733315325975738618367839001439932081277964053659893470182556513118874120722472255404022738670102688460576192198925874832788841036217304714606910786090445894464464105021311514031487799510676747066630353854769814618312335192055036174526788333040417358299916805566916102971969519769507936597385989000270924497816107149057603536247637992748205004605281397755378805639497068367116059358492857193321887082828053465615977532031067410173806490836006738889574761869106620869385292180558776385889930393987324675225325909474220010679362756043171478672730031245958549307494331341821186747930196230012147578073324636735180021035201290244845738161023731366657771315128998624194374651010694209553926934098845215227516245275202056784839752643709389164869964923128190392587104607067400066597532211052055104098941496305807872328960177468390871693827996938727676812707065595287542135434273191294723811230215444854928131335425501981909567110130477581487885430292801770224278141471624757551383247609836873265837799035163198552669204179241381665781900034711958229468790119228802926989349956855726952421641400881955269971184412666080750606500800655022514936255290286972176811155872480086236682949364897145193282994335308529663962954653638909570195305991837118708040580811061981603858820524775587830820672010411150845639748884934116612832082698198049141714236408227468146423789889809716571964976278613345336975465387247922238761504076507141749366997335639431587067899652750234110447872266040635896306424783115891906977747168036534516569902533617181606672131220878314325564025342155818157352651946544375499990200703736030485807559392334305339403186756567531317567049541047895233941033090983520389777407391631224353045715692200094137240858427211487941254398570785193941325709872753497278870541854542372608896814553292756319581143022463522888772223213062345688971875855705999567741424194815405066865926607383425786321241144988844303859780488894194529591738626940540379216811404412499948219433638021344570200616788116559407169159114512263191898722604013662944776692255766979276659319369013233644812670931762112917098035688844993668970913221757773019976008594618409401945646219951049909372741770647997252151200346672371868418123448675189314594151491791359263211861592137878035498000011629718646925446531538669432130981192366861978715783114974103015806654214322062092517613000396206998072499114570184907699651424026624
186343679685392325343662276396486346493116500277841573767692893763454803853462146107619537487276096012922880255765714710051813087145353856165080251241659989843768208137333125756654080682226663067944674925294809004084134533758009291195186398570773932974286854817035521148467470250124263647726070993462960282710333403570348385519579393235877709578715406259426236750497758752843988918135709482842749698024377258603981443832016323358768777173481035153141858757297989164583872258032488641666290783249300738230429478818364873851339876219507122528656392783864298872744368991410938033796955393460187150003181330882837217608967593298960762910576775609745959830698314967317329607670241812278652549740546225241026832803648385868545074048592427903576573550349566530727407592815394377952179179277586224928405656015398829367792075469271653481114768255790086315530483317327761693641442982609886976714526239655005425269740947658931871668928984638899484923197426624177214968814444524516287836221158648820963977554071057680169905163550573595029748099487903168066700620965842584331896452841644408611047907875304048062821874698988100822286152998838063270522635663658247319468234576342394084821319998898485812628004493474587874180481535882790111128143921677906486741097040028010920954842630844799524105202757046388247657953105390117331568192955614116565844917108048055688720272641165830965690229919672136533181600481342910597378659787278782874776905635925902447568654350522282482437154456556094434439118573101403300205385244840820985321736515304947051677640802999754721595692892624980779352387946627094118787149818549009714538912161151971838567762299081150033187408764624932972859214909238846563206871671723595066706784225944753558320818644786188158191801412374188944018416303189874008251111540491514489412817418510867227241084052215605001235928517083164104827694128109706254736719796175726355491126932311963068753856573744334921667669654988657149673824200964630856092571985023889498618311410185517852053132762709881845933227042446978970513823229230544277981033037000293628184502279994047795406157772412095911252103703393871295906150739197581759361762149045361504303738897291118911247251551462922877181728833850100224424325950358653373303706916629631974312969399137095685830311565475563945025221298004163243930051631179096896040645923552518057939701068214181773122567675381824319199170285924663693392964628109867183532651106377424026479199618779545004783759591399201055434104952868511531966737168458197540087529216940256905422817759140338893113863855154382770207686438074775104271193414548977718452188103338722108839215374322191583634896858285374294350732978185774078168307748744763348106521415066413620800470135690272552052936315716167200267497377419390069751030133892193968964514065508756943277499574436365574643571431871773093451348232121538210802282630366452121158578584648636560177354206194119418659283795731360370018668975416940962784396990250568453887619011248485985365242815853420088710131882623030215800378314877568347225815182271565511106426924108568241400864105225058505121761158417958108997572392335159548555254261730456197838770733367679051110109299954970275481533409029229306480745168513299617031176219648619048072029391927391320120151135689796527045125559673892475625625467278827814653107800769864549741395000352365074129046456202482286066555391999865133093611696648387043216708150318970496416639176558534765623287999544921106899858764611113976069632651830517779397509393013285486759367852844919718460811733137679185859016703246837308699091815680344163833523352344451299387517373983207890319507843379339827210943557306909232357111394974962832702649239683754385181074018824625823830462029203695585191308110583948371303280340357869710325681785971848408550590816564850422376041580737200022214209857673850460094373029715511424553585461194838964451350906808551102079388934025156414370803248059129944578295068631159899195280390373728963655437833206540020998786056745666979138493293160691583739393700192342770229384726117895793581724472988629656649053033307875244158444831461966254834242809612525361822900204627448540567197124691166882637634001192169600754695401594654069491644027024921128155681489778035958368315586244072671732582021857692065868191426838420705411551365341647813312859375682937955753779671353438446155710193786606423707318712687406628056828978273716917480842975255871940158590989971691296978051528535097666646563215671501947129011334314171193591881907876337910735825617826831045300707072411416780022011629884642917515224161572951617191364047064086096815729457281343921629253693912328162083451248589562739174454856905860265271978696446248087513275952784269948721999122382988566461010065079199453245760764302252228514885775848244141689998227530999272563891913316952476016706089091504381815388761176868137591781364616098936366414611124491691022282082014798665878687737370254442979233277044084904700893515025612865930848152450364857940888092213930991870564572623478621501384993002990179315823857485645419935409541662179585124571618383070460725369948333896087384747073228105976446399668612280488155512319708246300390085755608988350614934913368632903716819409465056101567016503129899852751579557003137260784366681193172192526722728351651892705654959834295796502769417887254752816696865148070593492270764669850364504286242309376574583424944856040056036073328703685795198666007320783609888375298824379795461998862011471173203716964170142478410942384864177214655408622391366325910768837879342801040226735994269739706315997296022458171584162622350037396432103660171245736815393910847490378205882798573919325424582030657698805627357519955389280565675907688647027904625247495223867321068945520404922444696570231471817784025424900401563866437668158197634042528375122720400364377669221325159280839315312556540950788804442589363952401689258182534139460695084956137727423457874661118535171536024791929683516975318810695364198544678322176
200085002516264901570105359497955396874614914452826118200353120021410185631178673476549902479624212124514941017159465029434664918698523202644126914074598262282669150838591712945571132728777221584008351185373111957776922063738714470936866583621373795883464512590466906750746036311034163075766284920874411050396949052397753987783248365405904594123992151893897344641935296391190669848394823379641670765932144034117558729162342756641018193196503091114742658752811516197112523199322803005362045464920492821392087880889800464346667583535867802124911007457006890040101682646566620937960116529820579021825777528024885164330537782385716306872034255935247339085244739906733809879749049834037145985020664830646614991087532451697147412035150698169774806207622499404312598675501050854661718256732338435471900558501890911132837829967121401160308120820309345841555140684749081646767892190139540322811300931863026656059027337146790037777529732092639914294094504775550205299854924781300931618973120154978397310697203316099114842600217811208173479058604674613615317678417796458197404318653317250461427887153412933121558026326390934331217433770915451936718380250783856989448932904061749473162854849704938147289315778303600081670832749537108504131895952196948451574817351520677457357972548076253701927052376240817769652414295488048815172044284545052561558937396724324394860081771502696827575908892928133363115448224076414794298291778668172320462918250594958422898431287555330945335318191552269596350907593634178116522149927418069714436838592790937763491772295829781306318771477070983009986774572566990686926186913930082724282730862891100183140382638613827560652308820761962206155595911854113560433877678130422190763144167940347808941886188825929762984065390368437807270968210978432335949739555514808624384547263930829940399664077963294955290588140266491785609015498830605666065214153722632641469915048116171762464403364526632688458340737176971427201413002599105294907519756050851793820871173372610116848092917546267716076830186763144623089154771367574729552117450552954768862405286652967588982586667381540743410775954319290355687514027524959734686227565770126320370480453597114678763517995854628678516437497531599557556185095908633927234875170623316968547528909485649147765969694802027457760016842522637801131210566876418771827421532093445299325112306999043959740179991327919940944475322095349920730338588554170462044091562517313306613200096728453307326602749246472853404540963900469604498998674588900294445896741050723148657291831918940155070221215521138757276974094838472068849941407594607472746210910870019966974145638753552754689582702667207307338868923734145269544357341130535907844243250508472042336741143553600749098454784192917235904195921945512306461958321844368571597756723973028168247446931214526944048596539132289375476573106017355828152539454893192088981481162727965419237918068852945882665039017362234297705160539716397349880434543051755588714151928155025859164513127297347402689858814928206368320611831706686573834912133699163215230907103615043637550236139520482249796153168332051294310644192117997832996735275774233434219506545164029366985557984573012901461324160927982744854890338118657699049556618950932855758004522669728031627578979591233621138298448753266151958134630376820894287561897267262965872264195982829117409217553263589443168792972002970195761937385906973790441475036599157562624587613387819162007761753508674759258753335255924171336899714586457099314711356711218014785731487400667687633678462859852892151095601790725814073813913312084543422362196692925814483522987972419785522860294532438669985323367983769246953564608611601026318349444250247616712324987251764068197222965999917365184062559604402429325013489839199835519449194912990122848608579655991906809221300800604416505126211297500590124971309063139438093005238843227609076264681940667679143933266825587110251806091916134646544517457802226813397596498551319779117019526545798050876234842355859966276735737210127706225785332298635276939312454219569868442368328692249938790847931856730718227133898337344233092168692052237715249980830686649836414760235233448965251727063484498361631698417072656369224980610336444105602019198797305685075983241381339899734695860379086147235640006234648401507965833691631306232161108701299046289894679213161545846958051491824248161613236710307934639429122787677174235537821308826803736304338842169521582138736215263816603224750526423885529856193423171966455604391355739034713834581031308482721007840420734731805041527621549395841478339016211778506804988942613650487961939351800303581507913060160936842052583875634522923615412259757397522258261611336739443016545757919893249145806593909369922990172160498325387905883329534395153638264110948811895533139385902175465426459543794441719494250573018417834447959695150780665282289852099131698533956889062399391109587385087514493348733850369968948625933014813053984403577253372965382456353079084832030950064313666461421229176118514400275902740913257912592659780799352967018692603451352699547220796741270007219779091398823345894961712186608079214858218408745600151710193818003530422102590744013382384031735521717878423314052197612202758897558308800376830812452417660576116969550949183206349722431082559216686822251687123506292416455813679144642069229639171349137153340758479888189897165635375975496078740456823867185235585760047141259506081067415546390848529756234617248113580782121366439178976687791431108845897882971634723337985671832920635607393226925831110202152880053643860264963257010222182120483743634752320513218076229349549800385009111877704517234443670984735310240284036021435196940327777016084744636600914463483834491211281973106585658563192836210644347034446884651832015097794932193518401274190489848129308911076026026529257143174574336223298934674615590383630665120965206933251639004762121131846797116828638283438878478725792797835293244141795798859259813782777551062889661047146517889024
214839635556858865079065392579510352110792917542181478111286756535879891771800380128611113515493824361139587883017219279569390798632164009713426455605950410210623577609960595449461960777943351193265296233015087354099603281824651535438946114342262424977714877188158901466183962389380053587286740968643385796178975999556635940345658816515954499264675015336238389304588232037057687374797261127814292034619457395424105740277895903628914987979997619475181975699853402529693144193283182063770124477874657977020446660394909093583637819467475063276473020984564179692226213870393590903441886361982098911631346173159651313738811377359754098887321796558395303760537178513861950902750965431065942413710365332951147479956070838344486957795502262767687462086619105213825523168012482458601232263957881351488904806432439054368795197845098793311304958051611333248158231755419087909725480264875784840736955070391505959837440664653857290908273680751382518549344705986075988042240693870056863409455471042177667008984709800327112135879030775403951835112811986214549806438363770203085620665176290088161118421196571770635131728909539021165865627477781955512316326184802236033606045971260879887944922815369426148077610579507687177459788924086910040912493496290168237627920055488661386779231664713324340993905533408349935238195171641012505003869703896179747624165723860587700904760426122456912560369913150474618226835698697370336610432614511367638120166366756719742207124977438329550167988846617715347725567263644213199575377799467345785738570203416934764842136193916936973367820411229371474616209545424900942371136890328218032842228528421783824011888502443144036596280703016238369056573582201179116283406049508644433000094370859231379567664386390362242202398055189478443209689869101998761063254122663419871357594656587298750038546596059586530343714559762510735960841252558644394905597948368755962533844624889306032125823203698563479483282531149905911039128412788080060122058174178076641850894142966126618505324420207611101852649768873319563571541558826522664565597294418959462107817457518000274007044912472336861760202554446135504901520085940236471048546054149095399945008038001713276312713877525773436112949212581575206567971167362551530377458142117391578738374321963851817746277825225452281393323438760977873877975297405959874649815409086890494141572057522001427587603429976744939515693215069648525803249168211740514722145642760350021422328734338185886907698999699322387181076424461208387591313443026668252312474236051459150158303682504944222251942176037164639795671437792609984579989669283761280350546792526276666255238898996884821300617084960736839168165704267218032801529900373291847786173655700655698191657657695089110104741195560829320760809618483136012554910115109151354195649899107063792177392551265488696199885992567991771320036476124421022577538264528981798805345885889166405061446837212719699826048975533693123533298092127908933169383968168998572228127305950294420786471441376197990525871510243490734968989564972718674785809229317871377995738774610173949222785444079441096255745131148235794414671917459785416429961921054968419860636974184363271696638412013190733990614470010081725101016566971504246209113990423647611043128678771643126263726342250349962771161532620702523960988649658373474353637892084651552463334708804496409207283410054063681495204105636850151415059718517545932068823171048446198155918931246843766396365607369842835829254694163779526536971218045141851515927322188617872457690296455825941737648156540654700789992675065151601887501821916295538896534387465708931940223591051436082201004806348437924678175166368715593619026906152466593559336536938647188420344715092485897803746579247441255542009428479739782893471073404547898091153366021205535801449052181874042546571299541293646480669923468787690281863081341123071424318526797082863016707394693752373581853664455584593632663372428342070410305472340406049879242901570507457236385655876901618683493197883533537278560719237987194555810898534782754971562491899637447036748608129847983941173412858473748066032798292970564156266371519864027654107033106518567801286275502232557760302036296009066543431474565506790416848146907286747623160712599637612579055824194232183505109449208689291185928658101762746633847584797732852289223236318795109132771945626234963044372363060317289308479243567869801341413408620760453786832185873125759543909435807505150220813012444832227080748027912187343045994995583893471127707474196721064001632061070832971343527441691660638348496102264108829996926966591757600624180785239541812402242742802179435651362039239650626058334341314536801801372625434303869813042666421625889687757329904288368623223104814095474151802206989687492650955570706585454523004309942683915655342650536664841769815055608416051732951452967785841151154282276149683186564139380689611898800068995999226372026497742751258211714705352586793533720971609027187604223964592161598002047542155524563795645946509073534414056247887510892322513912274800976849675082046937432826462838125164142879156832423704513628658770475635290875039101253411587349298351335596878258871980229536634793867925700602446281439704172974946391659474531495335034996496487637671870203902060852076812725722988636907296119345044301427913319761290319070959694722632995248918735241767038706271067854273703738612336241001758718854938891625732652398208603723701443781967716824418635747666317248177633295931336788166342589776419491202649770382536927779701608098664103759745626524321751364587808984404642155652776367302770875136752475308402652727346416095393280272827936244235586044186513268350982908405568174608459115737531460506766451116111044678083056089113841107313875181784231437883895216550509400055988757175712832701868871424769161713220692983847138038225988396996954277296598199994269414778590517356450109318361933047061115962824630218124424781523165895890370261377954593731019539689135702678751741019907464520283363504852113409259339776
230682302150316893500565578843599510502325037368023537246229116949879596435975531923188251612797391230265655812119207652652803610692116488856848239732188218713103184400324650326031385584325352878929255693137948915110241905502787387826614641451573416482234731583949730062136642095520336968031008458686675870324905920216165465890702888127522309141458809734360581430730659836405556835036582793583615062520967329652968551134858214444639398334580719450939817319884268964838930806390892457676617773580182899622084482427138250458681968830389383116995557838756218147794733501810513894571498940315383140723456455543863844817907587918214670330749276311568295972873249277287740446518268239713691271576330280309332398021034941837218566407553618620304023802817244025540927264175981369866491619749784981523281762621134043006785324416637247790279585478580639100949264405678413336604984518883728348324447641488224003422724282757205056175548398661183155988887218610232950003077711683060475500987576323607029106291866689113909181431286348134373580242177987847073564503975658193378004761198483000815240099455607235548675981079601959585811165386898116386081386542648513998002681098609508750726897035313982866070147677202281051947085446004076321853295391094742476737468313706576488758701692987841315002394100325574596292941558065813840329664182919823948845831370816347759681443910227744132653980100660912203040586208867628849235579892934524756489719365824813220254288159070590818710475850578961908179644845100026367956942183889174092417645557368950566890606388912789610277002911257855409527978537270743992880903409574708789253706364332442004528220158297929934149613193672658088009590477342907999268852512532046177256967121938523548735020289662628329963132664953203249220652814523901391749798661044140190749349042816699775099309092362011653777091418334755284450176079096763499553313048892125851821965989261239257028984004240819096640166362504236790347535477317298009213488406576077714232773813099365565568859196665462803185913942063216573124190987866193745428004606558878553025706801494420127044824193167967331488835741420452846784119117450106263414989032730052462686962430418620928433029393244636576302665557536704311093470141223275349521483314000779255876781663260229512852603921268330343848228370557164682321379149263617824277304158616263973667832895271106732988517226691886388938350109373308695134891827002157078492455515651150626880450329535895147059330443580125871575843218284376111336395862871174849880888304170900305752466884798775698219061779640674252122507236920139578563529981397902610744171472404513875553539464964666878341238641131304542072420886034127273946006545217356669526256463052770047372303994957092616926401642369425577826392787466826575360796087153350134146107175532634647496910409559819340909047454252005928554166853620368279726351117585143417512053112465529397610200759067816726491954309702879027918900818177140979207188442938138467197625157595275184712289359987187900532383994598480425892703438930773460103377611203805489206538016077453065195757025086509083594203347598225916276898837014847439686106881364105795403558170462559131630156103183506930774981179909418449899032112874201125348319141501405918614691530210974169871475827764739033664239078634788628239275657527478911225692371282488920346412703354248833823678882796390275980815503638800163195082403229956345103358285215022613173801829633116619973463514228162889136636487871978783557663879099292325985448967978242226411719741743579282107900061074200108580420975871095199847208049067726347257827780476153046034587537623399056721920835401338516794718416128248138029736711317226302267468665402346408186932613092166136602072446034908121058527312361033341529399628048637149991761133495348854690345207132836614182209072115519003291765704367316501631994739077477852919630052920092631214701540452757595014108966973623368553434755489199323978297826267969140897973252871369141738598733308700663513766464987058239882653782769348260370999263991816562766910578182301937319941845522804203119718249022962656104538529282918299935458474785600453285307326819021633280820795003933702641732063243390979030881486718976868626572249591250031283920248191874671869640744868138194996278933312973396167246160484059109185877365838712343881753133308126105962501607072742351471836974047575308240822201654704788286846880110512653916140898441317085634062725694761492887489766745448854879664582774834949551920382453121720710355960282420210080333148231075587849738885836057339409318552501954744855406275503020869460071414848857902573049944347175018411584104097542036346617846044909303281332328537498229343314971633380135838955345880800338347483945322030055325900954620332597549023629833450034751399697717718763051229772932233086078592605951642081138617654013080582319014658756603832521763511311611894258069689495090058027288634262633618770541525892909106807208961562529067283749629845699010341473283648789836806741241862859049391875526845332092342243684431320790119551896404428252736963683276730487074462468828690825300668926884105984782935040651158844023170936883276628190387144234154604918389610556861348569095085304710530444882662570329346487968241972245667245026229050736667951084224213537724113854093669553576013452474383111792794248041963126401157336806268021123550096636275612847533229144314531993991205276902752503522410480494780380277883474572166753687290835225420912651176445341684030307755416416673085118083726378581533074855592766734314526800248017673087003027078228022277904007291771159723412852274159226865899515498130538757489485901041227644793771352959385860264219703560437376761444135661919373563419908899190393468619402294213380078197332238551596350043818951345263070253342985485511530212453118476904551799020028534344554505594345808149051140256963630971776338255418398544497338682117280493398834642534437723863485647307920268487321718861923885925452962377804580445891061265224343726554941102312981980117991424
247693235875400383405311029659142349132273641864409752157697989155673034457548266866574381182096012602027049276261079330394179787658339061165627903821229049472318345918212936233235134638560810209665150174912325551729292304695798566889144600857318447883546384287100592281226231420879188845148244710989659993499451955401303981631293103740113748818241856385041286179133268345465644199787847515509486333745137498785987739110179929159170254590035263978484397963279326427212745430263947724493534370354804596893825902843411372147674013847853442858277615673683599565355018727827928491534544970588306628779252814160243276742433041314744182944497411233463334418484777199801620199883099789031448103715248230405773853273400048816028974581111749835165605952576403938637417827287648093070465348270848549668614858262751488286600118615551814388674771581735088359338983294411415493472162044797976920650399754364063715955698214416813106159955801778737959909584285840838272801205467756315464866737714003049025691810918815134009788240376334112101285146646554403566602212680478480158243553769943563328349391387405120125632988709401297279643165242093649190555316198752469211104931159711297789749459748558228375318908078868540473678302278276270421261968453644862143782366796301503639835283851700652743393229205650421460871646706882988864960018381075801412592605670896765612498667243121630240401182554143351474396657381938772775133232559937241324606427109108858211575153111742058330439839667708606015315332375649899774778182253991705203846067310554833622658953712497272093067078251187319801754838653641940636752984241764566879642106270398724820316347372244388022918005559468545154347770208635204708599128363193142120820123194218300691085693578499358887648687920420833331460910331537627571973567365942292832926913968046657314175521925972570861435870628937507181719170900290527112506997538360432391372871484575327452342706105580360832080444501738744418995668337319386191164459847079851279646049314656747875616698471426748748096996247257988486533398209835808740153257326926932620920303139925824593035421258931501580885235124629189390611972595404147328273034792943562230901190981057163119260254442548109355656339291811437833942166063926617265049435020760761455626498262358792623788986377572209416838143909770597902264138201925885259478424049075412595151586863095599117977771458043567577259437469989095975229198676367988593395000355614127021805358166777273128676233706708453443495435651538696156488368771385349160334031190460729302020811485383435291172608946840063636063856792023830813421395982104870019034808674148388394570166474767145509502507672947608362504325942265979945374932745377623026795687830530069918918104098627715428235487773234342701767564946955074706519574648712101140748685801155899297928929617525347456218158431631105401384564800206675240225114469860310368420985450963614672515598204047662071601180141825030225488987488584615710119072592632116716933342205184638230614910492608435752948372561428578520126328218808601304782191904814736941721840442108345779497683065177202021211008378277025114507228646319801004970290390254846564885587366042571165704419907636990938566970025681611121173839356712118598874356830329833689617734436846082509974684300876020732890637471865397371540097752952354536261009002403744872592547887956362060979709858004078315547504227884603924400585447474436817431653393692290612870484405564799890335021545364797572750681847712612377546507222722989619212818572335875400501140930476559758659147176387523023928139269319689748761585691913461987637477399286336160152333989735417128244474738587436991064615585699936173652653262649520012417447140651961126206485556946668747626142430385663813577795927128353686658592506245865214146315184451603374751522217896469796405989437442664913301162511588007186447637007895455147113527298427636788089432967661353725900302667933014115639589275823966894428024444392204298123502798441317139627717535106973805511281853225236050885830218671259772381983666421230637178753051062359486696648028785582018652632763072002140249571935110518107415678264992548639645792681499220406414407624644653861049607004106241985769764439877465998332904062143892063030853589164076212152709543619433344979372215068246417264093501415150350821059117835974281930908849675982479038193751181217673151419317144484174247862662064418537556652804258571178590997871333378564491082707617904872617976288926592797137202349616850260030826974157992510889556184482917431506120101109297475179650869201335972585948785160488651306498550519660145884122976150073368625600940486434193516487898663100660023491742243212101219866959594020601171861339848133846341087683340601441877044557260792818988453805457377150778946561716469456526831297980471981757651261831361782239177032067429423996935316658606064318200949576053371177308872332374787720754875117571637950486739927629116862401895479995453009383366737295850758272053109845693919048386432320974765532676533851433548938518975867846717297165973766787912088831307949833770920377503314889947741755099661630290405601972662596710144914622289444895171060032838321849716111516132248583071031581973960127679946924515480751895841574241960778719014189352420123771518108779778389479517684668961382818478206613309974407108381435731190805949285915882721234533344559634071210117610841105628163362026244812934473793979986543752719454203181907998988228846575949736350387033426901917818872167016113934320582169118102426398475746455049856511772713954509403396195190148684674340988497947328589283686375665232012651505898276321420749171678953275569454252206291270520088156365558771519912386437723323161608239099732755510923872659330525206273083781178459370368866149756394183007792640743230022813664639332818676023350518947879595322582246850999168599304291072128716235208791957821298017958413929136327517599682364938901684668549315144435587405938226998732146543285617357422763791849747267323525801428217734602154059695410111890211023846822117376
265958586881314644407917996273525604232932317482614087965194574517144583966062726633354340682135048714427509987230451220426145244184197672346428871554303049502193338254884912971469582887693865089443680778044279477995616673473230518348136129524289073979328034253036329627524174682500931914229929826376390366559929685592962789215247152688530958623576855348020276937288546292341742932415223804337024145298576689077264260633800734103558255490048836568579334224633428979446816514339276031138337071031459415032361359257531313112186292986395414219326780551832016996189905016372119496641870875729514712656725810033552644253156831979160777088214341101097010535625823986748604111577724154248642280244551811528667877345288939097411991603572566215842417077584645464433325092521956236123603223581136167748933113464548254291568646120878959948205094180955598859757807356846842278382659367204949450289063498580021734422489303941452000875296578361284541491355906160479060726575948347439354765418869963224202407747917831677910474459075435435961054386104378808600835565325972892477860242061181278065241386417602264310636274451403954889010290316179036460682988788145222815235649838822844202172753413431493505923480942292642504425164277499718178043074389247093726493428782897812972179376742482804378681649876525154645765066564932133818433859823569858091018960981981436824464796163198470708181924247442860969591756196786002535893098971923202825411081126257592430654082815281193529240868167072992523382056920196576569587514608805484826447968129261921506010352689188392532234142355780602929607558856787201582206870737195543019916903653979763995840547084491296169491733091865896144655736314152825254424616573505138885100627454464664438226813163282988794854513238879432428922834444085656953763589503293752985169071862741495541625765968945781210727402988143386143312242018245672711704716749602640645341388891965499964075730326901793218416214194027730603922229168612364999461339800178280586655883065513486397872798941567769083171385279451947556101370430747436017167300561755888947112066852096882123229910919173486798518595897388213139917147930827263169424615148590682838865353967772667775940035135845710147293902468352481523879670499991466624324071809361137872993291306957960534304932024165536830945764954451573213147669482723980351327076327099699033470638434874706883310243516814839721873809310240037172553658604821749767483142034317761388560973050968725450931005885691415836637870012157788017649610519371943814293931099718194881122073010275759148929648229418768964863277772342456749070493402451554493521350185271112201446202246600124794646631921324760459593048145139191999694300649899096517576002726487960161586657201482399060866513743162341512036993210182005161434592775012290729739974617736036620518528309889288943873445576300562408818914734020111049414952581476602680194460917995134176100061084065260855696669766035786643171676717906024450922308262801217964620898545811135710520586633930120323157598931939873945927664372086218671885610658593810025884590656946381602900544018177279781471594824970454923744800547884474018393832669441910775420384929725906025113270076488054180248370341528699968507883291959056867259676249825214147506796036966725441514715715046783299595809871563500456202270250393362544859569946321417403928169978021611831760752889924080049974824748296526279303442725039057981721818510278950217401631801394703984443326005199296491156089824406630642071763310155757120466637258040998793170825576770958464507672483458788702554595903965350909949366761967462724760530433468486886879123215995704064682064223732797778270792040848277783781380656676846690857612342227221288830046002545571971799889843286095686641818564694569569629921582929166707495615069031961047330255013020680922353875743084420919428792096512927972901393841347568410971867136487483056852649229822434963957387028818460886344599515634065316138762403638272014447769672067484222466328107102546089049905029660165240108708154750397324375255966721339736688996515093263012989362589114235341609679925423091421403479184824777354241538306450254522741992147758823973761427342765457988612047579072211759585808913724368677547953366903392014217871701105981827311861311908137921684572364582299192554612845916050118924843914797029958297584310228831236034511924058722818910640805779552908796033882866544366015492885379313184934127804345619211919156778212507872983313515660790752103361629134682499340374451460803742820891920077168259746776464528161494357993051979427910441250645348807217185139736688336032901724297051688276561877126934019298202362690384444864189227906165164413182692574231817979795850932523619119166415215254071805458087806642476125146764224011545296133309101975970485091408542833839502073355191834707980465384750670988160713738697319029260798486403996323573489272655989547238818896142265633584983623253817706115935344568273747673226001585315764975620818817394390587747184722792097175998201028433059636003852038629006953717183071342703087003347413378626360213684844299177895978847496801671980690833760761944734728127399930861339617688462791673319600013231461519246018808104972390325467998339098952442618777532389941594383878214679157148962512735613370229662235519729376707431373075050473224314597281872048489747589672016310817423668451365176281964393697570719050931360794112032441310800684028270970984500791716409008498633810996251876424441183676377750635907933902234714813229198099010747770739925098818406766941889111354945179827782418130275513427738987748984855384812262450735434647619019561975818325487045048432520720447448539213083516885656752286110989978133833903418886677424375166814845450954373288753861637221307375833849757892451287845725777076285412520347505881961522868254577452806442797614051330123810103514300514626814403333171501297627571599850252128417847053408875044350129943452680977077137091071763540288944700716822793734325178332981903964754978192136596315420864814386354537969039272490194276914848333824
285570858186405257804469269361160585199770867442329139099844470956942744859441346193711269002353091420958249689467041401763395251779265800681808896428979071421247367018449103364067009890351597854749180943891003799468781310979958951943593154715710402597834621793189706112523047927683171515285056407165388702726087505920334386856107006338589735392947942065567446947629337310247460287590631133037055416504934758733702604142948596288893646140143051626224275419063523763765683275099976400513958842976136793678820704916300957878194026859010619249095473401771836471087949662666149451070204308878286458202868657133304317440407734527365622779956675516850072493470089229034398008219365051151794511513304228173296074910938823273480065543892692164959414609454486735373965611229494049023532414740288960751109415305423001899044745907043098938008683351951050782688668269581347316630912438913328204581176368217133947078447251834585060628290544590604594563932170913925623378360424053109318515203949558331168014240441024787964573354393071398603057729498915956334008067837181288143733535927854305104423477252325080987432695930015081883339626678863615319856256667154601122517541647762946746508797013240157936094433231406540704481403962822189555977927445277860404584011345362797706358745238656664662200821453749494331225856448911643802417257470320217618071857183377579110041598056060927612213831065279124873267860834100305300558481559125344589678847798319801590339108395127083812984087121056491733194612446363694564384560863685447738754564740207563371608383059372449677189066808171521533456563851074044606734491330688567006876044457856496651983357439659566461154266642981246889757218162021491603439151870136037899861274146501365737449593691650686216758646859746549492316354611242559309772400258053888338100884170287131063353117876892970474311370051272129811056412146200549897572848712121690641745400011552374876498609155339647719213056219870025365236075901651844343475378014527222522299677943095162381451128855504245794975250934565483889240627815210417632396512618335992840813550194180444435709877321710856287481277656780536812955405628124291384466007300145790820808783259761861515083876641387060596130663500446895786376856959179829357636851631690408454463296947696384435424592283823515594798885307268109141554719411729183150974095756047251470049800363506872980350896031628940673232436706605319391485568128214600790208924817179423708950231938962004232637880757857036341574032574329205481876436991960018285585482851141740457643477840714664371556408137534479448166887785893646262388061890528298193509010730875741949689500638137315795631499994659872792246517813081572751637965822227041310734105226168155457941392037582446671510697487104200103245519044976441594016194102938918670569291391761594711446360413256162348657707078261697053071055192207228890881365317708195975155289140784809793370416794915650526231542985308918799513993304222748154521917756390451126753611073098196417325910681866147684326709716641572109030447714943671122013313107912358852302807585482966052498473824669961547915631631552737015931523050801674473790803440837346338045138481226006155457712418532902809710709943540529252534397164287242253971130658136805119934552229128623202879216174715797345440743354249798711667457771598305816410796458018740813559177997182965399654771939640352934381979479316253020003212041062968588535744067823882755238024671005955200196244489449326097930739756766215303312426275542920374630834820595300710961040998387900971908707514383649610311565265506684718849092814639917254736381910839963756437671429463973258575933619675998375063627811865112294816097283538515144409816800627968809120004420777191092123690283329086536413318700332209132589327005431330723306416196224263769257338348065969683290252913848821504011228263826575321203765195350904723561714231817727010634059283261736514320979006597474756976306976466437809085971380385182429001302560417622360122216920302755192700511453574079925055722252365365887799407002174254628596122838845883757678933879032881600065240819179974154536524379859789556737203477733767256513236130128237165681523135864456064887671195927780882451915947537862257078807295645789373133331493743519744568690981883276932473161883406590933127317216787730605569778823989463537205092112058887108767871360288562522687533151806566882195159065354925696142398943006206671058419708487180299015517939579861663151463375869470027445795352198685528502612460354522875322531395570520867975409539142739422318517168611717735033697112778005377604736086566613651492821459461397592354966395138013408903004836282941089701973853117484482270673969886927636461992127920011716095020032768259683819540357056451630491538885588101243328799462311480552832213815511588955879496185480469253452258591047252051567174930718718388399138487866213363092569666075540977143565149462864898055974642683038728420372342806746357965442906443841100878413529362575877056094175115720794541557392988389315463552158983628385792971731165436141729404945746848270630322994478955275728809976633661438796668622361310169254175658506140528692180272701687442199453157573625861031339752939037857707962190253079712226741524278594966807213550423461771909648132360729909184827670871808932220476880429184011938716835262735479998022234034355334851420743740099671077986391883688242738588237871942173880232077368963339951148955827021099515354569727186746955402074741392871680816944844256940359676538496889132906958221005228656326710126916431997948808291099518332699410436952901508652769264540581419375739967243321567596212701085438674103139291037490640791820085139880637604984245567142931570035217066948213676076424785851315843450081393632873392491359981399041642618626481708085984190368079548094262377381690525663808461774323236766006377073844659534376744431247508132995602313807847227261329280270907908589420119898530016907368865449498646548969982815414029070088392381268922108841997104971384871678713456625762309553483971254225008910342643542654976
306629374150316113518161068635799881509309375589588704625416720361622728328943174683050995307941268674378462849415774622612944834078408106204905928071079074605676420217586981897297847257892164681872872609199568076832539475908732352505042059058361089141173285254569665819284446723909948676927020346572651135334102970990510643232797962525176904068501280050528718080570757119416361900565128838098394542507088352843725764445999582517476294548527759874068219721543632377973109868412142442644812705518126709318208613865794757845079224225499053147893283960561976524295698335211336014648719926667630695625247953942744788955538412175121341718646631410438739573670801698226148276087428022145581139665484282225707115566912089654080136404738891345474030728727908232224247157514831822795673113926362355003960633613618411150635769327844991500309906590162355226120758291911199584136781456943085604297637469675161032388331423272654709282171275350669110629857013809398245846617763852199072533912060530766502739660989120520258294240927814896498278258449464624976782175990210771350122021037143813969076174933334040700393704005131770368926445961642080560776800451602742299284432640864951959211221337042239332350112174136673101560107665121526001509489918832310017635414303206544350968655510906522424147853882047313682288111259416551231245801645259256329305411295147344274320362212589714669470443646060670610546401732585023212378532207965611344350297609186287894928815026717467685154408588338106240641304515131655568941163819212628017267001832476555233226375039861274411733199787463947636188927894224709015092455405125729113909304518083925845350503434904032831049007410617040833202242346454883921477439602052880462730173849028419665420231838531901389234088846956132229586036585306396539703198077940852754444772065016830711691836345222065569865235622791910183688487344757133116822883749029595019631436352013868071423391327917492681545266830137786078594850329242095958327334888407958408747936869231567861035518864168161319641055973338047318675845685209168772411192950051104797746083029414864593529774410230049630722015437041979565241884069802042329864015944455856901857680092557366988841565217913936334487865969300074696802200742736843518477741400628635377200441405673148421898011933288987328851800022992859966684038616958300110556992953848834823637954013147732830458287265035620449664384565314948491516283991665411315910772274277100948517067167364119091448318416435916532635988767395656670580804398368223369037909264505652881524702638392545185862791392484714825565227547628765207787340170160743225914270142606092278412920648842725424865378036122082071554749094266698987132448409607723079110988924553727772125545571532852839450625155315480296919831939179742434188415741627678293924726057377593278617168708291065539487850349870425343099939603685260535280454163846337846112698845273674459026614437012964522182416811380003675258045483999920505728997819724670649023277552215054752249788538008041138422337503065244790577879800980249487806701368772925026214163217157515890139791041717380710468793706175531795678630619665834611742377480990168344332307587164201605596391687142970466913502607112144897541640233922211157708833076210133571011064871127833808468251627129642923307901853108057020298666189118940282622737722125782187334275714635904129954203792773450463767058958851603790543757382829714791109075324582395580371422164402934251521000716051268159962955132099472361355397830966981913342875906908710951215804954547805849108628367976806168352829296480191934209952099536758656309715352105908055931277062985333988950546607293828784261855842769174517400662041788090425410220095012119574519621381653364660853443238432850169862279239188015639975921821744294957590270637436982892659489603237501160064778485137348461967439552481500205062716716523796757927370815838725035932282211333589634294410120009680579349696577694998007910534682786583603888609109598688034700814058929542992835718653893523897851114512892176282793114620632956130749243496310437280862152469648161645230090196185559632964905562251119302907156350840998640399998042506594728183468855001300871880350425027756816996249821803992528976555457371217139427999953288811478713200348179700728570857671736268282157987612580261281245118873747021535220087466490121839578500586993602289448553228481252019266223218804333124360409204799156394303235588348573254881787636749202455859925873475282333182978362600539009776799091946193078798539448977156597409979425706124423676990933600461348588230639337789201231118076628657639657202436788423108404430072574195249411970251991266545741145021446675874285009130135710754130708334106474706141236967301130922210056549827405644691758979578295141708532966392548384938589628225413018624305758398841372577746436470746488037480468636990313302031399990069804460190034099022290584873953447089175904196266932234258116731238124469113907171595332871297223355745244049779568610309904529457005781078948037954407945900706219129099521153002013048576053780880841904357848641800975367375475353660025013091999331697800368164727291180784446478265980547527282065135405215664446317361267484471870140399781485376831823736545855438843816796933989203815364537548839203558659471216447567793061907215741861943810715590914517113522591909964603575907495278374931202765077154668370209605486489717565068204685548297459817628278750725401063880102331705604680064519870386207510339158332167179843066458302495655955893295742513949330981310871594521189049517673111519780074103806298445467993176252758942415261015973777544351809296721155445701771646346484662053026737702497930730964258775326527965812716797717700905066092045512958801266546188848547823462814740770668013045197280134843942880213400984965347829009024392729229776508532196108610715548514901747421100676268789541978177532612406658267312922226062691871904829226642146315272869084628555256631022334669471314888905734276691395859661932499294694259922307728890690907650410504849275128773807562542472175732916224
329240783492138873905581322962792956470789721925866051114292186081186727915775916376529797586964299511301192766247931177657335032154727278972841408955453247215331080198222322821059571185962531300822557971521583406830343079414246333706574829690040358305069996809313937311868936200161892704110005541814030578569310573475169984756197740905267094897185585387789517916213823710463110242556908069414770847543206580911577689272041941235553508385297453401816020544243031925110304413061253810113256578561408237926451113464770154498213675644392340637291876477163760738242443445803583357845807253325248024879042558518750781259614869590978596878306928822100184870094268990995642014460570547967308686444415843040361537958594981192823534705393139437027099899296353384973078719936790828461870828655052116746888217960482344028865589717723535162807255667390547756630835452619855887499069187067446200946687495579752094410370058741296316866828315875433690468160458866896460837747781989461498553671037729903632769784587599911577969809382527419300432510087071558246046051298417919773926961490989170561472531667861171262930973256586292476280235008691001616483424573787952239835620598607470454355830399703452825762151652462117001360887249983968510524226458756616508469321920920683980145980335108421281201418272994963447520193077200864894827312850922874843911936977121711789864702082486755992836751274610394876031287032982603059141664551423742854157780649830523920089986196946222484918752399283423323531977239816899450734642987924173451093774042614718853361233340208717493818932941147951469121987845749318123734616595338359328098880403818875522267391477512121476966445050465458389725055457972506995555458773158094012505860888492875959385789460808117279864344521508734268180897688037621819408200322841505400672953664355418399071210483228234370034697531806361613077851449360440949868208281622995586360374276351276776305514480703910713389065944758844595352241949527408651877420552137997717925147290205553153488056553998329778077634466098090296553311810779022699212635196203814158747030280859362361369678573548937750101983292325612302953547602305788250193398152165114477283654410991036055236129884097867474812875311743790208280641992720413111532867754911305696546129968532610334351492875223483573594219582371595399603898856259242492648867270220795723807735057705366630840964123875318526594336470998719927746743298912819544056272843030922653892845795416062505404940218196692596864322107146924123147200054091118783910189818816798183319190112005223895870732643498037588922249257965957229077317638416866804588832490550605636535405242655651486826125966955262290188894808340273312902547684918095703451529546294118044041539658972807883755293412208727109450761928148313705135669478085616020203943475548945663712538926556172635273228460508908671555954964350848769067251205436761654605280567686848992817450250143033637695436687779429103398277428665037459676456568643191040481517857373648129940556048415047418636637152884881532441590671557290073012633287129537159462443427424419207187682848112480456561178449148635574461968159382243526494592214534908684110432010770728819496798217971330457921835939589349834838653900723421682591434088161399827821054318907125210673567148205150676941318649369225214071494858671699892010413905628942523255014903552059196386159816920282719738887797592861999383768004053044241205237521970493468757549432280034494180234083158194751591747215970648402719331979268130843407789513689813498247233429524398147619767397969559044901618004363278067308681966309228794673782871090999957151943452259235402544955759912687422757027586240030657288106599557108434856905673059766574050802186125883906681917539515355442906633539083072192208273612961122129356979838895228696220996577489270800810071208787333428076513173691229756440415481595552470262221599323040709916394242080082006394772875263253322928319937180784876690223939110527681567848638163511198386627381919850980613843479782457051866245377505716877215818707399498350342675198348506196190527885326121723196197946936800642760508226399262386345138562805197814124613987757460555468502055016288320545597775128478855309987484823493908545659510034924936389482986516243235945648914731906940069801629694493952237664275301335094520710930593952617794496957708642302011254611463581198603065497710548292970597660550115748054364612947435740480419389735110194494387561463738075500316295890142871346866912811236139740894089867849066285319476480687059236624984360166526649881031875622255674626591615243929057403769158626624677059279214446130501922475806268782435743865806842172894276487176672871991580399248571432676722301075487561181955782886144673676628230954825422119225204500777376268458663698465602852215355398236857771008035756875254878293040505599456706958458758656772875254658330611133728407782600106390909260585584368619226028548909808096705545804541545805398350195453707113837852133299225335460797567302094725027116954254354274387216671517618615823011320350964566449852589405091513040829949363301935944812999105960333443027242223977184101065814095034605312403690310250462534380976803246655960753570215728717521243997461309948729760125242278544480298661739175301017277772607095511782311618823910242485946798749428356703503269333791433552962902613037219031836435473686385531487787554345943969057383876695561172783465975354599146895379784333461462161594952229000195414003312730036594066726205985557630212690941629378157330919938362300091452445176930969936677932646999004068847076140235525167526689190871861273328727777036642552611961530667655353247579557377020840514061449697499291216496227112333598756176776843206892116513500975398908794814994488199716192695929184238025605922011826301183552150682840089154714589963909575518343383711812385371819007551093456719936224483597075772912063065010277689256689782695108889065688223247579835969508642275283739782016612736566764492000486313940075459451425157563728171308799108387951800767329825621521847423015629348151440710003196952576
353519599402038284128684893498402393215298358741132206503137324351760849316876950825406575651377845580146851334206659258924254964404915518746855580914558304411712514815929518463401329577873251554602306096687325022618146636636029709939410338423873288960099406821706927237867808404501459767403369647117505462224786845585715038142171957624300901682085142920792864295436110244887107876556136894253734662383068552996801010796667546186764037743228582398220938811596985798558169661675640089797957765244525777399773596418493265431673756828154207207515101868972510801780027779713984740389401790937881879486020536157550202071123887612139492557073987785280024013152223438338300232657927396255097521353871141920655503387107011583228037864696132176199811383300682800129567735640514948859120298012467126650864701476997871997349646954344113773440799660738264068563901353539909639260389347223996894826366758261794951320010951387866651397070200982936327594334025028418379079067871485318738234792101948079545994454675176616839968021343327304929659207369790613769631727909160825492342003274112471562922620278947016210635886810622185696878616273380531928069860767625498427225984721720757185686138078412234496231806905479287599942649558056130319248846114014390181872361167412558976169524711287447504237627767832541994953660391545829486549447065568567718225718505187713087251629927265927835591464247834490283550088019862288368990750769841871449130341378740932044833052023243860160866473693010959252373367363807483042256413701842511975069803735560981950855279217605320862513849781961886064318522908000703488935064915019279842120306297154335968908341540785920296787524695282553340379483905944555003260478196247574105351521881100601243636647495328084362087459759089195565047862245510899032993559615205226871824428095032470736101881450149405780780547071090060733229794469237323498955782519921780961242537796812099990519123099769429893327516889181645035946058193374875703860242568067740769352785146853967977955217806505321108866594445233429637937853936946610693989978279418481290570061848353164029374025809856154573056959726319228156090182789770643681520427684663999568007357652643160701599006852452152816915850795916345918912596437154611096410816859109250336831032092553267623887821816965467659945095570232195090160699235431312850915101334260778083212717666169305620787911472288446463326395350439888636883936359834428074217830761117688578793824944920773793451510368497474699724393899851461743977675206572696545236389068242578403197033565067253403480626536845924621149938112431013445055464878101099035124264568434270060478207065828241831372996466612307057865841216051415479654504285450933371230608430627738749080475125193800703504988718080182515219908750919727300276571912860777373697403119428824318231592158671426843857163065555547565245908001483935333246425087991867175669131956779832698360371930617837199032453345612802715161551004712827206981324925871721152987082822464952792576561662999405324333394369764779558667748741139309563493678040765584953876982865259507501666336491665809722592352515578347208834081510085012877350495770570912162150175084672950008455858880724485945595747371203422302633754985067481716986875484598198257517864809986414310305020258300276814053806227538928330823917355956773259227864854024984612111002119687172120483649450175490430088114187518702452598613932664755116304407695193837731323818141186528716564001929197247713121349559023245946398542079480892996871338288237373315827805225571302719527470304351568225348361216556266150611218945540777874026349104985207163976249607573688341973995039647955074052989909267687819772450473714887203009039076387141422235539407993994079572887926696809829274896557954633223185390297071945316262527479346589005177474772211086970091746537293196223159048066679249851483407466526246939707063578349318897091884040994164807615903091150890103135115270604061371248976135349002930409152976497604524400083142270965413732496937632122558072524915674557010169297220536459655381935092514286830772919263112932773910708693408975534882040498180948946968821773959191657618975986510609366436802571100937771012526830236794720445978047371550667414705629587846604901927436358918417791943430567858228828807489186338499032638520461693694025880560392688087200238020532528445925123395041316985760161799503191948134335910409214126727017910667233668106236151819144097077398458008986231045959332126005710300582215647185660380106507445524175389895839099098023757929758310856679268787868549132781943067906999855122591023323800858697315709041419844675314876274678818913086814781268249946403623794501393339823558050531809319516597005898271175632824798203516966241427582875327510347866816547437709412429119228193042407797318146111090047070742632244456713483267318988242857938608999748899097029661300407193764248493104833698768966479656668067096117362382490557246581143083986876867973585457219983974030989851001349484688660409713949071395007922394918522726511158536660690155436286293013739233923878946036099380536303179459364114672998944217702764271147263078191062207570447366451260428258059457538509892743619753493200010897948626640441288583158313778439119960112606266341017120581099970040891073799970163352768532378118579142810056172122684142227604428478698733187656056949743131568295174323604546906442327913004337474924431282946368097913419186334776289026802937534615097946755559535520188352152791912099954174123532367521692279613406034638260946215103673031515293537862381897727900937858755067281111883372582978012820487836473898950714914789889277583538156920196799420397523115012979581438646277137189507837788715331224941383634065930350556427057950603456954293924309509741027662479658569664261406180122204000645073315562829305862027260361788131770285053321014927859365780861412929378840690982221472808387027166144808983291473209854424005728645175576659521017940426672871083880158062829203419035583617053250529011288081964882901294421890053066179997326572454802107838501436792058976186687741690195738624
379588779481693896518164368266220326776959684418909639235823332371939311957292611162830362081504436026417218339447891905623817803321189063665154905715777421933379442622083185410334220864970775165049515742863368727466850025121035764868533386263706990432896200302057638845823462467131927221314309868642186657339205725590412013399005289101167556896966769483072817634766043889810169885458153267229700175199220214811825783497857504164180262544019101713200045194556539884245945662629064686387182962328620914240250878605432826156321527029594753000271211988336352754162989474960764173453882749270507959975867872995265905343417140814629663280667047747520293334645868384336918020873747330514519181876384549386847503482510460700564401184779890168617874863161238290256549496798196329487258547823330027310138475741127189122552733086513493446757846983739684847573464499906011432854632468638463762421199206308986780544339766643183269739862305859464645267001748099275602187481776548443731213604211806524885013177656809468087896379338855190624176469019633216127083887333454051073493000627359497197120665069175957985365745303895008245033156543975694998535969100056242830158760095296578239219740591830207691899661473505125861783002831859983263371958336357123276131320815084330435579837996710857271504358168865562168218142104294973132480586758375041498835201031470808512694236265075504687240350940300593647169348705807481742134113770739415241362735965751963197279091054924752805929700883581603439633055802236718426641470723914970968853293590343262423142425867140830135020874290145757841181552104222459557492300419411206532844689710945182712764449934818444452991258106757733019076359901347550932069231805551100175455311265788870706839082274878608781373665489251033424707202254795608539566340881483198435686575630517010467408656838115188035571448755830099479968936924543995622646844018288129426653035840337965629090385944026961633101613413980705408217266090164483754036180696119500129244022823063087438287227357874302553140119692293210845215050884902634757182705115463181760246572208843537741071256051298024588900121192432548846592429577181739488249819115391219723287432251369425792860037334340473438361963688119069018388167395006293488670790347629917471941566778860682395633455769135495390202458657435437259632993650167423287256220975794001550728047246869653310078264381405521959658432850926445227324631503308539138407460974765815213258049316295931188472023998625390623475923003320981862044809991584943977080618909308446609111790251544535352123495886335746309680043526328793450662378639380211734378967904369185958846460367112104454731541650405853681160941894617424934906062321275901860527622620932005669433147683712219920873929779250836952145132583326109668981562030182300155291779249518795661633546218875955276005753465475045216025900266049555431418064315459747958368702167769466727952307566099997961024157490513193185129716230469383681420953359842166660827733358232586587575050979677454783865050454702564854281823543284626088806345671960385544802827453360489818180895183959007329973246598528082946918815594003356121989809615997096746330912757336087785540209338075707980686342548999167738272248081635450581884139466893353304140853873660225916766614448504290366027042732900207936944148444610282984517752439986280718979999906460770502050061522808028214497356208426609605566509263931267339094026857877067359191658425561912868351810444195771615266746608847215760886576803362567019609457066933034969105875652821662024121586382700288003545992408075984215186748945448311500835894312047583833265725346315456334718693194438547599083712457830681623865054236596287041313183906367204560857142241563351384045793823359010881066756027549529586314080067729932423111983118523728806597607205627917036288945374298880535444707313219851358483523038843111332915480472300764581721107865773565293886108876499594998563846789108658438572816793702109283078868983279567013659997778933677905582045909887529516496338827241845034491167746376948448872210402885899087733293659379616354648263965593610168795617789358680804369181962701858152017382772768101096469336773421810610357484885547394315045234562048687219338283387136722781779602906631668980587115391642749450396053137183799375832727520493200309152646896122187063013454625400746544859527361616736255652298157133679616211875237471490162838435361480504535826600631429028700914718889477356284114173801106799169212562736490970471443180094618826708719242669444276028784634833152578409800651272245018066901743998617886807066628989724476630422033329987435571469283025507960033903533973589131730739329253317727255243599059347909108757949667386148450570613653095476230547016877200465325558297390108719148630883610750793469579057644208513620333769985050980724165424568844570025720837974907413198458436581506801432175145602975635558932856622461409664126339440002644396600720454339005054360281364832655259561526803675139677222151062300442842994162782031086770262923749544523507220316597001560046770822093788456671998918702320274129696958369131049914390419198343692830184725755254158763749372779336829904637850162476578638478218951298383236227202421368190783517225552538926117097814833529067978221758051736167298574343979639405484100857089226199797468822651343402185195522919403148873865066421613241048625112450016942524115390640236913107913493375628965311211698567211590571036975678407287969377810039830064093114390652465239815245625780227878816610485093488576971314229958840767239766999850937808707770320311663794400552518402837765994105297987732318710500289670590572985090333848619779274596198479448688597704095360379409551326366232715556325700590863417404126834657770809042920210929876809945364955488535109884649287866552738198466159925476947042878589288508578222152843826170943829025317810008419590540670835785243889047313878245850971967996224006380461919872482645924769690459066848922337915790535479622303873879274728149545381718434870382284521251106736903041749031287372829557230167726113806266660280871615307161010176
407580348450607779057081057913979131259368732722424416124254911042804363238328378411700233983975009803096536204805030607699353985981766803068675553705806874604764449205138942182222454761172577832414168084058828520214814445507906762939174158371689288908968515715000720087447739371453775583249278755657061904799861742506692472178560378905134973072172879132142144331973057779508826826561708564826777693091530276829721633543218616613334510568813950564372941404085574006438990560396220551775361804192456707860874552611400019066563585563222372067340683655046942131762391912137173252038224443083849886351007365932937156568452067171165300535489259785117531242157697113061855386271447532381790684830936888584051719999157134171704337957613320308171424514574498407878708884638377486733753977899413613277957900634857659864442731160498148254133817506633547549418693746128328544478186593725486876820041092049563773333567093911185961216763757802387455872503424015304718171485072717886396314661119999220365135439641258644285167650674298286452670940343020461295281268986433449019841532544854130824159230459470079304153980669723660457516940448005998959395688791102028679041589274302161739538512599878606705399172535543921516180453352878503741822478934532103061906100075517815675718209748212821887308752764187008733287942732956882685300698870527864335035002630938147335175036401549119900598003945038474530994428916265764838645780972817257549954224361496914495027323066376988260588075042511322530116271227787437323196422969139061349003582648102683380335608162368576614051479838375811250252582071538861827028015518294553908617373038944313250016968555368637655797515735604834978008077475753379395732917053171251627600105949015890831661565476314226771494576807994257023330078015001149460463939027089537313688050409825284882302463746747874723417464269407541649723297796700820228108838004040185448122504918341859991028818464403471689104545164470509725825871879946561246077176022644941790742712807133388773058014939146654386136529045981230955757790409408169106583154891931567388090685133271369144710690186491778489682466282983579995509251518794669737606187344630234739267422781861833748658182664082837786730326462702736296986000398731386062004697763385741663292006734551673757372156432974869723419579688119317565395892172511186985838570665896111073337561978811999835411073179644596832635700106335281388223644470490372849249015602253864399930646855561546078088438821255800420763534785669429122022910650097842396888357942729742040674308684598848206221564746250640918957118792359670703433476448426746777178276504874827300846987290526660649701970962038751671886864187484529631789116625504460870967923115383192347475489039970534108928309035220711022522915372742408982796298636657086021258478303583662776005690736644171447800841160513496076738124182910134923319939284631061171399086330133541215978822511033212377066359771926898746665551181906600410244769372415856382509159765854302938780770975811857231304785045084361364114859421412577367752911584585250030619821670128567266906982756776960071714843673905339498647904235824807064546904686493462239109819571646920279870065200007243337273510220451175741774398263755749610854137267852456790264627191221396532121056780241750809443504497350214080193686937042608220952255265291319594173616519083017103316628798812109816877854498413711968016904210366456403310446905881911074029314483447816548193144820053018027263942750329423988415900833958612044957702198698367053583526572577922128491844160334169286252792356137659621809828313315746488627710683289197839923651810035789764233204157492832754950966143162639169972145265861824799367181442870167438955866913883681526658255159421438150272465682784026148350845768806381179389000509940876756077457995006462703865566397236042707286496681642822510666975901673425212439739240164604438571819419096455169640366593315265869019222231794074246026168260887534534260437117963627787177518930988196089368165756934375577896616941684679576459889367884754019046017940906480150342682759349903973060257828849956225387554528352837717117152610019393140336413858138198400339385627164209646147799113060090410283900801161998591697776477133082857090384790962389947379829871520960151243255617920654965056694366749366279546926972670175663909269706019034326039166733040261976071028933032555762942958887943070995444198602342176280738727509710157003868520728834670943202615201453427758751981756394245993537540107156511574960116327787726009506690308923185212042370773448286274068032629857023259245258300958036794594727957529502967591910315781155533322682408847562131140324260993934514579775618308908177023975250359396349650464544674039893936198419484011652313720057989775656954652070939262989473105867093592451026025672545092775754223854285582191913219481985552078834435683215437638189553127204638752607824963332193382370243076751577959229436980356072001414027665828624713164787230403034380475283734838015134244297966930973533404380706408855839853619912721928015465227824963916537137088693457084176200824646522838830112612558154174518378269689386378014573836606941077252183591292896297904559039401038493184317619206337097747473774900202554359973845285767757807955822766957878641940368704301434106774057290949070519122604216785980712697426576113742063167422349424154466102400934286300696746823532520510872620543211359762360493176869695959853686443836376678799132985897292645669377551659826576695819261233283305736198303761807235160343336953161130341586863754953690832444386704510131074410247717656589634595795909411229515961908983428280994216019871385941680782319018789261409306797564523724543684194098008009922332490511563538380492572781244275700841570310662006037507651938499975583755954133405705415528560657321187771862673190063019901071736699928162779188887498125906504473049399652245710516425928213943073089135189723544819806421363643608374213433835699803548045287967826367392621398402400397002937128512149477759135130109700960158753004736770176821432682063370772346440371440529737383328060801024
437636066771911170593339215240405587496370000161944478271392478824058499058681259746741232179180113796394755632629391129086932792529732717869608486300283032929859058779881237952170078949018928100558355162019911858598675734541208414060244461863682527034378824022397537348009575177381390526444744417783663968140717902346954307284076674939730748952705790882677843082284012579027197540852500602953526524222611918394370244212955140233158500100305568795635631519467965285760789469038620017969563421893539312539570580356148619666166761774634457101193036497177090450180999026341016145847534831238237161912723353334267404171183303460937550002484414534081946050331391393818570827279328632539922994316579306377124471142232259708138545027320161234392227462957536504360780848556617023006036798596972061651505135222882821683218330899814918455016060749655837445303558362665224429419273201359151234404814241932250504383506891842576108000081176679829738423261337948438692005256326768875976603691108929845753438472967446962370523089380815872015765385155709975780516712354527682805175659345667036245067355379987761025466945981169824755610914147541338485603628820294247243934426639248039473355095437240637342433938166405635120896445496266680258135293615366076928247040811813037148141463045060616113466022644183200634384525147292668127868790393715328893925030828788325150851582945065748427662799446704807393087502638389545606602586551657296540365619982418932340262676799128900446550427008794984994139340000203202435694604709158871442527007415108525392096041640410923613855379991556868769325927934203835985037033881713899683105147444924489943500587847592165988931108720617037252505392995548749366538280173512804706982306504289573626573166265233066650774218107923851317755248521889633583775165777171905206515467414049748910843072743126937073645763598088481170329862871524719894025679788978628092365315806469359802319907174533462763391475251588945107218011578764129694890619827323845102765906764239565072484435018578577684067837010860866796200633176407634257003047141337124050467408132408482992418976433142582396515616527509289346428015534665358965534868993108984854489166961575479485268994606257485532219943732177904041316753770598565756265101273026526669135953155777798002493712695155770362986915011634587172303424543419484574579369036352184898392071566842646056361985505709069074818879359693438993344508133671847117592715042968522871830198228190519030146726733247613114370605313452141886519598651225083073699437381791520757803114396940207981247471078773260341490052909892950085144024064394777014913524187520641957696440878234914526640019357174523978854851074309916818619294468817884735729726411403311410121173397069970200374897228713566495900660234126074103341682318572892806990981269154347805709253805944216289330395976424038054053637430496437900651651743049010789233631588051054708824278828369061582330608910549012254907982844025748922135366952397136918677426903695812155735025363694483464368789794236804404979817300651125479392130066143296651373783170638574131675398503598241468578267054293980436617446227951854481934679171629638308696901803171062865290274290854702274175906050989887543917395388227531677645811547930273516859926242982059100226938096024344675085344943937022033257651685065103316882669585467505392414918773876729591938393455967443828062733474333344195149100389672158606907038898976799525234035162926876349274291223379879353299267618170292314191044232057841237661253161679195065936281558392286488376795117840959378945851389572508237413235234266493122620713326019229608136481915248730406728290593430737509227995417121697311019737286959440692040951448206365381089881195614715126269139519534585784176743399209925634593931727740846030396416613080847140229812832841622155436585114161337055063701037517111559111818161226868239932633101818716430110601338059248205783876649934999781245644770227920073319562660176289189679792242079568865861072988753795791467841307385057081311767558393809481283589072710782802201802043805648210048746411077718946258568103059631819767787906173035685953367465168583865877908989656186394454294142350682412973132393242723698743144004074745687335001771301170677715361098309815297498882547056601407027249154884371149454631272763989499844811261229672567766350224648821695959905583374771959624350960111150276284084284297004658809749497497139031809937343715161692660160503560748972994176447978730972734584854725481356205690527131388191974788033050974810259954992506304365468201959566653673591973256074197013592428511421823375287256537901523050235550670111273927177589790248695100643938971951079298621442865913734861446238077051754892012631562645633081163820230562679810392587595291327487249286399935701635532545492678175537077315477109394639287563297004911239646818336299501830774678764506430194587902832549612835486210732801042440306954244554611312821213297780580920273628645093289970925035453344862390826241144362502714783077360611955203853344669289853359237477738088763792122333933352308476769341351762386429075410846261588223103142733597769420577804818245642970122009901014883349284517297704989154888600882158939165940768641949827694238782453508908687937469229434073509104726849214079544167694391789138503623387031464153670307331931361870348080554771942444234370911290849056966090538149959876648337405166014696661779413727636248757162489271621950258728055328944652644843181895925282022823153263876415985044866730958106209935229506908962217463987086333834658877222142683465029960914158662057166316339108648423559870383402502952346551577266388268207914042626722186428280832970184671817241891392530461682809034250765155340615386696348926792564101116585981580580506040394469010212478606402099607257582962063381464876314644286691112006322588614165663525066119028606171495185302768507431766356221224707274906083158121332297530893333196345070564698201911255341669607012047623378119819137179137039447424462024088256257845725957786409741187266467629055410780871540249529047650331935816687555644337791907744215659194874410827776
469908148583857692278867211222961694018143917352766559485853327232425947861970698875083708696080350212268469537013756346955222671216288782717790810245944915494358929837232894942141125328943586869218383690107075683370972167190816925677194134367408915934823229212784148605159924020426617807521100106364849386554492329135472598747860975105641584449364405637729077235557417752643607233123278512376419357351167503300910257352543896704127393178806284395983286227105424555501471312165519384537551805107650435261944587128349588495432169876069478901084763584577499950990327024685626722455782075597276948776750902216532764258511568496492597689758819793397258917552423999656654565156095283398842668737025497870028461519295829970658388982340879755790401847498917680738928782393449729551951915136633422354727576239584847492405600810602831804300207018630266270767742990018611580214009667981694325521676798513511941001666685563618391062828154796266647344035513037436979105898145892352917548228616434915267335680235841193998984825825872265026358481413154553409567838386033888793722749106219169994452733168564271621160989029530757286850017191088441900933438150521713252409124196020379892544299574476839466987529366299602178589809902277970450794981005338725868660294723878571254425172740031980136236798115990572839321997149027898137444500230021575383322965121359407957380453824722188516643786334851010679822460074549203122164647727094375810161070426813352343166235225419147176593470004402391229659804241974346953943967567371236128480460111160153212459518934154777230665747384347376872104657110564578838370501467701282891890343001302161374203978140545846317065652488017643984981089244877338025745657519330675413430967321642950609978966415086620770715879963375984967031324133467079090934403307482939057999014665374340622270654304969800876989624535684328685219641641340830400100220119457847224913974668374441394255256561094246656600043062691972817660143318235316284364417613881270479337332174048528573896129468458035889816695051776454923973504136790846974639336611097309376863142860644718041352929927535530474504969334732370519777385284891917765268163368261884828447572721562593256187311399169074329019453152166070177820422555401381566916029268444224746102682845463408965901155617828512833678712212725502851876081350697604564248715741861917319184757591320160697544525121161618241738015993313185265546456023831644941493144339349260122984675263818856122936457350186853549070614361250194565938354867514360534105560322098611886217378285451238936724017391509248241498392289324963869163499701603141328066522663376532133307907266904119024318550975967880863387345223777889626112558404541626679964194408001165993143520784390186058576187634171450062853663442594797853681262467973006999534976179491624350432651795273484840756131114367807617604963248455918456948435331194224166227399143497956088176770044657579128579994182643549259983250451104915150619662886376222967438440031201013685260298194699578053769183362336411049734263711587895859895380148465943991819178047421965832904358565180446357663667153636725586233933103022944015615117462600416890040486405285786024995445406522634538850585460042518856960744229484617990573193717434915310812071956645023337553471325160266999830825635772115779118259582278477594218047634689203132781430649074243183202706285040146820561621827156542180119207004365694344597662945826300455907126942721241389892238534499103101711496030198305212052672918194465724028811463947185812950223228285696201560254789104846665459225668272519575095112242182371627566220386860994258515271332622185200604696614192362510823684631043892100710228014500641262691873490692544292701904142922645020920616182615549770986406795847625709793245752675927415981007817193331067815543010313970476297290416810842279782886788214315796692207452392063581752935103869606297005725602464577788547107063892216146554299607640587795252360945619980916078262097951565827163279841541632180054203562734175860831813610813795502741934792198944550503994142602804610560076100344043747115032890607469050925903842819376197052659960992371707644717359859430712065337277040137381750492438913927419016489950429880866655218500960149856825407978517824394639552784038321026022404925268003187108392388065047607080215360568489105836204496037235567270762451960611719511104954725897740395376601590800340086878094425661498797196144766432652331848151226077097068893760630523707869327409795713370690291865781578244903071064621525977746577987811625580876989786065472965058945995736327380710086982443673464386775358962306492337963806169701549531308433305411290985286606287436724870428748358001096781670950791803840150566045115092330203580377172472365938911160647883787540385521765353756856498608671242846173576349414871647524450275041507131416475836214872506067342909615200816865489715756587856468775839086167938956600170432610418639684152251976109114204600481117823541954534939179444554769033411640982176133249516586536791782133703963930640176595654823508058591668734802138456974210319970418948278275614301319811687418905615019982635279459065162791584413661780298607986698197306069070304828017348397942279597569210904897664563169850814835425008356416577416190014096898736235708738114240200269206200222265752572089228553937471599529779757384095231705781978460935449960582279503479200811990383643204425738781562784949033384294891784309243934048873951325920342322894590486900542214986216210364831925535874229441580252607049693326866148392537099537246295538131995910446617429222661352777315522692487899798678182846217971370684088672997766835365230431596770306777645427133886703113025557902861481880095051291075706593803030794690247569843468515162915534656174834537021406399168509726440767517258017704086020554302893530257115830975871791574764366376698758897074212649419542362870811564703223727158896879754460932103935683306201547757329711596694067038479205100887416290904832819482237493955963256211278684100517726597913783422526058912168922271937218734765050326969261025635652755955153713847353266821333141552103424
504560032572894375463941596032336160017171738912864817028544653779013909202241318444687129528013976887479933658361586253071277637317930216066140381843918782166438819034118471727974986376112486958056996757747422199568794123452700721826702865037762735549719759252504935841591472629394289862798586946694787389804301668879930691281548359508350187576910572550131102608744299394453527652433382286739063095351150403523845400590029894687157335480176617950005832027006256802518539041408278173860708271710781094712554298770121009260734753751008696225980269629913023066736264345842437863552813205198326040412703082539625533250696219082524899445899821285049675946733005361012711646528632594314470246618721534417472475203642515668288605066800200018747060641426457708542467058613241798261419552119101980138527562734590895149257415962192563161114515327761664087179834238465797792086513051252298863696094997174378800176909973997114079259746401529497698309549447289593362230216964328673129339956602579822296434460916712873818807821030594392240413563910430667771894789840357243879185024375606141333609747594199500471736837358212345193283628673190660152026297182332370939246745408477456246993440225901185455038377567024098973713396232285209746854705154717757252051289293194953453240453049397016169814668104983481247298460142120015172985860375751785911442699750496832059717802751704978991132953497449198975596048276613637338139563678807769302543825493879027452505987346154606253919922589016311588896521106260472659536639729586033965729307588116345666465743386521886401968708330792381492269069244792180551703743433724252579478331702203817129080126036685825380109756030234203196616223371301375588028701264885434677569320950025296464700728000169849304344754737640383296296793840204160947052168071728363833016703797001794142554187375091726258575639078020844170683259856599657039478260133868166770392469403510167817648742301497303840963631876613425243392821698623400968390352449426603083921021359856752535451348842002281923789241170546225150321091659509349537054123034949603611805334413561237365688002408136188316502551270539602073749597749750607424137041584167499925375223822423263013068663027399793954432923759089345743644904859087420495780395321536687521146231569781390868304660636795034289241589081262957443490625411470429597247141230324328258438631809101955915354570724809896969675450222801271350277776047764777908399222086428149537504029541820539779035359951287838870599954969049378833585537427004147826084118548792191034575128220718405958977867018566862319695276229807322433609713523822812693727930437911255611612643502388483594284901281972732563668222879096959378012776490599056115271818358337772167604695500813029106234966553281497519213407229933857540323003876984078118445452474763888122756370727813826191749837761924442358208247749850023067559078426462530354509886755115533110390829902179190468945813483581073724248265548818214409191591557882710399288043206816393345060354498360632071484493018465550902155423032977397236926113929787213503657765314819620091088405183326875361211942348074785964350292620733835821176460706266823414672479306658763127752319142492035107030826495333933315027424605364288301141275827663906567116881063947276278987231998209282180725358409579911245009621155581170607958818320990070644899247538466481786951640008235271160337636525089278334014133866301196608594779157588745038697750058077049253527187367476153890795759269233887320098143803257528413224176649850761534464095510346651832573179623158173385810506766678554097638330792405629452028802158974109609591714972544655840163092845489531609241042878137835728275791923745816998572435391873459532046532442694917555667820579125537501861726712179425255702694357358503184527054082991425861392128847444973471901601378404194052470395183962741146452303996517847513395369655782580523508813546833814650064457048706912704603464975750489075706408582056363119675064071804580954914368842879343108948496952317492415946321703703230907477122065064755692533018789963651530058385773562220560563090153780856286764728881037486300365506530567718047452433561939929516374654055024270433491358064257649005898378205452249865865075092339497058581052412397881582011969228877584904378848529323849430963578528468680048273145755569627169424695260812022089918983177038899603863630222342822859809610153359027258784704803574254010125075194567277450087956487188515858571379040201637916162854766647244742026182127056675010280942228128339173008994058391104619615918532519310724925080940979420384824791211727725922911055215410441720330007281682637795329373462283934668652736397797842177246960327923957102652351896471005699573473219914345528561202685515778440792841942208015759773642023803522642892349322328122509997367290023985615538788322920369542996134468029282460592199842603692863227440890049720185021033568507512455945580523839021979991578060422930535004709072029786729408848402870666265859544569834132331034952804602986746268651256453906106915792705500520667940910917258510220425892034109924661267568477317674619620208585693567155397951253293126361230692780175170496914604298290112930489819090271353972450021141811950483265508881398158835729275508287833977938697072866989761789024794395522593011182756458764834579487779758257703137227303259011875882681468972898973542786936344896143571425928835603514085297631862762281694853089690058366822161806573621642780926844489234549137636304508299928575502337178321772555196881876674292971429886378857453244792393308356910841643491653083731303065422235159345348627761944838303596081138113499522361709731770229803023381708468563355998600809926540701236102373276209666653184120118893382218875940655293277957600583339656379698679560434088467717030250741940575408209615962878679947656074741331308277475635323123520796476680693353551611957954175085844733463479672273495463553374020058171887200400578313899228239911874939871096958386843469802005920422361464962401277703638409703101577260406844093183883714396384093257753597349531770725598136549609913610906831154289096929521805721522405376
541767209692319019669993495553231791437993854261551245701655796614126887788184978154963201568733986640656546729728162474906079252304164858103571678241145836471250689134100286065288293697862171775520331194625803243863089015596584050780320546211673188548385736988625526379553402883931900812466064492766651783220669876989380817450230633082703673639574098454862101554244262381402626264758257935052492620053430154778029787923549375335916226773464757599790402891315315438548663904136936135100586021598621693101374808460470689184342226072798919325545970900434614349031470205651026048217860771280936884379433520616520072349575207547573892056457063427883262981654024017335567490529697230045071312198115892913495672994953886217616785762841688611694303087763854661829248960975297159018256658721627625395954357884914055651356410060771357807850305560906767034243770231227916682890145289451448866098172423943292338968886838163453842200440670955719248386697340150919832979365871194012421397272918534901498169406761167993218488555258855982528393106627526397838932327579281855854448963706547799301151922885975383456411572192998264907153996000890439331400833632523620546551393600962208933526931024194110914255177518817138283991550123688648801810349375808846877006779107226820108477502767845914242334295472999586644344043665391244318749513246069047975809986901582813362023070451887923251820777314858282255395432363723183498728479871047204356284615025735367772199852223980966305085784830669176771214088719890617732553002538076574875288140219921085720125422937359947321170678074029007068812832309685458446523703782155102077725768850401351423940937972780929058584542760098672487521334310692568277599010260509193781726134563321574672148511297030246301852268076826626616624851863332780307677362368492176214598986957460432173898649170968762320191702345599779529849210764691294187343827044486089563577399293189199595068259950115672957278496008859442163728252319186668844882823383050188549453382546875549846132155968871818005011688806038198869220443144152755916970049654267203130216847706147213344730790720628543283368938701882709794902075607083512760700848656547860891392256711497006527684082076281616737856980442737530677747916551702989858594225975987869341873593256463453912190390099853301631872807436773772149008001056213009597811730803434048335790639910769553946520406376794380825471390610251843489166202160190463754319485643262446929344333087584270663005984354592355257936095622784943574841127416891700542345196228012360198421145240748055804765364108145424613106477023177157558420212703186974354573781388147950350543195415716358731121545878165340181177313765040100635401344124320149365890316499878285095340299458007575355493822759499468331731678924323967594702575732031955657858108184758291202260361412903025267548444550192828487885385310767859495002960097388927210506812430471193852683443052039625548969293127024136152552805679224430584148461884823983042195311814277843423426566429156350090228657921362466306845209458920762659949605724201530559294919600898353107592310326796453538568369827404663569771082173520489093146550744611267203956336293334035666376720176289513681295314865327385046771913505786331104929294788882952696341658294793809071631683358468399382462743981756072973974741517142713908644890500864495940142974348180510316784233342233915076835530298298383481208017339382418979895172249546522539722272732055756798020120597543603755207735369212101253692652786324035700147153156908966017804516775789824811000068502049489731788429254017773098480855397352985915689526530711998420978935929908208683268971769397279843012132635633929458291217195247302456417372173792363215129830197894416251752387206734990962229413835725059089329877440984627031263887628417860980771955607898583555351238212568633531149513830828969226631548022223563237587008647354240158739228337853249567238131829048217288849697679782445909041073239386453006926233583776317726085416165162035281724189839639825333804370152225094709287660284413277455414786775761844087585281967000349682189314888797097125632627047590669552529470848815693331789294566036196897343558912410756499526281496153117249545111372964145515877721067545579998923454069127701583605537429646891487942610406895907574704194886725196441905215573803189635898029319988456319957901008739062979605411762199908170800867098796641655713208959091381220271012707551823379971511358986429649835358564821476023888262758186906933877602252862033976914277660469147009717328848662027179641222544542688013003818672914879190464553236099698623838599816759520601432839900567197295488300142169947217016024802362644642661282480960707832699691563206636822974417157165982491603549867179410323796782113170137429320096213761845820204531797001762190380031389188291318578381316602418599850715848651031434647476779169802084097614908134170002154102062214485382149727276405786943172248531236899644081252167590610585166451325837836032399296314222996626582842032168326584786326794124708915164502274010023894944572012518665843602739369532260722292021128879982573509508954063071102503487624574047505770326950568918608868073591484265939150123563417984269328131449647726376899188982600658738517668654467505972481072355203662496212672985915473406453037025317381934268437481623341905228616966903932556047932010505959950419559787074340678288948751108835113354757170819202890025433367935838865458089101813495693005468822412435053154863232651361388447729601238114233322330240625372798389053506088547156883058102892240543890111657885310900874079363262110152405281489007688467488321920489984896163790995149517297597486590299271464529498975098401118555491616932326223278621892544295677085225019748930359529133045018586652670896761612016383103849177294828626738420537618320870097708458217437407138162986787409478597310803901147027184701873927265090280689870500693865245891525341651474068268080370489421001882515286197197081972979141404867694755853105249776040839341435237471067586024866167758698889266899868515299166449760647809044853546629779215129057527177666400360417543123201103605293645824
581718111918421102970350693983462992833419103975588207629168054876625628661129064093510342705292092186330193043119552199974007765057630177536830234709389042302646438512105821758664435560990233222848518966001608972530670005881040606854170006593998259563839613489751039947741787117999899470164394026564899492088214668220433387559621669186896985385257011058079214591327469230941839603911838794245736961602709071847964019611365078827247302046937683624916809218215780558122602293190954951474413658300207452636638403743996429703332694063627468421840580590483585203865623452017387816484957773933239986662450056513523867017244848977310557631479318262739067252992870285313699857356459829956342472969678408220325518137709328583192308478010866153160668727864393385863440955907720390466280954035905954741440754456096400198324939812744588579557828611925375129291976308715565018806494194720606664926983421551371988609678832859219738664109339635777808994641459349597096741039664899207955229764452173468542304751476734453408839531846768814833348946099266683023724855627543604515261108805178434764804790980694552251586786021217636990242722314884805951859671579706458048737970274839090375354301671040372783130661910498508383513317030396875372551259040858252721053962658958817404996511684911920509511604438933518914744012728812840348443739751946340403489723213121638506390223997090642955982052755153754290415125387492762481011419657485509995617788400870900733032685819507779301705351080554253006901846316593176964638205121910970958264460205305827717187825133532307581177717690524713078975984078807797018646568158286917955843456817232330210007340007164657119779169801434343016729774741676820965633699617713856899960077594490351087024944518957862447320108903348794195101717163464738246556772273053749418392931684255774850230220751972086700705110506229385646378154011440065017639158565887022950622960682245281950308654843343351692135686380529457588504080285535724001988455845586160136633989178851918392788860495068913086897291879915837867511496079690875072914213669143436072417547571528724869288380017329966491547513106703733049240820563735758312002204754829649696821787620879037559575412784352330293775484031717323743181004130425358637020466275325395029017031600629168793015245301088026226629284793162234782636250844692083458083874241476260523776006179916898098203219596240429740492276613668287527419842146635648738968892393338433076617383333526286535405734963815458311112293789447521273786992662829702950799520235503911533997722410969736564262549949504201481331442945080331431913505746387952456521274770287232191253690036459721290592774236920934139717819349494465089399398212099199940083511822516605616262707040747265368025385670517672453543810006785974932052836404010127294355685015491696594638193386389711485895554859686907212301215526526688294740197260369604340412816743520012866837907437297154457227290122201559644466391826327999000784954951005381470671863071711440840256445767699506127064683733555783137450518890083632769965381398384992366329067126201949704342235538668460099233655767184048647512353035449774460247283295827460218527456547961886497696394993226703972226986066150940777271199719673249714874716377648876550675610304636634256481550345512304999286020335015788518152743486545344900578534094678517447609712097400552228794720523331860209262482450502170375363766261412105589004861580022266284658505576743011574006523879106439015650003274247115043012635738186252347717121299106791373911438318275165533203668817515566842879778809304003015180965303434039868958782434783093203227042530958776144145864030277142639274280950315502812832943474405002670633269703174657075884008273497431465571851435713894280407725918422261309084841541179285784508991727468428283672508542472053913739243479021944292924039797427524849443227749325921326506020023713914602178708575839036434653482312474689015677809248538171393555100070976398692547258681694040203210487132980169018950885463337133556960513266421330851723282094478271304795151829177601460207436414801263276391775282007352233581934119991740330714257842962190797900074331008994506576813701263381921021204629616897098812431055889665892819965180029618271181987608565400387308298256209324942193572505621793977398298478123785814289616205328643456667045880049884747935924232334921423772389625815583651948226579443494216479881008627921054133142958933873410536455674634807763461899205085433900262050826166880384099984035734589582721910386794594605938030402370185023405541960567187072945655980820881778709052799074793046210748048853433419948074528335001058625474365313018442782510308518105568074953665285995700614053663314905511206115783672296711286460319260177776317987431525877785688831188420138232593190024778669865512890157004289799853716241856202430215233763036266432119718513863428495497974425509576134839029477364343013450785206870501836517154484111629599940754506632695894990332790212336389641343520750277540572907690724285662176161182183537434037793931747670851241369131621143096956504102038179654797392227570131565568314225680014176643785768371564991908481384980228504793547913486546576804126684809806103751695117256513877384646642298335577497500597275565611622720436152356460163788583812406725268377345903819857006040167148213618295810319040776175503888748388656600034447691050254183503373031058122637128783723672490485361980230877890738367059187735744573223836135352260094256039801897609133315037710692205435207880452499446689222246573261111729741628962097494037043320547101437709511617169829816745132564933240551365104675477606099356139359545886617855841876069283480448195055531328287796521413813981625243546218731106844041108804516155652506289787096896931346340903160528979651511809797049448675441526838941356466875980538146619030146361745442400953783965464075723924661479375006879661369512613529738824134733774926487076938350869137987906679265239397109260418485144142006016561045824947906958501682332963630660057257045616708325115337228215087644977498889445602341905424744971128187169962624632677092786508990154704609703960975322671742976
624615066545121614303476172077469379761454356859193733532633622845760097483747399179178701939245425516926329344391298629263303850243143291945839923395207500207656746915092351136167238843188116266886767230253161605099847508056799268221663404886331718676902591031940286939385131181100915288910950021938499635011473186758562979628767079822663365987667205762290145811779371393335368094219735322127378309375510802147379937103878910869872298998957802029753106578227026242062301001917438749897968410793777489772457728864527155479144225802713329999769506440444841818858086376266326473787935828746056757508674795989734197638629923595501972765681723009709957308287233999148132497026464996000053007295133190735908915718929097654732245047950051315114599804916873378790546906912659267741256722082973821336536044077625076668783382619226592987543992007248140443210202470285037880483879379684715370785256005874331068752263774048449737410004085675955560288629926788058240319828385445224326003717621967100877020925014495545566850376648455635745478353413104293292324161755655334551751098804734753189826507271549717321482102516719928242873090861109913892635859954034973649831389100963506206133772522509137849798673350105993140992880556508604406423868416027630802157445067858330541323901170194638807225999499426973214255736720514716550358776682636171094967951368112368863720074770404677660888921036583017532238162450755185573159967107857946756264876124397164141609453123457217729602549979794694554588273052946439299965409867686828322337909375220493930883011509472023505142790661181072938496329196974043716223328105619316001245704781400276871463584312681152004126272259797829287025090846237198562160969943392179417838119243489601926582546661284617803326597645760373987249129652630734204540430380021358950544165615360187770219524050145159971101247441080303906341498081996572278718462292360756200931759739234333456718692414477924704187258349721657876811012597233569107055664206583145934265468761296721080972259514856837743622568683801220718350064141576129556947040780631805566025013619060023509543866741813029830493107305855972951900920487362341383952408425472260874746473242983278272583012388623389788288944070699033048401678937154458478768509383798375851977280437925203247416067949397686465140765625625480703424091510501218410643206673029336427498444243059242332386856131939742572100023749072730380648231320320636940403758397682934580989080930647715256473194440107784206369673802305253444794848889261382247769659115994879529649352473400322547310763597671749194228325496402486898227339470361081482290434266653393696948253986478887641092719450371691966964482193628680422996032900761733812605960696634544384694563121109611039275608888165108644502685820595825101160688624815434995513658133303522558381402386766825585699243348532283819055062396869886674273789012469061878633174763164918796142003844066612256912960478389885548294135066300116869373014960850348934135008760097685289485048706366747992773609278051316591754562862784855362968801039557572357648248720306519667896692707527494878222366545644319738484647010815777489334533457106508724329109787889339490517498958251708768647049360691495809503155729670243832857057894819377539073258240813735323775383690338212584377690172220943832279583901847318092256293854066300017812276707577734608753308536292586138406519601170190134801855049038295070818674417800630161102926995086213226726875937851303318808799061296069533022225952567693047562064059732175740611133794328268773524039919611087890267655111418628368021909374989979432584524032343159540395007333317252765822866965925770363002540463880221365728375333496524882290638246170694879234201456016222921158112963640455586788159091338794060221385527176817429275955721852861087723708741049524638364713953545128201110648785538421039646496748008629535603073487243101919123600920185849311747286906148310537526655498849445485740474994712727793086908743081994137724559110094657238236614323818698912382389410663437741236830459391639359177606271418094211828196194392729027897120929900688768696739995447766127635490439108528310373241181913177521897767939702734808285932201682091512099167955825215798507097916021490696522674010766411035158718619958219889239621103262595319443863782397057878020657768569536144607338803936448460238499520353098308458042597661902278067469960976938384936558293507103689992923659578414331214514734577529021828940206972583871898808532069133072013337456900539398443222943481373525520461995208416390248949316447947522253889705723122618359422717790873797860844898380326708997603529342363719730447777876442753698932253967033409689356917279670505233491900481628529990107201515481289045925289706045616107939828735671116806606696682326904196748107184454177689645372693432505519524210709103943132537813308944496974198743442286999649570847952004408488929457414956379824302642257349973737279263059800186252776035888010988324232392529603422315070897780984854920987908821922368002079117075747787196020541210875607563540355644182265891085563185957140181842280874576155133297313286806062375356729196525704146358043378716758673816880058438720838619077274754298928678358294903086584302835296890395146259646759755250455455440956306767434449692733110471019534380911046461829084748090987768850583143524864941061289623787913198630626326620888402658542468520757250406350358357611912375217953354767522686952913755336808051463372250246636128892099906137492044747758107432966582823376240701247076256176951135736960571730493790113164018571261375639233385969122785201504383393216147853533184198252844276186301516992108753722625066214394669513296433989724881433843723683426991489761128641628259583698743636407790013767469993775803822857085393751415873175009024944838962969033389846321777610924818052296862465447515147287055334779349674280986455446658266980147402811642428843270044265243971699904213197780208442607736041130048757609035241987940455241231551427150322603888695264944110592203124597335601885327205798772472238004096511295407376202401160034007029689066584918031611603405681110569804739157667784545856309428224
670675320850040260444038994546999841129212686026737590612699989718134517738616742749907442242197720378200619743871437159913879652426295521787290668558390374131449734198517634237396683404528457935531068247275457723626677965422762341862194100676700332281192254764961605957378768192874571110384730450129084613920553480477232061365467207159940159133577347020184731581165942925453339581198902461578278746246897269629430850486924219232550108974214324450458002926971885843247840599435858180723724415300091929718420106753894836821707914972473275103066429424942991825972159262801755697744546405952742615614890171268845082647678987022414926433021417867908739271162464950160130233550871101077249620149761618543714741461905200642466323029400855559984749163561487790119604749785956970835001352821633390266142329809653547410479313114458259423751095258104039540100691215853162373699854647738654827147797096054458956541925108875906285418938822801152796247255464050396116379242873954930219892402390191897363684447711231673536825037357599761108429526946303229381931110642788401236927447224600113726234132161303056783452587139657846248651667581725889607561768434854068766561893025722275311209396896320042731510265555722999668541184739759683967048001790161499131907118202342007609036033017280525907892029082737805173874097548749249967625220729622431479886965323540270380691600509390699809734923535212619972489383352282183134783268526171396482966731516944261925839128492423450150948580810355918476566479876880758308250142328237653703601966756895953555527254708793483795382893424986731251258088329263364980513374711478149012809949324146254562070322569476046483331799102555923089890940579004433120784897248627095475444760293234025297682657738652855703286774223872849831991033215628210943242430797989147118516018180394930433378004634014731532142040716060898046869445317455501080298998084274659629207778201935237569241353848016490879608687217989362820951023969440549847040000154708099923116388527969761898702405624883736057709341266110001987547788141892947585336627439197978780877050552954350808620512883367259717160079858017518278668758631379409386515743351959553453054113717488060413902852913575075400340344645506364700427099026642609616725164539520784135539639103977326510451252086894211566460358099615604791371387064028493410466417746307491301171823278704730202035077176734563847457131010772671827577446200255008973230910838383391550663891482557295280918155605227990970345765966772258238596304352159890587481413711066569520825957805207773814137785600196866133081252490972911720238725849572701569407154587228517323951321469057112153237953935762378010574590853802380496100851911627915053349998431676686349030897888543366661242327926289015769106481445905498010905262321105376835436267100965759457461593486444964767078573868472922150757868654448884008308032089639689245132451697111467920981399370543095822238478793306268291776584674591448418733750820442742255574580168323267020909644218703072402709074045278143842832007688609272317010302483307643896313210931347588267299269071348070880693141732316711131239707877389480649376202500422568439933051519944552494703490035351289624363876792766920611784274966932178531616688475256958589349151573114371410803811049963603557249454950427390361473430496730576297887473238345138798056986481587231380590703873793571637929732810052232489768949718937988395191052642631386697532070683442709627318641319330169066315013411325529504418113126850172216361409416701671331212349675030076167645945531132022881920303847537561251457988244264440497665791868659979118826736854569442955443690036902482518175489914320555006760956819145166924772135208567482934976391194566314972954920405977348461948908244336299336182476339758037517025755696125527723951079031659260259530668337717797220974386852807409029190005733416854245298717066198448986057675733488432258984676469659003771082291523954233497247543611449234696564631984318407766997675308468854075638984807641616415488282991284044690386074353445936775873554097826303545612249756397107438752001511620141697356751705565836098612748311222952121935802107459371041998309289105136490837227155774464808336278669770118636682627793295514243683286449677721822825050660496701827665228736486071449273516963318556018179470582103623610744611731124700549778477950007060901775053286283189087361920390964586643377394226352644873050132397328481675026013186380151881311542073821679724605609016650673438842324313299906560268288963772338919317651412057764275017402653126372373601172123717968919212902436587810082268910899367986646235004025224907140894795785353798488988274265226993689188789369746890526408411139112370296282016408510768443538043040336697843666943092588887118824042929746296438676489567476783333196899928389006011297423993618953601304723425411317539695838639722229281735217563097211878026944199412065588152983518625426438207018332715205673062595465837882378335303992554620352673226528472672230639236933100396614604951666961222975187818941461232743502384017366992961166347197955356870884675022346587716039733620302874576549173307058151564032994848454534455237791957835937218705485657674191630083520346344894770092259256140054674412425579889415292417617555923149132768609813511489582346013985790137809673107833665797724887315527992042271168801616438307707051323014208332469971029839330940471912539374965955859077894697632694998905850202617770034011516167189170807526900902452406299502912947410185861496371819074528820074733974530779245075628505983238616781899711876063459619621812181907062223524168627215822506406045559986626300239154669073846828498228665164907499084105284822791448959095198794896413048591591960569775346169658664893257191668342982100243820739762010403482245486861660732887484638367530492625182876776462341360493126751890515631446754909556796272285190589582291942444083835669981962987453923801978059530504269393764265829813313517574204059379612412570414110326035738190514887877146761252565329903183642394708489072791197331301823880707510367318946620414754630610087160507747338153132700380647625567819946998430564306765327369634840576
720132142321307459722617479932021663141791049178288533313845764524731002954022696597224392864312030047531103281714929757587308820912696579126917222476065530823945253362631502682227163850328916283604403628498033006601797093653645768069623850302639849085013452526002566070645144818290325787282205815269944348801390885217171544041836689628100006198937600234534118504911523603456164868807905635893150939775576628632524885483701299308534234181371657702362573698204131502048714449299511733975613493757654215983536211824201761193123019417780364200420335923905559139236436860059252513298621943980342313892863054057882113415549584891920131993018231052554520770558415715921007329050458332859574372042912193460320490232994516652927761548162080276138565979064986235916753582194237047449889155621168183123671510653426972804598534377785532245523689944434382197555837329770952283304651557997780709408080371499417963330463398875814204558795975738922592745228436963438753923564519219368868099989226186607585303330245890522430003046781217307754529382038780779573645103383933430390182333338605863783014073717934606407439953932855158566938799089844025775246017431905832971229597226331914810088145469394621570289774812526387302850807121590528384441677337723273332468365697166308321948228973699015408019243302359937841152210648347948578869845454627400408528849460322880056016973512432499142341229753199726797079580301314705881844224591973066996247883230322018706584258558025125545452604489522961994223793360261240856403662071781504993185931155536825748931119752732504129768870764542859989523662057416358090554155419098021457158354352656366616245709372017576875321471565579959920543214498375836123197587883393438991626204128499877181995919893468832585655943750217418122680145556593220524053888119226642359239733534234413643888409177207430278192509425545494763923635705032928768794216668381578747244723441533382317470537576998645699150396219689384047965737891614816252323650767076557399021250782314927157958424248850522542539397352911422918753187326641704353015746000572886833292220580469413225984064427202260710585188246733391100491133184673070670720135271448924898907822433719050687046244246225815821298971880454637437045806887895860245982419079365166843604595315806340221975482478865597222413042129574433187550252607539959302526192081666174974584366864682077364561032279727740949413077613314012297496420584323682600053325376787152054916035251419134419439652794273326960354592659839167953709423034747299259042724724219227342714469920310831754171742897676317800818490789861797765080107209156142203742900765140715296235090801395743163590288165013474595651852471415485369425353619545244318701084626425664578684336931202303221943127293579705343085156237948726765857788255862161019488685272742166721400061800081935744618683056852851524764756871380370429845097529780251432861701806848363096792055630199395578777123982509991506245554228986268279933093376303686557062523877969651752670567522581291876088903706728012757136809261149344080979348415218479110369813980721898204130916726536063766316740387948265155738427317495349310873908134997089407458549176911236174526675729723918202016743907176823344560443297511297060831744752262185584420224982968294519249937382939274817173918181477735706288500589096715030664862861691896074558876320682816237705500574890975409985338891298129648836573409776763002343273692979045312257421874136701634739478159419342191493459458861136307839720847462447290310022390300028639024456471392601239107087340802347034042843675889198926652222956767057878303135103459334414850933170193416413642058469514298889193863692696156453651842106974169654589303243221869553690423678191173928019126906488938640216615333082295718642561341888638922191665976136213871277800086221967857559173204880155585311169196615046891716545998769470829689187887519851360260519311276407136662646900581539367184778155030358367856476456877048546493394480730786552511850889475110022366437512865398348274730829689506247952658740468660839115149170362689604243364250177385809609542386737768141258294555049371804609496241345452282072018565766469068528045220999892583440523573343605975926806264251260845647998075886220435030472470791441242204774729094133366421396364891769708537269579088607432006201902182286572810385398349633539772945709984362385551030553310905631200883748737108381866080796970957773213097603748976640893006646191876238436486698598033038241844306169340469050909756562189129052038521319981111974323862579079406019223556510350374933732004658885608890970506595839533901010447580862428736015954692333803695003018673300074894713524157091977866059778223836652154087545452434222893272716872281632206179347521631516795810324740592537096232590440092195309198054099492413839639080253880696117460645409779600836302510616676045316202186225025322316582391236835371227116585822931032231017314330803356538227154171063811929378921662897513211207392560080477106873528647435015080722950515385836089345842314784094648875452786333271296773963156082699517914807749873957114643452141665854396497633938131980267136972412731734433240684762175407037873090539290321962315088876926118611412409025479043526923101968705505563323970414718494373986044231344153642985271104126669105207256231812652969767649069002255535556369489698525729891659528616900842545234889232822305118806841630961946790796947765382029785610716058410160845600829573971132067406363189215921487504066492813217348041465429043102125646395282567207612674127448450748848369960837545810634006814878841071723070802386308790368336529870293299688679044207141539225161570589468684328303227703253038857845537933663607176941780143674676437852136582805926659466440708299890742283084196657915150925841090376542002220678607630999784542372732573526982410443525914679726531458038117702410150375468469460999901191845725548380413595721202694985249265259092936448264237858647817018124620835843981922066469340286396975256814848213869915208363051343022022009406147591858021005302888993655952668197640592303955733962774273583721220522569392999689497020762075778460025593678159256095498149828835934023450624
773236000017108265867369826956492336589380291771569230958693515655459160221201718381702312931418983648378853534440974525943674812618088169630296425958464399410431199221734083129875487294999033570300693646495696340920817653017564431256958872017859463571627075579807402721375030653935202972390631674831357097460497662830060409820378059431397982310458565738011492193695852312594075170278521303103791759181941799879657896264660555390715487376349150563238438992044129683345646389646013251548378004306356251831452126054168766407516327126034906287943633061627080273903601681380854541705846582815878576263703316246320942035787081244293165388504150675623330991625278789363288249412007318360638522101011144877925394807349717292913029624960615923335447511105584135488149303503774009617218530554492977957977065425846109630008025890530142474119422676147432189116733116315551806892501311568978846871846178432382658884816884674156293488070706233770492529070749201791748950175323448288184562497846105956593015833411496858058304383776421600968717722931913312995547635636133253841731410291570669795469071731565565796646663306339871487474092231098664111415672806070364890767407248586971037596658917085117140672687015751341150693466038608803728634179846226451515255141405974383528955070611789228831210686530575743162085396923189348893733915717049734155032111976148504860280887314198958305975907665603744487397906425888121891594946197250816715425403295864976473369902593781508141003274450130974101560533346845993873658190193234292100848569290084538978827466573661427968385559993140525011327757788689833063588776010481793994200349259459586335740376013284047554167897465189961782930966206309315316447266726315170492501441147131788509172278986971109987672849278799850931617235258521899831531857703430344436205734738322825749559226922393045413259252493722411742797813998633582916267176486159239492066184322487611286450162084187066278535501687251983941099234893248407108194841012979781889265773629764256829013414569126589978179370105575882955217451165921947426475867011375836553324772851083566533477853532997670632307276135430873401946716641537791745659941439892303743792300867849612588257487469292012595849616116244072350912249859361064502570251334209955008716320909175755780708519440137187812443113537598096234566342326480712054380241293542595676313371719168894929532875759357742790422289685973354249072237271682856761378320087336923907210891857707079980030313849249738844959516009352719745258303455317180485478383739313050142836908043427687134681486828210014837054514993633407440196237820874865630650281894613187258844166729896287010308966402987181196912882541636571122412093027295512685287739917556651685128711456739723574530290324472456304466801446260043896049762486455215465647480472116111577148202190932701035877662929943076495802091213992492343137539059084141492699537237829457082963790361079768492453684794454422378140608789722629373848702279834638781704594470774687289557292042811597527308081452222497489743346593606589049914369273688199118474381378201031814445854860742942310225246585890037845958223014778883480574893154880213015055621797610369416131055134690290946660259081432928988514110864518354766703316567396427275641878355702745491268630877443003423429589433406666952660142892761781309434305781822916217115287855960376032530721762116484537856805594400591456930261810923600938951782969230536107361933720673040438628949043703087265574344443427609461892447362405153925001340966841592658118357472201695474583504092640421727814153062696133277402400091253733869362778310906854444428013670265581372775562344170931683364193091002946508333500404902448045804168435266165851269621451553780114172502031460910411370268302850151747042654619271394761191473502815238754599926275287333036244958824939943959575802420746055075357254591698633364185261955424272035775011120477153167086767755698368740848789441217651769275876001020219450048366193691407605848746555681027038016419411446116288963096734179843792336084061640362504228870816217321077206108069881858562761866770141124573683770850667980891535572101903410147456971714167952455680884270750907766347499977156961259328949048671774814705863915950560746375693006369388842993780599126640628560570485465858369432756209830313601662295209761477965180132023766902106727379272491584279338554791391781051537508226780940450430574118670969874436809761739455416525849945126187846241052135904390237294059658430282088115739390870480924861307232800379406816858745372386065659917680631190686460429281809608331497941288882420771942180793428531611724079785684447857196330480955775282516786307385904002849670653963097847161983490109779627729445204343879254806760156679006504300220013644996157622496445187389556519462562586039661910336909533484241727551911650513976039963383165329101714925592190046364030395082212921227489121281122166507573935320465138135434678350245967265441444282533472688960465922929744841075524625587213126014242968125052127706339231693892655954472168223623368994084920514921034475209766349958998482375037412249000898213788676414135644767660016284253353031459087547227760788289316174733969363462793432762111058307283251930670373804615615840462405627496021872595657513283508149504355249800479463612069687204381884826037332367542383718862393030686844227324801824644091307901657312473288582566152194836508215621741261107234024718823979214503416646488817122668906269401799359995160667833409563410546886594485917413683051009837649728708904619403124107973042614661176515006393717073836437151358044866235418753197331297428759211022700869077552790153792531499440860301552522539178248676765944611153152572588957753276229140989175776719162729345722912917776624619752749665044518192347901115057056277043498675490027598134303161363076206605548164619477941708947227963312564060269799253542330769552203276921385540144082777187177199173958282167475324392314361218659371435587521728422676638679192570600335243551443824854553082803262115584547902072094839023264237700517667046408201402076889792200447996618059840031409893206059431964715637116389887792042669588602463301585839583595083531787698176
830255833040833860597906620078828450131503133516456937391864844156865274253421376567103369712000606410836484837099498807824296714563404206651655890069322512462020920478852134862840134621021088384011899024453500197250444586322478736455369631933438980991060410780848258166751789202412297617384938495045596262222580528434886066470720249903449672395951514651956365761020745763359380444927970052017522224820186936064626850031219411486079880080530111386622268830230185294688096776877524983045726222585386816635306746398081094046236508398089398165285665772778165581095672869535345594289919781296888518639911903781173481590904293890883532994986115378014627755903455571799448923561415665517900696525404018945551870756363814051976778702871247669685647574430770166224508563528471895970185766804181021547790089580515338497428782854337059507140861698113505131658513965233864756699250130206467648857592809877416016816953087656026224230960362352416899045542799272978416585911336919154924969785079273881129449646628140778941792847383290938017151134762039228505722222166829120287075691804563462811088668016638048994083401342063244374886024944964109126954803740977191870158156618848595704544209121936838441879555543273961777591861089177871338041665296831229567037619358628859067655774332751362468777550683632630233013101736069319378530236832687249450339278691841940103550865097086450590358521196920946667128573059514432819815487799017955725510561470837671496233286637749287608791705098056229170706368322255242108994570690622301259713934737325757997325301340102252025218925522296134813980687309858027923953320339422164602124928435289185486423347730949461450914977026518046071294587720444924536073225374528159963489475739949938962220883569707231873468462699895636470242789456322416269054309604589749091879797257186913621165891511680215026947823557486050934390743666105556828167957351578532566663978283148051960115983521370662103123601630425022784534601039280989933447693936666918680902397797994173817589319879922158810070437056332121134745696331527958471336303336776119490292814865508149106081867516125763052484848006129217032519352677495942673917049605403148585421573811001625978208955576934749593298541638355706275256487227934092873571434355733030690016998311587714348556509675992362851963238626099672429830796258643803262089027476088546103179233345330425005700981485818167812310879057673416606796974355857534168493090164632987978677829775961148515471632767785875618910483926039590358634466103257771873014765268821934967373162177070315996094233325954195986205977716699283292171479315723963498009343987636139461764895716318954545276656389098174986991741669354607822084488046785965577715995823914888803722776314329407884171953876248607070118482732353097511264538366973198348397335023134334784634627338812874671509971235254263172774065763126673050826535072172249855845283797702923049191259588259409230584949746718556569171115010347208517952283485982603463848629096229927423318862910549210817325669188449953308472442263283325664873481907739522128745874358301209739125121747413392871308030119983341900148213407687457305115954344726194424294362810420316898190374163366918676157673294410357705789616449406155128679113597925658754031061236438386745602555792328370951911531693797201107509823481774671460681099898348284103964549200743943432895420520891448208146163489745095257643116757658650396838200093433731716416662541402576948199207805388808634968969010290226195572054922732899002431699052182415219793013560085877794771837324743191402152400242554532503025151055960550651700167301260764985262642035007899907624456254055811953474859145821701773232443925064693106767003362485918846628756053180883493886510581904543329805302226871706335546366576698492961905777172160503595359613229092547098433120199495912117612704357515484617418555996922865846767539445935064549565253694121422191955122776267952845623562482804982191739106256533276293175209605034149295831506194810663533993067520795159381827346556046708617618024121363051267311915463665555113832931302896066277689945303416319837158434512394269420874551349581281483550557769887103912108071838808989554693730443312473916889202767523896266859536344608537789636237997923111194041391601162051915503133447544676255320393498090527657140882290555751955268323447760284818906898890784906728746705335232950484886522087838772647680706239548959648826831086311128271707145863230092848189498864085075862999916442007748066127922736661919136017786975171472012167571943206497373373863774090784158971833440873258870588196131769521401200685227673718746414273213802348130618879416728251415183689440310765235908706565785609511102181376128360737716255472220249634291971418163042226435182081052483062758570836489023684215758823450848383515948477697006358787798500670309727170642579933151363235665733382420537558564407015931995172488024549331832674147125854261949953590564646415740239388549121862306098595343976427649511023933234931293003275094573767331698485623001758910064759406865668196112733787764586330773378617303218797355678604523096482166625711795363459786596243322096923897762114810044336022012253448189171554979084658776629210485837432671412689528711729790971421396421895443078224756912792338269567671101864742455333365334353942465805667247948419197491599209097774580093451603351631874751768871135318006833922954858345355713232673755757341721296451146576718985844232865692896943165792523433683236446652503312755484274849484457306081401749188119963577004411079936270993347719896020813208928561433001078704560551171745454545461908339233442425300315736569716730356022433289787084320318195583018364195316251787862556786641959900261760253687670762751050524760494847114926634943776623854360290005052818185852997470983335595162246327031065673450955772331642134798370511058330673673071037616190940182612380701710306409780345614481532663983945235252257259194411628287995313796318176319941244092316197456977585181603652739422411530332864361833997697137851290586264491953826121022523405558635034822025397033724290005505821403976474276022719462330197671838674578412983228729895338556337841487060785468854085020259713024
891480412555904415959357984825116283827293214443676005972594760526468261699128907115752430591109885816677660594735558719399085825812516996499421928023377840975233073881121644713919955968380732183914148896220521904980052154928823770682803883186419418042042533166017272991190962293461685643721757969798073493766455910588558430244456403725065875130631429557954353340649563657789773526446890112270669193638965592751003815831895987833269961047369668687194964132789705498176374544292994699901087149643463236239547808676981024021121528862755828501056084247917197058419687705442196010883222450783402163529077006765309710983847998331829341689600574380663875905304803153566903249379671032715364598538057773639527422392550341307766377170065327510004016733190470920006687018506681289511765514867159980902907433955305934418206600612115800585993969864664132359100372930159682530427569054240130069881343219927061890303849882462213482597584376743985051989584984361433718937588291605851949675640175907521719494443686655329709741441779488438909206802723061807175286973266744331913360056944293824082534513821915401074708476565151035938447860216515262148511498534398873541061590256400163931635864191225899321377071957344294650777767253448474230946178283817065855473703686751861274343650536180830875710350321296147332313032873984637579941602935881590046350294521422698686485454766123542542577435363924560458169354879440287650274145212767285189460953604961364200278338323931747331764603868056994364316263290754163455673437139445729449682738003073120274230656182271036436066263089630404463313523892860612084108571472107454125913854933976875991666532628815935990123133901371583157507884660278535362905618811208949618560963085817597129983718615029074297808964345861905313199414473679599576821649149892915961617357095682073740521109358337631387747165219445241184849621432760627565212717105038142837373181636843777773701711397790477706695612112101937859907741511029865779665765496150477744891814577591847736271399610787079778742700653343242497010793755164938836008894062247276821148957327785034708028313920091226233366888430463948676189197059233777239291130068004057017453580472775517144807868214312890357291634275308004416802146663954656633853993319421049230146830358089112740610038466573688698736849823335516280609031186128573080932622412561431878335762211136712428316582259172629639128772934429655543694074042539693822220093964769484802795606052002034960137403188340574528486071903468430847892985782978172313106770438676714783076639644655292073902598967291644938682285353232043701628929121243720446861973382327861833993817385610100819218447615851528125603688972989621505689665677462160017017987109946755524866471830092055758390774484727049632928315545149318733795045972671783353721941984479342828680231932337202044470517348329445642910452512395585864646128475994203202399052086743183604970264795155147052410720527989920945228975199323990547374421615204039075541545065685393794902015995179058464755794836426852598154034809512526328187265192847234207407957965957170486694772389289723743666881526877852381480768534711586028717329349607028781720459036978477272920954653416069240597205434736266487506998126645768724694866145339899446954879044669048647840712235516430232854104327531616203272417963238766491192468487178701161061100690144543978589950431349013705016393244081103876995470128413365246479372801200505516311877981198078490659770904313216412898530968508502244606118976163402039678792975709417698825911282463344019999410272901034667728235762418546149265511212702607728800926339160891294911242377728454301222115165238094924725098397377676040774638716076682894460228933449763676695136775393482844657194721209485748832178777952487774721911684636875730967871696973181151239989044540361386277486025017984557709167702411424561350942487582096361615482308670265595007933908548673941863971655933895601205834397664990214845465684019852003729908312891687047194437058283301197640002323133752365014007544169711140277695755348360033969007686890058873899499288438318687431692376550472693317880450322773455117264441281066816405001896055951228664456741325798432053793887566664345473036985506956341164549306454263932216942484388069625244821749330022143335028385682029003877209019037463683700897575630631078141376028220096936212603301174962542594360620643559718543738659612291960641990887261480870633721070755612301960798393018734426504347607968637448315904392288989630656668376594440724448242683164059071109758891949768898337661522719762524444722403427449132529549667395950256932259546412234043637855180222475257253705833753848786869915994688820191240404885427416349402604481182896116645437745191752172059994339094251689601533425481409003535494321604930046669028888636207917663866051532406927024409191054203589097148123029487742828750266416337917533193453210765217556466486097756339996801532559112784316965048232632351986951257378822030827152088479156837389999546179329347064015038021409437289544970879684967301186723649100691872876486900775809410074887185756112543772721578404266889576163708451876054210501056216170570772282674234418881144341167808930562492158643365235457038743011124079853911304633115952792742066673086588101225169498254226790594860348338365279886222167572044825234780349195887031245959453601871970376815038505722572503854919257307477900898625069403865455272054903818601216151098852177599795816777089838187598862398517245781340451937601204116151280202766647481970606650042448821986280809016581420155472627394478316918246638766632042202403333595301627353360382689327231540944766760271145215791696905494304489740259585698881796575164451542802785392516858241920532245302331107784248372490900283782462630712849545942728143194382215218168500361033835553635947123636960875017625526706158733656224771584147944872075611581472043953110739636824324036439739443801696941700463615867809604648312364762085539111043126127319004512818242199273840010477337490016863058241107020232672536596024194849664936934582965569026567220521240105065185315308663616790716923940342225714260922725738440611875567587637297847024150579720678539520188200080439504741216106315776
957219804238049309561855752495084679608819517059575819918048792180533231594932011937594593955331726981231200907044283617026678598540478281852290915941418437609928699574242313961004371711488813701611481695235409896485235884448405825707511566966868917957481258247259881517067319785296773617204414550977520344882846999450939642421259384824232627282920429445285421064729555826719303234833996028277073121678512113033704015042300075354377095859411658458464406231556196590034729076896328919494125935641133164956794965024024631545826844926764088961355145826656279370474990034351878271291275125301920467993257422280643988996709784267567394602510962566941700445471630614071878801020454843187759256859281887285085293017795447487623615188457902959749091174422457585066938211448485723987035173393763475594492995038329728500229534150092736220425434055485498626637857429109882131482233496185752195231640932534516581055743687017162715881722506678989690752031810111257316627149394389911361518678090846623226409580321974578181859166264697722181284282749068551701128922398873297490312637512109917062315735414096653923649039895326528164038557157778132503180895321298773219524810818247739693853704120503181933375779435258113134319562829365235010753146716294925973984454980648468160108715729537383338320748849667511280770530057084226903065442549857253544388409782369615562629296350046985979008693108902461344753038809153514560690034780797612886859989900570590645935164299627577231516058895924972464698665058678617804488939542457799888312859324733849768623804965868579125232248714723625974296004228587734196947178946495022917155068263679730401113831544620338070302059779854959801310195369509094908614781082196209208557752758962455273645883116004072049560916580276729063110030572700733241206105680894068989305734997977012382249638672924917934119292433556493537940353682921889597256181812359655079773615419427943549785134828185137102618683562044827231631994841773724200733501154192878952271543667213260115874323577119409117260703826206764896814684234358610846624626790620160552973403216834069047301629232203343502212012444530857417813773819477112015326142466239920221320607332168766121609272545987945798950331086710134824297193206070188067328086936478972024371653416513177068644261575808995533789891625322355015122836976666577558437893610366992377095987401016206716144116284410060079594590421496330743177786760427624437072135423182978351694034341462103869809702590072224027424574804225344865034481111421050891661562797574015877508475383842885162684919413480247176421085231667858899434758125810949541159670375780167731652506684347901006451510197492871122773006098986562928588848002468415387652764520242717820152202819287662037924213500003482414998979994696183849582463104860454811558235175237029259188431747770791906286302411818902317527521949325018975853751104352355959970599363490632183567667586912873959043710656878140769345963928172905177296569876054211049139252386607234543496372555940737442549526862234750351321052369325472570475816741739501011217415098482182144262612636540786036980985819061730241293904227383025696407861596255784767305023544482553635768691657380258017309138212796431737245837381269210712336019418333112732149923071122321771477220017222529380193510706530090999769680832738358079763081048485779198628664030483461475219390324226276756225300031800921680818587735420081025732971329937020182806777616397062503856189374219402458492405769046805759631468351026703828130027543856617853915216638894370221173659265349094735613749803841320393740526269819749992279203980300258048463719308768247498094879366660813438759469851779782688902458947941195614967325710459923862583582453140476587334924914674644714053069510932795208567606545028911725030775841305958808414845698424784876520756414637320371798474990309132206943360890735497497064771560751341994548264249436502351118290885726761486264329225590747934230322201688883542695006555237082764491728929614306136695360589805872660374454246026546205314892906864805858282584273191352702728234358654462418936191247804199377785333566543516158436393655071473580112579858594575478321214865400258986689780714955881095903984875637700866450389456450136327156032186889937403249371351680488754144942821933997306644017484130536980070760833294811764114607626410922357745732320392025623616946464923587866042080572151417502640267506279520834975359698420364211344226443016204769286372144510281708549424910385991261138377420447633691728937492215230878257138216842363773279551251299735253844120820629853083229496393768320959091713009806084837930606216659929308518463332694298363433890850863948104550501164177345050614973845975896553889389085800639206983660159088736317107832333473376181546224121621720195702808203192934761955641353064084608933424017324905044624518338819858574770585230702364618972452718995385701134837147777475534815729831736017148854216645033554637943879067297029826351730512209019248561209512073765324213244551688537520246089633162379821335356590015569312851244375171551124611050173343427995101899801909039956539396316607235721610669906284055477526956151887276062733019964092801451185659676407424353417830253559431621792660377770981573955176760631089604817746210131764658289842991395450111704803302702678041062057354280384948674227981496340517379286875346755764789438261428034714056650150580921113833086594406648654329434958699141141482376702333802244267417256692108922380712802028464251092272583464853749913656126298803108675546200458849659780322247542520619515536248204791152599331253532598299647184565469838176246927644364544428110198573050239360610124425095613781801655015014031299528676859641607319429185556121740435124199445947410694110699044313453491698116716009669146321516803517001129113077111696501503883758061265194431590709564975194746383812793913845405317079221296051632847258453848296472379568476677464547537227779797797061395052809114784790609564135457690759522064448334115467194288330914024483683834713839321770126010635172984082129415784191821086581154643719357539594895301416179372328622650225979457444969510948002584952040694984415519938785542062962777648060542490029973679242215424
1027806938571485995850887636508964774917629474734348057545101240636922689385356727653862593486137263053897203427640183539719543335058616888188464946661569310346515042390794965610469498953468000579564504094784681131639708367637884505187409560416103979536572280676227868182159751077055846085052145860818743678111617203503378930167310828238289460619075145959444076214650735340091412591379755232610980071052459537854903522587642720066346309291907521720056599786148116885086470222372500472921571939421016933967601906938912411696944056059828819299063739791699901232307387545866808432842260588327512634006013844301156916639963093758104318323427875926623703537982321195807779210914636244634058598932969844983649890520502148244257197997928892471215987739966671753952409397255994743311799699431975864509410392847679112593261244416990864358470471618728716500915628023384395536282741217788386604920026237412672776701038072174293413855634492583350573025282567494883074088580918652718792515388823334490927365787745991490858620064896175799023577444421516601004608471995720669992142913732503724434979619407433536496275676833056675426442131568920947781279140344244410805694922781240260502755677851505402366946755888235736307642644391285228202634743368894124337251045238567370905041056465730960661875729966887895356155125068940441916527359474850938360382076084180994056396366898735993210803219850609159482404620720483282620405876644157069035982951188460244640923761500821797297268923364201906101395320230470646111190829332144363495104045853995132165104102313871985894215199158569001809534368696315506660657239153663964313987883888287986672720217114349379187102773898978502992505486765853049551765148352558051601482397856749379073042949667069015913922956968018177488977575339827449916550075873739959587358976390388473585387312252007340797631560891196348178472288566705667385684478054478681789366987327531085143715325478501435722255860464388829961457408638164710018568531667209167094023256240529214913805347552462399011369738009875030741444970839784258280560911013479757283322510593530880804191593649957737590963674276901261668087291593248800981588608166584310360055272605630664811246146118842220804178065786448042325526787751166211607435894873605503559093791593342690465721062631542265140059411866535950061913542559380616427434570475913399704377141335048161252953633666090560673813480699710398981486992312424608483048807908863503061100465923720158236046928591961674118943488972713364702411157571470786416409512828957666583320910934106559644003842108323290791181225848710509376853709759007070439496747544528962723210505061423907477238680327010595666363215506688956630433771400229192840727946454607900754927530212799876617296302177259163214632929737644590772490015572625568014832115719279967429102355464550918035380291417882027332099828588068281443967818668029313027156102346927670407697050222197507813865695176444573015406298595274580192449462327657902494783734487592005190329602405599349457468224183392937558412107580639054567484672016165108748634431748409397887080768827364752649741695166677476197882876845191560757899847558303237906597511545015642277048106622289061305096137636476140754241834166171385745304016791140415504616281839846563506020861395741830110582569658993148620978680677242323519329948132860952994796800014774503526235798966902673792958157011093179650443296208133987206798311572746281856211762837392554201132551812363759771971720060604439957720398395029685241124118284110844848933890255201590424614288320330436978166705473856221566143350859676174507933858399075659144628114368420837261887832296218346611057305455923033510705750828847500424355818008751334527111621175689449859114297576785797381819301289467767468665842278973681808369531707978994753016222968905182440123011766512376674487252696512909939740509787508597784045762461784472763674051311223941006670042095402828443874411808822317164424698196949117695656918214312221999984311453797632687709669812035873516262199025133088474915091604181678763678227544930197352054744136561112663447998130030117034762889144188860415332966311178470892277891622713001550598293707470788574440676867036751847443063649235638091508821580479137944969178732953910274610803522006753460087078465999117475647034652098213831080630386209731113337076537826774345928283149913485988157197574557405255908291254296826633470485648040504155192445717637971787033071192793251770531048404789261468491695897428890800782781687831857096640883056473167803800941529972427198392707822472060102179689301619475278438863268446219180032565310433715420178353504502171683439673556524294759153720865623567613621397820137905934124694339090454225808506931233270842472548797416069910986406294429879196611597828662903680951570242018544395215256153528858196886501398927851143241931716245884953496208567161817787088546388247864890320038908997544126868417253419444139906006090529489498149520319354931555529310385735766597201222477140234801768680569888112556881473211579264597541419900653737582379321776066441617449120303681288553873376959167051245023492128852734775320196923035350790556984907695464841990491281273419135465937183588957592380881690579286601986929303840342809489022389202437543384446003235968264530872734254566908242919247805197649494720360777634742211611934643718916455939189354086167367526414761126838606505972014632896367250031428143123826832989442980476488729224219001878614990148969661240723740986470194104886610756074744305325528971560851218926151201476954870634302649384085607556221887485529177731068281348298541722466511792231460348209563256009255168081488829161254698108753069115716471247062039913353149011831578171429455644337864611940864811579631362166771528049756184379915104700013112150807788343054994407383934920165653259198889464677593616690851709750712121737372553411588464359179941426922124251593605634489673545603476480562242967957664183556967884163987835232846436571466651323950957166848999826903171807314817540236291338924952351400378011369254038483868604708172516339387310911173293108672775102031638222355310411861357194823491942309696264723119128354793971952979956279514375715934956955674285753021527327166693376
1103599296941603327575388522844184829771804921957420798759333968386152290247618371641729661775175543545859393516893422689633238909032882444440686407588456141993889133660129507184602793302662822067934647752389572405545204573495564680101266603236225685961257795361132864621543775380863908725227150231709567970324036731679497282641016953887531632085101916415559712420714096087011013682604665060137258023919517503862521155687280694104360087154760930811013190837616688958357944934291934265235671263181140226613260428462466069511715645979638849561943101456201232009797582032173910547738630388394096525020661732149176232983209923584509945538874069429898625598508390840540506003316762229609884292541171495089741483624884286051707121303425317224343322173873451828298139275404392390618023609990741528682311180380823524522589698688809587287600674046034004616872044103934275516265688734908083479183996346287340307970117322309869456104535852743761316311612102137358862638600013165765898834551143236390050461192449577752083014034604618173068233464178417860008968533126538032391865597859813197161608385945363484636281614449560818167763952181261160182479417206380981560312175974668070294464038562631811883339326978316979644951238128881970634553270950688281928762728460365843982463314764400955194354693555977668363239133618472235850818142708430128683188219711535278104248193860822008644619465787466086413744033358439914042342105608216210249190255642000270832231704718833374128927803991594370961588940089329651933888547899169390690552033265048370898079947968379526636556898993045145232828733634670314201298253007659361325572259160110555047254296966037518981627369721748769539962299689974914341674692811706277392461830978599768996756566005858877881300662810313347562170521640483745918665126256007937909017114652188655696149592403927909769438527071280232435291912659068888969842162954703911153630492778448112778912195716039804379033765009722349328041127649456331747768849061350932065057310654125221946837356661934912005883939229125345520375195385136761252656576334715443172471997304957170555019268611172438683834701535821841771393331066554833651783942550409533255787845148387102704760052646616166934488903178332715447840334840798066178538189724657422847979859572511646717730743265210431704579008365941555581051960118010971393037959343463801864618972521000407791592560000055885567083155802295840074149585357816776975074700085088723543855597728185127569941651655930679706567974802485134444744173528742452569469973835916404935958842883729121162517476088399055835805332557350370386272005697802852242601719350530049655248054840614538451817499097677273458127334464657284493018851614481127538850966713945020561406863278506847666030681448265425230793665466962344359786998342739381869281894986198744193984953839203270072183730640688194244386723698239781154191359413911045055245554866720797619631454345001957328314404029783597664463539154778765516674956707518681872763237554238745020881974448183033299675341456717243282687522937319605536926522822678881352917092254740615986015850756016970623442480897120257312431345122123352077594204726574465014935953680206153847089147340363135740981747321144940305940362754690382826770334423845736784044566882814924979086674697115018496035050048254361403792733255495727745643437766003514007011378557227202364954858636819392588927889864769578951826667279094071059820284268240901369506923959277296551942929048781969169054738774290801902701183454685846764950490576772928766275279778035981190226280437533499683653766511569163658178898197540663665491203588781218163955271323628797801186606733147595792420889728767949605398316422256226923488590053728705897575009572781814349281928904576762138049081004958672631013124335121517952914319442151201179790068752222945876310453438548461449038996975102690358244705065929334200323655085187190080145696796383186088970287165674615028084792562532014124035883352641656869725336241654428155756082551784761848983403246413135982784667243497424261808708704201121783093924993180392057475231117044434198720151641287127039839775997191145982841016814295322925405370865846178113454240176747406950638292159006647403708884898878370250180560995914232370978817596503940526192945063825155600552210830913014380691522567535141546126543961958661132184103288553725682233441722576571887122351722433644312186155428111922466834378709892832957475915735877584798269429410871681810981237362790711944791192081758614118729324637286376844254526046028194204711297091309944649709395965600218003152045966474181539393852918348045028271951055824223826359231697240954035337665678546963355007356938641508386837166940824499049247473143097458821408134107059054803882491215666537393134061533786219528669391672102945679521253087329113300743406014917300236962263133063342530945077034285306942461174163988756733864099448425874611437798521897993042304181749679664187848786168200243179531910572429226711829199019042065608117113917634354019839381501185021452743216798008257489542750119677842984121323223716500567509328662070180686506322041175603124532995361283978465040538428179165174332498950729400055966741899010618105231698481376230191501696409170806812636207494864579893046027408159063193079694184744098466763493793990365952386792748223060920848973718551315586508065992684515539498703760810137863202377090953792855980703340657884880835774022609711722710881514227878600821397232655016052603486116296715781276812726916065539814996746405715030733846391688592514802388912373657016760560163717700556829565872017434872902177437883467255485621294150708117264470211584750756605057244396059230009675861870797907470903663949377724612176107836326589248390878434020690436362922929700060553852719412368171370353485743051864724917728877807427294225349475962912683760352577302941916391958941248218893196454467696420458384861451956524399860753020713619382020824016980003309946035895231929503851661013316727997516146908547751115634878317406714695967771588727880508853252680536905730840217115568801035270195688145400923534260218313722592935757197237330579908577718204909485299596184916040169788787848966598588997540491006019615449306546947194734346548263537810097594957824
1184980722063194778435267170027380686912307320674738658795384192240105496472255162022500681549380066047122492842362918492369779837212737271871321283096036339248521515230007253120616507996296162624211600590448279833310175673198269675521910507269149270919692138525281540765081483073295108050394915104117854150707709071316541995666009081282122105492754254957938627595533008914978468539648890132580849120961978353797270510946248746087601646334351972132955102818042631414987919838638181646442249451992501549323495595044309833015620347083515685189902386741798566969247241602016041396741716068496105633607746965964855928500840784724532327069051306215961990385235491260426856061884290326195623968702107076234466064315849385094097762742129157564245015953194525311292978881378750623113917158266523432119893123357698465842994192273732814642875560333818012083344609810766834568953662290836458027283290268471904410388555511150995122999572261198481680397071330929442003712135830943033490571610418759926715957652822024643551435288933961835973832676284773054440206529117893369705812849808846318619577011098670552336356997276736188898387204016556136754691622273636499579479961840449071592538033868646619932041644160630482174140814819564074229859666575758249893615930120249933025029583608214011897728683161756507731611481879678098615815664444042066548841237168376643352002717824824625701417472980539431964035137047408119098227625707766702979333039616067661811894468615429554289269351422249020544429142469743543404778616833965509645041959764921713216332881429392927254993189804576057556642429132501052809155089352457648600395015394377815418091235016150791683767194453352896275594760560348299039473543874281186839631930245341420928556045267107306222861029178354819822950929305284489585060048311316254208906782733858172759291653124650098600344343513389814790214300270997318984131805043089006942033149537949704504586889763985565610546902199126653101056054749344074259198431921515637699634723406295048937601974373524543786477319640186202423677891457193128516879997119232594472978428975147796553625481833706241090908831741568945722655266320838452481283071327987944185058299406658718316284392411113670512126603406462367163837057992729265194216305488611718983929169132652515807939821414462764682302093594957345366996111495888355675572399366688665092090576619704856166888407239289446670735142070833318708829671030945878767017911005616121219811253497271755086621836622611628445690082044406427991584836098124437448176176419809157347459051146904726478958515207033987453015462289055971305631287958097227359373660640974230883636617577013483798172657596258349766276431732339176186420976998918310697142467863594612613322509382782562609413926738223479323448011326141959372193803852017961044955271492657494417358814163861921914071170601257230303234102465132008205862255502132416491365542850484866134837935996175126945274475028412790481523220513547570002342870430252143988136534611633609010192729332713443661046139743558389854604648500759390920179983969600850630160786358381461655708218083677441012169546597559061433999370386202230812790190914941487336961518147764068327798118155846262192881332919313281972471523139442916211674654913350110509123907342043691801467687943374927497726411406743926029663609923701440733814592920499098320297946400791624649763743590360608157007514667868801043446373856095584927357045142379490707898462512663706121472111380741736553892599567350529941429039249593002452382439021598976567322488594978669580823257329732738011429818238602390888487522668937624518355050797373291128307264085448079649973296478020580767368731513070163482040468521762555292184547127478918671621747955496206093427351432238574526122960039788078195442911091532165948410967473534093238578740359097269959882864665374096908684815659177245332568883055833003559361102801515768858090346663899438834102382423075251330753576392754758903936051632516687865681012915127330465638492178247944643133051947531162087715241205265976466176336423133588966225403385496701728828567494436848265581754088872233495477281746975439964265986096196129312593778852890134590969234787914843126448637787056695611383242436327716826576211893096204413574640271433437123781932608763418991620746264817095646461945823002346067836095448529679416669264168856075736036980108997070277745876049615442962733987956928396505685325301867097304287504198311500142008489179068605057670617035699848773858681885001851451556577598328012683101218716917821200792937532229034517518007894041819333502115585373830535015883486934752935490856294719427914699220721834117753403625601585214102466758972715989297393837222033397673025247640060478444663660164550200780836748399573765236267972307815852982777892906974226809702069736754393403842885330429873165591492635663388116713743458614016012798124196022962770911520709870192534080513047447254991183001274728554040768234296429299908834153124245042000469006531165238258787339103536497050324069680114263096147631408320825963883293439479105418156032635526915378254501694626715426338870416023295203236157587408598019029347965815189813085055405834272146519431529980884879678907870010943436066900801477312434551627683978364647352966385190704995068655011289321260938237202971895776143291998987002192015496669085352235456800569697442371937682221767937146926382858776539440898889713800890671930626643488769105257764141734924320496534962819549299071747131271111728197749946305270107624499229039737901124376283147527766836664070329466654726882441451982416975993716548151080231192175724640830349405014154621864723158135380676207982494213222238416042624897573922597503191327057287881690047666637398005399266010874707639802879680792507566792004269169196408486747931306502504556334420455194420103648911413357862021413576155236361853872757492508971391132022210477303581257077229411086877806990294474551456892792385975115725547493923715804888505097521868391809764855051036023473999829162550336787496040510896052257230139681532586458748427778226863221104108251026177964846961093302814701168849447782739097762013992391097516500489594055190258766282759698432084026045458326659096872316991254222505740458180595120907157228027144830976
1272363361912971804664359637072517868707593790549846798218269465356657521734544823063455410848074498186677775415985704571960457484887227594331896407801558426074990281066311767498960461300453626900321590579947412965880883985100337995038784340039941597085580394338596471694628947143745015008308120064220654626746866429096769883799020685736430048142510372502298065274484347244577241730489215610532962762610511272254798564644837094581814255520450000416036382609952635165288829985505146837094224037245429047893436126278842600923327611968967212148415575122092210338145685104717386366596957868277117399926657927765570324565706369723710678414087723485909565470913219055506791446473094771794844260972319364679302643564601430860214943401053003286615840612492188234561890942485099328903473969301993548143154228959152155156258281633404579683295112757855801178424481358781075788774559119642756927914601857590472334364252143268521842784665070959062145540136415130286672368083498052528420259447773656687530098700047879488139867964957919197304931914104813762900678657511755937825425832756388697490269782005554762840727423771085748234562827098997112477376023057613482171446047198014183110878373275494398097265151044994322919661444137204959948440913653086497423818974762773702422173102757444214517424897715222519655610615012828510140597786787917674468882175083589332151776872290184506080757276823595126180986990453373968272940165994646710623495292260820750901318711626642084166067097023422657501588820474218297107670162355499231479356946434521651566110174697172088923475700728343699587598225172522418125222509540190854490939190950067314872156605284654420521572218563705821762639924888911644685941770999314708246071184270273664810579541731330366187461351968483925555886687894751220685971379423320834635119245938624580975868932574037096232913582432149748155866880123864355585131511403378788908287336253342872935016143381668790728340304404839863707743184552804569098663173069348025668128952044010738928430006149829500954060023725084556690033119961720567733981142895919551469668177040429645741070738677002603989136198811901336402000863782542849176590210868035877439274691951243849950429412410240950447025833260579515505856109487906899947817530105883158369579532751298810281806137527799508930057830495668217216556354158502531523449860340044732096106463712853646602292406793569454932185878868035704830392095878087788312580682803839928242365240265886953330390608853393009570885553633070606989008958562741176444578593142351674342163683343786772963738013738732411317793936778454173867800200603596552474196577874196679805993113510332918566044357234333896053271629496493346825065023874680592954948465031717462544002317924926062971626309266902449208385353650504326339233269829563991573171219210941260662964670382782134920160349987209115158982658279913738891745505715613696772966518231029779448016715340928337829650562997650401476560581092570784525083317969174601865732357034934602958307175785246035865932919836407277772986290080084253791763094395809977907580392157722828325986202096957600140059335160916060571870539573332367745794342122317501466461963113789292247950581292425881830566642224334688212547891043803643197002714061231109608668272911452985522601761129382203367276512836851629036012082625899685804953979480274188820792053191840234095360683211782108220254527181184200625083212710429986878247261150428894052889946345143150909469430439088790680304114159548568866676629770425581710857593220620460495930107700191593916806479746848599544906785883505398403365573191786433092565673722784252024991659771558712900659608911602594302693821455410237177184323912371909814331088577273174656014792687802767155836598738340859414839202761401163655029499843291578820117482116637169000177603840799517640145033932143932457083995406988737742687999098012823081226882796751051618448325983687698406305525505698360053141772410479835210192536859256646139334997809656377006425443916081681205368712272828862276903011084342247975933253776613095612261139026279003660296339444783731309496989056505130096387672253559315390433454732088271349844310276554880787312800089059936815266822979789579937179437896616726527123433433103611534508484605192793871878926097578711892539100810625895305814508854579720223157556859942356094989711713405366754294489553686233050683043557992000225373956255666329901409787559660127665091147778302647882656454194617386615758873527117828738967184605437646220971407269626259688648236561726280994245278992173662308598745748994861823433025896498124520534850604232801785943306373213920097365657669240762221970391161659205081813180678732432582148137225145233406351484999090233595485841531600272725981874472787415507338163538575683437843775316811168615639201255717862213455828304118614716910863341499773806460139787120282065547065218016229591522630389629795334774792242421814118025939706521362720617054254707353171154617289122170020540199928241275773384901517137803193385586369428985385273445121650092447646605620833528261579141198674197319340638585799580421006036362600491818013242550655547470235358794345091556808166458601551616316169662444786015840451070673505305003301452605311348093345331563824832985890898245354169250928637048536402441802765663701591413994036356909885946717629729630520981862516911170900579253323133477336858090324505055867678714040871406322903376653642628662594319659708252164391910036657635047243219271597810945542844260041722786173406109275721942435219441129166925453846388950825806793620974518224808819732057418950724715010628457104366924244697213129499058125071324086205912526696574691194204478919268836824677894501335472842578967984222183680931369734777812416628679028906684840301048492593519916262809803589270702302886831373543366916714251196593288731612940319286398328101356093916249277877914953086411857940706317216726869998942878739402002905924268970232777760449524279525198611580046428846909763576473595032934679393140685191114020298930947419025077607369423578499654237599725579600826840487350298199723383885179998441567055338043631034547099222103539168729105793613839545114740440098348155842247313930582926501874341295500921015610037427926528351536676650412324341940224
1366189757011206474800881224502223356618684279316066464039444605855562257930569802125911880586680898570848087075422849185021960875697264191441062510291893174456329225174414262186997723820630489375366770855893953022066190136894025741809447248017123123308144176715763849117355256709324362605928135991767282837397219545862732367538628520516365183140946899309536968799495883669841741644584406781982937048849489375043428003554329294119137755951730052747515664313972423035983769795462189926249382977616550921547681463858138786924317874225123085768434698341604312624672204702068877441782550214335023774459387149583063724699453565275555479888619979511768175127785778774371419492123619147191859830572350208141275595549077002204857082359503415269648887486550639380729824621473029646237992059734842559219462234915913656571011772336157532719094636702905758286302852060431590734121033833921048052167661114802982009321809976709051965255447512520672817481619539590815209231396374583222313781218005718870818366233089439008927488195813084242158813477646714056957278232554544122123503327240563747696186497982726749184490085486786569769784269811873788122190889731747957433759959435985838151344538762982209514739612694687710361402284490356559956885892582091598973622687007590602538017365398517580474187089455756460820891193597636267877567964036021824946055777915340561971590743693877768855691409717839957023083125249676351647504903677954733300472012367546756809831597427320678447634403664314814988683262993995699310563684517969881239242946011673574720087595564300206402582995319729892494095766075906935918667077799541929409219638363809571593611760171992876700495985308320149258835888005442986739923024350594477582164314232203753832876291635682785336712677992145920741057986197428895725581440153792581118315313591643349628265207646979606752792158835070826826021140165387459094563696334140740565295413144765702482644467264078575520522406944367989685463569905297002339532631413109427571695599634944619092600240259649145643422150080055566454587564848108652577000459154669301352303389090145849561691126660072122860044778296717573856322004727443098233028871117989466339087256972766690514556386864620354412483133580334516276294221683088860692155099595065895598633193609447322921016476123494295424864583341901615652933422712940493306606551814064890882464697645229286747796851451877258009571061882807713001710819663320863454876264500960518754986367157291702246776486982712758685492111653223060269165627119498129235507653512022578457608833460116028669157940729963598776286305332638068549224922263671663213755546461197985509631011832023910828347932601701272973266280623016967823809927653803087296847914669156526084648729108938005920292893558631938643079045723577573883379573908280209436497494379859909981111134424367267743787068567744291980232089485843280560282557850885476052387983176315168782831181112657175314497196795724049795774451588836867025073935588193512781785264138509912301168542879938710839456232806789732042840957037582772740046621152441183635885073702068605373183291238419878425049966003909344389334756253334078301607985239297225131721543100420834209983517418789643741561085375512545307812472216726987744194885529056739316755397566873319165284008220675147036718424805800482578498975284772238277238194163208179524557668318911554874139569929705099170981489759782302059158788967477077934945280110665859082652803459896140398640965111908319003023940412377907351494977267869465362477272748959047664619938418520167201699093818400273527193782184532537995476438297754266487265427342891233127790238347900875713046579275870824369706471963062522734902507141877030610403364388866863501419896071583205758155281775262213121817018239732722258673881935543614006152713142205374588446956671969479689249504358842118267002170949507709611291454814410643430625853292017695438710857591471423533148388057767079517269183638621494973811557918445462509772118695176443060110915870463247310439119708358448221046632192793863181938880012355433824995672182394401323109267895965230941785205552039857455052595016650969799515289834653891808188771832369982132671802026174579001349349553004378697940855062407967370142700887603253830050579203455630363647300415175368091065426095721327407298308543180579545822882142178217968291770316386043750145125046524001799529495635829780099401442872055375403725485465761974299187830141728232761553279092300923686918120005192810893098244674387338571572545893535359876386829620171465543497459368445429891994868144637989100920943167945131435258215943356430710269223345765539307535658860730164723368780679913433730936153849223720168712770702329741582641576688031785761403045652315430475693230087349797891095165102720548696596965935719002052927990882217587802456738426695148078489114049716702022535933478317503372454993365039704023204284091838927127507776051599048868478123779794272702600958240956433980207742954043974196692951736274456561001314809071912060218864243620216606052851703684472154504690826722445035943536191017979011404727752441221979685709398988977467970615112495299936409099861134539493654200271354450521733472174046928835938218825607722494667921227742276558989647538575226048586765859346964985217496828438329453288259355451987517356564695722990735940060554558850102445135329825431488763690119739401351140668334190810584583245060219674374599404623841252344328705363454197986846117333604675919153260432317384919074338265925129740528195056066456997387215524558292314137285049487873148092854176743856227464150386524296883321617392378917548699603771007953385066877496103654417869755999628803475101855423745269598488010654343521045893205947416330726826282957838724538960725751208812506217996517549816565468356661871025270720462706784608880136254016166624260428840725000433719719206100549155148802867315251043878297960482884896610912702475804689456327269460424969964344497091707259829672611160226574514767106306011521418500622724446092405716556747747140731752079131878400715006825924449658725740049003613044558115914902508325378094965367416979904978617609332650435263886633816723891624814831689437763088241090887118924720885380494641429681924981054060570099090166704389511939490994495816728576
1466935081623329628693308242804370798991148530552958677602943659038312499375928484693995700324412938137421418243275355655202393750727817724727811648298836149553889150583282288012281165059012030491918937207797614268483663246319400894713428948517686165653463642361762604904529823395058178912126669952720251257350785927703101905944765378077663373595854372751766565474201800412147685464792820660044329163708827823027750463749104019364115447382877482792733680869056458196356830614575678734445437957260546559091488397974028018317264424226286248737507514622203989723881760478900813037972049278511679374671386971915479683267025122982278003588802133643808589826860135182454052418941968456587112052431086276456392907651552221863895265272011420845862248289379658997031072340260560419157656332317206805889133396417729616233067765953698530333140354841995375002437938587769974462076617905600099207526151599222427303328385247372974974484168838030210068749933250914282136407061181311976366996945358402222783732931817463396582553459110810237241262081164165979123747819498612385177369215861351805239579088188145340162944896900498139323311421954309498116110780816749922523199778022961445094793473103803221323906666619847537233835788146442363098472019660963103217014151835311435414429795266678753754420430349475109541608247519063088359412434388004476021386632584556692592560881315380813164160487051564800794046885009207941227657320324111423923482358620480213062273000554445012709280453075673673156171306165444643225880193082485541058888101229707909412547144300986012906285943705990237953934297097021635827560703765230057648334736913377264991583278114926185143397660969632879441134694503624074510132761785803729843400220631395618180159580547253977412842325031211418610663033789394126606691619011280086567647844623023121387323206014606631045545769720466664765360069703742791994922211786002392247291088008894301436355998623640019358727478665315951772082839835665110553782034961031814272428323924799169443473806879233907243209753028960609946302065047726467568210773461572113750827907603034904934399830864600869171296576969993140965341903287381375152943597118890928799718153797095224599543273382867100414386088219784034036665845550660183233676519130107716140269977213153112145129239006893214023088952670533456419727684254355753686495510195184544790498614065196999250798419259395735239315441443662827999725490625829209823293781939567797159965270966604087270518683253130253979032142304143384212275831421393787249921713447959129322256015517977215874857939823475006003653825434087726455881801817653020596251582347363470186236772211482935624443660058379790345436839393854095414086982348302567490948709347456484859634304792712989179778090143883308743275779531413583987034746972619600783446831786860528607594075023529300113110291671542823636442975707860586246941535622195291071599392611417962927745012291978864908875993730327696628381687141597395637948341333325415279281423492405421876336748563327604384966306582131046468151295351439762952875136841259178569914190891233576906538027820664179137971397788175610575248467326050339316927380203808078991073329948740481692229301003186963943373984418522565333693205367937759130477461799440588273465454345299719697466208464898726890674236425387055943917712904402262552364356283269304374418003573935106625234712246897104965950552684905970855920113971569914340058298406217281385934587945742392642196837000380802567080787294053966416897226018440696332211168000012781940711952944269519711937360895716234459187965284278671934612174606854121201818452727295506092242715613069832859323934628634138147112277550223613787415686480692069631318341854638551309173625797792185918528955128604006795696539358971882470513893810631250534518361431860370293202284584209478793865716001359086596034630047284220020090417688038865762213821175327484940637876438870773148359274655806641328025652739124400858787254431633274159766332552103253973195636449061754892073994636607148238676166039747602308981496880983666051562149841230225164063358661918349312013684425662203464488171389112122683900461622949928198823270003608766857982430700951588199340949050256506263113758758829564716149506791341536755813494926174915649732435640466357013971988719357016686013676727269498242908953052279467094343179623705407704424626832162766552006082985815907837450206577672537415000939159292751833851062454981451157686774965748258156476267113026618240042378247874947000345859976048367122168008965940136605428113361640483936694692720263090236914973596949743759213894698005414592974091406345672852417035290162169041890449991906210496358511061610098278019238146013297776394213291243128613426135037872440142316036538442651313615875934976309319764848796684788015770645470527681891890049999370538589746996483886838312942222318551300522265975933685629630295506325385313128093280031827480848704836731414076716444162445792392926443841818398325030166024765251301952418319029491086602707001132153151741858278428715672651655076544841026074633758110753657200499429179129658141256624556804368422353669849292668545146990895092747145316297424625422653723850054014394829898499833119173859910564013364311434361987745186873578621866596076137632091568081281586938686658398108081421311669434759609071543382974522471224342026468973600408332160134139763211441845697733082521128919830799263003668423990117340178643780152513893486853278033102701216360498392143497429916972361247445855031390882928579801592112031620337583706949435445039179913843365102966566471115730636903555815268637523062627886321381159358186188683404650890787709130001476374766293404828476538690052264202126245810399758663186459042009698794289867184297248732466720545300522922379588049871408696399945926933483420906883114084098755846076621315514462267448103002405126235577251134582167507638871787686104372749669052823461139843124590410651376203064660475271612448443554598830024438372757947660218713172915925989282596649386643669325522780096172162855450529934333440569062756353635966988853054024656470848071466661177758827138171743087552843359501114639555523589193097607001040469905272847861880884852334722159347250310932637868988152439144676936337635263356378838061512214510907162624
1575109550231822836466395529222999976881093183050853579086012672225031748961908312848887025114492539924874036281201356115465733355072688331288770382772838824299129722841104187837200112571308645258336656897642077367490074288304754803276829156475782439768316203267202647245181198434607641611225226314079836346806126289845460770947008820309159884422806113036857731234484866118623407548344931037620881917097111391599765985562808828117756640619466894742398476442574586582735933458953530270361456180707773305595818535315470749015084913559042385465529015964151982826198057856946072506475089453327014617062834447834363928946077834604815503248518948953794801547560645743694787040506361360726310510069738212783655577122441239135391581878133399167867753330979394879970154199307322779728546453827427782340612034848888064072914192130729359506025452256051345754681716626032116471343566537710110337670084545849606074383221646488949357408984907270518326322718728714950968796334679301516217344193511559136417459755738550782499786317763150802253305475091247621863078905424462827929338985360417618463638407143396032723660910809432818625618531929253925167717353580241271561919211970769735937759396713772612201407239022155009231366753680838602064223638003726384044937043225460248269948044289590211478318240946310361561806243584562275266108674868056249803367945880559737335743609534624513581488892795475571258796550651305191609069570371763671502837184176976547729393637201282799254165975413020259843487215138546976988385842525860207310197401226283213639855139207731926496483010260431277826851440141113916220948779531601789878948090975929834512193973691020123661233506046867216581496067506004088374821858122046394188055787262757162730372108627883403898520119103413805548640871750397681357555989602684956726024096075193438752597829703651494661339341855137846756354253260463925103480374421216506319969791897614695447478709875488723905635353261017435592052260724246916059179572317490069178906421440276699031920630294732363285970851831905690147894921379312464339767480313079235326349439019786166759929074737848034295973355000716828447615336019424473940349936939559090746463501144005552363203263929050370748534074205335821592607667880068149549502043876732752444927725185289459425987621806993468198373910154708264549142913274568026908232413284788049139959679735836680894878928151900305893683638607083718177423519803872757268142183107649784294203129824335715751701912382294332617029230232278480121621854421523877743998884454816964595931057897245160563911720046940290964774209186174947180751581412093269734128741592544254068739491490230201042264714536320662570246942007551950799791791721322202121614370665183775813812122401099586910387190426329686373160083249081886968615881565759048203370030169844803220722242367357193620894450892574400345504593608545917014500318880336946719430046419876046740401309705291806976706103297814625095477202919616133865940295641019423387533105070051847832987322840616761441864120208040595641741529778617652099147775476183228854401374851037326477670419517522700599068156320905245731380978559877694053976519295578378481811157016914431314852896285407000477580614743691998686558910988176080607231523823421659432383807749710846854646094855464598986870403209202337355212246759881223022702599428183443562198766095915600245414004356098435826459204333699034415326504374121363967017953597028036655654652405549849709756611127819571642961206904473530254913971885580770915578529481504156504334312212982124443099576461912623374620139403190059727368085094970027001157617548264051298487805713090880573745616975006382122748317229571354675971267447990443628266763907655140943429676896814836881108395676601420830519597521790259848603214557569509540334720365337005711938435850416167358214693910365292120600174834136164650789201733276714706410618626805957477493045170959728460609510176242795250868046690898030341021393001373995095399569328285922957514329789656451786456454144076776521234533868845447002872404043237712500411220819883852371592089981214407729350718628170926755818648373769864351123057097468256164873532587319363908480804100793356848857226231113488702823191249201632923444413678835449083150224645845799272789850556556954390817476652429827203638760538084701582905854316284922355628025771117078107212551685285790822437202404285339009599680319886907998691353374612025904058584744749701252221509372400072237757704462652415229614773057171169716054692321530770025978308781536916153521550741806624854429259892574812270861675882900658700350944099180263026936218491392327943061550281131096642835784182490159695287933025217403301859635873990696682680666722384440144846769124835462957741240657238058540877906661779167765792507998036529437106913633181731397089793093775320957217327703130240379731664598934782460350021612175711001821942620822763620970024143517217339813399429610748832790685778697425106164508547654494276435322454270104776764407085739669120532578733208190198651685029549020330375038508117221127408811565815425897134990797757501865089337703706314160986031837073315033493556351808278968982714253643803836980367149299914826911384945677077349713489480578556136035896997782600857166850445155463263957041246615471417159988752849489494459704411363831646005938530194303781412520700651993110289718420291314021581665069410472691379484918272172035414652266353950817445458347215266177915558775642826783381940185129226200138362071723419427722645223892703737891072476844366952625252568290526620792154337695957268893713047929161505733172353904008108132891984456248493507568527068377557619598029238365334467454219698805794263288819720939854730995036169630183868786609071402775185072012180504537609258110829669293037529339121940173086929215038316409071460287498296974615077778213428901943142356631138971326152326017525696126612218448650605544175015514288275671566785717712388842928658848045812888275991338706422940710631179773321219573770381299777768703254739639679654014793562436500353457788700821041977620672226614865896405179981811083495128196751283441227448088381725217014563109450447935223312751332364053904774880890481372079855229910735198245377726578811834397254413513904367522998575615168749407220724690558386176
1691261001465737075272281250253349297928262825482989406764743499562019728588269538359126590716369028653327070686819321026693731142173388021421520581515686136860963070216021672822353863925322274826655353183336385451717910668219849290343223715410688048704001977504880929830669435217681553827975273377292880360641106616833017726317087458062845578207773023010545799564217551846606497990055254433489258370152469170747511007311368017666462502086858873468318950230271067853392808102559392723737123098769238120128963600882641977466103478599768502663068214726273668653018577628574806962738814360178511543399709382627702774946368011774544917641542661548210521935395790511452677136164862331069390611872651075796822456767222727442055540080072301737826403652387891164835414435525504298062479694201394088238683755574996634289479753653935788926351508095837487028286602949486850622520884864866218657211132490494767655989720085697327678867951368321117209131183220409352629305943483067665069176734776910472220748063573305984317947840445249142398527530853662787934924622166386211081046585255204111050883180962604685731067354330021711076532815601919348568744337149701193286974463602136930949808125100585810546383664194452696022824576110222354430049654214036886401335198758072530216866857460737377885275164486162773693473324721076195685821613935049676998467939552925498507842243698051516368100656385954398830862184341240824418991855433873882736393219313210737164182182422499648010994014038715527153299916903543843781195441369493906166269491392769174554239736268683993659367597022046195280454221514146473794864729544835971506286462405812840605141307552803960000718422872678234618018632172723960803038417615035309908106020029268843179174568116829663361325703586796784196578970354222079106232964458111980732362181187729444079046678404440135337992767206495255347600299486048482026810405979239955794911891977045224338980286142874075297869308089369209388412714333376444675758365923721693982045163282595409883233491795895585346508976056824157135379522642159561326116890047249789195839681914481970786774414819649270179772986053869208684837579347869734078951808487767155853889241267790608460593383093931951675407222163388635609385142225930588141587102883931056770757155188623442132033942040463342499407996123528574164871249336108486024526552056330151336941937806013115910173252572986383516441820196926890876528685774710456653004244781349867741264221244091031019577942505652902009071659130922638921737991804829513348394367248480413151378437084837623279067438858179033639607379119721043368963860716305523102447390048403132164487762973552254247008015677068262477065479641611053426526697263080600997758884182646520737529712700267930054805666394602575071664852431861031639043447427786096362390459141504188807139375116896191138020372212871264682688332541618834922902206843154630905111634283282376280947756774948927275424336866927890763893866013326752957042904516687444887558055098301118866762255395760702715560050392336768630410000721043233963536361285339448708334362660660547224217331523590024502649334868325927882781225957787968430430702281605523246022262558892100331932867149175737275166280381933139163911369367897827224379803980460226520034594401239860174292360764583574883590778793464371296848933743092954431747482519559047697076360558377775557565680672461080007849253522854705880151454362213051743313733336020245057781486388021083350279934228443683998811843062850802135630513135508216262219440260708047268545388301352902778928723443841526750889663789915566150333150409260330017552230377767450474867864948131822785019785282748715152120770035010573107928317681197084075984333036782998599575262086916622742983799915507723723553707510792953355273179451308038180624404215606902887835194685732846698298706822917321267866059701124262896502720508592501145588962137315004075949821269180690667839567608385500439525594037202015296375652544316147999901387579368181709924910974483254874557811569233356817950743128123887038959548356651036285779144993208863113620016480401283890392738955523028678563118118066287904607447776291711156570551609631733073611947664172538829974850408976442910772767321418599878997657106123325294400849877240222533903247705284879367481166231857416693639902177262288944125019233846045433830413056998257964388872802253038998966181835034525324625914256492272068235043385484471986559113786686118646015407525553948822301719259781344206651945239753028051130127417079243479818476655522665874017293916815998426478607996023322984172597914202563683716292157175852527342256374610126505189077143129416492398771440577332933269749411686772617882388015314604815092288296029170390346594080607713696129514663325751779901022060320514682044052343346331536428870727503019193789262728292916170787959412364794814891530177016461776019439884296968539593159992905574591101198373184214721855667323190805061726541958229433577596473052022127606177223350076138891674127282520636710637126940418571515639182624301458986949976451776023819155273724350951450126561393407355162304427388929589327534171463261172105789992289437407158456339027178296578217498075078970869292474757937445948470448072281231440793576171875213799838297469316439088606226925784130106081231223304096047250000909158646919211338752242710816663977273555829071477915425049994128889872416585887552343997212326052929747921320800624980330177466254945226520560597737935602904577343039553015845153943264723199839949248807440091814778074603068335837160281136954615729924123447169115327993910216057297956522940587263186937400673785031905616068788059393091439132286061207725009454362495892464154032473525969130613153639471724687032726310291102962065881159930045159452841403209043260022907253042306599869235085914130090965519915441985790416875311480754610466746818300777654269226497439900696925858338377740551535706993733540191181402945434353649503603467653374449966220171155430836368874076979161077832843044711773998872162082858877354734477533362714025773698410746626175910630987776711587453121492996718119615475245093553956524556909284306842784012827704435603583713680938071009471747302916728212695046428220292168944993479705706698818493894558469924945710852530433215056308099699841997151114625024
1815977672573887200707284566288031737266612347385498726592253624111866264498353479121366552562695547483331672547842310517643679565962856978380894582050193517204604121410391184999805465824623339160202202746439816920494653334363439810018238618225129094510435919425697818499199010511683228658404352263033097540648559628136753556880042289587923317775148856705337418059621359252589829362094262756198842966774779405502199912450585631224451670618347653228457995834016476411329758360524101411517826652585013894197604492041336006823420847284460398027191722316612749702663790648791507748619074566695467950215059113572583490500774691138053336638359795584590229758903886265689090437868755644071339346160616421841642398133398874777887569914881939319852092453075236214843862555797085383521446612814767111648221243070267054895846934699447678780659669967975310129328796645745790851441110392895447136976712153449514485398606570066084933833360357364412209850306126360532318850159609549987806798913377724083527007356425669525311668710136542786293430685893028158998171157107446361774611972280894367692073863537709231047823034505171810010917349020260539233095333960791120334932515989580118535809028695523191684592432195955128509265205984616975891295996126349252807850452349895333319353735095040160515512617857272439386529264581352645598675030685244057710945810621079969303919809052598340431050254203451924181473429307188161234912055094712054235336966486598924219053564022635510694682684687012016742705780395059598885591850116565444763855050963624273896843761354415705431413798312948849932695107357099676575666256534738865825972053610124907673985691349492700325594440685712847403851269375125708721158975272041743485135030331607661061576859584176927834895832027370521380569078188184341320598873026180329787819424257131099703941580651124960616623210359109600124278099593095959643898622218329616268908064810723505312225886743091534212647534181497249898152192353110567784783876410196376564650996873431822862050756498813961523508219983626698129805023574041706677344608356541434834756393270435683327705875244982838403098253951408086390694143592726378784328674853753787613847311412853560378547371285609257123831606668490139620092554132170129808540506105467793187280337673283598804008573756437391180451060677862500539908131987311914845853648741394887442724074881923081245312848373731092564107774008128319004412869852060458798469712871269088170663804984569852869002199696186877314113867821943129118720344570614693671737315360709220045434671149742792363490732818589632898749385899868787478174360795607838917295999454611827417610158640901661234494133295715871124635046277818318804760225903955972374349844214479624323968978968981652505751456200076072712546349366877299826628220856359151389992896598796181793418216860236329491190630209007308017576551406756363722871914949394135302101337118952551414959180808242018679557477841485598705296153035561076028092641942005815511466060987142342673238117082997938801327201689799597571482416042054277218866282056843364115241382565135149021369254522552251937679389653903081631349971752871400227745079373452076178658344944591711229600602218305636238381831800592305491904028719424340049542427994741823983075117935487475325049637356630002295947350491274953315291819569763776293093425387959447549961770853234211208243190965049906616637991794668437578737348003135398855472067836467982829269278587704929786985607489049153938163842203107166924975002564176551296381964073791694205606143061482927497541596276581962500445061220530692804251375128105533243888483861092231320714287468392728789631904125586961141094593085676796628192300688260007559228772350338836008497387538483901039971308523728309157016629664601325422037943722326812101925289241379045173775029353253893590543631160880489539352495531178060893146354339858319852786781759587550939077795622044069783265835463199164937089013036188815760806293752124261586068067719601736196778212812779267546464595787796926831349266868547208167182384514686686232982684406168552292584675738576134816412115602459151687324672147219943327602338979300205893337213670012113038741218953121161294008021752261511784045020433227601701601123632855420870555305534338092629719175030596400811659193715441789508556957762995181457279832236184935359307939022494725471505435327995169404293082197865638325038021291433616052450947945449232074524886321139899950452994008591623618860899916333550369622292614880533649143628274167075646560398313002326928909883377786114422828270446631067567566608415214456235229690639362894581463484231949504522552465156540488732603938981964613076824331017327482147398290325039643707996376363312213372137543920299329532551886814834138622322169966512787459316760811496164287633858101209298794646292433492452215500959056670542937927373974420698545409392840823375957373375828706258721217054909808651403452956896340092527006689751441803820095282510845086184217485467166143912423515841941871779320868883124576302676860476886555298508859912087035855047229748003863826194339061405195106988571907864814652117474689290799925248867281806457496151566491404809741108215051851783125236967436061711690612068923228533288203842486272229565828344429758417340184947717049364490356974705876291396445406160201663848405963513314972402989308552802382873040923284210915987143502703712218753112739042213891355508076899204952206719688874860283336544279909717661248257300574264363359378276496601856403451263614481930548955927279979506670918437047248346442899067819691764533528746539416281597196348414924011605510217573288769142234393544200362158334852685812650958294541944431096766968605445079005805672261827238608061880348696104758865460422044830522401913264770264397563311902715664475837710830642634234751246603275115003588784297417329913596338974220028473579113480646430250304696042325015324340804716028581008014856428313509655359879055881930859281661725984962024493748560388241920825702042857934533767824769257672530105464892942359901411624633942780983591968425777806288004633850186383899339769770568293599675921094436566734163946587171658758417882517664464198396751715225500888271211439107601941587295913454567312493998388279276075171860350671772622375844744521677682198532840621106345803776
1949891178492760417657693820293160106942541116182627033840843710624485662886528509668522039521260591511431159678490929759589108679228486368217830315282292446716247010521110883535212560519700728302846141385780098526437992053487081740523197007200289756575103851159265808108150888085809923249884162128447685925665898558088319485602864357219272991600019955270303629802788379033235080103103850151776212953834323036061567770007332125539134090209591817043643977154201252627954189007508398245564125798462447133821078863715057607363456346482841954633482841517941279367393676229987536925712378606435601409397458764875248953482588490275610025491358475279265059593904539079609552583658156357875454695669467673752598547727489903123556594187332858269955305160781638542557304855866864233586057629162349812596372723889815907690974817688993842406511609954651831085231178006128167309148890901852914050152952753167849575466321185601141837393151662165755798892538467076732453653119961849331726850024851415458415017232149916516529365329305738740408750463888351124326058310896740020474035736009124958717014060577707002526926936298798116714503854250259164351367345052949002031433930635560921470775795787199412473715910842681185107692823173658347634884188604603181170938466225401701407410854022161235305179298593082680731821373580960186072346899431229924411712219461436979090254866121868653993808846184078136166924986991835272555580562516984613869437639649947600447404349387365430540480092957049151967231443336734734296123760463695593276112971693294885504672608159711030004172958699313820945434321809488026076165960306862429155670499416361303233696993579505313522289168626137123511644926603562818711549945502572997853869004354555734840631313526106016032157421531066441551003240171779669897818402695475267059294761584481792003236092797782022864421170611726037053352993340344513515070097091796168405797419998176471353623113131544523344446567221143204156625749246827793126909478902474829570719215306296982619543279663616356882917535004212580984994234776754541179804979253318442571048468305858935890977296221064319755639966449000126049493506367371935088799973952972525159401019813933398965755584914615308695427943213075165841692846122695092258939053803568124630165163372647447449100384496875616147899035034982757750921942432489040303519575636640650747025243692428673884042409263445457015297918196067492073852138924026007188545717907152747927185377254912325674974054961795943492120845378828122684202295325160317984292482244271135865202386673165003003227810463729093536193572935004993227483298350710052147755591602297908783357941460011110738555822402241090847114565924669052374036744844765734592928012540971199032453218397571998984059739070925791253126144853732077100038669632181917212583108141034808443100467366337709498936019212329008140122470367120343907403920476135326534181080750943017525752051686587579370430117770356329623556729820586486637806868599788226565889061238429459569595731823023766196777443163221302090869499784922220327987128907813465467395428315770013716716838328565504130871402174188623590066614252276614517973016933475209452659561173627082950952633417381940044080606886029186379242249030143075114791937000462748492674022261065436084673790505846437158374695924468864458276285437117052406074093178475484850328282966221738241940287702393006981578546057304321641023583661809360886042090499780865600700275777926435283269857647039698575220827138012467881495130407663607247006734705295564332377771076441622716070069101888724900727480846724292339620546484560268929785457513603735090533688009172350958916673024400868726256029736352391886032250763768755902900090056733588793800864394806574097294289721934781954690938334401535391476591489620540750426533981765912240267596983416376039012227674267054283997268330598979972190035607829788260306690529629466433018305149112814097467142847139356234826802107837157043408097564085708510077860021400688777495461149053781244724899832611789157487502188496647527538110489469037264318516514695778190079251401987286160644250142683348418240671151557938477756365002300101319487449253116540356312179102707686220826373546904951787997994338091075258222694209991685933837721657317478212915623605127835215346023126387804032742011436329405841150625143695211294025401823694263558153506154995571459354647509718179402050629850814766475074360517475710947099655371853405931976907413046241615637183478445433766274114663363553742524855461082127885483741410769641432892016509691343582240334348130937145066213361246119589183701086065240625820318148608700061941733072880229901597601712079386748563609314124986286274877108089619907334152541733342667676157187862312718259330323201558261801053895481459325891104547507611611207639441749649093524511472375584332104840851258748141240457310824610199502028295638233362307834811352569799535508038766096848923737836069589874276932313915229063639276496990102620878882858208467475572122160619561106302115235831025378463428251045679727297767722164813525751812075768729103785528602267662197253784347505926029986542735152936778155782409100787686896255984938280733790502611159588190544361847025505687239926562041121301720711515018638734559254618909042914203414259049220525916728431809472642374797526875770748422278755264266754495403217984830897645321393832699332746225142832889335054278096822756702201074936484589532276023789204988374937860967026796913717910739926864971697598111437607096427839688518660922677258653216554175452130350341613690582356928615538368009665465666526097471240433180017042697709467779936657497673159683521485351041525635774762234529396657952484885373361335463517889123960584755903584510478711545479279644166226134894703210004218635201891677902828127657987555278777175386647714074426357763187797451442310634695409901302350552773117012286716050940884251643155185647253416330607677630560435473101187727913882062369486978791410081320750650255828645028220652897578804799160453760255112428470136786515894247406178009253053964954554249245070342400764870751270588041316789190061086283549324820395417438919123548271876369192528734754008369226062381357895085950777317061441025884569340453247248083818484050114354594446403588760863102749523520202023944982412408020641321188327424
2093679710596326141650773970235105947952519161284929868427977251544863414729630226999480490099758434308803010243618104487517091043769025865769348752053703766638525875511484790593350702960133847942026440242929410654677241810408724708506472268822580256553468002133174583298879923840477415507630628032511140574403630332360722117565961314545209749954542105208334232498266754389149191530692836123390867736862493810545965553667285289850186821402227659927916571636166382259824324293362817227510424343806524380972617308773253371595513448416862705071881117724177198032838852041252261395881761904252740795863398115161936943766485717789939771483777745484216974467827759073219242199001021400182387489757499121124152089376666063521470954809934580933915293761814289834394182140462543903331055579705897079903287424333299307748322929083447713070336325549884414394396024533968741544302702004532552911926458968172268581318833360397212572965234070842490421841451433629134652745496491126911861569015458404163300336751840082801905966878251104568793954228656324268586312621472624705237588475823620313816731377238353610630835137696203298848796255717703427603352949971190838020211574016116663083151565663599013001256074166041872748015728386193382942306634701066634546685924516625218001896697515153141218676416718377231391795536511005601864701155756033381601214005487611639589420120574571054827737195209027497686394404003789478661366214575933090276105669051989458008819162176723039943080400847391510090948278198538199807275282690027592105055677856018818931658326808245404669599400285277889650360053171922653625182001146602064398680421986314721177166908149374324359114636576072049073506908731655665861920968351033327408761390192724617437439815897036945271741952449904153616163608131956776082201425331006129799134273457366609440343336183323732384853292436849910813958828385121370730064017539202313300252093923336081025123030502422968433076637358568915396339713681655500805982447359632841617353187234832040803604699152953533475698828477007064390575426278676653846686910387740302579076831951139163710277027186993909915740091862248198320613071803057555668657686003417209386541141762472988420010115284405925816951860206175749219961771843533956157961499935877375848652867941004461932941194008776546383768963646302290116025064149083778995510622763792493565657847736352859286152861015886421540119582587248298566483538354585082382066191053015654205948246159817673530328672927355026681030766145484879433431148567424312924874213234451302974454228795597482177651307094850762735419097020309294877185563700627603088266206433250439168428376908157553104682915872002410573930499152922394892449744652641356714510421686437289980573353916879315360470451154979924468774912477334493672704151601392420887655982286943964465185296045183928397369687328345192488485948915377747694643172676796493983647191991808845358164974949698823808950406319277218499943036445031726912230374450064936406582976795798946813591976030268383911477354744133570622705230445029992553102778041998758262722179729036142492692557278427035708961394079950858413647554668743888225073227984932558056480718865609924743555183143183037607589751240831938700083528211488056454725703815369960410577055300013005524913054262741436098334622877384564754638350621194701152001585488602224642475857550939059608351517816652236481244882442837950841915335948047782298053090394007778230394769791093749558876133634152754148567812133958206997817997171042585223820629862748161705356650172672871404672910109268041319941344211286806081853393050208530998598365079331379329322447296415648848995337557231785293314706060109256370471069057914457077390709587281387113521700028056266998419924110814705585072133483451826559644629399368036493229315375579313349888855833070397359598884501270784730006240908314783767878798108176105528155492688687869331935848796196984990787283740755965545768702819356113698763457854831345547943323801395454602804306605906142947807904324485877173864053857080382134103860986476016863713334039463567678915114104924385866940114163317078785029253113258001302785902785179474986171260506148791726756249103156034341569777119559072487477027748923583825885306679230711879434058572332372003416282047867417537297071662873823233470963081073196092713326500531558274912235256506404971268475770860171610689801079961855677117072636362695241080394397667953748035551468745274346013304491563392868718976310368664736670357562625128170620664668118685009560575624744128035979447402154096935005430609331963440972748535277579360612237875222472452567209905147408666778229451395542988080749376353643560204119244971951738999772711415993634767683927654995477607622860205990318962171446252950687668533134856567494764125022215517545301669616918609969040955537057485533820073574860280925132138255518951899702311753858207934582067399832404203640570754311371539924026700999174422538043983867878636169848823918483298089672163255093239465485892294468512360291108379395345661611767570918057708527705125572103760621669541141390060558786203050143895126196193662866246829091897063255133673160094993970764726800038546082524272707583258978803962642541175451139372272352082749514851120713916548842705890587820628791049533539118553276067258483762775501614788138279104816782712913903386994454450894501932369244698480144932386514713980047121811327702685715386129607017061647312277364654888355727604574721393756775013040099358261621312287372593971505913772471529618837153002669624526347344786467061563307229271550750685962008681446734585107642371490265261619777324444556098417226014854234427622424016608035899552854869910149129405226153223921351673583724591200379910509600419558848012780679333114609278308672648584765056469778481803168549992405774335032789227021755705029138321825690054218051672447111852045858022014918938168903507341972532196446151940503841058074807441960127121972247536667440569494710551737976249331132254879515944050175316717151048790499289203983124270594202683074894201016844524063041900735156691352452457701811315593531521036076586759673457519633226619847922106428307202796580559283210827181137684057689697009866389424410639378007201728697072746686880499763948884694510823661659636235047760572799712622039177091146908315641862524535754981376
2248071471327491359034984413811964369387786989633030780637936306704288460762661626783956228492128563214118323475673187871849186568510617667814359692322267628346121122242898611999962426068096317173410116202670028499598175752797326254025607849730975657058108686136110767981779266581455305157969196461894043380680561745290727992472417742193211247378773957131196698804329021696365058722291477842862799388721486141324335489435880796252108284353190165234252848148443955655145011886322902463645666013932820591926009003176164277631116400319652073301455682456316753514989600888840326395338869115406051259149576747012140229372811804689719179083134702846830897376846807345110978670653127696094870675926998423994243994900712442084444086180640730252657830985306297116047067066488476094442767293998787314131629582599898782639621594815083795640771566489390694101010642761452346504764160058475239631028427406346449612723176457944952392611423519813360882250569501152361981580556010168210157728350160191082431297443735005864029543552336926949711553893649954689287333215614237617069270603392233978041029550713941888635738711393212487980723591818697307445876145017847197867910524349976111215696625784088574624568411366125079304830300578079859417202812711224982923699957745607479901754195449496801491471198552974462754696598008385751020422020196391382165375566866614131296374571368039852428338541776385246631944907338421817729864437570737782855022364704623511471160895281786407251308005784529305687169210122557840794740210505705853357210483162678056018004543171873519049553777411620401580048325749557215690423134243122592029604579496675271754822623108749651496123380902288716727604818258129481202513552701084797256672648686311842256978833811508645811468379680881354528995708478028501439662532370314325565703188403027609457169872979727222793400244193548628051617477051143195069079149829311083388032142989062199804927392596079274544826130529176329247367487092178532775049063139916151328519921313742071826104935443463582021441919763564707379621906622043802607558219516656819729569861775357644520107462717060429909818452546097937205488816516057988600646043400928464639694606607080321336832539283928297543102580497972165032008330109547992690985613062924856584066078365805255348014843339721600922528691020170311844557924009154224787452463897770473198697721188345790237529110930016379241320889785350627243672619738826145120110016869997509247648141481243624283891628588517605844058641041170383807272448041201168741901212688924681694967109031498163683238806516009198987320130639019867325583083154380072484742989493198860801509328634724571549999097030042418862049021009689347222267272651661376776473067448604331805357757600507540463022759721251050782484605568853497894245814752851618943687433505294903790639244273535777692877124874247053884218001786768524458657955259130429926806362101763022674209993495403923327277036806801846953775379848586842192608130170215721735648411112070836688905236334504653750641949417661033420056329952386835938674993754282895302750384467511093402027613123362721173053340424989236543435671843156778331642250350109329404551502095591211466647674592815407966634015741037149137283876534158643491912150634399100526060796250384831776042220325486964836605261330715030909091495056353131474085083653423683898069775162709478776716084373620669973051221864838397073420508474429595003866436928498790467291572355549101606346855118402926934106769588405617521606660302462105439900611357656080802156600126935683897370932624113505991781186506438936549463555554319831654795549963699179941502581244197207457263754316197761531620107491005566574513225429475030778247209672901803800522885251705987301514414432687760100938339778093038066284469163081459951538608741645776972977210259474047981300490152759822713908248644277332689087773291600760863018162075170376983146459737416754927308561239804853583994842447369376028461661781593736181022943947132969170524291690080911101583995990990953618904754316535724827289692301061197679498314704654899141105760960189637462848099480488314064989014131187324901447711538045289639013904032251366844083364515421124470523771507628824568451800933227822933822987608556567490241994139178997049194732917375616216666945757152852040560689749708193450099680305788292351666556924238295141532480767903206714215084909795412765172440634108569113713782411191370003763329450896429867668732693038670070486906166908040186796909416025299350156015692838111490647029909802699570642109480101001572065540512369533846611395346562276408968538052863261977009269446143845570739864294631969673492234094652823705379424810409686289073587886741234628167842756735758886838160126221677060808783755700361236759265075625328760207142051117730330196217364715569527702619129063004109937579488084678585703789571501097479354625279604351225049421727586982983922293882135347941219713251355556166950146056630522581811645849998487083804340304135549592233739607038530165572305519882273642467809506091461604638491798456065939735447170827030399205519861556889095869415266611165423244938303349816319810607582740242839437920429135071740957667101313867127765344186230021724010412461930350101663011357443804937338152112055310954142928441016642330746885633671034916950406377560969370227059455975842977711203399988380936433677444048400847485052981991774096179645191343489737447668538902972305529395118452953595318983212093624221814859300070081062737052717061218576163880840301201000229424053559508315334048578033198905795830421094350114098396320451752257363156303643020255456898822937451984835774209836768438897546894118759843363172424606242319579564895156792578539241059269150274603535124008282740581901939097584167538477804710316650345322947927285007848280962282630494204429890058400392954825415448874749696499612423547737724203331215881621672053366978478510817502377733776703333671179041031218351547400804518500849266175180988025488727339564350001517192091651459211823700660588347919526488752750530828006849293991862501483794086698587328806025730109238177998771244071026027921517496561800862485166252701163138310687694926154023555275239456493381282976860990050747678269307148034488261024686574044894649734586212776678196675164553248217464168609307095586798061197852266306919752269824
2413848362105544273194463044298029415009452165572039561050321613556486120481452726237812414717298893108026711200591348373414023838988891578005616669426190439076518197122016926695907943297822887809459902471506870071290528499881174194320543515278855711309172094642031088278796468464554063934794453144808456634307072729733089684925192096192500405177799967613748950676938862852390592322340360878651087597391893557376313764014815377214311113086905068237488040448105235706930520047322033944288991115495036195839392580110796424787277322835537400232086726335810351240943345399415433308486502422073359979636763225164802000030541323176270825396507703472454200368972306287316059720252184603709824116613968178624704912585737676463245355121614371190180800290046500664070317461821665596627373217865802144463756924113173981086846825886537017444165310569655640532645207802094239425105493911015150460257550639142025983089477097027672473635754013400898253277975721206107256010560613292176521574566397514265038315671922562569093778083773691405538040151642004365592734427029416779321372152035957899016551016621488465733742955558757558064000226319239524200823833229551762791979157484339764013168952400052696294944201233045474464913138953175722668290925098481098438862445458491503457752890621595195515618205177736960263647989712118883596277801215438120904131430812392222042344716847937286451095055136476094845274381473068027850660180469938115988467641438735670440329223097338330900426284516883047669994641073634519520445963234540565391247707743015224593546375025654217841566619344043288788173571298475731967796355494007311421475483187513108229718924133253401156811847939070252473717708707672451974560615461982916985049885971351681337808729746162165545376018116874083539554512909370587059809873451760347386247973358482512500901229291100623224639953362426312916841315959172635558660852338093771340481732983704458467995182713678255498358379157259876983692912788652233915524962745344735534545003531753888468100924198466835437276654036991617643821486446710991219735518810007491998467530118100395479363791693828461929592620745704643177659024657553429969828890219696092915745189701248875546716689113276824089145683402999460782697642755020181487557560527943162283513520321026674106163212666666923426756039388330091430624429799242650020585220898886217425712805573417856352365900823094123396451628367425350976165131177225588680155628594661896455026583144280590926956491098965439555112584794507547004000782824704570075860793340417932321773395271487711725891394336082802521424069944259477914409581569727732619020149709640180391734728481264591193714537643390729626308520196358161359806594752500203330321431729139441486986051618518829822519862576609834829101647635421312417747660237093006525947898137854063654065496272247860869208395870349802264266522052160094518028005472049100483513249737951501581959596174783144250186594454250550754715620044914479758291213006196859529911570770176808603551229024962101054702727938635095838176241905821674374381639936912323814376230034846630169727494613445825245957713397220878026516073511536601083781226806391029954259963762059929758567989282648073445397739202225940166427215995578300168371481869942447342811878900780569973140733153298247311880395269238624512544280084695594177095926453219730193512870462477572523800417165469355660966049810580261938850798688341490699032835039987248858143465240875268880360202191497694733166530588602377009496294843714052785919204817884756565199010953934552758650494000396742306650060208307931475241264362420707120393112165105491257693194885852498950868785608562057211678807892468380647871262584767702910291298437092026185663574963909485916848925315246080753255957064861373934993718822038840268948017356677081328861748454439177560105106188718370674748473067951870363435930590221884848844935491721065692651296937596427483809281956443764891331559336031017818542300635439547913986370019644313887694519995615520193796649144575314106262191782108942537216119187740207532009087835902172694306933150302012715257250571112974754826158573182853525361086027486594691603090876950537461659195422845154317111228653960604007105449590128944804512126007940926784151540988399366154092970253895735449607945537794364396833756994549779102854883713353998787523698271631456835919424054973309832770351999358601969309140080999451614189100140131739640899724228918451041198703669591773704018819195772687510436614233925779754382534974600617568682700835534106117105275484371341132216520917297557834490255858602890800958048007494807337783779040009962509500542917230604525928235886627511572164542208000150743297665527733838685660901259762642033177815646733333755611782385067276271816789131201438443584475323794253003485008711090168865874228793217401443923873125681029051067327338215766825484037690558886082721200575924478227813686507268049513279899691267485351235498343912864611067625839419405918604513217279219762407511800002594618260629332803660766130509640355185094190501044283256625995813122659455209346383047016321577564536814184519060320752052606297085298409120439739264621011816346354673506740980149544486260401710510419209498564871865424679118227248274427090917673153587721972788608340958685950571772262617332847694017861383547922795734114415949338825218883938525725493124873800187870261746601620486671027883659425987681212340721509092442360618000104370451625162895978786930702067615160612168131141416801468753632888336383664271376966201738460151049948489481973325664019127940535567606620180596752972817232879870754413963236495524312732109984540522290485847484551216612066830727053623209110011352923652023229270387950555349522782900680900719700980130209475776938046286748213171191759357291976500023694867515705826870365085979031426304453630991185632552486662940258953208455059693806616870222228512084812884949988734192202383846202972399747431233732779362302762543636612000337612610424585022492536003472603848212986365182713730137608258977249693839988232304645423934683500411769092155296655469809638425120494837305367572672771925125606181786809595585118591835051282084244364166557180200436051971862711034869251535664628651020346789440299235071043276239093855715992082551559021922904886144725057200944191510900550245517306925758623828961918976
2591849943186619588412577055885158903677902145502071761682331685126764534036438808440361359948396957838993629925244184281089007064055414758705989124874482755425381524546986005429338488372692922785476840134617894698878502105386395762671470834766890400093927872830835087793179940573888759955958813184789168357145777248924266751447161064916118840176349981532727725777942369335611717360630135038661061456407349431111091795369573426153342453469403718484164873728934293131909506036880127042730775703471434827866610600020232675243769964615266780145418824862001843059531171169830335894404651790057467406343781002844577200111641496054662509579231704756564106860641797158429414028516510436372103713692270895994448464301570529111166936567809956746357783393214258667856073935715445580440723967279975781819625861589909012881532413236020674154017878728588526517410796970279699660205484424434301346831381933044724774137888293368718020316246425964400933713107629915561085008414316178900263205450275676076008260499457917919692879306722388212995538933809322362527505504826160874284735616709894748077239294776211342791910659448811279569425511744433053008284724994570720482675033127218229647229590970201759815851428610193296826901257821148351050368844877890474267267714671701183211229895717304119022576512115149527905704913367423764977511005887773944898734611656227826299160221505067712591609291299620411011561912143363871100450661781960529828580808283406023032461983169038988966139281114700962399858995976629647299247253856892526485189587347804090514844143348634006658497084871986724438372240074619380862836768008687831635031118089041658854487808606157126012318863630907933755270164608876901377717116844712139940368045293871166065125505640767220632482000458669423638089638838739120841551050613302331413383531430240418844820487582868610148761665266646562296923954916562335235643762586899470722167781012603787512357393110198159807945355041999803154486046433560376146130435415718503841659967102271862122831252164947517885929272098296343001587465187682738513126800764643753912099930993784054057133432052887422255395340176433143730848757185862395273260337552392243533025718309044982707480574979730799714406424698863168091830234572275754827261088346264094038627812438160246607405257610406846360713360135841396686805444711598756851696812635413006667145452356559054993959349065192185379387046571009438540987728475433470848904057251098821362919377353827496869708113521242915580868335322609198701841535847626157334390586611427403573489520353480190782144813780328817394385679939452750145105859997756238805730992641982117677510281883617791974953384984531023573643348862378450335765053336778396884270208611137657852577675327426560511978073519238383785738331413462567003906222674708517284815199475505625753728390982828618709802048417943464201272865410422603027799791478639982170726798701795567332152182291015076111650466269655270920372926468317435419678686176446339254719032557474731272475989530704547917348830874605807875698166817422200861482600937971483500526970659859804238696629649191495324779883810001182103072889137595395090459631288051999360325730060048130976276672440362993931347332896474385854414422466334219957606702052614934184894780139791244226719761824719731684661552486233251775350406178907921776478759092850003770770382497856392280797743339211975763510411925687304952619433047476599758058551331727021525684881621418010564088401278107532034585423849957709900912216946731321972785168497785166336112760944673666655697613206487054808000402977778378295892566036571807118820687853196959335451545109122734018463936244002373327660357288604594899171591204951427939186287155171541452450169632108905579259677400432101756852345277689937956106213076519115749224894717742107885048357629298703410447126350788151550612536213197517228247239019082243202316725328042913976051226969740402222349108876042216667845510310234173993058110905453219218899120056031801425001645054896680655596047537584337473830895626359466526621623698845568873557976357497811594348120816651349283751512857451887223312992309282594629846042769774370319710620282254629651862274559698207266016485065784723770731114403245105589592173609884329209465329913294698254739650945995750087483495526643981764376938060100637872696486445684615815809484225407207918777391101816517971155972728913352108615988090443858919219148665383709722312774894655891168231395224622964432348403053595178576838229203919829434092975097371460779723808472392715116390176098611367320632392332673232899951057435842954060293515415047040101400539024033266123122730280937470332292839294009681484077063178543069251383391158690854536863298764141437063763416288859189428351365454033207586812478955559607825838115632253831820679471610101846946511805779022571454939053247113329375490021202940862376753920312745445921869276789862999738580955282478184741311471717038586592928884645341978544552803156167724012038805556553497744984288351436309150143751847192505744902210843284560450893720394762608742256830198687499167329887180705982888464703236577634568391570334017229386254197393279201320078583896409287882882052536321319689446386671616177493011627170899107377491020037208684197156956205769112735066918686442593361210108592175341985898088932370549910214102727432006137761784541639396916361911201453983535357523153449782713917167755331854805826469257622648951644904837199298919099706172225384944279399681673885762365726456078353305404784148696921238551934681041006173539687206202418853817829909605760023898807667189166945510198051065196728704936623647643389322198169152206098931724247835146459739234765803530358517006748949856163487156547216922809550441333121180734643139598880022813274954929453439176263946067754547700578170265752323191214018965042029433465621063898589019500805201146851450377188017656798301501586927910753029784903052230986554208170115058726463952222804841068525093843255362422796780122695336494216634754343990009631120238417133867799262991696460767190528693325701168880318594837696077652322105252978095369367546390848622472114682020359810737444514304267584053279470758675065241919346468712892039626664024165437745419339420029246622806170839770986777011900496743682164688469558243155879827549410897446150715119672703225400962031897333839434907830452224
2782977685531497289256249752526680455764950958204907929167680132161005821994795888639140201850112295386092118520312674075368639151307745880089488642666890884866995054062981527172171811618698090703569063035901023797013733605025428810996736206885403513004943885497820910610249164152018923888209375737910770687244790297157644219561429361464815850451718510833317383972179658617301393554575466985778238645978923865166586050991560524699819229684872676877569706634435589483607185614978678880213469044780301563970620494363459069620645206442412010759948994251262407258102740316749838633790722207141170117708120585050885511356686943607822126740021723183942620073476437091530015994230505930065218584257112726567193387933167225992469485238812562642195311697226787324831590997213961282515161676507717514646831111621120443485456109303166581167844814034645445408277036896161798503321217060695676896312384657228088652560804203629974391676035494248496817632415279253851525400353843201645078928300265745732686272267755095798333317746611952581457930478651437061744273010922082780071926716443847265648475413257482839018875403921609457956648883612600968183004327727008755508061650469279725947467177555118367232682217068914735527490368840774096231415359371959175111961099447903989644184165510827913122014401298078752126210493684899575587899986442013134895242797211689727170015465907095430961622327535401750627184172633743272451098780803769389594146764417618692103461741018581224339618265942147764581780015682754978863570420183290816360175776504638486544069849554879746217922805009129832002243184648687710113413045095913320186403215033686985190403490198538050115065103104658347566454956159915730676778089996862337894514036185155841871774763215639684241331656819660543550191084682208985472563440074643563995258931049467676088961523289798692613476261804686526164028756941403409645619603454280396197855030418505757792827049818029205113626735215124465246738801280119813097272184265187784585494980264173383779645340743794696719110320557817022627054159766158965984399818996313179035785315575539822865421051543847405239166386402143805563615709608880995313719533270361343134603239016064155430378651023304911914325433533475988833340395567983228819200125925142751918743753784480070396525133213788128593440125253427229053198034937763203138073433094134608772104918886636818072930220447112152039809179387128620060216062334828674179953070833795274454471218204843029870234680159898430922879585873142029453293762859991496246339526396584039556582755629230944798288158980630599708810607337668205502622230787079419762645177692732458010432533848469923674039009908264553036550807732958562241817780805289722154312210702983455457714676207750792310177710508553121296910701158607794850496482659691682017732999787753253919069697334487553732863378147218929580353429627493674385897670809094551495323672243746804542339898058735026635622399302830126449255384826309041318527997989021078149484814625778302790418209994903605285869534907566755429445714911995188931102699275401611553841734437512349787541050502175356315316624840658738713509639987551466498430769497600423200002982628807709682258214994765892325945816001795610236598740430908283930897822936599303401328874475378425555227546598520132987879088189239826650715983369681462256325623085613348407233868388425998737643289108129317578955462344078839273469823618243402821535747605726201163076147641405452129535548885599112714954184088466693751868343088267000492989625182959184461881113006409865919656735196779898861930322486094787379193695564149062882738710104426347348101569909087723464852316580854817397170981687557992141817600429386904066826445045781661952045454409890025243318062581591543328556241717144580487436317166514286915439865040436376082096605849087505640768518103453733683543132950824755020929614747313338622067161679439796802920336763927052288718785729336159625935640390721647850439579341615631150772596440958568664087065564245342018685215890196515072982738137400836067961646788240067816611766903848576297323699336643589351996442978319841379402387685067065289303494802799544455537544574039480874835083682519149959342593888604449292920984592893071194841295908001864074387781405862811153573769451876802195182688056674549578304831696187480532992605154580676314806523628687962573455279771625837719677793546437680231059577167795466045521037343696270137122652413889224435322269162551551541876898898254456802700004378346945606331878866638209903165104325373607573385159979804173413989817776768171889970257921890776470247765217124725884278959726248659003719208987713831824541999365688827670371932773892072840538716946038191602530273653666172426826534910470976935959512455504204470834669499704188247640092607699142610125616765986973966116416774701436811196592842388589018351436260244395732548729595757945551841278749908362049415438096670561324344747793577423846673406101375089146196992125216488830615145037075087822279316625813175606703241970607850397661778572500942089580885766818403557909194733996997761927274271125459674372879012861572859070217476671949128622982436715654966684386496267535821906873467213480053433276774990443449254051811689167275479064398373000438495285770670646431012382032440554266956032847000423831761996288357766904476326893076217106339533811234889995234413977575231733320755402907401583645089890524011504511278928159668989050887920200798272915346943229342969172700979825537471650205680034626965061761990148119433867093463149828187571764277177249333310346050861843888967389335992881069112628665951989478398471808079822146152359185834950310290874045335538210987548501798095512793424761637728641520341671582240821193895497030528215049384701988064052687461519469127104194706956228395632313810395731464235571641497894820920551062602443291524825166146148107168185047350069754814254415886869448467414768130965666772034955455045446820521129963324444948243253028182945634873870269834403593934852271107756379096611961328192062955510559854638507597634695874999152485325722144770376049975129852681553950662988114416801095807809721148317518457887858366685441612114174428376177480338203739630943814508342577202525009153737305402117737875951311084228639309080067347988865695236480429922357709907149306810631501746644252712103484189417491761063141653742616576
2988199536213888308817061212677546481238209757133485605616567666955119452983311455975091278126267750652689335572024711712003836074722991046615772818404431643126061266748564395864153323048845280417367689054139342775272932074110099497901786792827974527029936168632077372583989890611064212618243107198725656866967954668167550919854945642626386683088139457756729967837196551899438516273031705466961308023240699976541100170244635206397580952152110133278284321488803771062643597581733768381950687761509938680567866732029602260363814572022332023392895259234316011471946075167105309486352118096973065827682212096604484941779301753426448071033390098851149636389033603583680694324394236913791044241618929903997871486920098567334174395344663676605545053346028826363824753010170497705753209006188294554253635153612009461911762560275125453839005740770500999745975810294200068124076593664651294819561118775641702693834340176512516124391516768683122482222824943471499895908558265844744386849097092561507734774404539972947797152757218687785016146851412387090898496324301449086153421443708747356594806533050243405216825646635525692402023485217757872960985032653492155203196163279334868905053535408164656168322036167940441825765110781525543659471454073662939138252515138237822817423416867514255185745277804067047003641133697164551548577603771822453694376050000941841773594764471294462582798431966987700291225877507686385309371755704415530458185766549472192195665406515507021714574912336438819219563071205949936350051550120053095481024179224706873002429016644462166804689534141699402466902169176250741063559369906680223362844608109735284923404830861744368063953413686343917012831305840987952343176460796467120967759820807051235375655008372329059884071509382484351092413610815213536410499770101462476554130051977345656752802732283006928799609328330865642351587960666715158192706786623155733220927525249141855726972330588149546783975697925052775701057930538089383053604124557366831523348464051697530951808402243343634336704331252975147333822405254102941610043417194371162133122686018495739188154106412688728879169671974926687296178080070494206507088663878146473716438759377416691552834277760422882627047122731825273310114548350047828113737309431892465905611417977154533679213299798815847145466954524403415174846651067289588217557491896438058524486335924709466263184259927604297663790028887078686626059384605496639341484514511480538835324530790770160526552268782945952873870729867792155316241367741110725804033756396364294002773319236276702384957239901464280801552170393295642883192430868267611808804280160598661008125239923397835454903427946054053852010802963860231537946953037503975114424402585693777704989311302879738672575388645597796062238141827162446943389900596601717927348631537093791724997045199060604050422732394596593974936246092880698483575844931908739511050767305378866503463527369560206632421778402677148335774120345222993213047617555799824426674369516585072257807938522742827843825595837682399376574945238589713642106822651293204722361498142258124483400340041081883057857991893932623467783254281816848931899947578077042029943119373296305139490396207464079679048662998936405810638603106386006764672118357573172391272269703059873745918238619740003295127862043771228641383590889315439582094230069882984877530788637964472373578802708322106685102902152094528481298323220810951021562540115376084081432304219375988093112184533264358619336497699582005112380518115453602108351579357026928441652684750652653124167660304075447530544588627127631637427618324350123787602560702933976675208142611447366369158126296152495111225302317069116588132896960353077574427244994893365210140686748984159344166380328504252556579010267951713924294680278215562154643734450831988210340383308608287042329077390179432704977842357293074760526122714397523311588040832184590717357050923593290527432283612082578345907292219741534839216673124059086898741786711730761825806089073760382722646905791773389812907978368167136338738126584448632167292416095201202933291515244155277668719638725053138938110195782919048246063822199132503170057970011410455242558538452460748992274042602841394198296488284648903701710752458781657726633208090044419141805843329813677812342663487196746238587460813477359193459972037191257341413954888166511660465606084415830438654834734847423473626651840817457770647825667792547999030806914607418779128303318417055446604913806475330863460310826014235480171577563611164249519362491476946877306795531246736324349734057054681710282192046801451855940117156159259206485703141284775796207486242305043373312974363521564839206829855044253870940903076258757424962339048106660268679230126368783474279098094123803348182972831049542549460436732119793829432400615435834586618355544012117817074973221171668089351040643094556159644689085031919119326741203419044499791710635678136843505785100695798566348199399583217128000160987843589111860332874133552423254381271274164659173845660233827674704483459521277800984951678799231313037508380053131187415709231226521603599581167401304701206950257478416107002851769919031933282352388823273105399625474823006269961064066675076331770897031673630991414001080922488123182727958801145602094325250097547910172353636942148013889195028542498600579245002991910326781012997785022475922350971852724418558509483375648279523567387695212428650924864894927943539736424255971583816174424415899170041071721084459806590040136855540740625000591955511791090300308700973303409920305874341270451434926723593029343098102147144970164063965213975878964383718020206168805228734101574509121089067992839490687467169609154355633027238767659978763093799547924225355991208646945949310590579990360322161467033844592048545862698326165686834264114702864222493460024623677175385857043885646698429515178868119164914487511190265061490317714421779247275937697480145921181005262059248071961358717361042622514296102174679451682307473471364692903763614749784835038831599576750408300172739389580726008522136434506865988047774129842935641066211082655143030139282867264216704857876363430725826800126176230098486910836974146978794165886067020274950698231705422062300020734350590719314953329677846498771076804769731276272407383294246608165136545816165367335183091277300985786210941990300299101028909898459973548846874624
3208554820490254486841506588820040682609497123119105845652478011335814487584183084298790207541790036898195837682453897326721161641870064701128888933203195202173494086494354083796634045306128372489135863723656412661682780183083081411698548723790219486878660964310578342947460898342284562237836169598987217279936296994947540862297927149734508587628368814138082183940972760683013777038858745437925806614300303583847998107765185132731955040751463459955108106945990556718881354729332805544829260155098158553001094580638384353037565162161038155531498024291207317550292303579568759807960226391707268580687568108962963867966641270170512601632673849643973715073297715109234245357461515638902126598860606508046819422483178777949183232791476284784984074093942295176472477913489960757563265932157846682133565168469879227938394458524723146633921826441388908861067603205172357768470259997189525623517306553638168620943397974965031022233558105332402012077343629235785190248665489578412738749111124920090147326777359264433878371583542622989169757389687393491175405242112733467609507884808543711425285995724484637561485485308408820158611638308552375703488349798060226697570938989354843644913065926811302406506954134358340329362920246117302751512513972987074631508243777119092017769038607637122709143593388725665667983365537421329207911740879505921233954878469926494903899037440258111894753739364573281096266204911103753382051633264141536528099940705668457885452338485661993780615273756767919413219908559718564309188253919933229718641059588839663682964488762351166483859592143018590864521634760864048190937937775889532818348183340312356990816403379900889586716687062601481344662117738004257910987366969463099223951075187276345533709133884439875888128171030781860793424583039153509534900435900324984642788836743369932160232322873739543933930650689398550317525706182718990046285528565926037624696115932819630603024116243250687148599399861719182677516821065633395635011582476150254316980878378468137180491209923293485791481938788269740124887206309607676008133515497477054161818883701278912732116869412650492490961119191839463483675879923710497876354050882243908427457012278204502795985669772199101003303489296021931813300912794316545446082778086252620113349015774016299322587919411039360754078881082757975521669122037283069188929090173746620063100706998874268975497931302755946523756844370224559009389409558623481952395741479311582709544197323225714528553033514338647532207999428454427702152303022594990510787072150603864011010084855294033387529136933803837138706809469256060960651659663487569223709447038648219202822073935786812118999876466648653385652305642119891092617486569731858646612666742473153178405757018857907054934436581833067114247599927868098525298696609773816808844819110543011585874433706649776079642692652438034558835455163482594604148761779528845764136519043077069130481430195265498347313457879414367737172668431475246419317369473218925258777091778788053737270494151089749451947282412639907439300044573183434313713462956444081597393848602640850061625338837931496047899137749168429655402796689213833406070701497988825521755787612132911572936992454285163329063045993239286435119292304262976951575379127204502336871128551583447217151962090426873543876600904099286880120258765163342208239656335111803648964325608286448213604113027769918811584983784483504431929211463255105309067225153557086967574486865035669596900558857371861098116492709720986206944782503352193315191670452094841362057631298662764955983082056710365665063242305821679075171637567563525530326162116239050266811446627267618445216103873653144282878138984881219579410473536613569198779005796111672646234604286466881401311852973405875331857809685225202052998367915428005173112533499407977338517378834644217030345988765168423759928162332304325795935682203005027741667063299736360341548428317959944405087062242122856111757398882926284426820057331438982250429509368872750399750600352365943883552974732814923772374831437188324509213357897128764337613631999428297284586581901983093183237492629259591900331864732948606908072569268508225171503826905789163024815167504719341911370492412228626189181889023553545060275255265504701985138834233575850850343120870812371994373141205760834953086039357391703443088879246202736494623210660673626246025608566346151749675962354613628842272297042572294757698369994169588542086888848682382083833077535142381907946694757927604772335369097931471854444945526109327528042511404915641393990502841315919654954339060336814007337840443050884281645326630028135814860751520845644866850878560267523236060186015952884093784208201812872752103145865309289293452605060820469143439966626802968064333495872659416288895292333353579651423259552582906812918690721516795583997879073708083663008980091252022311382381356414481735327323650075063933406368751735119877543518998033242131267504248573130421767300642424188398806934331380817199675453853519322998544779362209360365217663372313954393938870730804206992840291012145748759858809228413534298087029476190803063824419248321526249853725770942144151364221232634489680356839360985858477841938106253320829471429339932554075814912128905430313423797859767684000004559003778938932082339014088997270995851148503295790911361603838954508903405986055419251522280944809397993177861214885316976552353423401066260838097097850772549207113923719233498444925604659844771298948007174477709439986504712047130782676916780477939344999035607390957418806002172346145378673248924153110533001041637497123160543678010413756656387621261527010571220604422917840548978201691435614695582812733091493669992012636250764914951341996070737808885600209678533147529049700536315642165071876067394734881235436161998741531161354298891507635536218798648284469594910512043885978046105022333391285563593540527584638624290655618168085901022752354295412374602692085195052824237095020856272566697546372040243762825130681064680695093974737127687000166267272382134152558377611400972216707245055339634798319564258826529979193317566548753042792659148040162640559948229934605365827236594446912275563895451393035282217987217854536999064178536270544229384954515863865898539422734434710018683164231982469766797543160574582624609431481757047007913708970208109511802047650275084210901423233464484341991104066789330596255473074176
3445159505357198426925383283587648490299326520700661279959954210011610124424266098484928758439260190444096101062365980511502304040740398043188148062231012979009816304885661519637646684867500917054636162498454268480651963303174681778537694644835382465201437490496439292451304201154723202184295730558389883234843118139160691309798309129175052366623748564637341352046683600390094698774833508204870134370710072453874686426980338448117291508542470706161548736869374969858107121066664832928742283567505619663740595969011173899643615157737648890853986378054837252308598069778687889289617103205284701039885360555442123572036596568586562991892052597313822087430858982316421537853384259811919294771739503953696462564095714990353246983687736357677772247528580747373531960320630424669514402957392226552386442475615715411266283425527828580561726682196588356093852490852830013664697826659136516116690210034470601011071328742396858746029645234029597462749196977530411716249789096345777885129306057650389449035082645778496530890098262824390135467545240420677020407528605288047136877915976707615489516224770864336195248337144576089094795629825053302687396863874919219476103316399822586398523763729686618349778366400910265414862902743032521574369265512180628243259789544280503328383167925290704467827663443124637289954637313809518280207627882976052084547041941997203784039257172947036096668976136137515825969594450806302009690289563218407225844657587596297109192776990660107049474499885851318135435754330025424168009095723364256036304658124213390526492847890914444028907065027540850620781196995591966920561601578282130190881039046913402925058356214254546124063781737834916764119474963707446009110005050748660461418211958347244845419098902538677554452362308375675354445798998900152744005385702010031203120074011664250864484114626206019604546832360741656880895830923520765651736467867181527888233834967421211626697334491016020508190478652827702983946115241694825944450974829068010568378922523218539942062848959004047521063900617573100565702376697142454761374319765793279533858199343055090889719990744309148481742895634127111436143533534089890837704525064089383447786664045189698277174752939062727202447318622275065009217349564634384340655815797320117645286458945797033040365516988774408951878673213679643587184354620790918715238921889819172740388748228660823516417760065247866247265133406569049280337417745759412440796484625828477082872848642456296281591834286419109554926116053699614701785142573281858324315202526608995644629924594918191465842434344448299347513990600739474818945305275700368779592045709309537381189999615274590519800232413074000253454082089975303088468452963679389094124056209567261764812794953529291517987770135789762746766634334171360541965932642601154287770895404704510890669947083145211496947114076900213274179016943108019322511249440492788711398619742324306780737224855993052359713337763189555265918533604559450101127301133056007958678986535971289329266837171172439164236875369591094869065199143291282246590881928208700728390504644979437562080103728458604953520011534819364141407890371777622607466487699410053847347811073208197002756075314938387889086067215776643085303446576368491847654507257536090360204268023915688703152471860153804137619405485687617371759595985858474720611436422396103293968810689571400419356821936339835277083172819761740946651755355437245751869926074999066648690058382327441698037350814133817981766245846618514260923732232432670164654511140839219585086405423745646004720554240713859468911978868806935508917427234862583138802980625610217853513809365640980765502383447469792685632744923351869134540714699907184574647188256423519494858850738469167751436265004484648071145609880058574303155012234534744015259287476915424507610315805609875985215565327795450995190203131656540903218231195338956768508193348182378272255472406459562664456777090658525153527937322048831097996562878843865346279806173158515838124938767444451301007814690238608905770712319059132990026655713627843782735413030330906883566243537360715691731391560927749976557962643677510079732840850734367454653231924802332065698395219382874791994598862484524989386330587915962434686142530848622990099392763193376134399373629678544667004734374883198230289558328541555537449333395933471357528092407527944514101809692738541995077859227598172648360464531161381424996685839366523366509876798869480935359849584117205249543284124148424808198483954926173215996378316785268963373777345454923356513265159511738130548122659360496726587682181542424613386782736802183721168309644003576741788699481304144327449646706548542864920442777010314095523131677555254610095471415557001474612947400362546218011197202605793376813742135028288651848494908015794272525341739013320136997027888734748195863863611560632880312414119100079718505045733069936884772368916704670782172234728326865818660817443790662456458310695352919833054597092825059098590094028705666695702620738056235268422120026406376491600737602993922203365889012072182427256535803384780943514526740506877453775620339433464533981819242487224059556750994668485274695529666339950120203866205903546513493845495346296650344138035690639868240560398954249234420511193033220781718702811174281628090107508626423692544688030829604416642967383279664432214248718320086333536736257289816201221489196335305170457158146535394996794776258230086640502155582291764624291395282504688781981433128104898080980558060226566590184060629771320914499975088674682912498265784999826198558978150641746107817154813658570358066921785704373193356009693699446269513201015620401962101796294087080085572101677713478944841175058826108794847938587776475010635472302918440517335858055585299706369559374160598020088217373745403202008586690586790923697700853711754318776098115248762775816295066757796200706652190826699269607648093952853578401450317938065874867699415272689816155532147606985097839073939300479210524752511527792285653403160459616124319097549980726642946443103340560579735360407841521062157606399449714852517299477093739887426930258931495193755554566223524289800975857931967730524061044825096360907815924050657354596784318332475460020704305589118702778993144371934840540416223426048631954077235386838246824834379131008304276417166794080170941283022366894866896133256588967872448193658162359228648625537024
3699211851253176010456791758818510953844845164308701800750375880414345316176178430448571041596626630098031117585993185669968936920907165305378872875521993385449673873112870311542338570477183632999917740777450683419000947786331847803506628300700575747923008018467629391381932804126735397328486481885178091727727470024589886516083785516476272343434100505511080801857232182233747393395220296396216223762331325371795561671533911417418789950322104077500469379391018729875388961361509523305563001583698711187995094178613105339384528289423270833537136251243754523316982302327047610572543532657238641333861203793698078890671970594306277248805069766943680828569497997559218207207577859703340120509001238628097251255919849924326037820587368283124047577317917783816139416396969337014538992225741323621780650296638693788757969315027218822851679352331233108049374688715261014434277568805817069080140342965355566004003972717964829241832224031659846849638094817188791291677018983925627281077603562195778321317284680068948765055606452264292055744529119251816271207264987974163778149271166148776570403804063061854402835169658584081611432368475581534124789610428935470572927499363594617195948496974458752535282893135053703646879009901238343006582606800589121987383682131131876411456213698999936745530224663078768303054309146588292546751481461779964713580543028604579793974014084485233993831186760628768557805458914149036990579717190698295885053222578761087833670579533576614307338007748921786127547065889137396912531768890595735692824773833989304509140750817345028159544580729158323180069134766950238521031477183025933257762075033248018826799094707935411155544375295520753337193822801453566880203297439840079249399872534974382705694901300048277867865538826104148132314478726216424001226947909499771370335062760299369998824750057767529689965874472444972652075240249816791412772063775024883493819066096433832348340003032321653473685851488120280559712544497331603260957312391541573887742460993235357428007417763877507208649831069667667454752701795924834963315546852082128773626772719967575024413725711057622710673447457229281281296017222698845568037744715369051482261861414757205054143276787538573556770201161390795332715613733976129735052813010422517432344467430961223390550335838229621392512134803156322256973231954790869383936376585767965568436092992119041719860499638453602916446499355572784556215386265781679779349109414925026494106091661426947409680833770205393121962196036735106237991995042735716223259789111850551518272991039529920035314889149608161215097682133156859440896401842967336850871817135805396448275133477464237085583409666837998479120248403535814053164950051679312997130471796739277898035549471940536711951917115295627532240456052314182196892129061527703509456542125960639704775813563039819049597764700466911267005989755019708896380473234753706409823763553205711162284355881572117372046103406975233128976171307964958668021412774804824679710491633605253816038710326885695046736738127405416338867108103040818762753311343363447372772149041780693730402003811504343191288012405897983563715502135784542620924702521238114941989456224153966981490641335743319059646783505254614323010710320396459732629680744528039409194547760584107210339129685230218575266207463997828170967234683358756852367214139443626401358478988931093264514558892768746614274831383198194969473342488148956571149065834514658621662030498106756614104282283295930699825687556980587734694260172139847219786515122193024528027200157296142853166960520715034528229219486042215637195366584548626408809957593579376431069282477451629616299445479233623383173162128126576158331048404141952995886336074923569538909301014467631149189153805662714199909968922206514799109191791451651830317591168403525804535802374331577672779158148258245450478143937515406370952151033736951738875133284622013930709559535693560197576119802485098159498967455134387320230752171260502988124870694733684637161160492044116958623303983750798921704888771245823420569795114570782640461382096580875280734573960633907012785086092688769392045304050746151740790725967769231450245598534432286871676682716733048133519901180752459033877259246135877863335379548597376717277655926843655755268052585588541084415136104322585054744682407842601102578147548133719718083970072899606473542470861181961636895499589056493038517475795176526529635660647116381804094935628033397597466510988815649394426981062413372100281890315797163014283897231259064513063548880678647514602755612569784649705091344037470428752287161541662137760418913305688675950368208149191153252175203643365828915036922845025160321861842274679923739917641650358945828320291880036739321595835681338637411644536749642133387106788330928948634303894187591162990113525071494324195118607828917580007574169964341435501025226085872835493014358629931150220361225423377274969121999349833372332119359426803380165867105986952465269818574035076269427923390713930916979784952860728271688696759100510859322096673584081887556188607203943179103180069447680064129728912848629281761510269994787335356948576266530258405150444529153654168719068581969446136718551778833601467722274947316076985605002150244751851738993555303265517283271419906574757345811384200737235161672668631910229748527733947679524675754895213989553651777598671715609207559909300544524312837669364689323299902117374304418897213183868241050816810861741447865317478141579821317082341105378928806164120125575463801693756337246821624551299668115773087520300822505222123703371046215236352492468108133449503109712247550797410786529874524745217100050590902894400361626489501785916264538941531031619358697967253356202467381879096382210151429637126844319707849209253094303915100487498987020311163793878945740140336812784516717814139270816252482525037870168756648291753902717858767030812311856141647983828751060371277700268628198771512599328838631420585065755862161414094545710055361831582927758876432715490614141319272895666198561350236590442710552093114010067543321613138728215525670819209422021816132088878485707346762945895940390322570068375762639204414675835898882045782157844727536920566146398296323765978500908838877870118847913710474429967721416650091015661460676987187075574961141044738659874746036391592907168858387875148725029336462491597291341476898381639922804020484086312408239217129291776
3971998480527001895260918656301956036545343859722405170609793166521705015556866533259305808397541750048433231005542800032843108352795803409667027972427110129808667884721357926190918869889723704480278266832339074884364633933824720529827600667684256681425014841316058067658446409748475592692853802218734082776569405039108469599732809197286014718759685500586789952397567070943164320539429393934293834800957779797049244544297310923193676893131725419693191352283460460234563436081772758947485726667395542817447059326395817517414882442864942732848165050146991250474627107476363545911004577074786985549101921924281094933366018291604786147781657432005362758142044090663582505821074597699880519887714798382792400212917670455552101820170465571681363263932122069076779217600377363998061812031589308577825041577418972137718452666853356548495895069235276889606124660320556578274751524851843521564443894031606454249691616969433793317973469333731077703891061668893239313880598382682929717128426734420992459830879335104489492753354333480429882003840374526558718358967390238716680024729766211194410073844991210646571322665840557529046824250579611015911869839918214594551273498186424923464559504551413822359999278030829642091755319998669718278625652232739368117291859839317748162579569393297979057030247276863982133394918674117596616194540979473805598215609842444365682735202091676865249603103220442185338131882891635446386108536353744544057308741548796914110749656683519623090105609024853412669930283173650570347473829986534721689435576368895149020136214455345541373360761121441707916148913210766964026807400671916647415491712604224588379473600033247315648344165242752992718132582336365542753255478083868416961555170041070897479686898509413809165900774645883886829557541729096819725834801286299271438766549779398320328588964983371412697278112553798102675069385851076497277377412654039544048040776756361423041016798228090583155531382179847384379577488444245998818264652593431651718055361309125384346040633435315835902788818190036832326691603495284408060409408364512123147196894035571425227570838375626708778462331741093530469187842616636072642919164111526726171713754721116621871977820775188528441204603343878670957360749963998980314176244178142004878477345055628898076640981966753242604825399565674950417334234798312233630853601295153387790221767316791517481415109907344512134876983816467546254149739385884969632062230275957170771029800110051760954422773710261135665412742831529523976815302854586005887509357186813751202636410728720512441293153489858075908385041551828057134179722709904709842677520921594142091414063473935912823042774399809864799479801436145633030770166441359039800605779553011389502679576906843668708630214083674345405692486088203669413159281789768164592775068791061815028812803566262314290945050335802154955481162458480175386348596329067624911244659396163821350608364290944373294602869684298201142732101432750760448285922223875833695592559078604044928416365280997882438990870444730636127174570748164228684772163783862958276968375248521454294067211825819625642135571350043529229625903480353190464797430651811612276133412914891233363541535466770827802919102116665203167606045270958119076456345719167215054372436083304694581441088766791640752925018887955442352332942413145694029033271227884789757369209307440547892153976940076934399805281886687672820029931082601759012402383725047851703160714538580777393552396185077057361408430239486440206842642999563993536854901637907121036800665018508247335324056366048550958563821621039311159283475160841892336890173535892570337878941637710151655977786719060864893577402011302351587121292709295669764725258993765434217299311841839524659089578128308824273802030666313337305078497169319124244098148840447892965393339914718318991167568419295270893036103943602334464847383267688200096299757321273152388513492070092196431599183255562869030599464241392635206347039937261212857626648999527493736546202648684187631621518948419049195648640458954609191984530925625521129476540613943693187452453504353955512154249661160672311330095862082761531137409302916699788464874218333050510085375238534218423965454234120899055520646135066802448818953160243243918024842589333517493489616392177756217478846213863586761076695142897626412786671250874228006000247811236636423783700403952370283898199426144769274221056716188693997915384318679764138609306850407165869220909288046958980516522080769192000947387821851981828982529866920657746790526803053049340182629446866917897061545841833405022514542861005526955790611478976948028491093293289724173017654135127599070638503686562964584969888361600015130332680070155434784748417821059483037666182835195284831296053843729195775650323340985233564920999772315287133515285790377336046066913985866562642302998623072797987913649180127457479014321176693492414232028664124972287465494599260416899303960974776647455908663568924031660260111647833501833514653898077440845007866866412432392411388818299471129420315485798504703309944857587181489122607251969198664627092095507624240898413970298935423958269655354627309811137569303144265803385616442784966607109931161643235832441192627360668407047936752327721899713604511995573189684043379097555489544848914431664381027211346107774874694443230363568133392798069763998013655005539640107895439796571601641241728878665719550435193362598530947717477953752563532521575719184549274047306895318820047582598075296679747227496804786990507552076628218966961389348355687213224838164159442185457452630411262111936177716369652689039304880916100800332744512405862102691062544284311968351640323679086444364460987397309598559243571882065623710958959039919365496906129147374776235939207145157060375155529810338590451521341234059602339234215315265333593499544247193636272909430962288384075951348914319663392229886055475934070358708522205667204989835096962132126758497642328367903202719651859375889352296819166219354023833659076213054544165082980349845346385738410378939453496995708507255009878329347910200399178798904241499039690621461737315357764443446021920348900228333585596093610402122884406790287398985670853654276116037146357725172976304710642314446374646855646079422338901455037732696922349353812497075157084624314498954257225420651879346408952681394761676284274186745435260278456811722164698822808149116200058656609628737795390439424
4264900893406291496268915753933291369448008174645535461557590506883751278993978247146403683682570995813156785802104880217332219068560601452641293847772906937829635825550932591425094599591410609304690958256114460452810271121197250717987334346462911625197482354941774750057495657009579564117505913359678781011480617429287119481865656460137861293811871727066412913792236839916850657867727581362223198331135083426274005654815843428965102532497911924408532802981869399604139611702150095345785644365814731474275704504560456447120207638947379395623933455997881853396666976101514630673589796260630362274954339208883172762469586940045086965449010404784594185709109272997536450174811256174335914006303162807331762017956207836775424735423555693866349737821070162641154913151522093907590822515543849811252706096213684355358990564964787400904326828153292492590726934343974845051930475441199792607189320323159827836236428242269193484479844946008472099261720453653910842154662225633418968133280964067560027709055108799001778537821464149581049806908338748990294693859932351439443428977704278701455091294295555783617711345312182734415670052224784589435704145164371749576904867465552589359896521773571379399637609431506148132868532657075300878057648041571241638868407524221385827660835385494345408209457734230965175814871289478689781168954370142950583249440057498565826703101202925732511711051327977866171511784688619038545674388086439975966143048681749783562847674374736150836562512986976964652835652207712072143536864002007687506146917300828774173632871637737888144499848656565104967560973126546616393086563294162606571874957348543899632225187459545433347356806567511001182626396831679319406630518975764899004292786156529620373156013354400864624582216371284318736578691969156533085017039455828525924532299470317950092155394607517350339032160408792472894068281690294670550142256999549100994271647260752317979297003744069950794643941991030426545356640791463621075825332590397632135077497385039318032418716922951411658345152330174526969644006222511455709544300324072103978183813488889183006131527086654619426902955998974863160585329929811749383804523957666046384364464200140372885535759766696024472334907551652783388452357892352199456683693481307577249233162822708354487922579770132734072419735731176629052218022489984049860306888531626760965652049803235309808222546213072567456092946618712344351735108737324767146915108018014275889565023928522378541613889910795039325691732200769435784717396998195584726529036002836905964601013264669532214928803546912175926999811410175648601630348206347306012667314358150655116950111253755723493718937814072349482986836245204831540093806639528444434391046042192354057381621795502598922056330611714980257914269995442432879178656831475653586978519585440188165788072255792202209220605031336018365028982175808827787177846522212775791547678690295680139812368583415078063883774650452654654916050935754814861129583802186574021826215145888066575215737488268938830179625950672764423872719561550903559540384165711754586347920429663879636844360404449935131983819636677881554415832440642382893891000978589709469756282450580469673378743391851200035096269231190356046515892762665145004763432108873197253482118695410998707639471201000766969998443115987728302120824241978019084480093604915733815934132243208990665280766488492146242775268617846183132094161935227107387585374122880794775033292193799042289890915719335281151791315094322927130962156775332673624986793308026979684643117181386039252873991913559782778805266247785386739872593152261066853424077420105817942642431085264445422406209215207388637847365520797055608644911742917034208477750450838101964634975451001570722743821798880823011047667822551218153482230013763553303940567570966005569618213677481652279790104804178900963262695146257163738943293191474608234677877076901188647872433623950330844631598265738333139588980547975704426629687039235700258200290407760426262827695092271790827535529833326031799681504069518119207008636415865555398514680884025980956391571339040208133235358200526042244633872997047596805400514659548345750926688203123503894183201204348166776963072142333497188394615850725178823242529412050145008216900959183854017795448829997243293183077015089381736020742846626838029736137311802055173754589029289233689298347453209354877756250482144437848561273617647898621499516956000207218080145960931885423087804597886083133392990881141387542103457927870734027066557683441864312318590395431069967289693035394995508049108472469815813005526318102252987591778531512045830065230480491075393992867535253050698848091793040841884312970914460771804471009625337144509288813532298514929360747860580076530955357138167997634199872970339258645064296711429401109824434496441042454364836249235473192156681302207674596325931625166160745999278942384696833787662017037831107892652508072029092459059387481495431912327997898839472321440595188389907025368807250381426170848263490849493304488388134078708739109612376732536604599028725080491149544470365034965975058146446338658328878415175860747379165759624328894476823949178484532898868097174640321684497308854017246879987564544437596401242826063881004358363230786324756636616842721567332705285099003186275235839988904403257494535782916835029830697458307892074476714302554863273755206328452980492868287591092004396356744514949239999522613414742065212085600032071329730133431168067406899419105648027946252931911362126155119049652533771603456517936477606989101514652489370879035631461771386450212443632762905536575568030526956864317140899676661002435976804797917907482920554539132669425570861384828221049709964932924255691102721468664308321570653467481757047169218633154774773697622862239332169005508511585568340444013115821734336652675183150401892866334188249604731724555918522015089838945280518894636810704022917457607822767438471336608714668465973361359327943640748131258934757365200934528373652892569087160198863304756432199100346134568347142979983427350572752311539895372097829164819771637569468515371656284019371201109206068076422299410847564920678409680507920799375088161177271089972266379502233361181898783722292928784870925231863502137286017391038394488469094817842581527851963473833131033804856790245788349916198441076702050502266338774107792160280045304964923781704942412674834092638930855012416883240269219287269376
4579402464465301004279474796130667449354562170610807799949529111906443654269327088107302286357642818053915330385129397123859813316643841258296112473827659433207447772582804165617827834737830882367770241274228199919376366439608861049717029990068934676790349064002996633923879491629544346648655749741607462377363763099168942692164364890465810477076559061074320371192431141532315233714493763946981941671186740468519620355588278107515403625591327225905768133037585088060733744619718388098357788494365233019259004033611760823803411297502092592277259927097789401402637794439804728702146656464677624578890261698860934924881213025530590320519845411028388488063093724203688735517186957060362706293835105529713366722294219354782338833788406103297639979709917662066290333913876921488635857213500321648316536368684400933483426704024081319619231137953450832599873623968427793536177203421421070062465176317109902984406475756099237711034304403564318351314388773284457692388523108255526838199626977462380363381811373838358619066444471902321765255504607449150717182882685363551197012975334647545504741180423430862195430698620996938672789136058015463067784099553153302204777060666940694467218283740410247910762911689985014563400452607411600070154420585306732823263313191032794998400295040184441580296847721604063785159940584690080374762513917570062900000117614317174948148255792086070163660725613860576254626960529053078489158724774017929460402599336462808114377280517287254117989758584660334272319279973738387210220862164755674044872202194569044692880652298662547250183243064224165382620380116113146706941067461365605733079403803347730535178401961554239813261323062614441549899424444595173402754051139104414452045120037754064089500098415722742809175984244465485622811380234496287576222543016381288857438597580173429591891901497315443864679410311997415482747435562682802653988830490172618879149452081244797519318359037892498149831235703999201838309258213938952123601534921020198413999126423567347655845364240589516217406388684559446826722747872026800314461311238772972033052744102835675094873469077929937121468614645331011700197297066477859759997145613756039427616104871041425038155309909118003770473521173383033850193735300435046295031358029676107900612518850543857167900576773167822605026915137591567344699970714068495427912863691713600006471233305064722654685966968748831224668280415910825155548153220453432356703904056419673451700771359615264360090958056552262815719970594973708182933329177374651853009828306647768584947171415054458277684413550599149347665668351218013089897619456838484735527569224102073692068945774610597394585424831824617401827742517915547071473053072230582426865690106611599204426743250781115563309198261769878670256858700534829566686862608098728894074458268490271484036499101378113765105362064730313516163717134316459423506224737152802394519448299884014692642707660516402069416952717181995834811651098634281725771586012120667178506696061762278704305579164159068982061497815913108099611403045860147456868984695752057627785581580754157828181721144787451065297987235173525840694411179293723940192921847936699593686183553945463365870376172394254262273132139893410592595403539972471898639176281081673403665680479395106182002448541758034151765081588520906948735636889964895579676465799032955393819595418680433250137543681471632116392263747816119627692818376082124140589794566424424716313916820894745157800608605509336851477227536737031822618393090919663184890011422471883007799645431387184635516517319426931493958155121702717118616211698918707647381509534581635230744811333286145150202893551662390014279105687895340423055817703158755391681296032499725932205142034953649174703949503061256058503494998732253313541921606566022829294371411244288262316019737680897045435585469590215942609043277498113766119631463980727095588443784999670566534640598699358326518192929889114532021918583883952378734234334058100361157250779758383850466112726091760986904469228041909371272020798667808118382886848924303992374200343191989255505150267807155490319768535526190359254229004034233208647321661082179782782671881501113568611373451315797326152530262752756887365706455336965232394607125268370280587310223541420964417413685619905928594163880114548268267198925972053313401446315888795449215889352679411205109456874594767360305293420098648126968817709976333255615976951454590242719341702277235393945311021089789447865025337532120661349043712179182390441311016420081984669468920299038332949255336225119037284456412803593816000596750879117341406245647829785567545834615102883709267420230292994958945624780779104071357806376552057093780473230231062160355355584966090332743040561823349072407597636107925798173456383740373476359106548207406794890512615977126433411136035715415590849417475219163747857469521705197742486466474280935287998189042869719850792597500215435241118055072038703671309210872550168062493621138985227402392609917369728977232407950067897342250237149261905629281096295329325769013968927891896321113727736378866590189836872671350789115762701385157999660908662337372461931448472917789283910618638195707545549458892932003828392376156651262153814046307924746330138700885079041298447357073892976831957787676643701812983496859858353715333724521582390485237507500075679989643771060752146751632526572609446372648814109815694952360109810183592224501170057192013590351739022570728082538898145779148039132455038962229012597075853775662315635311058178143094806273802181863633008464126663228268202286754194758059994413740028350382349130934102344661207384083818994985274177605408325382974365077939791847001488944596619996590772418054127959607016721127573260901651999045786498552330851818394739819272796564961247689850975277413281945007612862352285480873505635446594779350259484689951920955337543823866719192971740549593792942880291528733266294978112020741959262414209518961375905618986099182560022670308285567000505810410007693406907687575839385194336817562766513968516200773175474511693063505605481793873978229387308050405734256304021684812069746728245851163677589743887650927767832125568545222343289047489289411740604261309102795817356318815769410863028739703917386723149286952080352837339241234584474062374962387868632590017298191156969161267654583610843574729112424726791996196555673517388842696000437077527510589670912046858801701768568599765581824
4917095955025067485044075073359371009407395207793047961231234496559524926688372654836943464673025715797711177189291461343793589870912647671049322939756863301462971141717797335825284546189369093437099057678709871573667832643358004310085718465399319805593719869579270347175286642498499679059415911875641125345081943301605553410436035665290319551294494713881668154924518068903310313991586829337057829345081658955282871740396886328182857597038644774124919527288851273009532873726326608403070583222545939024284190119473649374802417464002103543848673387844087418229936463813132987600468103627884344187324861492372278988587256657365774618551723439835651570953468482509421690402477906623003530357518786166706916581577096554660091622377995999407540366709049981356874192050255264590712660596227392791250084289873525138665797262949125216052280227543733924090106967169349777443830320388935700440903152355215189638939652835765774624855558936854383287856984598871576073476083718924438845329420346900063182759368952969145064802525264455115722060345343242855078318856596160277565398095487491465907383795715767746311614402802903537628936746118317693134607134692400411660980542633879557777057668189577642099994758029555432069972165625107687378086135520930398901131419538022813745400409878585795598849379734045391654489978735136753376304105260677064986040855887411451943351813596613061742521046037790174829334241038041457489764453364367999387516022785874765292893461806791679768601834596012845742009816389368527981920819983637345963290536231293368942471191413475716244897939742015404482812464845448661935490495236473755030701536176639129491102953487604427332024632413904896678530395019689808431069421493491251700190887719636997638872734921077648142207505259647632437683267420945591543321732368327706977256995733737404526333585924555815798630479203648513983731071992397498855126007726144761870154768246316385078903570070033576079316416316986027076410335990721792677844585555295923785889329140447800458829525661634961978555516335411821072156295242402175146533461906951790512671041741184021348640811736944088829011019848030833586735186912029786394315537366108009266024432416007304500028152057101639599747115968410919016960764094862314602351412507981470226424496707817344587457039555073252102030031428930780487716983287270488741702818773403934556554833852509743741296632320228121037043473208723568023863357758761142565747868569461059081513562141880253892246258109549921827078537099873434656386558541306678212015752935906806365931074778841235090412760702190646913410944877615901996802545888843643873321529780973625368304524169787475736191801782738257937140661184988992190481334372625669323605112698091892989318120172473404449702406017570418991660294009622537674463481493657326334805011613020625829524537427688096787823739015563932902937483118421008134617562224624370609802880020991160924520980303701654339933133427068752347631064947099177569159850572027331284346713425570245790357429225100554154940535945030556916385921597661030379247464956244899409011603447419772722015719865463445799163803917423938592698350486260834175295214816893002458264661612812204230994837058912745018692927290082173855274309491026098886233572257906172693424276044146895728536985069693411756770531524367256089269677248032594275691345716927262960670490711795972071112934403423025272912009576069156305641087714835137948511318453537850953045587603851804977751993312389691799935575389759047557564317853393076985609450104145794249509397512050942480764280488689064057045674460052017464698995505567111977022170871535076089562594599538537407507608892239812886131432986409517546952885354401172575833709228620219001946049550790203020302713399420886663988593430313647360512546806299211729152178992042896188360993497557487923522216416625694998770913447675762831792802490342456212463357983027010113510018355631901037145232045723041955358121268239052031471235585094970003764045203083189354891627128703379833450844902669591716752312812527509059114448855549594606702355967040392525394502089949343616427562610593700436116851130505420923894347733085089533860989901636517541191925276760999420997340746543344441268616204402087583255969342449056394585210270679213085885392868160080362477111280389112386505263494144073497756912611460515406803968403328170274620266344176724766309870953751920699785681919033491066716957335396811180390068679482423685572196812032252989526545211727954897505008496171006314741133455722192780448535595593200045066852724160092589710936235532227777747601140377417057671572926892815596825539663222908301648685501849300461641080268933355346665557175397836614827984381811472625517339993970076812028279296158187598795641957252612507387422925861832558947047944082564902255732896574291278889487748901199481436691229179299682379155416260146614298100807409260544561140811587747186959051485579161828751980252383289078627048550292648986928446750138955580099822936797062074399180184218005016112521901081038804100152144866552931911261678113969230651543731098835367603095949924591948848998390136466877084095448595530410641644046272761667753841509544655088928839073909830498673012962136835956938462639491582779260434861335184187966193552501147724336096430924130582785006800202581099939610136517403325899166376344940770120403849010424865013584059802135387798121373710440601974737412426824090008103827343536990737065059667070740353339045999120316704105651133294847091703204299436941598322614415569483550293358998169437025774878801941754427884580420119170577103239028702751254653253997875359201478628428376561335148602131087561500393304028974259979707670087009699374249757730329886077836457342019849854167702068669054470153088282956884685551402937242424583816372482548643357458741928708003942801835054278705732968425153964289050078887956841118585799157284678175601693566612039713805761047520041227797171758327972407750350448981983166926907731498169187023997317792239848572765834657303919789605808960200151194676063991739644274250819336656664245753037410158618548492537040423163742385664867067204732548919697759525619158256724315033766784065368736010372233426243434400208663784427744623169767183473893134105474765427698396226158650128212189998745061815181886281461029591017951324784737531281584808267686108317480827208339664690751400109591673652586812421618630732560660937743209711286874181421800123006976
5279691579531637927114317889661824835133817689504566332411907014107546019355839533996342098342894195679540014420417006970910420267501670854981852007299576517831512502167430204631381573944385419796377171460619143470315848992605965032911300941388346536417526175707087855165105527239174962656671845591974163097440915230130529047451009570577881204549812315241660484831366613625198096183339162786749184474468705915591365138491807209943724121776531438256959097084348940745977797222867609326446735230120274491727686593246414199636807367407072999008938543443969852065662830058823409260696004843225552988741994459367172928242556146436069874096631764632686778024042667536178543037919921577085491044521593572905852683718436451224842478619268641868555312703804204289296089910567387467234425648486128254441316745562543611700866079533201328688369450881943903423188995283525746926532425760920208410132955017238653635420964261801915282465323589397526333898675694332274434888968152734630283960465684143186587571290172650060037601661677262118321536152246923489286761751935155567829416830334865255787828091879891845485002121250260356989747176957707359637825342328031696955212117476211600563851285995063875218067561877093495539920008747533228441767984783354996693148446078465853384598507713380330706799705296902533733886447556786950459710928361287387233078043139070311048142921004935309137639166331004795250528236677842287952678145485819432269582337135330731921163319918098833822762431808869136114456253675825657443502700272806414009142617414927027847393968135758553740503144512433709845472832653087924364972934689874641054794643453906485089549077049567539193963582421035766722136767987882250818987058905046100728606064928262230462646903698026409961844098083983642450919597894845895268485251932008031919497453115903419073131280583093288045429507442119622859780907566592204553740911285708769098505632019097036595708303247109659720647977529343938895538221539130464746458689682667498065625793733400773441451651788978730897024848995246884549178736066659433683406306665004933825141299471159067002544525115266954125280316567724830063661501799903790385362748323024969650309975290928409931183636041141666657223098238661066566787737775651170709990640355296438399122732093333790636172649173504502165645560049277462610624843230651330562887449495696183379531818456810759222552430112579094778407830490429976641731117286656741198870156321885388275156136894959850603843596639722924881664721016869771897093316617225412006750853274133929361369643691313384372392602589245706012545838014454755381452007790530675423346684325492940998855971569519689889334328060043828792007890885336081894529183407216981848748599964174750497963250870242787885313177694494637736549564878268377154087136840389862009696767853705948927815189870362085148046402521071581703813708081542581274383098805501669413421736674192207418972683717564688282777318724016173119149661755360734432009584100776070071106702721977083955066707668110375601736629677154673919136034944193548893132584769494478482128641122797194856202604005015754897719280493073125205787919932908995027143019695962518472373581634883757940448913678219766293218257844352210465247349093234875049708804366239972288696374965521792343497111200193371060497834868423597999167530076193818189032784411108067006717972959858865367489859896323791000134638953713962641760163012271072880126161160946591335363307588911626502503704718881109472060667801489390644961855649218047071500712706462495079396931589730640960214923445972607009465062546046468367425755045115432968620031840041742280385727687481058714229451265832196133773469158561122581825196762497601469314465267824306954429010794259853232350144517643423390288387425059392608969527582681090291822054644490620839533380728519516627860717159710417673247958363453502143600608936052051318210537533860382880546694151449678092211813209677910467974755703772192996302829900673580305066892761976994161658719035501849817334326420133549879280919715541857627310072138912534235461150321147234951893058993634020282305687441373081629185703210005352704710082118213049183291209059428774929687412980741060330364628552342972355428024837270654351053016380649330440200787399462631977723250393214796212392754624455980963627154609802870796271567256038217116881795043827957221253345691762128228923534587086206975691234512826841015064371461039151800615625375392728984087093088638496471803685552059240483436760871814153336305662724574570513358442148541168978386964645979026685285104306288067864862175860093327839912987907470910471431103567773311278397001777958023250806535561294911504368827679487961012459385396369763041049057588753579277567349751038328544865012798431350182447384967074300863826390778894663244746452354824482869302091269930827926985686980943783264000414996234649084143867240683492131608312614555068000576280955435678918395326919806013162404286526127784657016302570981074418031361982233514149606599435106896719641808655306702177329276042706524781702945920399394201599665274245829011885858753319044021612838231998193553515860448365063061369827888603655514651291765465391364637333873422412211175990517540449177991890330283546526050088699043227745362779515399622119622089370780365977573756201501922999757083277833085654894637345016087155681047128453074189574639533149269930389302187581234139808012551140218364932441578353230483045487341573589369484024671741515351253324070136571676246046493851122063844764399343022271266029987025781263973108653378175874141156865841773444512825964510987280485989673435213980313650845985703302326850335363284245389144482985457370759661516666016033311798593496922511998928323680118585426620162421101283799137530572175153475621629835593638502809432670475188487363233563276210116943234041728356498076773759225096555494932498670215948516287640513231523554747703077022662235848872319744490134705828364283319533027729133548793394382298546435535744011777347268052005384029815925757241037553920853748847256039631246576145230988036196728990450642323951209578609172171529568599849905817457940108509205501841751689715919826289507368312963161836351564838048394720904396632494189307888498477238600670195489083016309016085750305502044390748287080384426149467616543297977589072217580484199545929640035562204273434491711459576595804284226763562941306287934645595162140265937944439011681670818350577440934774964224
5669025666763741973567306747361318541645084690012098710092951356646230194987078446284542374002686591107962214564764859905566069598633811986875853261215908604683976758756060461313592898847035275211167732676085943279134629553429291407718400303019240302357036981471473003333228229970273408658106713255372697645119698051429734017495029566953750898628632574225243529771555920126623456157226031061276992368128509720726662442454205682661325275869130986907370641596741913489054120653584001348698328924834403272128359113932750864177525680216308712457007863941431430757994974916363074753478219749877839309540480596198802145694583351096676766003967743213039791056218689694121934791198637760116731758080281090358607240891129057566249397105334513065945349707473098052457407256640623493983032431397878190621755543342069483707235686617708663225073341775856855527294795692460332655857320831675052496756299202719783397801137174306002042087791767629926986848397071216802813786249901795192509065348367581313043711132840014550378483916794774326252670046595553325775212022576289469124913748260056750543849092373554659093792342315123716189062283085419471195742562464725160618504705325809720599389108289085540373156261645143233719569575006672284207672633766083838988815180795057572534895375179843065498842324768158588121644764808504763766007650731382050155839531174496041449080331812527151835452545510092476605048725813970078650641857618881123339785798393872954936284927330754972441125826249130765588840530590087746129385766339848456577075946699237911707759592992687269116929869066516162288564757475373387140020080604538871417520484407627209225481229328719187945317946778337280129465634436773497891604658461099643000421205133534716487270850244671222632602252280331501431414239520958391784496324126573828175891416472024620603420370604746370668056874184323098275653247930928115181714872107339118864624272998458054907270584100496648756467889854268774473039755457142032590830251000517380558501511464749516198035053799710885610576617533480957146152593766229485910027726251585754614406515951892571997450371038480549569402811622726278562645937061207978912893060286017772109868475034276401532928831841767592198926712277711120933208083380061390825880725198024005827377682357759562598518140702470816627552213784812712585624120950193612386621716728216700091776979015852849830448268244713202571636499726677097663569764392932740156770788388226347925514364314387886394138524866656364217053661701104883647248918082789123707280161508124937332764196355340926291625928348283807158078734993249187408754094613466617357016241012007000167235992826348214625688199557005842247074269381613739426445141012895696854050213842979331254427969274384078386821274228922787081461961258798225246949451365937807305400113202142790761403126306308908847306654279613598573217958671679071951224352986191583751012465617794834520634061621073009234740745992554478330455527142184076767005574817848697293701920679321439012114460733231621331933786317160590704058354665106119397545362644231620883329558521833667986982401737895321812614033676599956823843096505927661946451475477210720020160103154052988278952099951670240932533891007897050563386577226534760796286422269065671866974300237667306422655822718826459395207759559671954120268894225587209319816438729381941728907576539501536882258992466583158243079351475742281821231416003333276176743597635072750547015593593191012015605068471608809723674098483829288227769879295216090036271033678737016054142686145160598093310283332898992504378201522466018933598032406719447286275807750864496592279290670723213949267825756693771154603672777121164976496576020923069397286793966258319860784490928744263539675939981038049612692516999801935528287059307046304700249705237403030771132983532326994603597495661015563184275098817450618330857627766507228941356986987627709275496581495347709598944352510106854038391907775322758188330225833910988945373001876257575557176783842683276978238626468165588170974074543763475357096229072007525886446501026966817829802205416764197326375903758873825733022748599433802462918736964799863050668813138636377191088034563782182990819758846875222610498863689488295584573202129260290371239916388535223079601290244419172508882887754847800007594298646659742769224965024837150260788679802753990728942538969175209338646245584065030723320229806614443667673229689989723789805905913474873535711342307852492878252053894590535832740029407153559192340527715413508967030110038373073717945435996797034378802701857864004658652898216625378645058151637057758636535133035193822870585768485195890880755418964705662080619569001315090643559027201417032346143801968829310100023768404525840785674624675971022283683787918576539753049724454267136416279814168998335435941181087190003532151750360811631083348479134813945239608565489425339848082757640314567663382808964225968596516145479948810299167986839983071154703899120301108315096733104007669076928398959889048918727812252208005675310308306695205815806922978743004338520648309358176667614439657595156381702864345042675510857161610756960629390262935675357885369336744206989532739539971745566010107981243310585894156312980446617684069885755072462414153238418575026343633768431672722468147588078331986341266722155660396158634802430656090731883939505935166178721195236466205559324562360980664493448526406476191346920857457114436615157662653110136879816786589896735949778744873131546400759167435096508589279321779000841135221809827507758709403511172428466324893120206599069113705964542528586750589826158399491005052279551467832141763255723267984528274603586960341962753723222527574454421455382502020116420391184313552922452278951353209548555227581703423112940393908353523133528803229360001219833165199356770217266773881424424297618767207548265692002073246043879035247033768784833333512235973762561732725838456286352945560051189041851296507968168022122434621012283200594562240848192402886337479577187905995022506828572870799475855924490597388670986063935209995308053809040151270890970659942083910588199858335963998665499655393432236338397818670653796117858793713800868234971318734460347947895857769793768496853493943571397566823326884570019064679558873438322379851034494567608354922655216133345432001525372593971223626463467447986082018145874775487476246602892659537689337018549615554142962064892053532755059834531863321692882557535115412504576
6087069959733716483763519733679249357951013195688065451043252799228597732289301267344650551666934881236605529189849986806106979323348017190861142742254318163010668148520340330785138675201463153397581226453564921917298558278263472811151082819726031789347156387720633626565778559456572835591252894677468858169271329284071408411779960958154850613535147038874428374501108756994758980775443909372016213554588385493934777136393073846171936575969023891176840271752135934646987175545295357745369803725503651067366672677121175726239552683682300031460679145410816413633019226949529935332048054018506654957404896237199109282533215674326578111067521515834732965833283142415056488341110684454863014010839847756394359752934048299690585628486782200189579992079220030733776464150056139182926594267940312598128023491190224743370545528146790890751891972532183939216781995712529700633547003953555967843162862789418085986439910618813532566819070300707141959845421882724587752723180315673390879114963691402181535869383504743523509933211173885218738913020701674418307142371107794233730176571899430161672465516425925069019066776714673321806502064689742650806832080055307929621206210449117443673318434420056227412298445015877336515308939962569110615392808574878850612772727825774888118630863794769021182478427684962979530999583645534915758802164094269096575190622454608241826315118602908130061323764081449706238582346464368116931763646970445714214030574936733417057556381655832295406004177290248746657878065360928612849015612749386685648654323595366494727040740333465647003191146891562241421203537033725055788783304744944590474749910485209199145797842457181236448204504433706794853411386465458388300991740262918163721021097568359730048365075523744124869840424229991305671625336442806749822791697988962589136244242348615361099624569371896351098499486622413595747831173224878980408096618224461029276254475964038301063624867833612670941657163849553648088926345849065639901145519383673357144587551626917057225595703882839696988155891002150223995375720612882277803615470675950371052089269115670226508593684748334879483172989542514514196587546726290654921283331668450684321666504783402405902123399963968813831763738883392733535907429620051203017358036280569057212875141791713373297975048094959655952437442684542745510075799807457502517160195317766711823805580849691563892543614282719632486150465881497768304307537170517853125249112273892178946400409677131358580347082598992961295627530620823300582704825884240576696816642696748661031567923156477918338219980230379562367579717247264010174793455117732220684032677821856002260336279975814047231329924647615445033029784669281288635211919547123833061818938399350676735429695805293116803624452552567746956012602868639342424622354345461352686660842599475280860599341639438510493156784453529711347210848493685303859534875808613197950260886679188312475963782961539329772879372769166135981911792464530237931560588923085327988163364022517921007172539164476498503427893167414255163493061940549953795482138808358723685742771360348426488952892297948492764143178727909863758354533132082794550438197606391508946800025932661008627292648610736716345418401072636577476150931048336295256808275473620793286230470498316527103429378010333361650472316608555600858741837856245077606129502266470808504658934760943988262760043811471259379604658230300609436651062545521862041912416905005101545049521221195631222041702684350135567166762487582494446307357646705158989693885860572513634292450577764269369641905823823763419413378088572240147780086199202049185437635981486582147835749882208527145029078692506550048982733604805225150868350666460598698321302804442402822494165360741319562628340164154320804534956754518337892873350655944075261305891757071483283324456284562750150104931952890936505870792722029669956502904722322518112678240243239641990413417920579297218992817538701111890084693081514840565848632201235506323848643394968231472580816173696470876911151091182796576734526657332561854507556347299188187040282891113224164047541603419069415118786211701637828433983114649496423790056992360428746975335839394588517910862777090525503264583119483938226203091447878532127630776315792627953984784964633303117737986579796048110258568100277541622541516080865163708398425012104847023981312729961030228573851383953269050859853424185931423473902888653360008472703483300520563322386021506896888404025827121905226041370280523945678183638093450701295275685058270654032499266215523414166393193979676105851686320028991085106126460314005681191035388324842983751744986785291671562595679001735952871607290057047249225572091069565923826340403718915139696015445292305574571461143530029146140343864570092534438027275878921537278048120698222199638873110960201316943951318937273697427179063077210538879849692013841067462213418154639017120300263091661299816652075307491542268989966093089590997258619871971418950773550821344107471473532939538376304649495416590970223620028887215372041210042207233261704719933511023026705683074377352764884398570166684158666854873787870687760867900511396956926897688932391653447689254549395034374432661366182992511605746217150096296500070440739627606723854874123123044744341635067624267061373303817888393994573124428841891614816717920005695935126111772304379162556161408484158483206160663334871628095797481125121927456793801911109415818269646056947891774744727157646224145218854461230361801916506915224291783426481926748684445812467288058067296728769306210786812038287719941213315495684941306852705767573970309720553015162782392436427860950971961222704776480204948193352428339740194750922835747915684986298367142336763489923181038354502874440554182802488919906628313342560332376558434000766221412736030098062425887776850662079836902082036221063475093958064261372166928338988755459341510329484621207061428580786229177809642275982252878073422065255166223449230571266012215301286477690210963144969865417778118870000772490973836001403164289609145543784323740310961221512168372998185101138808919714842388941536696912516026628766199588725427165853515367066390355057049062316113820136696278231401764365624825661248355283782933089645208847743305497630040894786449726223803520281049423641270626483941886332291190694132551379385824351330273060190778206965200832777552679507513234184063767928209545475648186039604234844319999923366061691959381109153214485145539767073175842586624
6535941601380087291575108063500751436557149811386172332434564963536820322030578038484156719989460899868216196480794767119565242317781985765298599538792513456227404149250933127877998153203762613797910663280407850561897731118272920848819771206427692553775599468964404352624473926410992965276604001576265303473870697856383448214313558365857976972224747869629227629794175606757925266458206077658799383699677256609472668539464195892555350596693294280411797979947794114363800805974613632044245900606744285615733837997143054293316981959521127872295847009872171245303456531371858228706035323177481865450102575592260908252202546338736809952656115139571631057286759121245194518854418920512453058334136733901833187504427594373013868048359583879522292766489047268297421199024751888588673470987366175972244162928945439846916621463267378590782521218037665081598132631486731820412438715614826396198003038220571503545668828894241811174179710422665515097791358050406212943257048599232042510805864619699951519903513270138823585742568284024695935359446625565649767250041780967881142122116153361286354808014184274744495858651607414060120652501999730267967922949300300357233137585487763223160006195907015555804240132383711840270209625118915448558229636755673257635982106473103082581894632073690850463169023783104247014090157486797229902542579729727807703477332102106410784020686647462907276475010299361492140879587866850572881757181834938455273155915924336823833133302221973509107349745875251066650143897870234707094291860638004114729700716562775057996699106647965772054546595883997971313131438129843490917149944377584659355290994828225250512388217295238422722470386115664420987095754725790202850407132198839988676539820445532541230279124410762771947026219701644660055992533796712991234236034570725822326913477288900301701529530832594522367447242429013973580674887982541518602649927220564426992002880909790643789917705639422197806406760694486595684857888793630568883183169672452786320632869411580088522123510573724178543669812800993969434803293816190614866128789278213464346947130831086615993830534736558074459082343098912460019917806997572556569333340966479201037594395565835224239334344950393408442834426125713837015191212975385405701252321536956395249712911031692945530160623647969706188782636953996384169956599663518267555260179420695088760175371002927289651392320399479829866288855974049181590996562018419638639269082267349775801242374121070276049659927022921362824728507953418663149373742598546889677251796922763186165593463389928437452203370485811691508886804062481517294637283321375929380843775160044010932361600114605250958990343236913165200337141237121327628242917121069998465668971674662436053534646997740580091368769494795548500119419971160439933174589266069998955282513602137489514172226825129856592765305257107835500147673774197310648131217342353810077586185738768961477423308475063361798069003449140377808249999047974152979787853916787835781648780895514369574929359285176431508203936262056519702850458539391086951476714683508282416641446115275480733778194426074766078621898524463936819487091643911012739604770297159252874649378808182732577148944701083507792500168010896355188359617203138845834447866125340054467484059477240576741381697000000834586629795696775984871481427324876839419827045343812499966547197108113001919090560716449062169833814127099588444821324349166727180759402975828612462286691086373304529186406844359810818536914065591604937247932264193545003803910205578940473950044832798460434986630186108750388505397598825190692043419306408435636909521497009432946942995730930369085057035488331518181542009725329657618224058028477018870467541411298300909567633343800002459343436201951519838142511937357640370542148134304987813067864837184499359022310474794670388629943426492996236881891685678062801213429577844794114580171203886336859893493872117101732559475346904122471687625863825925592243502447659747613732777058838741283423131545753549461737458858586206313723886616820887940251766174131807797671886512979906704425282543971076230172258683618566745690104093108951410761812788041040828199331587204116530951066467686886266993831433314293769706632005683896017164870559855176345065011076173138380784872464277730245900788023620222448023646992393492378314328991224680522770666472582776046548024103710907441433007784058047721779784904061527679226136092370254489811286266764918693534863140556983187764793224469173108169816573417638462868476657317078346528717384917687841730467604923240826406742743776620601591459072224072868424830308465209887201025293694975795630414545842461202737649437550977437648364508529825937539804334044325398414429760332400805728706599059294149895381130700133776270222163984414589815384278281258197535755466960953462600394962914001462683354363135096848872725148779941022984086686636812304318431919720283255342864914051329460478384830492171232810449501053237860071758669866720088072019226224017891352728889290028229839457700291323856367473886711628416295330817284588800960855447866422058417269873767432558854160524278061352488775318157901318736559175650826655297748765067722305746024780499658297189895112083844479179630451168251655524426596852252538640223000916653243861142091186325647996163592725603650910103608125120402043771696924421976765190645253184189404862856318686234984757431234117893990609853458055929310004283302281021637187169000472633392260400133668392025965369756830861544428644563673930166826447107787819802597104297988125984760033136214246479558153424213008152967990210194935281191524789585622969773855461915008216124296911367560966955741080341928397971111339219391795397423743634344051926722028004977875015043627813173884600332994858484268116052107766566339977299041788012448038606334934877211708864074969638762967165103299514963260467183076602403311140095658154819220004379137071463345622200695596931805814268929206189568404987729945263884052101622426512076719718719599382763448335867270204423500183696588183264451635527993829179743707018183619186409166642084426574603042305780126861603990015946090000242704107045895508934963484228793717825184191122196824546764203205190815119409124195745602061036835128814507787562594619519847424084195000774726644158490467740435013195049711815875451038740984222067307979926264246712888400350484681776935781907548418413233430860455987359864512757394935300820992006053315616743392774961686970691698531762176
7017913856623335845735076365100404672859494318719044648606624144594518943737380246816320631623341007401179818435630954216617209373297217029973754173428632156034157090001865170429746986489639512602376162979754948926251494712395925762019369382452351126802230260499270920660541820784981360187269445178197982059947459456466053729046583067686803519106598115475801078926394860576561402062520213593244899903767325723171238795711701680365690170652946169218131434108659877133452076979851738966453442022008315938615014309572889905837207219391310008136181836005091159772484849499932276760227527717018853935315720503532107910616614123199784174506330714717657710106133229894452313909546162171152361570074378125157003694738093258012047055540939802679262883751955689883890412737104114000647038478385638744342420876679058977710533905886264087765373919974464205416287766726483256648492378792480976096990447416498160539548915636847105427227303973024681123002031164480251026625231863796058324798228786653692277692770642687065170169445663733227074678238315365505812832235325972661182957404229250011341597868320041036272117229023125304837195077567354025435886361073164029323360744284586812915944096644500217285618586679688219262131535737540490636691660380894046002081355035791910831506171618613716188434352417169734571055719400320913553703411796663363267053001713969491757327642134579267031385149849255194606709713640520403261502892748546483892740851400988067212955223562965088548606327942028556762871078761655529703530682429804341869374114376221101275081484751357293975417089357474874130061425529281298771908014157486296850568816837633147168028659034697650528908398173817790362588076141926592249926153269791580125687212813818603471955111073935343981695964518268673088381365369264252412344611006498201469200001394366384903150622026054281099231600309499654514001665373369810340139264087276098147908006761333385321120510063168276978739994114029543994209838694062046614786739530200937337798586036343810971826362596713885942381688450677813753925937783404431538038642018500568669249981090137578959203171114927226351622888445220077238113622415653520463099163993361300180169298867037425758191872092880607898986036438217228658730128728962792620642666811326043243891676567519705141487315048748526219887556942513881628053925323543890862105085845744407953192601420559857329662314245329881171838672324448864907223870479387024389949662420550203914817048254848395037745364621298473927989780434702262405650146835470237071579115735125330633495891422778983659398759844383211761277429203579514346231382011898968603082385799391548218789885134614851204684040345589206131823327446892270836851143744658528984204603026156378672405653514550094346124389213977330753598690217655838170489321589000821989923140590463918289728160681356661254774244070683756254620515507663584471219035500519412486056972592348572211354238062129192612630531441342280499879476225770030525372445397657315013200027726125952605594754910016677729429965486000309456830589351322161552621207117797765881151714305813608945563856894480152489632804728000816142776828526188169312710463097972798200103267361965073402692128603016540433437343920326304294901118943640082851534853806330442704175682714016783357103159616996224130570162844203596915300873357936698134000193431995940828080326404952779878719799084862762817326757357708879926391772160769894523178979056417242256644842898007013550076073721068987380590759120119585524408000329583626901410497482470546520486545623650793931854377711645869104514494251607780510822523333259808569761831335166119077656267460153387718382352429273815048938080655101205572287395708178758184058237647762971826740009677935033731899907029911057270579325539560166511801962006606834586701260226063947366283446505900335408566304315779399702614698451150397828961457288210619221493778022693191228620472555979839555911971247467865215869259753254024963903818570298641934149079487742865387526854229729355653520197283943311228538202248314449298265534431033788921089634377968044700159431750478863594628204873148438777783036507684671318518762092577712565729220934025363144251950563759354321202507559955424157556634994679804876896943423662798224591758391510348544788355511400944916813480655519332734626655916744702632021325656373668458337048951966675943203984304714514924859450951860686282662870769214689738518758276293869539234159931862314377207820956132023503967903559824371364938008149286885036892954398129062650152649073262028233042295602483191984937243319601473253308790567031223738451389302301917104826063153522179010436052544329015908476757500548560606883401178005678860576499578239859250143036518779194887442211072834763184661195944453144037976396263241852429240582538222641762036994380312625907711663870599692285680292848311037248925252245101645248631359161883527269184516166300278512388505518199077724518996840466594757238220693520793540979306925070505864263890567328845603269712944963768976519310538281651408910725425390113257723179834434565106233681881192428929358793907359292787541053671327121879805204549645045281992198424747254999967224022097563632097222328562902731401412052017591612006666424283341463493817490658250299348183524771000926038979511713579625137382641055582795629273908217248000710092749695204043477541423141890933339538917813476083236226056410876318524516062924425681031339060600803967533296817071963742240688989522494943065107111483534005734206269851646929918576853608955618239823934706040009925218034181979125469746350371786321138694720821908853204388540720910883011741276431188983454956288776329371247090261154878072741714898988680512482560664575390848971359349224691044024598296972367694458079927060906731519922234833872317508104229191722912707291678388490929978516309868825972669969467510125969614966587020248812996254087205831521636063677759342626659071077524189784318325978626925272380859268944295849047063023428107097602383215058714749585797699176683887331198541955706709658475218573491611297204202431826226080432136374600591687352208342721357519159330063805399743762528761550591751095477235988929220199897354586511512225275850568847448232094361130816182415796995850682400564549479664860935826977337865069703536400000136499918227849621516745335852458955160439062157772321135782357771482795300771661495226587596277238155340449789883901339501866320996507318265520654069106151569735498135783298027538923152440792449024
7535427625085615111964163517042198456574276725499024344532315667499358511051128043198126307968078254260940317999063207371411053502274050707887881478304871825045168440121134871499307393131888887364146367972003353933100121415214356737879267604044141091981082007176482309020209459477946997493479675645106306290167262460951909125108479884065543871335137510945949278347595179339702731498607816180480372901368552793600005008847045940419721150855765690710089099931568270668888724552934417447411593647789457299096757498546895468444831126815193377885598724987775455180383307314422770724999516265882380066895479749336763990510312213348696975940761841168161434657022727853880555018256667181852936894159166583771781433562819457139958019390358010403031815775324866023106839988451003844958688275979980320755300672701051849330484020120161538142888676875411229346395505953780641099212333654737440759682923919566822590380076813130332590551344630597967906030569298253868749306449025855299229679234609350842402584550061492461617024610976045805888571195821847245438153086964907119792722680931420221329947982204472678041673313833116302996445865630992194125271016395421742296854851378129819586712573013097942876656430229750532301833049310747911690096224742969707705014741952522791620666793381027323971587829268670639715921225754532763904499823337572436788340089165032728359865947831202395654862556045652597698483450562890058107221665041100674963778182142609882691473138178825913026502071222415908798652727586387669723555214192142866001941331308708267510394719185550567308868556687466059382582568279850667152437471081677159635335216828762127283059526836190334567424668184073383267574942237283142036539971677209575343997537140185759697109813810649935104973647555285086363978320459204231923227302738687854698258289317989505450195012240990099310497663514761123565233981717039741181155193835089532816937764964118441826794762199036660942089490501747346558231117638107959901334139074170857543597557915284733884000051185880944297900873061230529776472723596463191249336736863427842347957727407689832442598834539526073650052425599319129815073003251831097214069421039106886346466511594293899009865523682984321339686074515701830408249961945191310576622597114217489531399125656026667354562767733305891460653890466358718404626711347261807518333647355686183233461130472616932310331382601841690091153313455392044000212149464876777970397037795625831035067598019456932531301256656018092643856191497316720132369416568985640250949778289740573383012953952800661063309019138645985951532279403082335063156651647497188251592412950510379074627402337191835870006038824362544546695964058575370019862553500875839168656717642501069744943544872625028842579689005501945418020352198316736681430027135496320940959382597413164630599675714164984250251425536677161368007640749018983168504802681848466910187188319226364370015213086960824599533232267916209272260220582822948380849087800620970749215981847501052804468864741914263415618309621195018740741726269083634557134166911745956000352808939451198273232452410354094466016468838879420198633836286644516685050559030702003041762799285596046139700532676645552027168764250726476648786161354185055760518155125582592295909089973793651328468789963316667099071220812312197979195933268143955130938764112024141465339040092569360500847095854294073737155811249271753193160887178497487789605807250495248605699709733499496694051398736019081739868503895181838859101842794079724709655975739575332647184076865398021015437451226487581534346639692158853178282227944136946719586900023401624041443838267696945848515065426819297166085423985667483375786832119909631530605619814134482888904429965363615672791733159727121191480306541537117348125956211752722619990897298232555185713183952251852903805768820964044618310563884148203063194715174341363979056189218737700542199747205999735031992269990691700978273612712988766700083620312237536015096120497090009924189551309611713365755488652501136911130290135786057715075154976313022721761776084492513730062721338562687869543285302340093276009088296019928998386820587506449952073813575799377084771464513888797405910262340800326493628524642489723984483419491748497726617116310667627761356794540772103390302834986846043997740933483065849146444179017172659996026090948461987014472766511411535054693809808689429483038210436812864007431214569802875439075326448345557156244549700502622901961368005781913629041906517142164238791748148195921917385179294356279824886331549357481491248696167520700844094994818678100441876893684787747870832736253202096515120122094307678397692850660244692466609530136195566302113652348674497180751856292572582971693674411938595472506161355418521561871500992640090780511614029413729083668176301394628632375977630492613568665086723799648454992942385315535634666369090079929845567921380960748381600040511745142911042797190132838465705804289975561838618539763981036295297406275100069485869201941481808914762457668596962209535972171421556120914269202505787945814107353347309933600078520528054061044375443932680347892349097828969473648897490358044322657927061703654280284136448404658477549534252908951697563138306569552955826681005142492637070664588974363716630782956005968352264249487592958756361995794004796456542808284266903833695750630719929781573058928932027901394441188686941231690918866121771604903032204091953787965638905096244687855383242626600609197504260639701149283073099382743583934772882278260988263876221090120304074081715620252614111810303065544922597711826514487191201428396518369126466477691571313069583630587350966627107623851705075128323293636528081568826279456171832355687415911395972747447436476258403765846093432420164952996079592768678399184258969834434605992920144852879631762588383372302400633227166068631397084142800846176685400432768763844601478202477537464784989862004926468943136125932917459757477920654123554779351422112618650447846928980084128642315957666008975855454411614545661049637729598249899560762959046419614327642639572819080386589856797916341647546378254009328446301916710255279793455100611725521231304704335430126495636933765990692945696642474574660717270315854592738432152426877988033598689941205595165904209362313386540165671173822100205099783461711873399104051242135827873048700500572511810869192421395163458922497306597649898370356972512777194910959265543768663409835061236108256965864558092825245576697606536220456779776
8091103802779416526482365157423145255732048682718069709918533051764538726485962382361106935300030078504877829003454158574269150041293327354956025046010889501510208043282902137873671935038119446483709073349234062186244498342993724754717174688950465832617118767879257204391091357881904896863972295034104821989906869659909231680276223388583845611959411866293923543544430553877819526537097410006285708795315641972840364904608563245078066714091249013659670925363040390128538279154501385942361148642124265448302265948975420889825287417478521048483604038300448394947815021414940847345394782994446215742489594443407919757428061326770507038969917735285499949575088398215281312623435267120003712160491358473978961396203076582492148347023630378103162357000629295836206364516075519803116955154098159457091901601974454419418687090566674949140190860537150674148481038388215285269757616101734365882393888391048909378079108530590670465505245949310868270114724078065509045936905311984892154941576304368300977287677097246227898913995242309843922344376555611440366138174788929994796824553349473167361302052237350034278631052007294730783540449279880469449830585638754046823082877582002026191827684310816961075028882416221075618741136910404405502314843091030225127929382970991143676346678821175405835091639975142998743820098781987786182579002118162796009236989272384878768818991219764104423621795397761247523107822241211397703514178193548473703238319225210163561568396635136574031541694294134767600083028461183014060079751451382167409512072620400722240491164738260860586459295433847204539546520695411397795875096245187286365984010569150542211032500645667959049596814198561722299576998534555041734765503837595348660129342980410801316000379009347651945096035797944949472455609706322469573765112009238892470354825195417767594950333599343036799594903570077859741223718515636903576341492255562590170166613847055830279140500037239875362828727902576871080595202466300612773377378522969887866506601357903467639960819376421168177270482811958132726676134520714226920923666629945050335080572901627672313170447898744926416565629158637215605729269204779053662556218609154603476615648114174279114924801394082782958676649237889600022692978786960305847493239185037023542145402453907270397929480948448213446908532582044220938086255081130390610272483952267259156694772066769686952179752799343362077717685053236395959876049753377415513177133366872219037109290660710474225604348415325007372415129452022146180627858788598463192862632673221643751082179792908191718523205685580649845876645281143257672892978337716235948136208386042236158521859105918224884968911018285854218850577621693160646602134425328009146484107631312078549886896648558246137484124138120404908693615438543022574046384264837314792435123780060269072072382015136012825796238114351914146426859423788369197975646184368064551748035767317610747548745807741986422046882363968007223162401851242655663510746203774909464913814918886670280190714179192310451502473860458688482398204277074576577926672592538549820442569714169835192886263827086801877808829265097550760143537682539070185004620785845640746515936280261795509230208769992997235139086482401040361961060278400971805840471069658001714457774006641307377050101662284531220557521340918861115630955440719171476868347409950541989027173687404553990693114247692556966924177342992770945302395324498106118629067718139193141217463125518303483352718828564423326171500892563652468246091683476420011163877803111366661994179157208673571106141037839812910038079551329445509396956619521375276480054557632902482822158495117918914613794042872290657510594090183953457407030555613554474840390043879300638429031992689785515738382735046682450409117605989196145078807204551498622955084928400895781288332877738433444312102755544262706882168663433816243397080738457774157519690410216553557747345537309059236768078333705770030074093285514146848058247426585381442114999957869213948177390544924069841111477523747872909030763632048129284754069201349021812217933946442569806862590044472022011386081207487043222512133907545490503078357795189927183304449171514785409066314930294230659788553466129452189064216428055864132355774542827184898237715817036409290232281285001880662620349951147087289318601797569797974611815892081499267064887646591463931584302712289138464266871105491279062636825136119281346003141886715514794397541894042000323242275785476340031536172460063514486257916076153714697067823212792511508934739726089144805027850230475848204459615060535486882096899365877972837316101808558077451680058623424144952769123476644626619944118859690740375416375984221595781944448128167638585143355866972762892417706332337074878646907545005395625227234329455181650192124101126687116939716232613042291530007674748336911745599463930818742622903863935614047903664778239644178172138219481392839664275537555123172443762796995308776464311745705384684023064526393527413122839636294994392283939118071018766956501823802089723726224952955422342188851961125590119495652794514953073597067197175014210676395034109085929954885475947632122676087126886068924083567131292642294377695908374899883781099959068935101669340480460262973653931890327853424034825412657543586334556025729960213446489774799128904612900968135038411997011701231055825225067943278367836818177883610962010862159425401444443096613827545602849159989141952434724013934367283404666688149851156920689039239401067044118846103202056560369938420131643197229086497046943533043675939132455139333217183334755590996744005914828037039105258477883028915357402431403091121409766427404418234353667878835712878342887370973255330932310842403671331018022734548934164098501786141831154868053265401248651010884766788617954409506338358386791847559407420675187461209985723387250735500092300883185488795772457042497608134851521860727643758224472396466570782250678043748882336139504494881440940162885898830144713516197083148289578395873991961850979968607260535407580275849043026723770318043634362190418478139897357539541435093340196299617978093492080043613311053911638947306103165583631054822992937676954251839132905451847975929303662035810536245841325669822742977246766525741294247081997496646430621480548512443568369968252523254537028363962925734615596183541106011063946520389476157352116314441876064229695955819437161591332621247835989601723196987248569296919374666516483718358190810574495988116343544140498771219938635675328829848551424
8687756555369706970800919067965575126706676407838497448087076570405942230695674358831800387368104283748690713011328970527920996632267972633139577772693416417214021539014054289533975985105439883997288166703356370934787595360771059638683971754640305828763983799447306242408031243962753340553253491955385853770637911818761198098818376925089479164319695111281681585761940287962100211566759376685825068427015060067648571873499984704789482375982024218365135974639078850682288286313175495952278818609729632017120252743385959357408707152967636671421177434178489319609139285908677646280749752292540861561238291438685084536386444117790424257428398550215401876608663441660914501289401608863360012781976971984088026547184678124096805831811737853286299209373994869259003827075899805955146920312487558810500708161732572689711482096310314753504895766301289784623019676988376300510229874750968027586044983207457281228829367609930386303014531867181663239376708520838778074472792498605947162890258754487598659133852979120190121299600870605093786333365238965065414004431633896507621452905321448628161581732584275506732799830005351505537107671187558341769037369514743975323198414278067565174908831645592786714838513058274744922109036930011350941691175842836591967993529014466569698886548573791050085311540714061358132019101594031743881404374758455984115898045709598972559250577958149494333546135276546967431977275201946094139760724903401763186531147591571427805936786503767007489738612363434657864729253531354562714687677908873735755362847805449531109422349881944699033914513580893968739593761264344782699732505518482948084222003063354981324263030166560692048271389742152761878529280834938457540683236302858629444243236807707890074343847342188260849644565332854705498142324125098792812319053916364473252858655932529030219410064388367077534896154220439512940557723511042541367773037141369649715479170336041384233758749662258011697616380097712583854291143701814918491603925055592113294858266650076146159656505485773007710873163555872574445575326137541059796822481572005131366561225534358669438417935949695344601268962468502709238777010366126490596626994671936407034978027353055650710744461871720190181045581978899789038996800434704066216285256470209927165674145304072468443934006696960034676024894935807591438719726600142213595706450055918175782390146370237533455942488546636047599621016906119584901143540476106216293524711216436637643833253441377429730905400569802582968870468383010379728381990560884144272301186987987003717565181704733184040388801459162537464616907983175754298994101917131919181366141792873086793890014140259643982828708700067950462346714398970396281007595220144888339234528915057350735386831401122418177903158223107831498279236098135744961129739701131317448491471209267688143377786924956938019657846965242544873475779120290112532619787441582005919143678313216850951394993852517233822191853283000439953443572411974265758741958872442346974291423633803785395938568510628614270970529823441233647738039754790657238810663567763151274516877292139877485789088746241403254605077458410423691129108653062234171710878971022211677612743066636075507595853200593077318485199613307036977749689080304207270175721259353813817077017432870825496778431898246824559746379261517143770300257005780527053341393155825970705086625460678571627873303516557793908889073849964531493623198187295668348362335551094295129339128437046764127600701950341907203751534305198924237356660565087201883777202515225911714782421405644023908860101575571373733843035446901580446168497340693755496356198080332265834319593130165009350461515471154027569653584597717738680887331299208231420938482514586400303351153306385084965837711784739133539451075484485352793110687071559467233345281161096087239434439614062034521398279638013522751622837133751067956466009428386917370875255696981230452089324128388489316611404295008114191416291779534112814437913450065093561392310472522412938162232799267124692698428063684044373462878214388223193999649655678721941266669881164763215667965151715630031473839603939260246107016524020142335750033513931850840228501600737574528099451130212560085318084853043360213606604600591468327371866774548027629419019366978324385704555090638983186112303176062984398320171211252273644571196887915776179672915588006185864729540404061486750010469003583102396808674871225765434026588679172718224435401614425072159686750795808398054305867339247165200324997742048212523205211948213371441144579730456218729550728277269957639003592009437244101510797669862257915762246420490848892900218010742370527226712492693622786697752962477135646610024308767891475095737999812106032184606230084435786424103767179960963022909159333455588473111003384623671328621282778129480020152205648336316296570191418278016584246992374499526517303339038874046356104395271591048981532677766063081721658763333018455724432403069084565083998364738323917244588962639482266360519367134883880840728314542527052370105196948582434965452857620669376392210057204968227983640191653182908518521173345267405797592677668832141402494968655118643883213552805567086735206899980609214944652149575801877028506286777003717804063092366439124850836772692397293527798878108463537750367661297478411033463257190165903650178299456682022807734826629176927222989663939643220848084677104894055937842874009338888565222339412437046436643609100202181803658488943168851739846060366560530872329722074395498458287627468451682783793999828886709951081192955762795320874548995358905822762222002870871041886972054245136708439566033587126220598898596789939940728055175183620613766809311269342332181983135387834252983064457494599263799507868040386615040623519187706928049992521092818413966853345425264806812178688495399575906768072234911096141539317643786063081210659318668397669904281513773027274352711051913574176178159992419666866758949867931676717567812674790197058838771962113759050874838909603124114386976734203279209647679822666931751828816574608168861885453232071647416572041237515857287372640700712627269858301298228555583356161706445538109895099345942033348684434040371181134305920478286789845038609124210758507027777439293493801072133587451600236982530669612572298597977740271643798638418286411929005111061287746662690184962865947297166117441449319599772381728977547187934890566985872540460231329352571527799299076199583538264606935364800953816226086286297810160725041296043662879455615838099049561369249763557376
9328407570230626157173293580913736605759057839130276147328362907535340831225802174962087857136534853054532723800644901478692133851829270191889373084241686336610928485676237814479235484219311853365596607169677936649539417695248255622853308791391962444494871630325000796609785620141555759947743573586545333251482029079827806267050576284265088721106625147911475763683238194575510724038478110891740883917747961472506540954446970840892760342402792475439555399416982266811423869039743292255904475650576239228911499408024243936413893131909317212541063730402451063601636183921641033345519055114141006287295490748017306831693774875910360991905014208707241203882809218051107926122532435369478746893183268224191576601334498353820602646423372627197475307282991149084804297707457244087525516404313041374494300734870419600063392819835581033442457173038224626893688300357389995708226356374395955705922257215224551548724206562253173502023440145573764826002095630281771579615624055826667163929411546875482369638337557948346856071014689275501385828653863744545209912433566663336320688744089951556324514536270120216317800770096836055316560090545321139997501571866923190956542054860839910626145487924847720368433672876639742905800095240113748300835600794192099593657121464190256935505573434687000713477769334566505128591422948416952189119973034724087808319394998260175104295663649837633710379491679990285232079875401887567471302391681340833008722006647787111918630883169253369493053598922343280440490333952915089359991138868198590815657321984457776673375897548605485807806407672421861545050386238998113140894424787505946388849839190180365206600121466809901286613218068753996226089696441115062327479772354054441193601839389572207147617458248378775356085145332186578608558167717682781974497550622111532959323666435182141840740482740322710213868820283240020706466053620034502509828075718193993543739685390627768846640962238312301438811948418395208015459522865432862691586127174750777129235765054331130916360171413759915349439015269132943996767839416318212421133240767331177090891062912937652393019930220941051556475088475517641566986078639791565827941117506683279301743738889991866367661654888039291022622773421165388995947631628923136959290909786631008857778106968435806895172142086422082888138219757782406144457703464418019085651442251606484059336222843205828486244711291164098813767892401511679853876724836632117100747742810609934084116579901998878471694193979270464756906311941307895740485503113594524123619829193846231459993219042531638464854761347935044489726094239095295733577768357743123750420667900522178414581775838348181963713122359175630053381804439157537024771911849532053949646013841034420843221997694221660941632493605840401941646999829338917794162255807337955660666258344682573171333638453886613750682364456372394734847732292441420839940430066016556481200129670102704848086996043670641635674772222029280588412976522709327556852334865029228975016554320117184589139640744551331673904326942868188173732416280493433041759365489900353649487676542446452914727710229687117474919192269854892474725781744633226505047968386988632711234006706013173259727697270441048721723327149796392556524398568518721989152539745534141109304679046850517725296579590283327804990074245657190959192434985055561661936132781837694011450279300153849777427330158774379833146643969331618381268417190340344559669641587532033648170911682564861687667746455840476864594912087662865593457149653705602869743169438316058216693444923232858126599055226579280675162311410452758136751696145935662452067529480481265642995201726521246560941602863801144947586126974091750968371317047704136161732598007004108067314420663701551977613562339732092610829773749472986409358163770109480871600395815708150551733459919620824996157155808982699655993004104048803669523765557637366035540881528543017679390735500543066699422842746923446626691614278673164163596338722627026479340035426340517549103515053797708330773449631032893965258968050207073816444289676649442855204494988607716099719426280371577319303897944617178881865636821699527444327861393310314932882883885562883019137443909953295773719036050293549546846985242285874680670497356788195962414773915390631394370088508131187131761555881106862006735843172362305627269004644293809073537748106863794533677713980138677791108073007002782903128118335252918492927860992872665277343309499645321692073671068124760881348433050745277949026288468342729210606006603581218992404089687493488650810761680964222055706450426764971695089445045732850643228992821875315065571060736852164523988251933428437204156808202631603187486466917980774985103348294544362388279301798212625755325891616537082620685015034529011227790111583728675994405970319575408535185009786050467738825720202277490984466271615258709212689825654820891025440664086913335148315504239740136818666874940846779556075215289836102058923539117367145205605030006874785543097597906854735872242122273945338722781220277243450137934166728327629836308314166214406926977201661545398191598302062450367606068855336529175891459340865794569919619568163170969921065427261802564903085878858131042333703212040359407053209715979408620822302301204237008060885202162085335308861572629312168675663692562812349852247950705183835964157586794053136205455128176491699537862657268101059982949457438164189731242154577686257242526054409273194089458639875790921955207127882337204813025263626909574486211990945034607812328140367016524503832232870896416695159174503513454039072776928971655502308984497775362200032449255826672286171024087751708270656807793851774300332749973340542527391037496471728572098207713071699821483661140748532036029698904931589907435301835732784561317113556186657425889349516370398978156242959603826477196848855789094554229638598193465069602565240373138008131427565228384226639826288834859224519274986119799517517666099596025119545007276978328520086538782858326503429602680257040428992205348378130158387843692188844581207319060890632471305995754951385773493832667191393679814504569792657501497240958229112317784646780276420373005886085252206915841668184028028354610123316433511453102399759522566333045305295885873761944750176454737325744753228465261550673067828303967326899065306456269680890446871948925054518347016972580005630618547142496625172619280190635804963825282587040974891349686096000055816416612845421651481547574358685430796889182639003689246563827765077043762168691018178633665634893824
10016301359474840630665362933657807129723299668709241284056049115270940208582068983206959346570034350158345938321392668890031188936515306312428125461690173943908496330543561464376707918951167125457596239830581465190632903115993738125300767866104441254091422222991020068153244228019765219883996329387095407984134164607395350307101516879717938862922854984802737777029033137269975790560636132972972123233214962123770899136358591381975006278446438935271943416319039075741752929179871091118619946454813317760711786908946871920505993630397382866388437444782572059102360845508422316217662452465014292284116128262751227421030534844705364671946539191203229852265083452034210349815665224652786223618320935589324704385352625096556331254349859200958689144636999400594173697303444159668552863630509006512436977548664304745017417921998760158948308964019946932602548329713203785871103139698317940377900172064472370549509154427106492065851116312663199770818532789881179049847841392601603428438473361588741940455310789799163651022356785993470096534186551121715443741839298147916334901781015413804159522974089193037768349962552381402664568129027738275526676693219257192325577770718986311807714438293795966190643923937582484538564854442493454068016118720891673624083056431549197164958404781926765015178921428748705466079109027388676156066472801135457380041029560008357243045816122667158124026763128665593167373708727715489739559297699485332800464575326935059115202864076885013677617326636641308294315614632972178166519878072176850496633540666546992776255288471476782987680165613073844112857859892166333936462348662767447286409839594170948225920951262394018868748023551653673315090667044289195617381816090547189482518776155914308282388606873858071293729113448287102823472629015282627370691321488518372131180311404480050752303403448234625213662937187654336463158629008057649667835375948063728613499273572518813026442643066880573228547765887761585807378928279699588536005237645712866180163094095472967610115361894763230205392245631842658185579349999416612769487062088545337701640383677436428078759184743785967694727600510263691800313850261297234871909565676224436507755768576319601938777279934341824126297801997180844986178338593720020234470835220916630265910821163555373722533912637862012914188720046834118968658822008735322911494191831470613124098600144934292286251555212127934543611373099834891483605647997231471432738473129347197175999105932614017016151256213511687017408299980972920917990734758748663528907556881168902143379302042359455062961711344816473303919645688682074950791211042292586219234408718804934403326464185827106048801229814676424149867396066912310828326125813283761154359315056001545082984805841117360479778031222003410233717191160882058306489837102525649095514913290274686818001245466032752537841163256018063545843400433949752625829249430429057770322848941012596570918574042611698405139773396466252720410342676763090792708089736635278132947925465877705674487488443759264933167005213127632161238673544944314414280569270208259305845954476208467774989848045367704466822007760440692461135934790308382838535350783339512354626467651342816423928043410483192938936073717171099772262530819464281526781556240602324528978189451499856357704280310231993074119958622427376299239594707854971520231774584676599639808499781056638140636815512132612206511693155108731981575077707548996748288157795622901467816408973780103586824084385463689081619941926126773199385522335010822384377665164238539838082606800715589061587692475663970112756731749915557187586607654830728387931301675545726569338200725082872457099163816461464949309512374256877428132784276084134174643118784299355771691300824946195012073593593801644791289283419266443465911445435808070670765318802280437425084891615924558019758577468989279513070100757920848237132341241205922537557314959025687865533255545054665428391942918346751969310501001086967588871367139755373483622867954903484958278417818676209470104679137597386570255756986587067017371532791789942979931042342066508305386902662519712828586397789363100634348689403853213378010656346472198954048105321664497279667265930570943558884569032163951625865855382953117009058557374864936314352674788459158225902602165762219702142981344857609150028844534070248433069285185428505746528171785116477662152338037184403664372673291664332887480801086982312203919692562905546614636071016345695066713949915064309008302914083449119304374466003948488319734173675885343013047409406108848492044846326147829868835273689800199127193712566552954466380272002243307899080950357202427154335237385570976737060791621511819206575932963828335729438442026291352919708013734259304718353000578766835656773028172642603496643833901076357283338480367430762066114720585131678985939884428107082123804370150647312661919177344849377922961889060453619012075600049858307793684927547364713185066111946501304885798716368417148570739199943156464768654445386524786198499487340057095676496937813433167843158483774794621730034510679196096468850735318483586513053062331838419622810886198636971150912378683076000714787848505615526866893927891427211566917814793772662626411703570874271344871865490252158963063252774434841563597580024126251578188628358506123859202797662969367100078845090446178283471365867684926822165828078379991382644606676537689162425559329464784293506020841934791551323136028936241935921339152790877982825747790182007678999325524838741991889126007992943535533867124208352458885516712789074977324264001736830548454170768459143823348885226229041350923494923138773728403525379930455297650926478587820122875610763310625506510422562713947401437645056964475609100340699465249513688962620352047942429572155090268471467677352234988028937574971881070058413220472432170959004838897467295345966999063285054288715345356277251645454765865612204256085076470416692578518551846753848216453738750003201675010074163675983673628940790553039433380043837494483379067833052550088917976772185477744533078062890590674774253727544057757991758918740820872006866098118425503367464930237456434869998954273049730835502100487914924153841247291121022832602792618652247762379061176566921743605057583041357788984297841690831509586053489962178658056768277638820704021006646049473983395206368461533222877829367469097013231750629057014314226692540769460356941566012942324815142576013770546539036420983020544874110889194834670524706077564492672954834334630156895668469718832489551543269966617012628094976
10754921691456195060879937130007724819309300401578456461998444295264605593757851203722465898279956826881677056636203662514210144225582565203825289302136049493409582539055150598215957384009870356217676221211229993414382681106182399947238787037151570526668971160468512623599468768911414615250003287125404625430908380966260927327866142887595128280195272282669583940900859341768706185792419424018705630301585010814868678996793698628552523963830531228663514459863196383114223943134937609462577181669173585391878269613911936175018488603635267723782269114470738206152004736962395585177857662726097742383215977788664454189296142443849495005441038621650040776262361237299429531410750442092052446430007801197068023014989326554364571239793825752580565430811531554280894749515424013484659187235046002701091958958149859340606857231337238458807687188742328191795865310594408829924943714111798715033289780042420408751433841779258999833028505741995138419595073370810825936254208139354745770576179859047707309009784797925834572323244840171406233542073545757699986572331913108223507236833208338990193024985168434871061488978261325702840731843034511042558628393235533649612784677385658153871448038244715928621384338623257079098890425151377424479051847376770772543535631340306566109638066434676366901817602781257321044786552655363183092760123170737575278319516274601290961391625919121242108988914866589340693577783298941949306007685268004385102417861158928646703905749403938590824469776276831023601684776887688637125772029613476775102830603814876343805291177333009652938843870554003987624431660333351122712330182360483879737133551577392533715909926288298056426819919404747573401645579557511769685700357313496688393033326823899137762830249821555303388050738035866723461351050692944892188518423676052111949644314840334411466390828619915336056874831897069397515461655112451131451494550702199677229699701028431346573327483798013300688586447015450104421947563110209818366699753543261198712556233271556774384378189531303166848869764460190768281192501765107992731010729591355920410455313361870417929331702683545717618141888955033867154642837352028169577520583412237019889209869097659292592696652886458790476858208283643803353320384070910529471877622284910465533652690137493749305835233257634609206792551743313032326840722377350809556216764102529156738267969275468411359588875016306955358209883299361250480448794577249267086392501452880247425044929026454195718889287306587372263389107774309029401091125954958989935091476852970048239509601298809966542950542781544732990597986711199227313767265187720182668718017901291113366428109322360671797481265514653845636476267211016850676861845197608789131462116499621761164222336788127208839622378359442890638571763137242178734884748727928765466602133215501383684989413340969737753722199656798614528661800400311598908806687795979857592907828890799333849034255047992938769272671261668349350458363374212643523639990173370443165218819986747577451859346106780994546237978274161172501609475431489054137619110095951765206924009022305044792962821021715953744898410096037744167043147733690780511539245038582796806927158214629831756325654576323404307597140412473756789555154448947792349415933047342922798384981997871015301259390392915786106560931566049698335079892234632944247601718545307494547365721565615355284435342809548765160504530085694764796223558330645398337876995429071953438225468268636616600225434735177700600267481318533434710342526431187259486741703298310749336839482888875161104223617254770506879952898817433042220575554261270308710505935447794724641966462119428606023245017905162134600383663357285150214227724702801097806142036912502252828320744912710432134123602407643293172399054490256107749080637244721032715948456886702092240328514878525142374529403011197852420809721827673714033765664613722871225079499868646727351592344541605110636791306176049524524003049367260946561503623854014597638106452366009217683058432248459494421836271648138564833579520653278740874042749305532345600127152798591724557137281890564372888522558103940303473421118812502821960766363636898234870210504791828144025112968233384302298317768558049636085804969138212298363791959918496128471816878406638950702985264095811876133267741498025382269031061182625018696656956193378181981871640839936302777414707209910961414935798035947744790346822124117570561574190642013436361716359989284560435481238268045796231874802112477945573072650306105641050474066837877913021695181174190071722387882784037669737004867527225276006396184932542290721320099937304861515352787560195985669923047297855971843113222794566018392427075055082763229011603237028333239435008214440637137256157117318157788811709224096655978595128091294763432687544719113296654580028674329636274545561860184895226931498224727200278307392822838048056266430242257115145427132823429350351944669786015233528569736602024501526457625410282885099224501575265518798086762215035508953986865599577814175824335938210301342011136289422382361797291079627495476143747724609787096587394956973877959074352953980887717416036751344742938121608227455290060779691348665528111096232514759642609819933167137853388513649897786007384937485661394727349648277577091285375847136429720491347750331148539665486164249671229124443923733438539355983338859871350146912305101916628156366007852338639734431075706173801078769377493693110117195981469822440292015840759106393998217230742283810108132236423365588181770973143299721110925238619722372625493424913868682443601076101701332802758360965811177823501912017523225766708259281949476820064450168712408782922920362426111183309941424997499228273059717225729619943718910821665252837443499692644627479839775797346235753203395837232286522809596532444328875592397895783460961801684942592682685125316618017985623904237539639066031497601610035387074589353108524701529305773077772045462954184257047917772365172250880725254716559583636422529941414755271286173377978481572620326150565756067339726353267582529543569497985651955617427421798377036786365922944717441167993899936449199225497849880039237012030021069333725060617767157472803346061024569213845400934076811727134552611043754864839858979780607071896376669179602559273555403315746665977245755944479810445284589171314598928302756569439034187034490620412055156825949751877998212994727158128152153099453811652389084635758301853868740352882601676542323670507636940787983840293159288083611030561240375187964481535012708879770248721733175476224
11548009233961340100769014738979819581575238633354784320610796262759812172882158165805556123396919305937184154971508625023488426180080091024554297912603248879207881134563628639923093227413026630288697406804773582412267247844962627796045678956818683101770181738044857439030719041361976823398796745524027679248220350955599890568954438291971020013090854736970282650023996912798169966052835317718874393599093559603416821706487756117128285560727104628354123098383883274875269617046180186910547282786237810151295128001205578123935935186990545396462301817830675236100141587522642855038420251187897002308836430976744057565179281263822774348621150734064960672778323657484786299216444472900726769733418864791569202484188618835015049883994163847514029032630919691327122936696714496372418551720115811664179406803456969633726644150483636381883114907261619738665514254255967061245314846687737292200700789143307287067590135887388963849131723199404333325788491422588244599740101175226410906754752892805948148994297962772357030408620832284234201848436029764020245626951176314233418060154489105679340176759652328205678767991674212208826289390634757581785043277890911162548608313215328137578401278106103039559779025158369704932554881478175471872559380392903464540785068204332337013739361433402579046850861725654708911982698738841707596466215847812427504680105059488075029639357992722918979251364244632355335279634125282665917948226137684957299868581050966798997703347289071935295855841412356472221860061808419840371500576485356567480551120103206683731944449600653240156161178019876132175130677929680882533585237297998586551546420202307536316102622072502704963388542781186653723856809195619800483791808379245674013095233236681586973488631845772465976758979263177713070294670675359112469983124095528979803863282767890939737889003019219295663281749740852675142832865762502202995591526397040362240829023954522549928420802202609249057623267600048751303012442046311803395768894229891742414046581615570858247038714333159167469281753229935610922208981740390275671974202154993280614721116839666314599082925540456073622692607337383518500399890246902056901548260630599521656164482763721922959031793149001126587455562351851606778891545648680017255939634856982810938793372890739349168246257201518047215228627698479315133592921402934274540768818826827379769329739930617410467627278550117459990210853468683287125797965027976936944006250089938286923739045374815472363653174606635172309458429003319157568797213173091407698102763962961839414059028164096982505206690148045875138917657102010819563275083634154371340322472282996972021059298468662951721692892639532718942324468087868626140509272258486101680447508757204365142564455444426010763485056010886337018092569705878379324529162528907912374177585601103440792444374101422780144483337448783118364678221840954506380698502617453952159069101657086773545046981653713145613239153193856154714630378325481878420934990168096855871910389131697999640740726480142323852611619130170189431856801085490244025761890291684063389302322877002275480397601808042831783946849551219582594766270134274604918443802015310842618491342696513219034850231882775439355128810603673683967349335686614917438035109284915868279029074824601188086306167337617472852452593026869379564958446673738213526910176896373095836158524268939967265517643798390175720387786894476773059548071833717585108518613359651381912003285622020002701514737103742661206657100278848015190868095994991218486855340316395000111744816752317604792342920895015156758685174610317997751789805962307353831861731090541364414642815982942177269176491924401449421549465793053320879138867873755508667569349117505497355990275499612420183522089490633701152298507224242983361638377758229096039586169987512865866746585924878724803086892330874674483203046272178987383469942310911051179733976733968497438129453332539515382870098600813881576735766009164814644915429259619543790566514069647852995820214941041318730620303748831788809149930955297186806518015893297034055678903677886582957286177275576758134738360203670843038664727633857494057300531729330384411920230679138291660059500316968118442763112943130066133308448070727781344370194599420924322266987614330720637269479715358754640196971836450266355846670346887384683382542845365985843018790569346097788037533723995746587266784626014149059873494380153554605233375771279238191537248145535024377031859095710094161545576959891122439403752824192029358225300591200942617228335405985309333887586896030805588121206755561237518011275276109276196248519794544007647562306118369347450701034745238142496117033681955693877102195356629466660479048576891106872190774449628472859479564498379780732478491454839168142757237794260477809862425488782278812541857942747005630687116362859762378214320826871345929243087602278634576535171438289916693228954856919300582032111683113686540752425090257350361709394966745893402423737306916471438563967771026507609022189140933535823082679173882680258560685307716980743581651242098156233106336168018362485341413636509533240129893092427226438837491868239938735189814751961250028310656650873144119931743339926125577456175350440695556827227090146161131180245980039820928394027324084297373966629815224928189909658864036995355463848205576960402341655259187039989335581008343912088286448176466212546194482968413694126898831029145231330999065422588553470866908877347995280181493576444101708422085448692191175544770423802873127608253141655924336172043175942756504978967024401983468996581803598586864794734680495715795293077182908397109124797265361516621722521710369538009276561358153687194014863009974016804507510834879141849195520648948187299097758856923681694003684092393601537178628089263802442692193785450848865334450397152295282157735516532802395379675134008143148616714017141323062316676204384733222015596057727382969132370238257049951603350232594716084301396846734855541442223290338452880133989292465504430628850856236535737460383373551684424602218402425342646200237878256653823566069406719718707644434104356444334460538636447259725448638271511540865424765744824411302231874472143095192867736256488606852966939579998044814006083892382023648852408157205314623755951035589455493721305473048326600484084594398694126975897985931104247063097451224784771109672131735678901337113829226689698841150858518618534789127388709694489494655715602723086568382036012631169245094731469765958901548709437972461345984156769325250618865895745503563407448277152826392576
12399580498442492065284065688515075376711513523413633355539237173268103996407891846008552261270577211537806143983006339064452505569488549402790960627718005039886625964601540059889661341724510015366759600166627598286362154676510241181559187310412910030972692568219775420404813055503540438601949896944233316142471068388985969513709536344516407583996678242993511526432320088918275963211589474419083710609984643435225494771406955886872482979967984089887798253579242279767665371098947006125991964257138788369617346702327951653769469106825009284752235101116024951161796674844818180469520950589030693983222240714619265951196600351226090941828886274173849807277264391650065693170874859127144932659189165637308895297598018747949814729890881894984571399086079228163101962720966758142162079015395489107536471724381896080030258807539230210835936355324682423389112601262801835225464074936771398560401439412974163808445843792132884640836757284391524578736121018298256557483086161832150059992342291790735243550561260146674734610175997781271718335923874146137388112410579614590587469664822854120263480510391500493412167501453085430868208869452013123663701545121525824696903178893389739201955531357578343228861287510489775840623275418479947360502604651386002671941881525684208247315215006096939752069825725276274741341358400286394761904290558807822318742984543086354188573818313295285751385577998519927427119285895733654218320362670642321188523005177956927719235363929073555071782230799158374621705355438925457958283866612438270056946044224860212839329160380881481676786548125050506415789901558572094549541553955825833873279323248696143052998269995311714672322667146573390453910402620524777381982698765389733758930275621259910904128323201344214306863128002422613668246839908439405278540824915551637019459323485822986267235020011398033581487435792654678723144821810976266248504709512502266754088483453068735809273621596572872642402688457716448713018956217501128250902286372867034822196539764867920135420791726701268160788053683028954274166994163109349071888405502847215834994493246740424188977129197065490283508247993757962542157122883108424926820217793527320596617552566735338586818274849799173440069431038622874040097772922992944920744098365230702554067148566814621484485619088731123585797707281982101857814867100675286897521873889443170886660814210546771761666807022559196904136023948060719596770024424628167304190256838970500248930911480773128959170551005518932418112186010198414302063725158591995820488503117032113894846832144584865308036720976565608007337698522519651465605871715089463380531176137334612924369177549902564622874466910608036144810825164497850904484506283739466297013173189216588168939178426464715430228076637871259366485436796836994538083830914982034560681611263244944929155227666200056947488522289863892093297491092583129582230848594533780827287595355321774752533692246552489343537006898586533156913421909012977814640976128514384632570171590819186351400292361873118593101907088422232630987445304339474554426675071480738255361098253389350926472597210593608069820264156180096039822987747652739202009219217414740080155830435163182246591607548634254435577392852539122523901232145334193835525225219624900092468419751199759768357453539542609114862930110200408623826809015666402290886006424874306907643659001679866998177207156265755541689696287398785830593207266418944535296013846742842818315015397780732265209361380653122270650035795961176449822417537068965802058573135466704524465083362179261197041429115301286925716547227841336126034685518573973352036604456955393774027269542020686307536905416828082410138268306858679290023851540061241606763722567923143061048175741216351340909423113964261191139900939435837973927243362521940591416430367566121819227820116752008948860560601844984495000696266645866367600003306092407195484912013104897197756446369403857799278998026697745088724257360717828793453405338966858495730762810465348713415861966865758033181609598704682785119434753414863823699389474129746720734783593414248049683774077865138931600804647858542499953567174041349825155033455221081257076395831918708035316275818869925646580504491474485479219240186072528948177224880417172625556919095996876516296173529100310021733560258946738682212636882593573152524834044541423586641173852203677526209786841264705508853612498951590261356451064999827121906884846330776029111666187727394530478652091538747080229698464045868649492715029893100929362383659744378476342086683306446561372682564702615552378657274797445316286659567535677846279667601493788019763499725184263037405479126039378438152616663132542630785343076631654024169962332735661342325057033516672570472083275215950808411511455487422028246848898410982174673205933389175591055248623794057396432254696757287112190422707566027191400447821462447646438342580302118590995706437682188827755421225198199785631759248836292006788905509530154926428029716825339858087578695139216632461364224658967817446137238971602262835741856998032179386238497622339860772566583005207000503662740804219214645701405987810703698392958189119487170964677992980182718336110946260959950384849312130102790847000846031651016362468635751479591380591376624916287176289668112592081339212932397364902615503888851396455280738315332434786102789178685075310127299998951384972339899480304933722548401241454318394438292702197850248884249145564205330165599205428734885467963815373202442646191562611767386145988515350008478670485775362577127358817543528289243981134417238239218237195561156424027139801431527102223599308948843936867986859339486876814658483171787456117943913151857360026960891439630996278546105542892588709931274231290312026861149345389010914925620086490240459383938383750051991971625751459123012543139475829942050641589231513399846541550917348055248813585651691490705173573313460247560423067471409484022726917069439395893693003257074701119919615960932233444680426383291972853123027288380184423503785399379658181897171256658992344776461866553436756030088633189416652405549281828621913057418659494885838124811521353537404960075969009125891726505620481951384668166657964221395434918793008557523621516324894555024633265703293777529920241510113266605588595808510856995135086292093044151500275359954015117188307451590212575676900367851434138721858771836149400028641889490306715708009084947403504685097721504367632740466323293146338844428077036278704480720021136701564057947696774565507406523564597241848758195709170835971613168295733337519894298624
13313948181232470589283639770521992886487707652430821385643941025993498026124699238727950024615994132649437813998719851510627686891552793782866876755118115689169058516437017057114994207805562689406172482052425421312737774286926236320967276946640412209804515412391546092775830788595384749002217692301513107156385528839218536416058870560755339877168026506572968286556463584826951819674168980201948283839053063654128648607152967860257997530319778698279104452142190134015651311785420242837061785510803007645142916030197999854902246234273936318226800305549145066689978480765009990045704601891679691749530874142282354087978932643724543524269226243919993585167938341620591907105119514914923647905834945072442175688267919469209830328535102846889310145912918643456361270949990849930931962025622876555698343295862242369550140067199237998138882866914236617510566026221305545905537247069081606161276415727512367912555426918583840404633644652787842331312954196872307372051849784554811987257887038419724286711063883693629037075046304818682647885629145350820001666415652792267714402909451560019977624923816220693893280716803758600968256495098382451874600459650405440673157066456386600113592036606775366481455568294501711044461969044693021986290052275130090637039749491380064611468082063598699210205562449620270144692998375361235634031158658040290401995001610497348535949291634362283573293961047425056175942689103262527698564600430316997204558539445740916162687939550507245652939903429077290831185218339560141828163034846212169178349829395586071079129511603756216863455366642455510851013951300281643637125206508322846289415925406540602263491291093610471960827302938506587615845943642336654303324047708792120797188170434394349912276234884272855921698110779666733618990692765523720017255653403289060699460177493473611415707881823715025367799571941087920534323511987472639342379084064544334708669527680291842785223574568189948419973162447092206515919426595555802170181750615772594079456828293617811685293047916152329178077690039025427207156664393294385983902163649078806723988670208710745123206023398340754984468423319862015314539466019100978970691007173699280611244899123422284179467836793756690523232505570053139219936831836672256218331303615918232741205518720610517542621176342103374484583850711973544384163924054996674185068437949948684652186879919757610748683810652658721231822167498098398322588390534224798882978409221304659219479530943347880418807008963750932561156509243217727974605591216021258864091701907911747440028581747548384998645670640356617197467785795532355640523921960470168733392751154566941779746134751812230760443102223623917679187103547073022474261243556841876082541450332217316511573573588693673417694039745159673509347157375672471946000170071560398716417311961055571327010684933440912295700198142583112207996426260373962429252909358962538255108011609397130529702675334267927619469988398788887133740695850665156838364135613371493765613465851919174807148454874770910414725555535001017347348778442181702523271685365507058275178003417237495845966776414920092851629929787218637194294711501294303909361683507322755578152427575686829043099690472362713066536960294649920450173192599578570378526411325330840821104809686050856242037949647543737236711948086511107761293127772581287371333719114720257269749101958497759454700199087194645384072002533637600513126505372254731453483574287730916506682865239801169014501551430737641818182791101220645434418167082342018954095995273313418407368191233618412532683687501830310133166237927404499834565577115980004025943177784377813997562284223788936361586501769580465501484180304007830011101235356130566634551170207111759522182811572246197067412929793175745682186969873889150197093102731366201730647116686439438082783877843705195044413861062287571416913766490618322915607082052289691614630693989430764220451495432441876066034457226078837508253825931542587438002378707673612916755845473020429816339200898834666593691074013769074131035541929980666110770596881638475056579785155837889088455898201570832302430459222459309117881663132761684412684046704990106112225422167910390985563954414640487582503730255516006487918381053287616629108614918357316815888355325956117288910619089356683961701672634455383511490353082165697087469445512283205405476716045566283126500304329590763359899326033613478614929512480699656933560968893057167160833837552089539017923771489830229256600510767754609423370724510909632716909660987801724318933893003299574281766832120796784440781827000911878164449894750912809915740721904541645073010208243542849329879539384387448100008261806244729878137212827568243968049195441162883919554395140072221140229463237010269014918050852811959337667551058432198701865094742844915900995940742086120989205860250528736349135037113352964636927913958233914883391213065710463286960039806565415764226527812232629799340654168174350056766139784766557933705418432870243908642857899862322400870202832113665882261914420727692097899776873926214236704874924936030865253841691997458366218371749991961566429522941424716386755836000794740895108896213187755200587839494012504609117117177602371721895951549193347568124040490918094585307147770862935908578039977077791569258785122856756735283327953516294391694840274390771735693591058704208774685073452773069258187526433215959271611448230277283024245520923861503808535115827642428551340322532712890000497934802560684821631488177115092169317064106038754970102303112491403867826070937051671264688431884290754564020738340426480802284218515892085721847001977835871211463973057555212074335034709657948368472401056437372910743173676751055371831063307433721998437483413307749857509251027492854402569348144135999068549057507916471392785954446790617089404928445459464045891270200391703956231666844973782174085713873293627449915052118846192529967020214678426287225461657388036591604352035413289330484757331175270889079284964121893646055870803417027113228349343005634482644726792445565398586282315036859531775888390367882471173849908473592554548332642128177673638499903862594362202054058618142426307628044654082542238852922902058487207874114978096887003022290024338056119818087647331303492826774693589533331682987457029202313759506681669382004944438001499280748053346994543266551555053035643069853127077666341746885923259594664128363243767126279995983184569373106343725945310428583356636569738255673746410321485288328640490735233601631320884730166121749624288054757195714066943764735548279685246218940491734450176
14295743004758035538563770220559226074052336168299828188439532651798689982711534212043160499212022439564305310977558187026030527907836786988711340196223726875531401935801816676025766058438579919469329117737578535504307532196544476340730453392998826878267371062337410903837193774061766818375423404976897441638004850983027114025989474567285341457450332735648006957101291888561669971217061286486259838643014559000772200286099487157286799378793054482766551275529675941852769884064469828150389656375066393133581699398943639445354473213286427697992689005764096345548299136457370742089896702600366002642899031945848690401440355610445933517316227254215322822206521461251229470294689587682745322523144994165023873858049251251554475055691800578846520602174243409388439015472801387988149158925291042209042376724277295774610849455209992379531752694842841677253385504267296444521927295367894337804458576791441416904986336600658912292996227661252264509848383754178126412755599810241890851175348387018752833190236695457721099448323844220472295617865181916550588484980182571320228759291065424895496251424886289848647516898204895210259343895146784233325425716816264740207919456375369764455126920578033752764066564075494836388001539740680222947631183722953533357900382579377502853155589752750151293993480039601176972535403995589409808578412770317573681727806268138360564153921970988099440793895423247130321659167917202030841907276247879757476625587259245800351955628955763390072603762870321304894055292421757558044270471605147414024557927125305405509498170121646365546306124321258936060019512318611583752644813352623244155669087640666847804459667506968262908719564806192623222654234829523762813708612249901472621601160193449461610101724436491565231053330645913420668177187489077043446593396759559403634685086797206103617369403280572217794627383242442964338891582367514736917580278222913167678953327264655052124527201204648287594927901476989089320588010149746197315994111317692788336087575741243996677855071244008800993517559716209793391791622679411767375315143834108373851559059305235536156990340291521080830560216525872775752149539963335504000175404583084950391005932895479444537108138428262620694619184906879017482940910981089738482066396180853838658398533629934483499798059626595725315632123744418172186797128529809605253409098129208721364839946033909510603173760449456405784964260973041690746374598853442869978642399669902084450022367885774793787423721708722276209917181784285462864588833192889044515505992109865439727283619977745710436700039923079762160078828501336202596472844281468894873380902333082813996686420985360651962227083629812401258876207399911057012706260709231643704450031435320427395522326015322170672775112109896243005170897809769613253887052116947473043933183290240826122026553307922163764609158110778602973810750118295437340893489852399106573709453702487250475329036791096654306829683256574419061912866705722437116871180149684866505494431302801408658002430176018208930848014459565288208397918928680059806763141891913655437263923313902821830840789551156481312758482182720071387796245920953524240448344724863452931191562135145873869514036261630161117652029110192983025623864937774795789551319328634994426706736047473113738087613531773769540323806901003746643871439613196488690364032874943394290569660759279356536803037141047513577726652547800658529947789821150594343493624209747695111077367912130304614963178284070045191314266482435624455209435101730677623613606235862928404402696694766244392828242233261280540871599207389287238174141020125029070343571034554112706875258616057556719909813943848556742332698466770241906401780699944924200336514919518638441197940559031939416227410197308467921351561341422786106436707624596527458216991771238318312543423993693203045264700187903234545727252082346596935224946350143196850691066450597225495781526809157808781125782548779871353912078110713036969360161029916227929907381680863099100260038575817174382741720704063406772249317800725920714513806741259208315830481714757499278148333478512985141609800918681080338014087988325085178587737044717266438894473497742137485392598081828929441086905811361742867533316435284086675951815676550596441637834828052235921752823113975064823629100118371008738247176676848617460930929968627583376643228676296407957148859507409883423610670791702821838979408362457214432016001554438463603546626094100316636424639092449507812320396471100474706657669964545616932624655032263865220557236008783722907727808264086127658779898910011569723562201946453146183892729048859299864654594170041535261622034318872015645608205446906750849738348623749323762730140834726719660882605504917882218841343634648350558808791133223068748240988179094119614471059031115110948661984829003465116034584696891822331935355572399307005062476090029143585553228422748584705625508557014156697998945922293393433060788003888729379966578473934211329938527066793317249791071605970979403586430776203693379746477235844055520509292989802551315934260151592676864577958201372597149507374465146440797675933130575220131797900790138210538321618898574913123544672650520223777801820427900502559394579754646490746463471494968250314632220447723902856471681891332426109467750265840278067667405713598773153859388247613007732251282368483148206207155794754533243364601566449518294209787842059501900217621860617216222759442036824050852505835561023438177446013423134589591067708771129994123810621247542982176286712410607397173360220322703250685994943643138111751907952359476262434545640155668541110140356552613095927226416141106190393403323756251435897261380003998591730949564499223464588874884135583357417711188590174809205337723295134051633181242162775602543926166042031126432933811169277868139663218943617129442697712170645433720432206124682474103781479946652404425648256707144975542581962945153685015095015099245893485648000040842777879554442140973507428134093117992016641850041122369344125215262352068071611672245290102170811789321794326620180880828359494034155615837021826668325353546187317448737088679603397246715842950181447247168315338121780428037950102981104587653409263419378967471499347047203389748770707835978637382544685391975531866626870087941879657313641153001715869598941817878384752445102885251225805073984912682908126837056080477247450708637560681200161856119497070803121221697272847333742058267473743833315090992895857849706819532044039879160351962304828481703862299462319390447654370616403203147222656052574487469298421014266942405455615361024
15349937169364133757834284976940145704781314508811428497941679503249882262847211210677625921148667536986706949901930550803463154515443575555558381831777782407410908483824973540229523118585131394700770558935858330055643929477656392523220762518545549202131032964158989287323637042002525392225103843632184536845324876415363726455721921826678573264985538660981600812082630905180612251380634885671543190082496137440044759743689785185729702856107321238857133332776760811933911074767652366871165935946897017084353089565641447091253260394593309910886791031713887323780764994877362158855839257421702534745375227209369842059653859660368850108265861436739672415864858058499040453676773815392278895933469988251222091319887720120678384881661015535374918847432150484216721232986529984728126968288507883392398150877220648646818146384226583520624524404477468215877269461527126667889689022123709617313431507576486374576704463756669460087337791914112260618935069535663189075334774606463181763749931120912973589314852488372505968204928638235981780838193767417168844668136017837982392516098445536230625154390120003854679468727349346508792731427018172850425284194750803575017737576333577959560498345852961096026453874167834699325834344995966469588516163689963237574956801601078624698112487096913656466688519501828959995036962590801060842946475775025684624272810173869516356524301193882436975851417279822625714344021665738789572693774437270286925629595428813746534248679002028597768981056773642273383003056441791337660240848930651192123612009465184502668828214511078870424661494391079331981384724632576471086093606713385237364505466103705477737890918723365635325720091019487473754437516227177174134934857521717951033004091546630617761048602421983825411806184689018174454327872049711564706872440422965003495058994763230399802047221160273196898528463883087742745208401789541511964762785605498263257217192028019646399004912159094049600654458080394558795187090770718995043139421459518498019636598600141481021930044605191959050832556745712025923165483563711358348634575115257878753046929582127777342824758334998537065457161834325577428056018960992757189107635236979594179788223582013700131781328241207199495660550587305546379460862641056925305416963524336634598470554418731193313571072175121653011009812262325278022597617505560203917515467243451560154991013122511563765999133733938380956031677352005799850056183160164055890662331265297662058769054134470850734532215208391853567068281657998247432907878762564426487696600250976525647335576680227518532478137407880483519249221298807920613170287785252380580608259117890196243854807624853023735750887878875308505525635123782795794591211550149918749734293670218293736127711768414679485824856018684480415119441245979629555003258430034241018383648360189506039531637925281577770638144076971811217271379062826758661288685583840507468425179264552213662124666964235228555712759757256476715278690425671280867594562146955221586806096688912680842212921573630432714621836912592006807970873588285053329342943510994179239715282588466140471394008826258901554183207130345350733342552435517196937167220242655662101275774420400865114725939289164910411881568334079710585934407476215955732300353757534994345961925076700331736093652425413849261582925972507550352224397991779452236786847883137684082307453542729841213373216228568102499612981680089726278347298467330872949066926591345048728364095627089865002946180743574560467484209450072491365115585148141923348334859030913234958924761179557078507985169334255800836531177482739127557177024608582269422043730269315700004581817526877356641419420739568582896279809666551882933501085285606859610411070943487156041848393440898534303037514624054194236517514019987189109087208585388982657051996532242422643602978158193504334224873742572361796628991057406633193421243744304898847652081351169470793179760901570005504489214527354268042034904286227490256060211417195969144658496157074129922205972694708295112251169309679606599288935078107118632081438123543158393835789511202364992597674931778797473637005934701498876429783374280667664612162518427087230392536516985302585224221620481895954039954788407757710404213569991113185610599500651231451532118315683534165901197567548945994241748260578302831325462047849693084378225482530444151548979356135610644557130247006029742895086321746511987332784233545662546191985506249591205429767171325269624172136817668439146303152179282586998792471491321226056441682201713781491211288888469914656454240541002112405435178270171434736080854495440951514031618309259969756037177074120164227574360328136235701871892105928389815311604374012488615760404639656350510212750284722967823875871480878109527606770658621964836613675438982958662516331719281211983978689949754508736011346619523112441376202142396595959951760310864280846709823535730708435236836618935988606731205344680670527964312414172803377487703029641256529409659860572026294801328845109888715873326323290689525105707124789674354148917663821004849824852759261637361614537829337571766929248959657363769204571400525867033518198393774043395513476974788698217916394157252499628065097376774346108641004401467595449306809432379215914921774272709160101506713918347049001125125839619825065044395636267568290387212176516154568553595556674135668195199584911902156998943182992762977146186236185993486871135293561403512828113605841731529438370845937369815402118114485018025004455723413918431609698288909957200365584130729023588816247178341257002309462042160321196409480246569145711171716271995183271021091340813137587187063328334402250704162417699948182944510770250575178621102637401849451257928199529937497737141542022288114991317546924526925122205882444380378214321647297362360872964076171990899113471454230809725446344946735827260247983072660531165027091575337975421981231539150079871527346562229729708429589045971826695789401385806598817619639011751359001562250061098595166458417889207866762692320190548101384479576347969714033810227087163218004774190569354051951369248687102894659508142128038483073988095287103356285247219025368298134285746162057250928969284795919077481739542322420449480084376913273181807827961589574794928168116254285962549842060215637754269232443991705525472952913935998612654264193231877313894176009015092626505734443946641930468223242586960742544300484974346766800525478338122921805734389631537575692497769437969449588918269575793828178375904487165777951855733269505041569832580427228779666741395244015970071149630580178916761336859988788328267776
16481869534518441901316959440875509987877654161808847307425479195442942508694811998666242332563850456333694184141175530741035193046206220986107070246541537244808499992919301585837785531999767283025669314157288022319541134331866142153143023901333931827377920021940199783367342115793756227254098419651032609696894338674807229268003911578963263119263207615464901686405485346847401648234189420418994249813958113087828350968831242435493589915694684646764398020146918139017638644874819428602162885070288370264312448250247215129761770262037580321912860459899311221166837181714969500758446597314784416842922572028203204103724652080364469628031983536016116472973219229233858398980686622974744817236310247834125778562910808077578709100208722970645801887093774977165345468006485673232671195033692612952132898257134099328497648294898456618723718453196150489018085071759634813858916921407888318140465926644246299349137878823028158239273279993991350057738710500789825687406834296572658975852388121643460807054756621156033349751246081809339219787970424691942644189937042473451750620119494273636929537935129060517810563686655046005559139480388615797562923826990099056105266377565755230744687732225141283048483735100837312184612939917814309698813875053943697206679452872348282850762751252616534265051526169753398841094019159666496690640326433047892255315441869696411630652237464244705520015744743021864530989052786865886223336393957719171464528874144116534359957855061228686268628050521578209745772352421383980726706901410105860538581592511452472392160474991789094537635687570043291250393568272720389883465410307168909982437052032162892825074388983062368693557524644710499614241866767798817326810576036549552355720497456742140568995122517231730396170323882467247407740214028695914162251239515085774340951020024677457615699422182763138776137095725744755647282836597627167180762217143368649618636568932324074232302566166665423005753189412974392200419429265405379529067481084248134225344989198071760490548550094780173981374258198724334893474990175541454122780516593722004962667455727113437445150529326980532225995580341851931317454098573354947955021545191681141705385591122671203972487923754856530348402439672457728614798902788821920265270167495162686423783280711859691274210406990950771125936767900446710505291079038474543496205003346195930256465773133773501939196219037898927871336317041722197589578252608872637511277716140892939561918279381101472542528360544619208955844803080004782387413823366486790214413261112082392429752882844719360484056878500460222347960597987961665704832663229141811424964491174708050346594609930278793437940452360683064823285809536569004936303896824227841231791500000811845194397543931163843539484963046039652081422626021319000105233507032608342333534876122044489200545717011599417029042854465182508973016630857915014440979911449355411414232474391047272440807459621570477074467904281830366544076869725991617543187287652153055672941352593073462504247558606838891124907322636757069957811063545558618193785964887023854070234820767215075031994822859779332051025111654306822646338969868927877422681144456358813228551522753173767719463799312461194342450306455015389805933319427871356925903437559460878572862844466407554099718284990085890460993104060977230968969267556995206050448389945250795749672571295766001643677730386009115286153402243258127177773359961784255931843380856264935234962544574741895460177197485439424836354787746118873810603458367793218986909258898635649290536438147702008989275194285912689272797712343184039339411922694112012023284660747139050954756489108544461944456202773927799172146685645736250571651926020547070384994712704653299848946914304700028421470069692858624794368602911766616890624234321544025987687377219371653699521163699410853888782521558519354207500329909259487034803071058358531700813443947401092102583563230335662174080289394928669661639466799959323466484318460925624874833333520793766765882419224910279941758855280708201645522938253784320027395508287316368236518150986238495820265573979407241563869590666225212299111666208224998786138483635120334253768790395734405779050571171756466720669081223382479819719484055927809535707975661562742446614264314865845782061070479964368481134628274262174176931765956900904730260461735495519238814333519195396164840588703625824915134421027749550646916568637925761689636666771661999460172516906434115503550384676580865276184549477932459975522114136559253435760018796896491664310649300496618732345509611030354962064995829579041126216415317413366962971871437056596016032193523376768332895244754366240243021845644150750493675705208918547725065812024762672530019169118774958805901788993467642445844272281738429850129429849197562739206886450050064524607937323779874562428757803942980762960376358569628677429634068198219932794470321973620048063386823206321345834783104515971870239443818499749349737006788617328851540237821910193197155940551772105390218843159317358652904695760981460557389880819976984556963783482261023393886541433789925020753514656892600188577231524738879027751299480524811599353794183491618839091098541911241779197939248075301627099494227223844214632793095543263956177934724895006988899844150932147459485470671262922431901688011463579328164926868687465771904670734781581805991372390347348701365579619379015097880616323886043449845132863059396863864066101615717867737466007705214455352413597710584074841161896585700283743816696823856416082475771354436237994583246106994588112533985607988181858577570843124258035295807102588204640472958755303996029196407369291954620792638773392246660324685236497529341748550775072450767086919424311031426274231877184289244299046997947130917828767119358565853655588491754531752682679435388445725498822237722151597697637241310008567592036759643265945034317518431146065297246613334170999458763608679484156175117792209048948804963864105125667154530699461648816269230148117017870645244512284772922227032191145940308025598616259443421790902424840686155880090061818244053976382799467387380131471411282358057104387860161454243213247226458710483774021248352204897174296745618011640342866200929519645650540761436044620812955391979690597182125521057245863104647856715592309431491631731792206924475754169612859116218684401964953090896906000313218048302893065095831198534517706315911603540439690592898871269248594795898617182493844448600618072256771657881152961236571316191941041699167008404559225655826912387858282559329144661017865614632789325614116087488329662012722794199144152562663424
17697272656923862768758100032179690251313970268541822847212522775388957577213103294784976609393123385446973145937937687882047199829625584001769684265817639893004613313101157969583556405250240490051506408204075463978736808420526972799359077816693891993420420981684190134317254785444407019263174148591617197819423414343961257202612704857930734170669606081119974144741701839929201695435584927442193730040751045006523085768185025400873089576386016919721600428414540630567484886720776864937924146560473802893590210290126053224350799886629189451397221959269765286959347163805650799848743832807370121907696003980334287816977593118535940203195663532299914595086711118349437239879242195325302805993862404539306262919559949814533296612823512983211921776190712003027076392407417570606716345347736847686549202865021588825578240059874758704573278003997293255856770633938361174606773933856970650708436172284843220568393318834929227831197920095210981251218868328526020874238268087667683797261715176489383484639486442276156237566732914154813114089872257066781132875886002430609554286840236879332471835821942671115800299139377153556812984565542884555310428584765409390443147056253326701397341883909846779918179206161505879512363722841356346989305300836929603832003700710477284391445916321242762274314925163494748101835778287991251388298107832176257709577876248533795350551347764539244887404574269090708093385090063401659916821691013743962048091984624170126472219819856571321275200436944603538291080181977707652069875113833475238727786221516071718595668031718390007392149379818952411306160830715019320875463297104127945680633768214197491207111887362358892866780953560936403807747358400421286581532392015975407012814823773389667112217220698755869626260166180231143851846249129322339213923077863189074857305146135957698351963788610266153989454572838623777687147773612230148560624560745804723345931733918495384025303957115676019295928992094104613146569731544475352314953178158486089311718755730797869392012734939324636889798138024945221821706681649467961137406671839005332557551605817870028577265829314117569084831274652198636270725886838429939616649903893414138721143195235375186305695229070512579754604991059954724085751167273668335476813753499041494097413096812256243340847566562245832482969878874090301352751204857699822511182497370870521614954347038228155975060085323657119940213094377821076541122156346983664385050155499676625913935894241605486256900319422909062809685934320045152969384793344345346596729446076275616485806652294947274894264755640830543983344775163724688975985269430436458554105411889162924646636328655106064494573412121144939909265142805112198062171949994354209635806211998567712139838053401767995804937200241627212002232126979000926058849617787109708974826154254898096443342259979422587198101135527611611677583243999712352442844110466989363076188396612676387580817533726871433798489351373029947831625674495796619629532317017235499525437595378313829395306381326054089830595400438948025741395654418788017798315327403392947000883760558902594065150979456016356233969364457499065203924512429343660028278071018978200514500240918970303140049380175732028742481072682367198598293848424857227222974589892965632215468267519188753866410189211406645940250936405855499203090348746592056503864290237676849565704874105885830082069524292853651527980636068481673178686339783974797258740331442932593386430551183364667160627983391223941465298491305650528486223187928542353809835379772309273180644901035176736540608743550510268484519049234397744367987912960922825850191602101854287353789174091244664553338989854591094727406472240807459511726581738415272833040605049850407467427184244700300290121113393417139560836968618811998282448073859018084960322845957304167577220202237207997979938837837563894126063478717370036098053800999003500274393249587804208693820070295359946035044775457358566112382223912175767104708874971631153181443315230617441055029169788087830221014767037259656446623601154457750688815383037830193295334662849071121401068333569055669995597946780086034648835394054098673999026121334968258161131379873789542680753901278203605860446517773198855331268789978550844223195674918193985765069822789862163565332960296549496467941605352768239154944413102103882832320096178953164371311594070245203690438538383864988657881078439519757126800576385107602933219796476684546811852653657785404516608868518533588365148661917053447322924110185325317868191229409253924498837712282539563503501235287957263856335119428604592771034628001660967604802757697518650597485540716511557868988379303479638762564479813796881766048252175510502501743215523509805169497477404557896913773848878709070484780650139746463558174020642357435951950438570237641173970219506913081087153456274459970556417986150977031127106002916039697064191891980629822070290548635167121010206774813287362273083591722421445810329427589510353119060640168291638007706611220495346874013812413055343274832070924561301489075867310784703036214124778184022903058405448169169324607116682102594698585660542243425090973026922588963683946500187902881500998438650555517194101000545269562858431978761016800943311662748623230511219951700061703012754066411937615313384895380060354715600634274107836577392503148811087983862489108883795889970390318674802188168308751329249418521871505853575061979965477903739008945282024005430250373817504251395023601267139208164768625301685119229194984403288769302594918500469169919316676001916794765268198080958968710979359272790962585458681465176297885213971546698956596882370878107702950584943055116282315313596514935958062728526902608258582907018802108029200756826969015260006802717317240325037476607276254526411292209728268654929919884391417110161279861822108699383544661716375211974536748821900838174409965138231834835412394562688680779255490486755849968331549230571841621397207595124519698325761599722683103946618028364054314956933867220899546642484937863687027758596534528096914290836938564916254461262426236228260994126993755720022338754056947472954173319256361579373216813600331697900716855535439979020453480713661833557147825954981139974012919764645303770687410497091085414907952773984717176957581466438892547490735569342227696430843052072026525855716721303678172646197915894081644732859318494468504192948525910559168939943245408276571139214875484184181285585088932608681407012701896432349796284813155821157380554015508214523642884934752871715185135627147768761464004681184721642692300692630927927462670002844484249765661611568499183845376
19002301822470754638452012543327079306200880832825866684250847520487681618415418368442830472367107836946888000998419403784812057199154663803125400011483133510089938339223920454772784374980276400226558344692732552926175157889395190814782202245854837238674238823721452906784614147995806243462043746338410081096396519545992723694066503279728207374073910134903253001007794942469737059320897434498688750255319621395210190010839430343419802394264109135476732816205010284787641377360000329655448319901486467423180030305463517579035509086128219093184812455079171487271612837513906271336649127147336635340271866951355398330342499002226628643334242390061993212372626634377604611321463054546354908260167951055060586441871865791205443613786140620681650266512334877988986526970880293392904395304292877106965521350034306584954397336599792623008388665671132951606547583234612231193059926495239021606143147816705807207140958915230464002382018828038092673513549902287360884966672587053290706327040258972192539432278154952870710233881120965424451501979537229882463422940201865911136251778855143406516211424081262907311528417660455084020461674289864412640448474827749291001152888481677618426285223180955133029872311582727361654329654315108426650273582213513519378173043175617975253037868188122573511221296095474349041285686327407323561713742559469620842576211113146954745343723554354691324984462201636923729642868939081173963715810791861850878505063290136386084591994701746308892123723130495590161518277526995741672265080179763335090408616972734892439727310875793940880619958367270751885075352809300069792061237477640258324496623758305636904948279708541786569397970084979149372531193940050074622481315318316470665082180252677983827824931237292681983206789132904501141087777307676980391504491820514659694155367336609771015279392364337605310101829804884752703568551795935068423275990434399163993276122957127900978910333067803747951869991745605466966812162891755301917700447990489814616191801353397357256293525044978964942189539714708439978923935147287057221240154450183020126072046205008776279485536500613267579592743577296729319641771537913356660191528575939198897829321817219861868217016850270002000655035500219478797251190758557745705917909390347196123841572252680604280189519826507249706662526679324786515212746122104267867633355123873718346672506265556097924817514525019226315191178905925747870908115162823416695007592297706411718995194102052571501891081563337004487402739983949482311706244163420432540684467864449823572194504946510472928797245860699677171588844505167646174907115395368284123985547650141084543253846994797052603864893632861876746544748935181648071925774988574678756428937781872780620536654524223772640417617592898043343311416093832064044118319944434022602739004952559643009202230886587411244888162597888894286267932324088196787310290920482650498024779946530565922757966075072451140285204587854080591354596618346942694048234341032684697994498059684661219341090923876857137363356273326453800765122281303106100107563773276326701464258674495330789846787516489530116496036152715816750356837934194132641599187555119191636677227132774609495429548919959949077172053267441528460702280095685726097979190857324882704350058580173687576806328896040893617607235474131287994756777499961868534370306048268533975253559368144220328075400709020989956714315208851700669454548403528864778630043425898994731796276876951336174205591871934500501418834758977339963361244677487848641025989816452063677099937533810157255480682370273131813297199687688037579169068872614515751619081590327256285477721100186588547770352256786136826762208293249968808927449265091105921206666732289987441218485398088562766862373475958549024915645651393955748880662010668797394284020247066803017166080799828596418367843148146071395462285577774083042870131134803040567011508305696139197779019806748007192210545121254620999533878088636023979609306401027182672266348248330151804639505141467120293714719089522259474610984145035970955545885782298452751205211577986662598908548035078265058615411346304505720767715487406664895695681745854132500036093729319673350158543653574271199972933448242957238108674785842104352953987095572661061216107009743368215226955956136637243769176856969532559498232742862521389857666223044601122623924289332669137823007564185205091252541138737017701367850171996764009783174461784038766372053157750772046241444777666432976459902277976305234004451083968184841171442246694751370540291066241234268413246764344397727150545090527733216747935837664922385585824210363716166562814302573387063329135428122076871777087472877444192988991562944615087378323415838533084580850551768782145799503218525432107672939520957222678503303033938524939010440268006916947596284815033232295980055108042893400234543356156816784523575412417783182112847181292437818549229901485055058328145005176431803249561880504104921100277620836769824944260940909130358342622788753539936016289141587885700864321128235818260694237840663941909402892393890908159587707444448701331168493549621668186792097370873284309188743862661780668270474630175182717737921337799579645257370365702734995295406654783439939516385360179561017889763403616153905460846532571030440804229179435178502416026301037464419303343494930161043216991620953021602940510206765823364363031057647430695194613694588844363971281183701392419884859436650002462941159488858020647186147626764636754356269403930194813296604838834749683475723825111364933020523915166707492726856642182732885906051917881737226160513053390572836992438836638835233309620103846634611258622936689505343764253947378853461634893239661928274237590977770319065897570162836763538602100370013252093000654137207077117071470621729906478768840309337809381573007338958402354920656803690773925730235057657128519786091301462471042444329949026444071531717263874187666659907580005785598155111695655288004233006275391650205623240406903416176928652037142490132674853074281972550654074664277759999414920901269121472484054889553187840181971562903427219334526994179482004728230460005839718598182688164308932687370167819715943453688636078882836314878535991121295945067655899183771977880983328747543062003644209969710564294402691268482709033327202046988971708589544741248700433159911059006115456877109816020380357375647545602688198149315062917498806781162510191486338330320805965530798297701458652200704925443530362868883701430605743587130742314549599602394463669464700896025981029147464581296719821497556707216461995911646306980764321706682653071372339814604645360205824
20403566219058272272147924484742897162832788295845085167928337090194320630488643308654908831122239966448046113315756671736896601794212659970074643909059520720359492796405823093538639000350021946003418770272795370923127851375647182442292288002201069375877200536394287312061013570405222940205522926961197761736432718724565879029994985208877347610088370579063104940835583579745430534875616612635542584307427355979882414285625309708064525020536711680861850203632624501126641505184399058604842370548757579842281905620563674530769651686907887066987886494614627657151814351573997345150052551831189155572286375076233664675468509423369000300864354865563284064928603490067590280111118790537214611746625402312203478516605167148932136184595882175971207280495040570390711845381138201113352314071648468895041001999496778815104145553021403289050771613178648479604518132365124357053945861616303874375355553141811311101987879050748619798284009241219963968739475560797052648770369202833399148213844548190234382569206270574450030442702981424579491489935047915889903581361095794431626860897551166313094290340062652758320223459406570854586203771474092919141243801539565609534284688581185116589015505082565846601657742325934004197427580521593992789234966264951963745778869167018797075383742129386307217512838937198705684802744142282200792112690501671339156096197779639481568310825236204569406245793216044686271215616963241964615861524497292628118302029050386484403238026686851417695096345707809325003985089921174616903410717403725331308298553293621721676676612842390023529305040348077359030932247702901381101855133848938610189176188676084829719800880479911846291244078980942946849230099678087113776479198915808267821167833334407239239931243619405221174500395132748257473041671350450890128386267151552491318741666263401397506168426626895532877460824360434518477718628114405796154373166024438310690215427999634786198386566560671111999877149147791358085316639248778452442782376910925668199411644719042546977152245061185395858658650926991479971164307682305713472326774981381233163997308847578401378342733743787067049511977665850875128906434797710372734276600082477077937654045648704649091407387300647646840666987012790415564089819751265737483600463623058126359299379677621060929232902084198057849255286349106859361255137769197163298377229293947912283218401208229632960116172913240637698742175347159036927472996111332072432009503847587633535648875162371970268330949367150246725000003052963647861227199160220409315103494733243738318886323424043177637669376896644121282432966877031085829631389115201222547038484083501401974811592567210305772697840338915097877898144419284000572075664828845754728142059380290593599446879287697885819083308835932834505478258116614195596416421328952166077122206573706424553489652177033504085524326383865799900280507806375019555277491826929680106103635616986352325654381603978414619520715454375608740004083203768078113130825085319872911241501488570269002477367046753381734059948715683389051485274993909438240795022122114045488450136579960438761773450308495898144189386347387023631177903814333999952688649922351781365371351160807699380510243520815025729069837237207826582742378550900486071208579105188143315554884634382545535526167683578855491559551533591233986959444709171216650542979107706087712394727698443462630125559166835091010408109859263366022322147887901371304055579049323995443085325130266751262928693967570524976922374222058929386927596030916094337651167536922664061213433957839379921226661885021715931402162646750383813237540415662733792020203620002808920884312965477634327620449165324062934281225547062148396840866857566383598013646618089170812071029293860979498829291653044952578406346807865414188378407985663021974024971074138439721500610908939336005618155004836264918597899839488037786378844799802606659168931157149322091981141476229732750929269310530237920468209408685678059973435462413802596100462981981222152910513913056283780200658210831250176870079806326003999418862315580807569456902078053317346624644776376552306793178693491295632035561507761081394861051066716920668526435346754668342083425351772462077729606311347002500000810774772910503939153892072651412403958398821029959321416262309816867351048593381053002863020950097726698384785630715100842758660132465963902834583531134019188495589966942522442987002738638519109962139591106212079091038220228273714339501259966830207717804534816033010740686131018775949328574694676680307830431994956767707377345166509251779732080608097493386736315974569301663117354196179296300103444039818436519237029386934819714970144024534977456238207812716761814899520362584377003722188746927618567489392524153368061680906476674294504790302189685885671882558888412795847928547272917285466101332239330493429805400611046902084248158834331022763998372706274200860695631148215903327069688808394631326232793700773347657469588179503653638103811441023725849220581410140192657354973596599970648749574544753665401370338445324322356832304429892150184292188079380727241760086315303004508808919339787084767018901795363265869836678354750026130877192811217440794731921805913201715637121360328909125650773294526098814868251187927257290314252916466893635068657066040751854949772487307940137917872853544845871157555410874814034252747192903352320112977566007001383571852543403204677422643341804412168266942841492186094162932994241318766739314620295532287319940655611400147504435932657650159718646359695333986311095178106721767315001784763802950217548078945034745506289802723403062397115950661020972649337047051354863754364727769225989471177059457770134924564289199868008537043145837045846878833183812323496195313661529104206510340006477873249392982403738683817862671868113103677534512889298581204698401411672941526985223122757510343437537763862847524661356257925481081600452568764559571717713152626838158716000667016641816910467879142476806155873211298976277646477556222693102960298738911532696857238523053789664406016101344430404742594908024958456531610637868056678339503080907514391132066798419029390099259402674768285083230065757927900285844495631411864547031117573556228113300748648593943434730014694322978522914338028659916006057541218713129497709906026714750472190265334237797987640730712984174998037821821237702027626102299648796553605184118980007709930311029002533425130189879776702579120492350059220674566520731520300826217058417970020544122066179298468815544706187952761043713371221626195784496936226351740950350037866316851648500389815703456224898014538335681413747940538477182976
21908162408156412831784736834062098570664503111786553369646718968512102348221705877520516794882901908539623834947771256650944605309919574160159733567064059902844595730927649132677500854713369202741740380628548279153755862921288314856047696060616692246404926903961780441632449910375656498942921122469135261911594674656594320557830166129032984215138327826751154510276211597020308038182640194775988941703930825957336250820570977026502110605244726259170708929663265657746810104770802101530246342185506844713677405663219891798810949926145151579293583430632476477671035786768441180352574980699075583993206536224703274158841925362809418608106641169933195419306573141197940270651183612832102757096273385323439180481564446462319271559064383230516413076840824485005323329517949307259529744465912693678168590041727318367054483996062690278624974740541864456345382098086802061129931095849141710210061132279017407846479915277842211587691984152700380097008603469453650204914727585003759969523179787226238164927373347198847503484403426765066101625395335990735023654634795400951744068907530866450349218393724453046997387913390801346988629202818271699744203633093787185749014632052433679167942166791635522730168185668770380170569546417163205204956000241907988824774475280052123814008404773952897512356600423845959692439267575539405801257325112812058753989352123374847001572446088067525191396955000122647502362815255396768039978612645143669577499308455462971668080350280900518052918626096037755673987757720766049376369455526224581633976794950054594999135084531529688383758911475738178378976064068933139036425061202723483768551025886427470242068406323306541195968052594197740989827380224051070377252303341918791924581255174614431020288147158488523979031476558557836111925395023841681988877064667859256460329842118463881002422337657572976929296754037316593302827303110339760238968828863735220295990612613268526666505617835952406462856377901869538401965035844533365297810405019392812500855055127464711924853137937692198551438186039727122536697431134496149309397524892545851336879761533090170678985841027200274041353289208777981172908230425030606643422023893077488102966813255819393152687710767271840700005608011697892137503791959555299274346331897868081055056595297117369942969671204700224212316888206132299941465566557669053135625422422149863495974930703688289905445658755762396073570585862986377528588210555326606522846000646643763632411192240393575522391443009135551600551529678094755860207791704706330540025817183647525019099694561986047011427127857946118264676793012274941803408960996209906824687027698013763662991401459461236311974308486367475376552882874977423548277567819337488496451878970109531621512817557480548680326246037449838463402362862476131083988936101301602812400122757356326740582364693693525585902342207783388156146210563663352325319322900392567036864231240414291329254777697047828570192439017766254909602326066661699866167570477736315963164639912836155790890708611498469381297812259324339566643429081101909107486598263519085938787420584415843363906926009017748369860126698084040387672065710099546454415824671723460092903045032750176446072738928724107692938376858462652382029488467342364756586093612853004866817309399431487557078924088295815143339569468300248851568626376052651694653188977502227076210702326910005525346855248817430928721606864677829929187807788752965956117896045797332834026125193005659107611359442676972337358188003604135875406838718171007525065636506824928656026560231193994895646892249854495543793616997866424788325751991187421950670210079793218935833793896538804114144194666474336886145915247857909060982588217384476925614855696598497662400708211547720129499569484168462535531533834653987377144911392741979063741653062692647495078117974478820548021312002407619915042520496221192918927343170352965714170594464807943743407326622288965887015331324475960071877502104496121402792657984958479842312846409516996608215342117782431560814269833298523121112802102270050272967304162736599939021660726678359337015586325538631384727515281107280700065096646207573693130569198933772090286874081442430066143713097380005064312217259547642361283430562783518110288386285090787868070802515970212158080423299755805216255480964969606178334817337108146043377177576973022803247620922430085698947764491000202551906254587060963751093800328878718785789604335496998335534043640641620314406151038127082446733214318488838789396915917331603466079395367982381803994729532972838559263648855365227718844770463453631718902189321574379582161861420659611440309523391996576656993779022268995089863202550446887445660093435317546226503761370846490317880317734398335556632327429536401478292601026237670435486715810664516868382644294631767878694424970492431897500334647488728554139266817156215193490019735416306202401134242666676676305696897916558384215476236238037952036738956884084524317522836389092472041822398036883820618056061664422559619736365085092682734831490907770318753079301779862158989097420675677462163830177305318859013964050590887173968713119371860169381490656230227837675381598730612121815739729116302539547463310906615195828132011548924124506506504274942557080874350215180022219323459724482007332610203321085355065152138907044493370748359965327671495582538253792256799343247918925375912740417795438062366964585012796157781120680730524972802742125527562778493943426426455108764102212905992257237805151127940629575282086422966450050190669070227998750866367977916297097313598935541188943171271094137603383299416248826971705465093202258664874753273291695593078883070756192165002986451249142555646627762290729776045812278977767614399303049778371504482813151182378979784485153415723438444027818990278781951149073181251381017015692706968663344978901653879126630458696876625065861488228638975186963769650698720512635162780410743621092836133610331595892520054187665622844119825243854601719501730212900197692859238393617042564810967503768892559130359346842164371663605230937555029372107035831130640476319962250649135639329347254077640394829024288933634786332077156177202619442618557446113412790119632207133970125968188718540935624514506795858959830925429157404306867110645862488031019357136218599619238319993288899714436775028462860992887652452448545528327223322772112711749473235493370872944171769426497994635077168497140520257518977777340010341771730634115127566379596422102171011325625684236363099818008648946410092375796484468912938948698019707826851226094595193604343097048124450998215425424452930026148344371072485480612350028032631031988224
23523710264622099191297548503565823048533096463303369713797814260865583341454257625320400300760200961688416872810694853851157391828433128852033180451653390004925619008668867191753157771501492044937342117230551695730614996703798083623418950599124181697501483656446594957685952304355393934372426197928136679827673392714458159383805260061610895827325836533005740637969806183994538517960089727874485637669008353033256772137401377593898472581125216339902653733509722573145619612078232150440119898627594265807348735304413656333137910404871760345507172904303492766771593237654021098628486822872590212670730789814634967454086994666734846900647966076317563207674684659819285931252055560201251820159981528359844415603340207118001041914181114583369705839064519040193476521546355929916383909205083001534750010850912526934069783153311161878117848589863348289717058947976669755444611715851376248755430463324777428428831256209795763054362327014299600650855314832983890654483113361585052276534003475016232867867530685350275809089189691006572495439821352787784671399610711267684737012529953879878698375195052044368085333021359793063137227627493756995410921542425549815893973777222669002308817024497362954119484247506756167841520775888817484862455749539490725160884961475846078239127221293314491865002838677539533855190218175783739368918221759991825735703694225530781255189329130743289134176515569877611752896093562104751558951540462586028514197416819707433963344917889173034616685774107933578950253964328765420534657001674615262117303144183345609733952584087278873115328905584213643399079122285717130443016647655123947229278372372363848741424252138360299254889878238221814227096816686914124976023256298553179300976347367399937660446376135535884820312995393399133756311841804820291105964807128233152206998348317911431665659909254786295661173015717307682958443972798697087418713066183290902893658780274248354424686381801422469692616795458386691173763982771934636083729247491701593867158108452184512277826359261341219623191395701547937014825006642468284680448838719207586418094113617225276221325575414720055862462532183432786315636142721184658833134481536724603049017885876770893818340013061634905737061458356709508040678580385569441271702506819726255063436313057556626744647030736015096118942098808456583724464330668824970302199360452329692431519138752051867930514009165293885670646119057271607094698917346572443403570962405432454240890059074214844259294340858621255838822318882547596002174203284023444738394225949860236487093740876829779180599513109272277919233774499470550401486187198015282440809497349603819772605308699398169934914327035290892145094979290636622719548107728619137369759258053592649963068850363548389184534296335324161860199010345864982146585377445231031777910037627307691692372883088439687459597449608057522195680428941315956047743011153512485246204874892440223687541409565142654864197741501945106952285356705460079205239323014413143293328717272311894932059152049162873886682864422536477373883085099157007814954872075026215994726357326565813628059718499155757583026639065671854831148670949410142231537180437480549263744925028619314193527980334004029386988084687605078204558287768711155166210068168899535289577294869317910012571228062524285603576250772267419381537202146197284150653606180119936264872666524817393616636010587529202128399552143090094280527907573657016351131933659256815691542300928390248452528833371099595720312524128324823428803175747322759563881702262559187343791827375088101777098583744290229779792830194846499060575706849189214371170269393540356442993516819309642816299891780191226137320795368384363367965571504775316763395607477162461475685872653959026874890383945145784086177293949139086815208553071161152961271774824310789672754209416404074224601083140338250199076480995169928792224929579208736129742996747807185324735570862380313286597619772307153211728920214245503995960027278577482710152228082386630897106954830331730899263881016034132152569833039042478320667611064059589650083406764172787015854546377613307845500968000924004318567893791635202859876433641821367299424920859466319410213591147313496258883837465750966923904137713460521252878085055769966571059414854641644732284250052571897047490874581323745042486896050253323617874193771470913903552693612910642730864487525288989072453276477319206017297339160222035383836795039434854939321288032798133926705914092498067050153704383717122685368996357050269118512812111234553838085711375120923817081282418855371797007743010290027861278292039740596884218834945054282471049214771493071221436322644024047406436759016998292941025769609248288104450465877193450937919152177832416363142450551555647197698193831616708110910380562312556994335948414861107850413962606447690003817790365004944417162379102275988994794486716501902021108707061389776038434736568760067199270018262926885768801152602576574273710869325506077724634855385952177652826520322985813555072844471045597332368751273379948717830992775109755641061531460589997230659482001406056476579252601151887471955371343727070872544630729059601802361140157717043544314942568650604596949525390025948094034615656593330854685219393768040618735242140314862189546136899690555848008498254394993046807344096467551320761063252274179510749339602567176672732803221022551137252431561042195723964930310855042809796092312491715536774766722065602220054594787643951710338485495808116466816398104728710628963871732790321631567696620555246995474624975532863036564595409221052454642969352969017785963772486341150710459422479943323219742422311214195710165281684276474834544815637611541406136031592931086608022541983991185053733236320997791414972999969601755362413052215529518715074442152269363777600725084733546340455729404923804030090879587103352790103715695140970501182234501973342254741219046657087037703094730375143324908586743435865153018465390940042924174741288831897684841091324169955366600691270408013193241025766462701537570900659898853754212537893395082831567338379783376551569887332025074623148085396899457322717035159796708139904030426054795382442407817895113208438597560127983064297174895418592720622366836132785641445995175600601911454083560947110498205951604893110750775617886659200289690938332421951739364278761638971370174541733116439448669039447465622917833581023547245873315390691809973282875001005617376913256528572552841442711453699117108938651859016060701980133200561924882674767494050839596210686438250363975654106269950311683447039722360491346262163793822451640188063288420890979575503396166221356026208375806037984280576
25258391566782855456372754656947237344193167520875309261839623051675023275877109395177435203348406767209874852684131499081555162412944482835609133286679454799672203138697181270486793383331787287052511690667154406300083559202490142037514393132469491658382659303979156228454917246455563827331585201068742499519470034369490615228449775999348435663906832761275420155084623348928775394312723503611613851652524137257165059175165733797785277220071377765201679402259139437423351019883053419909016742731088163699923463649854314601652651561675582439475742039350209772964137114384694095375835339551179934557618389668526771848332005908138146635462493876675343521843906705259179586200120740959833936461898538067407071166144574483420221978833281439100388013980587127900072793146359516741634226154116212139317276035078608734637216706320798594569524431835699503348075318715990492656731314750026446248933635595511620395202727230917429289462816165218527285320972908862378113961251918067105562540973289286268309152833388463975226154502317503393547241785461576503397987858638006501161776794223533616830492127771537894716872866002295163875513955048339184865282526484903243520859594163238268687329403166051181546283329857171819981404660836754107399305625629819931265331311989244699991727170759535141500761309766799046913781696731023984939522860339410113190544626561259688433091999726180633750690072565964786300318488783849013217975470583906926013750344232080939290161521275450884040935323925504573932893696921599518313009664192472446044071179996360505418126402367388192415517821441917343069012776683384960789930623315578110044045105754853166139276980848878888091131298778646197324792086174000809483119167484427979303629388203129607201013984565960372184416787924611983439522248532307191364329629285677266748012032087861552507137029126908717833431199875882619869013347554679395468456419416279492395644056765286648308961226223419768402335077288523041878242039807041672157319658923887094262629561065838414997743669748551813844590121921685841513735317673096011854936393225043777675202000159022705908789951043651069231142412438297822559953391605769139016307529842536998263528426189947818758614730276983688108180434696033309801740885100931955149738729257985308292503342490255869384084485018672911798288210124980398833115043835283263549029372503717949000778355134537256414317217458695374296047027135075975865273356242533935528287053286644470925409827413815198242850634506413713369547726688856297498189636999934123612166619002471062870723385788070566434894146619461927005632997713466195822375710952802378547869961720686771120004489394974858688176870794605754902461555716770393400087425648276009560711868183351261724339080026939510515263727937647481187041318371763936787802018549770828162615086709853993086998106375519983326858091847903768979310388692550983607007411879224839915033111444700569593228719182007321054086155256979038686821959877411336205018141050021146769352143915552478761245549997161481880168828154599023921967953757116066433611898819525314009995453296702540381036899722210045607300854870964153191860785960395457843790162446757482930975332870972954623787822598869615737334187918735546863025061023092805877313421762838527094583092781967254332766093349774812468280904427295827502504707356314586547769093892019652903808124082101169488852706752336917146612417318904666829106003161041899087262226911937407765068451572006638757231486956476548794390963507591505972921056063922902970835783507625228726480751802020230562839474737410940909133871835536755301316845962337719960027378073191396144710010769740214298362342731065134221483305291979778255798135916739873331706176006116459729232680554493686337909820657321150150602180792332766306656382715029378178578956859572746846103467922447686178954552683482440745724743819255094531313712904651140808684945979216555170887604175453490570042763008375547377809268984394438244421408321189542410527316698845843332674378002606003260852759859475462303757378814716933885514097601645924635572078931096826181567177546191105932701719575077774082402967347668658661373738273184237606258468674699013470089345588106646172831107844594980754636498029598289442056080297409585630428361718395614481202882337920644626913066296305794336430837261097399363518515822708618257747629320039823474850775932229045253772049239533018899244620500243436518033460423956933071722249134366040146257490509266179230906338025329219212219884261468511223002819043686280729932352400259888959917898540680898905517251721992065284779772266355748985309848649057525039475611062510713496666944975646883362049874967560194067383334291238024138150145748627456010935821223959351112088021227057166659556947246265673035884506325511630605202238919742874649964207364114936825285881190170034787502549841457302974674558672120523175614549622378338098460408148299935972906760878148425904032191888792917960325784078194545619135199356088515209717986687175856572747840475208814866827157232881308781310311506077170822227698086727287742603260927084909645809219968517572155180109273210836036863343320426906643980938139666746011160151264118145398631368228220772913818051734249480698145186417704670166866867468823344061711902766827442471814511683174895850546235026736700511967593124676249655975423511655915363110371195173829203246700212788614577615104784010380666188541227687232625345677097325220775419869986865709372026765073666551329083874774081548775911854864468320558226154548833626801691443566944611728823047368519039281848019181833052972989182667404962250107596171600947290587781342621426156525844897148814209134248552472739472876027354715450440800097263007273839517063176731218053884649898112133356439171727309906550966167812360192401880532896204352601589459882493319920288331933620720901361452839678093603069606630544588111982109187141121738390077706237794597948770563159045876420086134548834764041680406198472649502650548564823161332414924348777310326683478112659176918983403882598885557418121323153792198198690733807463361480887363097239595137836174587250304345968352248867336200814623573117890488545338558697115351936213770208899557850253768991354182581826326360847232857344590591902594174979765593873207203893656062571821364348474985434076521326264798264973277966690348494991638880566897999448788649690129090831416675406734190140528696662574145471543773436532935554769401004307079787800581551741394751200895863438868634534319048474190847838057656766685944499009183882731659386284056352935038887807563671751334165679156287322778336485560114547762317713126007334373242052695454709002010624
27120991432223641029654034009255020897714887502202212643371770450977985747482742641825356078885129189717874415132790651679683364845891250210643642926298312699925586000243236401031126895329804478779775486518274149110288812210493750453379780908310865597624581491025149666722143545978254638907437346606958320820354878217239543146277839173931812121309973575154826203686926349031771737975662961175604844657046681342534767707810390510332410722625090571800694969244958100209282784281490045782545551386617346395966408519792269094648351502269988384825052861085374016405138471785518075650879403013343284284097802818626691397259859381383030012340961258730214408971260228990821881630082873418443601673699042767431103544433882453531486906037337004324995545239253123302345450645746766465920870731549246730441474084616793326111697044528166612069717658251827653040856499607488969551897287777611500443567959939275973496340577186699749718658828209418426845934309876616475641062434499828872481123290734373517392423159217297409317621947824208320913605224890529836674097681263827256281304334110449649460889716091052154358415034717411997446073263031057724527921654263228317161603962684735212366935159044347170550861403021633329468233086608957721518422318797224001788391470899644672551449917241702728227125546137631823274665529785784530976711805750535474021261846877285825595819905745796694236941919775671389961874185927693581193269091372022567784237343696382467069051297108917438652526385377802121335048131730701451790932399759652851285102573195124442449220925940517315840301071499550638004155536715322438292748588312325767493165712191488935462562303457888285654063198974072540166186175029236810551880872104091190094113269109232466944420290437362138341014546242394045590610412827660846583852344686446925473344987707966991648485086672668094167969744733238777868053032883707393825517730248544957458692979165918425638110542590411373641980831746959705252371993735893533106210425523992405763615799935152723808946243840263645955998650044573340621933081051529547496245026265439748320821875219197330299919699666480602695797131535258191450752704057764844250279612838060109302965845013043941378696396200876490487524769271631691631278336343649101622366656276911311491194864491584039419172631514050526373685102817291721407316418769537006959807511861717557341634728461877799098264668788704215857000250905793972704158591790460174316041344191586829050964516034835133760200035254474000292031362109946041349592777530207153767169254079626339554029204455538567444516418238104483401583233239445022464658875891758803853528364012780392155064143331148961201985280481612312629866012925202669598607434175044264961160200081639150196593228982607999158326455076809364718779430351862519583955240348512763813316891813756785310916737424196855845830195729927723480319355016888668351182237612718147316475658103028064728872342983672328889968070998775861729354775962026464535053416724138981370695878306195820512821057365835364376555426970661709934593504336713458152131615146580557479265272254508198894168215719030907681506407625908334486844022271188610666506356098837682607954320015885656952415170426298681539984315833421869862342007180646975503984433703311535500011070563270753975536168038741477128949880464134297210128769045355442077607450006444441152781831697933635479493853015591357679540492393049886643196576123486894466380878690725559587496362675782075639298829994879338115714354125758741470271149346082838431280232987946631001188639540792489249443804223749544729329621804871463656277619785527538733881004022246135197527494914960501706874462096967018681780304209759219675496229035040183724715146456872522626088844538991382164951171180104890716485460302337149709074967717677716739053166866414953059225384939774469102370251811466530598286406630419691523345211210452454015598208937065450040185487806341446991844516110612887518447341603410311656020400795442837117604957834044394514844025434583646694657990166947166577279689981973118633919314336505320520365699314947876464806896396979082336756365624480514085099288462898187698696836079147453575393361970218181374374303374739982968138292980996123176728289851273273292793237968831030949900339012841881446647596595576297328957435294428308072568116850577885834240810237248012388593641637775439810524290277286915436563743030673996621101391038119179970901456688651330613876970606916613030299744633082156188904288564477554037424821615978092159151517677109642754733615462865831245859707269317646592769697527438901092406512111581435748372746093602962816812214625774831529452583418658720121082685126640023607706160269075663256253365481997090113661992627952026164949820360891080281304663568077080954138247275294395979244075906568503837655929549859004412427231390580464022876440271417275314147686434997708502418638832471027967929570236940035750632120007234932572924374673390512889002567030350770039941438259210107826734333551095921645184654923911739655985308899968769266351350986543488483418348286963868131315667896196081885966385805013280501954701579536717422786577495613403198585811139316938614167825174450123191823652424985420983172789673259400675879205880966238438290014641140640586602107039363944772941182364361522781575545793940953575461817270579735715086423740577907822375752280423007365758578608460835143001432180734432171447619385716088460650975956997008076602025565540042824173913307018217191880143948909910107392562305397487306406449389770515514583456900764173504678252254712033417219142207088409962706027729568589513081674509550218143923582370939499062789370203005660168352925501601438991882704137726062757286300454558837937710534694506612430919834267200336226674238395530969673303961989133722734586144422062464239169811953403202999025928136323359784822770455365935798202691422443440152688386173968065400785012859797505749338859563043901121446981876347575256616723531376608928691088692850593803486513471195078161359987153659350742115327940310630409238789390320176446267410831702930324174569659338390580332248321745514496588932995185589973315506283924201273001100202922930712971701526392105278020672278925000779651280235439228917915389993597912498682731099774548671857860727838714162654525602757700102478358755764438463596024442795213106036207977196369219211950093319308776244784787017555242711204654099078815075493856751385585622458652548533752115707466529383627555576458476114842905720141269125706622097881742484993827308481528887294995694051975363250519256408905424777902414821489855470731028087765691067056163246139759427857047302818454721655753208107081138176
29120942809124184695101960566055519019870500738569407820529866314142405000348123492756136525591606502643312519907615836544691879912084749906816889369688247846540463376170037096906357673366881342608365425204619094197729486389689031552412832917210085585812268197409983833019226512248519000316933143711475638489625023264276655302811065845396197198760680295978544170349795822963035219885638415541935130205293958077880050262000627752716613535628622818730481180744705213322290078526205651196393967708952238709244797726770891118786549580640517468780866179958228116097059305667554715334345237395578314405357708992864564795978910014149726288097726251862316343399882921855262766440597277775480748102247063008155480914133301993056493991920646847126616605537070165012357307654466110867219909578961902530170264708865166007010200412327082837419639053536326075509728404410800490226534656438985478849653470373157113021336388673659777803256217035283595620764072871099389503285947717726781225744727762008520062236166757823332631177985599198273853751820589887707156867737834392503380403172806859624072296340418448490299934109126497282697230047084599689783900135977696149397551141658735523883900314962007427796521007651647682642413544472652238642074830187640785816846719989827391657276567983754936272370070186816948963385018942114611561919035828913648852294310247625586544601552370999822803144305121991069082278078856516837983552850692618174501810643869468612392343073707294937244171783243688178873363896092315653645443821578626814145666780969626426742409504398339978213948965221081917230945685572409283640583315187901751270311659342748366839389931428514475026426852277695577986354006699475986289919014243757592313983913235950124296921549276822980170821292892840528639201181942965555064329785530302229836941510482810056944437143800708730378519596086682198775574094857283956928497745421412635967699404105607248979873177914657993244686021253017620372184284880494896507266768029947761526772941857589967381186167378993451849684214240397860061167720854209174318512767653181183524100217476961341252166245373419073999204529148636050799272414627916625228371143998752478384605915034007105408110543198955793294793495002900964028374336317315277191961332707551800686787733738626279135230321932776493816640747900666351683991778434750501488524412475302245792831464480401382468876260699939135330785172576044872419569458734360133369464185371686247279558828406521124062961164459003217234142287417137950980291170602510844383808786192177427071186664541358908310222077716929174310193705346339127168923796937806724617745774410818777584013864097385321616724907485478003024050569593914690024478094231071964340135442391864170041899972273835177293251912661627347373423472599689823575311820906170490704192074906113878952120144753986193730966777157329605197925732358337589560329488370681389097493278383145734145169455018441928640642211855987095540449191484577650766139567610809094686473012521776730818613097521600699429387246992577098912129350045054618721617469935555435150723135610412225703578962908977718326316301191930324728706004476962681465080390505159497603397948482536774271524546298804803885537888214370478707481735701968980977731565112200802968022638926799046779547456447888776316892927854141526867361775749634691104736572925908465998048626641400278790702844333748964833466215783971510207259128837387667304427311364102394234899032052859766523446691799767651168279853661974116450233385673439394192300136023622785585871235988609049812198181332707740276839974413992857471841240518890828242348039857797901783943772680140413990694498271016231507216859409461743135184009069205806785870755237029439780017905921349045806075739413862057869239765014511082591583225189920388615546279424120756038687044852335568602610676903383376679555857529752533461794025666776465839984545315217757533529638975510824059822443853006867601964482221196872657943805731309842814392049936169917463344218945632237482493641418031915152320131279398343520952912844508572641242095129467683340248428745071347958114962269240606246192201215254456385893103194652795166998189999394303746883491364322664837937744589661174636708908297306853187854297391518686319946442629867201208115149053750283825161084591401428547073214151384634589721489239380553562503133566947348044554565838639518352189709734023185081311244502207341831339997029129479833371298131065031091056215069059845128126979364644470479203092224814944219007448882987950859456056901212161909205594531463189087907920235040535707516160864167542344996557422434120026728125197758945019727126641462769776316823182696129939941472983353633458779268058778194701335795283811761958848944982775526806578502559293433076292061977537634875731800205113318891595677679281106340623663700591923858689726703658640260923109838094496963207297671574671997439710249748106165508941689555329697368831075865733573733125863851099182491272769627645977114399270578132106261652194811572553230798095455899855087241433155404779508611044711859189414356766639823625890907096962668150392476839387436040515438882857287549296963073249687781672592844927193473013430441145869099879824490933912906865371326300215743148431761765056863986576374689881860333130996626174066906480134581687640415693318466986964154840944845025559301608266953559420475051338696118959009658624354086859374447559676552369884731151446113014713390652837597127066608967495612528837543753085089690387725733831143065397707853135880270049139612851910652765699109106611356153834761154495042615742190141556036883589048858756649454401851586822317325748889586547831491417303825644024168855934894329837347061540290035762557707906894812811636936843841392393442474188628256825502080252639111628944794596872776194100966132584158195616370300388764989163849065477930491429053809643573966382466274052851861190190739942430093945593861302601382218127839204387914016908793484041302027455505607172350038706533961574684801238926986759540494665840987299422205924171514234201417007698190061432424113720433062134950366839011967599385842692464358596463903044784233752615323285893237755171855257331843260421943762479167096344187723935667099476017129397170888927993288373449879697436846647508522823303002559752338080099850940878670237352884355515778944023363478179891614095135797644819824283087699681286329491590529633963618919471449027473233566928952044879522283594161679325847261327895603811855061404519848711113700258248712135564762949967497752819102603513977339675115323621800644519733784431151810639112712352765210961391034351866246988422382182567913692060749766748888621094273024
31268374248468685917031663004172525477662443706824863103815603302623422940820514754089224820181754245238491206527639739822783316654790839007529396825815269554108429235334013766579897245397351394003875209317743279429097875374647875531881306817532398288106173375864188116676575702330883132698960371814813981803414577555826849905459626168219814782860983400484861882335956484975910521576246463708467375196309829002722459221532231932346957572848966451991688227410493454094984848773831287714723841110407477920547914773654030259991270413383384315232630308368260101186140219903653737662900625046841268844454261826459600789000582704124992913682802075927326947427200649899319306837212908688079360944191299933019792952338679061167315193929916608893582472978062218596349518060635603628754927520429625249255235059059712318429929377337634010450058690765728410576577506696662563675933495204009612769540339046403679174103884892028390573903043618805280319117627878283175370544707496000591206980099745562466235166055213313391449159769525928887505378989083506782637793018949054416511600268625024652463341780429429805224697557413300239054367430504223953218399097838539486771903063977933066948694688421480346223784767610198139365838259004370732837224711310167679619774327050294524963246524979337027642098399965400851534059939453180693435546434471259093257157999270107388965470328196068874440324959116899233028115270466612223903172519903091502025124452051017645780903455596237308022522543909410381670724014805909482329011098271365314836077251094535168048997159407609590779565824159397061060972649671449228290773289273824529141778758151149272583147660019288058025278016567231404423801998263203565363136635166374257785065467704626828835603261905401787653733486608796825762180115002395699063945901252835523536384800047127591189063805437923284649355841521857406221615495259209095598342606748675252400605563248067816147271165342761390002728846767517905202568712911718212198403848759060996086474203424014599819975338645089728273136102022491572747774980159921396910293856107214963399646115472509148533587428258486557632296845677117640297367420355463478492635648706187139865207328729803811389864879048077588387718537027749766407185047632143548515162159518877529043915913925338920212995348532206637855004558203585659272594803777532868453202917719759388348891182795777392664252819394252163859060114553957200017635803916124581077011740303668509109668534328521005245894211567374087694856174766809952345200429573835173028451002153214605075042947029114837647666611572845287302641330971896726128928193841006207050524050584165079576509359677214628863568831069688404478921574464008898567277713547715088465839986320887156701035832654857210742219691592784442777021328593604972999993515948552835543694242956035345137764692895289166927505632588312625254420656878977225022271542884122222852396146558858671438853331420587790096681009089642009286064180643975674603269696765001479444442240591907386669934640483133414404986021788148248646538184041311428485774090398868455391851174549323376618860558961914081251057092442756640955113090406846075576246410807642240367596141801497068153383037603651119144019739312406260819124601339318094026450794105949254833149241994554610970532611780916655631628614366806329012706039161291720560476422852973973137786712810632129262837786316907678258397870778259159333977035038507633286560944579507232908547571132272110123099789619848360541624541013461167238062000758694283473495354809452836882934289559543524368256532673664359903772419083394021904786842233176544373809498359736619684864640391015336694483429600285814752165299785867014932191956473601585209652442156465543011094585056649724984475314720388936900911058780012516290101219263227864486845496825269090185238842104916604091444319380113538647185369973880619547887751431747378631298697818572569931241855711626483557736835978865181903459849123403501510836310055438284532678613149562170751020674790538515507653890604599535065865455591860630994766562855775663171443784849896146458812760493866940166685035188665587645652207187442336623917308493246719329311021134648198600388714333016066667627938274148921196402360552198994829626887927407716379263140891704965502976563747005703794946160062989664604340062824450349669941043507888848212331812641889671601322852791108886113961653323840609607496723983510083244174508774212068808455313724497557546327410454788604073032576526603714843853682311913016268175313633206244925854714184955334539373737463217710040107146617218933524525533075768673159113840840485150557333985901942050337797520942283228447714497726073627799453767654392852027057080098817437990039432064530638958348279126281042735856496537204398982559769784482307100114276487041949153355601221867382130919217959436162203698625400847935867123415881307929853636664691987541262732637813596027054699216938052781458174176680147955146558245054273054900613088087741520392293077329454833102290348248910581249614374239990544021962710295564658403407893846855457240472932926398586571102396211307240159709124397401620616826385246239706264874611047931765366123643612121473866914335578373090137370200929695251108074765930338892823641712622617145616600666428074821183058609323948325988741662017125506764018202661995355466675841534547781141371129026692193815433264570905212552768012084931288046239150821719450191671553896303369626128494916802392314993660482253495708711276829117389831360511896655590063045086115645244201008175737534264386185672406047307888015732161036631852857184750356349197241596180988026483157298048951811889369256414870634474448839056154909192485767455526662966810657179311272488713944193208458484505612992479059835234647874370624541755053366263100534202794945751519406597749415363139854465670250598860428572131530426968517612248604160839900542424018719993029836150216013694544065633309398258224087813751932498187600070814757193822530294972669487466612927224376619147970707362922566012860144362372196842433535123527382673392681230476638061123120607761222206686941039189824447993456012383751454357231205465776835975541995344678576503893297471482755727564905149803640029391858497091650048168076774162290717244918117866066998906407844104086351838995673185144478391072051387179543349798979552576944136440199675861021840815220890843742277082079007748602094565407950298148528234182794682135921332319047077468117035040437310238328723619287718522606456121144199275273586681243214092243840025721777827884371540246838197425894996022510210994557689527747576543489503245449061428802802219521845383155527135572651587883773356526217986609592743755776
33574161199065396023436690499853527117071743562063449757641267249819298133600063568674675717168028814802120863104948600652200795181684693814434964281370697818080051500922469190968609110005527690566663630321215464417941231379299093231327204533760872516965600106260650924679431212694843506435015752536156555042301177932982983645662446560222474757891316254870338081927483296962662759498070233015879563687778073862511314330293638789829266825121462114676363750139070038140009300774777770339076368810175110725648845088459825596314220917743509085930875451625018064754030763239110268542580414268535429447518691378116303213493324809790022215124846458437194527974834533036880528881804659651083780076970328595011750312746478320888400585513222387801289866429895238581131051263947815639680334724773903078771770733863523229706221185813695406225081079529845180261115223717846675833912976043048533728699935289263907116713118929452607154607060854407542390680663828581026710880550100302147507661173832502178401285613067627830018246814198190498964316445549800661105875407500824252260421389592323942380954696453703462341931485145301720541872519995798667233214517673107846022487067866854547055405549164791987734478168557190271164081375512337454648858356620052874060784112395355782971249856692974902371165155166331047217334717513787800371068454985866214370526931192475776503661583215125622871181500754904811695809533793073540394488860907421772623356822972260228036973180779806854652953189378410393979659371058300253534848144774139040122423848595152187773076731313145481483544589960974267083848148072334895108327313995355985376634678381669887639702160130442234605479855616001266816094826629977028356317553004765239020782395252579104433276442578655830928180474321209078139293466899202122282676364648543500213952745568478065724071699303296866431470541700734107224306370106286527105154761947237275096286596186527701385667593697742200098305436905571179484865219287160664139933198455174290465147672913448481813330391751796333479661528385880190346824599138477812415086889432554534360829260981966595003141090481736499871583536386794810155471196330650083762067372009204619644210831288507147603905490342622213448950121146787572797624799750064694812502708817578520468227249520820412007692094036487278075340041853832229127598457821010232392894159514536366486862766992655437097279041893526893537974086326814950364869100264605950696866470503075338862776108085312759395040019239394151811810824511777292892488586896193321362924582946620577516716270821377146881269416854126407658142142735552083453303818019867570753751354230109678061586307412884486835451443822315098536847020917936737099859758859273110121632388604324424934344037644185143921903365459553832826222506651000758444483789802772211797058288129912543296692992632187631104180373705648639322910100180511152849872287079691616204466321176680233228971080548018444890539403046072790557843491105727935460145280568379587901373918075801477002048906833143913618557565729310042084139441018165424574360629876821902828508914897132860376574289381425172133794244367622131247256231819723807276480672214051092311749111793302107889665814567204941729341073581307604320946583525352253196164779909570402135986482763450466051110096825125338209884780480807232768847101664860802230704256583147557741494108336252309067683220096038692492777273087164289287971126776359096403035063319963009284416694218335600787906032640432245251373562590956602263365734919729783795203957928629061516656338543808420462560217092935966566869061747495905190741778310651216069951148597308606180020864166552880834308768436786481653316076941583658034727027662093573952303635647137805545883151995250219033928896110844467097405147516221853984162996316322223341730307767350642186318852197381153845033286285641660314123311621869408791599049569583041838789287284538932314339184736946638461990359575935525867112770308528076800232135324355844753549321689001270023600389211303643583440574458479167571174334425795433478111583654971209508515674258191054509256754327159829147875253716981972204674466615070244421386972846709424094670472496419706363495625236947614845004424195844074693057332857223795919330143882618340976744680677028276129023132986962178931189211887830477365412337373399910252040294028623930268768299799328874791965400768808746358613457505996278845225456484078662704991774425526470925204315181034240923338558202921385271791827931095057301615328034710019017132234412290940394877985567952614266837356681452516887567760764208087489958794619348185319926737687708218604346410599541542272006526279245392438057653419638149471682594684899982548094366537418336110431833616893213979022341256314133163820504794107535224357471397410119321404853843636734848439298976584511575358207888418542816159221584199193804600118201506144106707885379651100740721805750301970088866084966436488571173320178240329948935637366814128963036435921604252146553964394301881420868817106380453523861137493066060480894536612743175424012119755120955321739413623020876095877392598699725473492126539908916981667167985624111346070691997896805171761628901605259859428931935670416756616290109497474688922220298415139718597562833892757588042404250096623305571189074399682428898075639059860869721242495492548458316889306040293537888637942059820873944832850638340257516821544928164141438222143524141265082563889531086959705408190342128971864875554651588112647819071865442467644088445488672774090305760049999445315941255332586304521244291935705001967599991286934816503373165352611037027127252045517678185622485993159786196231592426895784631977842838210622894035041737037974616526502352380785792729852249858625381332632782563989289990276624437247483235162708681631490283430949217498411665091546951409701063320260557488896462225048564674891551940973114224180400955241815461123554354080538388723881485348442127955049874172284128830394219166555412125211219212165621546103579881408306895393222434706001408858864556839604481624602304357185674653812662549741138163009949523288677341068400137585028286598800695874564186182146541989437327281469994683429013932328404482119461988333937153686998627753417087017889678614061054106752826634608157767111972363816229325277108968453924921931158289771891893091900226338122671897407404866883222361860772926297464731580024911492094146468881619857235344529086933111414124387284763758902485287049791071252956958410565876467262041429693337496851739062140195287028405041982708641435323158718329456336952597861682859011921227626749381449386034539622394917650766991500634669555394582231274200490819103839063604763791688577491532775424
36049981085154505421487258805836197939518075471190265746502092234492436848371527942744695567160507374090187454618761813890541671432632534529192916076853822295338094676614429751694438672520351952551557000015563598661127316106014644207751326536901468836198114403350905143292579085601493221994089551596905365360676863951109698620655765057875805892332180309265325695585477351010223171280331256478575543678438995536339623869646830169788429609388607752559495982761805316416203153990874496318532958721534133149960154508776294486508319245356869410087990945344670660881943103072474407882040115683372857823602031954431673096593383993088391510268673024002293441910517857601208358351633615665453901596660981019487274082240974081847168545131635382795392330733152081603018826967188833005766089384309268679399616787488437999731128920203040229660539512882265026291178656588968751062242439953731235126379789666176195244866125204039369727743235525090553005926776580831414952333602510821810815993162764891959520569818120192941556954287559354163857415251157839644692228517166678314125540985869476526290997198631565887210140824542945174444968467995765333291760789589603054336896409267768190497964983419925425490604216394776930074775339427046153058182451354858047970468619713610327536497960685253479658236798713539322026971104001779257919378919685385883238184598939731435338857931040136770690838541655628869456635061971564421829316149058417349273916420101079798655075522569591554482764844549791802652278071978832124570170294532800120970660566491658547657053907572134744465499394010028598355674271450210954212464047718394263267625046547187593320128852235201122911923860564381843817424331702635307505412131286553308437970862985593228298472733750637175369060115498840197446643493219632910924471963379416216863074011276505555194556627116701506575611550448014302430038298972743169480514313895512343522676545416073698312374049514704614615327459132104914021910560951555871294663263747412824881953470743441566992276202354208350386964036391682771428466637687017994886105241777797430704067484839348842825742000223208788059489872128327428970069365927534328044435002032049913086001169028277934905254710724101560411593033965172660156254435351269209525979996570727643830775660946988835165570811081117372513410825960370159093453496840318592452210059476085232665936499468380843632349663879727980460518108717287744915244013239356876142507475122414311959935303999144869883303406811102169221346659454219659952162931193101115536844807667543673538732319122223475884210135088366030885421112792140043734150660386816673659582033933508081441900466054935309996001621153206145805693851449391546410211887621756068576154422797484122316753647223592019428407033180279930685019229321297685797563427201261234951487684130929843199870107076903708132041768487704809089699615955844774513364667695999709340891624646818459892020817670880244602411258970561354170348847646392090268730672862483655437589562900737648178074044960226009463288440875189254848940644869185360116208406357727645266233921481908209871080204351915296046454203987992313748196301349477080001272829283861338288009867927320116308494562483836404714276398665311439368643466001080078589359800584660678645907622041771863951369032589826689678098579023301555105614457318741074493299657268152866310497204370221159662545920200114040851769776030357894967729778924183056250786708025132577201578516026045922234142060627941255164625187601791908019108852591811151639387940238305430332302783329190357294028331211205042256713004329924880672038144956282275370767457885769184290633275048250730059485338800508745508974140103780378426800054023994809754225394741589167706193891314249209521890330796364644281475788761057123085616842777993105062684875978196446188709352204002448152790654157059061356075177581786457285693199361510510263449923280560840182211097574122043772846083361480878050952847604771979938693336606588676370736879144310984413457204958855095679129378614655233653874379668339581393658195909217373165159763610579909809252772275564487688767940650535002610164463109492630133145872834264249425401021817247528980284199657940564156124527724115349980515620718690610206625305550705059336223775012449896110352958151615338224589474861561580169128557643417788715462045031790967096836084459910219994992549966391705622250971973434935384484995336447250252338641776661345051511848955154596055480987654334970350340493071028153144420960470347871130530252627048842358271568481179115988442366074481412452247810366556425777019937819420306196508158871169365024021649245004669162917391666980881020035831799962104033709105566017212518759012850012128466260142455467436791057746437305188860299519626225769323945840566282970396222890008519918469567576436399186749074235591481714638844899258238211935080830508300806720343375482729505392950382782902925914012512163600494018566794628319776989731978124845559901741971284922470705996769043168757363475395344527350204657885294519539133250016894201638823330746863970007907786984836272883889265390409291943258206699600600609313759879513798439095109040058763919748899964710020748249457204974978603951089339410284978195877177417350096430661793839218618552974491728844100484364917918594786716225770046774100655440713288656480760041564693473799000867959212782918382302798900419531032438741676333664914199270627704801230003419661341643816816699492962496746293436159584607904571186719846787277775224510276332075790864847513792735612527019777660945254060292772632379538614403546817497241437204718366178060039153091461882799275298685709840353791731978879666448651057696685611122417344434643283222014867180185635679639037494013704159084796674672453256950624564987813086188333027756595631672769424390848117258378274750588291791024236067153384547096670744322600021983291212002031808626732689294298206341513579132410401538437865526028896641904718850736598475526952968012396010902134557469006957954793059134611295854278942856494686987829908591538174961555087693809455376840455540418986312531283914886746254072492399227544191015400823824476293624231031024528890553492655371994219713595640726501252348400501246231649451085247355584145835708283947470787799944846138576418161629676525332289234475805633419504492391745219309948654308678458875767772873668373821974355932457347462406350430959730409220109745582498431930224613615797138966024645893050790250006243666063969917253145070116620650682491964517180558154462631210083169589310153115325866471660572680167841029541852744995136696265072028335524406701150590126664344452883967246046647764726349879153799810201557431088776849235723746839548133376
38708372445539297973085618062938621020803180037405495393693878135680144855775255842909656984607637688621048218024266534668378750632083550747118582956239947332768192474752667946304253670888141382654670267236679286814402802291896741442341944294152186456458520584814672600609955233037999469307570632351003279757759593773464374621033205249359033384302702899167434912332019198784405270577607298655517521191078756539917166017268525662326858102880531213053773885051333397981631117720714461032142864101776768206697081829575282449904586097683788491317683398149870984094663036157258674912581730655035778831607116040857749554107908315071132893461999702851818340500237489205293727300528711864339446088315274069493645217853349518179304042885068496025662779997025973369822279174089725704042683332855271131924615754298855796742213876357962866541086597386274746581298125835708925044574135006129852010371905872896378987602679912397605019277405116372328149752499896342406927419555416460790884547426958703975778550802027724220299289496608601448162255927703636851991345366647364485030403343154249951264879286837547859709194880241605917940538630448258693244663154385620594999670260986223921274464389585440484310257466173818484971609729346615651316876003442556551688890473866054310714276746878464361150582076874596565128963330406164159643720366170135744412019357714255697450883372951902673371050715806814922157425220343700618428515338562640927162620092542883687377453538461626402645319300749969909000105094761754494825769868042266029718457727149626729746475989182831372096159224395222781490585092976820635160871630131571694592115917627662108521725369714051330722297317391521030413004324904368660687662111719351216075421425281004958675250529551675521842982481581375343490879127087380274386472052195875572749736647115031643180735907671574936534045140093518894269316955528850577081548571860275969148553299237073811744354233696185247718278764325791787341249421680986776881840974281940121869741304359193584179704843427600768220529870257607837422976853073205842949829314562453215946699025390494773468001529473076611223826075808597055651552722377554161217045992131336980136004364098555457404121460277489170237590095035458444591108762422161881751463936905366845294079405520025359178315344691398379520637204728034406340174944156501922200748662093000242102187039607354277368457913500006038363513074039130843558140832180707200776198060271575766607565948238036307028740867174766866630085421858680662173695178484466888012966482989877529625138974982046313931531803249068543182552400657542183422546701174545080728852368193394862086166756448276323957112213404000550445415665640854722732681564441467383156029132840237784107430166928512230772901205221422293604326116766524459195254649078773453517302937472280464653462525335829895842062161340173883285545845248528271646848890669056605411158810834598208921329275811902385524959220005186910730780378388135150024319522844110501359744935432400773300195501842651082853352591543441866846702372489575329965274466206679678323390976462656904267548463471118267870419725722534941061968573321041181326760610036893887136448752918279801116975098215476471715509339143042670435752643589681709554602539272049823510334700226634725391022832350115953618843541092287950281138980042195190710155449773681315783061418567382039259457280839428895232189792942907965515450593961169072528614321309861291286243731477019780047449851253764228685314069211890228984878166236478433424816997195081067434111716692161646684101684662395431310720097513733439155776583562934930615478126510108987583216718865402426903403416184916232530757701563864692827402540491022726792034967056953961591490524957419703422592691717251945719902982836136175510142736929563543689430893070042436360982628041384008780042867684753779016200074657791299824438304986823930685447441155929460280219836262279778479263595219812529339551675525141896843463991424604495784060716836480035627341109398462915386202897725686503714657261091951457177023013308112400674847297830632898056342563780221243640563232906829200278482751559167328393721412355134944876021045097515156426783216579097277440586171169630184674477207050979046694934872466571374897705145454033574158140890569511121811647624389055278579122325974532558049386833235205370997280761957002054493664571467324568693306813632528907065059060193188364165730553486954953265903706654720190170595360881287112570960520051145130712641897519263221062212495542948215730858975428322173672137669067689391660572876802992405212738005318590942198077172937211175013814809475819536355507473289826451759580254582248512716032572495863874185287936674011461241484487818633444352635051548921575131522487389787455789696853726853869533378368628299552797844778014078682772067600035403295138960823382636944709672260537417755348572953897142859619244380750812383685848661969366580854796999930045479400228043462899771207197685024828277394443538530518756271271501976353905426636131052120187152575252188010882693952369893001436172201620901559987709000034318145237702571364598168969740067921327166169162335290151586238376573470101273309303216986279775400567416274085354476847841389760077101788034684044034562219831071374401977865721270447522249805571228725827788153732507010423048160707935989784557835401340108291134899856936611641661615995377655811326997577128343261378206261315353406438919027084787233426419959179381219931973779083966412866372178364227673615547089389463906941677094544519465349737810658842167660308487252108097031888883135752575759906330095221751841520863368085088938886716229139611121382529086189030768446841139086702490127716154840441170261113255099780426663784772095752131934562672904298349220960934929912742809621582751612876859346331976968012669817500738590062951861611372993149336386192026779203498232325900886892963285028877065157378402682064454679840584986956986247652997098990667929841035843747356381845230204354503070808857737394341577110307524375452621551852831470948851289736830918124775278088960388087448374847832355676272965416972719490701480892664395831360841397849678239683603573349728471992732940872122139834855837690643044408136872275076097335115417137667203879029726192234400000254975684840274448721615224697334110836906634325144289423745867462775877845790401278720596220141973066485966140921887000144267055701927808777899217353521255207360777310158464447683120085387973959632521057323628150179885766846020731850110779375354029706527214707769278219661267618487986253202306850750484947376992427196365660447811257541280964248603913051126384359982793780104780584736674083698017560027339021891610648066941517824
41562798433744706469300454447067061734921948478364164851648462807038918218024340142832472557866944816111108358413325625196984234826534544699607670007728393230750453957024003629531063395538128628181507614861279457127116014403612587575956630098109361219345868473080453260141756844480566611485342907789399669837079064371818680404607502569013143336938077179082129644168662388105785897985213594414088130867667556574822586648292722242457648703576121238793291781418585056380914514836598667971830001529225908735084133659165420923075738902492033229897657535383960695826478477108872880440458548022614831947910413629090258530763012167049244922772285235627569426645378074092472397207428295241586277398017307466438009372626732876159367082057987669287531904202917383221488400596224315617118474975674417953207281550519989264306957985398709525244094894019492278959340813922615625510440313024704118478466797130320070137143774916425964626630476131640555890641794387258506942797709046139689228856527637145579628512958245911502873136929992561533038782127767315164890805206197889906949365981134142256023062592588767830571447020282083499018668272599975226908381093655609857046911225429904112101675798296517469466739233639094161098332819004781417671930441918240951033579537945161487269410257034068629460820737885037535105707881619429365619275496117469448532559472675413383383303663284648240775908224386915086147731771235447008941362073240227607388642842786044728704512738863040887582943571049677258034886860641179116714420700315942035843135006416534525717136186197377626958952708996551806284054276560140978518472837567327151338109481412959665259803342103839834279386759046278713330018737142705431295207410133227950845441122749905976881008127257781977079835851373232365748523081282331503201350982249822642761346922992938414366600535165572465306749866822350508111199535063674903258994560293847792256935346484033443045015536591064209726916478547641803984013264474687887928988960203427476715198318550779670246213822363586460812912977136887189231242625728604047336407268706958278005274498301812170325998767891211039427209882897485277416327728557840621723981023482991416609885093979143052598255681875894767791156502007706494971460056745554756935089202282989511855190637283907697690379459456130813137133237846941087398456609017700515403337962601297737587243906297160825595809920108730707643452503166623399336776787194590447371369121021263698991406153461398690487264239143575902150152654142349244435911265765917032002646367096416072196310759250712776373319569534663983857856579657608143385067857644338977352025191250695383968629138236935981741724565793088799932264629263385478906003767414554729226461597693015218901230279390445200276403869866248297408972658907724954956926299046322127662448071642044375556576379869740204915185841038780589916185108712776479713655011719369419853425931499212443154321169114871148343520910413986682988993296433886415945626488817444877387567007145948235022362417705123534698533936158982245345943333822084035782315662005386598786691088932154292274430871175875900262905071942894385519610632948412495616910677432367149668340620840999076593698079320464851768895406900485233863515918340806746396597158113002409714864863871839983423095969233259710650196464583052216068091481228006261037150167963532963203624355876568257739289269978608633084916371788700326756689020941749065109262633555772532092686650344701432712227609833745489774522250688437256958000750632531568442225569434449229174570114500812893013430894690873294624839308257854008008916568971354171192376926191067178766396471501832412357287055902223076804783910579231727765694921009064598291133294199513658603272979146497354686513719613551796464837621893513550204644792851101718924993216646976325375645409465469213071915243546018179671747593711993006084823265372020623301041905722900367096618798109241631742640438908119186191103731420622018175520868630575189781777664222749583194086227075689113563139163838064078150758863059716189348714581199428883097629368494135011033423319202211093270166766088715607563479377611679171110681419450058731477318290825392181929339533422226950952489047060854927897830002545343902584000541523463727108849736293999318073801464289091270722324704656771100458374934611017166427334500399553236069216944383821195563774793411503438788764554661419654404763001959559866514887762793612571725566202991800195203401933958611471719636478231705145940110530901154766119455262439877087496398009363177832018365878763849186867073909623372353831272413864905539385641952962364564532516738724778952861196906815849534955779712029527876065000008435121108723417583089549559790336858418085255726600859456473077314673995506927381751948460127733271654227718413094739839542155213711942519197241113316398698118127963414442942350643471650160877962479314586082476143406889127778340630985290947104651673209854614905454155285403805276665199124247136599856287772526773489024926501331309847282319777540206568820427517581614796115654451418034046910159346522597545648079278064827863827672546513806976628901335729719903227458446546933444087760796656550667853752375915829012915588185103692447657166984303680109654518023020705367156962903549424566622747184005919836786817696493991525162074334485464430743718384320946516497217326699920880710402444456436497377949664379719698450238909367975570343944872968205834338260730324846671197936759274334281102681473791145305875531059659158619234206518934021821722625115252779928132274738591830831693447504759295952189355543505810309140008945589497506789970766902466784442447213246767996123962182737663106104232851721193625895075937052641731120862302801415537325470495933517196795305973046576686932703573304389820625245963013483749340841921944659159913744952990175041382206710791216808507955699395248158809459158388580735668090431938352613850333154046379653497365753122210623097844824136948341965817856914665436620537965323496869863904062306313332285458250423822958690668169843181222594546777310006890866685347561368764689514947236030058087408709208384186159133190616599823386244701823190890981683741455239422209982676916577177061165938999010235705885678295238491408367247919642598049253551870339291819378056916045435230941599592685376107438296057981438389036796641943223181340176190705385371782747699367514554555707989056793571532497565713504716529342365389121059255067363345094425934495518907080325529809081048271896471404885027758552842848554216502836716225959811766742562154827426481600370798932521476281115864412012870420197516480108777848774755053053849197212997602065562016174942990323438040087784491232273947553219859449670270976
44627715000793384274691269962022698317575697456792762904045709861226128086408284661361359610713998876158486075424370002704950211601887525624766271678488379044175245320642971268955304274984743694770229789451039711269399349165345251973167410546437244467135296901149500782291356492757047925969771443075253809355863057410810004094916317812536858406577337565320420529934130516244902455056121169895779200934600064822273196664135874066541845961729059741787048676344600825937585989948724515704043126459913816553266770468652073379671107579309553905738922135370518497881032187507623413228271884750194042905202800518693833655453036795981648941200252685551016180852842454445658456447156564081911370146717077702581966966693323829608124925374501353790303287277033777181547951251032584163876476944479005163215133142136881421117371163133375732881768496733576331163719427378913896586481112750276757235381043474147837812864687029008662819157686415576194594391664836007911604276275774223330071385561419415104823856746194600857637583287811973326917298184607478032732713942931618413639002504226523494657678214232432452310308485877049330756607081072426622495418996388889355737929712759180425473153845119558760513080892060003122245473724437255864132364426306418097634290378322314907315209348792069680338441795633706105252866813621222160879203760759676563931624531578976526227999766561140033249114872109807486333382645509099604836042421565383581332637242897632908744768665258037208819888781267954053653698073378493474291650969860596977844481159667941485402492716623975877187697454887698746189935101028686219971569842303997578282505715284045408214490674431872981063006464259799806063347432773785078093622687014768262948566293226091939444715497520594938264029140674087425174654298602190887220080442945116188115069041791225232161661463308057920902646321513587718546646183607222246768336363575994104436334835583838056012155096367628026653297841571401781508444869437245774615580188604691629899894571082447199752288158718689317614961702824231548247387614736380638760776282308267502917282521427272702271236591657261575043508254893172246786153742643472678671201408696014036647041917239576479253778995075786989600132833535214433967302349273115468603359329662042122632262018744945457165708628048559947280468604936800356003762214151520599694920199651961217524000631080398550896590830374842788349891432407495984724951097763179389893509885382648426940019403542466143515006552907995387057150432737247233365637213605644510975187883033079377222982400708685209803192259527044937254641480571961463355536295830804876816258218947470502850856209670075785206590032180279174633240899475951300535646009774575759107446984972852353202766276036726237516831195390844082896804776741710440825767885771567381847837848750211402899059337316651730031765410255954325352400605750894909432038929990297097003239372336863423276017125607214212347346720930054656104311434036693895666279670925558865665582553175111492082492103175749238292531118737245150101368706258765404062184885865431304406377876754557562036176512178294013945933771486814641347185908791822930948093676031305539922565053275106762484033082594852610466223380670549201493678149212292889507387659945471605523634318847261166036844829731568163179254177839757885968194655252621202609449753111070249394384499289731519925486577210459674670744851931861231441123273546767838920714419449218804338299901001569945095840540886046218942268870182787875995640417377543600036736121543984163769296929159991685226958145363330207523364354555686424885204685031123631526111055623909845035164617217541553786833543096042972143260768071197171889808709111808942302948746340914415701591620998674032832272189498879681054631499995763573165450873148044120088057535630151523693662987136679777859682916778505788177901982539926301028761231678189462628877636951343078736593052514504860924079043449364463390231333148784797010344929633458186445432111144994679754057891473528614854228184945317763902474368605905882073618166472470876695531328202860660049288079724316364120942988204278842282478542703149156891191173203215139243581956219419066940148869732090928457684126731144209280404472574962204667823054672391681143694562390237828043319750879639724327866725898422695356662738365114302774997709917145020482063592114390726614508255002890884947320403628700442150019860011773385308892109577292898313940282233169798641256843573847022151566888753447378031920476211414282279397295378592314264189992003587643787765780163258291167568785261810984233963829904186563447643029984731530874110230348875586841991585547608311772970667336780003504879051617142324941584707180244499667673355932264617071386852152761050642751077900976011517881455131543596091497967680234731440115461064062170971146000688780140627228584086902029232863506768823336030996873942805930002948658198706226484536807457218714836206477001228983399932244528722454307315544992323079506848570741794854940468563005419063730079480887295634542027371187875140046610925619319264023416060865821945882091906125931460752348741768459944269441891342465819900554719279510817861394293877697815649706241360195914800103215906088357882431004398812850852962191879126170697707042357495208315918081245379992349259932588936865268067591534008679353881854523106114030168223295176947109673936484712813234770890011268057622689499780540776088547675256329626569805909566572977252400880939872607376921936959512555779830636967077794121858390832907126512254313319730141103337591084715628721959332608495116659615414668440115933997076613583808184115596160533515226648093775301630262968084199759697045864516327835983325752469269412716392232253462832228829790771961839337622358790137126088782998100051173233205184420774734577611594402964523953424092188494464803013006114790001619146791071179849454972710345181659579887517278986434591150824383833432669742749482952576129357256431937766138496153011335323878266692830747700279105958979621790524123706030485924436717594692466159199911218669122168612451763665924618049334346573120478673089600178858896032139263226351607579040824242645969112782858251141293191560452910520808273934427274907469984681507615748206588279828577643097248657504350623736722697007273378610440491745094384127652799726815976748999413987991629437191363171283547489372335720925646450678724155193405781213569088778411484778415758819020933389315921348111961032430355138122991114915248890969056535298165145445092215759161080591960190646796854632484437118821226557771315579484580722142862861258085009091386996458527785622058845754201655819256807236419761749502726832800789525902711114842839734653836113474628958512592956344500224
47918644105904049878239921245898662820915460645328822430589577485767729647957661181001368591527979095620362951704764620755298174034596673607183276125739653677696104486234648823107662986697116266995085795024295338274838212557210688443408374457488363575675761749421812666666948019967195428886199358150735194520712664358499851114322916215397016412708084034450867484258519900366863192794037567328907849112779978312785858012459968804042939055273994800951394665315037343394130091004389127965575910779730524268706055281599812092069899572308065071374434321426715447740519636017145577624830381899591135982966714118850463046758731275656451604652028067844446559082444932621118219906594448730884399987675142624320090720325036777426093262591480966709269565194038241220524876319746808803554243265058833733656034764440906314782278230787832414701806882028448291866960140578070546459715603746031821818723238954954796218841499715716902527243356355480805194761046371411795884406374549741570614203582925746803666719141373695783831743010407145209083528049892322186906355973553627862732729026428755046332589661354994781300463647628301188144578587282023237744390624826855470164229515761838462792640272691288521588494652900054869925549932621332485108181156534966951060453035765452468483023829113849095301695430961570829334149193686719128131657689745754739405995135820755855325236309218932706820325249164711418664461353878886018294331410672991901879758263919235404718033457092210303258136267475790018318315633654709425458014420349486424719620788715490724861341903694542980503518255571275366896493965820165818155938630618886722196640474019515594715051799995469458422910019858108253637304932012241369136228866723018389595705189873502803451066365468831086576786043096547221442496825150557093639867464234616987718601354818842407976085842482903185887655187688890117696274502269057714818411592471615072310716658234530379183105579344672691892232640024139975113727065512990131572025970530665605646245734161764510645714235716206970785204308480636334013493980682050626221281025021618078862328255680638874682126520661611226432329432968051693410342857570428935690581696844627573238997632421279893821450817065562540448715659322389514559178780868000077420785779158738412319996701253119925957621852533398318366274199439575418979328990685332341089997458708741002881481201393418230686662273588358299276058376835197449911245130023038558143464470092795859893307172955079658396048907491383471082330697889681157092972960659202353910086256270637302836189177656842549815902337767250608257764295815398464921082702783572023820784412867648337917275546532873611825956197973471657799910614434708593572316723553674804410214737628051076210630503077361921259979558439065318469222364750556945612104075868986407924201902173288112134434860734612894177063369548336704164576069197670789685872284726789907238163177561598874547274683904727295924563389691855862865136093446615386462376829153729344639133584668821204912016629329525179690833009009690184204997419554806980945827408774380027340003418619685836973717322172279627742588365179451544950033214973229590161232153024719091537759819062270308944340452981739694973164183152641842693565500404151530401892887464942422255155588628055781824768618680943429912422019873282012197873335118000670870944137541830244176861307624683026675084301501475802959412176751926602362477852346957448667266092122505274345305248760445139710787677184129843275375127368485867376644757803084961742971510153323252232759599913848259920427892974079319740435764677205451428278669118664184884350388492182415019615000231424872758868755748327788091486006416408213208604730332799153647878947474606770543321226834232957594759826817000714692138270453307171323428674316373515535825938924463886447212913049427081982970751123393008992698111225636619292195161362625734620710908972944916612405039752652235825486957633495850561408215437127851325357511613781044541650351488997315909417991792380662629772465415394836072244186660153718990055672347686524929938900993682247139166512624644869964269480754472848716996833682941266264409779847920146275817669964527173156693546217673704856007261052145940879779225840397894371089640833185566153657005519775765277032500324729962062660792295080423635259379244992609430114302642258183164928320680897915443747438589861184076309954104697031503768806125266216216224617156730345617856763272118532894775844871465180261991835588131673976011822350192581074330929560476482070412579896477611184537897677279975341388397132481243754611565471347025872563955516692326111079433111861828964790444858540987520670198244691383250055225782780549650377856938221625839134983034911030384892456840123977153303914763360073987455042248717780802804298709268289284659721933527096307958158149876044532056923942407559377796182500992715163687503965646510959382417632631378065663659434250824835164203855913658877508969716684468477693649823611049386980604840087840577594126256097587373907785472897953060393874197194099557903460292816196190840339904962675430666652219294420367211350270571166230808883872069058117677122890989911398225288291431285496531324662281002554811422435269126097846244217333333909499579711330922051091312278582165048393848790994504558200405068162111933777144689013437401268243956142609024304819107802585592292820606355684198874235662802344744723727280005452623692766340691040778302260663991118024103430279585647772532016096520025793937090548111938610300706842630577243866704735794536896075077539068697705223402648868224457188242484607245317741484653737221376478408048258653452592897616415418628732950382435557467713977418728390709027042525843157507790159264811793589684929024673428773583350504270976687842320137481240761712086219046998480542937787318957041275792018198451490985881417769715505628768515565385827803876259024768655496517970411149158980433000986106990769440600555998634920468864588868034295951374283336680832718534758981492541484048280187518504114813756111007322697981332837587052571846089804769505830666826030795583275270532142196327011478677264175575118678899987251518792762101461407127934513902233224902114408721466008643598554496252577174046403370466828400159365824860782890272726666606324466789058815816959049834587065382566017378088586812220950397246288621947728580420702429272372127058588330899312390226596292402606934949479488524372704679622911626579500562275995178692678975952416064892949603091891770172227123438607597443163384622334840479394450546689163576408534058613765195390684468914757229115132408842456267261164888510439675451141583189018526449754210556489002425262774182872278996424210026885997079319075636531887914896042886168576
51452252325880263685248310948187582736490752063115586876393366324957576072536936991262403657963563221165278927305497873380462119051777271423309630409547349089017723348744174719323075403713449356063374420585877000833921795656079108961521028766858565964521254453413608078093272767472764839976729987248399674705664822008195420039221520582119569287139114930696553290930034445360213953789133553868264321834273155624251129703703781630636163955530735997340067443279237731724127594808338774267526887651089115356756705917909815873796389902266881679648275295256923727185882232684865987792418961951483571204582712549261048975071317407849205143346795502866491796619708188332156578362139833008574300775911885160897600969887278862260575404969087740055694380639133535053878366936939345702907590846363987600488560956578189086647441590401620133968242537604978888798914146679593882956331774887525441121678887946681016729567175071649348387232491145015952166811401174988283168038193766266692759919755438026629531272898954305976552605449093819079434208776646545028564499580236768143147862089335355649498359333626854407984040929050105391779726988019542833706047635270087476718517379808753180632325700175401526080693626019151805733942728855906643870511272340284933811369576889134169694264519308168631249992282333143136194442060717307081215775839931232790146437893671306129155599347891764819954513273311371715110406378091424548371452777756511392261600666979713212147319449911215627211984378680006650110101641088123484681280439124360271141684314263689627967699402760610918732244130154399374457710650064738501569209861672785677940802029245939286265784479981618568023307568110321377449974432143020038024591687836626668430035113141041229446661494003553306048860161972229221653798452151368248341010090165532408334356617452055036708794560888169155630421940312131219510772462071070169470393092083216635968800799359929269127479414750125580875355886331855460909927906762085519568147152972967135340664593351072136719196621240686019172419986400657125964322267430565803459180515423301835429012186141267546786493950493972125048326417924001559008710320353044573870783890790965455090334905767706609606370930642267449767477730498185121401247180111302706361935738027164968383337329677508074988481834641470131281135958990389488160428928754547757968164019469288249177550881005880232612349522114750865430212801073504257267848984022054583443293593796632075861488089281070702471470468323005352523393017723259196395439324360892177872509548805365535189770140826318165520137840360071755575801297150901515011163357341682502092700504583277796945863806444804587923470178556140561458379850180084734170814034654226546390267216612424996135565404564324202441834829281076587908283709788856319797409426901399850675740604183815941600744620574369228927599001382417108895820304727057250268828894033590736662696132684627047912737893324885328948628460451356112137905094985603251686577403910861722915147916981958516492106495094616263495162791173473172063169919188071715688705967086596415025225138874937032899125877569659169730367833708962389194266653105939651310493866076208994435377192993832091106939632461599418773688941069787722592510093467426401426119922039234012527228955137282272750273105000436672474980179876502076643734763770565295574191226846271682680828439043952260483945673247960567361503828633424065534809678338624771782376662848970844725148463640814103364995992976410761771335423544870335355220637243522679648868448492063828514015365365005673466186340662464713498774704519337352639343343359766954321195615194704556043886406126250564995075649973819964135237663400029858379188135642567890263529794792584467485935205118907041528712069288410461602840144976739348969098798694364851636730081007266451655959272974045237163392551249882058544668072628769939159995221525480081720982079577307841414931688410805320532936511577600558078237881252046616403290191972282442302776892378037093915682693285567841994420523720102968964392468757869922348765815488151291458494067761511788519627433105305210027677527092840572739864240000945992923617023297344220468543272039141422202831966124793264888926893839375341674450310671176767987773123815729549532300337377182098279556742205956141772612201412204800300816116583626107316010531847586321070436227877164249686367144106805535696896805309733677574242180763245719485587398819569335179867927966540761854640615743428068206999911417508616367176266375859748754019971885881536167388099970589601408448522849127964081737400229466780314865230720699575297382013153148080685313257118416516268630124040181221919205656365696524167997346232734615173319282398057143844758327266114425443193848651355995614722873064350774212064930182135291620435272011130578641870185048238191143130658447528369429756027985749963757703178098852799790570279074080518016763267022391377803859289451447288732013711587756565269650273719953544415709282874821406435330636493619146262007130657908514588859115581470150684933700638921728141340855070720036594694758662334609768843996689918838918112265033025977550475935964199613117236640576043660630328811412967272059710290216013787683751876701680393387187428737468946367987129646477857710740606836558410032931459471222634098298417095427230395466038547893201035747584178745541017875916800802000885784613539973138344467200547183238597676469305711613430109456546259403545752648988677274187000093193059123403500064061874772548509059746382872719600306153695436968002328355881464136026952197741054735311190687682198864302713396776475511087201292571812497471716554353526581970995416095143940139296952537853037840027223880234000495349907024399080333899818249514265699803276263388415681469786487238299065291448811038221263884819684787690223402530074381003277112208665046497906699871763760338974916172776949770009884008635551557330858831198045327899716110788616318927930313900653388401014333598860173240229384438296620483429038390716188183735477667272609180641991627906924149151087077438981817587277911514241013090198832918597129757132875275812511531405583862743211884179298542625022535310656821244355155006309937260579798546677268420074977277828569643379561350615644800057882119351469281566669429388455314722905911436138581660302696413870683693299964536837336468770552754522160600518597855713768147840514648389284943246227705276316012512687703453858747016378511640762114279814747252654584683059085599362725058071563963908915315945663243673698879988934399362755094031745479819659567262729262067152406509934261002727707268178672012721049234671753956140160876786415624489359951330394604556500042074830417390408657420752027659544006736951963710363904033858976871165722624
55246435261298916734999483290426104581630491479381493375489075699260124454744567032371165366326068498633322000873768691791658441673560477859807558672713237625206628636807958272500647029272815484911113109954822719515064709941113659144638335242483187368769371043576450564193005143475734389599682174063593407799467209115715093261359867049898608112467133007431750721116417841743904467771795973510112388640455483834219266642115478043776968965974627357846383164829665263391087428458238605891938584315523502309710356136528079963834289498275223269497722793983307831457447575572240422927793669577972569251242518931511248578646406883586957447567369667802864130183482504487505322304162956837681977354652242835940723542630935879960314998621046933623439145854013527708319295989010546032406558698820571814061970732651449548513717978211296495202185100402358623540439245075150679464774192316888961996396095086160889649379973291960102025718473354113276988688826161627662347477828676256628354483832297660632153481227564964191917695806862336445477688219833269862268977880930661777888678541503395722781073035895923187411224270048914750761798662338130069909660267725790459891298385971551411337954870668412754546267545186977918821657324393278632963241193375218293510339241427047169148245107300436204217950113218312086710500636936920053752743287942893930660445451053346299581912823618514112356990679117562785324656105793119833326739935118143170203750585322413835407961742858345305619900141423377052821350336927355055178914117360911560368806678029683318103918969803889003233875579925278185954681244264738036757950259111324584993233334905436193828281576326354607701614342695780709049328015522610564497074435752938132967109118768107978965260823281940389318133343436996841804649846541386867069361148216743230056044876289439807664088028649341809187149124080366904964841211073161701399128992690432990492284177397388485943926635316252345438164146039103151901786690315223639825090016333600754592740061836998468436447555905611349237493206691896777231529150354711519158285996175876244876095367265552137358535352968363330554546096129103727348856251263502404701318235207708050469686286489885415295600645088405743009159914224501720943036583047566690945201283520074274700826955575216852212861264118798524803326381398330007487805362583274157935846968196125076653669982824060795690728460801020931552615237732813619270545424660387744653962263970710810192420592338931704744678008619277988380231021519036656762413245420592001336160842391690210741399977151587734249926713439644263602843055064374995972449923674021961025900056876969061591353432787627433560515241932476052860704880417210910943124989134428421230306137012828316413794948768195394457240983498991784184336895258173239693197708515903743817897348887192560414661008653711143518193715684935068034604719973866274056076827023530434853707018266537463185558578412579797696140325423350975120502756228734889206276697992433399774693521610008712590568509645140319345360710571536184186173912250932723046400561299246000621046246626228197590255427787246523964610745957589960920849766448346906432053674101480368690247757333197290254899540017207369871400606792902380549287796498124908853038206333144928173825667954719637945743740261312393499775812704443434515231563423215897980931215238713524161261937970126116340954949910173183878815988339836183492842079512168252105192849022486991338001690020485416192055335251182480317583168592881619727806294956302374231543687419918664753062067971047617597931323746800229807811772995654332294299735661374457747765261719964185147672813762805055938843079420875000538184671372646101790531152404010258535394322538935347792416761490189383657483045648552231102115540847748546134652663746296134317911942576410037055077530232865237610333704007061841326626681778979909350022296992053045422756357196651670650371491949617766177939902017529940774345077321467937629897130329628707041358420687045246760684437293678167538832890962258627363642160455938264777502170871095018078599040611425264802567019822928400291821558424476053914906506570989512167295635272740877641751787542235910070022893272341731864751520393745242390147490777436007085616323664079286405510511171190882186838518287721131330927218388996158136554045709099345003512892869237426383619827796505989405831285246912226712483086873046323912794694590465171000646955319939824850498757053894088604151437612831569969380494453274127273808097987925516195323131945175160492293267778315224971740485934128336962531201211405679242690687148224796535836305227853211497147426709709534170004583368250434514076662097220196890605552971095994204137922416460971688101179157906636568086971436486926804688538978636469678274760940198600239298084643167495813097135264912803344485758271770119683252077364414212093130104502459057554633749453192246538184252908821566844988987694940971242967049873247670460609336746162183976188699647742700620117255671739586468690318373629008479772196843474580197995561043105781767715459529354581086534298889334963991526771377283416511896050093332733374431083550306891288595996291753530868846247686311495953697563928111998396700475253085409460596167962439923616520675795133610113943083575553097071299725359612666646791537668356816424095945560469157037322300239679779244400903511365385093951986613545854476992552223706328674096334314194801422428624391629312340368516777934091732897597153285287303115246769914267135821246292606123156303473280427362830499849685091084429208163765963288791176875096603698540887123970804008535566103738941215602021276321482550772958022133173638811827715523895635749894291851578818813238693912686608681021644119880501934766527406296226581874291571543697803961023535337966811033599271614255039553223200128280714129716440384675631707152102128186123469784781604621191206793353460768880414476932897097295613719265880354964721841619792580124053485574008584606735919889425173828730912857456213624566731378923968556486861677581541510038139136290112161585518999063904211747371077971380685725626588530509015429213752464900566861972137156760198733445105569061880955853840277963543500516189061799332708904319054203128193399728929945970550265652409432323469365210716599214173067047925821900188706365639547766808970960500919036851279412352128848971621774607516590232975375859660229477016941017382725979275780117848917390859720820963557145336904733097164322599550324471231865641464267013140228901205032736151953896226075521788109092330937905405316454811733605070158235451966287529160917377472224444836850608430253134145152339494085171061304422734049129336255066233505156859458711924349417630857232802003089714747946021076695584419296016571826176
59320408166965015464262469827319647270694680815087543088841557033397641482504436859428482145444580968471484672397529988878469163147566440071501384338226130796634793809376810653230733782391574292383903068553203904448745977130202312961278245903587379894676185099662561512242426430797016743228289367399328277684975747344097351302782652366555630489741656535450373574804857809740243324107037424352603758623799551402957108980247428613357034506716990316934276171207097429222986640776218628517627282418927996884896610709725253607585284039622083087397728436658013176502604338179315275481020595068305576729795456543875419125353200378228815352361371869988921403567385959040502149980579816068125918296710994108353925252544282850575633674233920419298438477622290522962205300849636067652072181446834667428353889303511783794465096030946189756163201478491651682342440572768175307643345985006463140059477024564291830809587972991580524484321048489740987936451967571205004977836965562403297621433588669800238101471981235363729924392753537516851868889500467088157796921088486143594917272566103515825572747714240106037414821785795390293703479085219703886014046131088218580245481570681349624519789943261185610251373606361068091603290266196998692698177123926643606871959019948653990335273227911846085912618248108036930185779113857810311458648622999560136945876223266522777016733512641133623171936110946690575549016679207041456486829725907396703067717605125156259713780625898938662078149028549794832936141056915392772443427890714455245133088595170972892123274176185428700625883463778025983094390620555409358470660557719466278946677388678965926276796602550255215744335832070728655638638769361548180764758347309130604251258277193100894363112789026492339885722612457259418001564177906668826136701373800980223180029247692877451019447059178508530596069457850055483126183257848065642707244116622708186560959870565011485734030147126655610235052449379428993647173509717991365993711195102230266724185091154731526184157626758433101965366964940966251604303780211038193574828950247542383971529293645663844334452291864734256844353256749743175688759595545475376652379617076385460970805009963436123370495735832801423750730615007100023336515100780221737497144710213985692332742989587700312090576089993864480710832910029962532793889787777146146234100398615777329538251423651555709851854117389200716107484237333424920207596993749699317491991690143080507912527477793164954863980019267551268806440062587233670554935532779666102674499780067029969324415203780304138269543581155008945512053513530554445595451034794405121848006838312780503784668177550048485143706450252378121834973676224877924508772586093181354209269235634548187864997327052348676032917423629761340511104250145007885296163307934486818895457823238898510058868307773515587610351097464879589273040567143748405437055810532378060039332546955113253885194518443570456523804710780022448218067249270069161148785453951092576872600610934514171712888796743334559229830095307017344890062332121532447745128975324076210531547329640800111120793267658178366579420853814503271283241947856222009097110644095625092177659117970856634190153257034837232711960332972517792344934400512837452211694991609839386833712561767719013456482496704763806030255024724351466281209294692415522243843000268952854846381463417818073669973173818377990613927274280378435524802945399348569210321609581161799095538135157678608147456629981536174573045850716620223782609114665062111602908317265949321023597374448444648110457278186623792917458982585027826831183502971762056609096404043031721375135916404886604120195400547147186753871390688505609043054585511103959914505868442200751356703946850648906913821636683751735582855071088608030219970100777406684506663765093377772559426535773651864977913112589218690386850713060429452724847595612916750496985262083928291536777152043583896358706698954683878581657255728574017708243981652501249141349834066267296427347399188127619282124019173008693705173444651259824053590135115089233589027909230761839068791311746915297550742612425219484374914053155002264279382208564991527438415382910860863116886349144001539923777218814353214755319086376387316291386595535242856265671259916126874091465099419715044358613339084247076366535982114267704101277219996931587694213677620786241891541960457283824678163113268215216274618992307089005718706566985278691105215062708781105000639178594623975743706236264280444190986854559525873735707799964205044826487711287208617308126977821557304380234871645645743634005637086348251394417755740775842917204848752189833729891047434185285243937228836100879538957934911713232095844481163021291365194119205561455970322804900849372939420763594816219985271434985092799943190761884461056091867281108522196664061438428753536017393387801055228784400376277781000944033421789829645420567645366395374874676400907479474034754987302799922484125589389254408422416426927955404846530633198848008827897261341641125064382065743199438239430034858327744740212741828047369438611239927995698383236276043475287810434982525610459372367306613602917211986775457404672393555274766255885497491841836527582034758243879914789182007385515400607074423586961979412847450094390598824258186425158329560618829909403786155150041938137102854972996882735229403341800367923541473321242417474852308893764549059097689390867699558237315170636305664078948164213000037313554609064786772585751981211005948937853518039960732176136391417928497661340065130711432595526601155972637756130823677012972847431476438279070525218871490317101223960669291583324236684451128556560706233846529084040380815515731104739902578192292430549185815945534414340759364809471740151382499414338987170737156575729903835740716940130680207188161630571070023984857167973664303301428874437589731984552850025935920287587604675435056536042690098678337934854854497742123970313305587885873475199484067335873793664627294949308389264458378593976750086817375933360523857155160849889722104289720065825765929625545417902041530800882904448465836517289405056711646229875408117457546830641007918787877869718651837457597062026409365937465242203747597784745264224841784582738021732886849702345754640092525302653857806554209476985587303155663714167423807767517242218945668591138691288760305015972952622960577809688505191747707015565022637142818910736326904943899079762342762031515687037562432187286762281182629982388975765586977532338940788772093512221348157407648095509717697693047126515998310405678180643949486764417710127351702815745958069696614400322784736507354711409777038732553766246248786717026685724979039122424146804637039681308994341493700294403832415428403949099260924433560707120885629766865229185024
63694803265621512248785391167131163091472328325489905235891327496040412482722378121535570016401097660002258444128166303353067193565821570523560586837851958606041216566744164974102599584363548062935801389067514201406718219996445717008061745128038441431490534878273300582667381285989798531632483073751160881256244356349014245621418621427623359279525219577156004783692368468691133833030513535260626778933974260133792925190217653970615772994473241434695347784191645075399600578394689766007295534376662879499855204834878328347471203120261903764941988345033843532353940322826970822966053531130207834547222528656333528560421230018356898085803702138824195327659085106572138068396069336282574031773585436014757197338226558908749000351327751513688350131313941409183352202796756981016923381486383214830954094418246832336962593316603322234632791197195122846171040733215705283980727459403916383796230328841755515681786386808442409002671542006966933674447931748294511922831742977600102611652962993177041374708822216553224672460857275755796956439221085980090521665871135177222332389374233149655363347975380002230567202988914879664753069348109656291308609982414806923263473749461777268613594377774121945553862994599591255266315974827810919623356186520068348640636212532920121927474647276433327495075422339208122477039124574788920471617473034636052641954925248427404731492720385217873972363345379365905353610970538191567131785181873228191043517496843997030590092527188588038683911368458884778742627373973621649159823200188211838075569670932478025042999646789439575231986052008455550207164149083657137630956917730557002662698178059709824114297112899314087018836673996181883714499877091384059078233342758931386862968216848417754529480044407033069350923749457902849526177955238567087139960606448370317825251684791098026066091744793767691241783426902609692953109233440044318072208595795735408057697338611279343273007509046763553953618285732335755717200496769077774938339031158288593060433004690087695155281170059111166286271109765057155320048067213895254902701917526801410882898227828526705906526869907820122219340350002809548995601184418501005873813103980019672189872982146478076415325119177334359767906411890365352007792290115299111544633355937116427595262272563110341069504424080800196327262545374799864613771036782805808571973693008831824996251161402218168333944609787390494815356305045640569990759654725718744615406262767074085544843686455752433368527577787895643381741255749090440535871571169250471196688672136771601525061628640395460700287928476871331890428953603906210144968360202832020528021113334438020645388512197344911726640266014553744876778862101685856839383780592889581231450826777325568654056895704313410887569838489600642445078169804853031252285170463449549424766548439604473941491604164528005933170188672341586126405412590922883051075823190834029244214440710148951353263848828400983060382769572733766310613077985906729698046828710114150284046395608339591288846420924353309469673801745050643901892607965868040117039473079724581411151639270841976134243247542212647848327988438422100161635029724452709796876176121051316895007833380258781237835921048126961795252754541558596224903100367000621353298214422813639565872110764183277828244060635847078576108229432690240621860165008787761820016555878417928932760872330037252522563369686814228363253151289161828770668311833668941115680964698292546199964667505764356318031342837267738408044672984095506199626890259488940785798340285911117047438991881883950425160551354180843808990689406032013872471114559609211157442427869005854999198227128494464821184524619904418301570506099292628488120325178256738172224415239832673335917770519414812893253054983476899727900507158331651989437817234196471411977691286070979829015796915602204642386145225065039350868350257206142792099627435427629638785861811115204839902862316803100373224689216621161131663194708833514693058192696579225415311404652411183737448679885916269072765414941037326346850252696206767377220945426882363596644893644344653991318444550485457965637105219980232753059715277885085971473898217722425216270180916366172573339873730581052136565371899370738191640029507795667525178358579161920769671687206720156802388078683266173289858396819049945444471637997005181025997682929154597374000948454290999682729474793939807995627074210132007547263881704855717130750420155551322935646197345201004500121832790053304309178890646583430193160429574768028240172587064592659541994678631112768616946231189726486525756580629201542427413601191377616951452664467087124749057015280820436063389936593252628131785445031980355444164972091376244795527396024316122741298983669852988677670098403034144849229892205770764991770603735990955820268745045770891625047885983385365390556044146553515809765671943044390479699362770790902626192168229573028123153550651098518123098810120152265692638459459605229075163621395893074499526376737185552990572242162806015697634507477578428780041716703990880410980954349164414227162435558488676819416288787187729846169970061888658832501424370457101359963567001257259538919674943512127241978486572340768144812037678672635760310948182656542700864078104777427930798886013178393401270098099933750011240539081544271211980995668976098736753024331827981574313143614439328602656422498094514103598171285617392282202169133253036800735732666345729016181898084369661081843518184577124185860831083367298528717119256487381699105044341455180178193864491380467015817728892052773786965734568558359177797578296336863547225850792606773149073234682606608161549405466413880970267215179979878258542674766567786506468617096958039890494697119276099728286406709018717915603598746599481042831275839019913926197821075932833798363615364026914580416194889185224283919516692990565461444884572984764917011246882356712919203992565598553599808421618563459444643660232073518330593405970089093912786320159947843256555959056377427321557803579151051811447589580231335977297861973980411113162247929157975473188774012980326605892190632913421303760133321468386464909144004783272576497894931917739852920939590772671792037277928752377399100453725281010739384143563889284202369621566785010587665909411647237705321846156038696590532601603312380744280733319331611620529549948768621366400606647147284043275097468860436420652678710383797007020525715716833974736815575939403816917599284325442450653597742851437994407426716033157686220633268764146408111116662273927177622730490446013013743246790995911069641635816482289730370045889670885000938383561872827253071736766437244127609002010929147316805407327205387013755829079062691654746645369098291841124638622508010332420197714643582053217640478709524601262565947305703243776
68391774237749599055649167696348903905078976661738396541573104251379785276910694769835296630290224517052956825917579376337659684413926317192512579485785554275623193295554897440649838040856157976208354178399086357764352987393016897697224040918403109644765817958932791738133536767322151920747584073258698006757527226575896536695526044039261789777804735122775997308994569174452504934506295051007433712995810297645109299532039850731409822498255640177282159614112295348820184653916969181266806704388652703267266735375295875097884635425824507906281277819783380496160322895819380487846351408597390141765824932053343832108822785728234089233632975640493792706452943692502001917139432243570520420291603581086320683987075330287923601195411300732126490037547670965325662944665407742081844686505436944255572501000916572635712397567539860700674369190287434888751764692861328777067904283107247130680848397614666374770221918550066490841482562387453296071288744428441258121211102949867525320823416139298415960603318235693582452889923459873700402580697793999523224418623991234141270433300967320712214812637831230688173297091895714671972469191437753298242782229422682710392750336323207742682898778387330757817433542067467264084103720571951782763499864715742401274064647365549311764709023480354153278951635000071676144111387740297079882185485726480930339932700362030094687979223829145822636487544058382319177797608492088074953501469560731774619286940437187615076389746472244112641045552223379011332945143082766637454756630487607722313654828306118735449588119175048593447377926626117925902364011304493943550482719709426216575018398471309607455204566482443436144500412694753704855362993275878534279186028151592179621093131212847611262468164653208686313179362827847616865035853406449379292028244856019306889145457286666653471004894606202624626221361815378802071551454785154980727689421358191668469256237600420709019481212729568399718880509521991370124205289574535676860153638846293626631103076685735316515987566772124211506988047557636681417599715457922489144172099453525315807176593554969824432785734799833489895697435488815130263154183734081649392782796102607982373036290178278804946202575018488374915064047364456181091248955801538438335514077015160622266500846300299252733231791088587926183992986397620370265343568553541000733865868411319131880723515206136133712828726428080922103303222189606508870277934810803464554336499084541415756052493689883713097561265568276953246364384244078855961950278257016813655591957580275116892920854848748862053647477647937365717338552785069627605985631506477863687362833342230202302729118275423373474481708622312148570023190637708645397722815609825060382054176910193597928444276193327246474080697307209198850550053868844617828757683101575244531326984495725261688497664336306297189764980487464193038419642278850102290600839555227630641952155015255190337740793394267534554648497139198854904747436914841738239855771096613534974202094921124142361900466859186888530404020570745061355592645929388079138575137304622369462046455091263893470146813475658925496533369656122257509464691638628070019040494850362885800447727508007149358330919678935835741613007202477410913406969211318316581023773170295024559538088362664186605597536384301041935381773092467304192315027849476747405502136419090389246565032411485329511525793723106218311911973238972573455393070847284473445699874037224248242354330823192950467108898147257196614608743443426231816990685266671488587171103194766884320394637671975265485837465903883809257324770441850291177820437934547751115393383675054779813518622934515929031002505305949076812787297283657592022588680288374515185334669756951332122504511631529888608620252551530776175700994246712084804072190611624754388260781688814759675074629904972285271136967286290225871233158389043392905593506752236505268346392406478783518930927366865026843601358561287936670509942840330046978855103964168456057943625159482070424247282647095846665465925362906271243750246984885972284760913993665127721692688381964636061287146816481115721498514680981496360214880263396999073407195440687625977421538533949005590796729791403783500954799518468680878118026835114342267782576666115369198570761302501166222562183161225739185752635702202486368647467299172049612304943488124120162345388571040398626117367563806953583434398686170501064580886551092007368800002626588041214533782556100084218593024962214844026164801985159031703780751976234967019486423709534528073632370831664847324449803587582607703277293864801931829624467745638375498226103394550117294968021867624007235179690140883423023017016125290325186786027290303423757020093249119541984850250855014161874612839529533369824692309452347684528139113045064143349958778475637000659585241183144235929362119216144895379190629604710107946640628753146717708453968889336593958158190108186910453193172910641952922546242832706572987104019936071655922089338893896784294545694103661036253350708544316701221336087689834436011852559552132531008164943900854090531426564537665700875445783068277721419723789886132659728000161005476180150561010763333808470922069540944684337371573474254681820163904308815121325159681600302178580444541644958256168069319050481799016229436936160630507903164942942496470005288183573358189841386371742037431151678338418640097991225399283243755215279821895614787961110135138446488444876764893185780280472498085009992000723777610699184177236010486285058581269478794963978782525084583694931535965072090244430275975261143705634015512022691556383637395170005442315840118917682080521835345291622811291933609394752082764625555185693269303098200720445310603484536347179064881856150734147595424841686179137840572383076243636372751438649786897763464143796576204683246668279779453220596464835723130137773363232036866122606202864855976010348510459605468230594020060679277361203841710767622882874388798728695953140422480330790368963160495435264017644676910536511378743542238916280989034220628907241967168916702499394307368728977305021295565926409917540171424779863611076643641168456277974655820978029236357709807632821403990062179335455479213519752846497142210827383869918946968340553506742583309475084259705474280871858273853598632378691701056777005960142146472162356699122286994807889926059924359696014449165272298089991988203747638508973465938363960087432698779539078276460785967849665113252695186571824032571585993137932161219772778482162432437896790048278799626798555343802620671916586904410877046096328458801067933423038784001268538918820601821677336946390750156238442188491112178578034730574711343916576477074776097005985014747717241256496753116773487685872598468943709428562031303715574356585798111532540263180313686574758887424
73435108416637464145281414826359550219440223264828416913383996788218685159958434487270211583388879322309960966853992153213581149433873614823891016240012363120758646305873686670056288843293477587006106819552256385719412938863226968596238741432376790117242841428076452894315634124115550998988614366414144021640991609993264421746737067166221281769524611006566363293978920311470806849745789787550894912551213853351442563958894815765031716900793247902242629426716072148668901318313615233245207661425700758508725743936395517467278826983699823823192880303264950258833210102586063579570151193212330972459255443407633471587677144440595239272699833410771373241304680330556394662160790839535822868713153041040557872673209857568757532720209510478326032811634264709260618084214245978686681470973056050441964739388965986373698317303583413221448015204428633421729556904531722940152580916800987921716020520322249122397245663708727829197412781402097896838397610473264353971924022770442537196347120027321319233848919062846089128060420487025177879896532756521824322117614663917906858788729850991905926512001563157043283971247546000289667280747398178408917220985855097800430375502500294535159258387912984306390193350458303031197955218332113830464532105363634487458154098356201712776183325701054296707717109372759201673715448331437824854571548550277599244416277723971654213163522668411299959682624510527793883318584445132539169221383112820614454470065004405187242332625712004958880457708511418235071953189225630832267017101895857925153549235451818761362214207131746052016822022952866027797501179410043946344848351541280055778679288008142789577675349507988079102623400695617598282155116582141552599379731102805935450488167582354326351005509856668622294557044281930898126716759062037569884690236291220787958366809108299543377932726647391767879746243263408786187242637570865837129234086594649279443782480484453115269951008889978792246911845532192381869423294178210121624895961095056574298455592692553313537093815107222443218075134930735555434640424177670688744283549037137675824973827853819943551419120285153486336891734133882689567556773235863961183935091923034386150183834634218369203475774773848541404096715293933572652991964240439264784486409031935042205407632804026971375617288778247345445177988817788085628265367285348155786766476119313786911704617657128348205120608914484614118802718218945366676644409110705206936092619636809829957446143614324228449268123243030092315914015306874092000417766372996774293223416331975230434418051372934847259407828502695496903090166092960941912651765291557409171292334422694273648421363634964827406723207270757973502935692437633004089920101479309232655536988782369958032810378602182974257976976649834693523368318244431476720033194307499380336313061472859762688284801924205272967224324279934211767760808777920025456096323519961464860687997846810855898712975538367973696691304997102160364134859172267100688993285154204297266287550345228972750102675391834880847520692504565323218945960241207331298110016690515666617379659462427779439977129049141794264527846011430965545210315263658052759844255670491252061276442951102571157054671291658058648163943055713232512959105175272770690317909991234842288683223596000217225370667327185765732797315176659963863819184785707960204771131594530942970476723636127376258946734775295821795974563073053598907967738528524455964465347705299408204774333232394620138495160303266162890096617231292522960622412589245770564384283344441221624977538653725835245647366807174010036027984374613617584204025372320094897740526264785142576885866047675366194803182595779439788078339109384748249782218774592097930216946355266560032447785767468118505136732098021309603032930041078139940367156575001639380403135918213760451636280450289888256478941807809597320349880617932354313600631742702741246219864846352278432918032480909171084857485470475324909789833035511725405081568762195868650920237767914569192627731096536242701401700509014841626303138798001964313052631195465118685083271590714317027942636810484226456356891166847850012066486565961494221206551927208415331226385602328691186048278259457038016816312176514883092944371821216621115169160304894555517706787434016217981941108500956611269058309871690418530806667950793350240534802865155315121511913642257671198494356286040514724560187429631917388077022920906601183996755511477434270280678991406286755425689336606097704529698208143479631691372323054138140083196137112450364761228162236210122836251900572692945993412292176435681464633232230917351862205023276834603712909821814488074891037459626983608097884877406646295612769640404175738307687729959703404857688719920465717078049610260462384431680590136243867420670566749367477582209125242412650112259951469209941879617043648870212741318275469830297862803389910602411888464775275528546580154727303370562936304105420079541976933503537282535962198843889943224484608634886875636160046838211046144402915904066999603060438513106773581377852912575406934443585756960746325075088728726886360239551924840837135778091728528834362314236750313667663415974320305675828434513910748788043513584667996239098122430591508607650458253612767700180140252876701438381762001195702274954487601218326086958545990741207932086817039423875704460565628473483037328801077519754919894416637096221518442361464068632592560026735637568442025029196900991628464889217771675635135869082558291882503933777333178026845784999142396833944592245783646650876446982258106470547170366500279318813586892323538761140765660444450433722136953379048862991630355481096889316608590238424637375488006302098949686031870892689061899632026813214346380858567794902578196683567029223055683611808312573187270873634446280815843510318734018971586619840653332418805922520661214113122142335381799865730991897824481178651852496579853778292075703446357952820919834326907834401684591632118873866415762160986974132136939173404060227363569810158546408845871835011332462128056501289116637300736245765002489315692653148170259800935634631273258915809552228661947066219735176757966989166576172054445310354776586530242313067074121518784881427033488241187705634948849945256175499377701187733455569845657128437413237054504494201885826366469940901899652294774106254183636856502258798808315282030640177074754807819713559278473008317809684260790080143185464784863787845780589592504776493115502545650643740450154844774762376380888032985041670144066070183926371809200095419573016243821598596648764915203799056167535981564227556264099292509420928785546512280194289487749894388998598414992737942639126690476130329764270790807288651880810462998875541682049662670382911663225915150193189196658786848061276772705217540670058714945920142856421376
78850347256918062698089067348955946732441345587344099423609382723792072714535501210546021766413903384852981381918609076273238084965144022566478178554764496559833721148239674238710725765268788791575055835564878634918010001184201811786516105765064627275753502405925575342192548216144474116419056945026127341195493804482864367920646724547468950274827303435081042900323574112789312269597738262805470396235060856311646451656460380503689111122909369049438174611198189639027345273602065824578894713638006372919342700210022262910739828002058267100393776800641380846188843127325987024907623278155584677660094705486441139306004632994756191862385152530977795551103279597868546139412391337325685760392973479078035468181692108400657918596737441443144906937848023809820325753111590083939702487149612258455791225415192983682853976847280415848543307766782933728075255665383686055622075071913485016065329083512240840465217811526700024041990455983601873177824883506804370667995344998952503176393602795282923148239220894968730371630165475945382830684556013263491543438131111764360296817921220847297278769406516315094854178237303597874931874382831403339068194726363130911932499377059582814719134231924987322426781063833769532663221341202242142098613470119709077832623505242063428788223187896636119269981363893913961117919078348375806601940189278879625119040555858627892519139485640245296400920747703041220606970540035214640529311212563362804349143452551228593784643763546717503245347657891910540553019788641745997389024998028852346599227436147841340942484607444354814197341357608780234714923619021891830868475601987327258386620839016884565733581319460544622625907133447995308785980501529841316514249933742956376648633426750294804590419920387549345066124745999329252796539036006640749444514763990326404049134013673005365244988607259663841685783343898800262538315915195912413218430731863112665950252706054621091632439448676166043708516183388942498827379097718999917048777633076439083470415228480703266094563004692347781754712425149574108954043921840665825403623287516329651779428102672022631556477804003456104539333209099438259298294180917830951897503665099046609399618728535460004562845505545485320346974328152116930435260110740872030730913403737160006467151374310518154790051096778690036221463505717863382707961841424999657269518791130404427186921043112387599203873328755829369583859383356568429371728986037930826821857540841766404359638064626210449582509846116027926610177899022766907282872381227347420775722021891806473449472350859700767129477962936363451761310386177118835330048755140976744324297759600241736381611089709974403955540166438033728331585839752687068054110269776658593731596650034649457780953267766438517161505245457998913122262484655588331656381979396280801521182520060892568085126066649574879546245338169504047143517755212919059059355298336017523689227036702942760995685229607034610060269344592528788383726667869613206908991306725227443415341808016177986898341542862508699668039534247595098480260586706825439870204937073944735374321145651686063364150741063508895808226867875105009794595278374815238482643405039555619964318727622548817565265673220425359877178526467673659899400813228305224498555691813856323571403059062169112347965719411989648884770485820089751826911299077999114321590368340855683129559655386599321280615763316470365834788683211663616541205687700772925375892701629882401031914958073335215315294926039201402899093453322157863481300589468857316470087489835193137568391626313082082732584891696332077821478993657441125040101703791417257807353006150270305958605490049850618657875908601397270379749409290201315103501967189797564087577768695214068175445984674722457425553668092328747764029294234371636906097081930535853071304293016142757969239003555269805945267878794307334471457993132880933229299810334961940075516150785155775191117269838542658538982935229121673515630370780205816809839422511501614250503515379434278201066307340576345320309749261251324490897858629891796717080039227818017065297793629700972228497385816258875638477704716460698802434691294606991118843782547071479105900583433571747521640201650368945249813689709364500535364851329847336655318648254325876169251750236580853541511044902399057528897624403986075956591751836847194134342677963912294101866983791968235350663596172279008018248113248474846624891138443584061688945235872975833208211285252191066665837821564744781318783931216181511473439142323219267537280898532012876547768186451399676176141461169044389968422900006585546978434518278266640786581773818355230844337016964422603415159751163152203738977124078808628783174098471379403754467043296389351380430905146551625993984852938883557995743061920238286898713084989644579586225400336087232601092211805052700962832753992869025517768131125267510040997669813635993430679919452364096124169044299096943709595133965972444493627397146014832202167396981689078893114545135549583879231649047986161584039354313751509171997391231303114972023668219552429979331704195779452455487422708545048158284337560721311375857303871829863444785165429449630089046086337422176601575986031080776879631667770192716194358093598639851290303399670027780079708923699650649551456739497763541670581033917550074837651784486351716962167054265272208056772673988824012134486956709227043720404807331642956720350837296364021121251936612248541864793103533725898556620468648092212007146556531346912244167541248936430262114151690995612211491592923989064283567381369114880471520987364758412292378305745968107521986041002188859382398441499022889533759274628041371455541421176674665022095064776939221264364088374448461588959797399237679585950877270126352215209644012784225112574909965480696233721438323858793220018868200286901402021361697698503047003149337449727878311445980473524232950333699280052619309960656605957556624970564575474418840408267951830390354762091766456610151192805088335244881534085827927917535214159110971350222816158995295178555790309269234449484038973070626048242372341214715677021210505235580916470685611046626744122274227233489061881479507738816677934848583899133476212394619201582777728847086660573175438974845056286921666027965923738243887009389035283566990358996648043020530311442480726785177937719956534517336945869254361622752489477294654007619930211701108700297199731885932142063044832334050142128387411153077480972851495440430163146043565476645131844110890223181789235277130807616495844975801117948112690436786375762822632007761485127398132530298808534430404069414076600056175165257966816932574215468960597257050720595557811385283343266398923608742809608951340549565002457138697134074672032854281658347703067857437668920397500495864526185693333696435863026773128355548994458378829824
84664915686676597259992516489726802740138410383969204630743687269358588353245980382565893447412966559411814200859327929100581783736740719213227440697590514426597584882418242206239066091563505127336556285781276855795494149121767013371758502009557408368947716647726915676175250880810913885284586552512221698991519858206130163155722301275224885251458370075385384591615684658065577884063455228579337140431436976607069173444735590345765184906051394109832891782258434968507123299955261208651406441725630638582039235804594487658385332108376319470656005020169560639665471867984869550724644850191636847577202141081754116187067508784240095885611390669130314698540720647797359243960819362741881110415178300208875641942104047880528156314104380824255604671755191720351905686420212412269729254569361227287080693740504471611629866625652643152693399024498873873254645027415412725207012342381316571346655753290681806368415981505967108515690684798424389395774366769183641372225420162684538849986660807338584497242203432102636972198371731563423484997518342311709602459834131097012083298456127560883805576099028225655707458354543470023991874675560265305770773865872329071729185246002820208155577237887974918759408005929532130797434860618221830546632415277305923581359129223886747550760875491228790169231338113458919109819510270183946018238500775209453351754823577616999450776786221778792364945278918107290561714934771676392353446946841436893115604423580013643731278457860877161147385513698988018658225436564282829781190938965096323264134664280226695086189301489225516699434405269487967637950206709247230407416496977370795304969556882400000408223504009891879131733195123061891999301929341086605624572045849041127015134662746231936018641058242862020661306185380856494674312925408972114421280269481902591439078141461693720439940274018211094998540242546717065309570200670688311913399524448353512254927033860024694558286671191100913098445891085561620122027893524273210387803192709898432910411897466247073739133437141282066023658839975567176571489852813309960743352004946660230086927976639916854176732436286185459991998319682204233914335353907297800414081846410135447037762158482225673978358055754611522834584527991228582346837305221345925627595011314786601923890912736282505909383801708351163823060292578933057931657006934077891195947966390635471505359789775477697764147895883235877929743295244797027734415455502038379177529438971592754399039327491577086342584160666583141553350554261193556552750274578275378265419258703076213456644013849663069791804912091095288621125426683963965312042192354001746592353123912277072863318251523815547496534513216437918432277456388621921353632491767121471058639553440494171998331754190296099400849944843639468365915655280863427025840527797692966641536493727099377123767450074260099988565761757620096755262744258705218838755882299379620782033847539532706359103114568116145437242355994066398011652684275760678960949727683289181907645902522748773160873350808164272397428964007123228655654630365896901055836172387582643036020909693811062352002792920483741625351471318022257408386599543961869831348522068743243529938405514794750901571603008287479970378086983032192617138285702843780181808673893791957345492514876593192088965634250901973062653027265829305970335070558220287282048964683142234924299412691618580389010385546579179853393283366249869699390766271002287102926915076357702189507849294546479856077508983277209852231492516592643950354684828566046182336982775221738924967749583735150575004605844862059349744801027425264773170876574504081943145457435674456413031127382540454205236110067321594046173303394183305406432951037961390654152649100649253633163723598112538129876339787347670031784735980646884905418397473171008174178273642183586386281223569377886247797976345210478131961381485879047620450588591916084507263409485512194177844205914336979681456711977790963638605446831334496836806842674606404264280037521925813963736375588815034235483254416758649681272538122954158729634733274468869183755980035130702495200127825581533984248215245585913556440841071548232007099123843151895833547581618627511018753429591794961545491086848703068685691631972399104901823904677814282168370507014218757205138929069647866006959467936802922068233372440651656639091208078015792844963096982166409575482809364422280306424354403975947033130854793850471495216578202359303456904557204071935918282301015115595587712183765953274444567472231129053877423979990122428455887435649497975650379477797674895621661707056440777224661968320667362436537108544876190246739488666098069297822260465309168832308917102654296816584257002214532783353891216952074765400797998029330204947109022968592085958939541581600689259491129447991996626826632000518156209015895751619547958597479246470452550897523515908719359152765443251658310274272954505684476600110049153891566005446147606484326237787934360259809157588450926171572712734775337436927186567312524666005145588629813741093208583941012566942402485233058629639906364204682381276344068132180395644065323080611632384971023060859792874546816358989127937627164005167362226320515611194058072735399728739918044397929766277843539125875096626713457525122339716612165941325421469154069686498436082967516730951230195676488991839500360535386586522117250404282158201174483554475203842646881265662565958525132606707579581568130083243308370923691832224629281937345840748244645287546729820389102228240689691247332902313031963656746869511239890893298177029023032925027316650934162303309705476416485411768229053865736016069918131625729193116030063734134580481794881075413355154988872577537882451277486140523631122127922288146459734425610138025643704677613190802789162971019810785987493763643350501892855791654834714574196250527263758719303337662320361782047151110293596292207673631186273854776792318516117079177953579688151039938535279107478154255499370502600598678311225566962585073235051872314782435434440595999989428976282252440899972436271904872627865831940893861676871743039186686149454579614202950825610535759549281032007777877019188668678458099135367384871639672610767757209829292915445558848248009910281316850820854901937025986965964546889794311287870977577454259475679598894686055537326663162615011984530573364331880242443768769857951891168379590733764264654598679384582207511738159000881264137176916393941030143357633114859195335166721050396378356373267016110926502981457070031578856729341072737928246845657587142359809922564280494599197641343197276777940786068866549693219820036024407590720544656323133010767082915037592788610694282103755681298147288166736400139128935088144892586481724910900758744314044007518291640894592895722987470480803522122827851705865381539674673297831105576818207358976
90908260998218342040057766882029334435884414778143634140043973245086669968479495296644520230414846794753845747179797138006601363930661515663082677101482671365513204905642588917400919005211949007259706208173453476190838858659334111040824364035249837094786786233965463892030607224419517274292398723980344709367533493082471569368242859808737494300091608944811320354342920351760149908848354948877114389877795286203119785588722755975578700316720892549234825557476782802470221129086861288573805732903828349421363582692391392758660155392893754946828893306910020830513010513350761035797140683196974898263155007781827997834209792093125983010151269972248564598105123526640398096993751167084985064688338945351497712768085702769021636644063554792626836402473340839280353133612810906017939069787466258702108595732114654028427672603504994249194120781325241518614387368209555265276588210099027358839184284838430684973637791972967389981643648515269276195905026467188230077975185584647273481383539550941044303646966482964945577738116952878948704465671980347231445103537186661560875270924218791200048451341941371643042922344011544190850359275315487491342228456633285968606722200076956879449029179182716096934978569446978645589044281761395275967760006637379928192253163811907860684581515037788897157623725663906098754046057268294043013140945089398812423956137869028682563684064654630829038453617445717268795433778629780833063329777388755488394842136637272459764909097195445381250335654310328382108229012859729338901137479696655198477325588205878258715336737790326922648193158082415221917625626573164158844607652592172604475088648271379929935926649795252620341694737212784380380221460337417450065296647729361048372246368382763928107706947878980901045196589713322987273843046475405664103842180968709623522122548491609041514527552275373790360769877369514386917425031924190891369374535421907694045411706323772676220057604639620946998390782659516274054221332971630905196135547493349846207967299376709111391319636975469551270731869989089615606401580957254968725935177665483978161797724193973714212066704497892561814087301180505074463701102652107467127804197049706686989382136926882066757151515311050272939824441367480834010027288739612697918342212182439604120520537818480808874432541962379294675895571815677245597435061967777442650810710841371627693265046449777973668596883531427782590523909687918887069329838764549524976084079615054688293608511348539325326091805547646038259144817443824941829997232042178235433001230964568927847950288349618486343691906560852309361853660580417739664424912783144689085259027721666400209640242083672485408487601899970157320236816496799354680633900735693991564066845069741687702858462701408176870753926926708837561608575131429528429616903450617548993654548937100243422137935594564975212144980173576448589052300619587669554244902950865188086929329886835760233679777240450002245633884855126187378141926468751390415008585374958220500983510920902469187518397129750179935648228723438844529491670723123925935641057584621422084237989276771971601217208923534499695149613454096902742278540291491186299162734465796623695512262145107374818679137480722485859757233086791643551445396550804602519470297125741358556679331101940308979588330393880358201491927775533291865241668552352149460031257796188725379053753305627284019186640931727165536206556671025995130786173064583674062068421532781418425410951763843450533443921981080456804365813245008535780236404734769633732290748467723171957746670579215021311320094288263248634591236589704677821227443276786884841078467764295453499136540084505333052118691174350651185725663006575773337452378181203356842566418619763089180311843466869199648842969977710459342078680387218214898262017585999629380861089241729327389267169572335602124975115104415152453324326454207598835365474696557568233767154549432764950760618046291776313818268896075916788033889297012122987675209589112918996809425535581063478106965779883328858630235118906488676546593725250334662743521359881696228583537173828824575597536496473070160964665906540026770799115640258313139277794184147806541371380677973976057856405696149497443865458568668845004971815615580532553251740335558439668716823309252042296459015872650322684020255796532286270074753782096641548279503464052211710156824966320256089109977407599059962459365215747566219481312457028149246533855954039919597186204646212540700107552838887271177196432183877858000882464524521859889739496695933558313534078692974581059146046782642945383812655245736391085186199648063590639876439172661346369705068613163467890722073179824155665927326781268819905276573563242604470106203992787700479185824933459561419758202665849153961089516532483551768925143214645307039595490675176013133992985653149337824379119933847907329284106159737054721342200801461681204085098655782444802668273087482779229186780904140464759714681973474365177640598760926738801953821520465699049741682259974449012921355817720929867141685538933279942035657347436277438088493522690343969412325127767827651115900354779725233192656256488513657009378101770694025027917149310855548942158091240983982732980832774106304822602346089067065412487632491848143555008371386870462790158429435025858250522203938932872956747442091165349550204013666232369923609957391992790958661957585648914040208736775471278103952140827084234968071134538120775850941765990073432746775422911215976763833730229283430162579787016273622460097908065664808759627097093575288708949330973979018092310930886230599618735467804395150226029701409329547589640997407206182482549146454364272725915507997234399777417518077554741109107332332279098660563996176802039004633254384710221916546430234657719459046860135936070773481085194963036053373750430300426204845416865375105150016360669790827761332195198487170271258314704471546652972591544096952684525994088297241684648811099718477212685390453256114314163568341884579945840236290578178113889594386538477968675753449711758474720388605272318897889932331615492835227327963984955615862630896920107492725673362580075670433196633799857431324106939268873182198742184387939848613666871255703660792130417157365435537508522320639645203416380234998496781270787062372540678837845985496156768589180014431388059851578051717627983529632871134496381513484527385392878845539916247515990392496971600232256008266162078128419525744254567806465071713902354206404751803219366353750717983609641251152553403219224397357759739749749178624097676369970547469295518564624352342453959378982597578558680184489998432593114979723093553853972375659248351701909412093304372457182487435357016805158412582156532722297742092965048496818177103711241448960179858113167591042365283204130829789529528657406272866212073417266545989354086037113012224
97612001980895023332347507677276970378692542577056501055519487272386560050041195786418508231810537874079547963591478234913187872547796305354682963173749036656398719331470421316252248111932543633650026185668287643904291888186951603014393291102849160377859224741956167952435083264975789819298228515221927868385045299243464405321599615966010088266969967555496422453120493619985664973640266382206739556844031047706339873068524085831524773133625268864723411398406937603976206940829065894428228526269813468490604277847303164982584147047689177074817078915262957570433034764336422506364951131160525978543294490050394188448772471760733870859112835135918603132951222279240173644752199294747960626371215050711953475239432431479531142825662040094959081070141323104142577221049535291994794473514457312957257956227479403993612877033362281318239205777816469965437542245383887484766887689208624856905888256674552108981163234668386564011409377674800124473750844449646966315256737996397669824527591801003577827062703643485645592701259491309564433135407577563728445215627887657812844900438664850638215173032271376089062784347949310936540268879332569714402988591250129375045388633771924620108948705884872411197124698558909522203829961515250496402605994721072430678138934781168739251400444633358879360975314700038145440893540911266503113264414349374923915532524771486330724247123741997236418381353335562681184707348337153092413659222686916275199088627984962157332940105216830808156110806071405459043858785677725236498021513124249519512125599722052609034949565609195359480577831863732862707196118025812153369234753458677740451912247756605932966394084081363775106470810386055776708168804346642268282540541634009590433768046564684870327774126673049883949432892677363061456545020212218848914790828801480358086997169568908740930700536478415203943766666170998699802957691161538957423138071403071776963954304379040007925886077790817458298659444037616575060663488964670308400069660516748091737462291365101704382734724773058519237897155897015943960676499613526616152848593772300828554224855495086265706119226097236163478290847664792871895910243752485109197828519655007476752976244336888104992713633094451047422104937913699924994967935301046399316401769964967721298205638106676564629828584571641683245129600114888277483085893158834380497936887737550946181215323490429325841943189243750828603024587903917296565872235532673313486154076023230038868130650517305314911367210080182776026747940962279610577235125847919703446932171530141519961182537273845303230794838644687125648809025532694642469236753762814694914318919938328644880613095918724055101122862745459822266598031457226629256806782052179008407841747083109846962905615754845983201717933753447061560321303835662181583476709532297980982855999801619276642930388944902720970803337964019812511451243698672394435084189037164969434562569231788742781737990246074471992031023560549168185571889857430996946747435436167363604520228810133736991509801767654322868431131731874416477548808315054483212176135780200440098203580256133577619167166529745010229597389903096948623244761768643238056786804178132132339860956970053745313660206349297726804869939651804809654886817928864242576851032349615483688886872360497317302866752646239734253043302050977379380108951392206036451534577843093902236740268468430269406927514830465786193196366200706819963145464020345743988026836149409596013407963296485283826233849789679023179872959476938824104240300371113782743521795958058283784976560997653473471015709888931762381071503870245040385097100862873686588537544104359802315070050975385870449109410526039970219748836160289994857566684061423094891060147169931981824342703692918618000368810073444067957841402230484712350883833192711318914729776653041224905244888679916929365809056046824676248470537150512319648145600507307569836329602917197835203592976208392648335399224448995021334455729667587874686898709063796396185598402754966987998842357503597508035857466798123510036990485567537249197384653469142332932693208141398767163578124727629563921514173970038901873886672365157888981331304769983457681331237750566133676895066582267551162059435094118914887611726367665123842619900799076891068481957599562003971125052444344509192928485111915149934520222742339346440323818111305740232897948565385450341268053678234206104776490332638945276066648771523326591317488169844083437096060644461528143007720781403196684185524299409314643080531068175394565881326067133672286384445541954062652083328154784367717147380517840160786985169389739957881650254931878444985302898714743292423149351533165868903992742509563631719419175322266293478242388948931948357286661698997548109091202169390533083037082508867044126364109794754475493735302379738483863541584818418401339941027905284611354328484762165700496881786416735727442180850081879790429596351611883870938136328164700151783303764341778284483081900530009616451581471083155293027104700638653407076529176164272682758520791097008643019263980993275230260143186108465715320904190190770460310626822482343429290107108072246988489126160028100922632179377410821918380121674099385452565174495344339907883710121039516354137274331782889238690791768533028207700368028841270539954525081160209889767622138271578302256711633637206101272089619696314640622358804398937425301185152938366030408610948833300378295056261281760711199394485363931962613571463972715060432948340446729114728515745037056385157063392895025011243530173176793080629179673859763579927424166939304919180519234725773784523820451143869428879045995928061192837122889168683552226957157969626837051372549479870146601178340690030235533472869942123608447847754055014094751392117339780850127707637268903832884579710671246739005944527292140751564501168115543068227847970360735423065098922667942347656247659477605945299459263885466565638408324637467781497340643647229643163608851247083431406922842498905763804468520316527236406982604692811221986380269718373667795818893727951013915710130005692985392143555922582695412551535384632697752201515331247964943796428963423726918969249901320141617117078761763570450856652722537670472419142419398964430457788598821172108325487429155145004834571179823938267493596009546948697720913694892055359904938236854586529652203988549957102311094007688757030569700688221043936415054993206174200509581389950667947249239687809850857156845485094376319963479110683456051500800525169030618300998184793430017476284221723512660986598340449379653874465959954098605613959005186979610681588259580552326947426769672328169597487437806528285974527625401716423832295069350485959697325315569446534909305298755663065981868741222007679693945562710906424218493767623515360461880001512842972202463682536408259681877694184788940923342657439532056576
104810089051257835505397371095253377527611301401886307994411419531397129821216764838850123456183261759335256151522199430811986827924150332091998251819906119537684422166237110786161169731807005566154966894247229833722456853450261467220398550642136229060991093189653945105297991546526979876413910285903204594196190473932303290649089678245043194178177331916259549870288153311303770762649411545076545676858661580676836391672525528908673966605684991923298525010427855877147602093247261285699557534885781429796867964157966093849372830284469991977373074780826389501311375217714000451618954237243166401000461888715860107823984684389358878074844262620652528843507159913140781383392954498754188863240010949647705423106727015701586787962430872939122496913617416207615392821390579218778863216496533085584864991958205894166534774935690124795447289280183995197930123568635550928104370202214013970385867453061913755880480993234573424378703461995244764487872271840904209767410328884542139426738016358737026686556263972527722816524611453296043863080338571316699257006512361398967051934026110396848964723996146678224860260516285743784543896555944989307750224041020104355397215674415134341586289662179262436806078697386093681822108882663234871824239599125138682952458456757349162935579107975033774371649588824992971155282314807881917202938210857789604064925115079460915942920347673485818034832021458115557361598149109738128415483016282271662267555386550230711385646083858271827448936493657221171837310228532025771608216991893271617712073331562650661449145626325225096461011333759329843451966337694754820640049869662910945661034841194117962512557714544332904290347762146681673848365887679062797421192428528049398065847053511281666650947668633927634034852397948988057118574746740784733920947925095773253592505491535757365176473851636112077711912013564847239828056231902619518790578612592176529000197477036601605479315373983318228124646528195776345918269725291128968500133319010313878570702089861583754009426377485961840505238782097274255825418568968963363900507511872905332328524679245430349976637105791114759531942199174100838851713003267077965682915571533587578822378310022959904338779843108502631937721453954862912052760061671659549910625589599012857167858969787746801083686029205292799642055695943750748620906776069035949429764782076201186245543975981363630872618415722962195305722992932800494759788590331810255218746876334217688305857500156757952397825826485286640184343806917082424259210136904814848984648037063055026621252546769366643384866743016132042203469386503138117039946135873123513891304320812290966665557767850057722676956167092411677279252784571691898879575478576277151662347333416365046670311136200451462842085974121937414167219682806562107101261490354727821012049113956334320256140672530729283117753426850775079858183679296081003179174746730326318069571461729067123457130183536914212396560304702491038289258731498645058615739022192552580565988765127490348441200007063879576838234155404167114887538912489232967463619383041904083636647851387551254820450130750560157538826560220190500863557119299908456436360478697358416691611691843411021871120962081711322298514741084498821210810982396494594072846487651359135154747638858015575027886907415330278998137992695199392318338174786594648963281225212313632390955175679542003889805748009851384036676682634518890956467423314532412260340969208016196146539794966093161444738032923711970723695071597046378930102146254787589994568817375761329129590356402867700324704019468796427950586299640059968990047823497613966119180640099095740490062739222083803639854437633794957120658796160626935447314271545744161944052003715951204120004582264325972775275238800969407491032582333678323443753335064453595076947650850549099976951873937850955905722979075435757283242231770250860633470895306291755365067929301507724540357333627588126331842127028049309174577409220526718246594048773406074804951071505604878753663102834372874840276253803836577444400471443933121141142333845564816278765274542157162165571682011544471161411222000442891849024093554655025762804177132021938300579413970470537406857135448645406440763017434368855344324970073805644695960581222699878532121126064044367745051057143686131785199799505624617223925224532245731873801203609477660539342028098455156712494582429397105562134643842086107834159986997502815952708942310586807945355713419598736726100442957906573687108116815644079627451198408031316513089103218862855732600684921446423756258230172908721319296544434047758783870731241488349261526320860620157264802787658455718498197764539638716571518048224981191366473401531105997773047287024143633081026783823552566278183338399714147960912580432709396133730685739155936148806644150411940306633708382779283049912323355455197834727777523684005441759555659484244109734120504788155524612530163489527657295092164227713388881436670407174584455257016479092306261496445430420010177882702721674218166945203843474018507465774425021299269374089220677473546139153275439010132410504680782019252050955515641560374631376859605198821327234688975923159165796280323980650971689407693116395941509311040767046885252231066169186887396940663141822125548839511979644012759310436048236637698711803261925530890504693623944865743633433443822228544187208299756037817774294704758295477760101070581385506638620130423720171298323974775062410209609348596030880413355221544180769043894482501760888807870589391773970732796098248596345885676865354450633907666520042212631089761213063308361536483205989942659721246982425123047692997980548065928132121046972240768163256614891542982046022494696632081806483716860772426170577768253856313334230444068598611638317776395431379843180002079800009536737894294823577480991449598337902513856829525927289833991143330987965911362699261486883215494859085616218078197279600278953018794446187993859110369597362498360588038319048219132039792831523208355249012165312708299130081183324853965018508372652638525112281464503977247589916518965577006159946163109518097896054454489555087338154075040035119873021826851942588955308867901601771207677592655324656832164201766271673921217051270867085104649589411334457870116176475561276881987474201973687610062108325278513699975005253304849047587763114587596285706054157268695251195998296734176104519031470441169465505094116899651122085471697734405002139824531554725251400441939993673691151987362307493355152844406361571960786610181337296975824908294843741629489889219657746867024793067788982090692948224058461059007730463974371774393531150187507287468240889882910037227725656445577870597289651796572260913121063997146058770590796804093128302514936584870261915048633683272580705528434356515293522772398254651780399951159485015098889470482058189176130320134385434624
112538976191500017789857335084622239328657969130275161386545099414071579442598082977445997622467399559738086967642666793331824537679251311230667938713917316301155308193161466552022768345804044972581386819688635668608367531584984441090146949773443725848430383649213004946158537506704460237711966609358068388417397373331495787822755695058405798275662309367217944335142165142070950636765050224937148374689533875834669461744035972096964314324503291997147826341206424989937586188829532415911628023501202584095416957322141137739980764045689248059049932043652927690472526418216627955258159675670006222945751373232252649903761985964294527934676887062234466390639988442195464171389594272241328477655815906854699378421308812509498437401081768983565630795461934916932114578516426746788111642727494324992241043258949328569926008998877397296651199287560410059432731905132125644787679323296524198923603302872933661169798387673022528554315122037888792747658399045476324004937782292928162192927992055172133370759599156487402987581553642753384949527888996103146741877617362807074074059543923441137971235255279103248702538271871836236412826496047690862964222898213577671234550602767896481139901715260705063870843674818888262154546835197423789012965234577655213686330448642861215615321905893405711355419483393797969635452219936757339354099852685739614076910507488830268821261973997642818694852630254044138164219024180114194167186963743948073506676896775469791664041193500437749492834337559669091820010916037834194421614326263274680129592325853837291499212108052069612284622254395415603125748791822965996346839994502816263943644436111322559139397343320103341515935431721696136025317487655896014713573654462697395841324687342229181327548521047541046052586893344520295404714632845788255391633296901350948002831399211620674506021115344064366590818151972631817574342544817685672484198153500112994378660935353478722628688483932090259839006062540200322762337889758075749656571694197308298789020174928588847558848791755489201018492171444665804878227559808204521743706690324115027713756256322003327648872683358232524893149003203770328268568385652510254022583171416476804148484258622090449563586982673757445925609688373426516857482172853680214228054157557119493854868364394656143045762213642208361141727430072232330225577926270326210262287396997462768710254100642441575020428009354363706270611244070404312671477842837266708660482789989405334254594902102397569734146676564619186194369015482251898982426141199465610331060531314104307296672266732785046992824350643080880420398198192040503514397244794159474382938439168070464166199195628689537652441077621854890920724242263087518268978930712164751955453457904023956661625006031385183335529617818505877501753903225419436048191865354443857557023141597058269385628632923731956505068971329001810060671805134405052405356891368958616879225820215314726959292149076381037750206072897248504796362509967281398766650532797007887072831729031499079277649652333582941350633694962769855140163586767165386845319329989168759197062817194550215244398915893144952577466981590473190024709396405269309047002240318014770320203183499670073005601314750251552246259090582957502412746072757643996645917776522763833860121252007098920550852138833855859333889580880242071551584020444188949126473291784424426903529691436391870741255118873782195064465704110257439338054435706326158047538475139343145871927410735478889323599490673678544295494946196423171925003047025930395613332472062572862928270681656825243377333086124556987632347115244928534572757387849558079628683221885490601144430619486756604401115142959405241300737963871155762650729481830758635883157784420820223806810035048855420138298377012188464567620588598393939643757667398189560741279190976783742010810663082246148034354563591172223620129798574819908034152834577090748081849824292103950098052845021063011488294594755137364395050681805642776690831975717502001453748607749182608736257066718879100527121933423218424863067820794668663228103130986953700141386318354756596198324727845823749521969083924824479501805862833321931053320348508556324838879600213504116973499010724043577040926230291723015026207641415793487557336639914161917779658180488940940239497889070589777226544808925603674757319287028863078958390242177035926914765933010294491550679776527859199346606997812591905390911633946514957046197997457680253673583936055981224920378878028830559652385874634834745793980690249625442041885613564746073920171515691203179762321643480870845814889158017511488219705380743449484610820324784891537432676196220674932203485408409514195832520815550011266783530202607494146786171732007555516622408438655555026675417469179718310310156154818364096266570534430332083100847181513382247136223997338809517571425141119764264473341454381746667202660831063244135169647170705847034846593135031000263631642479166665972525526775130223486460999429715263058630789585814285975646814498337678420239348349679682943603128816058248694921116347601898148968961143202595785457140328936812703423098100308716307829566862817916863878102294555075817080425006524416447486295115049156977886431222542404949896547281664249285057967421070473679661669659770367938676292813130861260584668959346241974084789069290538854012335730219004079213352281208780437637247986801469950816600713665421082357950409614345316087684283189595454832817905502052302164288954036695361909540772755538913997704976819960424152209478433930355099153531045871021572880290230169974096813857947502159312639049347590634920145008757104503066463647564654318643661996829344836565964763479774776287453710923716495445400592058175811041168385338925301508018744972913412118650547054384394957518454635059652929393488255795194341630043061842645084420123406813562817410026223477726307440060454239716407030592378935880435057212530163265321629841513923210654930966373181967268786154578894809977276728754788103995501854437697114296581056939487870983051307080932605373811315808366730904497891785081696567081829247806639828919015474195920072366939868426948861326520182636517104755817013408155598304040938338162421141657300339142051872020568835700828931482342021829681015377347067509698420775056863034263294780171734434288946470136608220150895093130644401547566737206643589643718668471697119329392636247493603479493784903386584544838371500620791701064625716694552339095551516247257569083054905737598347571628996764029694951674871480682271290886080014051920937138248932233205840273245776729486761830297277163979650038092660131932138488208238291426631003152016859441315174258969800806049723472139509169760176376376380658516789116339938745359718040326249408411795882925832022052979784939095941307989828997551037020438804219171491007496355012949120409799319320115227202798941692206514176
120837805566953802397713863673541477607717743246077345409083304103126548977256168915106216348647808983809970462907266022896344316335676029875209077253001793390387433926607337422083918173153097995437568272222034774883008095026438804787754934277773852953849587676525748095409289855621259364576320613759227820496036728973769243865122688718400428372685702868008881355946015698956481674134066487975623981197775537548507510290139405801007567725701492643022109853242233129214765440551030561328078096763696128840126393795605980822362183311331992548112733739627942201308077938184108927808286761037160903917121732544903735936498819271164005297798913564845637457952477717261876263914511568496356607781299016034379013557762364811222869500187358201560386434029868920275977191713219269058653136777856091466817683636527156382247664447495030525678927814812615207403249961119563550831498889323495586212368647079208229575457294492290325403002402207745309434028701120009607085876879365723587174002342089978035119490680263795645516908866757123863937880223469545321674763330051914537476383805776963803841869802536489951346189077469473334715203538861776378187338741470413230277058696036300616302339666924758090806716187818895952258013288718309219315772450623999378786670219792524126233653025581141798082785628384394342203867081699742990203458157700917352007997964595822272470552161942069571845912362620174936288956546558655919373365491399448673408345327322352652558247586320296973938891016541150799487242000686374940927834791706459659255365020338701610773583703462714312469463106585525566938301609097787794007433312333603908383714210037622951702684373677281977787815435523081469469576509374739271192883413301122441770713984363074873384668690438089113503372650778238682392877108071326992061990170553990114972689343753957745040205411372050060556629744151402885882709819673343561431849536516643310790245139403990328380518047465037287732168315938972767888221404253147174166414664514188028632059513800622058923896248999735136713898441896716176400376157955530613342135282189618421043179192554599384363770186572843036694895215803798195952171380279261790332911791668432467340084254688171126007385890758776716921745515106154581340519656327393878337941623106164869517683148865014742886761634746462489080369133276591194008182374007637582082035988064267796647038365527294788575867208024843548330406354803065111105338931743672090931583387643833024277858410564529801299509847578032258849737405212997393640853988796795752262146178747615475842985388811875136958000933171117237522124248133035072525427307885855298570817594152037022754341363461681930888648760738216052840539487288585479737766759680449399753156162636973900165550184780150528001265975842465401863453799248381348427436885407642954118874212068635619204408247702154403864841422520606107633847294710388646124543495909475482268417119905888107659332325898153290792919125088568574121319030017486909432974693456031070407968361575355574837904140129627203901114447185184116350415025313758425780958783245027963744071004777054910976113497734728050476922898112729104080230072366132911107347887251151519542556030301542447587247517916733206167729533099126011955146369011629374901237635517576816490199553991266055900703060305765623354258023588946647469336336200996732435702639007892098933550642921068587268487503388871719907243202716792120024411922406601377280876241006296963610421408398710284135815843361426588941509538511729278898618362919180278282901207270896027973503342887922878873221548150930911092301832924227771461799578339059930014439565385523397207677420809159980253699801235252541749414513873060889576705348751533636996933690323810290686412430654861947931582831589306912176596302141593112223634268006117393248099910612656116800233269096580441007381883773109253688014053038479728524103518893575688458929931629483204175888240661305516374374392821722027016094375654434488536438609684434307764598681722067868813546997751618940635471266264253115462877392135772659930185183926042586193361203358881026678020659021478383594238212245050115500119638452544898228394432263892947839235088049638699990634187437030111067408653162878722257019600696532041737135948323463421028068204814716657001033460254804732154983884353509170035026768604750983047037958738972287078991465443535418134779491688935923521605406042456442662072890856551288422066290055356958388256716117848646555761871265750049708093614982242793887405154569411837454860543108369591507883793651117122992595127945827971093701850887547009301980968262085925657882145670801847045126016131369408215246761583016711587104099006636660816698332906860321239507773503031842199407156195007762074831409318494522318625075399496653421379035863879571834423228623438134449267931375144477385702081305393083785624052602669458748106018399203617054359502510135562661172472994064519616320659696297921338293006089164003880272832525426357214042952432435948748630179234743794873236413556452579606112667061344443930219003190280144336156057287480400211462530616573252919888397956416011467464604412067833300833271414152376290225901200738816859534731835171663098104325743231808248547289516412782928837884432786441343912883367294291625402790729222120631121754844615704799162145915285575050075085465725359477985363579676831924136903688538270871007139770810958699079893720854276261846666168128761494299512913633274669282769170413440829090432340901859618874873624542025437007059003737042973132813281234178372407831765392087816745664421027864784291639100107978344474596047349362081198270165765086029922838515022941539320901458501955400082495882800074678432124127225609460023481164952511440969997853406877722343542812772527438822267993510206085213907293500110542816321570421466533929897289137088967504420513084805468723475282805621628127754684759111437384244926493159524242772679990829604561810427623070219094743883488465169134513285919427517631848979315393864347421042053564215218183550664691315148364067915728102312736129468236860952981693796449449214551623547352151861490011623072081115460840476947005067710034587105448598792223701890046884899272049066205372165980147162964375201820946311249510789444688548914720012929049818128044633511277164717021525882843239478215652530747990013072731169990152861953993227651357284287706056552297228404403198825975066304962800266186013425193958920915879443923995341295977225045381978836915100946889636699342247574968358633362740338854130498055217746612748662134832302447578705815870231516976844285056530783282371072895024549316274863074335499396331935269376167704082278404500315670689758403017424932085478794138280402194032490815184745612594867002654448473332076774738915632604931037944761278542023417486922672092523188733904955532168013548600738963946907753557859469116020097024
129748605757618329910256857410915766706166006110206769704627133115637784801664373326158249895935718351879704154228172162277946509154301776591285486990995055110265747371034844615371844180308155272871878234740216152174310498560453730477183915996417019530174244093440678742929296916119467683297259483026632776810959062139288636062837645768279498323268898376217887515333068142130167529407286171336220561109441210429914942576633054799050046807598252390041141106148687713996289931869427120000154438033499578362536318464636249033512190697331973548164974483214447740599110791279964367959554149111093280753459033932805099328870590378065989651604268636335697042544616729452123305277873031626378881393544598566159368724832490950955859567645142337084808975820087124938038333212549742870984982067176682461091655103339621919407848443593266307578170790241231671007303916780449249153730334076184276795617962475241316900162261022256967935773334422926075479138385208949958409912765089580007572036280175964987549137980977448737580583149433567142658587333841717202145727112778256730162008704539018851919147489346050546916128315490949602736465168348698652194986913972305943911421029637078993960798329431342223181561070958987921443736107244635963344133543101963031153266188686505756866128849870613854276049943622445754133260420157839058632275293357462644018317797093405629622355664650821164408728987183936055289987993358632129856354399753900331179857008580979973129131029579153121018825304638109430500489490546397481019745581617554067111274118724274565343765816772729981861867260365848634242966065214793660302477714343445557081458187780516376785504225088542338192216430713907891128863393683585644575077292017293071874220223352315492796623213306685163807654380198341022339884550628351766557074846800712436528745166147737596378397111741295374641386076777780666846564691838766999830490173032935194885316697390774848073656414350027713557551231031320892478627478718615604529891761415812327742351807224833101883579835587733781212070679152938046858445650129283551657823073953035597274903208972422762556031679647544791086475720506043901049593914621652184125566274417170680702562495942557416063304363815193656036286694653901973794525940892829044093015526799534012640639104516384459814122463145888410572735635757706125156683613191610967315715039457769133196252058799256228071146018326382948898922674067434293189009280708661971374772205856788333839543972573299098549693274044398339948157183394430929955176562848347036389408964123094676682275068988212002417533733376857526734846930544993673429424603948767852087494276716099966127775999521993310580219661250391691083081250225270587393544722225855395630659047826665005404151757369375866930642403210228737253757881344686818108055612982481529096348309293139622955910740728355078335467478488030279596307518359798256638657864465176743214169855920575005058039862232045552687591387657083782326104292576887146030685053097319665340524372692213808375019695759937510356802542153371258865922852437401144393415308390336964721564669854827653459649727488706765063055262526927905832992080242063547798833580259597778693995757598177457685755549027385792911905958808523936882564668449524002218434718618090114998300147226568494932106866855094778136898008415030599492410181701935462103551314329947612704099122126440872922768949609973301835220427296730126383838982092210632482480215336364897192715508462680099735549167378996476852154681194982441318807192080734596588309930306853963190624503062575739532663969867684383774230002442603581120847825568213099699016685274819155712448060623242993105411607326777517278652491058133704037154189079027850186441463055339212151598695307624982440250776797787222776306323573169294584841754837793332984340082555470336337839513985245114889990621347094332206246936247169965892495740341606421607947173876036587829182656347821151373082627407288316109238452271333681409622683226588558027337551140248614511650669275547220270878636538168806194792575320227791522768752046524447600936875185399840184250563127404254777049013906499245988509132810256096465650606290476863153637142207219660268932335335394596600441954200492768327041622855645984969276481688805355691957909434159445331472037499025537867923846676341997034135786410491255602719615613620843413647928185774688876640809243870899141213092092287802184525561449266302779859540132952041470898866544629004708715069362539647101659105713787105119518461294362200955973477222811394851810054974990119279701431174066698872370700284170744653654011675018251860622775069600478788802618870750011994839642392241491322019090145262636290590997633171423440935017583324279773271611611480534144387501934130905328409197631593065326567366563843467177832623490099471634714184099454459411650504301449070820960795219862251905284112741338451923345479376965537539073625131237578466511925311186216105187253404622064161547228813497823172682038159149012372524686152960726479870715475323719795772616679952703117899081204993221250487474100507697287305763331895209219814294298160000655880360996852162940164657568119031931801512527325087362358774752048088888072029665827877443613411995609139478926452231161318931082030683897834634647917252285249907608704212938503450097916226832882835156513604923836968947692135345370840764188592243410858841274974533500752738712205556217431595140939685667033750124598196146810488677340810694789943633082668552552162651633385245557386356635548235338338009926843811656730536551657240447520667459526363488310671115299659264548653081544094406302266713433385829286267206378184650275792453376149898851228879670242412555922420561633961117267748885754508007993824393185499734121214408464109251070447168468844553480247489712038445227219994889924896845803370713294018473209782694890672319301778624004439745020237793315396220936235511031083406956230721682875397049298215401530869926269748073666960796975359619817813683542649279182808439390574746149500963657502065124363264899893770865335910085924797143688942135609116323428027609895249910081280437938616860390877454290107172740216040661691258805406474683451189637262426236564853068098353962549793476223591013647121434166019829623604687131741534303674910339810267412803137048707310263408083013715562880970498211126880796033300892342015606506768041938310777417088500338837126272811697409962255578456249005525288144683056475130645109482686928733078619023857405636249084511406102141273056065079612150915837955965142570134214570364182823966291910536341003748400575306353761822855140620107634924362787246709768351085589897652711197860123978756822204525775256950360538124331357707275274048603159715651043609868467600345469599473816200395135332524077021186466284284943121846079579745433439357595748973542131270102896222970464958515904307086599206731776
139316504607642007453672954384904612853437159447568561919794279151475717976258582451046106155909828409897587367141334889710346279713772687043567381306439302049077264706898158824865942408407863524768668254075859857389905720666650962830175848345455588014972915890712220829230930373751692232172653731506313718351184086570769122148583472383098309871431688584950832762140556554447137328451353092500529982551954868907784694607089236038623950726475924580495134286357469561232766680678314405664032706575784810374220679854463405533761616765589065211126411554520138500143568073807032235107898830293313277910363197404288040789882683572501425320878691931765084018773262368462837398481972215818917746622584239089775745249290192928142839195651146517761065632388632245369885166885562940601022411321417581556041362781838794131215364187739394879216730126897141494433950424926183784325756865315091460326647706235329166448542252046002301348066774953834631702131723682672549467783872068169160724332046870315686691148705322403110356272697856462950584699773102502355924129743880779088984431041915603181230051325735448881441921192493299681934327501175198758834186852664754869701490910794475257007552582739762281487184467498897119964965921167515033497127090269884403051076860997776855563937715079095083890036065980262071384102582607284478714262218759777023400091240862735259122576602538905040170032544220552123506436556926997549256966831182178092715263736452925088055144139235317824538046220939479279817196818472119587899147000821973374438677883202995124869022295130400884183848268191109219839951242033835496596818812718482194905341031127186166071538563406278011711735332917521081188699199380643328866259196471628902536788321200002631858905070096661199180569599355756171101252385341106771936615746108317536097859063130654820208715908957430311690205231967578255891766700348955592308998209206459448229955421474026626143930724693498531605834587781015896219309350015847501962788642425187151231758631539288672912052848313593382265065701850594473392784902174682756570269171295619332554884001025502382766032357906538421102891381867873781337066484345153086076569376525577383616891055867354199148539327070085635145631085704611754059334484989582446324610917406052533082798888609149287766070554537639000068830046208278996881709748619270821543980250331617000049042635578868632172472327488107854873228023688124396968917601821046717743383695901171388358792868439060147774303410712964130518506359536638778172087520834834782237758355419482238665516301045128589974495080457596680144403307564182820976570709514427596052988312270705907796376418790168225418203557391657695097992197157082451401496115868363312464705476335506518739623765130599085099689255514694459796066738369419596784099862977247797098222105359731889439351870330855070331587734244418394580969218428563268355212604302783660741162363741975405059828947537745302993862478749608226955650185925736464421142128882252866973804221050993445202580124161200368496532052419597743243872175019417950600673126820562916474756500743880459831404208794826941319944432598462418725617155616667675337430753540390912401239342611728922491185982030786647232916175527533358735945860898947154073802141193914839474644556982524197009335183379914610769588189257522304914793982656807607409350065126235287489344963668843381520246143084776821703852129047650395139133792753993580713931954459181218241278829569805566218550480623204976344806345716438946189628999929086321000636081644994254137930013617503660703951518584808468890057727018245624501631108652046970091516026653418261524824000118863508212224083521825855444971842010904173408730102750956244005988396610268538594380547615629489753362840096272931747725495856188995828321308590893037493644683679421300117285279965790598749068089108122405363197529520447994015426164146626862227430211373300675706442785856074661501113844855014147433022278992758769989403151039491403593803264025023827159212658878746830891783001279126419583499079125998772965149457352638893227622384470431562568745695725446188909669321529365865842326479304342626926147635345042500872384737307727423985823736275606245913502743109361566762287100648941408599187513408840463001651667807061170737043070149200079252885622223351793543235549564075293526914379429548123651388712904014725287436813510350000064406179075853081050563660925159283408582653086157127513486591883162524919240307273619837951251761595330588198711490631881870571121505128843961516166738130386165057364180884252838744878058927282813691852706760851392986116492279174545045962234762255938127360996209753102340584949215394728049707771836621167110145922045390684147238966699130688072688915689557246142097410883323217989499599833137896898010133512964652614494269753620028653599579339157771146403621691865375389527238453106389569509283208377359862345385518707276879975637601384855284441937332229105203464752128350508473465078625042262832673223994907593450861481318659117883977796923185239679543446500973539293133981329831894211311542365701479324545017300979118948086175142538499693717602277527533595566799667048889145418459744669262698392592976768135596353922147028837415172898380536024227305749920152428390257228268269832404091601539877073094338429547998737358599246243631736088116526313996193356518553412915432227553637117641154647351037839004995839541561862115162107475528346294397786065894739269545062461373443371274404798980709507652859475923246568065452168311907379380891410308193475115580927417755689283708025702682005970445294969296520376664251192956216449002833589168327896420195931491933542150489934001898602606579956641856343953830400150584964013044725895584674691654866827796039333705779655895167372438026346487574825394936399291762378637962224758015040500443713967205455545976713402186182737315916125045108208545550780505308087618081317463264606978392437683725184648666939624812639648854680816321239125812259243018822033963153829176338902141407363978690400598892207114935183838468360888411894554817319387912145784298571286087386510045687729267713254110729936300813562649654142539154573209188018702976084055913914600827631922795145842937983619246823469061070918050680218530215785483339786468131304336345751001327600964164365715511490365504999957639404114081363368464884143469167043385695750309622682615123247594003087153585508948075965787911390908970597560961501789518152619959278813845526077750243773972521607336917900836901372845456136935117326443863675959477590214009675037190535735607650798470812093647008934043577210863000011401216006084667912113676821595440135554417816487526331206979411948801663241090805006210827047021365246472913163712801279847557875564847253022132671248984645242952202617363387263735205015156846418247757497255770807720458135017742684951423700621158193130240999424
149589957770713933422328393540716277071263460254611100040816851000870709711537479016640636731944247536370455112793694590272426046051480482907541207470879639127463159723315654438853253557082812317028179029182309197642217247696644300800629217643196865186189558019091924652269211696729143740459696700587995559458622673674271542298698816652881606012668266792605086120339759339147224546629842964809559784432024195706725625786698959634878615303132384351147280311758407682702550584277958867183174409554339976522709835365451591599072891967072583314249818237125128957876779045437729416151552126846608654026892288083352306339115033405152516666640071957547524853830852977943847104461447678130726394964503440473907908454932186459975993090477154929672015008304683464008676053762248751107745460197137164285652611092817300884411680479767576294266431497770288168619595776785815641941160786743948639337958343898538512422857359852942242957670877812727913238215141675296820460268484032258606976693453188186256883566535508115623777217536437799418749237400863467018614272276807200577547201294548680213874157874108799023418208211292010708258784659325220058873155904737073154306161186075881151582158291966903269450450882756734511579529324292247801614626340666198331201214433891947380838207030811419859645520340911430944525984511651856311861541089585409998938904650730376690759388040789846928794964014170736295380874464375074183382705410021051981564928397020019074183691080645440126139193706667863475521123298433250579456958428706715190349220966458842947639971760269982963234777990826762794294166234692475995831814024565857470469184386104545649945220731558196605346452058572106327274005966530311638230289001676221182060969319107188694736981240608436852318172106971198856057514824920510847477973803613465772780901032940840456965298680781769161227129488707210585343964323415149014180864108766077360524465905692210118180350262862038954267770479326276120979515925506270525663368257044104235304952359756739747315127016932633082267620898184897485345088329300705429661108804157926745347143727369540798987545749221587385801098684040691320974638925710032120203084606013116242537948319536298799847811863983966325717468427595570150015509214138814876914969822545888195512144821680360779334241482541935976587441699361681774012657337721037333474611850211047042502067128980221700965255519506606266400307146922801897140305657085036424298993973568785090272982620995948475916890084548359245949515084244470316503628640508833501818613458219355144080314798985929478513762461169566613994596190855598659264848494898995641301870871068229343204857036502343103627385050517007215918154000513213325886233795781411767020534793783275605395373802645077059847671563049550088064123367682511383672303921071340120156226910566078695117576014626863806697487298583629068816521604283339937463127461651861176161612868324460136792079563257178950484062558737765576896765797741839399850868253629273274613681904530192898863862432022993753698938463639482494176958986028197065696308658820094546642364695064591561777330687632634321737218102636918097077895920197532594518652712780153795954730951596478737029240660268968078754715967150037830829980843046885796894813341700659657438172048366087467420938904829723999131987666062229205399895055522144966396791453583162667841973641854997624443876986604813251169216972869907518191014252411711050640068518992886174820932802554868163996859175700436768026349218576343740866290092267153016964672491465709050907580520406003218970938027572822144076657839273865138132400477579191094999737865384073939964573543166604720114832466537453637835844397269428075045102158051519175183179047899145157760144565346924859235965126058792433336630281771928814069430112744452359867326431061844858052385310438818655102876488299149884749947097819579674391264773628122530495477617992673412433468365436743008520388557806275906210538259678321684480418200068490995727130471811382665817393738748355417035962626405643534890175621523070248305361466770432696427568506284510460059735128720389594093716908535783774352878930291743103356633275268672804244235979066560093525359728731064417192956981615249320170835925862465931738420885565632816468397976803795941546768050508562045237937965269476690192785161850572610544924438860511081785219656726569108052991328423351051947555608197777121603252061509898056457664475179489583246931677768170524395230540226297031884361489578583415655477350400835752259567926642670270249754678888251190693059280214923575951103237650160131737342099296733706497853529096322793212021653788740897359703740376717382696838352597485304176077185598829441969856891243179603988864252667399844225544040917087415225032637147536923265594913172103581058793342728694193745813446042800000169448276485259979814513995795629494133195687514321393202419472537095678458899123164839937599178070193673959439092724613201373407056134070002957079625849123156291371041954328252646103378461322438966470973340043802507143390155733201745856345351789475643703828696932001581449435254846864876165231011006732748651355779610378968133125173788339666928175418209511748406507224650964607540308388115704740066767193182483396751535466524952322817784180109956411169743621300508817200096269416163659801119296746662288691540863688934269383684913831425241357761825376530115968512780137546242577861767957636370659336457841913850319791955601535285743017469050630632888613371900367561323292493510853996338762587982430455498333650252064115502475825152603797865909001436658782684821112550469786092640111518983802091105519202067038532304249917527762835447944228838225025840317046467745502957225644338973926341003776705122149864134286154813174148988527062969367266893736237624586356040529739529244613304194854769028206380306244481462020687952109988637439962904644336946570121072082144393147680990449193328792091622224626329414879396438921244199354815944490654576268889820721159889237078986741332386550427472248925510927870345210846976281936492339186613648122585216506367350966186658493317496214689451065758332613777830659775039367443377911979147822855575076761079654722574324650472893410382687075742248050212205737875641854941091902285352496618473983934061824589606996174815324680806004679176372758015765335635656507726827187662268780157261108925644090446502823982935525856388486261921872517875408795673574024975107387476754125256485275265454839303051624963112566309899076541354009382865606587184142584706647749837617032074417803515298828080233676288540716705106188193798184984246289876870246353962470191346422387211045766410481233007837533413796118210195316353692502722592716997144762017254486718035346998593858373051235254564119741374246796877131131160421183185337511381408085988459919217214019013086341607718000009589302902399035701792331284209240281108709376
160620994108809352655105451607398513608987805798337626968473160043611141433840766563689443637079215416009918812521227365058047399592424651617544119464944730601184061614116286124927988942716587016335503210192761906408330846946054650220872276499899183216101275637173589999798109106288085633839377333776136224517001962158769107699098020219506670496091791892810414882530696692536975489235900637868184535573088463910272542499751575857256938414179679286669937254586761312560649913814881277046235432625000033507611636048039698547291603729679463548234565025599200483465831899493286461717022641111356944389020270458152169443168138514269394243828510815188329903237673464013258159521553367596651069774130339428729302032423907685842725817180337364516621116772445970387314177791799036356152630959793458358264291665164281950385010965250832466264798898386921151179224331508698544705632883835722432965057544613636013263165520860322575720020683134319599976114872726851623742409201574512231494853953915141726717893287461844836677447327219509210433945965412158251530730666931596444469385364103861149637948382209544237854485599604460974513319304127080395215849805788755169126130966375120030107047130273267264171290608473626262747152937727045663565679032105369171289748097262266999613239066153078160125605004279341684825373424936813449284123964982385536048497544237317600143069260041476642005102782590048237225262922093115173800656597010672233084340591445671445228787771984765978323487928486872690389030280988614819435171472731722329534079717504560847528479773180782239392635460105383550760754845397911254840668387966124608465608178528215100863446808385912385175307585299768283369132114289139769721818644706964789453581275906190840599065437544685855596932746485178175169909417017189972382785391716140529827334227473382116354913310207410565122968095488667695859335920014708011718362894042622294414645618203765674886224852204365167114528458885150013268190096490151037663223842302237330062464742998305932575443585952924330876777319357570115167448412144452092531022669238991047607425619015929459547304726052633819805463402205851589204278257833290383845447315286844802186723017836640307557600433242983909330452658108879427197606491878217675137015190165378314749278994983225328180409955121042491992220945766271823735906488891570629617125985737624436365975082841666509118816022141090992534495710097125296226092180156005533333239710544755092293717017388490413141021631790469472953096938472171219556463519078595172355025331779398184508580014757345268594736114158939629400061640112742625010992921996502275659520563713269403423105200033260464362689440492463471041120511223954612638191092372776576015692074932318209231932908013941066861396026261754913937332453776442426005063430493492774740926247909106210623085964404099423202943428198018492890473428718599637263704413418559472286555520016577651094417019004886707387163014749195548221545567368137718310936606635590505678147703526043186297931175445445323037304932812015611713637320431106832752202289388482006364225743351858341357799734389839018547123414211183647295029035435057088337910565843110447868956633396458791074993207892166115479864371169605702144387064298220873077530413657201562580878022438418977012099515464430256244554853303160884512153966324929208611309563117996418657346921965307892786035461228675747489805165101093013293732823794547022475223539068400244376611260796696002489518701587723452897277090015138011568753663784061175722750384549014869774814363407611116887726400717004341808461384165818788948295642294351750789575815099362012848427691621852888063109702074344433405294975704256320735736873452574485132162205009811489734145380099294291146968440854757718608271804763424796817066751898753922765047480091755554690189290781383383135389508193043854900797980716301902494202727702407383589709761294628368502616601350346994587929551247640130181756278968786778752756730424338446679625279088734607556750803969838622488475184072626253046784811534515106495531730309399792731375691822885724331619146069105908752807220310853639143264642262625091937571935486078826888400881649354052227530345383838312778262589393092271254993358640292942682671532546937852069034881971217544400224107857987538070954024827296552853084051325569050290948800924261650528274930454240183342871997637472002710487111087710559295745672857398133194907632359227872504560262090175668007171337163089547781300462895465148062062405810080511755600587005198972208544524462005125664937295678099152462340125206788413743733994610863967257285900416722707676250949266619161794405078291718969629409251751179008319215934429673657285616291422421295546600778347490774076051525886644073991171914270326453094547918514536125043000615060565240730839121917721654249143701466939359840239439519127544258774836460561478859387085655099021450975853539015887265787641990555510469433439031308537161397547866713518820071172475046636933818048820942690959868081622669067987217757194004743915916775360612099955776700004353241674123140827310582036401174309177532815189271139733297817440294871790322574499698923808823899011550540243958883432160865904501059774882177856730644736487791120087277709366627193248615404405189609117489894489547573589508513941298506983157369310930358431771669660347891651024145195218637367175123418937364933510962439112199873389899756746697231360496010872875681293236397708119514914068772482287684108094110775091011565703935667852533826472263123215357239931602582229383144575069015261880269868438620616621785619438503650720176001226317957078283758654364494486523954648229398109637573287493323029140168229158212569813513088857332105137957831041190246567337916900596807043989964588803666091265280375161961920781180471820448376012431420850211111445026238464628114964280207433403848184060459725148424280792343838317198529764088055043424185852175222589212664357455872346401338964659695421678195676904870556171214865059159655710052924929062032270660143823436902204496897851227536440261214918438825966981787040481425015079820196673746780906096003916495423389974200070458815929801633278574071490381680671107169325766927033021886958728707575295297376049857570495191431711504158202074087605906239263612667515907229585920857254371373302895758492241402018044073518213274775984312549942083766050848916644588136407437735291474933142839014045012186682175793360825164732052422967292671563342885540554056419666911983701429065464471230763789516282778990459836138615833051876084590575567932525924283259453207988624896128632874022557623393731433012370801936589918422554173068051847604479423390390731134734377870817008481669957630019560452752040807047182743094924677705787688782256057592022305008284659373877841662429526293877937597796611184032973482008307358217807928435589310434570283617862319092057091938347672141824
172465479187086208788152170521271811897403389391664819748959961360270946549894160015654115380422630793275409027848456709676141680716826902010386373234763659094903990877269605211886070716004339657974801012870231560984598452395321549731841401040034084802566769871385532731011381303536778937946889141393045317385359205859935719295681951385281972758640585498414667362165256002635419249255448317187347934794840892552374212120800776607845428689496956301003997313705541458001506349085033420759074165760196643978524035973846297542579036848591230125622893830433492220058284185439306081158542062516205792583333190774709626087464421386996269402743525945904044253816163010765994176387555680236570615950825978671942918766541753779804387396071105978711429636240163129185124711723226589538497639589167498640870746006621493361056679176088429469845583636147163374611360084619330647258371795764148721529618616218406908153279538382472811681993121626370364277303939875257516254536162253000435355594731090456218864580271916637605339024392792600667996144972419091712775257538363868849516472553011783996254987635531525180162565214301027605310748981907822031353707444177663733986920349898504049346075700913583610670771426376541319256431246161996424928302547731373654174022554454915974539726609439262806867831186398428146183629582772781157782066760402298773347931505608898088844921848235265445239954079085713838486238508847831384558794026871872151018133012496114054504674679599818721778206390375476242634104643499947799453751666883725796775451826034751892744215763602239403472253051100633766013449495314391236562748104273886287305147966882203317865461350963268060362325326400808783362120781693797399732045524164864318531664322523760606076933775604589072095651176016324802771930047342814200300801612701843222737128258464900225063904849063982838512006547143808223081880598185310687329888348143243996147846598403718959420926065280045475299618604343249981760210635384070773216002666153892670062160927082692240953577813590193749169610398128827843667786123481887741314877057454022939377668020106493182949657190835575357682005598649756708865500445169459504671870734411999821104891161754698697868818874253511778007130855863476586755233203023558632370658140203880173328936930758175213283431986279426306133232712118081785697998727675870786069921277563714847730574016988962100700950148334199427673959806679862532726344533912845985915325606629557366432744053990557412812554136142155077704976973163924898526861609964909579722079275311016172256531248695498826098681872015692063577906211167087831821851560115614075086804413046994102234916821227597951671881157379917185649063916725421498267344755584897608675563861160172030529109279696513298560261324424648622732034370612312978729661841093780152081143276879399888804160499928056787747276398762153409741947971575843157241268345860894123225443574739868597323754926202949718103246689642140130480082293604979073142383271157269452883936672125464842358312427749256473650345018601771092037876702114169116938212626224964514104703358014380249239138523430461274841158124728223850645537142640998831576077219317253510128270408520012977469698127829745640146344205172265439981314877781576960213139999775758116541242115334540920053185803804293550460815718253788393101533549970564065125184037330960601794607314991815361521674157868359578214266819380268756487668929989827521166315517647039339158988318106784058886604351524913876321500387266266476153566660358180588948130516202360643675131643826687216129704548718831149789336785267770984898814004648388793790392575891075708912182185134157838288551238617403175528847958470723866390319132485024505161668727071096926883298535508989553288932945753823671856524509134451629821186648513523500356897204720325296655175603988868979051083969477661852873174162869838831318795386268958233246682626723098865798143698306602445001761604740142589076956438503397954885069456754105457731107590805246955369909791768040963496422763124877461416740280872566489404066487952291017792609277367167202587393922773564208513416789856945833490726774297778553245216184140032606190931807105385548460579696067792530083614180285901948337639338014314304170419184549824414895247688087399841625097619580208272097575616038202685649382873295626129897351096195029590491480487399409002996669796141782878939291374587808959922274114214009963430895068680918759054685984134623274246438596646014756510028712121421069408588952816344046279312016506433041902127906081046002328818984707029500817767177347925368555263607944275246418714440002934200242516495747271121098475621759813130545282494017786142543186091684382192498608525716026196376650196742654449579591480123508425246071891126191954821190326481201389417563558848253192053330291818492826957772908451222943932251044386005692261057620906464986374615728873350258193385939558939773957745195507598064584700557072070021798450785435532282583321548543175170426383559025120054390717064760905564808975203294679775596929381007901893962985993199375057655485794832525333370267031298478224024801182898807790072033561226733987106691682609901323600619454074149733816477451788417718377732615019036978373156052400191013516606849864167206768789800525925959660629610774360600773099022859287816572131002959986199504292132627405655925037129954895765425174747274922365461699533367822432706240027986354991176768988259365366157042328538305667553827407026572585626960783667304276524564039727978637833858027291329194427615764591886087844050890309373175158638149524532935480809152868765754940693157772880037190113807113117870798174483683112296664399920646757057130169386043189149291288883877545850344590613137251434480223153717207242283989832815277458406722132617897809288238128224685668839757425960498617309588049749016868751643427924776641406477772165751559407757983859438189869839919010197918938684522629617870547208951074456372736133535955972901357194967148750385467174705504535956629324242749866137139445484513079473321966120101118735616392543942980516226205587791626087133811033643568507601444239895964408939598403160896595377533345461674715223641188824259980156091325830431311829134987175193060189943182187982683715431115081916611479591409101558519891882448035777710373425987952350343636196205322772851171924411836418878978587152760904117320227792506384025314883001058297466363070015479053003430347944651899502524494439900520325506256721457737738510652059545827030716158436746515836268365548813005223054218481416400913690262903521706294867192897952788357467220968800779343239687890259048836839435736791347044520528901666973403766641666407721303280650516291057331770871659919996216242115881274052632067828582424608309803958113907077628279905267326291659800271834244456749616311673762364622715231125965410474360091132700917728988040805482775405810017125031716088446976
185183398199375983069435341165069426106502816189188433953879491013946847282689862382156318401681449478850104623908068703032698817535311345256901531341839911525476400269438826039970456050795485656269398985596329911593969978182529729875574096831441695238078723363489747321807861925619078667915875561805162380004014504595238867759297533804311992184181054033495714041804590569696703871700255718034473521229245525758974302053151534215524483311122391501088325106909288284022156822014144516306807759294631891104179015214399339819015532689969559265490075157648004647055191447583954752877464987386872837287793852262176686985512031355177984189697224153346333806069285831861210224127751766998776084675843380645797087220270372875686057285859999767278915627264169260388783441633171501416365773752167320632166075765390478359104889265916007444247349971821207534281197068379954434846304731253952522062480763002708215934702843124674366445831802370552761438656774204045337972855307131496636931510375165855969435797630162186438303716189897619494957799127653705228098589131312570514176598757116809641632839592873067056449681389722536266000715698639847827813115020273702837789766648642737952816241330341029732498139974844629186949766809984575040783994646824932209458360191037560804269023610080649663461624785007532228416149067146805017909748157804135258687570561459564464546460438461585100296120410553734629278255135389310609300604933653709017729013597912192297795884807000124944391479853050219905634610084518503694090257518442772132945526962110685184702626599459821347568968924478359707475270469630753899796500639935584857699617622549988583663712257584803604134385296850999778122464420644203829474743672367817490092706251422386996508392356544878173042451996203513647504772425034279672724084072284618710143802368766045407638127709196405625728579355830134631758137374845706587420288004651673821700837780242204683872007137102939099451159426731855557503175298261491092578041048744943780252774867227300965632142140890266624746775954256213795841835522269331374322676250006435387065218684775614664503930612262506768646929103472401705733479418669067437640511003859760255400839531343969220420090490766592374922859770181530445243858340959878160892615915542962029187648892013244756422541289927614175621079679326136039956546267004368778623031064107673456818108805568735153873509890805433855050393680127122979958844872696009105947800026416327418946130973856975595210072848240021916425803709043031771543247298079298588125858814145048672092226058887302530125057477253863752968464981279478057308600137215785107863778328796328845050962064113202943766829523436343339887772513837338186718391597498562145192538164510605872214109483076660355636351568404377962731382448331956934640060308159233655550604178121823864629976473981503564051341411439025944344138584312945985994158281758139306142968547150266833210730132990140624496465920858313450965281557605513765477732025279493093199080222628486576681686847733354860661129398502779621995221607215172603865705720582623631710057910613285667047607210336890226409310435118102581672442628999094262598365948234555818635531542409503874931984572505296245106783253793498527737699562787527518855632372126582111037797880144928337700545901987728295903232309845692844118869651142588605596369896579429728243079331763054371351501825803236365399657517464048324201281470395405704022518231277836208228326742678670542163025965572698207004358236239987339775183169998581318898559901857184270645549914682585471324591182722454621922819695563712745739529004787905462105655998113342057009459555286256321987846045270509723835737371547031294898273561256567864856987593889077791952467604653951211345404060187403684393602092738730754243973745819357611940079455576903493903869352067309853263328690564104965159261666309533821326271683535215767946110445566771319094430030433837020539051188686847749615573682647182350276164188861842313672554366091471494629333534528476489051366395152825865198100333318381853893999023791166982423452739199544029819165870045401972230312472413221718321533253720133062909599544832838481990924810820952839027303234953197178905554762452449199493210630653642379069236702063121086129356021538747777363843442226110944381939147942783405370866990846806491938042698796850532228295315000650439399665692834986111044245905817381240790485505624135384488462568998054982343195044351945456042223204266692166985994103645625568538808903463271193263488898068735522145859247356763026368454344405153961829878820612892867848400991194906993447679910543889133520380904493763136590802097727915840690841739721926781136244632856619767686575035864276874129246573260416647293306589042675681803084881212966763743830495007080681584548993313654721649165172811640764948555453698201138848464968824934712082770694041208247862015040019560571223437163477969748395537025151564951726046178644380564661588306727781067511899111511253450245135940391244069020467749784300865049739246356400271745357642362615538036871168824348570067106480949565525979198589553493096688670643363123483937354407420809028878731609891184527662943380147461766437218980338167703004824939034830559881841132340820676801730093264045048836905506689303899214954859261272003907843154937549395507137370685204980870566530316200461380865775185494816897503268657714170149239859098314521802115423831879855337647839880245553339890500289927581348784258201902464559489055431400703038485772822328246420762127180833588609158787044046383561895430509610277391507616026456726891238336797203374338756883051371988865700634017223356917828205980163235417261886660704182207820281998974059937036833485600273992631753483270717605411300999346484516021169084531073255717956538311488790756949546319871886661102268370737299475045226112114860158217297562205736385368500710509729330417339795721606100237226022188082227263488895168744356017235813545470119893604935926797846599549919318212227260415103278344755504297660041847942336889637705541687241063578295621319094433336051489187584434372726725041191335770615220932603180186394693886295237468475796062622976840730818913058009689326543005304907745631470128177471708404000491378898888837693022102454411051825995818383437646391450142547521175994906141432958683062956105925152629955022655555363596742503426348459822820531382021298314986064647902930251867261444660186605695980059045181616905343264576643072858161815510291258262062585846092927549671986145192539679680177881237263123763403130556420581049461066932940642981540007672836832817863251195904631704544477462930573054123153124883000481908320612663119882293243026199868222869268901614304228886192404431300907931978568717028511153811933269054459067646185299098859464286140009949931354997468652222129796738094332547324101775673603648109485632509448797556608665504464816787985302790890659201337524224
198839159757116283722768621872643930674229552116115918153342096557506897240364856460525510373746204230384360761465883697511644359983008388264039198851380354117363652494261336528576574386092981419528541502177953006980668071774949677090826223778944826394586762679904896294617088641554381858087482504289699786521691661486548163583562926905743617552916308904168245091429673329879337941987294555948765293564392812972280051455677873296975667827142116137620676185397774204627780722483510886738869507082371000162770549818832898201665567954859541070203413553670056059689517493597995969488118504052917833965450983863976122094100750121254000588488659470150948164641697239480013180902380991316488838927418520272944462365780199944699272401487805558757638382360733231494583281760199106835627169359823462808774835263252568305537810807702674863983727865909651979741635069105744999908760401796448788248768336431439636717513695674673713633591836674564845955380188843807789373670119967453406788705713305510491143281598305223482092295687719000329773946038352498291976915145682134978020599007582736165667631522750944421666591859619530944161757659562984525718492052990482664282360169848020573810936902864563807010784893196986259799079610927499016156280802088038519260169723573658990486728397787061556750271150657595508678340530414108895702765654341252027405903860790296850407699763937582139523179269751595870853197472610285323732982905764732505061599398343039949674104532362202126018806147473395085077214109679692318243211128482455789645300612937906000112375182494905988452842658768712200832603348954662298862607825941602127613167870139368273002251002070264856585028809759573957984810242397610674887996232700678750711244339498476408064802840224155827380390035836001819080667392361210718316881080504234340974333657734374225264186778417490150813666126457793793669550751709400709745475496720008733966108340485376019042072325933927904405605321773856945217996330547037474704498658026268845386069666997999961434817615386779869501926751242407564481176089189464489125657161243389944245553917549849520585598510780180784579299667561141341174977448868184122871128541576450016836803289516578682133726009800776054914163308930937311387672579819873487294602881286529999582687359581880456919575199362189272899634427728980402415078869473661948327345583183634229920261385121835041493063175435467376633161322017769580373325538541660614941000049151515586200430829612085290724349283242116322343018035213830228866797648722737762654884384666581561741084704689983629136294163731402177159845003479152623022512842220727383309690086293441858588833379675715471322364963191590045661348814304768743911858368244379955156388759951230016576288834894430422089464813763777563288598612113541196489867138752897627753093454518548050614520024249988179126988156765274182263397847228960409814845966799690425424045452591757511578393149368596168163334399416245130403195980336905423001168216206817023686982393367437251205710303282022713725546926248397460391179767815430992149592311465620641017861820087538310768754460862684166192505957185945121464077518996842767870304432676861544531528829556314045604536990821697039881308525700886028514392122111482322546241095920643034791495628770148737671872122596028606059548387869447392987942772036086773454662820531888237283548317063963136506134915577297280087358751777159102052027309159764921857142862725517700996327365151774353837196405633390177390389188529746907947112926888378782766465379993394026267062422874323705015966232590725711500638807137705631822410102501870344020889952130760459029249088147293705302761118479943684281120921709875084369154148114602911191327358207829642008935087122044462477023649602628613905106644987501915506820110844189416752825093336071329816313558746451452616138900517833654217562072076478193900561056598653346908017363528317749955339329118403673752326286569984067482521384811982725246135439871995049883148663786220353487306793268973325295130182823700003252186373232287304528644014459747030795934084565914706546341551461096876475773062218922369546977334326110460491260162378381766750326757817744838795154961299746493509704694367579516731179858174232280345501638761000198153395834512398325142599169306302985847025893369090101319846119213241307228595262396012895930180595939452963987398506014861717887315143616887144389759108654421386163583105791697409193470040910218811919288564364442629826053891301699047583897686792092728061395082016074156922487302304117910668624263822314209976040462543856385840133035769027374654867875715552350279953333565903026906968986037398610501877829704354914771680104593677239830239339321774067268555627318389397864679679909901000419687969180434265353677624455725703959756846297967424929786900732046363388617199019054036346028035226188534432669043993552875223204129386035963423935331462221421459044998845775227720796772165847034849883771202959114902893693698072676192505511763649680299218934986570817403284869107106581857955978442774477222451428066467969235646715257007739872424079605395023209901576739973703980129623158458622223917953611016916253387282208260986064561489435724326242291010839947764898469321917858183166004156697025844356307997268217370033377798660861494036142637088558894021931085418096125973847214175068380152732376146847143038071180734496044726691158521727229965491182243775745219102127462674802011063317741579370025351989584197712566201134886949297755426055908296359238550597909268235273663779106301932226353216452654188775503349742139278189268101371355469261451609500134845027165089807609854672351876007788180214672179268745777728253296657772773245479254742012715931748181545445453807423242605251317092220327315436804782272217082999303854342921346541471727029813219490932976163169303568114638443789169672793540849688740865048012740988613113485904730278245901764495881763881094902232352619652157874436993472058049837443050287072927947790033317700635991238277476018609332265725935458702076647506166257134259107246377742878498330958193188717379889599275260003336832926336319761540098597392296881914343764132813377276066992720604741627155618130533318946062767230792267890107616510075168012157745504361714199633403280647405069826622694064035394191395535011027030068656396008010592366303064137339841349496087333644909746034190780789659581263589621210103584732709474303826180370418066801007747212512252639320847687561073171626417562150928540403300684649005241766386852169934844154283277654221850961169607188160225561771678731566167605816124235547121660820576485816320173965896499445156943172724037119175417695839944212069827126294183287303965819567215173720749010719575738736303131533426298369781280817634627754389696394917502262832203017441789773506019811301114310658913426347359773414009774133254752489249123039731752969932521757160303883226995406536499921944576
213501922080233435464587090379498989824676789083861365753404254453641576735449927401422845507237171043409419745090406875138017276327468035821929642982179846347743958300490317016871639104995158103002685372608255234301707268126197383787714763187436390688286934286176211493912994139552284171495362615724110073192211820170156776630065233554551827987626774042109052687350744208948794021741843841329697296859726600453346843888833414830335547256333692488828659867422368240017182514031482789450851156232605955959477547055956505666262706773846833292523125320144007887713275387255820515022820708869931387564192492396700289229766439074963491759180886622794752637631828300375034164406164531559094887185568565569252364871332187071706095879846376654417765810608423125962408099077102119576857185012373757274290054820864332865072758277629583358132839865061457135932994287843968685080912227403891798616822279313339646474960528338705063881786566382457352102408946582614626867492372188152241640318855203879904011323028709885970389412908078733813548078326898185470984177434417961335514037887974476961434728848998496561042911463211427102008687820425130047528748567507505510586921059797563413713282021230707567104144158892977217899601614958503125365850417490193488252673769539556402799218397632477039545315657801665400942489190419972761006513355536929470350513199853615421658218688174708868641440999382066577280780690472757804665483554196643994856930970334158293267941206145257939448110771090496230123443058966008885549253992713850431573105393164265187301205933424413226749878214411326632653053838575087590084769652423210385985643635301640423661166947068753963272707245283793943109509513965892619296108070605155247826732794402769303616469711862665646951649138909973958086993809011250063533918101371707421001218958840298688133754793334679708036700950749806167030623077401023036029001435595448195304699923694380692012093471988218251560972294025568071873439457586882935885562250074678149959212428433505082942950723452731482565480801393416964437415627671482282137011285512139626677479367320321035159106093096794978683928297689693535195026589106590755659485677170757276523179874414731272393783177679727157819057874765380118759055526970576549696947723108254188382633964299192199162778095868320746516487239362911594949420790412507700356397795565939144983416834217485619679877337339310735278585616789611269641769164699504968675711045160037997891279828573513672505933080601482613572764138795394299969772760378463715546734641701012917948640906552324376478944039965510419781183113592991683418577332269508031161693790131437660479124019125087258682695847571030757088659962171839682986107699548384210798659072363131869042174608730380568855431840314538825935775312174662219418172339082197384108879587497206825698479051722706539434250991071543440323609252921297296058380210670543040030150537724779237847884979192140897923109407951143581550245507356416963408765914600734072247911680110237576315165580261632255045098591987547766197393117406037368856832929369471620378568167280753225474721257014835110143460481599702621884740145725064603814269276977738517420740990956381754044234731200360238377556959892820242673159407447213760354557238677590211429915976123686382339093486411011370626556938607199917618918482053644005951484438222894326064981975156390102860858291442053194511239465475570055775545945835017894606106044851478987612083162359180231525572667631040244374840047361810323197493129651106478610564303146960009714699517058935657790281531704374070950393689941224264288067067536385226600497871304155421785143185257611923795505195592934838977290907241322471902689464333739890898285850583176370891940984744022931749178931615463323089060971903400763959786910257722124145674572871643474671074105524345936259502554879373252408150392104617163415014103535605280652719324138566976488621969786531072623123751184801396269621599847024228462276316159198291380503033116978988419385557052218340909738420822573111920808528382380946056629684332691151425410435745575505235493517992828025187799259637011192391773496645975656673365622810699816398838405535231602774495650508639210678714480231607356759975578588061478497858279798225452829588675143344728253159492151834582720031767721356310611516379443347166175776262002853497203594289733435219114035584863272592072099188770018359619211312247212604843894086388362140203470890616292967349329843883018030092783907968584069651797095245522354605778339348569062573213742592862968112397676607228871720792682549644035726032218229292695967849203349822485757084003017933140318209957379226916255351856291915426930308339050925778362606638559916609904837617122311660805482864682193255850060525538655273192957817591077924613433338740467190336692458723334397477460652112490091740746437698903929529620864485973708482607609011294255496413608062290216169307718358740587706943688878669025704705766679463994233258657549465860619502243331154664621500205027817964983774038946665872566566961204849346793481450123494110524659189859668119392734158537018052461922053869255338623660441326596002055236599936640690152767306576700899045000835426871368820568615918089285146805624524124223765991398003446345494282254892562736128122018415218178017732917071639276398530979659126336910492484045656577829920260147769743214887451043691442785622946035792539533613959078348181318517997984052933830197994971334993411792371538165453467460527324382972767430279168100109501360570115388261448004885340333726603448883502139718297049293270234558224988148391496122917166984072410516745425573079146814436266025714424318829342817330078077570233271087330041322139294740849383035749151961289740463690377254957061193003030461554138123648893235223631911292398688123975943825421748675506725287189929634037120123734704515910819727363298448699991048084353007704674343379191782081134626525638024159440067973636486241633940343763703466339004311365409275680647143568652375192236075718337842370422618623533044452081076008182592386703337255031361808264006022197775703159244446754057137072707617618203310517103846497536220085062992813968004324310016857657790801343326315977919193304878318689420783707820625278480711833581146960481070569889928620542485215284111336959628046868196023379221963878907612058714728223616267758478550294491181959022128775329073239125042944665605710299838023401071453089885690689467903530093821771293181117268008818699614639769571374266297772755471688079801200538564197523375863961142611551702407195578671798948146992773863181758718245286972050039395132611925752562139021109457804128545054664987118372693058910326098993951794723500076301535756511231393909416232806216865579469613070581137178946183216570559416613884943209217577073886251165228900587166594293159404344264303740689785562031668976994474893763081996904652763068452989751970437053854122948764626661146624
229245943241935723341532029830936097540505895721368591827191418386413230046157970508671346330211045236750413535874988523012834922027367550085136074055354587713466336070548413088033992546467228572686483268882507612736662528391880241052248878616606004021617828255806983314883903224704180149667759462549017030766179022383864127704726817115850483285968621791210027039428089814674115215505383063312515760898032312112095867061839244072073141043053934525609984869521691852435719343957069923769564878845707287425193091462908568458759254034527454276137706143432010972023639503326371074417222909566973106838026963873139100138896971386336172374911853948296837674759610359699509067751790980960368107955706618071392632573257747856282922181945133308705549519487526797034657827735420346508720742022691660705429471768414862027086369365733087231321600711011002857234509228411163963317660282636557564545467431273742779537539288026404865090466028166196838848650817097535196141780666019393459128564719528205900010062905500157328677938206209603980569589534418525929904849753571582182756319019438822558016903411269066270711943096779146634153842524149863592670725179312896100627651929291048810596166050502666667913006147128691178737963686918888830140028894587081858189348506182358932092511468048253178079507365063720037845679662421824878433449726254583148853513962546897555845824838831599131284037260664883039578902418732198387491752021325107377716327679128689015318246111411169268853496012704755891197869495294301934769863223975852472460493374200435233832498496354752024220139825719880944804667987801816109937384881212743939783969034782774178694074155714115333931665686969036306114556977271091014831140675832700179604648106622646502716357984856173049260003786221224809548828283164447279739025108033474028220184751088563238101545027763922032163114737800631041433909886985067654171797718354875071323976731840265142791447474671122371941169238200477764129549980342910322052238665660729052950150278509661210472435197742255479872083555125149272987573789902082258405477115614389576891355755588887500557306706611266448966122289846546522481316045515809288403354473907204077555271536634164488889941595462346326258971064412142820769684898046668058803227295442903801689609002750965513655612625564897582181654654466257293911740267241047730594724019080550609807494441324988621968841788290974815800809668311842228916109049491402876962920842127085571765090956826931888805459236786974958601906923111955838448746948594286560248968011424032073165736025322506327440164071066496055226853237267338083770693780236115612962205929145203073305147338217582077297117676608144534676478677498162142645085047973526038755752689113337203417873697304645156216988976527009652679097890548591218061956586112465105141096982875618451930734971022529261868860587226966768108307349494991087115993177890893146872478853371185268844117852099971414200957307445021012139653358716684568395069570732420434474420467592471016265985089012143414749357364420541323763914429928604713048496584444439627581519354444373088415110468398681846224680159184783131080103201836856670217370850689238163090402207061072849027775976963224511812592810779211651872000817995130486761001176170079061545303628369787465776739626605478562781299270099950859076787267827590980797013756205065872228264488531544994301365600058513787379525052160523619128216438476697317227000066136252857256271579191234324943010698786698911012446492162516604372105785259047553961524300530305780886119179058780688694376701325768443720581134155580594329727194530849459576671903642241101367068979839678136940334751717434615516622633319912399152982535939292815194686447678571260195213219859403355834190896535158855138749642418770288097175059671450863665331057585619382371016910104879682006266010608838336017539794484726831866943312516045662992082757660592134081058069085062764551029361174890812308290292409541916041277286904778247764584804816557424395105924988504984614676351336909233567205092820053486481691164547928019760180401226089042921280359549795982683465519588493975627157796883507783856057376055656827576553861040651277425530420457212793832083163979098025699274907948600476546427129444048949684468505218158429975331806866024549796085791611073448709920152669375690874809108178845807292166232014363205957344232891997103620703722458839829971019899853755601240874071581453536794618565221242894880041871748587022256712682580035593645263657926828900867183235031823517037332657513527172763059718293608060306945953686707757471190998284286789598395848961785305933025398321697034795322700051333368769916751936667146965887996854951474147684985481833594007116809432724553769748480324603366856942659202274295545424831015303296900562408041599103564275334756637787309389599487494564287636415136323468093902569061626232162159366376065930497441172979224602326986762327792404987285693961870594352473655297726092510344632420954843407314108726485845616797899762943232461645666982440052728177170342232175271241323565765591488005155498282350551404147734642935171391876667400484815506811826664170957897495567526859077251206411234019243019055112772682170774074373044623628387179049992276029079752860530437297164809939173236324640433747717955822717246721342695310198805019697211240710724557474193156696541905620793611564875638363953469826423052725450684414761732646935116028240132225320083388101401664063541005924124675459619938191257284812853842915746785014190590629037376882315369646746240796371904528862351009027119881973892579456332976832267713110007078390489016327015798494248396896585814199836871209776101401296845072675760602796221859229217917113223850079951633368423317969511444985707927054689965316702143634700157970283576335706364721445068055229885992108175334134238879682669845366007319015120595394250786963498816753764904352703082785975707737608009875197354824713245404696424650042931845020025984941965091629358486175856905435794670560843914580410185115042066171688740474250615148908615674347354691104527605209332099821624172253089694719572189760667097960064158237473467335680552460200973058968897640824525042212224662844804848745331298343788634007631961801944801251336387473007805189359000631186331436251091944552194385166109633405814285732752435196200374499408747378490011219061150058082698868596313807584725300007711775483578545442163666151221145595064297472409084325858979079839251131617709685838609531403282507102881232245597676339164798623667703789845882807213132851648413007371367792899944633441122672308049656596512772446319401547451041708643825867643726256018697462162977417999356866512997968570365034484547592150177197589473382359076588555935786862519290980030974515889164798659492695368722647601694820175206094675005093978929948204969543363877436618273367544749393122261510351377887217964211903760550074534044676282512204926788777818605985202176
246150957241196536871495976665091737000584714354616107564840006375374478447493263446118979225136514017454900862764699612678867344588563411146825363444395511978225333054987645749451091730846126763861301125275386165793749654907949276817001390227749127447523262342308928856461008596733348254328853039310641236021941181004987096649842306031687717234757461568860001600404837074444006437082903092219888155135401092818179108761840790724729001924977994187905039866412623417200268131132547637643873548698128757370019093579582274642137030203912867732536700269624693081088675651420111744745588663933028753895209944750326481988857887404440410403016265897665848178328302789153046958312347627163134923947789335296848487519371587805337314723691827306812651819976860568296871287168508032266985841446078393155436967719974279541672055648299968180910365478040651091996193534659035815935773643290532848436047930588463215407467311597133320004710918093207568888384388289397827409473334939598352178374532448264222524366562506478562381616878094788304414451625617858811367329520845901167478671331458132789857415691647869372291119559319849432119807568489438583345457485438156125810422527394089776762557862473609424868913493741173228990811147238052632527780800686637001249540402399921356367705400443049087444887055184952629661769111248514502377710571680896798609635590954573467155037825231547280061737630350274967664114875007522464115252600333307692744986636769325274036577520147536104711499197458331764089545936791263176246521958342352365734639923553889869569173445953208789553825114003507078737407528936731780396752168143395009948585077367175390411077121947734221202155806084346074849666761726987808734800041269196209693822456883146935533883177296431627572078315664083994519011497827782114098819063481659456117768648250819876818499255329364284208609484087331322780265977502980403753827291465401838375536870979725171064509263053564735775317478518071472127904768192560674668798168149877378484486941121071629754720470945570080831846283160482328649951410504054585538336329710053544937912578838910258979203519684214095862887061706887543149945296632612086166359880531681712974434720560850599016713623965209867677006687065115720121746546333883398581916533295450415882735052460642728393674408411482160264919768024688853218096089561650037919839573024161214699011370298154259732070652926973141456025393929992475676608473783805197429014205393152901631131663509255098609738982065294391491536029500459218183406879098063487180412806704093035675478854132298132277143020526205099628086128763736369692609537336181928936917037423985108781074611526491488546716124023871245919153465073984375691481804046221352565096582901459631524966737945513573709194683444004529733261055672196695112227009781211351130553251753763321704163689446317714732444015730794399575998962999357208743669414400124080511955339420205019610613474184785536631995401842145641293157540116179187701174753485126133247436714215672717672572498632701228302563479300744744045640025371460214363689323039142632377261300332403666491353983499895004760975587939679392210381102048546631505766253703494242407097942703382040311960804167874668235162950815357580363095172843583431972765254967006025767862576559593739995453983444445480393690791366989897735476517017174057246934524340718747686527656270288203719217905097683100790039409760535771597812408516752758895225673061260775475560680880156388875717003766744675649317983196982283208791240585002033093385528271734696446405943603957779894676217824633826962178133328201807134605335277957122995269957666372203629645539946875230331236815479665376665557088620605914986739523179601820657237541438469670635986838760748782845125174809856749246432814130078180978466237818932491078387895335831991796809141790857541057948045660337425436598074922615728590553037685580899448408237769434170968247854949313303963504807345482043808745268893314891934615933330907910070269210926414354270743132570364521213254522654157758972892822946693534352410413626376367358004146581552685332709861678373757274416681644057250802915956761519163355800800414654887560102442388031440770819057829214579205396926210607811989138315138162373934229886652337225179485437263498950522689049309540923726827985944957903415760111621573923261177687467767215336643070874309542963126462821333765044411419116544443956932774409268872526592788974176485169104851604920309495536420567701898700651272037420444305588209023265322553044508525290881229760643773341971156170861741504886215082148180985112062066249950150968002485786338255860688924713032265512916521262621723585015075049552632514864028643522741859282824121688677522093677071941354067654315809284967731205514757955260387047259532909263533927223426636418889337869899179802853852908040880331878648291985037297169285152747782516518928044461831321302156579712407412138608253410605698302824394837843724718431989161551327677624450184484285589381803826044911228982762981930831834031823428507421758187009131078427080107230353509679330160769529786129319948072095349760973199644066271637637904286587615187158759780684095708204834598667278198909912850379503545065451419234109224590608137947811353293649375570877935169350975373052701199823202475476425833722635837130832525391449110704470039525314036442703932992999662720233706784809217062270075774542552452029073589105554635337720459493814195085616365320972098919728221771599764434631420350780247857848241183937763431263272870665659900417792738347731544257839581351174521417361020167537312138645507898895228876331047713003914660642935723952030727192815991511457942595238077750237430393780283750233754759437451680414633791305149812644790117440715195327829683526961751113652497371032937312100425051944588384413679289426670524478281788585107115522186460953094646316645471678588839107622640923029287266856947441036558045870137920404420129462800397798357170015659317579488017598982131630434512896343378405625684457479647820869826833602917967917765357084480543111168603488718635601532045475820150684220813357522718443796611533292813220425968422929385968618056679943880218912123712128222382758631104580765787215856139767947786949823172585918537642927415122838151510258998728547162800228787186535180062330817100757130363367942776308009987984478235331735083012135182830903423026009342307432407978169227655874016109430335701399739252698613904165303119878217630563964439136857263668774815567872745838763940649966755664962576453510769649837200830884307269624883288389240257899323240800210082454771799528156513256325807936304148504074939298153462157212294207191127046358073439872676590958481038424473261031410139346062929552773684319151748017812636700732085206153188348792749236441639888608185953021706277791672256656818227660153829523355976854506949237398121614993990129129683373534683178456266365496273521080809074194220351968757680731688301467009024
264302577807508377442883343593037038814336120257644482156451506713666221171260104920348318474216187210103593090124142244929900548832560606624454197554248159608913517397469927044481462233870037214763650753266445643963747162260232008588967986953679123519912091989861301641822677555536145796230278558257351623375813627713008998253265966990830571302044712982557639719061608898736331257621137605455422916771080536374184936600633312230372800432625382639182556244954606604609728876411332886210623846604481597325337744454967360732317162069092494536204700694448109744328334499700218975086950787965173308051889830939154781366219415698430471965443260446628725165505309107649480056175952102912216438797800601649385676440691284023879045246678918666310024391458873904396759149377541609925004232376487011513708005236674304148160837041635110333712657808898000649667584646961800335084205858597902102611637652341481886268518854374682284193033989786115297028819505494982263064285093537407264495402243826146411927255237270316303388535090754683638875840540450684847092028333722123942492278036536364081415710224676204825517601774626171328649686365118854709217327542528819197724456562774819923720781694157954535722338135667859926796563240474919195858381087601450066147571790834585534642814011366369935274608526108279693926624468578838879073495286180728874494870783406881615765054405253114798835728995821742002681207725236109184340085873302628809961233518220320786993334589200612166178780142053445312370646753502039630126973961206569445634627371499974270846326390030163824348356324087133633120415577151859162481976116698243651534691887191412021427902058724830575340822247957196052256321714528909279776667328587662013210531406385871545420162136593185884480532062132001319564049408354574805067042097468768814958740867182849744030550707359993327286606743947630109814415541889193144162890962919040202830302156825022772197518197776030409093467443563074879444981627097377282049545940957108041750271363863520056567486231083235423312214065368356780284366285025996330071497272588338284479300219155035303648642365292947947298327207543153983944700968306521959284712425562510012276614002223938025179698693082054555862307803029494560094597638726244473396666071876413660451486505337826211397760549349865797306315274932486286286866765013193472165717708926344058740972079740679578678083294170679079706002722268708649139277216774479174348109823420754633708303887560581810462520998766692487017091976877540889769865268896902163592897064143412284391885736909443733863052820368676903472762921527873154648880883939148085572563680700306032051429470060546395232626080219601731134384398124460278502472933539400295410993883660780477015985686740945757251269144972268025620053959385630025496574514184543717092424710667217027910927508300658733100326109428667871569717953153038320143976345471001096035229779955590040210655881530148535152057559533598420955764695843699412913097746749869691183169740846503153260785029454114122924634934140167906029978660089757968114298773089374233484922004743526919162714106472843166220538611813823752567185996248736596662057323769236663015695495544976922933406322883720548474218727745704335551296393174664540942616883192098109926975763536437827081700511891704692786477788414395186184064024891187511553803894574175745611927985870104292867156617273045150816272756868161082612682489930611241893191839084425808798782992910941046396665684932319298573987075633929108068292079500962910057400139461695980606450236129754760203100170016443637494469527892738599032807346221485228238733507717093273388195022536022672916282342429087336450522306311619039143050631431755938506223116545418007917363748290960297697904614708654439114575395337483119306420442918118354703371945717417335429458885286390002659716024244565991643756813322298071267909367853256373473294455119177938183374297857363094545240081271906487878450052172878393472237400994191454934878830711168878534449921001577009352406604130924673303306306267291770344563816323779815197477433350039745101241933741324739489565436284517351237548443931818719472611512417891495299299306116579794982607221127502342763395366193371440193866442684737279396310054529393826027319420788746931756317893190452412045089159362785462816854092598992382113292958529742311002967904957542403401833772932447102991573758168626899831382774639588881693127229738379348083383591809516460492381796078795352199100526825380024123572696949534165874054347337129380942210556728602450684982289941975273029494762097689236342367416430315009458354724756913128834815917969941342691281100262232504197905751203534020511809227684354629467490904293198562720665118093288737632964458533677387485751135065799798383070425067380653415702765372118603065698577820017620256426907519114117105163690498528170578276687522611242343928985199861315307661034001730140828966838557983440468370064882505206123050462272353250194161128085293308079733072587641688926033588778090415310595362171492636173006117508805380045331635365647885621922888156180825900922516944354265327400935869285076790400218004666869948104489580893518430867591311262412964635647527228693044006271821121827145235309326579293431488141935515390092665193240687834425153903539372743702063713848627042452340882130995585193262787662791392503877237080608542029402224220453792742775533035457369976596424762679178822179006170548321552263990926947177410429314042462011470055157503158058063204033253609165125236358261755638259136927448014593749398379406515169004287061192299123806568540766170638569169599191851846859086816951013961520060642421881368181498227317793754944090680129213552261767050581240273963368026900422475204797967745695820122351582663819007263829328110873572367666450277078809557170780017123200346936061355293456171203051880623980669790321508321849461266768390510515334953492410726286854477557786608887471703439279933611936092144220394729002875174560270847789871262059578734290622647494058393130876941630594394856519901460452696811081509511213580355703658076491630104153270007823280615152777261993391493391402602313143958938858326163892223010374208423140878713975686211681949253236035193496266529809870967324129543413601420859413852007203911455142605570978112480295525245177352937368477659760586630308671744093398473118241445347427725007790870650222842499191578683889410371545112256953275378317006615730213769450928056510709325549946103919359202313111277916802803538923049767059249732932105007460037323208031620663481977862180856491049744942408793518177069529125113901327452551800892233532296754688578288600103537254034671372250332454842090537861338467308005539094444313535777196778720060046196049434525021293411304578340481048274763111453683545310406528705210308280860872888145804260825032993297189060074294839268117057472710289701758041604043297748951517819395728210386721053490980855863122852651416648145254219776
283792731982935966090802017168806303756064063114526536214203694186280214047616241435606178193837785825302103273543692880506486167442074696347487933086354757847117926828615092449888454393182728337928202088711287303746488467880125479565502152589251625598991709972849463531904876483045242485174231623171338993492907162104623230312874613353858208904819545047447920257080059507303779619626334193436698153345180205577315680338888372229401998936515167463693811811440150092836097091903375147510979697230992276886541671147122539773184205346570989108014469361030780030227279540590240575509273097667962436263750073719659687962485647396246968905355911440470182010004372482931365068169989275917598990877534785203308784700901687128701945598547552071111372939569541287092977788741329992876770547679649018455037834546228219029976983410452047312161877887613982647527257332503159550117126392202397486231654976452220631424919988474661735249914684286940808906026436396960277990293305590866288410143644899579187233826393780182208657343049034939546949502331436664129765755598910474071165729724865694211107389198899277978748871473592742120560817694710649032266002887920331897930874639122605646167493002990972247295576507336767375975048290758890363613591354688284779070214387861674354251390305057282786560520099709455860058935479054873145818490258639097815349589633619614000263636672555714665783268728343325636816332873417910706256476041916597562402724247143824475691338557650556009229394499823445475189108009164958420172822372706447117338393631434707989531604521730323519774619730827254002158461833449049982114509402668008995995280466230908981023522641028554696057423902181339963075302193289078350797925090038923553960188088302050961009143738921304557573179788884096425639109296552761989937130224020901610408116903472254825673296628245209459868550096017029314589450845442050652501757495637806591716338600340434000260899677953227634939485919336033080103834679926025708444041917015081494514004526729783712599355844858198699248668852027074641145302693567917186868275531880027550705834707559127345724087108433324223269161727976212717433649932844011079658420855138953726600153911291871271619407602480341440479104273274322214754050881152010777534855703535495506351695783752823252421241001774166915354897250025069301892646507510245742868110963051673751284094504433830737809356665106753522362164746757768643051383548781072665314553452752118999854406100175590023667249580854050141456828658428256579616078074059610197085783687097592503826950121948730237623484901551007490801516393680907387913323439879553170408792610871300196213104340990164476853704831684965483341791492759300158454793276169226449060739402294770226654734548439115712876038958037443499246155469329148302965858424612425843398560085414489868552938212294524448480673331732761438309466698184089917013289103798886855962866792188633888772022990470509599125098401326594557800562607830019026529038728085495153973333395638131599803986865197954222653257728717783759086889885165852724401581005097946804480702029871051246374873197474680827763576315311403064496014974159375590995469742416538729634146222015047395268423135666299041624988033704631981419557034771985454779848131491878366939943463143407442913301704660332687301912303067558755070096505819445080181802467898379168389911551704812010493410935924429406271819798841127808370356382270956148305301018480425857932280499788372908714424440057437840201233481543600996783941054008116924801380770443455820349838502707193576893159387008166301316506500791968019680691195772457056958114024026069807345971183565550090522484401658800827295685506931724539482586581917885352934503844510441710663636592361412592761731101975287846040581129975190220093285501289788284827077571945048678313247006820415163831208335194388509955936198949111830914886997305442462792840403528752256725575565056084340967290535382805112252040849313001609537069880304522546226990596906797688809614705012889204898518125909184993519296218522144497029961060623896313344522339484110106377502578600697169955850820523493443677453923475712763483866203386985464396757062871550745706170725889015702083041340929618586903269067780701263339791576819930788372912628708332649178432298158153552294493604216823940565653091329106980932432155938081867266302027682570222786028800293287581149688263726516347000414232883693108439298639923354484014983201961221664847113967826041769192984610832844476595608949019192051215925669184898844416880001773825068369362933409993383825587711653218906815420678196054007150391054199505859564642238465279194474345237492296407369546978277372814430403453673830236107267832279188455529865366394663251304676700233123123466505197775622235534670288932304625700888517532502667600095182782671663286275175402252906964648060854461107192101945237206636597276343894968093245487079822743740569471725268762669130303087773939485712060171804359763635806923820200464192526526793378786925879906699852733772516190703959103966971968177063024830887592842413667649426856316165596876682986626501855354823438059593183928904395770328645450448499985177602029737385397041455039289127671307626534207406572651152405137673945525462209757296556211185338169853611568626350274743867086145638538404672038860458501931849104206581361378136370326718613071615013050948631005864127033527345763664064253112913482436557908595348657740071809863666448947419713024325968283021973646565946198048219025082605949886959544688475751094968466649869143786855071098014806595635050331452904218875949666728143286418952504915601607927984244549807335849692015726784682677782817469652974494089476944903342315291069078354201191947686494387340694896994543438756598047349691538735799665333351990463863827454172944115906365665185615088616373236559331008707684531621200667823262521401513891933819593997242212305026932933896263400411873955464858829608477599279509163079167750367277694319532891176663618039922737649034066828824507615979288202856878025975959737415897286446742539649643435243818224703814626524454428766842113764663597377985095958510058060168576126061813645590843612804558474573973474819450919307027604583026299045098331192874160908201225659255255157207576042578677025081189025779315485894599958669681335794778146461786962494583691737646881520106902884795537199743359158035783662518340911546684221478934906627366533065766587488392733794226824720154969890584106749808932724066298802865122665358762520196890452524973924310031298869674082529469403820883229100865693466581992809196792905846823791177620924619094924244144511660402280288594603568273578679999139398480654954668543926096374624968662237349371945482333296526789801659392070381421064937226293360166859013811976196460193461460382552313440874717093857945149823844965242671083103555437018916229534834336260776687934095598593336299934296830966471786428893609354607351723550626142015347963451482885979111424
304720125677300801105539907537713396497734278189442843891041129303114712806597885931092156319520409712181225719971175737210848501260022698800397831090132507201842715896055704761071857616676835890863516091773467438912796561096571345777537008797109363265626451227126373450169024269399703740553272420862474195395398267300881826148918078025866470666833980690096896441843692009400901650871606275294289103710285495545281911630878938929989048767339856116132047271928490827515600224501425662644708400131773396714068295029519528207571354936817685990323589350105304269799014268471246952146136624804128132677322749235881858012110182609067071146908139719272920649034081157798132795106728627184202014165403560887648985319969471982249749819333220311570103287277641036446521628474602330737410615095025304755721986454677300221518996845156521945494992146311904735860266377919317021105782706001941654039392100954484429636625307478842269390248488950643963534792270409092116944844588240126166257617697376482453332886266556875099776084116464497428871292269249056283170055109512344841878196441068308657260689138304009529184846493997038757692600294450087444129132794064844738769679160926848346148582546538763996344531386119329984543142130207533283242480812373629850110289020893637680827909980688123243725295538250693005227170128778693287679763703237376645967883570854216058819013721663263806861677353053522967501130812494908556004956797059827922528254955697236882864661523893237163964130884655994022494099578693791170960524689697828344330468803046687093587037944809365212232900258684844741188926746081967138862800702885898445808381143202346614462178587483297555428463949469389550716567626373415547664675941593758007825774781316517261814910878907541348108139079996344620657617581815919571312963852065731509284148828339530829911247549705061124701311780332700191308746761943289553917627256571810493148724699331144624391754896086511227427129740650189028355029558618227029255597769908230239428113214075094718691924126083103292685693122747537222567502763223728468108891017335430931465135446337043984046059892544083333876412956748170471829203877869405964148642105956539947851246579391268055561822152886708742442820856271765187233734304516967273537934186691006193733873416339866004204395729588581219773620980574501957940616913161280962635440456901500779956705975379157503722684389858282681819575563772184588959997497391781940331390158103558074768725740439264752288675734009463276675313220956229192936968890967172937747888860653614241067876404298252039829794103427839212210883434516839572673127464238225761499719803634672101933416547797097171436902807131027831460456812863053745102738753896880940083521412608656368829148092276832458490578356698184043177509598625055755193065434569112618155508265086550147489552116628421906524232211962892347327270248975442195273857674552342101891193865713652703798285085957739595174091961619901660201249522757601311499994432861159594570487847592601067925570899109693488100211073175530314719533719785133246814322896897622700498080370354245050080029734825175985820692273565665054471140759085200813776553656959144463324011017109145945641965627294131388283866575288185020978169279788103086316783651151081318904236192572479081328904446224294920110376954983801332896134670014597575062234833488907094910586772726195157724302198321043956849540830606985659176708929429657716905348424452230168992971732322399140995211593377451971304292965522496469815007001239157977641505426174481541405851912002250969174345213328870387270919291468225186001613262129459129299877243757732018490991697693112577760977514448669425953178343543234550489592532706435637082777910539654069453653405155287624568550350832475574732644760519541821669925824307651625524057796689767795620855084465893018449380465955626113244729093887246220506530353240628875126236589025858484580635774673150662568056463799869699466031089263851495139269208893639714234893201553553708381420082097761598377644587410789953294837300872270016632512971883277005477422957206415604638613651311415946940033259500792485066270643468768242363247091796696750402860988372581575403103923271475741519285408877174517125818640401629806497572139474468604261289198141919862727601997284847635712768947748106629429831942034953913997522923873208455219845032938781444022356925743446342340214293325102699594041707172097418111842314912021863864826906603202527681256832949411403953462304039588587408094463310590284078889445879013878459672949493750164367844461837636835776818647382513324475275830333548059240169932849460281547626803037151842944134176510691530397624414509234663694514925403637978784168421887981889480380524987034023321653939838614847807502493965077361917954491276779781323709315236005393593791904134679267330118941002334970033523512379932067773507061072946366644864654925834304863211376857306460683647369006508118575080131139221883054089427670966623758520198094531094467730120047507409796701643824849694892287935676000892314902116867309607244874535477582596064425385255505568676418293130107708908072285580058606009789292236050564845413873992148571367356322437210256137500299609158723379950659127628036899194512993385786431547870201575116674208555438698684358518466380977891583053871326605127827593340611180843540743770563299995350319534266146739109387986539502457147361394155325274390657400585621653056794945677776423013994404220405322756296321554778162215343650406978159935943699063304876535328013464760481438603113663811016031264432101213004409381226045946073157424884868684492840490797447036553926663386172187643828894804714470833703726705724249480309112194026462281317015603102038905904883009063628960248126413189977741879396096158639544186753622934274699752178264933426463368482547375643812866235287999561509549071799533682138568009360500562686358338145538304010194863337567445290342687892198932287606311943313521254589339036681337421413169685400024299468625945142347310754919922583483492461157226222556946388603506598945975813381800463108323265317915776842246478948987121953685397795039334379305618063871308677080465720564801978511516372003715901780255300775204636163329417776653340394392797336041480598404340154085469446577130332417569652629065231295914031372308250995041576657218279408353883287034692031311478578511221979912286794236446607061843803817959377122811544219338229530592527608042392812559551444747486932980859206950555074632236373517413236686059282819045993622350907041090948345412987660719011410827727705773409681832632004501848389674228842145653799581073489187049549269829613010834816031954980902869788256154881279740439670630842489601167333571435557996629113588608146498353868382483429977719805733304652141841312514231750470701344865458809424534887843009222063808571672882251403667195829808234803935691754475700559034599823980752936862959439359098804698670410359560643454793070069642758271080569495995126304997376
327190743554254197575723636824335731144712415730455776743313759436946240610192573274194830238614971529584784323117563463497321142330603070891341779080362786684599733927344646835758780592398878588004456703434194322662834756452759956961307286053312253640312342243261710506889661227325505279441293498345768695716787336738088408817590192726068183394248814731365420322204355781068349285851489711844336119001207115547534874388746766609871049523468448734033180262614721738703869973510970281608537861505612207342439297565566432061217117260010026910709297179009043998728981694030342393951833454070388183910662532201230392470432201563632755911618917902618953771501118140538198931212117070825781054674434257163599280569213244470537741994554522441139131007549890280891338611813769844280638538889094404054564800172748497671249411723168609439251821450046619463996840629752960783076369619690180579149833842330060252457629714856892939743384780339108295380437339890159795832378735573482019747581680275704284145648179037329269373754550790017900519571622420580803769675475468304901035286232462994246242083198859535458380318307624385446283546671465773969218713137837402764083358818148383673764962398535097340140506462957017659261245237580282286089489981763063084758268334461508633407289892771870226854395386180360876696663188433149023049826206603095504816557550788639189086419079379741193772841156767181720750556920670885103637968464316217470661619167667390322367176009807744053699432966665260634245911510864302869382249612313180215280297631358446557025404825616819135265101436570337033561006132940436249190604912465186661081056323189292854892844415538059486700499982621506168352947830161541715259428085895799190337453687903998366028627957515626574473052205000956986317498381793494712738879881363124718673034897228750724613136702135842994068277966207120830261002695323081510183659436223531785895851161933674809002197792684861027134085114810380913250717157844650010039006911671595449895498999359494676221033505210077305068741992323196508867524380108886325427966471570961228177393526556991726197843249033528039324460638756013671084829988291369193741441581972976468334662382829340971651884263204181510467300681918486991840051386463419879236928386809557514855106612645879127270019539506253968491872658766734300210729288023043426996653683236810835808136115035315669630481926942759548284562704750573801014597975884887183221686032817762828092099954695006696341350857179859931958367473640856557786188894018349394300856637387493587396597318157766585258563770159052728098037051629495881477424439235647299676498117443614652371900610583438298763900721039590030747115482116801990476645777004724048516114993917475287655826216967446396922077891536030752009113912205175258682699551865591636679710960201107873232900710651662468152886595472590649334824682075825433959916118990230191956644350908988515878902356268260099839251100413491203325117869644876342074796198330187041829216118043913479578750393451362261993642932496491392294246184711593860517453256639817339696614525362762606215902473445420784136108258761104179360902034020888093190721052057182069529024692506869574755809023596104821351571126322569110074577746660444141401812719400341754932560250739588940987942204010584340633250432971872733637526843131112106873300943626715387855834558257298241234859931552447475811803265018419808826241784202887956645624452626863822522341711044292609708231671539051600140667187830494472532726560083303747136941254406485152523450956267184447747029203365410401487863262177879749260111491021475569627902034688519791637719153049859291482413832387100663795998653193411289102515179084987857499863992649756984864188490715249537248862466738702242048878297504296023244148880536801393546766774499092435006396150834082035418703433185163885897425975656359007143788105399957159285113505356163672399487731777201796252633471575462062066988047826874721655966054384493728761412990681312392519430086661880284959167540110189041731673413221827998679504816133610566958586116890290635826727882790419750890078530677046252360550201595808899588387002908480605952440692473618532362122341835070409870670046104363157984995744438046081001470160610898320570250836204402444266964983710675347932316070045612704830479829454073687371639395761431991439978726665027268041919422226800631670510123865766797649430402191041763629100203214016755634098932140400326313883202423564300607391425454710418053150781399414290143544913512481645178603543232879178088629119401842567896589711357712682726386512965458421520200117767737000124502346364400159607796160787327879350496684102077692639375034798126179575386303641203197689630197113655488551451240059100572318310128754611158886892593812521611244840774587299421791236034222003658158025521848795538982780877329714839447217090633344828775429734813195911225596654284315626821443812969849095109614820955587302651212672726539774437595213042863141798496848239549572848625892224292447919488731585943871139830581346566183655835198374852247808871334676149255352774643852488520679414584242581025643848516501205972053344971095235768698979351711662265896586766502884574747499665761701577133680420512309754258684661293554513450777508073153445529515888029593880212062511288490289681353231078102593737296834521275244466643615705762901102966392190612816389889660147521899437524965863904061927098180566036572711241929113411309275654319790718019812470971974807071777783910593540069599137901615948479063003851277459763144703112350680603967049040365930444397690835021891287823063529905995572807889906502541138755099851518239712175840188601866878018158211034615514208533455911243312945273452658589491836046747481184359084983952307857017533613431728056348228956238162772569347143634531290200801306146149814486463413771538258208902235118792947731876741917999076009773147155510396429072767282432396925346893979926444915765525268200622149627633475622928260955764653110867941091482534648728357469133209234988925559169341988348288547320458037661975732484094826104970694564263035279060602550611113048181522193348527480195406257568724786605764394281132447155336173840036840007269690956361782330768201584063520317391287686564173015463998479815767568460978896866656615792895484513665757475757378098067539478103745772978652121027566693179910182454554867145195446714593865549751539498328886649109084394629795927882182876905001838835033521958282483648073612899732584521033009706254307131955430094355437826293523404109924463738977696572476242470229951234590901300269242758882384434712284157746860211364716843467907128855783480532573276657521451811953938505120045441058445278209650341758330276135296842401695634463687754053143569004194738466197617585225709123720595090776628368480824188147747614860134875319959400175139263487608598192043152498881935630894111172599320590906455456141553370136794303141141763172599138022294381137141588567613838262821453824
351318385779861145064613875923675815547697117221865878071702495862123869382731046618687609151780794763884436281750857959731371022479825352358870627677153781156445031017061724570063461497298172430638449860874458875986436728404182246021795582751373260465299614289992080749027669412970566680468924181833126662021044222369257258357056976822199983586107233439494376427290372677109274030859275956312971868485437186449788854729783838253785237120123342950131277851700730328968344741216500914184145097386095437748536963977330060354583347146785048553394085886747225415691510485810749753426368221117758832980282240374207856655437738175270687398688479701664329799583289810260974062074549114530011335870770765454928157923474787362753109350074370993397663165821576961204138266850545180914088792631471159117741404063682486982787095702562045758845867959095382068305869988028252780620889446744320809945718959160407305503755812747040124092784065975153479615321563251368138828525941793484269914972372968219540943162557421820493785962549093574461496535381556513727379037420917404958625767727606903454461479559503192322873959065329200735971549424208788895280620899554296259329507385445129788520211673094490346020015825819256575055379953910765648300618800247998092455409640526142337826490784361632353273932284374485080722514226661865134073338433961008611387931289984766081367532515921604098049587905329463644178161637016979474874661294529374259728873451884545510058479566500008989544383101392888150850601890218032379458930451948446983595779449957698003946978191796205303377652740048053990710543940458650501561638642373729861969643228308004807282810087288049934670298593051984334834545278934496015994746946146584096570660698365565942432598619320223386577566913444949476234093755583995404190600919531745141767471350166051348287431096912684752228493963974244282072843430145121810045277058045466691509788700647183356440871477926216536461466043747747815928610810372210410420901592486865787360893704962438645363861943049381908725515472222503016941847802262584921673682299795448054576474720771096736040580795083346634099390094074087210159561410357873401545344868617109271818738629363362855619426501809753939476234526559600041938609891954961370409719214210271826633429269976847720198438920865085195535701877799922878031632050092084003334597767735011490783592586198293671524815070234553380968482429641254578148027481253346778146675357233068518635009845344533853821776196012266299405493383209405241279703865071805168105897010590953959319525815792228613021781774190898046380162354636237079978057532207061097375317698556473013990930487954574743106207705563964575826623860506734350301224266002949656470357806962698820842491526433645642853339901127971821382357636714960744497633654064142966807618150199128974625855585866012287186822363887889625822119040852316907765711876491570804491397434264313387034865579137379432907819583351989198866266926367483755793839614423320788554866811078670971661074199105183370477820038743491541162323443077267705739211843619177581352670487087906982477256859643397677205815146023611981800998104294898435282486802311077627636189794273365269728406735591740630173230126443329768617533885728995201038896306235323142164648240619023578506621424140904945217383634948008369711824227392562184782621092110670555685191247625425674855510515289640104342361518510033479126820152435023300636305721382570352194751469567979691537836782812910152365158642838065737759207716317092157396854080287267405099448432556870860268327827402842703002150612993466814423214762812758801303702532019762512933184510595491078579674692310155740815926357781436862343125971378401513129756043219672658084814142300399102740749526961153476770452080316277459834118816315143227432647185753252197508369254663166366076111228063300000582430044006238517529400070561654249732656311288160951244764413784075418324379028572888788166608956659827699850369291716889493636840845431447371057616816692805408441696320039507542653779129285111311916401092692087637871786389610857875202710544819043513046338545032411597941981479105051558599467509720845270903998926388446234818708271833140009062960859406262991613209495265145454010570316935918917007637853003640317337269324553630836360679685595287948882253022873226005308829850675137855340715144490503815797067468882831051934245707410094372466738312609662779739286911677789013561119663992885670466464146293239152715464777049700793672192648966832372430395137260814288460594574283734545452505464326048227814128080052863932418563547360530974519260527296944734865971376477590796043166174303982713259854244893716703884313924084203475839426835176323363041896113734295979584846372348120516320506226246651034153965863372348068897454243894939728388267126600060628845270804068477574230434243816328261107922030620620991670297609842157276988714227059538475734960402051760624387747297790285733339953131025309870613172058226312460057088646286985147288904441410539190138496835800537784959302647466042350175335474146415688292797510276482950738730009551121411133376334936830608942616680487698998632251654565025731992884196045217763455774070039069384550844630554359800775194706553974489990711836058163422716070375736642506034747035449875898918137507672924153848744597126095365458616079928300247799659823085860904741830745761447961148257218845540273381992630892246083214611355428057462033677534271512962083869188125564864863110719395282227298776618838560636948465279308641067399135566189684376165601495793896719345000872499963782824707138584488631316845223869142234882668509799227982961938003871323877820921652841872551408402702636884989364968629315161976949660729236411530231269943589714299404181639961767403537742067494582695322138640781073827507968495331616925281720722949312383956849212318208655009658974129596375961995810209586305048460852978144712715679770566485031313965774740840349689601457795825224875976088918822527139790721945990617290693007617868785829431115782950653549702709191448878092078178925874630518441208029570914049047978676716314880389232228839024627522982528564299139391422856357724084229629678322594154274632182240816601931227400204563730020090072053637456780162280155426675893934050609452919336353547111759423130803783067223358361362940476690714411124047510387841493608215416645119464926540156559831791822824614600980767743703702503636252859732884351987499349544149154082928968630285899532735201228794415848150206203203947722032196217699915923002979315679390197311771813049188786650973538060686255955068411021163664397176906745417413623776592748753086000211987336113721491903706987695526934471430930844979523629017412361812917891937302341837211241877350803485768716433922131897992250414728366197193439135942520942744272805081705471570725912065789949999952231201457620807516850859647524966833681325573312440655294852183517844028644567578486231522625280886121467145603454847230023962899215313534976
377225244352003768368407100989997354970871861645348080604071440692349336024951388097778665936832203417942923938378944139246880871698232677043256450342091984107418116959996431260445556943862710737540242638147887708514666372017299254071859532778602463196837896554232561729016255981952025525800327826319209085701507549711427890113545601564994734068516841892916485382781368135959074945210671252650834728928241442016024369292429125612340335409633745364251499319935943685558590520694613670493751428748003747566192533032440673655160409925414173769649927170848623244783760690349560559051578863438617688116359608814208386560340256506749579581201583402652033314742116040790232205428615590213039274518558029985450750077711870600894673295220309646103498805006874504879708658996303117949103687498073602194477885959659445729754072743331532486274626397262232931999637430852314304196945687049597888112273616200277248794528005229609313444572308238297635882102193672055395881226667972653631293810760660504343924754044734610274398320093059424188967107670273027008717006379700110153621476373240971670185369999959674258585481728907911158704233890856094745249558876539950852528842277069324711042426342734569788485922933324034849223956572725181440442848930906977124141592186085724393501440410319649798621764422676746309635779663601860500301910959850596931271384514894915664420906778024972225245639359916797614241546257097437460322480989770171539219930325691688133381202196400448948449782840244376663722312425100557844811292116564269818133430305299295377599187562947479318727194213937795339636018506660218786125308724291252391674552952592685515572612986970269950255967249928271386504671386013714528734932760373862979221173363148156593819857438568778299191253815124430174199440480107769410503233074994093254424543271395038677587805542273346894594811173650695344454465405550439677020197310891093280272965833287496637607263488858071481279097055527770535767202825315175324997127483641351966564082153036486722561082266414027452747536498484411723256642561131819260752796765378879221018195514170648095836659760932162846922139716898641992171798799797675478936383017937975267129964213271877191366651661887144495964397665199881393741639481412163147713271536393983990665190123719928908856113448842268235769901191389114298117014127162733645701713089434119586774933892777433072550711794776337455106465210514952356389013569723094375671734537611286584316133461598197688632343343625992342697384580907197757726829322262049972174652481308078222179769448263835555970998113949690992518272124083248058752073374608948528375215238227509501049399221593555113807190887495106272319465411742422505575891492811068353518655393580768131854066068297406887526997749929128120911694890266651317885287123398617882176783369690318708426015894328360652850390473764974338340919598469897271170395234922521956239740473375883954302434518537786138870527823291284916418964181588695702236447915554353171640021013804675576607214120346538760071322239944187275536204253847745599296716593290058497581524796076737691707465818990013811480335178298219476407258509526146479794963334369423907303675238113267979336431432888161303577113551939011538388888792844458876850751214803978443897280710200661266284706884034532908888333580696824652061640500287880484321916614943783412324510820014160232895786797138278053940117577352373110178697797795539960307727265898956891773914846160603005986794232191825997748683355210309241893477366113189095459393192029492947527228661367555501236963450825485506706619475118323157402252127366299005783891134684318204683701126535349916889867233447745398867764015653916609913144994369616634912304202521714152574916683854626088504815796206406111291446846023394256612373475262942847844777426379163828484644658767548759526015392847567730084579497803658813191074005390599338565293900047661729395128412106803881825181761807201724355164317018660341963060050361681016504057882971264367159410289848806526937252004333308580910826602771727236100149444782795250656303396119137185124922790138033531633743345864607768292977839548475948144635129316398132002233936114371992700172129122003576978640124019488381638464265940116643414617887387031669063885690215572632977658387725463560056561727490831008038049122009411411704536647169570152244987620709657117852903237889314255987715713938685047504570975112181513142172173004236075708277363497988182830124143271505446704917702717099068851827792981038307075659787723157097816940970315920624365984122635417954845109417645580135218921154802806914188808321711023229242184501310839036469001230732260329000104882886322059768011117834770169734966101116772809446419721579574416475299706604854086165802123973435755303965602971159806660830188796293448329682524714788018126908086934433731457281861267405028064768462008369435608754162214758306688735241577658999533836122666830795241478666780412572797618886981627210637391364225754945655625507193878259510896909881853482842792405090697941403121390458217291138511431821877224209723844746929547831106107898958525235805413153507422825075945839687132354367396799668656076974631682365707810203393295654112230181334352044423636634178170409323332096669907481363597236439355827868065680289222542408278000594171539576367207643828318795705481026177942897292058725019729596467783594053177402684410840584377587406639416248799056847712580228434720060851665076516839147576543035343159028430014157442515734570999680268859851646903005529718670454758863784432048355076150866991497117322119702552104140915249529601097412912602941120598352911699184928217392234851714361866189560883527016924792086855858498158962017743641891985374667591474643685154931066396939481128107319859422138359220393164333394029411733150996227067466711905842221266522918193338695615610527516629642657964499881625109223135934799021468154764669348935967289990247959150791754727643803044368510503126748396543540739496082688223368392760564794896594648223656325089158719143140622844449861624967883565341663790466986568197128346434919188372002087850482270227476043353199705937447862140762659211776627740832654689452205646635507622580956288354825407118031254426232596015070611164108677852613710086842472609578037102289250341127184650494841657044616700723422335494833445317175663420664066499872769769562853450534968127253713799353285027986513754121746044778041807756778134803396884115576778348281233061198039521963405759842676412757393807309434604321471055495353519008807811862567851860229669261763215222969498963178133014683160926017694645975612348592299502397345756328466551312287496483668943648386144687573329740647260482723575506174944072255677133150404050993910163758709926691836022674859625898325378118780898175192385114427018659906396220435047282026902075131385825584908913817508643122817224563496352773901454973536491155826345751108049841340832583864326239415069393989966367176400418476327188366407277487111778923777018036224
405042521929366224302766944591551965681599419593351689182714690555310998908620212967440755111300878879921069477488271083269055853487970332224829107890083270991278140835271903135081431365599012632910845403687484929887718201041317460620957881797484397003865594078464985751106508423712078968567403060029942769918509035976919256374990021331574700309124214788819759694577004415520177121023206215085672116961955531062676243512502438725719428651511924919362949274522779736092963444559744229531295639706487580270559131153433100102280685565901918898876868641894160350742913689235436352274501998908428268476723090608094590101396833082185161890752544274451720688679965767257762329640464405630185339205193220966424581850610485685456622535893945761251965299669901763408635276099284519123557732579307546106549087997988723676695149138853483528527772312714898594718158662342037835609719317241568414848220589445961642426338301554322243025362793147679930206936258387834018602550409826399492185639846062437379005688726744718031961592719257475869051262865883350598341062329958832849350444246576665712677165601871580564859422811516254055577037574490440093281076683291397637264674119188730089682967802633466112544169088750779562045296114894724970592051978828507591602067628151833130639530372803929197813366017303236544893590831657968103387726424715570716472139048028621913841476347570496794684591654363254758554566254676175444372588366161149329314895525061107277975887333675824288327351799287897604648230372825336363705185733036539687750737731388942284658120394757341259892414873675814590519478007439099467653254882183602450280996901701455674549317873075545890160231541822245987712534838538973927099147114641186557235016786366916043285760853508807960425234596298664442205544960890352043405146239841286480231905162594635854223678243117892601186968290531278358022845969500628822805637545436097564114437551723796556058290094175069349430999525475417617728133601031869728342208459045595422404504583887244392034518424153451776299213651389225479296570603705711117479039611959217825851776388574209533685781857770704475519211085605591475797540964655766899713225481643346282195015019413270423362025608207333813248372988093061972299810161521910154011229608494958752763640216749822131745493008110827783772835749541920680204642514333481569561927172573666692937843795510261413358525615021458251085534069330868922422237483915226529857909467658539460030334935683882741304676407179231791857922799932770095110315810222337343101960601845861816217982903278284423104353605972901050542939863841501098448910429034447679579719366287000578634111834298044054543860727855174199914143501909219759315707901917039421295797860330851865218057401990166245883401413252797899277415814406394032438152018641745043887516465824149125126674475429125222321409066412627693363372143498415105039122794346617223972907117169245074705028687575324301672757844823533949459386148529713341100324464128329145656941234760961533354481821139448040325679912009437303431834533563037378076829592090333572259886023240664373063524022899991267724087234477295396549854718858125896906223076658947116057455172075374678733494196400267906109107629914112985986731473761967422722716985153839616806947858410873434066690872968595844577785111257859692912831231211381316329818149305643658610264327789740114297786917474372657856832234280798194051827939349766256045706675780878972670693922537165268588143358786330764713291159421957348994759600793091449815478963942930019273022792521877378319411391910691113656729828087470922850533300946170210599781816773369493293482590676921420239574450360015953267880468969800973472036787830901895751479594458530753792405336770097567109146345802678778422825132048206495766093956298051133052605782674389084791925511896925397062401143368223928464556064244704607949459063067087966244292215333249992255719597929783282881251114054398315845059357575330597615879839096883234367241214663143941179950903386626204456710100680502659622042537807837858120653111513665856258236405646356882462260264541981336029577280136526802171471391828359900980949939566665203366271438638145256056397507037423639279569455804271666447292729469361919472769398665977978286420993539567912137913468485238454220666132444595829846533525667983954370044128606698692567490702718207408137959286346778199333452792277985907069084687154412382540355920363612003657607828180240851762462979742783585570873123885347710177663160169354469253291046473315509248508615567346467445950635393593361837737423582342999928131040070152256360902527740372883072873324182030697988627900944702061303412713141665833106741274516185052672012097991292073408603142118424395089923957916560873733521539018311035446897700967512950199487156272396491648763067428181566356931352745329443222068003799378426581035678534541301056394244504066463943113978544676211809476348069370642381955824125888403388248086564502255637824806025610463125292207955279964001175795892504983168372622295432893035232681084022429975404301449274093827005839594860951087667116232968534587043734428520652181736279024430873083507863005807985371719425424351543739178837328265017739135613797918037564628295689436289661211236090784950594903855753192000086874905550660227381773057058832673616712829270961366554286563845696155106219796117798892898101913515934257353941792334442816606724436513280737109142596122225832983068257852696290433033442498383860041108511257758150019986965054195302387507715037108562211420947691880063610404835665890822631507244194804964633755304293059329024328542459434586595879426803593764137451806773116148437198423032837350706105126161375928899104518878778409503187176903063670760248337405827314906484107531293607350427809672174268470249251264000551956268539878301061542918927908318718275680086450689308102840031010230143928861449201631046384631654930357483397977158465785870848629765420880303156997395790472526493736729044832666507782897466677238142455428972307102450370245718259529461495662697740619240869581261570775969519484982263134026615153112340385072113711021706367728489538897399923042453143438551010653925014564851841509417835979592722380191840457462416631061093477049520144815091693848236053434940478361428551734236874525462607133783426269185615629618036562406151068455369713914054830683580302477946622110452739266765691566286342130325751771116184760285809020302827117251746176036795727198452099886581537075361825581324475900896146736844452854613490786111025335971974762442580164798132042368169615836513088997380100515994787768505444888262694419500058418405158787217929045170086768277765171353653162897209476036411322732451802007711241798559304005712051190112126415892572998296895809133656025530046749490262989343143675315730769929546996633742129808251220959256011285963996270533602458822721426177644796407859538943744216848714049407457724216184277114624840597304189361124790641915089134856057337730455885537993501092315496055832576
434911096293997688846846107332639942621745964031506781016529141108455204855403876794928289005145528701329526116788983131555771914882050026580973984394190802906061279031793736808213654503029094677060733573137416394590150656384102909530195488628407295050470778036654592920527112373147972522541602028619732244387912223650338904240805413486363927502172398229915103581696795629576688890730526187714225895132671470530126648030582535361802215032512274620667826072045566243382697202526902645990408045261690799073056574984542480765797449879501998603580120486955838549955175899754226594327130324999581777967358352852452754340006180501489037634311925621890547172201762595192909201986641515108431075576242879352923773274711798413428084154570270792243753744452266917343204498709589364658691761149009909213410116092496920492046635728304568672675366277711193609067712448024539817484592171822996318379917058866062003372892273552000000309824323776124549628588435533088198543552408098945714092082674918160729219347519831111122004130864320642065271088139117056242694223640267687028572663220529534798168239716503648729475106953224670835282685697749901016322353422601175622545861559503300446739873430132929907125365397919679928372437421027175557901856251650131124604651177223103054636519628997890931226980438998792768817502105494103615465357950487095582305781426611876097974517660293203196910786947651178723027059573824845150984633567883052358794952591448551040113504293679576196052112630057069075140221758889676700578333527249431182973867589047184942159537409078347641787339590225398743110197423235544231315434896732726397855586925771269719445734950991937133896350667978550690623138745196383359571881251719164759489807320864230765572515812074344259492711211057631606937724429220415267087968894553924415790745792279380874729930380754521448634599897305216753195175664962653561346298055519438273934193121522003658306946656040670738584534792627109380021140908887648084240547407003846928018663217719450803836914883712132966179557635808367100087173956967751414499022274713342761943400733107804504057960854828824797308961058099167935821703490104202683016903805583005154507694150652200394185993588891251978814183377267374643882235637686270424732138596308182905997196087212709367415973966308167018698122259365549075626253546608378644771806563234411649243128315618271100696401259823862381660431331617469656266567774140305995542822172630549168988946929172134942050603385174395039108314376050999639296403979284170344325612994602113433397849744166840696054856383218320068581492439723485036346536654884070410304495425765128108791646669579167582758280505929182353253553087137753106784489194455615004902054438086946125233039112549622334918075924790236989473500738567167005652856515685669325966741980844055544861519682301512098939795285220031996104899900150777975993859300561713666298485814571886923216793764969454853069633259411130301018445097042629321070196557104974706930045759673047040817878149205112697172521102761172715400539471734164973316392618348250742646765820626537354905044752216454393390133755882766845678244312761731297765723923282669702315071605262446673026716068336237895594253969556296640915479492435383042302869181874864670753753249362984982527912395585452396875771495242057201004303279205074304155499925223746155490218524443089438812074203932270370902922974098659581057115682131579393740168113421937612438677043730770543283282954836721221570564086560807269559837740197085859923676846177711910798570647236014176101022842556564321478368395485847460248494905930681727743873861944271554354899764225683000472711187313360986330952735365609498172840393560653605109251550452683103937152223650858830365737204425103055629816100518482098692534001990845711249171621041746133990172759616338375833706845499882264589977947772370308080857074190986067243596752880924614532642235513672126085622546606801682878002135991203693287084869796713916784501067680379720977109195232803797979544832543906566979423105151376783274723284027958977425240573221923137929980947612029564322355226722753257588482853025601855007744577363000865059831234602426163214943306075416094700762953409966046122635695202371219530832532454990361149094072035067866150834947205506454909838551546085905282210547927891909568023953610647232775832710239689780424364847759727920275737185398457702902653485995648121277067519540423496035614500906930412930740614601491498008129389313231217200387405657846816718580646243126562227982510158997390795371656661475894253944173230365586936463291875942371702671082422158577910805728028156949682302453617655714440486184033521042038511962795093255977582343847236687018495435110368233989951594594627312369665107248808460600080592578263919890818503040496049794143623364170664063268505739557443846167735451583521823371333278756023599625882956898300411509435562457501157717474460864912083252951284354619874545280632278545620672290614385169389635995902889618977276837226270008556297718575161181437247635251568541218702889775589408981756390665237418647246473288807643262099426173051362695287091726665346226598237142198388806795333871375200591721665055050566902611830142736081057144504095586659192621294689414062443521951181065271995489219545793636953159746640407070280005910185602647957532250082370244133539357628433502125588594756489502555306873691013847927001787127142258887635258236374092847159072303256438207599078401213802932700567859829770153326440313515922837794088758017175274908602006487889490272113626313866477215068250943294050103912401304554486798669555654739020145526620165258059973289716661287386812184197202388842501006100265908245818798067541964311771133141306257030244516499100449336710635047663335035988163537725241073111120786842258194530550242743719842230023936402645334670870866040823739641434477141077401958218709042663520062998733060637195793712041389962558436152223708144397467342119311892419273200020392405110850518521874996902362464143427473673215417112852177269368090633160773182580799529915226094607220208395825177694219048883641976193747607855898877203094260613142225063267670243394096588877898090582592081220382860716505632808242712689644883473565481653898618500698079854559197794454567232824384797864901029354227624028143244877920708979001816670477062817539212435413134198680833142125799516253726093416243005713905304018420889522740430287338775610621234551806242774135237472367708848252744022632059661203089672271831791010812394696411686046210756760994307062721416566890965243722849676849979921240349347584593047926148254661697148613894284910367197007018463507356808832913732944096192618827309420584084995461879846730834090107655263764263652365382319073919244457799637127680641222963602946052416999651827576532797076143659236134405956436243018579241155566953851947757427193796787865671719083749281254948788589755465189776002774676029178733418658649767455527395468038660782924983263283722889100363163008833118454475992858624
466982233812556718674196995934648586725928853483828484517056574122946073483735014926457574985584105373209916597696639770781926493613425140400303489699965967716378738403371160952227267567788273643615883025598606882174732098220663902682659087036437307202398665267776641460464268680996872638255700878092251502480690634574210833257683739905922602643986354837843414684960050354256902277413531881276039303387787386759780434007363699301926010296249949053584779664712961709282565224280933856176167021023562435920721276079095415102952270648165056192253571501803730292078385688842944415102120967850763737511834370253428223318862152422942073985470732002201090449037962664977407958407520884066650340867516880343420312048951499502754577172953780496637733198175006960762949632449440130699624829069910235712881383313209396123513132139973315994131706746897707571017508503449374580386533090469345472042536867755560787198703501959231439180671334530942541569379069314604534657028106111754343526215355325424952117152302033333428087402009790342732015305232960313719541082365764946118320751522949096940056637572067870689441883902550540744476034496720691413085417535956429137496728914552558355702486550400068720940940439028762931786810307779575437109756744632614803572169433915281928825388243451998700648716534582884481388115033877079237314768054568915699007351874755557981501161298083436375453619542446369157813065748155351888935795843150376458419994837535493995968571267327339816295977014450914572835054767154689675249281696429157941368838329398006781859716196620019155798836631716032217554450814225033244565312985371049282926407594268195755353631715298633187443199793178907411426148692872235906709959634332339104611107022113312398582749532325547628791633050466270330753363283040487586920482889293594468569289789322387538023230954424374356504037603242716121291145746497412526840069969781094919709512178271289864205173654327810417031185566426894177551408998070041065042551027554780975507556149435792226390115185769813542036168527386003804509192723559850912982760223467333734346304887930111196822610289984501545638954138068370552291510844251652538928264115039237338002493339355424440866787751388399037375550616577550985813462134807059145609141207820747979611049865569437632151114053320245800753563900146165747224447425421749499719927642982488503825164817078010099388241558959171912409055686637690738984317512025032191572285749747968742831876111568486982651549179097729487388712811706422269721462885357443279842891746742175432231509701979636889299371096974881980654496784870904878563436563898080270904777313860705251127613130957460712712547061540043074811082426264121960140444202563062742405300873698772603097455841772372776406073734054755882469545482694457047162316465962615192724380097848869260296921971086326119073684255738757396836036114125314218962674698184498656617063486976543644056548084630129758220640014971172215317214296142409812961794483264415701292932774394803173245590935737241857587582451557273027813208142963838741565654739125386619618892919940395042259878099046523783171535762645532803045284565502407841060855530065969833753322008125107489398437711945460723313295821190618425901659980042162389980951915779704931328294468816938333224128786548133204486562786708413820518695234862837753399457269341608805109054852594111438225212948953583960514461041140199494519343240710966266235382292172310173594110177082405328070463188634490666628685627012695084529639852303257090719057277601423815247382543356058419936569475232350197717505657512927218152986413548718615911178525349966325124345216176854812573361772491053885033436257729258849439830311442694056582183479057891981715459409988529099683413252984071026339932208555282314361469474479670305299262854866401274055556496985560707868881908968329774566093533760881631402181414325132704200726229758841250414776181499887885601134333369112249779695582975091101585611063738326110214374391341078370614572289536442854676683983185468797314063935392983103384654072087450739417752636730113306908741326974189068737411025117222625104999420000433654493799196623857658962921058974180983315734929522007559082953947786043962141786979054102122384140547636760548282647004854521162564585375335384203738663801882612299998411988484134079454413092025587745541275197411627982027017005675012570860596628394366140701545248492925669802211687802489966365737483164657115821326613193086514191741217309194994490484146457684360896002477788193462389523444298220388403863173381594877228261135758544717503988667127918743910912033712022889463194651722601166510151657067097045427350774690952560820812513177423570923468168992727097678956410231080428876029422851743670984021974526491218311362670021985964096957340307651774370758598669013625078585176754546878708161719673732754410970541224043393230849341283750494466354091934043583215569672704282507317871663765446072206920900796694638850807877430548012418976720936825226351326245756286259703734719029932248050425217414705904309189223781712322675153089636548599291346040806691597661387947928405509826123118074244958294939108464248645367269605385739389271721099936527056118244456861439620024910188059170689791551556301052968899357156845195979415492714367436911269679548921048559744949736733469165757150552742268376179271849435742502835037374807429874310587863436726821482397517761157448965489693225435341600053935513046449100770725103238312574934456979649393733933491689661718840896280999451256403008063751736366295195209541453505387737361824052342273926922291312972314162587369461988989735030498576799370746421491648333908903908205328068692904279011934643204882116610530183956664041169693030166267570311742210830019267436276356299465036359407393160682052188348321514074179841367284507941058129036636400074591323371133740665094961461946754903798928438394821850704854546217685213785495052821892786940676226039008991964907621976991162178544212978259471557949023843073937022158498413193590301915674710663582632963847363482314592714629517432195953190132593440282514875803866899281239133854829589567602449834686691110851543647372501222173932409068269643937530038844078705077796772558087243093173656054495639340019701536332047755794424105703487604537330136838285911135164755088497239386486588331071648379867133151923980908048336171865807210040593502341151156182491103300013775515849799095271981030075158160788257610886789906253253297423840579866045021497027539140718891101136504403133010030173686252970359319142576228397323029915577162498708014995989050872690933577941844254867199288281921222833350624083345808066737335072102846042735893994971958270338568398270589097606232953574119277441560107707525739780040372819673396013932596234529712906095828814760706959825128360359554241403760820316118476540286914328783114211012584614564488227418634200562013377721286954420906838591370709700579450442960294234684873824491821165331575139584287736844453173661711513800720917113536229907890176
501418355509489125212687144150190158310121035233954751468500085009963317196063669259801782423637851008838616582498664186150327659486403461140877959184006670913709621248054598109842083140773024587907244195276886845525249929854802813357436861284678948697151880019787939426352927740359656164896368439241175768540357286747430603462665200901726923765781131274697212310217389834511652415939759724483485889115292207983640093050578327919837561008538200656703195055827003942167219315318379007153951242482486276923398382372775479282681118870702409688932844534861156653820298600513719585802364514288724415309014258301807362759474381147175841967502293278658570873539001077136742940052607609375817674573309317450733872258090360363622792718036155738155425511433785445262305969966391433716213560081213640010619196814368620287599519791927971626867352098647050868722949116429241753603470665596912023237094541971102625789611748628892739143999104283768429023900904433285902881308573075700656657761067443929901661383774471070343874739865413548462659257036755552172832266222350688400347443557302141207569232689939086925877465963520855871160015204795797216427473692859441806622484498745204152718428709962037718148472383278104698840357279017242719787827495178126029076982923609242279731210550032305141280182875101985462226968688396996852066887913049759076354388991409852381194815190322316677967518274908409841687545067456252172587766847515903124750545414925944987972342359254049459417467283358599371904092556824571782056131383413658334749461524568928623918421781081122003262383022016788683319680836584272342480197252043195773843292948036984455542466283009003103392195242324342802271831338779850381429045896734378812371656864583156389536056497774380472737602987546337155420199585666521407429357840510894196197899888771596119111933359376888591611471599470422322789360068893973337849705685640377739806025156447227945624375469834688651109265854977686516859029751357738372933691377939744784561982665677604116049143215138578436765816268566841677124640019762682092474174242900462528333732858026193180999132577209127621345189861661880033525374233622549312163065316035976530875701714747344423430484821196638114831467892048304232960344956382665575082240871559013000671883493211482761800178247244113982229472276643497876031101115964453277100362596524038006156263447789968914407551775669424790759667687087926481224928992756899999037543528783591498223285581377574713672530771990098734047341491453822400404943530472004039275049017581489506332249617677311724373992803718690660092692091589421008839202875828217260179709723298614138272141380000614732076310269543846100186220099791183819239655854230288464056709907394113721411090285304122937746201775882444497117579391039306744509719706227932352845987415533543355888747778819907068553018923157015834772217246110787054042117718347273076081555418029994217584884699534461891948509004122533761892826416938827276325096050773471189400512795488056455361708811296372856895239021285497981350156842717644976410570735342736793654784268717485743956678592087867107801985314664245457393676603961602871652585111853521289623268739063595735862739171574705585570777578496792480315657231598275041522346635305594755146237645756610488011595844079099210780366910090815211790552447581731799151195448992918317492257076340452347339203474597840133099941376690816844969077614563063975510048995734397248088696497197424895269697544689254077696860835871194891218689677075189869729614032812227152380763543328893249273250072638706525103955161428249774798833542731019439511224251798903080277591459223410393035699603406417222198088148361948495165664776858966387788512894706286738042132035879047054571145968804889866767790853650497237057425628848122644530667363639696980320337110408326456129864413776256370376106079495014622749873949396367718850540244065901284346802533675444674080865315580774652339193933428417665982703315732970536288407389977459295790638851146716265252309590377150596723089310841479834229419036972206844452566414143401257886863713969446171586969091147076435294310268750207712967157746072635564651216806230948657931550791125471844631518739203787605654309297509001407571018300291854160564249462540630407738698418716340046663140489956210764885130085618421121533942438281034440569536697754721508231128456952506349058786273500416891240717834735327259789848496895164128227245616278388223876570495749687177938042100409555405355882398060557144484747974808814333971002301571533559798752492433181931504129176257691428558297518717260313410691580581496948061961006207670518553137954775847271942174480304476438953210165061150820663958076180191036596028822338012561192050102370498530862839629784156217069624753234917329191865487432126737369694789998550662072732191027789565837608328569450492609779554544171545702841424779212757489204949303123644737381565568579312018784868049424773745094953445165954690687714185845056174326716552245707311685907937427067960425816823326962618084016922462882116518297104519967192495437945583190067735005270955467478412829580263153532351359649607148942411848291336179266181215986644035425263845465132845461754162788291492871413990762836956384118747852731307946611026018414816575057600983602715311631874753983912533115305108514983887841175544091448136249506604987525788418201933901401994341354998813965888231894613937595603391816257079386883704991216156870054184718178153694050892260517778270908367918061546215931199138555167335049257557459497689112935026729102490486222942117905929064678601183780650247470437594645477956506008924237481960427314853915282817907532237117526996716336403679621563599329594371377328683984520757287730815164218578330074417442172171178581061478364776413891435871800780318289860451534173738721483574239961825331040885423611094971649682037053360415201286005950687527646130886206110469622507867402759955508182125070740561810184801254013076976509469876907920797335908306560281698905033594503283591315887647258018587466693323994123091462523223409531885879103791589682419382598052777510687461996565464874711488825792364986181890322669145362269739267430165677988005314045963231920389791568467833742349995683400702791184998910523556775226961811508287631583657303537218910707255773714669236307237810750306141987606085180428197724369548996761344369316941337981246335912699096874121129210547515104190590886687326299180653269004895464051445157201509889085310584857048337560455186894802191678710804069504408988914068119033271547915538382226858758388474107141665212636168071954808242122016145027441571331920029392347134790055976332459889218881425518420768431837302045219529507820783218230605339582152153662803455515146358369908705036135320274315293919465717987675950352919614572128046686597066991810463665965309600468880874719316753332973490996810554935011098100238069306855618067309372603171976494074672975541794291127220485519703931144931055170287716300195154970114879790187250056441206591381349569921024
538393859631839302614035082101176110530758118032874841575253959822753070379191969851152295738008046857670616290928762160800528359294581755565319420855632874455054315325235300626048790703533276191016372725050016666555888097738168027974745819400646157628482283257476258172853706299673975626508671418926853245617125050683877163475422848717546711874178780679676829793688073997427599814345164280688635596456915601693341075671657698075516508541019087146806486485871469041317820580637987415864792655910211103038698887367593391067460236186588825540590025104370249932222743987540248605083955377085249016327234493350989780185987695294239801002921661109209794162987040351702771061871209550447469971387783568235746018136984942293653640701038059560235072984143045639220600570637802356736422246375135921958681635756875151755970512962908840731252798048451512332003363934933922407451149165208522364598128277956496288706527159224616788828833796888019726573737896721446091673263122761140113157702112313432310338034844364571706264370410614658040608146541130741632184080779640417730644706278954649619320950514775621644686223104168801245140463721865172850700958366682912821064681785094401218192260201448605350241538639634659238595815909583651125395702787669912247362996680813040468696508245719730581322761255365570056233068461470279036060558397761601713405316906041935227354864161799591457706463685253489416353135878812679247998351574938455690176950178817420996309080946377906345941125298293787335673554695029639353283880982010224846866689400408462234371976230419372631749485096646938839450232476571842514727439681288648756995588860191568908753814656176587200657996306857461840112627525521838483002719467739287549502896607679639341377699817687315229267256105235853341779856589557614951748245838818868626096546891539010736326568585463787859801692614539568698922164248166980594390111220762669802388318857673531894078489735841155570714162742424660599912421356093124477068614011202094927070070308501052839516514709460121623459996221059834448315030050163378317105356524465761685616713999705777705942370755870349521591965495687134738466716479892478225971915137871605889883668276472741300370477109115992072087061787005381283205761713135523776570814263435124342981141407516389118399880914721017920542977148880622007149760392984107580916520765453096628575549543454529991059264522981726995861103927967651428328357010953276593552170233075490036573163419421257505755020929812776724636083355384507675982862405026009198066558769827356611166049254508139334345916291227780892259691215493599973134925818597835511613644086085189241500517293747737183540888696009940959589238709615247733189674370053508051442410135404226754091371936771129357895845143908055163913792437799354479545368423093924244293462118636032776135065181106035583298611579257130020825203170363253397482770051720919258137900087312608477899046972107825062719282972166952920996385129439280896102260650532703565718356075562684708595055798798239195946784923631065427243235390985725233955523194247931469970799687019219283410041048450178396600908342588800865005600602803857093371884632316843970342920848724325337423879771722873327713754798233449135963617891615122278337880212953292109795554596492168805455101054772311586860271629430155931154934091034073091099406253182155077307147219026704548417077885521822530975133828101068763167022621458513276092851339009219920703337490683173895149894013562961186585665072982501431556637436752685355869798158407796632099646989526668869375946207403217237265822604646183358320088761244386754360239596599589474616479479753366298918708989277683041467988457734941189393236079677099559978729161809448266372369041053601427757049810314809545662364735649201961825000587463730227314062398971759514456450873224725833792336596520808243019259707814465999938121550194939573413298265048726021258478401076493388358673847450036594535651960769163758106090610685967680572572740969476463147996082155539614262482719784254529648138339537833532064714031218860814467782943003475064207335429876967412549609166559884103900330684789778230100224410363760547675867457341873377217775413611707151315291538922855211403850778567473827783872599292755218706246087099396168115213755498398700308325583253835426816194728609199663035981031590885344823953932682091376860122882946489648609961856534500497561217990938040849163673781739871867822092594518760663285349154970853357868605883882547167975884535223036690775284830651522354235369174397616510975525574149750965257086725246551088529352068082145229204407638835019513662483275822299465382272188484647760920614449008380606926644533288101153718815235777249276303070738853789551989263491218685816317985717903924622817278817534010033535682094438020839182505046136340745250383083457695203110641654515753082612523219134166244051868313425190703510528582574563511197844083197581947575715186482988678711845566365407576172280382044299945598004030602739297065019763303829017818799576372568978589921347715572161616087336862381188217690210651369307247068468108285337873043672258512912873818991919049180988864968943550592522460400368037126236243417110985869888414036991893033399435055900807704962492108951987797976499817695524182737927781385197773630064337614882237509963688109533396731061195251016943944617945741139353437303198219307618813561324195058025569503894657745129725360309374549273785311073146340255922111278129536704402543004635842425032717105202487178154263621539454098961008939592345854831907797593595262017619668740326735334322615208841194612624959048952808134370554689271031689356320870665289314375893527621373939823441060684557169328876163837502826293389058905695989378295434915830820979040095361603329858683635531564003969290966400023583855321935767308547705200990456024021321244133323189781496357879485710797547626163175166079988807004297685495597968188999389617261514321897653099868852570275561488592609683338904166356978992525782788037336109574543232097328791762545893476732390828954072693507488513546110266129988748666821460568603787048172591734938122883989980645485561912225536677710830716689804650621014889887705037476025405380479134357589706472687839630411486797137888871851623576646799755989467252952653276201690975085070101944502920201349220551316800525456175143295132342125597208789839895995802502226344983918516218233040771519675472968906641155102309427058165404346572879120499925152929515963860499078990913861228330862646685801412296560730096286883798587281391034108546133580474276505022415488379063031813306953951319047466327246119213642855361921781872424150648561089316311856719677075869261495482604369272948094149310037851520229947079451319426863278336110463063439658977924702167484044183229137556784452877350676053748410823891064836760318979318251132167405659834658757505035566562943438371017934392559371781567048240120511225506226432864552961753590387728740172092486967528679532789363104966077253573816515456395177147284114190632966788615845707776
578096004871491101263681997055306589466521829759426324356724220083305598490553957354129274527516186359632715927425963736600140620672691567537828226092150883291733026556389304923401970443006063222037692463659055386778119084005270812776086602059624392070598081176567219087214845887372225194538963601175187526529251857557398712902046708753254667212983182469092158953212176261044882332597038060326263561410976495576265535245807761835246385622945413451826952574370981397984128033958971691599709003738834450001824485908850286215120061050458689873970919591772302533560725503466499810636301919726123082285410545766407638782261487186793260622274133728512787583230257995598934905828009395783686423263146539874678391515143293798922403790573244765627445134766876901571973595092074745873664710057015833091836472212890745986732581479009382992500873181647967226923785565631767165251068095547076144108387284158987317684977072651378456538094824863387824959266599723609146390920757465482501421517465724077668602895590363571344863097310905011885658857336333013542614072000094444198224387615909018295530583047148914935499265103541150652850592652921339378786926715190171642122977041906838376209579451386032951024508539487797704468322573524568639962034632994576286403483246162139875844003666190143707178082003052756978979477498935971133968625748471059740913350225991504151509866540362924454252557173993843628279711546636169170072698369067690100513777367760543783552809843127459353191998874402515301674222886804888693257214755422570013724759761636048584569681252135141454550372438734500393487735776618287448804187946236852386831776342696176189507010515880981606929570954710394784212929044686425404572732998250691769863730496813348354073050075168045315936401753911081117399198620930012831379833475773782004201280259422627555178872812616987462532525706223045414953991473854402399993042189744575744726153046531974532470012368127360556766386085683897255130897547147984989866699781540093839613364268858163181822841782258541047235777533433893853671814092677237332210755914750167577863405054930417217317096814292487802831684415084168187415015116410608894235368332911469586012833122990777530139927966892452355052301209979857596844815149171502059050514572386046917699372372508574961884440094755334233140503354229398632211524765525712476945532598431484160414961088591234293662678381004889463205942182269550657649495327864159188337213905220981801563895199419458058603086670335346858815493878226601493351839671513653883772764086917622052771892493409409751706730005494232654727268327400875095480246246565933024692007384279924115553941935932239119327816607034695528081659462833682439246946296067304712754459289745021412247669166051045107287033566841377639993414470920085424889614581364873941385483606539158225171048557919684984619955133779071353566011637316422445587346523907394183189715683280799485257186383692733207517117298506685261912786466290609566629195841426411698305731522856158905343763690783398362244194250835320894911490860378365770670230209466080244793447682678645636424670415277766924691654723828115922763891361470113029672465715421457390639409737596885160974932127246421629420316826943935653060799072581855701125551188149976296776687059529085334885261356655545747971682492519787710122717357506707686986394635608812996958637263194261246526449521550264916213536695229344030112382886214125585400153790108602150473136960133734144287431951529774683325696347717324207202235040645513010909726181120628491571731908290474328447746222463012779810045136373223793801057682340448343388203617529867400125900377048950599941103817872215831439705564219262661231822761455098212561158051403268121968305397342024878808858892186277615772118799409251938634354499584377228120135981121752785541823929182709878676104334370204696813735185798411776359542520440021973126576784969454526942341373836477574340182823182100041883459369385458336583528517827224828543043619261245185865598095198542957122454610309626345144654138899684693727528529919332554128762846456639353780501458655919085139577836989129762950546583689345533343306661193308753960724884428505311630854217833788864407125136094793549980676335602859454916917242548224098519163593754968510850640259978740649548290874148837106185439440636027029368439650489798851926141254570042007124459737199102289695579508405780883180289757251427452367511960946347912881580609935466476815460634135262751314361634097178397908460648863775663171978308183296721013459422631070853747376849346200850580904929292418615506691967120694800238838726962247087675547712950930927833785796927977482808416477679013584167642335372394450290545054382453695640339151937895662865094609477759691296202948748109481262336976255531115442904461166020750813833637127638664490665668730609874224070843930122551657993366555471363607482233464967953535238163457746440517417530760179392779420802438744408851407028835505781342643275655663472389501618578737112227072167245901635776886358624709518636959095912656686017280404825915614020149995851745508061083715599476128200258193082513854596687486229001127940689995443151366251347391258946455224622261596742778372212364546878698895202317492475228199680128651714106625030423388059612609131889964815504058284383107955463249149628644497501194925285244447071245999828043224001197950605697032914641970052177056936160837750624911111318424997645032836412115296087548805318434565709780049260135356036129901231212924216118472007971974368619132182670243678191254606051891987969787356556863251514211153840814658791285229698896957147893496121076483949630796491257357597415841905681337977968435532087842455931103627464348029003124309418727251045455624535566297397472193451977762701898966936629054612743194729722249084036571830327418000719583773525778857824441287565663740977482060758875759293695282843317824458230111532378572663021706333950181342525040272996509180772435919594769575385583914308377369745342058564316377855014654395633913999041162394832202545416338888562018026155323674194049145259539540092990443353276707438412414516279784592591542216008364613297975651704127518293738087761491260599183562113495875043575079719059439671608447107377515704110754776771264556550138573758885492973651314428379459472181726429756512310323159335749186998047471930425176771355330784055311522594503275084279723885918271539127255077903594233696512159593020630821829475356786691375777105425570017414472690362626023928782190860933745879963341085147260358774237171156144010220956539458846100439583113567377985943190190236207573321232436795828941378325200878074213026842819036767017923605987012720134847223692459375733504840469203888384200372876276513532640606811079234933675222327144894845439971071092197044370168642007368563193584940675146134735125287151674997247143495226538790032701030578426168298325328385611379031885033931955642987703087530893380998642097902381468724689604660853210473133848718548124579248377260263947473949974927961417274525474139800605569973223424
620725858717827740670634612474127526253002336421703902708404690737225985272659052939840981162971968131315952369988205927494890548697587950717486868482870481508876544055697891122545812028667418367090068902680327845116163068549028708124157731677463251496775120453427351881313683702985951647323021616195454398277567278889069478686695966389916432309781558825687838378519972797543832101668118303892144271534157915981187286923169914546335041588188784492198808189566593218941547558232640205302637023543758921978995826827631204063545070731310869701927865325426927515065314616855437829568277423901428978821638808000058015993598588096900024371468003377673241346942209032184984338241035038917913369558606997704325907518856083905022831080554629840243265443464512219077359395274001785578725219341051324620908053183594625908514921837500152607482465891655371656129367422226325388359991274860923816841826616191277348483934739386871620037518662733774593991155644489505980708870271160448798116422756494428636603340642878537918987435136900642552849020918069991432663135397448736685667671519989160722692379288829153922463823262935823961050586154628757873101701598522623405886200601287173076144472046404158348957158467893203932938829630316644440286034357582766923870022500687577070031874035997692034967515662779440846838153828274467704598820569936680897421268097606929876145776453045856125483345296668435022199835458278981349046425359404566747992406647989125077383855241284832070382237093606903690207590336260426717614978272647144217304528580420896031348467802766190679906930002246110704232239134416176517035315384231171817855505111366641299546627132109226157535008556448160687360876836824179921945864270206686590235270215092790849249794616954274084048208287241283372808173663375676553909186833093600500569458328887645297970423540083374331404805811126820934687535681216874343398506708125294854248417952686399208815898305455631588527994937530448126152843291031803400944091740291261888477617204820190532140101780145696703637813926807530169863962761260161856368871008322633439360714566531806376003063919763005122910245188844847863077772176082299527046907479092200583805944324887733800390661230399713403546953516601179299296408463214240709704655225092374049560101974912564735214529184561325413221925319848392601773907755556750833895054120891281341431068916152977500888715925545556965141129246428647782804968666020340311111559585670140122682022883969492636935977173435962027857218876267864972792728202646631562066851712208622040685916101805327605560971389174907392167219316400844804217133760756858662194633047018194646416476384677973572391203457574925207607044252569898390953785302369351789036769181904563786105868230104208050604655113609486745839344201993727482356789759251716155353318254807454080119764390573252200891242572142104088204118239857361901879498207900385037345115455807331943478312416734199209784800039320520709320153069237393630144282274426410058713733875005869752657656172366738146394693868302230981327576514981995792738618687612011068174883018047942171504266450299186924365287980741417453391943831802762485966679459854100587363440337930640849463757240585772857846823052420673813856133579091550129831348185769522734457765283975956668531351359812040231142558659867063211959949799285712404059592439222422217829273627536574137177823573513308758818330064626487957216380925229939660632628900471723631139348542575810984018266363911459858783155582468137930640681789419427277749941289057018000566600046046814627252658117596545114728548238251714061116147568965445593207428092369918196689322100494827954466655105975476825771745998547740225806151458729514048854557557666030872843302707531070545225603094254713074929526008022380299064787869446336446825778899497700402024758854007489734392498973200969482410147006652165557051375265702826476025009539969157888044126769573845308407123501057017583122422058713831793399203839087820904257894918257130938382546317589409156923018204631067396594074478951296796067877842727622709532796549617783876638456931851867146874181601278682859843207510567566522338294912581053358072955961768452490904201822534945784099395222226671863259686573343850450738136488470780551504722416112854897903330264317407186268926619291126801874435427230067382627369958350839112660280823963685240486438393234724743700307946092646497650335244799664939308765411288348374116061460115140297106686412696593689315541058391124926223628322143214008101089614317167147554211049005872897575945653432362908773092318349032593585710116982322862955766330330281167059430521502960996950261530418740139021637751294719332384941802962374536302447176646795024752398608980409223766455751913217378366061878462973590962315527387258669984418803990140287800695213961984860423131386116984810981764412666749117160788021585172419139665193408268530530473873905530809970679403248011127770187722074121069829911528108256573621394959783846892773677106383685474499189171038247478923657615750413730011410453458646934729989957397237033868075829299445655409314732204478751338203069511362608739918005821502552813093839525681036306813790348022823151220236877891743308207055223918467658481321233397457801940777555046165574090650864187388263662674587388295151021675829050888019906888709665394496481255322092884151137808066817689886865668423036913155705230777968285585189483724049196504912701778573262309038293719344717911636831409867084731387587677123530048942410980188818333932770299442355351117448637545546741550559941813665533121504707399439846246180937376492237841152589556029000282781588719583295551095475200069543774301915803224299782650410486856102827286585547632619597694004578296053429199878109040488245986407459330976165022251773511282491552679154744875757919802780321303079193506372701821052259891664305007825130846514081973397324700379987045491811768499603669709464310608020839853605508400729713395341073228805224734222375454536815470685997466763888871116642557497576453589591960907337335052782557606713972524896949239500059176618939179568688260716008221635313626954333602776339425989823419139623031768378589821311702131295703115826690894562355885764385578488290317410815010883057568720526132027090435736696939640624245432667546294325678177794484196155765403964843134609960453800576949163530401997503828194900311158839158962968264451482252797349786235461467368645175228679589069808261799886559192776751978597091846738327670548153288363158235713735130644304322909900158646233143824365798258341324517703269384821285174161435585524087395243132510620553854613118083107551975255989807102806769473840140888333385152358428792383928877345145994825318231998941543721153653269968898208693795041126208952245154084103630912620381769326589433808856594942483739159299463202177043182694763276199342835354279053616465424219959088997974814246165337476851590492399943988709122775853115263008907724889652172247169942383427609678641719193925917501385148475933682119238563903560785974091337334333221007608550445285376
666499315743646659585486192035502842847506614185701981682040992762344934126862068833737417383879162322189062218048259091075975528438908910603816458860845463571099372605181411206875747731222494086850392155849653709333018425105271118489596741275061971355118047953482791860531586255403209968172425947365135146115377548317066155707782051484951565235877384015057357635169238012065097000794878790268937289388237999009678787146495811906905920070017682316996462076091371572372328624559461310377387949669806648702000668786288862650507096153246747144774362430950262728742018395836218959439243333677941547926403824371168086198787720306990120914264507504381027039857944348807579788754361914335631287703844752614206712629751845925676257406078619176307632440981754229382411474185043657026557312610060527376069921561641900499606469305014845461036578974523825141450247755907472763315165400093253685420784830360970073051023721766224174952920237357803958956922901582057700585251177935194889148135534913435650104304146377733915586732836977385641468124117182627160572088179215571475364520275706013894612873528487238557083060164358343214881361333940228521518581611901397361101341370055985966583056302623013626794087831172694228157712607681439498872185612837588387803067098809320257316600165550403505416292048501365724584103924364009725765030787012531311303069303517474920252860098589707911818060060466586543962331817472349334587089426086915053919115052361569092754281874929135690785919634089935507315828986301043922790239700192513940279616881401263592414464998147441826175067170852063004468248967792206548507466613079639265361565826720140561728925789878849461620151431256255017891961641010945316694329930748156516395559629886605575723983503633863579601852470274371536819920391421760940228484600522706164208763224751812153307786069981659466677376674005112205732779432414889197059514951658689717338510441631839986466139526698439012938066759286709426512736058098651425739112387243673831395641280677412974007643508959287364314853761142919941524761207143562730192737573297063609662567052611231132184359682794918768394990857357491397503629350203057468285683770159701319029659521447403886057920502095472519001753938558564541377567539940695722413331002681816280464930292168619499307325597932110189050463809725796475696821349059251775899996436344520933245362708299801124835211458913134530846540534480041756162562891715527026753653457002140517664179023443143384338205901427494214986149007771087648472174354246035800909630567404408898492697766263422156112589962624478918296713381800276215221028096327049040455065130915994080830262416937052996243126842091606809079566371003119385797382530270459311658003744445194113617660810495744062331726684577977522181361854412569383464707254883458579779339307369452512784037955184372223796977225038314430866146803176113268352201433955690640301252387009155993563868078786027182693689841695287627055194956522157325437103032513482090215231704799390598925060586081919814240217618072453277159981948696331489655490384877006968650287242785422346677511882126254313884934358726566448750500756865447399920636806447076738555091779364822691192124121399774576834140496911421916198921342801409299392548613367258184506148546980221685413816610269460374948392539472656050733175112433474733874371790387292773870129585426217740764542496174378234968769808226083057895550817335203030617619949507622992123467302277092944259008174904138683272607895595120843529711153174799746246576575604993747929214166920790727256149236036520847586920650212382027109299766554123344223305850250116447243983473508827870395215200669021786173884756145351941135268937716489137450717742681309172247079915368550223903213557925099537671477927309389255139490821112383166532390845767373513475597865062151737067877379402936090611407163030836378778319739504237542322586013063884494452488470049448364142907322618227987701941076621224843873652290329959313923201455929742674785706892812935471236823794625767553485852918621015028975279182659542743317567155007505762539567734552067528090359651064213666245581986407318152936857524484700780538580859460932443240821074192796989959994823210551987905934446930535762158788819491570880076406591690703807922055613682574907135105022719808079259942914604231819065218131402434020758391424274990299881787007615482606438701163399211923374282679962678746522243071904861373170814219880133992631235391364857266552558367583776983695224106516114198280814738864371567527735710640519351755361064441337210295965748024478925672171081343852726627026570846622622751241644559860562266232252948849520655106894542450297523069681646668637980543847116379893631765630781687380193418349074589517555273421077699580023706589640317078668883898176271710639003427507611890691118506320899548323854951195083901210614231574214404681516615519507028653590704951670655586114688962750992704258417522271820716000573949586682820226909542714408383540475395460485231064867031655821782889685087340367217095401109354668268988364357391585305857516322299420228073067147308555431124604739529276233797901181222769478187710335468050766288462876639620924020644970979545734294037645798943890902742931078116057218921231933530227730102600259742552021353132180755431708369668221812691314570993281127116331344671353720925863401709026740214589496455530858751136530501876605978394263639478896920919389368493298789337229184056941495206402183611175157042658443394542228070233636825569662281613874696260817565009738304470241349754820144339097659816878147660837086653872732664550181401003772213928960530418865383192284964340739469436859066783401248484729745855310505599875302255336647087848726106669763955221070531981378804739096005824589248167131517619877239347059038307702541150962191483062467274310051981580477144775135397673254794490268174694419801162900506260783322748945373430187590933758935158845614422271566646845392110757070814891346853848642167189318645801451222437413806084696443472616856739819520381085122873879680018135505168735688456206388410757907615146866348594213897697916618001727349558159305426003504895344803388772557283061119002135746950234349011575690517787005285312008058227467112154084534983075242432901880875755704941781789496120343673694536662045757919465332969307499229976466231699225647204408120253003932974887601859512267523492726248913622255461838474489454125550858842039079386386355279717060736077294294450360612340403684045191678655498415887901030893618892361184002695746579228867865127437002214628760021364656928257516059141595703770025427412867742520224883286446086169362403975896174388633161856069293587857233308437101046849338030031759806998659224527271046359969185873208144941010614588840641426482061139793340573079390357048947607971665175246432180926459117913440355434498163634635277235137381034872649426063809354738754467970184552610573995934368894784467138585424308770705322154238432772756468988304813409781824378810811851059851941747401096949918426694449291966250548504722833116731826765824
715648190981335080674827027763015095236267105767819920531689283611411048086536725185950767278815719947419359338856623436476500086485357926241594825898465170236957794026343120320164806710286702550643954488537299443627601027198141202781539730001141126835880204544892080084939539035489972526680442583228768205796432003178614744358341910955913802208025972552676130651806944171764911260370422602122282175649342513202762694564786168285282080812378993923304327391129176102780812144461887183862046665434078388704613430551809669573240963948530545801296815985045609155638672057786735750771675154283193586235880260140873673885675553391229412380462919906215771964770389865979142947402643249854872487050595036484807083932113583711602593060696365241769934842301321136976784889809977689815326065282464591415183251529134302677273961633766652512411537238825261538837847030679996580112345983557819982278435711263318584647219456076534047206843689787081363524827533772091121099653467294284714069396855457168077049621324382391007508760546576792705421393627442063828504614845039766605160271065721558246970970596359203489005493140379867233164736862308054079672185069855866510657740931530573353877293921873130636010739140259572759536334495039665258464666522794789971280884619469907761291275607236792223841683303474552899606017389152169842896683952662990881055669450757263136746560543476532800862754965466942926767970352985995444084727687217677352528168944788566705156007804196550027367973341425139931667663559822953914760907145081923069381262900256984445623900211094990807371107567353213764580657796763321112379151678747234122051347710278551664287201371185156559941439392953301874320467527357125628311627470299319262552054102495208784046440167737735308128862265211309474398704480619995545252888031721161870173560941729132728798069848183898682297033649481302565108177844350847851208579020749273322545096627040817403544287969635678603704879401150280318581779174253415953813315082820016672183824334364261362312231731251705556299583587782859182698770439722770875775569913505322774083108771593087278757219470076277496308271035642356633219856025106965696373892244458474465590112524657902568680519729566988484694817933187057021480472843019115476813087712735322304619309819945986416748214524085514622560029839100965647667476626341021685930101415154065799269057993951408398617811651319090128708548697582534926858153519865344478827764661585383931341039804094379537792838237486321842148675770339917826134383304374160625638007584610964956309380150228412570386345095832499820781459999779436987035243271305453337235671423708538275123889401960639777370760162890801870271913356329950118995841212478338194617449404759412595589890357275018573725237903368230254898015936360974698327950207484597722880717305409772582958116232084898087874702531299098206883738368294088853991094242110998803296794647511565061229799971411084532859103763912169388878876781291701903029796607406957564139035443293927215778246993010109594764032439386051345972536557400273395811323377472299478179270242192350231131871948095917305278677944459333775938565203590086013766842019796019136724115371662590277877220088546191387318718162625936534733004949452114490900317240125630584910560480049492924420585641912227514492810911201361706038875982535724239408182553064597409437332480171910854389679014367789908081267476920804626960266336090191721505691091123103013466989414351365131386197766152480894926088291053106620032010651803052870369536286045779890410110642476170299006304195918060425502006177502309065173156978702598594347312286957430890276154587871224517660193970438881472982084999229305402396524299914245441322520379135791561316509767001592749649444925148026032960929422444923031139478248692468010219385101815162316048577031122340679524031069168448628888521602439395621594987928750484874422730702064103165598732851169864056708621505251052575162931779951797720975010635760668075577686927209457515475043728218333823680126717208073050279917271035852241943329120498086596215768368260249971159746331469484810582914008549692323120258434026537000482732355168327276189719514409069258346175691461413167661354528504655627540943993471624670557608084671686069398526073127599550561973644464967337803878281526728167954507675263024111521925291369921183488769071206985962177376965936550184477765131379191850766450519474734929216826932598489005295574724019232134612265248497455690887798213475867171282128192219382744654339681914314015530970112533087457061098991111822957182261842125328398300797402922200797875876877877317799192582101694464357313409792888927063009740151860986227891763522050393306868824826914718887265098012736039553406662490930418460631079303966689192778688676801213563988278888872020260101123745794274965394770205577158210338032158007640367918920733170855366249805789834222184527326747684252681576310575200056918964081125797717705399399442257676088857499905946277174768823641628948862731928651788887587821378902456466445204513819969170104970058488979882228688563047460015551349833671124025564999420839464301209964678008861697891049840800309989116723519171839319313561626492744796004503432299334124823950691568201418922621761932850888635793482055745710038841577822599095877434940452283622763995758456416103169174665478215792024856123537725895089302787477335403239163731700334116622326170361231390949189375968897492202773839948215195332080924209537108246119906470522819456523613156665311240739017324083480070536231984794984804544300605962534574605995765906248255088546790575364635098491917044665807864600286355960000559343000339000555421925307198947069471870953461737542369172321216196485178150979405852010914928526596242336011835496789405209083377764452577055125632595740828198399784869202838060758717057983556237035932221165951744645959052725700145536959922370110722976904637233299343290760551380182213756619764170578194721335170999507237678601132668102460521171956060060177426978425988164257700600517808960505244791514933863689579209170399039685896862791612619656945111286301023771066360310390413085959465263566690690100376720458299582026778258530220834296825947067135141879050628123498548555941543858743904339297642919019939146263184564648002594592463548298739699632614339883679909151727231570240073526328699133165816841675880871784471629559815618493881051042733241190779026588405991683941533304177817568979619285886755426998674416580707923281352141960603003811469176736704585432443194699444757377854151849022965094956920199203027524268198365699281462435051988845236590778956672210924428623070175735041152360562103610322673056078223068767417329944194807467316317669558868553096628321298337551060941874223293546280617109711982760370600810231521220489991469898785748261863932705586383739440274223129808521359446370745703752153202088402967166202454307796945453265926455539136701684081537841374737832252774277113396330376399584136320908519301845018598795550551988067877821757101796201098606248130108273431350410392461567445207236590387882622976
768421393926599079478975923674758468098523153098339881975231101186169805986189653144149516032155107696215246989415344923163425335998945969015507493029180430690701573968861966062425223537710683559673892067095026996634885503688005744484204343219892795610173359473525511953557055573686203834507747084443329382565068271784979593400619753085448469569621035208084404607333497130857025115908276480453605534324413414527078497501148386504609733805999222714493704600044202968217080704195858243282257350916305080846672622135597441108409054221613430368399984761175229097966567620265763048039587887695517693830015364769256195551586436170508054851846437584466031927020622155887560494300850225520458519533122294760543306589388731549672858236121857924868250825933772915227206853240204458061614432491136605601553605791143455297664226912346625459050946633460159941988796710955323488243592501304447637235295236478613041372203815295905551445978448754870914907555385397866720663746799740489613660192642158444004925832939351644193883654245260602355589061882151618069542968336130476347159077266442289828224852443185098913471922150570966695816137851014686837397853318972605524254158187541096944758003047856168785700451128050505488285257194978009126973282471737415361460044667643164672720650865801140882336785317503111968007453992803968660669678870883889485920081561597181901698213343678923630794203290285532309891738911593106594587225517416410365547087134157430908339882024236238480893337614805204509684072432542631653503316961854896705945115777945464547383835430655120466769885684270042599842742097816469707503699303110717201166452712092715612089975260151651046397086466975131101355477563357209971540472920367696890930977466959888431042846766413581863379486595692763180469346252257886667631710536448050205879410522147396690157736846468382458560813420583430470155133635909667467703180242187458584024112374575055001332587829297870159419850365891129687385300663728076684478208692513875765301069604075867875581860556624884127132049571986431334766127014505210054489337853566727509152737140000760920483973286968015618016196208096993023011987201415743141929933244544296264940152658591421280109306527693244945743209890928180739436450090845810718939914507744413000589821351689915036598452011834872402806277988930697374687817698244775071074142230012507852323176197187166221300808161375811840819911842935095442908380349692235215084853409573432874178418845304901753057959063255508389839759200829388466643647598353858408641535427626011842587714150815649729951162567892643156045557965546212268152286462415244327470316952357482731905338832435486530761033941568906713008375623195682586599611591900862413577407106094085961557263228180490112985615421196539297546180565489300895000503005965690410872187933939054280650639038642845795728695379414510798214474591510878734502467211280161465513717498172504929939557104458085760130322010468318135411770470215401077423484935586158525209244906483069976792976505797190326721833041061548212382206457049650254117124323180947351174457828840535896022357770082943574323092484392335742401082313645750304738898061055621695805057023955427597532553145925029048472690909279901724512456087425741214116138035591140573392052086710658142942453770295046019314497222680452149525934512397700689983154615052557612234916190954231394357772351661792942751972480900822663699955951239279487559220778563070838219941777554326573064615637853290298243090386820405583059646055654438877799021445812981447031472309294174973389654454823911555820740228690597099850760450150457368234319184495283254479062090886816890705976886012846673319590666395512977022297973050244943749328004170436374731797038534105209913770354515984942630952478791278194995312173159376216354613199381438096090063574001806848381532572041600194033060278066679504189016127874527669947073811095110697954157463703850366082354691573890769975343466593009916998750978461059366929355414922838142716681679216914030079193653886128544532802081171138355658719514475931290330670625297264510729013421329353220855592590775298229665943662303037503301817919542255556564901201449988307598949910374239000262320625747248926007677838232066366007925201912522641311363968671586126161993806047741533393960420280494607811651420258919189261531478347270630295469586032574988570731754940297263348692019610693093487904378786549404813786642100626644190016063296706923297987220693471332893044633081518996474192743715462636399276939574255342744988177120762586496306110160968570009955730809250150990496704068146814805499364451416461932708833143167649724688370676018774039041320425252346775381838743053529234723698387894550459276711733970340611015196764010975001287282929843289095276808156681537610315288758136336645935035258857130100517440597272829504934305909779974585293032146291544597254508422358386035636399902477250392638912205798281072312658498014864032645805634339801651038025090584099645843475296989883072506693609661021478287568918724361468690722086904332276822067343942643537242814518715665174736068129327340385108691110009964072880340807847657272809335834467479610860379269720154662088766726520028383427611347537173912494450502011953364005519873078683817765109847668377280866618275501628187873402566402071940727213255651119841785885169256794373667424967135405220617914198474533795173510563375791485221286603332603839691874265760546832160765480649380384857276354132803874229296368574396870353089908209049158815569528995019205222389440907250083680821450517149800505975020452014415593512421738032755749130656796154006969456502770804271629973425631074715751168943557757254181434262625182952752369552992712337576797574625974473863264977081757415369131910602093076287408884352448671145292504611501020418886665456765335687677739177435961538216695100432992134307503005445945920806460581090771180295056941150403023396786202567651390797654966477934713598224362804486222705959514322578891166717576868460207441929180492475048845887537736445504007744810037416149847101791680183284529743866131866498060435847477012152144719808299031585022166739207232197242912032709143870504157782877740675649814393137695710608829671028787809239340263678194158965986769153751277634578493792223874444347003800861984735451195258413484729890376699960666054289430792683070030979544076568702399808739305307972585661492341619003989979546763244213479384636656855422230853622229627455513641505168755371114095084805452405865949047549311395384652968945574134574212342891158947376696114702120229939578379765512964400204037511990694538518036728108715893178973743627650691858795824852195789085524537204115623489550781285043319475568795578214541960935010243868863186497795670778231227752483776883829953871457583629614633563304723898608743109578665950540783403583590495234905754672187000623137842411212050334441730549632618262629420447545451609582206522733667524899881368019630613261896023374676962852302276835584658652775874829368142617367606643888276725019046831668928437950239278515838274562625955092154548224
825086189115369017716476577938619940295554062114042716244029365409166531053337396976926436273083467988650597199025341151386636170363321106848158499850819480874939487872996766644094557384989202149651057713301744668695983822761118015004947510677649723442926735957310962915546156139759190908900142496580862515868210204830931724420759816408399067573693385333096768149032272985585188831169164204818554753801990267444373363298062510620116639985008067540042701613768652975719622263278465283387326754810281488848773725622739171745475719618030104946662791599036494875268497007603499779953826722742492325197314243715366486534861106067380893823313643659846711187361357719277521544060936525901148480079834361191251413248281475659192081405746906414516890601527635833197858461023437444932009385127757882731780785915959336736976449944412953740646200747138171567442784767986369824776717568663359985317516224395057304033177587535584726541330737030745625057387310898128378354389979427516044424550563782586962850928845018715814139644553091462528628895899790351430542425667610982774987444842226678270894799744476424476971759862740072421408873024783950095576362436398099261645136051874911508425285431202641961609867511855807327113422692844811159884939920470560819259727664556645416819434703112496232281269249112210570204553295829416184146298052317127988826250694178126448389228293182946329685670409537988943234088981465757020698516054170040233435036097317132566674841736648230913373401479968749694921201597466442269392787544672215212373100259302342075635253883427454564929228442899603649712848013271042600975768576469630361528641862692179318438766487950108311169916251335593031408559351270246198392855483338217610347356803476410338784444509121421328358408741442698080997197020986947348888154631645747909304533778095338118941531209238968939384692217140931777201550753185398246005073843847123529934507681057190782031175286470495744290640913679008975953642525459795699203504289752504109543766385831380207110272015384058366455414796283130084642535833970498701410521015440982901388636671296960392148380439916312519349197778023948857444165111512795423531337402195230720313226766474401956056981710420451340521095223900065840164162652629746504113295149949548141062627853997674853802248618764045480596475646485498808689308805892826383284879117289057724167809847441131527850717407869750555442769797752330894482532181564298478482242814767996876261897952393659044469250542297300956553846112019329884978513330269691325132499612219773945705733072287406828782868726569570498553474037023319117097013175924251889583631430282444608604541513277309669866784692546107315711457768927268929460504908379175635127647471288025375975289699074647655131140788118100367834914644621833395482672578543083303189212503058511648140825068117975729256460785832908876542505891090545848227490875940153946995212123508462110122292255092983535630758433227599008929313415758422425764257935172804364011324607549840982001328263723821715489456950132893673827209746337069122417784580407075890898030891350316818132520776829432464782756889512118111666132263028128022058900247827926605107695077325912523274541514282478857760051551118420204218750110032418835797036602171408197514387874687708234643483038352279730942687477523842860176697658646457752268570965640551066426203627362328717895777793450102985460830511240254490021729291803319017417623026793011780871489197404984873654069664847515369237039867341407851174247856592802714344434392642347861813732462787019588502559037052352392761639430184418861642865653531613169002157540558157961061004299278064545780644269289274074442509417068893609363592314254472849548180849972243959880467262953408414300714663175120309457094273434668364385694164257552461250821007518301013038832130224659064676878231819359196219812059273263644451329817909412583467441017387895598303210103460586087900335260745506906130089728846061533928327481334562597619011362363525046617382101469752162308424258372916351705116134467694154161354212977780867778327840349905337960638440738660232101758829019954295265481258642503529535699995445186726380132190424701890179969537249871906753600627162672424793525040027675875126401204757120349322961699649307744078273348782404225146987972255784871813847244441002442546278022594014871995087172243141991644716667564315794650232917151029372105904969615856464590869649435962044475586850393505545015408893876098453872288941238360947964849285564605388211208413379598715160748772160082687895501491986583325969161564558377253196811337692120181229047092816904671219253347760056485353179988961256511494924074604778910486879013828440163810129548043043754129803814177955516289572731865108041853900609521093997267321829775053311980824539366248004950884326944349567029534900010727377378269178627741129349886183911249717931633401265646455803600357032079344955096821765229709694649669833947580485525102887765495660583780554121536379125727183888858759820061448646569223799670647316803636627294825469744252416999513335809423060911592219440462094384511772206358175468430714683481789006072759977034233161863129673626048033846401106836433296034844124448953334780267663024607007671908030474870222854587754458006392651395805568677883007848852765417001952734841843015657847559811726561767759092339115174598453595110056565401598545543934779247628802389946785173321089114525500156672096390302801722188428702398906473892158626770149231277029649175272818282076377017092295305661932808330518763918090919675597858096610170076521741358583263073672070283652541329818037842620399628292937573784432566959119108638516370941671587859323454004852087258972022035104152459604057014367857669949343382463087084404303977330986496357950613563718403295021922542915081517042436612216825004681259389988576348985238639904390784164068991253953011906412088535324504556696647298174694400677179892883023487751210858628676475131875030478926792151167184578879982985248819079600671210115412340815377222272379667999826749875222456108724983884398912348024585278161073242158151904849104952826314036958931932511535312394988505813459132137072663800993554177370941242071224091749122475466100921475770578801613267278465145274284587471015833289682717395635139962220138350072480262103523859749046440068640397862866297387616443257285468983712163463274176083812992821875365870167033452020457263916264259137938799846161509203170446917409847130923696286642004819989845368468441151419692429806660347624302460482636127984936224419266441630173701293967792362622299280386582690722149210289310224815195013338444673439780425930862030711325379420381236977810408574302969872567500837627477772711962001635216948458894644710437974676595295520721497980711351121652610775774727385094957059354433706708542888826428649220354558152772594822591013489810592118177163514039384976883273782079050063211424947410349534176534309664745634395564037481013442490066825836672277503811289328793619488248950502481438221464428036323116702938697779777616185090160744150040201817886795250392112699933720576
885929549657945275515977875649091934735719317744941522153778519924000977372963137917417077597680405022379303535170760830112146850790287147964840598670922637289390641598377428562532448875030976136471047672609884382947901371326015573710671709139279090082703713365169459456134887649693832567286656838138649081281560968950578241399011988736259543736476789984294171400847016630408166362964006425837384570391219964595969273644676295819263412110253895095160643468655696960172214921563627533304985128193992419789917960313435494146236362930376228172341128564481322649937448466682723722511220541057465991563365355948118148080413203615447027836595125467409843230718589984613525944919286352469322412695749012603369105303787516539712507854963167375880666193292740885945628296833138628871195313172197222034800403837555688937791301608358663558709074528902303118850954732417101542794313114909441392603443089931542126217106659356378409183029676966657151529139155878211443160404814917823553329681952736143264930176578144609232411946933148091814317642902547013162631633445725034367247600601991865748051748389748849942901903431508514999655659971415915781549137733743179091331901625068326102895157346620151293477917118578396184407331137098179283750411020336474912374874312284312601176940096768910181642817724576855358323517108969088926420365953542640433163750039448087673596091849474663557730797092200147245200003161937344136945630382097821806401921444639139428591246181219999107298742098185944760424134539535331501128511070660825844254040040958169747764543463494478436224236179191700271719730502004425488753425931100384384993543341889858171915517961081623319033145449636322097666315807045170869991410515247979385843292167743570378138867390050819574584060727774227028971230068201891126587131526177353481980836670361699597729008669961176160854264858911508151511954721353863322831888702347101596185196878000358278614140576958552622658870360782725648352836264731167472730126043270678271149019526952473940020081242934634890920297498037636517513350814352844437842164207909933144889846872311686697121157292201663811880042915112181961874813824992912357401390743392528637729957959559846405605791389681495229274365896188145088937960466067342407984233036957181328960395330184669089280559767213186819954616368628918680391885486538625349303629215017462775989233027676602299338336109234617915826132770250698874893225640771549021565948151539883102743752609105032628442510189199293079367071478534943593954539104052092775364747175304152765329750796295004060567373166419367890013396574050062199325816512468939109756975012495200909222006499150098702735599232789736473271764522506936263657449876284008930078318668649791996557993340412823285377834069034726616374132181400559180289678214879633528550330050157651875799975717505919506719562367964700936324541089030308048231413220075338613887438384762889385557598949044613431150139550597184366988353274104118838802618909318920713008679640766650426924057380313569361040458558405170295733289253862541918318951305405368329599276687286835003279489132630731751620653146293308171323828535129069945711035787536809951106464228763746355205248658309390899972714306831921750076293238146410099880666575010290198647651102810663270245913467313438792860630491578410036175504306291576918059795526520326630429617044239443146440993889837808832596557633693963358340121409415124011015886318533129340046441120417924524929730306956439834432612675519881296847757435366046411772343949004126772786377042840946536482467169112276441694647118996538564880414203409986365746796897534270507189763731578670908576240481601812328327811844620730557780007090699978877632341281731067578855035740895880377788197046941199312495904854897695554410591891436059985519145870110218243121363394337230953884285203259613581860234905461270220026058357907640534140882362622494735243660121544998418131130313084396185192719326734835526656440235077499197809615317300936334624632887737084767584991513751182475679276908355171190163349662952846900440604562967288155809192359563244944933205878679989857394992410892617503730100386226106487603992055507734742218088179191113404923969055977191834112302399868989704639018260151707880869554060463587857463930424292206891814633533435987842813006528703455823048095768391210740139131419363353453599590834593710078659750534486587161482569123245994299611991791131610456829985748211937761658959253816344383864411390820306503038146359767236259378131019026356328804758839824927605291738493400395363954114106079605746327654036717417073820087587223120519709081393541989364926152765547559431984436742607647386462914200375470564564347290592033431071143080197595016651627537293504030817275581981891235101265157097683252903531593923074936872323567626238250595903065409176033752879085822732577227966725305264726251397555574299133993693233126676102364810859498800648266523619528500652190914529572496990594859313436998189189404813831755206618047570691661849569704922571449205442642024754085644850403745466056304334433810876132446210028627285827638327531724784850001865318798163712374454935625660204094107757509773848460290170756938785497741502148577847239704258885300816522202334739251171542239803915449169928417261547369306233484646295797341070868871154117798786192375021762312200785954119422030792829617277487714808091602006386297953117020374937942363497155432737382548027546233492944706607755012882374783205515264343595664807537531599817235565644360337848081260982253612435636330690313932443147372234914674142021430948596495124225277109714205541236252836492180796793431207251686685142774724788771048357046220909149985023655779304940924691949346496407337701503797951088244738679119306069828092318755248709826138576364449231216357905217832973406074364015263996023461308122670686286219746197117753930859554214684633239568821954603769484626768236425701973360342258372826805552561217113990135766498447366863136498671264807670032092376425896773610097339212785890798369538648406095013132427942306510405093288184040993416218148832487722781752396815160389241086986306780827371404766691178212290317420050217591874653093973858381694187446117206366453593474673087979963750178681007235313246216087969343841357665804821529542441539175488835035785994461306820008626001359760025105714795470200755266524688042170840330539787459362450100497683441462267871498968872779074547188378290405022255994826613919176455641013090432688227417256088362040739099595449006592590646313636390842866131616489777972243464216137568695337052396176723462828370256203528494917556537725912982314188698500694748322530356332212167930395628757310399587675912515655816191199506254488828873967524835217622768113242722238531037821322970867720188742410795574609606112905910728311877830718717219719681197672116622021831230557830595491571106710898832916844225860937727059950720671492785304262287658004805971930067113667739107803455455758817337176500755690596708874374678620136002058530910838321581978263514243167916950630801876861495973265883357670563805640397810380570624
951259610585220736224708625343101157946820218187489076770734556475217150822228167992210974268482896257788314197703900885192370684123418763739525832286168448326000723358372055585163289714262508373274895651179092097775594115419697260768503089236407000230462596040290233465524322255017328822348977644245065829431187532368201246774487444583538777429012363811400954952514110781692798415064418306026354036001324918370491470931189853762539470455727706422582442891048054882006569403999746359667515479839891246667400207517307839190921155067988156244009749735044676996076349402521910999097267804221310422599216528874141629687364971923733486244644423968885497626105831640787059283168958060878717151452014301838940531674136882117781076619802478790995400124721284164834634892267627695009016316625766271275379577092473645141640654720293165055730612770015499668635912918526970539353179820829985195715121092063290077737194324419864419110404635192309237065542266382491076836725390548246272262373973270788260011443031659071252977243819389638166824895205561484158996098736112203403951124530006243961476208762397993039593785643619811967261627709631913273910956695856627465085378640289428594349457930126921485014938030623191406040168094119793091213179889725787666143637715842903418973912206243386124929330420086682300630466842679676303472805529704374000481395058037061611958984301726458690264195370752882276129626639904371267319706955303532132832974009071544591845882425056196386749323053411763418221053234102066958466385535415548027355672872947459892666320821019838690040079028052087095417639046010667480366195045508625056644085456143871920613873829436543235459583511549804625799736078016713820336243990975145198069776310357895222095197196687286462708793407167065990277669416954742978511081499845575275234854699480258065805612026995927300140975747786745417195314620311908953704213020623169949001204737583210170732647495295888665453719190966381905353957006465790631818715797451361012580714802681566529669628630416821980550801274165568254963793247755108566276900020708726842712080459756645570683406979919515477202870148870831424363361056108306501708309196947009647448400278941107716715006271720103466528355833816453554972887893675038343981542544343463290056678905593568844760527092188502612910829376871871523031656157115111029013915963152538672942782475498517435014139007054641884882230267595158347202599904765611813721636504523862491486856331105196742043375169689434050550176094900487182309862190664219887637365897309928745019810581479250102081017738599787627150015821855864853217553792387717423055390546639019815514495679337281430855356109948652249290151686095086796391295141349766090614582350129279275604781491114717787431268082454689276406908954874135288864183934817921645397187463858288612678487386070514741942243153460177150983620604898349354989877605021407500693129821942918656358855552607646282938049258912761031474359831292928527888686003668988524097320205308447987775816081018553657674096510298378084371281420961964804652249788433141249615760539288043827608364643059099829439875065372315554871352145972735638931348543439050784042405719183538276511435588746678141265703810048603321352191240686192759697889110587381816665251228447533106443652054939296149158531561817418631262991977957372475833823389712975889233270908703148376803851887647303920075538449723680074173287574526846028774393868638407302009381933346145921692382091619487596369931539298237491940796518959500781845091664559054064538878048331764075969166842182732167297440048587688368341038288644945780172096822915988716899342023274328500870389697777768411124391559971867817323242204301128756830422929236414379587069908014733990932107782854056970546898871428306957989520182430165028224741273494212817407208184402489635532972279084188232921781940458451847407661228750194770664765301011706920450924703343788299561234533552930625827472241408314262732086759359102770014633155537046136847727672209204630789324862999715753592702426578362353558245925048775056871841147103218836752158400124302470531360038341375021780799039737996586589484792409524056418143819362384348217419807317504951993913115484508062357648999674906366496320728224601336720049682948779111657572667988608137002415280083122573583862921053957010543083590079060165685380984002916056024724028390332558787304014284603002305276314600234719958982558082682435974102155179090790778168175134440579742729255465772760811240813915432476583611506080338548564765496553741607573903342034752480413234332566045363262736547025922381412323493744712521804257004866237481284408895781680823247373047620153821089522401866659248853632025169748016147307444696343953592828924462155041401093694107897429747245274489712962146891309700589798405973562621184409453414044379639980818901954862753418136977855440581903968036293871489319656008576633894421210402725693249933882079509371614310268662163211274858915835084233230144744928606278089264675559269873233935948188578703646640175333175038505071753888724793155026302754066097409490859138025354100737727416223588350848569270808681792375558613584498968748219531201094269873251559517826912196689708397513896701153416156071105521238871399982117325901460101576733498224699846957381276756373989644280535784854977843430379551186770759104796929364609768525169277039376751573035632086697419283212787335942831030120188306693158946450104865094995044340404155720077464597170694526796134571848937958128445396582892647204474255008067305025447229236316084860954117835764324238697619726313836050914692755630689979176557921335580287970486752175692948088381716633415793040181287012491297643208872839619028720690980329422660424230596655554928954690667720914413031487212780650159262364757862327006281649875785415094192381780297389526931760091777062438444297376346510280648504307630302365679425655859067496643698686085404996477356333305769518326230100409135635784295927680968863621342444257450974629449006800037002531820981823883446507306124654378055152118117132320759249439846144889823961502066309298837917285172472682107196274716419705869150001279629280138373664644143694808696377592490734107078005038591790881700293868849979291318752570737270623002442203423394347712302546717651497125371063687656837822959958966537482339701778433855209559295997311960296606055824679431507016126554291188163048017365926210292731519900451577027453330023377141490295912480062993320316057836484929071606530331361392962795563107735078437716305458142814376395977549713802677271718639514283245856506934654365677320930477843324001368751886440946617695316714208322044331054685103519443148577307463501321787439982225424704633347290593594243302757756233331869707977842279131125679630880312832604738181900433797572446555593142525798764142821078658442019257886963055670439633319329561086125736745459153535603559399791245403765644163923168095438983724318768565066283063072013519569014894569223831702718931352599689835168054280998633978394734963920784531906194136109098684850835157843886081703164833436435571776702233003640035974578176
1021407229367304620756541513244434063150330836076712495271884552489530674319942372844135029303857890740640398692527683148381670689254807504493503528054068599676809763324137816634642618035632664555535459309906706099729552768174412262305376148786334419633825328236076412770657926894466099801316763220266920086693516183491091446310712265412227847251357766037405253366054334696472891177855577589411727574685824284267782619774098772069282393879127178741520187020209771720657838611833280551766758104871520055158288220157612630822358365282888446895840017754290388199257860250725186916136362685521064752831893576684269499894843814707098382410203414023780433468202545683015609830305969528467416796980170084930630560707317509430819236042430468096764715705528059150771857527597486057391896876259511801516904873399621268406313974951921792861673249808314135122472520729044312740119347081017981497940151105772909011510636826545032963208306330369444710978803760654629850506389671034386312380202036629903432222473101685700913317751209124156651946579266628442945027577065797211951617489259700047122584450129142003660272735616045350864264528422149112927338962256194108416849270776955010946814543051305745226824728228248313397022694706646790308261838147634286108481772607004352814544884700747637605717911116362560491587473817630396681820467743862060720055070007681300394825220017323134103144928179284556068428696968769910790145053737333101065950687799845072836545933321969383610810427566135596275737148534785852378153829047484307136852482087345925841318379541731019135229405088684795164840597791037114023825882456104194076053123636491793042462324085325058825897234677971812285749846075128272599933846916178691943640282894755676508573382139610693724079447813850740109129111026230002251197681453856843714359974913394904147568829887302944219824766756568303987282938084667576568872293245248472117702540553130037440497824337948038915345202231692047229735353161740157826611140337693038924930903659455105336744817163026380313679909884784061336081320415803454177272183517301426132811430379693859211187122337153111921688040211683718073992433339156299364695339033085857370196842261392333788326046122368183513618879740723119721327872917502153734736680913896951155542499471474362414042741203167898947415639884475186743433668491881609894255919047658123664916122702877013419967883083224400045140243952715633417294144919285254321341418208632436363134281588986841885680511141818642430965454283659646205622011961792435233688820309132959583987602329892030622760658182420491172788689910188375392591308477856505021028074698580538206282678089171731674767959949665810412494510176664413934195505862795235664109850933626018965193276781390956870321694065487880461002394587408487715487795746442892295417857271913132892495828571480346691631953466247842525460276182427536971016054681152437648841522479281784701962386759609462076188721090266836286811400534484801355836832578542810430099324550759947425003534461921393582232855984519815268554445606161011923971110373535815187412066020602367840848147009495386790660860351024989342991137738563079419215951595811989621686322810264164179795205205919372061343566477645336858921159969171215625413605142551833063210580451451494886013193110691868056473657744347403836103908430109316916449205447364273567773354266997056012652007216068259179824258872788436538835281092348991591903374157006219852914472622223737145328139513960443725671626069761217204581696154280424951627774809350834866972588634529308516068807772885606978617426428301193132566090306103462570383090276542418723646919128470427936899757821682709800410286084494398738859556882040074636617950774729730503157648809847252694298240870926311057354941471750971798303558773567378150027045176929758924006994666668057571398268867085293322776770990078117482851671839332315373408846786840219234118398793455018147840738367748912930721451553799131685231166060320492079278964711117223618551032721013185489852976238125864904744162856603476872442563869802439018531274447528862510045420796486390361436048776769377950554954889105724936990367340222063715310296651296493087044023492482826314282976705517858330618607777262709368990971908012891720962624323940043781924301739938634512246215275241922903775511189818443802918117804595958366508763187898205907314873367340463465638867040340471682811143594862853859036887137099885381615595664864327992351752675747605673312575561501980813762977431236801049155724307046089803673443886401880227741095189276090999707430505988888148816473331235075673100091924251500213517742687369850709171487070518447872939455939360102823017233451069167706650568759730579144478391348357031482862135482671952573124805858706311839021719000005965065212046030807660184016222345624648768846871639039411581467812798691498524852633284348378737188032127879772963683961701634521576053882110460441848494423453305702243332375241166259964377631425827782177030203656454813418287553778653794455163707173993221098873333923173555705978271358452436300657087127154849028390002190411470372007181510722947665294716628463942780921598769131100829832236184287872129653378327516029218361454256774688509244051967250857516071496516718232224895436213730227102345689975524539422367837811266806893661327455485084522156303584599551049262085555253904433049437021713057226148813763413117249670854219356150005049931652183895483253922838373912181026435060056010257861486780548898411326537695623672586411318518205520687533403322812788074335948159999139660865284517942186593589390599117746099067830483328619559320496514494503875703448964514544356297626215012969370760407459916715545996335796595363663119759262408270845974649543849147999970914432564796318449283771413912262029660413340609318195355205035835259819680886293086205204475110424017067587276716404778276918146817979796141502994511420785318905303746180696310164021688912331207735057008443830429579943935597711987481425613735089202300676460134366010079065047458616161307612763262524607904553103741389558411377893367859462134458715482386386142218972275953091540013577729484627703591477299584311068567161781988979538353729543232948440418739932743441760074993546622824750708125983524258647958414491183897963752456331519726682600804819330097215419695111251799175191611556064100720309643345893367390637117001626564523819455405318387566073284489125116120203174741134236654174934543696411366087202082655980197836821489857422488307306483052872070406571630496576217167421161004839480492749164669818515606864966458606198284427411929571324656682299452662147150542889570800044971730427859435517426798595705817701120868722682456746805255101527671571027423925519802897408125131377574475720378572022420101073826571618246476215572196685536745098257543132067658501504363006756206674097216191394762188097377736069666413135234815014810824197059070939233105817506655260464856347716488133457043250839854693746777926091316746451109871178105447605950210481789469939312156877374799943088603887884867736910306622148616169234826694518897999176370201450866769188328833024
1096727661507636029454757144362798788814767418132454278596824695307532407148244882992549614067017821840647932620201889674237397734047794210643742674363210788838103525772668042460658706277715514233840793376097007877355535896003842572655741031003934106011605020037603390051743136103722685506831898941905516540748534195835243217312462258602897640611266274181568768976449321020097288539864156289428471453034253193933183414591739283477831531974860452429893910143901165149962766110967494643557765270091529229678241002229748553704637691120506916958466398675684145250739210311950759522073193102676926458127826574402851404924657405798717842876581329984921182007658447403124506719665062199585024036157725518823650171724017832723385048322485832207393954340495145115729665309550655017078544034734790499110287405598598421647789140581566818172643214941186869811386107797481850138402185712461323230396510091148220251805468181536035312055411731121634157833533575303361689727578169031221925775751916299507324258418641994941973384268074863177405922853172310206658073842328929666375044362668010738290289779075701970565195923477842298703715371166498230514582916799233017269561488337117570619972614445635556461530077416103632351842784383710069549338588362233619651059080389798088967028958228450462566454542711553011947547470792494705490981456675827613881950684250495413496631551902601853609307439319573998247944897897190275048127631224502060834130235812260195424925684304913785230427294613082315776437612812299888581913630154029982556500201735394141731825931413862548603640124078359293721362324141398561663638782486826917281271275694344210822444005314656060296626195199681506344286648932427472455422191067114483797498422555290960128669534976434608929198419016556906148526250724802714460725104668835219204739814456102886411715720568738377767164902017572214703891654743110030098720597772215973784875068582951815310548425372659919722185739033905889398750185141171044078793321564914499567358307569271599650388514203174450958128358591843667865131833995593239313804653674329968853646211503941496951019261943605925362069461455878621555870402335784095500938014537684004841279000648787689261494038670139740565479864773640689648548961968478964075064575924193699281791111092019917867691296153449454394045749255683536296635087229484288999914797641028776632384602397994974437228792803200111105774567877593853978800768310153681751301016514083804766115729870288349918330191514668671801028640963525321912019258178404827717222900167136667882229129319084918683946885032232702926846027070736062377637707651560307311543843282062117304515651031072089817703924093113115462750047747078210053594098437720450080491162677839704537545221523787575287044547252646932216090672032651717032709458854525032685117516909315671281542866882732621836825259251532080869352483387663500295086213686624356823113367833841025715860389538656513337345704351690381441310260353892285508093913659267180533301073244300966534267398299590335689608600777547622210600700268468110580930489375785667528658733608570008024151231076995721932189698358718852326723865851239956034645796516382876497458542210145849568248767584258162154081680960372159223992436977493684833928905140179385247835235950040271566434478058738520308925360274367307084642807691274554465262225460403651093095949029243601925655133305442294720249243721516039815317241555651518676450992599098320884213397549384578458521189600246360309852007401191360605707731585710848895055918692853617685985944678441169107502454967563569380567804451309928335537787605824250233038867732291321093700394876984327623027302868611859570355216528726833819646360286353462581418295656000513937488931592636818269364707552739765804315663471291132932483023303221439601707785137606962066943547842146432139250187443786576415973350827716763768523442842214115251187256246638356197002172552443790448015616076493500544250037027303913785316306107255419189782548173746640765998866110944380915925068197753924524397583679002467701758293864798169391406540426334233124181388448866829577864362272921320707974259074866098822686322098320067258721494652344188452086040553117360215373400659932256068492018963098647285042255216042522571980907277414149477043257980168083069248601526734924339967293871488066077786796334153739919483179897357874337247847071777171270600438421188659645721986771073957732447706077871768999846865756037916251042028967654114679295393005544961058582863690687037334445581077488804517864125538946803672764258948290935189615839897853751684642183515927706326012520437313475673998930489499165263073486055890894844738931661896150198014073429184822883500878630710529799168587454970698387633814093699302749508522422373201554343974934681860940001061251891377239157754226980568788420994330396047399371973911757554439368575793939338836711094247960228674731902797059194978439450099566764310248333892580843556356596429702299861409012991968043544639101777173260733331752950789817522808565159605366586339537911629449572302716792791676770711353130438167526188108735296407507760949616422733384790090530210004239818389863362983100151978894516059961572782933149130602160722184961818396947549220466724014870717984270681163214803889406347892806895832858234316133148570405788984655687780313833459614277824025660253215785598142380129064188389867305670621407785763504981187446409129568612039922823291269519614428563630861659271142573602089996438903155098461901368458844903719020512086759982972989901850544764663877462928566086920057888232016574204159549018968945141487181977002892073557026866128058971029472890574248758131659919058978241915816412172994181038447261495552798769581531840859151370842843258973352154334721609770049397160218808211573211207693514320939782590477086183071737242298065946274980565491398029285499558293780665197349373668063037422304125587428154942859833802527698093889665586387428287087085563020990461887003872555226425799664971104612234132881033338738537444745897688272861081558314353511183363336319667516140848743187441578082921847912634414754598129114522698987303848613147936022602730415244186510252608546693358295937237410611516953632915313173139165580479500693947539020887857688485171131428906641851911830519029448345886340020157257230575489042182064354279389769651936541707745768344990291009007211524818531427918358659593493593224765934449005024110347118760097136203093901451432029192442476804107287630942133189560881906322533705935640215945317008644116047773176366910793534016611496906847047290696687656006962639843626760080857273674962226002815655537180324837981417427227858046090708092234510633803265813008426757611280115780785499627259147931719808873311183485150985596450255843001893868728221274901669042603053281107672814979100826113584385000530814401478832533677566118466670545055893909459944434205511364588942305561388293542266037548201674607151510729942695080203292521045803675110758626724484227633896160239903183972176749412255900544236630204630886562022527053732190989385828824756865133924630095499296612340105586237805101131129263200682981195776
1177602359698463700194868661665142889246959165681312130697158708947754087790467099063086801018815774263684348513444676267062429251969945458913252473357391990903504120463975593258217127520114506806542176005257519239174101409472640234972227898701804758164710139382732812622742129339491449526284047631265299366125501432762507255640711603483435004315237524189401757182207306995680803254248035886431998855512929358931642093710282353573939892707400984337539519204404539543846254016075624103283944730471931242024029426845758279116179631722881700819600243156740278569409657028673617527416238623572542297864032131154989378324764225477423473471645844142355162465139163283638971144273420555255875751667838150273052469724860132316934349240114077688525130820135974179708261920386444938432667023120453306772550376051666881103618197375443976122570272512174042316128255354728784374502615332484960734859520988503896267527342698416465677694786981245541026492882229511472934059811846318164543531248477578928324650593880011251993275783455608556658271192768520547590857151788953347941251602052067356583402388873301267955067781792462813394480178213152817725500719683248701764042452167251347179938205864905471234258291155628321174493081065403565965073673861649899478250420509504431039171949469036208369748621904188836921253413615319990584229244841280118839173448385175018191507380395850384640238753271768703781721158919622850405238250535796196291797960854606383798156159330006299916063263617236380003936098603284652000940714652049554420904709667730071102045294446819671822961199867483826967727329688464525511691980784544790133889340602852019412331566404424492115553391879886064841181918403552327021994782126480012249544402871640856379268901178828694008364197292754098607715391365130988665210150249706044224337157819517481187380452772951463122516689201129269867876245262245215150895154718309516213707939752383777475659392699967741934193288697054107527356287113818694365147940816129829169502520030982693760005925549166441561979291380532291456356841434893492742873117215963362734777272190931926125477860978461211435476323958332806632006003711638675173367377440631340093899744649526476856381822046802379369665141437322301223850881377341233391590310670630228396137877610932098455585043000729001052867497545244282629919163624185567050111650663669135857745220448337897795063417489826160335717041445699433502387194297945811963957467844886466218428997186014696247258110871229662415293858024416796619998725799607317123496673040031230629146922501006118598592807853627841233121791674085516639942489024965120818697622541651524315852598574650826396353238947696822435295840324034847933601265012153506471527527829584328729764882641435730477248535736311305825709560337725242203433322012510659248977700260559451473628255420854519475374984238012931307174041211599505905070409321129801298076592936691391878178840392587563140321903909148767652048227902303188140989525615800056929163987126493317411467234753936625496132636844971802119273308041942238741002003279568724085279600898396062447546778908458870907666171029700586800483127663441703054320384745433795692747866477102995821441044191673432718211433159376073963988063842419116102063959691539188803209298300466614065198693647277877935566559820856292755032490718910368996318006604153056100960438117671054471982855230348758659665992688161180636555358086613859172022554639966331821552586289913327351523650464018357768461699597016711309814364523743579229165726719260339219149207477392514394182138081349567822641424507224841640309628084802323468655578901765226810519536904733407561362920583943730443105066523470098943251969928830329220887829284645268380176787388089082218104184408905372332058727567434312709950790290635493633843550728654190444858775165057574120290718258233296027602608453144507684191475304158728308356022687820862451330816088423731213126064786457854798528027469764842190184274936546773434721715439446586969956379679897205927216173373980691621984994000684740170587038461516395794189828642901857108399742539938800324033230371523324705469252284095277505635464069701696354182297576014294784342601788442203243720068065678464347417689370880130227773919032747012247999950673225542862889073950528233341358511712765542425298478221915617664595320578950750197567482720309176771639294454923078801654912325566791656112719872476821814537303908669919284002229357571291208553110084389766096851810320570688601051734914381671280643696254882714302590866740353724014563794525146230433163897791213461019110770915734948442629022341198249029979240997844046556049964763690855375582177286455723612193592381522846556047172926541746682565632777403755553291790589045596241785495969343899845680934769775582225431094070541570846645331247421825943436628532213110576992119722490971549506911981266673827884208498840724216663736020305041852121215823465799120264147926780775027660978644860435230184260820035464425332214563943658543835214010498440907567630357297517438604868920550155995880339009247565067802038087784787918786787640547497778030536197109846099650205663032817055510331360630480248038360495407177820432529855395617556778272180038168255895217532313718375031887852620404501912705232013466263601032811351199648024199572850504284543306209208686831358465007212063463092219493742330251482737054815743908738573609333507071133294393241033253824895093099997417266400302630701460717463137543562362988461378314777381569877096195852365468141451710367627119946584911003842533957410931874085499095833611584205622550645125755576384848607011388336264195253345857132749379283746268986023353638079661051001968855766575489608576686039830039155429715518182920020894938236151509589693487806709060276913763368200797711686076899936003552862311548416645069393855280825583637955285176275017712473558379304935236447603576348805090090970178557300933723462946361854412781477666819646082899282225248833154020012512363171132924662773635090554739112141927055013759400323485267411037216304478828947194605245854624370418191093944194928227162669143774707542415107700030587252101335206744760983444570228914830601684515705365181086791047169200729914804057675456222077869728496308599302413886491447612617943947786546788681546576625781629927850145595314173844582719849334176873010187425527016231031336330302203731812471204414382950238112909321474216428339089573408092570611317443886480187736874437114432058719849712540444929410039097143354473712813952076878569119756932003641530480488694502402474988128306646926919634519200621605550872144430076519421123679363511112247701808446671626417027562022512976407443683687314691216511074087941794493391806522524557620890655036560535074944696189730225634131511158062656871988523538448936138025737348750874242911106928728388197623649349942101491271923002914255389708294011591722473763466459921404250410280320156250258554012537346575524240830893309602353279625659329369882882840038850867322589922341692628164306578605131232003533861383843157327763748760459504482046212725422236597266708935251085880519570147045043198248877422274910223335424
1264440905649332503445027432216769403120659921012170289928093583763046594927592272759987512796268307777860689333077775218085123906881164830234032768515277480195719922298504879796560161491488347227317011196814242297585891900968123603994868573295763073123654757492109764330193357838629464246756169245697681969289639721329027899484891965782268255318891010216372364225628374159670265808001421801114951303084365225442412073015657501881495139262009031221985115022620359123689604762788365946598467204812119832613466808611039061281307825677775259974259860037961824605386035741182430384566282066894030963225677164500965521783058403834075951225860620971432147801134861598008338233935509741719536816313195577610973456890076096618866434241333103745354677836651416843736852942265484173068259590590005705320789793913602715156590136249501227731661051975398818401972737522524251959581137279872768192016442449962456609401600918870777768401396688534041013653299688132835577144014096962473681303370141312821603275592835406518855783575462654154656259455209926862551685763885315630869346140030308946428720889154775808355587230065473010706360778086435767295318674066004163277754960203497214587444105372671098270652028832567421443958023138546288215442526866589086715193254846642297120082704472518769896977951704890074996265184701540121033573134990018705297310861121467678592182315935702234034711542733514895704700975037749708786199658284874785098617178727505657341476242355835582403364815575764228504583473693734714630695332666355213902289486688818920484759804589945225422267763826940642658827932114341251382218680773770073968059544793063586925880304203863875834427917766495652174752943382449443696041165478969247052368150308386491001598225738231272088078844457417647822524184797269597768306072072433423389264445028104563050023573142374761876639805333261645087721678594154535651394598659999866135864337033006665574724631920395647965581989774133460843115669623459380492932472001755291393270041030663894110302180749970176642349053377160220719248211317181316143463343880034303020013376476035722617803851318631365879978006395835167792089423204285681109595004075199946823988243093116799996065203644977000191924219236128429391975077674114008212295886440209164667605679261450993735847467058721190920203867244546118556620919722387461278861183187258908468399157531480432146796972091199442841789268429788906684619934359718735591340713782189743310290333853002287239336878965668366844701872611134327738994466717746219171929750967934758592704884130216951619213365338035883262834601806280596168954199420766030364248758532336423691283921308685378497927673736007826720678677569141928659787653182857088206733771797948638292113348178561139221413233262836084549119209411267157574356274240092546081439786013098380685733090873526219380132658659695254997351759295994023428009072152896514586554328591548531640374533881341846126004409050562128066062461563786719035521262399603876346424378332313453361199787160928103440622362431849628036115587331468927928406954589058103732680850218635826766846782710493357077378010064526666245021077578568752355212340996943859458374437723233024969178485098832037259193622258202548360051453984387550295897926243855765953038329010903122237470500239245361289384592415451349024666571763785890898619545695187348433019588976307244660750227871762616279365558219756849302688431268893915131046627588257112428663116514848928912334093628373517839792634999440788560281504865125322069812921405824132564028005764929877169555383931688145335494711648345902640977211984537273480672248117757311455300949943723763268673214273770886239343962352552122848787842682975427884156596715495625663500549132546967015353152789250416331223871813376001929368944516908445053543562290021679513506032668134820700936151232865522294209979147637202216405770658338347719334630242206155433745061694192642437667713545753427510498636730507406504360618266485216769112839668360339843695596317929362024792705240878261962971685958924290159732197828426768625959315209276884704560505275964280308299231815731652327794817723440629458687193469287962579233850227780367531813711885227593429490702430245746105915239474954243516127503281850092661717807387779222356988696173311071031447903004390237608089371750423952085269199740307314523304469259193257310718407498102192412184679779014168706662452585474310052864274414937568545937327770464946432306980822885461375767023471311595899429298165332659553046778310819734561334805179528342028590331297791727332029713705287112808012898021107393841334445803974958259056140911160646616634007400501148023097812101450339166596616524848845158762209688188353095083971538123694472241656431307852927822303458867967103574765421723853729396362133618890948702182254690906685916166348588948107653211064453829615099657971372732186365452094341541105881491109096836674692972547385829149010021556707407826334349663757491949491908068996615316743323871848228558090806647062951089247882823202408085199399970032435582501091693527833383460444047295510299371289228262126622818455063982749679397697590599986357041972446007773651524681620308046735603569075866946637021525534162639172703829626023310908229055321036076309501559604596482458441437779144085014657662045492521349805344616066260994947618614684054177664396439419246270237452789750244848485845566444023306875561268927600317606597833873841041210913754860841384830233217958787531092980611305263111840783816725157980132476816249498055654323312864912143553420212352308020302131110732902932474748585229705501965638669256267300952642357219722740561728646997532414247346241948691114204611066781995684446006176912282442892742522244294833708881849094052664647190977198497545819059329369676308133200834325941549938120858822853152788771564743625694401282663535613699044223666125965365012985121144497689237654762645453721993093134215622991721202432743386191064086730504829460964669121167527653922690673861147841242650746115413302925422363600485261067054858366653637163144735119643912810327680147992195216446182730711145172721659355106987287611862435497725536760807806640491107750903749366035456126221321294327628360853073491045563926040912310011172681859014084255919972836549626087511540266376327122532744422803730178206876935342129905084261164575016867242569185192472456154706215929656975376400823172589572786327516735579329050587213129044787241686885720453990166223575453926535349053012276286624078018622082956905075676183033157882606234031580271527246388405875867266325102634683070059838464678001981151141802422808763609367580709116079609627798878065759104326212351397548099696322208813379607385758825167674282150615584648232443511295617787094785886782540323925446734549496015091771241094819703270979792687831177991023511857543896489718543246349631434685136709897747214439934773232280576621238831496476887139315876117620257024369380123552105978657801827525157637485520234817287041615961142939699619187393812496317406672984810841622768050915879032013435133527420688475704086883494108709466613598851329729317384092893846543249345880332640425529573376
1357683084372126186631550038798470342294168675671303653306000033472430434634542074881614506207088473186793523382396273896528718731040588076060140691741363813451476186361934902105659256725605258426604710228695747513787826366412340404410903868530870333607638436855855603960111954318334698600454755249128133190276969738682682120939796559781998303323403734966930297026818558016358818447248280439322533045844983143048706746239453266629520022678323591088767246305238185665005517827835467377480124772099147126376958538041475988195439241848728443906835975167145838794155282240866414717877221155405286821166415522246414769120452862831329305223790619131638206272228135562233027862514852928443704357583283574772740202016735675482341877914665063007118363307258466373978331454247907668233444729305605962201551338437375877783589538516947967354833120497823530398378972385708431383316224618884984606424917154213716891299730519148384941341965244494101084090902910754382026894706407154199350114675352880366822887739425770727337699449266511915901790120454353172302844366389052132305362430083503343421893053507950794774802673001608629938619350264588770434515019752892806669450429593950510370041641200900064809213155107981533704212201544216896216878963764900370628065773971530540385267550131175261863417397951392578845986572609128585167769583201580906420053026315575390768615592053345183493306051208538230045135390311611841167562847114978163363397229364605923484155691319820955293891240813744692908464251404166729859682292885459030807354471213276148087016956782291358404996958947940465988222113530600951817586007460901610579079173366713798373777270641531665886168154419119047654188792176839995261972542600474272969916401231633073345015665819332192625694067103519915502746746468333328127487291217330124148553067222824724792055314668890888508988887569541286665730915178029246848201464508936212104478805062371325298362834575934245848225894921627410265119596944474668400391331595993657782261275180819889592938720749650665413558068217865375335328166328447708934602976534887269707277871361777289092798762189092047983578949667347719068424150042477631851698883576992624067492143093358634672818244584689052624125061232376426473594530864344852761821564334007055411711275762949362900541433465411206646111938867012803391106393619273886308293779478285513939107957767915136633610016570881584104726552507427156598509601066164667280819896621950353696082941040891623776537504971063985594931313433695015775481714619420118542771620404176033204330615379687803147333912343241025872087096753789421986260294258513060920547846376246474555916010567860305350495240617377938341337461770998340594038270181240375422427209212729130338090031287995315323118184941375088836789477506691963925184721528401184358289208379873943168945419771697796109047790271230578385001593196089578608689193821998710455409450656984671348057464052901793426863308005992687614975499977430244044176121079733283065680167868604325551793590294586723321194531132763295301220288616122739273172224834740418743909944523628831424382087196096801168147173664175220310568162757657915463289994929368478080434620835918635407443250371576731956322520732689403237569856935048355777609179042895158927332473734079234358556536073079750614402804097663297285006105757474359638948750076801811528193995295150433666448210883442029698818068045659912206761804294360786895311204935663912880125804608178412014775945789916559198595483686065791288714996987344537307828381569058248322517227697118321544134355211831120571711183627648976084649288738711711823123848440141302391350936461506650924249379154261586748729686699816647442729534391443089683514764858928682163948289850582598128733130280080429624247708273236535909468129654540072632795642236745495160375400152086669057336141532316874654897687648985934798100374910809898289304605942631999119456933694514938098401137048526792709374585352528419105501634211223554722702607327324786393029584491181157083657252547234984362071038541890556394016101447823797594863528862599903903712498053375509697080499507622536264980253480114669030678919761154144921070298866119707305000033027854754824111762218493300192006326423234171749546918790419704589161893477834737522894621776512849528700432732909053737103279178314287085325554060177902216794631329718096873312117617387524619058137890774590428935462791440701581304022434731597696639774109944884910287590116698056240697633181136924653404135171084143435259472500783220723083473588151409429474442476455176477604238416112782950169530936709843563080814431589218131402805260350654655164027846643601192415038896220560222160090899619740325062904612865833507871509032509021240243473545333824708243660463806399972964365544293899927711252296316479688116571606932246701149419566221316967352907207803636574702324691957897241651548462362906426000169391321420403714926983011986622210388340578331513760119841816756099512757243244743580026314313981059183133312686848697345391808490723623178594351127528172721517224676999824811924908623193023495857714149185728190104047961262874345291899032331234605385362738734128398767252024008837543764222000431369663346158754314366497952861034431507721120962470206182146367393140684145858910913598160679002449584780302710852498932773003566785575110795787209516440189092721126990909959471580316408059795456695918779423076897922076088969887672578147065475865703850968694722300545796458080464233715179548234507839212960152836275601418317448881362726627441293430618799260249634544329039289925493171530385379845963444663420450052157175156447142260764664225029302020182577973069140989532911378651396057085856577183101913060838234829192196949708340351481646740855690335156333457164907280338281613009384529098807458290347944978084896837159566266647154745479699835084308142171131775930061064789868427662553916405824594325216544760452737334559840427060799607120812729564986906452026225140621718898152693390639139458005789546238728924794397007544662776251503255669930672337143789213463363313171458209319793729629470999043111085834886949560259240245345173775528410165692928826015600234292235929492725754309640855754261388529776509326281311477055770282375450015798269493670641194431547249381722624866668363354968980496267104435551697089897788628330121456543142795863802087354759166141314278476447736434979706428437794686972070081051474471473702496257297230580805510359821509158965099700706027692658074234391684334033581320826569351402803380797349595602839874352080802784337606036125809479951805307970742208717419916840618616114301041107169597073512747770960728439481772623833541200932245695662854582987095238788552559635689554292620583019502271795521245921999058963342338765260016770019669525369979803895465141320608867773711660150241248804811576937585871958334598406555556574965947523654701851455322021060740070655742370811170934691613316695190663612183632565333206117396167561233270521622094796286025133197791118377630036109845524000482317379006086919340822397460232779416244059238285934537439778956967752733831088382674270812424225724647532355255057244260282688077824
1457801111427672666391924954606740313744845018378970009158648106084748508597605980888129343959658498928962770508000824624462333718650486458821466200046993717302983775836827905956192011039035657686973911687951229076498005831666878721941061565284992912315354195522115221276752233073973375917742536130672416141442932552405946457750085752289247900575376788271804316810437935401534939558033216419781697956945867821266371302548255691273539161395144537957883088959243710230393677682524572713788005696541322544320353972209027815217173400023830811441207746044789877820846253292542711479513932851456260130602388810398777971655933932642533332535645667580494503710830478822711356850139519410478884598228223137485722449991578242718281847783677781102338196401430378123838159752160720927872565801447787599279568789763389284784952508354505965380670970018944825560074884452676202645700806191075268217514612664214325660683782378338853773570654769367702055272143473200319373550739113562236659451746122569608726196566278263773377388070619219966698122728801836883968642390354705130172649180658933352275921848806556684883746291348822805244434149194794428976273429864867151509735069349792000370459426779007986029962745170439008957878285769143066795530318140154031136455369736162926504982842005859564936903435749662130950153437552834166088580258278585242143041046652805919693406067766198762625717131214893243502395276320142026715257221095869790849984115894498325323081767097725519890685236968973470833854270341504545719650529223335002816360982535098624262647697894346694073219165415214716993603574699482545820750914927946104027718167851187494751827840348379861082372770496698546701351594952317107068741755729750949123791933785969542672202902325424202971832096877711870892245168562973785983598708608515227913413817360630434430519494281468858684622368534650187987768791156446408236134091621296432684713950717011020591161454211373903641138499577180552546465839601305057170031350701671061199557016457219478067000639537956552843967554498167197498999876952082826080061696740399056609872487670832110272277048177857928505783583463822133114769327672259609903643656750723704600775312830731902679741505160842145837460029651763552016359279406705938769489724050530080906639936199076240540465289356725269934237155747242820944519964462821104240235989104868056129755203506636167486181638897488617404618495510556608673217334730295994530460676014344411215077238768531430700141148992039311113411273641011389298474510734103623906411821708215591109902519656828434301971255776487733191525989955278332875432831295912541560652163647302679863238847177937600044237718963822273611987220801522028530415895750209851288521762127305380427154526871389159178500069266521420955776371882042401551170042430837555496629724125321932628295795182108455170909077229000575959686584921275213802685317223522426690039214215268719353303760308977204167031418937028391330366003061077909072758804825397664792451735247861400852272656114418245625082753717318046856982902124482065875052378960192275788609652724540032552604540378864024966851676950616264511871305555736480117590804196410860822189888489107680297979098830465477926740831743795736257779763512857871060851018264660822187403853801662328060679965050230448722173987542539662964656703847167420551956812349985317196787247934062244999403109555523696367071083027502989416568284876557984235046750235257572466883374789453093434169038983790127081703892891238526122348151481345828405343695904928585516064588338927146118617319066215453782633089109550748412863705690606972863123366402016876847424716340286257151534814203964413528715243480009667490721345796138833108972726350557185872634103785845246377404898116163191371443368909124888450873808405134347469830475114534547797284654684031417439708469190032075937929213669604429380457368291816857506412407276442922095292081874595528429024328378159134916633769175667547742177773152939980919718511801197481182061966937522967521436658940896738265541633341543866430885711453955365260115578512004666199796978031427869139072903016145723992666044695720672454157495262691295912710358736732506324016859783389007251914562744339282679944423153222855553487779755605127331107862134183974638394112946103027412384342992223072185791291461304403860257104050386026490754710877379054742558850091796214799312390140883821500018106195965670503749065347605626661224189723760197263042273376467743765141259684396883871096723907742440229653131916268816847798247834797519148974687226052058245304670107047810554631133257207255986177052747180130295146319798965706809029914279241892622272298829458811039244021222563500883039396113756573938022272466198711762953769488662487631125815822844169889844308546532884900454148185971045381577238721854041617310160661575765668207659037009823769553986371783110715455502418401942495794742906546431714555682074766107529595781288560910894461472177410915168053953473630822650029744699491331188749513199539261099664958443488270231672576335768556789388948872099602741236708336100605752517118435017291901610539207709880042996529479399174817358399609990018477942548539726941016361075556684107649139570444251075752916397273129013903546505567394731673916759685003283382429051020395450517168717630044872022906799033738227758849236354870649862052646623323288018555291302780725102487253074739588843573588256067111789637313470629174412624303468831982950438022161519684432057205076099184608816427018822558945741337633601164572901173694562182861111846966390293290961271503332263862098580869178737628110224140117904140387171039890660934199730509204597726085825482324214233171743504662481775765786980630107833869234437157999347069637012704474050044261249932811448473411981305836178358673391934596489482124035420517156783543662198586300821628655895924218352882353231503064138855502238402698699933624134818061966066165251403181297301201929048384848605527767469916007478325820943717743231777614127429507869938505135150294667861147970837192988484969702068831115180335677081059404762414809118556111034667652351938972076054628754533891134399332841695131267621548169248023772755971854746164209633242501519092734907436354306522485996932722810752784062702177470731358468186693313723486404245271859152581482265907827769679602343535349642686890170880323258508851306442133293835128544933560366367383455323137726899565884038036889609286364663501673982688083005643558779892104977944262509192036763130667257442884676649763037743060810712729148255666266734059377038939737023136564479942863473386477822031162082374150154925392363511262639058639878843306786977832151868292401468139993677182368983323010158535975703094077523905454551303796889866737627039831297582751962236198240911508472047976389477879046170008334473919977219788152531716202597279788313172643695362456874139129231937282712157814521401125458255785689308871038991557760170983675174716482253646675904260919087808243579371939505265065052229639188217796395769771397298513660342280895075875555518709003312034987551395681189983775184547411372329604779347917881540002349991370763148230581150676449464252305795710976
1565302024413576492886608999630558547174722160631548780875303522801583362202873127952129141731167099057086531633354212025774301226360476148782262007992807919733446160109442722115502074027282282285850988976235671531640804314056631319283784265605403369496560477105968630031863551536921299585354544707334102454199976390729336537990916011819469216351975722126228974903113490996838298400772339651163150046108129583669459512259419913966430822091852880930534623117852603083310367712902027630523363185926670160110857714445366835578022722665869738944282474001061469108092601233900816621919028893336165808851487180034774026656862801259086880457622724125577835236441886885891464929783702226291002261987079479922922397411706006975042669385336538109097345668942090415699683533088440430248861243206569297615025278254014139067050354073942473886722501691991131552236628008805787510188409397875651017163368948726989561832609578136618940903037844935175731516460149303806041538907972344459128239384721632819240632617658159835579359307302522056499661556199541670342966439023181093453737766152828619567182877219004397986466970826120419155955489204306701474022285305838528779747287120412156498385780627686479830378716651354372359184569731752919457986558847109277033410381595101979466638221864075467943197140013709023870144605117850253865471112094439218038150562339852922929595351975945864928280541778726807243538052364973307704297017208650508093760454971586023397351205904654985978772646952937805980753485186676193825308951890829029287084578429668940835665994206476778582548336224690367576355698630742640605736664444401678312415852106472221180818052629650187483453552841058483513258444829410163570394066182225235177911552779834162357296978440994825272721216323219049198291834747994931826214911465351642751524666319606188455338403057341941723224662741595500051929751506597835737715242246033948875577974361129521077655258123413096841636293972625075268570075367196724866173740639595965100427978842772860347989260906651986283434109363681451299544366054304974274280216290570937532163741319096781681523894343829048566661659457700615222223219234065707739466804245551983898073676213040676438336131599908059047588339765378681158764490509482072525984211851272837239563138805639749632981945602577978006080163660616589531874269446724712652605125131905153868097732886706714580982167745098777071273209393640864252034600941726569227030869823915218262283090656206452201299154376168051394617691821462690350118101573144004138280634736142204583584915918518817102462782973016474950694457797986235569346413065157416119810460824201272156442150316495971229682289049813918079962226728117004890428803381424174105306107130266999384866800812742409190149005958361052672127144880726521086893750693844910686652425834939976527511441130367544821034144322023944128004424161700944474485308613603586139068988503029363368560480020219986776728716434753006046852978714391377493890187805282490119587707637003792650314396321620199756356376127375860020334288463954848467966897480256077595972766940454184114052975137083109215888859146413465781043165280677821824801684583481051952628310540651084775560941092100269038090439051860334532851377464584657925634987343754225956842683805626242363960888353290693631285566629279815304015736722685363376833194461898960860096906536660226675193973765419843012401078227606502021598726023906984834302342322877894970403534441702980506447087842781917485900534980939088657681751334608571766744751387859350001759172384848764076518680532148158121552152623243556421393380411631510709168585777521918624937184625901570436022035802865857413412981910829687909120640910880842819659965957900136175189174283618780227004127689783228984834664445188647969037777430755485217305559320266934262871607367642037835017981736352843836098624668486793361451484583895196852883349885238695402488821804785541957624436893139551287648431254676249130293043877496006075263752427983308828632892460523605188360157271664371940893269732088526117511593752107725908982735722295096181881155621153289533821448553531411129685801454448639835433625346633511222237365373673497140441398030568357548219970093269307059615133135169340400490498196493723644256007828699233679799035265610678345695564633511219343655208176976616020145104012019279988295282394069626578670990124907835114909479735672211469519857379881880488078520264633259603885891546912330347818818404355113867547403791181974427667577209123775494398732751087094676476821014139538881695008391930637339267675916459791360136084670780780188632667403701403959668067767828751342576999828756835121450801169816168698149210928610043393980331847043495192202897790481183114804236078432006789422472655108759845287306934773008708995695501570841479201520302086987307942521882493409342777870625169011680239452993309539432007136157571312900577759578086227129878465420523464672208308183484462798920532633498447650055518533187495414863451727886153822795990581985362172766498267995296201161014685547366608886073807370970157050903224560669468212623339639492477975728906509921460188291988879840392485274858951571062299735836254942108847955110835809138999474399386640392898625727558173576115384956760574115541954768345090945038258793228472239606482183825338087722516176487522212314211184685922866945757169354588218720904328299112043587250053220494449908755332294479679417073264413140161425348233353180522740223514662568573981507450752797286783276828353416774747820902902758137031087214540017106711773229700780214131718377347207077339014690283483122824505741259029966756473098572175032053162617261793551593646633936481550092589175956445686277515109377224654855440762037643595113361101039213139455192355235376842131923396310782439996031294076120523320532677186666698948056145032749904865628251632358024379998173616206394350043696245898596548589158257449967763588910381727070445566878836688731331595663241525795478996575207446404890958852550155554328211690125271649643910806703200940626406495862364484123295161687718841291721121949563787570270908710572270168841813627963802536068536467368789824833499215393272952233754154358726207809415455116174615433404004659182236995709211361000196104101172563966406194795455628626051206060523333519549422363935076819524005293628115942320933816369712968709981300917521923959153373658879111427066597422565426088412284353737135174215228361788532117433649224846669543117098172563322217352196954674320318978611343800568527566773314014958237604535666005515578299438426094872257302984945787461641696972153563287359168058237799473380312254190605877626468351239641156942312905290917740914698286264052794274508796947721059917244115646373466040450651037976587180178118790882871074618021914529368247183946912254685964963153228916770013779792995173227156737341719877668360584785159487051272056992955998740062931485200403184591604488787570350007346563256323594337894212436977968633259639623151115098800968552659708048818856011254460224198334730144837152599123237379671871341486488685252892466655669297061874101403532964976150876726978052244020827483053086577307349681590093621292474747060224
1680730250804726153835590572438131260582176219449740179922024721126597709419765650447904529325977878590344772601831450858637633211117734541501961387308100154616236073761709068067824335641837103544492530295547182604248870937002236152063296890973646278218982808414072998097194347946371879561229032520742465346575559110538654504612211453961842435077621037879534257754119303101952732757901574985787444452093827160397606069787579899604238505682725607910007063521715620997821698186162131481296554061871353947963804404513039334382654212548697116040437698005132319776243002809793313474708856464239476120762631189803154646810364486341681443597037778506446749860748582894858781419737984353930561523574132585205410074407298086881139038303640213283107694932128380313326296433041146380890757045203529326403556092078572677003644305483200822782201788348601643784722508237784614342946121290533743248356451080991080250151106991108283742798176062761724751719018206736781029184206813193281100649206859643755589699161798167150338521359374386552746177654736374381078063489807535245567330848646623664733469033126701829758010972570593325708160187441044586296140177240939459741442346331723056550350201146835945753210053828004415847326023056427570456143579063978452249175372074460828898518671492449073022982025509903312295588607443000266544374002519591626233417486393419385358155136812574117133349578113198326407372960559773953125725131895375785139121113940260644935578560596663814735541767220555481952332356078698676855364771366787010778863614885343784249036088874035808848869585106064309116666627120567905398580150944207804659834638887317724976023009642688588790425387646838518178200050734534237876213277021279240398759715192491403907036197340922460062892976258391795437719612326618658441835650052805185689418473995005315753722799436037513097596952533945592895951146102561108179466749801858349031585843244744446662168002500624395708227193434766654387011722596591281124631548175262698189973881183272340287747263738320397485197521571974800873339937976073106129538715726952152467175554270631144395249253412326285752151875816978309434632124755537595964026003178069931077536259183375708505092861469189317554057206740809437158126217626081969849350575028388112979263649624332806257821364830380857206480398019168973808613984214393663789484105410880080509331915120037253067231188506096327952678273856661875582916028126281604151094396269037285278301956165552472907191769189524265634982544199047231484483008998564912418100996965463089472959628077237030053920783481562852595608977182700764107123696052439554831612286739658417308378607831316561436810583984842423259765219178149904916465943484907760421524947548392293526513756701718716885984956489517464746729874504143557197015758364210299973803268170033173327167320980189469366538955690609233139677559879454443062556576731973625793905053377077778148916914071226565482900572737830469702230946824623772720162199109746577776268083326135182215266374079835363921634450897038612271802415985029037247638382072071164744985333828970175039055065556318267729059713401149077805898872911208476362509569242939624993053883753957121914489435511388294867849953504505346194554025959735626003487367668699577586608408590508382938145436125122705781881747777396440690916971673319964250343673565266088737625061241431074658476232944690050361929188355676892634931103476986153502324134813239307874801517087480979955228939859796881315528334713009342288196915289537042174859411897626629926343296965237941903666843604662053939675822068807921068153840904711089124738210816256843104319624505640309884438776027162490166401977262213274448889943207698217615838994907413599426596007540346722401598546121156750454786040939804806894368518663405428395234707629883618162303855172743800284049218782390189648159694295432404823836008344619509693654027765006387476848761664281399750408193576612554886141175246134684270639266587534594115968782813107226663211585376958463830005698837803766243629159631456725362888537016535153462003180638967094040588507787884986087645551860190979027682733000601535451217560710626898599289618057282622400036330886452475990509878641172435885407229790559566110499558028171881230335372968945794718749648079537134240784458118296228182520426055046586490818224726535299617798875168403407625581068432604526708174154366271718209395972067294231259819440604168278858141954677447827155757532495017029507868043753208248337885140418185392141122197087440795020780911689443718269350118522446909418147781162780407997691960442622594423885504364035689839014813519584051986221076656577051795773844774339746722642439166646481778571592137569771535011170051636835395367901849782190030054869695286602714656750752191019397164923296005270195092698472735912758695053133268387015692952031904994909817615013798444666323266358846972923941094223207775947713988358953791991936510936888733761373077940944146680939126171090545860747119369236430470033539707387784320686902976370110166454898826150415861022027498125130141081403289187254833459732204529480155735938983805488542759320023584427539856014920192002640099335991538546868968809859378963869425165176638715736703047035801640361726736277934259982109205261488355412771263746425178631288429222284121815727846525211218013490776378565863686277646612083872456738294760397383383261741375289070784826903584067600716108223503672599406496507851915821690688361074801477125151982752440898731812926754373132644349922356308134416686601530443277289151902029933286721344901866747110408527702699907782245374800826517942892975754788667819014564021293627292093599600243534417999738764070674130935740550843730260704962251420154249390478937835400493011883384605781289479798091476183014407988509194462374045554023293454014689808544686421873422586246153813659082518815708055334129829879212886773111577122227413978989975217157419448160890399473196093156500233476279445660180668736352996681169860679446151076388105114813231969584141740082806404626713413432703694135365987800946147047739153581451057270051213693027357454912996932357910741054056135483080867189361943838941777061336060068716228689884795150231463477961766491654833500173088780361873029175286909372045662324571833592002835912826178527841336427198041201775824255765908789591158269372096661379110249053072864191890644928238410899197731285979099367508991465988372738496417069763350378055788717663049075551799637395208353159472408519250025260355961279513543026541459984946021329319516689817091103653833810797334603504376334370179485741335444252268469253974793032293615925504172798707764918138324956960709321705809265763707566302838192956607832338691643518754985787403984411475539827504473988139469915411248558017194953778735963298974021083514460566736240808582178784420064979724123241487187212744682361396923795757337239995848529238896873927706109920958798098877353336145206712230976275718606603981124209088090992514544950953820492186699474971646239499117728649266168870908265228414748925704833855655701029232258802658422717530968014538499390445857620358876024563824462216395642750270347910655716366345257347072382383555608576
1804670365151044128239931617366923186888925195761388297115563001835564359426601151164479426296336977941247344922355727785519938439148533365340119719585769909992319341855496036104485857863654382270740274633916090927547252829837370137995185767167572090705662072131169288246029988446427996142382381060577332575488832993169592510288132339250680722640846394793544206191394204026299585233253787537712184682289906594346066106607187333946791931222804159528799812238690794499493770237187218616455183843308356441436256427281064686683777048143321730200799231614391938397894433704224597473337665408866685862712111884778529471420236545669340120474836465290420128954351929402940868184046772922272862699666708121256292427962067966719464702185756508450353084744859083279796669039178294382068640214457688030170045678394758577522455891216745252812462102957489476846806209329093877523731529808222935409037940785870134235527625896251760367501660429502912812296725744790760350164847455591380913555806957627198117093773600435115861366141877613316026753004024676867085630977933748303519753740237293625212479513476981245788504180299962846308106011347129106554942958070369622976350873341064023803228172818170520221816817052419643751962349519274594425468118590044436014726466507110234238047349226359069894805913990218112607906938509467082231842318403566908486995941593565312431424389876102878665952427232896049470400009719731745456906604443981372700711998639127291928544486150356332748938694763582653484696425070159404833065953792716857973204678494222585766622480309433315634700568649908724732229453004366450658530898285029010410486544697249864483285302639710033591817309467823458342117679512591332367655130281845658399098743928506231135461772966866032110497859044474301739931934940156402067769608795924736398814889766693574627098253456837090645837641830640162832860025831054455368081947279599022278803616938189980572906982799456999786649638485047172495887568930245938377258649865650441233664053694086120949314431817393202292160999812971569971776817974475605332876480903275090150831179770758474614162310293589450146660767064743780140778306404006492390988319035850604594748068361694583727550722363306657631808603766221820290579821336050204279554691646430304210272625324528022174311726539142592231569807189348480901469406322270259611363415362886647091356899562401979056358410976223706295610955456023636839661319279148911978842068646094889418732290035968358227078672967346786675166675216445593396299013779127502442212015097914802695370869730014101530439720407002367716652317550927499698576728792968047254643389624651842137651616855378528998569057190389891903520332252106459850432709791365775146763206042115069518702273481995679004097087217615119477009433485370198662572027742730423813458673382052561668820787982462108703219662850289937662638629916834633818893644803385320079841060095920853299485390939290078338865101782162762340850193712718537834308401247950466599247955703588377422392477150348745276919568367424675739153909907371835147243176058474591891085047198767339788034257326880751515920914472267054499223773759225179453741910096368292061917664472257887302254258514728440503655048034242762640691898700549881622766356521548112145874430613709740183294759762264746330053054010809600198573009397066910549778808680829393166483390685485906474072447422680385790269706863864067452483089161711854484329504753589473785986944595478994982434960222644607613246913638429167717568889494160991780398471874524918888084837333628252333649268940392568700773903156861270673367533445630295029822970004344151567313975895681324623242520587732925735654522582735407583763682395090295024379893682212989370718551247489643303914083427878974223234793128444687558727028557822986736600707878617953073311669495413763201686726281178701312520908396059985224252074276830972924449756997344601861042347121546785817276438515497048424745337830288304838420315751721650749179988384805604664938241380587108525068345000498096120504002242267512068214999644825973838411209873086013031121034385601830063963158719848054809529804225370885772591006658259262285464279597089979459318267592287018459366283782191132806120213898102566496136380988363119137771667503396152978439814128280299595432759250790999821019687189602846183624919870311913812001867088469782071706925478693605578291632218898158789770844985789558617596344064979309744081979666288161595059825042938856174840055650881630422165758975118505727763813307556166737623414021806219599874119556908329461804777247276676194905953395797431880315050622999641608842032231538039700995841716476865191736683579492428041668114730604033308106225456378225415266173591618709823010092083238102725585730606699361001598891086570957163931245168672790732891669907197473235826098211092512955768066938682175429178281452245727144381015393786187244231123779782980477081746490857811345138502545570857873987109452803532339315123367912898781674261954269654340142990266586985811812956134758670989210226679326206424972322310015033817922123300211522482431869087843025084191711186824011729113494275123266244640830157778175344993076568743447881396058897518752172386674688265336824145033470579446624192485600636103265280145424660903695669289629871644783085461463230254404657809815572355215067242835897424978639124043686357652681537706678729398770753253719155391765150978628882932217750086233087585552877790546416276618484636027938486254966237822431056496098800019007422138228925120674154610247563659356084991738698689869882491854663502047276781920651528706739943554203102083570631623734560918518799854788594208188762413491163490189817932056751306260556885853711669093341693691023014101883742944965537137078919061905122711110413893355602448251862033502800207043436061651800993157820982384130402264878742508862859377919692687185961492987315744728066298974737134428603793667385403653401347902994438212175534478149246152716871275418511441764305272659774389566540527317883289114356388873471046459942769299664497365792445978648949664856811653842763390799873250764164970875538279087456387699928573917511994371475407246973810905931640341015156928731878030294475885617016050955011541700892156662739692926403077781792463004075673840620101596846210685927433991357937267969221925575489529420753242494428278403893516194315340730002304947093783060425766052127669063780746350833090789307025017881952435083284712151462143331784503149139269625981488066801132661235100684753538245522021107655858953483686442529322645628011440580598400951505105837249070412227283512107281062314450813520517438067406298620495660346165055723591713523422198432417224115244610417682092046748032951085385756648461230446845312665769299268185428793366799736802752733033975645647037422726827273219303444932710263501877303353527503106115244870441951285026960144445486749456268152212690461159033202602474795699536301723445039384047931575590823565697137969836804198980537842167145755049124442795897781482523516350600112424941061243033829139988348789788705139126522886406510857684738372416226853720223334528439077205029682476051740152327659858702057927226208837594900920544466757824282624
1937750049596028157760834084466830179958007425096390138917118556377834223360110314171847863201902431213282688972087377529271659488019059222625158528086393107599468796114399858231600499604724999724977924315681995735494439099698739435334082468857348170325791040457741278814074000553166522862586621545447359572659997229717297803333517983500412712370020504849444259380579705734227060618797387285651549967786824803402773108532979779461725487179656288647240490924029377057895607931114316746719345514169244839869915155960493757341827278882746088004642053211435664586250807005021195796687376224018221051063516602054176070680520659058456561835030652342648398989761053415032958768081949658875073820841695370193344603077379461397329325628550980203353534657971566703816777763251629271011334637071549116337751876882905467068607189594613627098194188360450545330295467779547076319564096102591664864734584624624191361180278632230999940212143192603081016388455930439389516732882007648448340800198488474518418257634044774248498634612311511306717254203338935880275130970437486654578206001073213849959220140363406424866740796786906973727097414609231104035794808014434199328819295605227059019257635369969634726002473735739371895662256752151426175262369708722620967503687008419451879828210956675776587792390213843914389451392977411026143576361843034700424868102607272285233247499303653838950430445914277076960741540446082493157602610853327064945686307517462056203535834224226346975796368179628487127417895541112287316210652737691516995697734611720132703049660326855012735971106275990211527497964455430712694496967884925521531070811230682597274035578368754266299979189342753229470253453222497248183036258191786591335929205261903206214756315187716624881968540718508733871360889458492866001524311360302670227582691176448493269180598493958562980915047547090267527812131272523526750250901453468492170259232189009404998877708693425585160484793675875147721776950762088002641789302826520859716639251216721969521201489569131411954385932840843752401639269052829421913626919771783762872317906083126106395668335286692711707632599537337112581014275497868812047741918844248149569067571743162634062541031682894481236921690626836286907407387378964663298701660516195637931613008253227310468557919198728174378813995154819351254772924624671600376058884738615530353117851971118302813184078999352063029889590505733571607331540505039717915777332195991137041547908870917690569028860503458431165132361350921886250104457904601497600865183685950578842727634020371728923015536911864744684396974620960106418109226978114829432918985645116344341842106158843285937360432857569557803648753573462818041986385000643746857259392551748455562898181241504871533977709902129143317222035175788074427192449599857968005756151705865366430152116817406144609881355461535356594727899139762988023070947833195074957352365497487671981425861928506401980675904477525095100742996707847734812823312534498210267927576985442187718720116859293783989751002440131273510767667440673105317228196432579638954789267918330533975631676836650302363195687745200024513103941420393781013388162172118505694328193988262181310308926849372046571070049943095438416615575932751659696613227577281365239267765202126135830977009676775955095328472230337215833926545307175764783764340829500786451393011580338247543763958403772936407467876499950723474488225485651117596426541851135832130165807530136558226126562150829867082412027612497411039864336251114860663934062637365085540344265105353296198664822608323663992814280987247578887779363584292077814980250209561777227620167258920899223696536850229903704258228911835507448373849119860942024175791511265451563407949407117005022254094279138942233705109953998865102417666761776943247685451637278411532084077724490733734883185353741555617257394219322362948101471269787969807593296274685555958829404339530795504779733803853653042202385777389966883073455113909536415715487232599983838353696147343880098592834485496106636957291166912408304067186142794793311831933751174184140923668225962828350617838712651155374036504571312641965957516695235444951288824261425379636770930441062351532081623432391525655869756834218799888642766675203938317320257560618111493652998696320658870866432987297201590605352462873593896796860393402557785429677858979113170557092956924545190771431982656876289170179637062934750212816972062458566871558052411161940686285930726045749646424262839149057590152072288114956283564342050831455303893996881386007713387303428821477111199853404557330175697907662528441685232150591971532424338216158445073931689701065160084777456354355048679649469513480043346002732507286788191271058677765304597885573443864040246869793850009998501491260231672041450625402198001909980705398440560125640427096839981611893870035515694695201613870747719695960213982819896058957626260324873951781618144674199265678376909255909896054859681056340906727659207475847819010962299804631303239034650789659356400238164266967765187770473114113183977750300506671435879077384562322019736103403070109785979577761535421619121015717245984413722358275198486945782324695302294251116219139947033214031782430513072654157531855479241025355171082015920745080314259219260653315676283947962664755270267739410562296441310807217764292602213605267433773467134088430045349906632788293995886638531956502340694093347791428361778721955342768072753263303047270398969519620245204614785191206377257874910716368174416620264116239906188632086880865228095153117364528535262647297949469691531594470706052330595701963308085547081697671330432500829132489491534371640279496437490164644093838621212594524219098592969872324164742369136439048343587734371985674427462706856585478375374771520879246586053404819951249645803418396684065381251278290221490608046781744632120292742794302996151458515720673963616608232291854063580641902235185738052629779427101419823147796657398742859708243195918841078838844874921558523484481663795172225830672768373575054106637087692043432959989589176150535988268827541644021585372437880723244323889664807348769186477249372471627908154378305737348508478202366131919073596612302804723193917794546430179989711034726968006722343870719995938496635713215448733463656513179662962909396014105520271798986849126228218377013141250049881729490576432780257692386614166438096702122361864257408842461412310922824866823668124738714200224327567718736825926048019729586290543398229160787081282028940551102070913146200574776300902357000304635045506071001126629701879346049152427887000864006729355300855198051530176078067804255374303874029859694124175738337711006309924818066913610950519534196051371366411126169310524882087338888373280021067593429759423287482811786650437307647788886063728627622474962570079441232971531875596026363127017938019325848581394984458903992074672200410929004373989963891712301465038942834048447464566746220151979462553402084773093828755312227122944221643149575195900304088810650943606598224569187188209761278191590850994475440968295916830683886450827871773806215396960990709111333788903928354631005393235976631789534339342334329951333528737884068687524694809653611496185266176
2080643272709329737269477745616784304926359136028541323576480263549382552160308257580092974084913196760984687484513785835656765050172490796465559786236638964934881886570959816442940134884888700223097294814454337904990020580767442331796347759477312220208677546023952915633916374224934031234211460376206346763531805957271598347702524879940535050532973179794443124453632763412452223298986075310529904290838566507574135004214351672554350862791572759065158497291422748751728583661543552816136176068470302799064510622286265038948827013920516466662968878682351988151493146835043435933396236504551557280604137456143933160949655173727109271329514599742305164921945790818018918167757105608196699552525211202043757066768861436020905978829090275960536715220497606172693894717316444584427500777883583166682085900343674350629818216894834256535670854916349738004746138032544107621235959434108065359056826170726334546678755171399939065147277578574815518556714563293607221143243247669226872220578744576672383941546881160399251153190132895006671207980564815902305664750036436998462460862240098596797275359131340037489733220077186833288053656188200052884928078447148395515306006229551686285493344528078110415311636377524887167862729253011388265627560529606175747708053615145405618526972039277833329992697201532514687829385054906106009115368648624080929491451452951699210995435345744002899237432581129216257214998031146389857511746844813599183347676765624620078775081889282422790648476221769851410554211568555374371720091038799483008287485714656307066094592641937737558664846064079577131681490510661340154209129059229351592923245523992816762080389758561150504721385926929213793280496605422873099034037728983876399783221592786346352480581585177751195888685621709838466965622809424502231464300860355310322235133934628511004901698812314720395546600342259429747960968561886852695727195384291509909423866523466471276649668885419444618486275085797845911050227632442562005111664640636863486192352751437266854567294081476136367597756328469072402740529342811815846403339291256761280106107585556521103302984029776995196459582149081907365631615943120166360855583021082980026915428462754306226957337434032909882866072238822898053346927235364096801893777794488685813533738743947346229123674810087008437697806114262892606796568792309399588788552830646802796084126462430561782412604232524378975876615428239447635690780074611227907332231049977448974825615454444941625456646585625014187427666878365970223707680821018030027084606309047617700446178888238393371832258184084978198718711869591413296614708006711025036751317290817040265821622586998023572534940921916269202963246517296484240582569613757457924707967799646401065289239852536025265778904205655007828991398662642847672901376032379564707434252831876590049139902508982748662221775036861335630513563206017141687582353607823727532524251139987080330849899107886621658408158426547562619245249040310421892189202190514171217820085212249116087648937221991258973017238665895004418894558877973751891064702261748354556576882070252910585888728238763445709609248228465521565544937962322769223571973670698326248382341467582469150349817118727314539833701057670392251536480408843268421668773601357194073221566632534645765225010072407064463400087651735630264601969840145545967514088908425847453753219595125512454604632521927281219990564934463825733616604699486316835625530929250924863202039599841762998803339298681424594746648848181335325221669118821392522798411431974637502005276802161600424766632992097888558007528960495736094548105164556953381806828383991244921066541571778806604172103500049071622754587278803792955582522587860282515396766473949882509877303252497531554012271782750612983449159040127297508999892318614548523914260619275107994282592137252449911591803868656543153071400346542250035884491098305730794462154992153273881687553520361311669473192092784279646597538681766361000330886419991353402004769526180618908964418858390790572300369933786691085265027627659617740641847067512005828349421327432930621187252565716171469391309666259863447025358660985574258786169882852558771448453313278339971078876321963413831786516861177217439876389009610559807522281174239892300822944145287881602630335243256966344885904216154266065992292417648784992181928636285419962792662928032647753656396087705714583509345344149930712875940129907613561486494483760501303517092716917848620151872467043322007532798943058763327704730930536020406681594637855019667534577614514069723570250552402104227003753981423141997615424111846546865426978803240066192981384058210875086687227351023719732280940620005580312895613076036454329936037111358209243597047423074746402849242172900536182683382739013718209228492481214200356998125296816179978166419328213784886821359099986492081384106353566802652904925320356790181045593343339857835573159471528989556082716333970605268961019903923174569595438001493731955570668685511273131252535787459659187378173938091877679857800534425591141920370294890850306717183082581511729499594337097087146807666665106881477961452420880649924032692968371561065815603993117335204502425294129660578243175310438706623068460910259887519629437840384652700491645435828337861975659187297749822605900919827352738224410895483053845046521775092914596740770542957470347721803360163454190411466119801000991567754531657111957145217283834660741616796718590335647053640966240876410739717445873330332668574124277302724996430310253651978307533184892570705032386700713065753798274942352963228768935046417851600604231197293280032642804849271539934630891100149154231604300948763727578374592191367009629108302456336207427098851304286395769747926641368633268072608603392561613962552167397962687463856412136313054755852784846385764316414690703914200002953674024689483020507811195052117061917755896332046930249136203006560034471082570890407196838011355416907358773553553896472604496429253490105157021485775958549098051326105928974177377982988157566493460571991997359197044502665993680940503010533810621413486906287695773173169374470799530935464991276030443077875700541138350986635588450252417064472851602610704016734234383798052398422341194150800627660661969527693769302108632273969448571496828047756382171011349499579222923991065110419900732809093440404409957798200099207486129744887285813234008255481536025249499315790576018245504346329095735802498627606508763570691735799998445805289816033970373462365737473509931402013048127902832458946983830153722869651406267389416011679823213431068505254744121573416773608161526235084329115731257253105690536840566844431087778432974539779280543900094183454035974672437218395298573088671654946929615809289844185308058082683876196560299041889870696446739405111385988088996156864373049704328827054391661576176618434296090584449589883906134863077355225491140072671324458691031961986781305058308786709662909284972073456171091985332629651909664393810872600440492400797375701975671149834474206334815469916084080665665780369450010181808520273908502383909530815405120805348444801142869778220848256961570534992266814577887034811039070985636073023859762694379372057813084051849960801616101336745743745024
2234073702732245133913169814105973984586201044398350076836384121683514735630384528896310856083519426771810590375691804156323459142911661782420142918054778817838652118111263498738147732354106423014537696263537942346816323400190772849157823639799482509944355088895603151322879483923747252977095184666051528974251138010574872073257495273992731116695206794215565305515102646812646914557908605854529745839790428891387961534647365651865959434549797066147335819730791321799774772573682373056238394324144451817299833129241029273068344560587488741936731397051623340367810639806159366018352017499132573416516366374106706798772168318408783187244663911361932677747910891062062085259954252564705753528308404082067696240685287064716346887840452777170530044619825661839502001507435323593278106681006137449048918942759699124107276560997086950790295144821520735107138238908019681477678200217169201911744891452206629860985059719788403205300092655853225735358592542638241265169917370028039410447939151537386313383824857558678328501460476713486863635025335021977165890274236627929190167921750296193264947002343940107418454528999072011163498650205386812061559137060656205799278091047074190334461408493439009491810113972428324953015121089746605529107133347729741149008609308216021854056999150651180402514352599853217916216714509653222414964896559206035747555766475499807694713599603813236310088489068738712643712485146119533456619763158576398927132644876484200062690980113547474698370065001183788761777451980502548722893584569446611655575612027629006682252496459891205220674098817524026030520371807956198823464951513508328013722711140931882833013971733988369358478061536988904737282959368732564052677340309203965112093789557634596774808246595849569933291698600417295954265031580687469416304548596682680193482780467852314168807223023433441539564208128496664378775470664447046095129435778333546797858857230039427671433424078026321469720437129590335563802013173674078102601696114913730321303175658179669533997829077788591275817149378437924929306678575276280435669225370284902109233706872455695024555038496775621135485750079033047140172326214833327679488515913641069429455741251339324831987729466601976333656242753429462168766778954495122604177991623304978652786640524465492500018776512165678038597032697926990723137862571995771886810670666699061134035670005216858881592400789220846806025009048864365613099105697295915944098612741592221221096186419978300528491344537772374913634460902041063007533573247569717098168594580598696732531765733287384645900679124618332262092464145785534247844929600353300263871026462244627265304753895202856515168663769230616469264782520443574537270383119682908365679188012525593234879211486835522794587525382501279221035504480337291920855278873117116869286480995776335142263728551177312933107568620597157754983823413568133490891114513077629871251608743283806970881294138318153924697080965402149909542611207877161928728765313147481701270439599635793050339913724402387321743896628561428637231903713310929779635262708546603650577572550346256353801071720130169700760808520101337846899557241631293502849234804455596179685132376792837295920342871128691272622758830333736166960247276731636765204230090564322439702914512155288287146578085564733467416791356934492406103321730150866952634422570231338413738737653942609251941895322943918932513614455521628705231631246713409702126465760942303016301508480454324713710807355857073639281727552133726074859148203967754737649527875270899193141949571177883982848099283273764446823733951775515618382718895135203276064232324681731721576724372653602727707000422059474253723150449109981186245528786010300005237432117440995330741353610537832086302691222394374921966781839012373619504200793992774485004205816951824015577972052901503916541222229381533074713596610330507646594678925206558692898763400245361985294753915050375931012630396808569666263716578070368002337750588138345866097206487740793500760345056108525173903803088578880912817010288333630803979535800999392280030538565462336162859053615460761819840985010798697035599935982900848142316510075987972778322261382578328180238339909815407229009283793127180241137484269712796017390063108669203772649184747611530997104339361826218743864403864942771911079868430467576188889249793762939415455006026162955930560521404479597952120724790873454333117032240801797936997644738358939048792820749040486435557754699778476459387609276945188674673987522782963849171517213679068265374450950877906098649496620273242974141120854860546604330589136387691239385046759000325783932567316707867192215701613390897092604128861760482695347026305861633162718218291281454710593554021066777890932784087747945091372452596678705750999015149549221226024618220783946482468691265025124046319199682178494382826926800688807586378173412063684219781185623639997204269016336402413314825206131312190863878216096538774218227820541802794474541536755280556784513289181052210782273798262076035819555402806462309025003821263191519489245467615233015033110289030774697218100219782175860073098145724085604735736325183491254288536230679231490948501847147742518241783721773382223089654409694655151939361748390829237852232425067027594446806004539371443525620536486818699494232473476241447596670465655643983888580659417960624565588723384511236240552850941989329321711769370405773135437315439220954339124812017656401706439596676932601060626237399576650984354081567680713709737837474820642177849139114887078112870440875096989323115294664655565589063285591278228643794106707899390365192664819332868360699413776619519536700120546970495395043037574814569972584312173010119720015467627769253612195022772121350141647363726244821695408534631917041789921383118041340516048561243876437810384741223136816677050672283334771506532057086598822879949125092154114326980539308281040698055378483074922475127635573345298062387848537795922480801518026548129423877252056544267787856935185738598993947666734991145275846089638642770557867417739701756917745529738008065030307090888957467528244049152005215323084990606020869015429966428744319680024742296365887363559215805278268540492852343350502836829929579356157818797004704036208098326363881329863997223429433198558212296899942806336379682054908779611365025618745372634486266445730002398440027111406975928943511207363071802490073107450423725095841585116627330959631196980163709474068379297339616430396137035916939794763441782309911705425712367568654172619236139537087764594450015209711743266675898681187016795101182537751518276406222418466283300338541587256762933821806729440733360433518729944088165248614999202313727207606400541405254242892827616519814828878686113440208468287598928042684838019224282168726872287696974514018721007800542039005968695457163049911194597223793108460216128677997321492670669652914788037469600476770721311305985222382408902996860410640792449941891132364402839009157968129438340657028597513890313240652637544047445632390897117371113247711315109188276647809433652177647494958807367868717301712475188076342462280261329082257137444147252395379530214823956587415382354848836377115670061501330854320898687485455774797086213113018660683776
2398818372522154673703051213819889435506135394642989394092839236381095062966646873878505525482119645641398335092512163056661532154099444393126895391172820739782638063002251504079720444519362044537745284502769214908677399680694722387024398418868615344483749971654447073281576630000463052326615613804942999598801265961550394428506164597168334871981868195278213740334903575535839284305380940075539847960272986895581207709854101591829504286763507720634889015818275062832661127092450885642053868100438110933787637579086890507301798365145688673346611262868278267647505827272072564103228912743598527798064194956385601728746828970643259637092618962452735917570246052358443840628266793305383833816780301433608413852951363142832136349966531185944950489156892992705554074350244353917076668406930116179736493290826950931210149506277459401228169750299003828567759448065244821017741205986220454977341246770574355571826964460274528951706367955664846877367676450805182948215614746823189967718254841612765584325383714651595455474429358930248910359511373512708842189373642697080297993747166452307096560709560114526286247297228524475574043402893070010208523708111374993051836235364123510993047762813354294084489504838403075344315170418485387918631978452202558520384359950307249491599024067986649233148815146745536337628014216882316643322092927453212815389732237121214825771015596204101710937443854071566693471705932367294375739929368337823827371049199620399682494727335468192593221723421369643504301622771617219102368628053495859469677417428462708030309983977397125535204929373884490873834423694233066636813911038185992760644920890689320932874709427137114509757943658710710040372445596700791894118599467073389487491950058686725066487123950069308049788186779270314519080355588864966585007061349698701380158873612143317178236111553556218261289041001007634787982200757701863225596357888718722219122328656738122659840997464105500734907982933603651281048841999972833403406004331921182397840177888206238885152059006024959882886393064084403784368824108798874658930988709756786190430047659511913334853451823918073556749420415869088192566617224238153118563686464165988370494446938485129088026998183087753150504886683054132964430637065204405944113706746264208686924190079571894542028481126421133327359920290059768037893127561516071426032011064324745961146968792463639571071624447957031588325867405744129062011912044183308653567126481026872278151326486031530449882460252200146736577708518214256316608024680083111604151533804488559641611498276400693905878989326106411386937208508550361456095482778234943669748557254322813214048458363306220004607484703216397204352807522464401012728657152107136330189230335408165326701264961556526233453986831853221233127961749477535962319610777249437632848835682946218391689555383582005336213710718885156137052075642578554002784912682664846151554587534947902646577995655558242887417002363266585337393718364068867017296582468606908182928744932994766165558502782442452672803766426818998880987218604122850820721485035394010592776221403701121128901952081927385931924444728088351164570163337421593821228686575940435168982545783938996388256736713151117905798842330394652400646664446408860418775849749958220765730737446397689416686602508952704983377950119822276924643529406991027676903006495746965410329098828001818049499366226074872564305301290304560477406170077341450538820568024827736399484283449754494966788120098790591332744680191699122127535622335614661009188445533532219793764365223472558976203702839355464528478867099870170178622748516541737892251984357463522838204452183838335113019489970750909721673734354253770375524957790535205210410849914857276538805704298007877445352377089242525776052469999231220408775922536204049918349076601565261638613696126303485307690115727765473715559305501976496523300517937845649907676174060723897025630650246377331704051199929307077372285074303556315339181372580564740254606074255451433252713758287415350162177386728867521159206921605222118660007573229638388489651509254981872234809441283978632996865618635451652651828468196563189495477941114305704493058092596734415923119715849497190861379214092966017176095722194532725551852342081777581071472016943013384936263352064682280085059953814616301567418863738210272429916911607546642391552151960463204022111671595236965275896771705154481408821785803705329739351288145069529980955628349179778155163041988684713709443913508026448035568589968066221159535485781863160509883679006994177295664634437734027289449471940102402576570933078299504362526120745334298223833984723644690994119446051802084669209054233957744540422352338631851883755948506110712478326114817222776518413040647776654614662103914511329855036972348880613577011189837288189406004316581800944099321037952962556852190338659286084714182737473257563898307867132409788117466714187734524870662303072611135331616731465363703515804114076100000787391351239377986673538874077502467044591135013329552727578753078465558679759264650109246197713976780913227746671262137071215524010655803714390683657176320797477961092559785579034067820714619602780009283863423786249019286126430459942869460441395182305894367421112998050723985886563413531519645750288256973584712785579215262352245053550411112606849362120020527155151210014563819381234443480716548149426120938851740654431478046046826466574662117372468651112590219495504973549165081713949787901150727678450055751747004326268988315712172029470404895067030048596806943985060910797492710341855524735327352446722212003715476530416990526619209998034531104536769278464238171461340022377123977399657111724081932824138309346433289518627777518853911424676872395059114850435098692209551517782732400841773068194410725768516273107083422575595165145078182698916540370007797934122360046958890636746035369506603653726806556616689377382943748215345427220387102142053331066123331994284408726744298426947794668911382029775301593231277950637384742070965932640573516952335963431863789343218058673997321688864703068735021872352551051242972642197536853619733158522027120331713278692856297458691842868863158429856469126623510769116890230613134111843187334942964329433641986957316648418245540521301226847714050616055137906049041852574134371303077366177821173521093737678385004112969036388129786825369465211577540267900116758466947448658840287165960157283518418178683072846071812784273229292262287449278093433917223499408447727483627855255527862755094052525176533389469953271132003727379608103629729380297866776941898690578002642264092877753424553678313406245461400931788897418048645167538329535831828328644570861282717250886472133723191403065213947483761479558506502448302168760355679372629576997167831906427800939467608006802173963975065062872237150947973947074767077049124842020948476702297440931552646654607464422171423925989160479063930597360394797933361017687963594833494006034878474379337028471629403436991992611244714726450274949713986956384615864235351802401223508111310778579327235506894096208793266100628039995508081111431999835006697458998685447024796297368911603185945128186985068208095352804815841731430818631169946000038019839257101956580353225374868634729447424
2575711614756649839752039044692382089958688181834923260825900027010604172027202265522204477325249627697228698232797218702645168885777386500062645720775098040359239157299864446097302471508310605018327858629402349867091264560726168803017211490778703056340370032924194298176821756292470318649787692913799076605248139527064234381583646769807753120484617650925617409009061736059973850500914303611544854133546196487189463506501605817092315429885267836592588169882279518499656165378144030579714331440419832433159481202819702067798518295071749781855330561611128578843393096025744139240557937058848327561608152361561076447562173373154536056037406741680988177922189644388154991237760492602353826742542562668592513192214864444270950610229765534549414301817014504160480326723462987420623446683100317187362174145456292761236084458183058707560682827867676916269329337358809245126142978875604070193480268977870618079318047831958348257346003441130723818785473230929403407470731723535230201436300071730122020197963319269899628871224565216916153783434237944281279393346208527087278642269623101331830869240409811609103491119041226015231516810477571869720998866694751380187465965909167282854959156162330411288512171034043743367414399116015343741099464127996672003144243834115455429532608779379884755249410039105379851022983818733150265946221479421112403056746363158133716119212492600639647383491713768393847985958420211679300951933109590222804592051492394148062690909399568277009029183342884961594538576280956208268784933406538213723419102881246937636444489481301164344527917079705911196182327971434631251726114386715561518065672773504456075786272063764200431804360222593271287084623374342276670635319864100809170162031641331191217476405742661503751797450486026392900771023812556463310684533106505385470363106362088233936369775522182927482418603475632723615173861521108980668050356807189629818509736851013461715113404167088014887533438067288455419573320242138638089021290903908951812093606266167035028722898354484867414177262073410936609380683887316878125427937707337658200490370718331252773895468134109919127390290188278113301103342819863291539917860964197698991697495237600238303853565590353330019884863547975854619966279363874585771269093545134836621414624805762231184693305984633002291066629916743384402024267904966938738301892642596234056658579403290985806721023669392376171274633974625849216336079548048954424036150494176495232957240649131006026768333456804885570000596262087712800198221913029456725437233879629205416716716458675337229364190322290028980704328037439184705727259596462575916493069487625009345263694107404475338292529029283673000910284288691846918474715547574162006594050445497295222385772142928994357012733640906059067134346874286240511206654146933868866869351142482958229795089639316362063283843001104098797123089683448268638232773223565285087449603255342624732711084413463183456170158766146173938424786562377601332765472008808404331338436246384558005060272756328834307929991357202594376325175024677603760321384337892669492562861193837882151792121145609308806096493112524770212598091357900989606593219845174597373697066934210167886656200658666646127811509140926364708516328262203000035817784757670083888790398718560157263658568614325853778586129843038990180899853815260184409432316865827194882151675015854934387785571778429630027764731500321172282528411847698830172358979519694610967373447170672403777837895496406469731659863835331685052418859751618026273147682266899538844125453341253593089056536482283515467176198705268186690784795800044819816556561151602351025759305372795357265376793308743788454209287858427905561893333135532281178840849776969096810449643714547617894541121698539080405145594656679809199465084671306442595515188578880405286882298910038838691836386088301987191568705869865478982058356630727106762333646737303163952688829145851245536160963601482852313826502730676087719011785661479171151066950572527863884183123773424474328735043037807605623845434397816205615140967533405494117299016671797116580339245776680119371081075636518248582188736376503749620132124243839199635981191682778508196865207466600823198373448495867836852676349947754851561737340365559817061990237837350095997877535390286117399011149958261865505134389722273356414435896837933903966580929837152936571586322590358728807566062886404163069682393979807866712852496709636533728573981646714403900240119722318911859296113715806556953952634669419526060627027496143816084287271524800436686826331873465748888639251956802372489349573348875244632514754136739488864619463030354386435942187277531568879718966530484711361759138330453230306161948119801391562417442990678210673225187850529846670565304600844935387213054277324634380419159444300083706460551438416390922127008453187241998174552627199555138825091203848727881965639768303335408702235951224747162398305389226284893680994112537815836454722274775689651855025681594380036293323186883816328959174643442738258814585434117224097983744706307023811598470059031417546438210935440984974648317358116475827718663493382693120543326176996680936139953820635755162639192446423132008086496571336668215590248239508153943544026072046637092817126388856737000185919748361568597569324903947492286738134294196104000347828975987347745013591236844821986813222714609495236948627650127260475864208920178275439631352734091216576828452251645663870099752268516645491505394714036386248355782519611823954628747475453925334306047801446643144128610385131110801117429167614673787508653234370738184150546799130888642831096728633843170045320125355012995323981111413915367242604117187519276035739505915528182051471810160393242666983576086022567331670063393098436925999523783744549637142959291850464859681901476482330508457472513739888880661807848007974716006364885316209442422534587197685669796763320912586366698141743813677697040082650804215131104500498601015940574551255800574383435011754642866258440568367455541048497955350544498496138436126724888938720350356905561316346762241939757899723336814746912015282589512873284024722544362441300908687856603182344015934520538875061218220415414515212585426327259607123970995357455053015634038533388218173681559207890168902254938911367459812638832235290135064059547972889615202359692369766639690506875186912849254603379050183814004688520018049267597235089523666261849992931951472773920555666019493972055734643937612200167526976703025270489583916925503439278473437476353249934856883606370018540044227011379145596566645427421136382595442044436171381466576264371102512938146065654716358094310296604442782921391545717140706853692964290955800643106205789111448228362014921454261442089486654700436387900126058326457681287430665333184305052863010140770679243896651127110597419440875036539865685875845475285063584346359216377597970945716852677450766968842177018818652219159895693078489582770293162112830332957420698406608861867287898467651219792422900738379269807404632860625883603403009591977309431117630422626954546050031438061166381805719210321798819328942754807790381841413725490660149565341545699640933103407160198524715686566477884801845326845601072062327491552107459812557274778294531614786623557861376
2765649287326790515064662111567215864177173933010674168979229641444015391014497938198744147984180176498943262185629262231905137264202658638530241330490848463634155068011379365305267237237041460190922908354748619176176731983900675255083597369502483800069283683986964439454780467124360557412884254602014495283634865308396448390045136891185084964930845120447467725075543981005642895629155038027549959135167832604417207179052470088973713146068351597591459566410220675471662554385974021129374243639776938202555019429609340841414552698647710821640944741347277578945832713275689663025466654115244998575350609889972497712208848391095184178683371327042441072284608438839248904286336969001989904619917629637408832627752851148304236858442021504159423130564687667931729734732167091709509274858678884551736810615547881101727629820747529182555290170280117442717724957952359181329807872222684583431371536920309413092494337355206202349869919133989980015622959491681310829969438707443381804750100258830832053709925975517956375801111725769618506618489179634342591304865171407359047976546828608616576906797703125624655157558927127152790940642368850330485315694226755198189007168173231096613807771783241495907597248772294095099115439070694302800555122378217716062585834109543882539497046818249771046011295110312921889450266911449018135823180937221603695767174015482780896781741423248597318548267220230561123886821720506246998707173593417397726769064945345214667759803406911186568212259791819716084689799334277055530649016659654875129085859044153742212170155010401126096617170104084178471370834672614440856995801210024608393592044435609813538942633999906416877547201356560345121921071144319310952640615589703034958245706230108667045945896579089437653037837763415665625414530114841811018203489266367478860770779767534624755776382707659249016631879227458620208644656146798971405293128642002609435211433808167210630540034957218285873879308651361340856355342178530062922581595269997806648645494050972021680412817269711180117696856838030280976504791027535035184382694614435115300083088349537189589647579539653061180336538546651044795205364531897314088715172841876036011948229392652193259214393745889621380025129655994705647601419622660257433286923297979705799819736699214783822562271248529955850606062112337009707762686712543859460560532868713460451527502393738494702866743413920542961838561888847129055097672650931179964557445673555571369362812488604870426137223191349903044043719911541642790072986358453018230100042703427659467816087221628877220472612076938843574754325991614290475000490965627230212313740115001222962400484671862533255501237165476000461416962312498526284171820369933439488231795752896278359150984612396967103384559810812632875396572065844806584605725264665936364489110265426135458575990695563052714874797013735149056299152269221326577258054057649348992878136507467927625448712243129928761074770327931382255265494010298015431788428878958880133260832896500668717787218499318030093590526584186949223167535848116575273556742045173907257173601012930305141962317027715508828837310834645784013255942393551245391588446302590769782499098273388913665964454156146726021238866953170947891811550642040599516731053537340073864982815873754045914007600377175394766576363198765519019957498996930829442360218716059255501565004576179306168941203162253954801657273444025112112460300269171352111934965052255535503077969654205426138880152686632868255073252742140679153177762081702526481809514578633165663250115955464527489997359921609645582857983727181101186535790633807664111580787370089048913087067535958286888857330094601550563492821222849433090527092414386070803849444245232791200884782702208494572939623655595330329503689792228032113805619839283020135459772804391014250596242904978314567814175108021600789899619662028866036829003123119418061230864344283548103531153111490678414669331015053806948170689461577123180595714213653691769754807053863912857826512070494557791977140724134039423620454624383514233960504496443596185129916114581845314914104299036808038042327005837065241924747709162286859959974206574522979838580787160224779300998947326386980923020421123187605127123274564599020749100453025024753247719045670107403336124978590367577892367952521619337125680985520647143038499801838982436517442646960617081331404591624186284157329364146310855634212812565517973807124059959130102756547972285647650916540188621081929495840497321550094896985959548158933553199087407614048663152667022482124109422357044450413213483274092548644241631461243093520162601813694204186324191300113286258129423325926340986491079729837605581688781039609166255630408613548916693968315086226836925325081165370556930493117273226832863828291176345554759764378146269598282327633085531039260221696016188687836649348808313242346750626646186888896061442750144960747023724303146435052092380643136861090484676692529615645210979188731078197640740258921992848318779037706121821137608203184755417574157041832860032785820763300448051477173596793781949618169313117149451035478038634845959706547498226944841284442920315363030316941534645204587949623151309396038155577578276780247890698381302274078213755578902911525107518587209566061267917809723371677455208888813205168188135327407077323027174519116706968653180359440175165076133704903030863440531647344478495477543662269291875724170572290489869582818455778922125571807062745200704410379026089387772678054923555315625009964557129293016417585540556508448253749005516021390737929632625381561764529739656735910076256010696161986094346325323735793534404194062600301142874949511124705404703595298836697485774426270598020119351403326202372938521569564648652351870226833901144676471681690689254277444419258789266473682748951146430663921973963332933348279127885857597538110556227568977543472795266360730059666238357492977829935995573413039006567937746585273021760545499976764304285594273384799318717184906891671684926031274468414884321067038364209208408941363217077395259013218142828403558013506154724945367344766832699405657043538995831469575645877648639530627356595751454268265017147977171140563650881219280437223420449351474816010678209320623023593051326550281918786179043985148775295819700270633469517977550426792889655885025997978039825189192114155635647647736143687674872617907755984670996036040733511719302381944703166073025140682255755797071925306277112129546241562266012533521534311860253579207960654535009141312691409495453381111382459441726100905351868312548419037998800430595600791794879183710712521393140933825133188555714518896542821901898035400237651006916502050641733584613737748085909230429719885760002998434077515413402035771841704740739852883697381058164376470868386883435633544930681605897060531048715388722880138221890382030267341358174731093012037592752492718061953018381425270195323550320317221959022394149135841579768773552901758135512228215042466092995945754033782625735741066818198303966790779193818774041929640126379211995180646848549357045840852751561139814367553358522767891227305449538901614008056052346976723958402638462511811655514384806224130330375302261282795279813071861492558962464504454943141946324915165985286654549819443405389824
2969593310318568131711429773617873860603334997996135093669442253318963079831980226605758815965859545858617272411707790616660133081035332592184818005361430444650135331425382532458839960118341617829024951860212621415709381546752649683225127112011198928016843989217602789443313544289682939750167060637247438240289497626231925009448928727870762651839821673490763691303745131957220357045490558110490855372920571126793602493421693825040077041512210273071167801659559480323455011458894945464068840344394488578746708022704173242498156554790115351053286679657434045051602414751508033634909923640880270977174365302771509003342955940394008417635425047167851202367391312245047561278412875374828099816176382376627818579434059413180685791311565968123362579000317886555321792846353244524943766931675207728867305398280944613504154794926245027970146248285843893877945513482089452464214650289944278790281052874496371858304350501450443607262413133662901539698545020876003517282338981986459155760784516099889716788161883857629823705115165655657979080692643864842667028572469221010351197240900971631345404541243753118718368248329800992117671296012861034638305678734862396104946053503399905651630180459913456448312005354144822336153672334328165635476365314930708314155011673343064246001311093240905650526555936349677960347855950786115216167862041014354244498186506709885400702782765695304890259525477089772401705725923739195855786366216080631028474469421189431107031965304018231671756532248030362227936963611380631326828363051944212831596885742676535699321377239230844106635720457277615641391251801775472574530794751593230101421231704180731741604158862423931887401916630688379337281033314535184180711512199770572374402508447685043872122638798146853044707127061106017278806698321613175634149111768033838606245459113494923968422887704644100809588520338239129747353373658916739318043287202730524867723534762836726839428247239987324240372602827171706214188707102919003401327532894037217386915939911671847532094003488158382492768357740333506462944755462644302902783250829338537431961522635985211505822003572092158238958147832927401929909514567064328210317927503711238489358977621636778187749367947765714563257579882664247776398649530624616548727059337320824820481822954614621349403705483979312113669224637958033706318814189867407337181922624864343558575004006417137481270475102203030790914899836067601608783971530365760473616167070304467767501803999284572786644239303775145916734656153563842181369417465652461612692871554856306129023714789894882877782312633536742236407390342126536959092853570328103472237662571343382905878579830049717935022556428314790563666690737961425609678592733412686074687634906510303208166505309111052469656133824699051345870680013327650723081761766525285262674466084535782824562460692060900929077816477157732000622530447207446258764739882551013140025533303249602230049289102389461176906484092294120529610005142878465873308655206587583175284849782047831246256589235344284388778782723625384415879292999142078498862115171082521575524419436272033428007197224605509002963877934847526520303475764490640064235772590269869071824665058423862821071199724785366409673283741991096173162689050653044407148319942625183020081378444940822987086267978851396344583758456328962940795857375442679207272764109220403094332442868195115156893379632193129379945039010654285781437615938607738585215301544585114005171696750723183533058452463143676378554051652959134498531865653845307809986451004216166726152349274231984514407906997413637864131474580185753966359504076426757328348094154115578422363325366871036551956954891547561455273009670728260763988517330439463505118448485262560528649176992512997791042292545832477793883812892237108225808221827682336892477303529612402850645202944338474164490564073542510663546658392813138159036424989519940518884571966127580913877281182755276399964475840963646130672669565811398160605523586351240705190314558783904039739691746130843065630947647436364311206135632094789449102714841971548480940837805838103585721724753374023705905429588451949079671279875975735405024655271560281096301792959976775534776652054724314680226137150566059587823389096703845358367752966790316396197355771937360425534034519603582231916613241019708946478999618635057253026547679450227555690203075562881041074338714692528903266873134427220020999680342168269388700445612334801721987123247705492757716441133899304555830303176007108313402062796307630389155306789148186940099598306279184604948645537239287435761399232117625126076736461930944543741972848021722981252173021908571393438021830048295860480891308845257841075092753806562422439845214577324924205588438891921157949104443453027434443520960400485884950132990492381622041285201001257255413739714860846103886054524795975205890485837850487200754058328219712728142359954612226416917656304533582111931207808264066308931645795887036676907773658934148149421400942325132874668761137399536020194497187084961891059957037360059434740146987723295350810346272185995982441289221807235177235432877915721970734338815488836519828148244083304555394680101511301167118196782599578890347543464672412800217330632573351264089156577181388139879568803944302532874309821694458040380695670575304112576555201608912395336235569722695809395176702546269300628348903170458102438931366549385096062833482964669437828452231178314450419377607768923183865429158528114251599685220004562814078632058390465164093899361747359287278680243993171356299390072020958869313961269718827106825014821161268749971579108015860480748406059440805461443718566086026417532099832891982949472709096595530740636511646516345435693741073504436202912136389967688729895439027171926760120602593382908083705062972793553115015074162856138055352169111317069612972651658037290000584828738157444473033343518483680736136237655605193274082307037690252442408295405455936920825923159816380042861701705012028149074353347462071133725381630125728760428279651523399463971754612837249751190334581805288790462555389511915209589057033119975797362673909848008799210538754510644531040734321735420597156659464827860285650828974885299597520631792968805552186033370023952979566169197965095719335191691752679189874897499584543723275195681615786316575809340720149356360793843284285739888440184701516393930104043719928974727551323635146939171409115596850244677824931754021899664046582937553745027431505707412117870950273395295413511241284148520654587249763028380779033141502949162565005294520566443723541546177157284159705800557677808577171551060310167374461806922748833143256356883051145592667745425641961527555795389665213105087416685780043733945017245784075535157374415934970559887591456744832885801416467683652904596157852549129456021079158930846656294344174350147744695529236078317557173074520258898798630711638559178959177097339219545191093198164893558750540046561635964412935694273231739097923961780151620418541289114177003955077078123295008366677952219965225384268962005603387946956661238388428408847176677111798038149597562741055040551993040177981554056341282268468639749149149988268536475200072984253750899654581113183565078159602095622784184548706775049737824506970304449619181028032768041052798976
3188576537559657366812102846772362958086146661231406440427037778141373471127448062047600799959262350498043356197252002051742736082513617825979174630184824104887767352611534760300094023701555384582848171951896893146725253595922131347699170187882757045395650767705945152044351429649508944109026483993356666675455795469233937406676909967109952326057567079528705053053456236018866476143956282840336444583439934248805098012817557528868069195653844376878973797164005623438998693985814759766969803092954926342090657906293812389811964935777894394210356360610276926693405750938088742785801531485859503124645465366240192332481887608990297877023215057161294584190555865731750903413834812630052607583075293518801808890622615842032999203133764194909105192589145424089736298757793484524531133802647820922372877952315227933746926201082452281803595850181198895991767649018875320020087133329846898766640891186102177400517982854562713964471083124780759700368324140861518094477154181504443797208084873988052950702964362780567603221928796101168354378256762606818574768284063217551513617406028776682813070246132950702298349265265325470833438000013293334791061519754329161582735270910342204895809298540476633608955094350057227495377585276559862384010511602144033178852767252876673981250632479647924104608290731534131114956506523086337586082234478099115536669624744406860588981576848713441301103382719144842430352366864599809058485293815186394891585172733740164006386841651841250604486428219914941546005739065105466239140226678328785832043044930061098083790451159043810908118688987351381093158372607281682360638671500745341795151738322373647325884746222924837686030696584131274805216047911753774374373124727179906762814960330792747584772984934815369808083784156391734450321420799266669827843623957788518758791617060241462676595709847331730074127454517441980123095870605078813539488315312015731551946826943975714490757441308586955266737092999274904591615117044890006436403629191063520520911635055432928458560513844837544018674763249590217597838090141693657662042982422143473895686641212980049039287104734832749483595549513789115807802162326194222097881427097734671984863313222231456076797420795081095079815557205037615387018230098149619632330777571011093715928625138132972744778076038726749367196488595426798747276243873745312272376700619048708005146975642657644903998125773586068699765127178756527538721036012979003038087727105957455456026594949482311878992148349128015262500821822340464004271737127387131482102825455109126200880302857757508309456349442071985179937910513034931833259773977969010100741201170850774091688486629247194146236633220481648466009460641022607175776604215327683290574501334762442441529755106310585297328281785720455643184838825630775997036729780322321940064400331835589643313568545421774082671309302120597494051604977880059052268027788375870622018983535603973025767591290702982802468754906686873321939292930763704557128188356508448374382066324542040777599743297577337187582055294165208155407406628729245802519389468296218771022943882043784933177420633075656917290855699876536287799027100903974293499995627125573869422202868021105030622775626359337337230922929195064996731125589993028292884435693729939364316007919905042846215137824964691735980297325674085012078547909951675179463931800156050836523761267671614536452743619795499860690175207051088248378091080132145249004257313192837635161003102296384405872947046393183848774341904438556073914930749282813421736297316553698550826932011598927251640100339425282802707993691538285722654088546757901816145849523963798282043439370129575960068931514736000819736935821817402121072664113441680265567316212615858860942171560039740591861722059303768304844301298985388026864723979452246107511071770487659449874579786304163722756974299114405541416039291804087458047773050686321817118626748369094947174178809332527827322009824680239314039014566543618700958819840083802699454094621482384345471065100688276375948325437806830739442979713596852163975504197770402222029844421728763192833785093113774368198135537807965141161361374444679913532552116256351550295806827315821960349657809853033461895989236522963454322173998556499302907724733342845752790055450536949397058330399158114142632135317315053904141479428208510765209154825755854652861860229285297715738179371107771583766491918136480420597515074016701688346581461401166899644794620504099608489241577901667506108739566678865517397894552269895519169448931059557651355521427051522330950278085484772415734727640286178185421864972601038956440353711193319625512426064507701409224363190747875205324401751105254488026272214441441278640417930977928253157170281369123963000463504279758535781426621002649484592609946253864500954688175027296591721182756095924801769905673617883645431625807779750366226316764745025017471593709329889205602148738234987926118787234568500832209212848197678459417851568323106129845959592447506973889198979491692423077340244423476223877207562656626362206294392626116757269821084368591793443181861934841275601736975762796627133163579176982776438088062144404641256992852093249671794821436939403299353667313676636082586304189830384000095796681804340480166255347880653796056281390687322146969833823712430167192651721812241330024538673927726572577133369394336643251887697398647065828357014129549339124922042606757089730976897802273027238860077510560149959553275220762551793040925953540564311363265801052569502642807955045388305950121497992855657460986019275742566150402413249384822934262900734505748683299601243053528310407356622876199740046491874546473102453119532967143726503599877367699118936327703993935872245648371400606511439100681397902172030316370201006306288598094056221818994442212097157167519120422725149651023942049368568229053417584025244915076036792827653541082355245067852586532827004049985668284777568404531938061385077260996570320105083412299521768483525046726440074924430029944039186627293348551520014208819319125654082468282362986656025037887998718018027635554306877496389182271223496051873477412530832373642290947686175302688919593357398160747511130549131882130605391780628269059014715648705558658054386195969613243315658966013560794492167510223114773016947219637259865135057666754350955781090643451264783376039120885003320436303108384412444413612282474410861293616984973925872431188830375214034574238993881218365184336236283785234973343097762457143168763170322394460945734854558187527697661341445586313826735191821303508170218796908851532041089428528813594181187385975025996406573122399911583568159193111733939202291753960625999296456141535586003469916668805266471637499021685893533199649575273655332416949954360003685732013965375596619794282524763976515988025311720201318558793178593790194650501654058863886592059300690241319070714948273149017204561547569238036039141189934839151566262538656030580135928852744661563646201913696989335126287904760167192767760485579675924697279173732045237250310320676056170483279994744860687057289940208985222532281077402370471883534878926690973796011198490810487189444374931050310756453036956691857131045745769836750894425671613845793717268230706275681029483063182407906195413569415542426099488168939252795572224
3423707987402911009855864375968949515405454665162120437429474882818425680753597418608256057772117481918296381714319068470689987819988786509305793553429178491501358632480760496964025744380807310279008875266695410307297873422947988275246085200823654248071976856983581843200059232968871414351940151787333591158663921858506183833747095086768420219134094804975504824023634868367072188507264105713242754780697715194752055760781499600271733273499571733842172752215085425257647610413946570278307971325950264160342070993663939195350498247166199185718803078331680500412891779784353117752693377719620213092790521335675572137189916448240241240778234625820632709030089018844709309745218818548090924082207497192213632572716544029875808432563394482627594123698540290263366993107202110288685832354043127266814016380648337864557175693543663087456755017932391233088986884441718996546952075180521002722436340855150875412403757455058895214601451989657712520779177834831879370172903857177808546919695160142742129496383037099004370038822102323792597361187802221780371308777707389345071045514387487271892375497122923433587910532275050415006354518325185609545597055117225425854236896696404979549008006171011918400659145741522541955269679983568931081396435162859296496177888537551269167681395919850804905895672895599752261628552994766622229159695462509832369130381758454956286926792627933742515963679373424662831359143359912560008509722058294158550874945622481230042276955004847197382502360020096542460461582178234398071984847185362211771003256709717755887932063861294615620394457521767384863886984924214269299700792942147120658629661863036180089228209823180425831902539470235684464797923998837888735623857801141655463654870880073048157645739469833176280966412344906362207211759755276131923354578775205943138323126938173186014795799602048733382869268222035191551544704630365308913646079709810900713281736713836829489009126172255104210712692765499066733626790881753685390395772807832189023985089167242893712756274550133117498292130354383167496059569365418566427273607512352271650450959868458770331053583497658352765450943413218238358816727207271867013640310067644652965068834329922120998076346683005905258918581976913431134267420306838871608925058480435741290776139809631150109520297841033154503124403430848768945381309128864117310791343337799288878289915014630791846763252460711716426675116028510007931332555835745762395817857574764999487752747853566325412685896650071303917457471225018853768953078814809178911720911159722503285979406796160959521890817098311755706407500241014903482360013576932180721044281097140245805021538873087493989462245289778959382419800269947823454153859626692035414115787071078259553863172598123241767660851611385459196424382009778807369593636829318409267839967889771351291727020493910202552843418442527137421232799479076414260009983494373393319274677944145378938334492472565934996563432596514913157556035608748525844167933167732943628918834768202746829222326710272464812857386201225807162126824256641431190141513043054772115501214109755334482013641746173890588370100537706228648463516304750065406751796648661837563600133933607012586076474956989817351909634295197331941388632828572190346485340202996290456450070856317286612493193584588980840189210878531614070400282064102899459053129473311161509845749242890271625395683424123582527409214625698613156998456558019219800698765431233016746113622004729378380567174473849629846950302040871488894731696563568614775306813127682673675911066686458221303619348329997522268295513285732812277675759157253338782481357117890420477329389036516342007710965690363716398649832669489156348422031201706212685975054504918924104674609649397996575592444999737864349716908112778139889313489726953593256375838303038328827199167870979762974467703892652223390715765572037389117859739314581975639763948709169021033807986400434856651839491864498080377812760307843114519528033763978970623367963363139084950975147580435773531326864685336304997828773781672481643205404968633648415095978131823267423937412134703993929633513645765145452399017640519377597452604792684154965199847362313743695765097254527441321309233981108534197329231792855428928558868858869460815951447228520685824993111917186681543910025136628684761691193275303083401359313644105493553642780622625853785679746224372431560928801822261123167752663005442188277309137922529474542553026727925459713096924136232774560650729164666734682901519030313940955042431060310739685199633649553384529611283244815647457895892756624096846803883505162349593383321941061884231312709297169640973187938157672083447089397647940549969957515687454872299716254589330546786286113776595876381314226195930779736489518285357541566419128900611166436303936622405040692183686071967785415619256946298415064465523162130902548496513359779102057185580897642801053341162204511734476408763845913497936521838153228010381580833921132512597206381491824882762396508886138348415202043007115869189046545200353520275841871205419338756987862951283589640603113332797632640415095757923789041759010952395861905189216898919558390897349157761568120680372923453615876119624762476331373500432898207318766883276903853740158290750840483127741289995587093861895762985442849879219194062819175416591228734120501698374212239564744740802595319187647983355594788131274656079689988357886385072252670803548074231613455303306970234679284259960715585033154234340003584781672496947819007097654461434132145242419153510276461172610878337175634981932773745536396226655352479130199142329691712177188962817652433283265570835065846030176709201794951441818169036966132474890969570649885448748180788404073458370316670298896830563826347969393682636687757949821987914851174475690226679796402266653917572553236963411003759304498532266390104939737160468844621874830841827055055123040026875503205086998637956017732966893040286636824603381473253896134794632538019205897621732995076054162512487254176666368256776858029083572604417899702539926580322127984771528851194338658282488717698717473985771979362395426254153656409112923005707242449092952628760910985015277804776126988735469239594766405485389224423482449792438308925260833972452311465929354776212909096140505903340562890525040025952110825446000955196531612208694703609153123554419959531332575413548711232970662612877151530819301003283758705056009215508921874142440701944246775327286576646539824546009169271051627856906325990496543370107753682990124137409298070645357755064831196310920289633471995805758993805935645945172103930302616431829011270035056321179203680334161435681773852877841784666399534148422276274658653090970722062092466343226877407596291115159975776702172511227110164615450375865959626147422911397313770147460364617541436523638822054038677344688544181512957086897439304172939155453542876675957033297207256415106845196674164631749371195119396783714930414280280313612164933485295912007047645206320204107414752181446924713343187840259140295660948288733465621172023060057128746787692896846734030857382930706452403967456466364328488065268191948899753122636685005834907400703672217723681836466090344797087614252071075806200707330335809257995439342038585909910284266458595138549449631983253441914818921496576
3676178459237370690632317792149521620035368991720484454193202232039642651260809386818120400931282801377238575874533203497699558060372543286048595743826487568286237316518037420917299465154405791931516938641050016315786419120477296387793345572391796814670152913703338306370913597716036927667711996518968430267174072859345899744926918633168161791691522656483322825067936722670459993227461598118266096473011084705845587580331235046251041780728921016714537099086525864831962215155112385409174588765265535172807523772674210514640736307221037544821022368424673497498571172740257643315863768305385968193521575628879205098829879121541078220073244826628603661828029053976688546995612229506952180541875003981642344436294474621615161039855200187408089227111752277404877115560322621438022692194788481246133016617323224601257886781474037827167287654075878471298577931612528577047774022844917750733497762353695420760511162754248536175151034492423501377729072309592752888277424982982735641492343062775640034487090523657344620869455794960663702088299377564165708416484242742773654749820205438826098503197973674559793025919273823502300880072097126221532041193130598162575905083586897456983634553936665593189262913950784246736167792597453594089068900758866278075162855066778992249621183905846761067524568168628639567349167703081375406656877393199831025964297403139752185365041670787330040237190208172174595128570990350000664046684484605804130961660908583811351358054780070558558776109732283138157589467129983295685355093117172087367671307169432581732294913838510963577621236418913031527460002922386331284687932067947375812345094469319706187000380767796467913843750121002857547120586705925568531297814853314470419924346765254119982030375844167467675638412073955874465576220873879987515047373612841315360983358619977611979418132852242281119411738414273303568745001167349692579261800118061747226962033005002923333905647088843333788520727069978572184862152576640770469805709176571336128526529391238025746173054302904713025422508931561148662116514823079054039085926677373230692498704071709720124062558586511979427210740163029736965462639153246520551111579411958333058560018458964395978423196978667110515482430479384553436206688784039809675469006972089741168350086734872363885814124368854201360658610638751415035568283239534408369439071878938856586077927348614653124107903193337086734148901339863971918443485253655499315156076364100386921338701141300391153594907408123051598389130595579258480264953417028965976613546127582396012133521879747864874625213879991651892840397796067782076333192802759924051711721570012088714492175508875870307834228036582668404101349875569468340493145612204265191825280556895188060110469191935668592401147022602362124646290217252682461572113747905925444028991662064521678923727095216521781299548504874327704173162441289758882922729935458381079707407052759229302418461469607217003475453847882978896995817056746592497228016321831668837004488791964634582219397583411875905133308511576629218134319996653614440073039032969421543202612312423229040447422881419298301532944938420066725162270794516075093964976048811248624731723816515488593364711223808568032866300611298137638680091706217382978310361178825767179942491646191365250029222867101670577645815793835177733615663273624332188852320553581285879140368750707619286907805841545021104394900106605106165465921109792318895859208868680285969994585402604659368736364074077541853589258150716275035424955858780696377991287687345138925969533605703286642343896877542893475840241806438983031681164118093902814391471637759043115454608832874659673167394365172556069304982467832075885775851304304940721570794242611062540270882291432605345022385774638213988729606800654797632078624567224413186455092249033439936828615321068007363292617806788298541202610790875829587608467467803760320963709216425590169135352983370117374524668949819329669371282383418267290038914592868365414777534004702135440951005541686294186377828827434190181788983600016388210181888737679356436999864694328027609418338167356800142089616593532757153684226377139452808833497623647826408232340631332348016159316601613687102395546962918259051006665273779378426053165539899293434416235242591546019459048777396164389465086482089533186739307192160466924199673511609919496708641110170139913393075790814767919546858802769182194431402356320817167429331564804368689082452535563434848379208010828203845333912560199256050542738655980002253695561924092307636375440439003227890198201282268991845182099090605945830639850445116534668525066432175008071406546395124688335975951812218022474357977321560995968305328096756408500784405885196152245224189992353584816550856752767296812000494720601159173682692614233348564084568727321587659619533625958085181407619043043130239628288425220683029188894712569581279964597939534538503483660799752290806102831061496414220581194714479835355009540617917896221827357367471890705881786062634398543686550986987038362392238264326034305803433923680039481802040711173264681968691370036849094201241036247751698689532588461509932129984818177510255916624681419769910999595743829297890220043934656902805810780084910732782902680537840987586785159529789886622157719974638114131160645861091077070997128821431993986625803375758529407424484673373984083785921958407343918157988412968400663979017453935691892246954537473254897140029960315299451698242736304708920618726128053558885290011668643385613502904447542022705489628064062660250163744383348001053313858703526911561942795635590304181960568318788390817888128494303111611882704844804676545098780652895235129270698092338509815063867918104867129930156422747884220531889024344108037421851287915468968394242539512361778998256770069867654138052918434711831098964994197152438186469225441036565173544788762397919464471167794837587436233542882311832347959996204410112372216664690278906875202899659445650880938606782491487543916848173945415178950487076405364491487283901137240296704106084854278199181164209930025611950033769417952143001241982978155355168668821995392434608990200170119656917299294101151335420951941057967034504540450194818377501079805431182415394072121131232885047545342110666443099252553960825236098168935663691259068795138826814364534679138466131766624519712431457980620250609179224675161347512139208212439318572626308473670933061542717357221358861415202715117455878846038885779171474496671857333823725293243809466174365143914606516116533665288286344934427293055857086978989622909652512229396011713590042503787298868040700239484454217203997918245687990589515429459406540344561487051115067309277221649383907147282141037548206068035037393456833077626866442272007416967657746403133945163801068489891969783142076258450840872144004448472167909514915978633354141362309622118982979391942500217706675664249161878172053609192525116362556265370858137900561000325802879062383831169218004269340309738190839418739112286347807931814799900895791649574469933734885901114350025918541058275802964778651511812056046735678631883211812805201542834628719310363299472393735711049609847478624115302659890556751263082769560971213764814827192713792217998964942365196109622801871113287768304625753964543618762041827288175895721397446323994624
3947266564171044054323684619490280225024212045682993876009053413031117140672977370718410155547566893810625860542683677072183103275738316747480772946614889501084989010334942829235996880869116116664711480783337125794142269660849767974017838209962291954421319947918737067971775586958019724765285145048958812913492296317502961839038964359877568940937963582509728475769279300516761864047082263253462006144290888864273144670856606842734317963540079702039001552088835015927848562399730815634238109275266123580786505776594568155750322907218541224548606311417108927808575248411943320163916970715738518512117841599106704758487694673663035018948119313742760666424307090741924013930978395307501455015810175155255913430663080981334772840987859345112703559073723142176866740557599593571323988470622747147412658209306949180916316047125422785187600198820114784174466716895783695571401414429319654802563225249575454227838723068107686982036655251381724549789327079530015183440270519251051528205798522258462233397591483324952364208957931168433051730883182723811964793367942469884546870218211059939855425627462086425814560713040352002814615165418819814266041985155184741295300862901467737962569304093381694509081138441070123320958852393643519872552459962500061592516573096450916942990113316103345493136016990195655027684066174388486449572497274318751762310696052525740838421845949427195273494274006757730455819813329691896111414698219653136048565508658052278857279102616644880395599071271565848449774113879336308998724507771322202812050747992570817354263420490885603475832591973578906569664409624928429786289083449425907240760903452939653360373873934308299918568063105925828971857424717570671563032716807812171914283614037732458613020142982321916503501028944753003544182836612146771751504194389461703778261489918260883925944676427440949419077921811952684608409966944312188155895829832291035812105155297540040025880010549074931272327075745924967738689552896208560677014519096865244520761174100937527382854816346851955062113723110830758931996146326655940780122690203292992252536341627593821684540437946788234588023735375041607135536079168260734498204032505316987950297733033602099688930388167785312333703685142887564804018037655975247329550939601680355773792113201260056405945785624776358959056858428558749462872113322166304553362374896158915055209726717440981518606918347629188156771244412261585119594287097177158502286436279872437572023961485250763729174460037509157839700460547471479337167159085275714588562970362138458604358573914704381090585608467892353408191501270435400354276509671779113085386414240764923838348643764628505173921365501632213099006952496256133974631363229145804367650186634472375004486036831644810885064320143741229534426223012706251535181251323211984566679699416105951113215105088096009772388306302000233519852623851558758615469654491958484376612120635140159104013046429649773748875548153853688299413796726881397733758325189305307118009158491671663279805733929393859777639489644375014972451238630206525865076763624483782824023267745906175809859785620794493067088086294270730123677443338885619668714924774766903130036932641409582046490619326685484066437953566507577315959414621121124939637519650251169429990787195286279176616593814624257359488551876440591695056668398391201535240203137835059632133623094417400423821966764138405938751474456763961141821023942268508752429532977853746730263595400316501301485672136028090907309270993556960063022856718926671344894558697518711187903927982217143802145171468560811078986401169846848585142382946605498611203432206371662227282874277417348240846001882987702428597802287298034487299378234637166102591300755189900814568530605692145236236485822491688828360843448937886803818983254222752032153942845565428034764802190237907854307246089595747257487430464157095818911883656724270881090398571850423948483862415247671496816209171175171509648037679590597674925921185926696072361745916430895485061776984964349555481925878328968605756994833787683106692796584960889707810375804640978819659206002866507843370764092600529269945949550218627961318803050715282661210762045276106909073686082410161732691469365441511836332405807225329164776575087785412108581312804593329109913898527546327522148088343596558695237996317006698255881827176560520136889098302195470980941883228599691352070929424355837940437096608953812154526083865493817039383881471929307401803854253222087347532649161444858995152796394427276127407183401079823945850894165778686656709088366342646162486952689695969541436428104026639827541340220604765453806787371841807561302343318987084937290127798203538338264809179529674547321353405926851109568717051312284213862022318479074326466796290200659027664387164838244048827945715527640168215769181565568130231987758774265174168035495694543798287129049218417930465442047022457083728776301323323478323284155535015974666390352824737625307631680485248971467615312849106195262156495270837337440940941036462835593014917380030206199952926675682385582138000137438399651842582556425293620388373324311024849997131242103028319366103762228217966623377351082653897023597241907061284221735758639632901984807234925095490520215190683033396055489647575198428829061249162407112607123905983724337034599487359515156621722152320749485605315448625904271264669141953593678265198711555783303641298716745791083256423511609064472068153003597248372671053274569176214222201292685887182703898070432474177967650801483776441848050588229667303115192845837877739143888803261253607146369417972529053168522692460226824050917419396671018515574114210317264382998415640648611995159420871954268580214881002655368851149966628295094728771164822967754398859343104807939032335474395407129473117115168302392794088448610706438582597381399874584386718244925805940136858031431844659586374903438968917540888024435724202080769003556390902588888467736468536906501850422152005766226478651181099878556662623219370683582399107923432474388688812936070509368055840931447792218565213784612941945456436427352370862401068341483214174288581263992332857864328789390716635161202082675394928745007922013360776199273965440006729992253242913181956678130998941359733662360610996468983650326554913553278556039670503085384633846236875884867289391372885319754119150109167090544540437211845613552771982215567940373413488848930906083641282781589059321435614522984659969449591668808391455240234825922023087663690842542852918529131668892100857252254324050065844185122041178522456146967380082475687373980035675537826254101194603156781381274690825112904829327903150481132503886512587099039586416673606546096095461764936569362760282263271419809146758545614034605165129535948036381377630630481596495738053485529197903857412896101292389654127166619584396812838104522702984320178506787529317258751086880763024707306665539726628160165085608943409681933253434591899113092177628895424667744192557801251455009994377568034206483905587108490875782866559738060170481655519894405829404221551331950970466037030553434604812196820076104406859803661290868371435093511278146287428556345032120059658575464342938046476736796851368910279326179572149306766111214247327260544864091233079794518976298244699264296537115413596698959904727089844868082539954176
4238345200427229890873868209732239439088627886094429170206790852221457087383867309545909910797768195322235722080670801274512864973271635171129752548628126078453446078976996364399579817322715444375364101810041354257119769141140691254398698208101806334360872945365849743140426299258974710697455243524973605078607972457904113370452091998845933291328477287929570351317245759302312026475554131223820468792070106195705934793101452673768427717567490676372734045678696720037437167786864783088114544303535565619043114067147188120047667806985819221066014117478918564951863910071093123977420187120871662374259177341567909938008056760454031982621228193307780104761891053549367003987650152282069653191329966308963967673826274102358108944907966055076759805091111237152000224611251764662932093475401438937953664506349817389392391183800921418138494019663872696248858226826970403192297276965517605226754597354802003448228062084980824048513093444477791438356370874107151565814850662394051181813681552666305837923443596512199936258838806152059756187404865748791147310254677650740898425841593221516793695009527485169699767105778688145104218021574865311297361142401108987175384471160595901237083208303638326990391566153711150726551295598097559033734725895821787734461089946812535484838708285999494762302046363147672746300259709824595524963257243562044874666701234148588774798362151184968408165920625571833825732317779962889888688925286779910948106881849984846187571499320679446636232388359837113450568029424782284333718066647881676939109299330107327875137659294362483251481227224358374948037046258553808068185970654274785393549419621447321561095572720170250132902323547503904808954235884187017732995680316895698920644459390186854935148758474579134381644897205015885255009343573420455256171788427391176193018183733791052414496117790290248681532468164495460573130843646565475335942784678117790891739110728983905290421409732102958217023115036015635426881675896519462625752244609550920333928108947522220762116476831453834886360022348454373250945834117754449673684920322670748307656240085499718826689202442743213948284494176890499321601924863936683967681322586414352339938709210564971810221947600305819305600691560845794459584530281627546566483154988822098673520475025535452063663112301860347260776452488790445339423323237277547482466821753973484045241952668126612108139282445602430567090753925971562371444427967702667421382146261610005605911139776878904143956826734890191555503872121882064811468176389122117325227013335500489082392469505213502572996500464464580984164159115415624050571105695329746209405076171698504477409553903758437827839764226293247470084417762011414465109049681269545943667877990838789214928845370141480159864017468460649984297483491093985699588316966388049847286510074821338925558417441643890220126044844980425588032496545558606718950101430845296346819001351283432931993174193168835746304949023718691903740028228286861834315130463949825757771337087552620539172431115006050212042860025180339916547102717857216579070702074170068027886614527929665746943523396720851315010516146279654512809163598351695390456239063681003741677165241752262557676490394724923535820025445329151377059286165254865617618280248096532721891348146262533605273519591181767971822661398927943554289398909451727402000415995349540340555925473128263748412971644593349781127440465895144773884028929319059285593651171108833619387268925933850284755599509204778446052071568732142545965317127070979412115616543548805225029170368390475550185651525445243942870266463307089000462601564794682687223040132329853021834615990596785509369177364946650175251833990354763582007739219725210709187354399410181567013899825555708808429475182392366187404594975041017439438125245214593469304681239789173009389094114745246173427788672659405082897551243657206687141219652846908480932091671425669265618344464313080204744246628223156880282317576104335920725117679057173771031337048133061288083597172516841266676752291629748822784252533589763687714310012796876683527139962600672262966242911909633360251230545062597201677152251463729185963853033171792109324017686924737616167781844530501374995138745689291484461146881758317316387596287231668518059784863118596776711245887918507958132688776166507653547906279528054405488171841012862938172030096714668215615606935871641558209665937483107455213331470162280994554207145312301768590328727869179328669571356084841945627028610161873372878170759252966904393845495777973733216816333594165391099278379853933099495340957235856340870393892462425993015284083876723241462687616221588690329769930803406413008827439236171178582385203440136210567204320228509520964738100015953645398613928572430173132029324076488950366425534215604829945663494763633476635666826577200299751564079251951492370864115643803604820710021031169843052268912536186838044656987070878965356867590834467748507427768938037330119245001724416435717761222948929922870488073405556256711139418304768055597855959046842934780233564202885461139636158087285357929810419555006677691691375561638663365745246094663091223559814777428189063751756317991777170150825473566657221800028973927743190867580140716868535365350567716508084533535859400510738132850409883361485321346618204968683960721604666870748026653621854087385720913153902956745877116631237766599455343620268356642200553925847485062058688041071602061172055658393588029052848495037080082436361157303702362614704766056245292683885984580252023078155769449995900960068048401713651917355362066915596663922133831641727442162535187634997510159138776354518948850321799370379077290953399100169186750755737835846789905816639734124593626549665004705024323535795618033701415254584798299626260687257229748423068930206431078222288987228590197292222086961925009610636769680713614832584752298678216468933274366382358199658701937371075503149505201301654602799425479920878136598614331656664676686536784016253937927609412408191829921892072437679237390944010970371144121465365975586611377535219312040243418520502562045378180518976140532841252883275148771353004818377138856099928505131658284477350711014837077075752206264215127265788834157502915515067807465359714237669462777282597103064064127813268514859637942122022341898524487630518648679017309028571747375611127751546870922068002293604583502552508440239481492472240622854731548221687535603230174242479036470438719616588834521526147655664100173835551918123303844059690905193235292368433657999186017404766855432734157629811688204766758258714996591093645837057743073704173772518598299125971592795437380951422892957692308791114270681634167244742305463561620393605251231872743152119902512942972404455200716949126009125118153358776745971579419765785775761678562544835158980924179224541233014064464355756572966909751794191869883638109566886071989332960660980525183984014182065423162863047424658271389112970449315577087382168387998243282420741166785085301199645732964421411745661878850452567801749689674723756471087602660721681827278664506772731237988602035767391035516164636083695556335199688626804410361366002366359601561931444787636325233259542928141819106310620216041544751136247379796572779959862365603152709507704350813090031386377221839187893833941587004531672240531985832949814657024
4550888506248379402294228205453509326931760204072296613456646066850781784945281073125797919359672917174485651984856541304036968347866396796111412642232612793180570291926408130351773497885679277876573991341635505235469945904067319268118906237192765111151397590589379850509532822703901354234157905340869348268960187727891725907492016967456638307213362586284070052559700264249529482724997784271000342409332432562450991392369816410981788531073074281951453158073943134115815132824862235434396463521407087876663042433098680248491113798019033472561681222911564301478876826999507500613373286533586047227649219727474598636704497792665443369174053861402520403077943985527379000907114747985227231912706059010445518200371260613789958599696194984108204533128414265966485286422495160712395451236416040177462990554532112505753104361415920616392693253286978535774046990390596933117712700919188058540287414964130678341354688951112553018873513442956026506512353224384287293722493796526596722709978058515071293753766699680129597811249315839695063965659386375582132307965551485238567227161881040737478108711229739304246377464534009549251379728579467231906756359428490503512489929965253639921229580523720563058971470716102475350266113365064443966830002115519720340941078376518554837555438980813011169152645700898748515967530112500771919036285365683522320894475175217756798077918608425911739966452107140721895066717028804984041392003606026784667977852664555223117802467811001109950498829165367870539307849750651400783373061584250037532777955998071420348416354541819325683614903621641018746381203269231941477279920501531481465678311658474236572925287690880245968238783299734993396688892770813221177747126767584485776807613081113161318890029635830057383288504045206258582688437705567157545672283363369093086996720667487935054420665557065101108722267482167287875513597447722024822642218379921449678946539286277148133180334214399581711742187388933254075778949309305643051275044499153373020230656786183229601645615933458981242675043117110162315247389650799093576738651148559157839307724394386384044456404111976354108453234448411783389847613405314326863969700364668944301264457675957632902016295861184793379010099972203970325763387826777995538940560102972539841213855355264882875502194324516367861059511751563192332524698200935978628070533209594368006372992779195935147933958379192334575941380494007866352844505600677675206700242327975908595941252405944907562653361715572958720516124891212398583552055834009716015531254512932619100220176490392323762157955554331046369332139324012598686158487271000149976343692443458489375645901203647905488655266420070060297411828161760134076586175363672980897205748564092696821589226457949668044912201708552800786365151282337143960505875508579651334828338778333040932051295362344124243413900901755079415190285412101797477304137275340838361253971108785538017380018813722834034193877224954727507615850331652223421213513975159452153631577659307598473710869635940950125714487289613824110933293854187365101174415870079952130467056348404098242833461236981722509812190186087767050673542686008552802040874324416893111739264225828475354806459998350419375611923457394135279975749683218724833136338769334343572879300888386951616187684944735245857609645055019281756551742208898308620574707919605390962830100591524804903174021278925943132257778702301662542254304787035813795277463931286135112993407898910733308096396811227043598179836925188992104732803452759633211431469806354669555343551844562341161483745007559958643342471707677382815487050647967896774080088606513057753316612400082959321366829593217329821864823888148722255633763491904084525667163470557112879936683032045468589575931257704711953739735634481776540238102135937164863149696446149808002553015040474225921585374141667848544465287877497957538996010535632486305077093331411806797685781672971829646100380828094182347672485309113528465828107259325496365192146203221169022170671092499475812399966424010706433638216073893294129775329624041981711673502016946137619263581314660921047407405383700027313506121317612371245978862753905812564814378158166828718705405967780264970021788267929491975792979509951087962468802728427759665144890339972552431346453881006118298323908880545353655630488959961506996520105242994589458694834821829304257389927074189867436586248878143781768148760841888649171093168447081463950644605477021852245748761041180691689449274523575394850651239200823745561335481277010825815328313757506391622796612532668126979826100878924334385648142485691065137205242392099961804431338628983980628532458327001203387317395702706695608067280022612422929542878041382839909842044127193424496309756926737166890211420959255376361082291221468837939369066541757718258070242281825294726668591161308870950977813719987524616937964370957086668132736949485101721486862586751829997545515817909087082351538770167778745822328265654458049023167684725654674231137179708727866815631080128860639914575267956226434232441026373227341107154047080994131432047503867198138436856807240622922831257279661012424235863507292217897754329663112084014835679305699093126310918335673718023417965735642759507088731400024979358905597784982842111946494353153427308188500291943967634680578864760151212709358383460545814051399364844817353495311199691485974886185458065373708630478938146149839356347648892267208911765042620473052120219770535456769315349288792966028296787022504726726107157809592491235681639629070445362075489386817454976301335442243721910362815968066974359097338258455036835384472793732199992029246781107231842912882021825281448815621290353099322327944778016346957669816203830212128740941399117691316198713851086839305688912799668635071427258847156797582002460687254601939143389070404667583978370542654878437334411973006567770940940419253352451837574722890795705152375593467459543125787427850620962319066073117308345568071701772282712706548957574110438740128002230171390373830683081223421202322245949099615453907570493819008350116129606199802367277538320246707748213298773333117335623934341565057795250010759369660126519421439132768054202146760126162576678760235587110683790466807071536156381673978471579521576901124205451188066547158747953706699958873306257058531898623235923910296141955905426642956005353858634771169024791039068398135854541385915750935539617898730836677307582957258901531392881340675837177653047486094851972902592612414926426864077418395535288855235963038184843490109647088283720537518869505544507279704335874673435892387841282485982917080811626818343820358192300563672479749294472142271994127594038090657478409819817825300393689286168040733590949570797541392944103062276243845010202964669628308338340176471659599729048589385383507509406261809099730595610933047557478768534882850974828251522260100938021681723441474739528930974692795554224417603951074898033174632306207293418336870004373450862193755855705707305696997467034773752442009884151963376934382182771852969397405744710551801569846183786212792939659641094991690196375397832803483320052069070377022872657630512443274821021518489231920504617327089069297777888015261343722320862660334097992805702853263231684050457344611694783173377025926929662243803974792739700534017318981198613693290294884171776
4886479325519770296463434377995897851900720525051199993601962092742784369593121839650771639388660110130333150224049083038127992957268331404164424317687505092835440306613273939652343037254629411306195404334127914534695049212214572409740339432008336250051264389068645955714953102437955652011454832384724395756004554554328877450418533564075839456895548300570014760379228430628571777922915611279102417963221160761963121408251466355672719248136683456790043593400876027697791967966169849224046291080625109583216462215504774902007621777276524587545433548795613643763215101693783630810284551475447319611166216422355358453843000808900566984985653966616585455798126789189997530373303044078958213048420012577727405765091834848630189699722278248095994548766371960166475034312452388494500631219892414203006395170518081948500548770689085825284694754056854328450874467323710023414618842192935462576066986427830569136603478345320239507781952749528123852894922029682665915701614238911152829555034063549951382445209262985002570910237248108466269586283782889638307806164260980925968249639420491952478049607666109563585996284161242723446594304281542074535791571296346990808179344182523699951660266114294592645247046530670458053509775449995073942489841969442003226851975372529991841120800752378863615698334329308780670852268907771504041754001370733532263581947086161033781556584020734780240534591984329922152285673344200924104895141450949777162249773911642785419236188659085619064273162537886494943872274288782380265294020017936964972513462260360947367179292037163767037974713528285033341957546597619867920875796397889407702379623757410591834820307420930503471505357247798190526388687284273402070709628106185389832091463366800705784951226076590221568756865451731146546791537925686054697585520844828784796457649531526992883327184698537057751223869795718191156587055060318791578037132062663182354996271491734883206039246980299013932003098504742989645582323252177381343368991806202109202494854318314358950681757053995709148691687435844511293309795174887741794634043255553605110282174888517731364659116439674590705280469775337302200107879499869056620251025950293097410194104291353549698933390795712210843841428058576640397627054237544000973045900032547362751017635423234283341888091050008652744989018720672896986387883971322516199329471929122431003290180891072672659128318301614060974389564408714027488051487032049862612521895218482858323863239355203673489834814888211077901643690162102202426518200830159433708238541549724502021767651106395772191978025373018348828435268939587414712255817675444483339872833175134135250490651136528697493168317073091976751532958849582893413878195628174089848082856966494273190292218595707935866738541382397400716660351867932623939104162731299242473542615206737251049847417943926120880805861941205743772531270365470775696959142960770862003702009865590686015602965102201072046324612101154947431450417026419263309949318789137200846281098419902591362221925211521451744277702885574763756488693285323131441488961838474194826400383055446195936335195596830050982347598987844778417077310152216682765263679319654162546211953382259015038608935525611816291534487809290765102423912140626695793285908030866973333786097467741425846165112758897362084238224561368983948449791629760258928770810809864337852662308411247322957978216997448754939750740541997740136352614293883766257865586707673385382135987897352418395412979079914709471237141180074979927257399411999626398013404040876189679271854304218932680441834910768323783067111028069907827847321211129431375644470262438948911863521447966094493042221780518353751338731083099581018033591487781700951640034921782164679877107043338351894305967815146471466603107361446260037075669181739467349547065447135212621911071026258229166031160602596870098289903310269745484196127481253242838868498654288349926082730192402543864821097397452477797778456530420763877974193559095799476866785174721372701277832818164459877850221765656013321583233083288304420273455140720071695666948148143424717063095337576335306963217927801487196453882538738390826622496758824490307545908624975811164718325522504866940114500254548413417481317665409507339605695784718199315086303777922108557569576166123388416802090064206566148921749085880931492232259456284973707510164600969712169980825775867611583678323203736057969989995569709293765865666762308498578955384660657833718208770926097495008210905582420575468458469167352790861540263542295453378696910772829206632719954721848334249982088760544217961231755934797818180925567228455536178220436822246918626861108247238260575293158928754049079218950366198624241426793354363958007093792013021155619473919671511399945288018886422697495754981990239138008178542917724304568498444667809014009150714517054065322283532287231629939435871158518474864766927646252328983254843825936268176902437677342555029978979448286667536567699131890574339289617488055181389503067032934665248434244787688652978543683252400607323649757267630421230007065765961728514417142418857012382934595137033362864057045435676493582085677888534983346540179436367274606530905357980397848590947844861342259326481243358558405534795383308894982393647209457836697985441037160661189745730439296448313858890407623414085650358452526617894415114383760915662088908223004364387944710966145389877146534997038630107087791710499694572392307651922744474726411843695602808157810376545662101593427710883754323511848045927686236104817618628783427567276399894015661291672691390620616581734519328558802498406975178494673612911558820388186974268900092207858600159415211485512164647843996970470409571352118547484145239240445407757421221241365741864524167756920047218485306806093146817184675197866277049698111710821049838529759577997972189734608763018118975801721209863510842349739562044419379750949634693057533261677967662832494482089654216594151613109275325496028940683625223754872585197854450923957670265303108100296532612999518798776433301761401162832255177302669441802751724923615181377502280101910211596107561480165935663967558863437968304171737165088785203954509034347479123348687943926933556275203591877417973936503063063236447331035207857817410527659029169372011709417541379616045369299574861348845364640915589896429721766591843896820375105777940405935937344851291431508157075150655066396666319856015746846295858938343533558486970554185671352838803860195246878100994394428365983328146406837087305233214511787934903017175498224858424570051119461771377301337359691011782780490459439588414078998551819191431580335810330533734149993916544610509231160318478680111190988038227000550703085758067852219330027792244262040169229975301952132479658010028629894574257197243790217161662920178538151288726292667576711924284527639889644826245997767918920032032264876242337383615511485275512644071719245536740138052017063404136767774754942202996345757108225844946837105946296053916126969629219651577297840374408147235357849530723053242550783220586625193586243464092704778047350343164464968521734696299037857720059213626284418600608906977123913948896602856918805877606681650809210621878258428624374455045095752586160626828189934259264866740566929777237557728215866356058476746257366012592406348008609530130462021173304897790428471491559424
5246817223921887906185668778333620824017561523482713174518959107440494451845608781960855063084650151567384794449236471086887012703396452219343990162783737180390415006666056022573972738695485736539960475950144012401799573424893038058614667428103754948335364718624813569699596968286189348621888780618388242436350189359472595969484865792496012732778195409734147888516515666815780127341874339852898403346639454071947511801629378135414658312534191096204366593017770989178101668456544784199632449245345336224082723926103178083991085069035017263011881501554595197053600807397028725207577532260268696175204583988518596962403203498182370229092676703947727575960552034408131430818525811454092991698391104623311966440997822277874943789645811339546117713886461178371606246993115213535241721735198625910099593034056876336364453302040656750933733464504238166333137044939188798988295543881010683500709904753202039667694724003248655833202656139560142845105301260489247841508081512632833013149183383778256712498040574099212345133847483056725122148052074421540227324064252029271478357333918701332031102305697892865788671631012515071980273734867273996644804795047565662447285723141666786509324405965888068380244548672454969573291075893508131486023914017740408807013925814503432934190166804199853357767164536513826816736858851569062525016313591109923150661328637766033570334184085633016755710771532350190029573224665670480070875676510280820262587616183474939252491269897614706786241838777678714186000193417865495725118404950352149486610714831995126524403090767012899006066046169738247292494311814293351040000265301722402376632746353715782393639463602390654574732494317022449079704109217581329254089133057097166160460941610297770874020881238514348207801138122664385250763247280091320822349245547916480355051905346734538843778750486992070521392456186792957962454454115255129290477428520692847719498312064734614418079548868212755284750418962134410353260677310950553415172591567032507247734010226361136385095755862682219229489699681001568536467058468150362869811391017713026080890103619484025531831088824164580990341298048147545079583047530961608616587611941739043747831493735844187882607389887492840650538874130380860704340158488767424885056079536669064646667333715510591374851734487914366014187115821105462917528229706868202236137574766132717784786948831270316857567370743227663974688268174778081369406541891705565940518665011830662809398497351804976264475679596770118883116988472746474507866878928573704560691135430700973498344485403177014499302963131943002256512348737123136480581996825443199552092667821516237828524528646283996674658776313072120436956594031268077613415160687624473023020369742334667780898665887962157628826862355034866538365793403155782737479768617098070503359919393812193031009081464801562755800972790642436077594367339257737315547781416174865813907290825545338039804820208645725513776001493586585761669685743508075975161258904205649422940210234109726351598814669410629411028722258887110124261261363559411583376107160309675329830510656253491558541940795537067559798902739229006206428423751854858595603586873636539541562107115269764047999388853968830340825156699253630267432198243092252844175937842559352248778845120854459748422071578904125793118392891045932761835201236958713104890656476942651318469870289543242668016606071108429475536970254915402097885264779083227225710249418327375616469632660945110498701885390541461912076243507239221403856747362137006335921462431299370464391335832474287671630824942995257220253060109690298030584660670752004745367322675104955693267152758602235391115510523626304822439691555012839695939165417361597293636506888338078834039621012557369012145945095920667099714375582347134530187936653221523164691111627054338775278615769528062879744297226269302436028860061152674448216513095457382771721599841197118271582335891690178391653014553222276463906143062878702493809324017072575521029187718521485416053867340942967481217714317459988300485079258667127906091682301578946455916201801100943069306011910855110011734285518707069172233038169026710425002507429254296318694664890718859435884219292760128877155842272167277719192463515980226117769607232672430658576318535924175772530765719520254087717548432553435449519894496744124027288508100232675932494006637185450914150209913606304444382291386041078499266795104771576237912429968337301714868962740156363416478187706986093491947272736760051038632251152001146911160774025345021257748983716382881970289622264234843068937439953076647826346546904152634364807380564116472118900400907596170184785421764051052872702565802882258705706076261567578739280221458785834630396293175137967385441776428518131414047057604453956044092186619286522241089355590139576716511052918776324785827040896444911205763867803254982241662881828776620338992994225763002486728121466495947100020378101716118510710004074461840075595787965359401859476428745886668677815877649537535536683199142395306993284527319110880486403448705702744649396110328431703489263072797691300471242778655139732990506476006154152892752969500312021706323676357292289369925376631449245342191720168830286664617496981745606388369462890340872053819802640695767627189024584685340126923590698102489689244569464897668145433508111069748106500324331588081562921511965537304977872397563941753175878456403000093289645760799364022001603416461744684759378659354024919460010889393558266044252600376696467019295497806445229591254881525013806296417059244334353782839886831664754077340476267867609983885895262622479596419412327118486900269804529851481034280469257179953799581243164330974523371711170681915439856720262952226697877211632011595920727340779397320122542539847174069777383667691804497227432189117732754591217849527561012927306912889129458814126351994218332922908385803274536033834733326487457275901334770298902779631668880650055095420792495599316299819526423554686965018517939639021608794169457123204481573868757589426120496461647629297375226680110411686510348485338628825526370130800783976483430484363905511582495177730855250997775547872891021346838326543564740883706341180918915359441743750713810359744965259115106530300505675893471999038925408430390708787419348858544408974498479114049256322123481810525428420537472828729295177366442198670432953791810342670423139648750769445787597601801565765391463963220103689261695010443085613593061684834824285379022467377287289128278317513416300193968356495270446723958925122792068246939613104784124296934530174233971068048215617533261681542451185123697125950240975516825334599745557539513865551434917999718887702734308528041297360935784296198357745872099615046976545270262356193033489397634584351355221090626413675080448520046785669960218344920125641644321503818603033522394445540716025189879304462515067581608306707016892678088980630609518523214845984608538681462175929792794059874558572047384157158057169657170975904515385270912381252260114877846932953694647836115227505592387901277285365646158442979333474077115836438547284629996448214958793388861427092285970997335288263357637507281138991609642923319110327212889135735511094509638219127115636516828607483994629983146913133269973090968916399800606894462272187969355796577360659943164586065248577351021061628236720879016530149376
5633727096208504353911340876707793704104999518256547276476817474604568484186584139933066812036147320145840208101788243872157323502056077601127264080825466877609021241374583152564762663373166235318400610334615764938986894851666577689958331917405514699474640276681454093989196380792483105198638745626324039373760856225585496874289728136429874224420484126676371308901472186211352025915016425252447023296108351685577148554143054651105854212837224410003036062351567086334379146345973661324199726182284524827139856715302467648101412881764825355857865377151089882465972756702358315584779078110559752561265993584993153360331675147581518894429268549139141008066981693472297802958813717781797901171847322543609823767383790072673276988591765781684131766227158954569917841456182044823479934576852617587003997046045924517150405617295957701905500673306619944448957962274974550106061811937868450265538958424569427913310886826424793639891259764936106336203915647507224109728950354115057161826220150608557374017889682459295420427334920595137128121872232436368348576315389067105658562580245643435966305414450661078668515475620432900215590412095679179065162580758319321155916876215292305746740580669529136322440507257618577587490061512817850860635147945027754910948796697465601733019021667205801404901439816744471007423148551314310457581062185074359068290921817778336171055859109659367605899446241592968049100568194078811454257698173382882700966985960656299931259172683941108513884490074258673056050522944851691566552838747361746432074052521650300713423355191409989210301143478762959250405903877104092016762181825555322669547580047968133364933523646812552203627212760029318723788611611580989341630225187306207338364408125398625681405255235129775294815525077105592758993226526688293706358458879643721016093600461678096181917846600343754075176566925847155392961169078638348749713059930638360054088357961309350961205433378851899479513554241166388705874604003335462397816847743992502599475136007287659464845483314655099607840144724690842347207149875506416534093157527336400932654511403933779513410883373964492468764791748745584874873726615373414109948899102127062565812384128569912476869556693675717507050957291661559187368126492178218307863105183992116358086498424909039474151969118616877319876883619053037449431122936943648796631238244323717820314377889482858259702336864717507563440870901387367884806998088332344843924786875848037464092506889386244906494822613875531958254878008113773827646484929953895253433618457991888882688068737148662943356010361897231906943685211522693077261053852913590695459964163700951651617726617401229411458049056006053641525450283961298689601961505982995890776685796288836201496165869707066775352070165292073180501452987911657512689239918020839809158277978404878458555779692580621791464203105198779445759581518980629671309138376956903521980059017919517061556612254823321882965180971150384897667637655741157656300228829938015282492368779716444588906576579370926228786025954646845834913153429049009725900989380330371193500014122897061032437426290299981981269702900418349477797776244761559251705473750640955480405020703233134700948487338945761529304145419342412401974256337867470969174659275980303711862298932679768048805296258991075950228389830780293111474286563579104821937996806109816370089843413737569509230777065081438766838429820946608814276750746615781449140582905929775323561227813973176510757712051478941661099273330531198794516984547328177721031867791730860732487279986557500077637595028916423511023690503760500682463581335034321026947364599163754517527857122308195919333721664329703634426390540276882838537324868275562745622726499272693095917495954292076307742665241497712050944103516810474431617378164826533758913686595020933463681587004568225855683334357332541512869271518702824204506192318036296291574526233685104116472544706524078589138894221475432207786852217140324706456172278298514380327630378123658333823078400918131783255394312340402884781509087985809726728183665725896047573798113066211819356795643327291223720233136193314574687672556672360356462007531661059089071694778829228801885932676224250775032386013573197211320275582702061139626376881773288089853257507968234019693793479794350029089296450778266757033751441221597794342988461782608280157015555679612290822113802618515752010348106147235766729911238431703373051150506474756590561727973603531700016160924713625568677993940194209052554087817175812734481735459225785354614167909775254369155492818270530361194644517106994248866976528966402797273358215576569721393261344853567229625915813541475140656092814666820919904721532978673094778365436280642901404081676711392552096764068157264041590586854039461286799368884741103969763852418341065518174508877167414823550336240671354073594934728361877769250711527927064011345835943192234081815988935528913127783391220106322619889923309960087981166519256642252968143212286614384123401688803575266163623037157310772660009284114599946871716846213151704241648820002555496363988496201637839956924280699998003876099398230660195352239449852681398756075576586264698489199484648139288457148441771777419949709267471494022107433879469774919940819101054740690161098095250340879573943327784810000617870657199333926167824472269898825923094204504390967514032115026713850986984987799559974684825526580461799240994399514576823023977783316265364035840242801465378762445187437301506432633051845217151591654191009680499777412790937572225997897537857727630696647799986585293999515000056888880134618251787161220265262163661128288788415806008006191694849717587780328688998094471456272324422671782409175208205517113800083519440174145790147793072734295139660129090730253097366928271213295208030704385981579587318659318628133080900291854104053382974879212906156738030246882901557303705493723432276536229888548370440295364895800378192073228463857615781750321856921149172843806145568007646284724963802065953456559372770100230510684245735114515071527039514307915217965664537777523136572779662424345152367539291754058103383770241498607932698286329336715637325414177121375994820338558218659966190174148593556632048037662655172138887111799176232556209453940982015047992696686056479896265791677279966449145152509160398912464395910649345135470233005979847162790961054674126153601005172818256370506123444165536438910987386589898223048776981613844857794927573247219057366902368115458668950000612930626506762641603136901513936838678480762426179332201422592985208748833200037865021897369319157115450778608698668945680217641369478290975377462541104888374570070488494670308589969185106226277817775657575377070580911857236711370238441403710075297245474998900819886906011965772474722059424140653136210600146853112796840768344130752609786346268956802357091153410950713432268292559372097143751942983506896611334650878495071392648249807751769864610635906073732344993679335594961643968218347574399616852194389985179871388902982505798706588017456029740785633004318277413105157629518759819074876811425308859551419851398898195210009314154828289891559463422061398863461648458688473353656798804416914431264191015326985660831412500555695244444804309255767686855991127882222425416883166895638294686949121948192113217278973904990458290442975119306580414092408741978701824
6049168408201142949280704687241985526861418470251906372586450288896983042943418010741202396669557977466106411059753686637047027352055760513719932990275220230815495226568289181474558540297401506165992692103403581784743037190124680568653565796992414701072712092427809185852227158206319374865170249045881196452229799503461926881746151393674333997819835969140533986921134181507844773812085005440522127257333873640505081981244526258010083519569925553093983787127149372539041738505088694166204469331266742174866434452587520324173401204643259916640273454808659173986959205715898442877568313967470902376122419701122847516634262117939649286394946250938494895795039637723553936420189238207248912403631081557491931716309222460665296989787749781806305434525091254217836718615303724884813102979950397787044150483511962978811395809855207570670860568589478210427402797312454362984462203406911844460173085561857343942274945500062929321720440421660306060893549623296547868757139298832947382803548795539987104786619076274624670484493457098717705479700785151178114536200689056183688225706131103550988087978253328784615339298164911153947098042320526224248250284319985091072395975059790177065670913142919356056001922394280609395077098230645238562858353553003953288707118536541891382069405351641078183880634529057434041425649065311185308025364338459167881617634955262706307994694166292665391844984568037978178614965652146569010646753402729604721714338069177487725281298694385901364280261697644403055023342742958906712155862468970076801800685257668593378179694687424430946489069388172645129168507969370419599942063687591421976108567855491311013138979319275641589217902844989954979958136022246551019406597126148908714017584757245941066245321639353793801765359639809099809642579454411473163713052035257645473967475914449481095219904426805301527687520093017197376849562447669540022865020446544946208845572134541223929340875274918921572997534363632934096538796817819121478915275714564794783485173979113128766474053132439332583823961697113522897986646413167632613020945149321516999023756236688657189943634375411908254645770519278234015493726985668396107523867468709874439177509375999308334434275614338774180529627743294782552528609899174161858955124102563550619952033968534959079063936174615358210628836472557729583692481704682110444110230807838706418845664368478594644506252882184217815902796437804196523191688015330485070912795978884333293515022852142152846410460279979161393826884569329570309220598355877207725326755746004278146102808948863381907960291247346433888312710824302202282170456888189666587732610440106894416943830328901746208101412092877418192093379130321922800382019981411968920747063383582067413831724669945812225056330061456692149573111365890513088538247614749307006697421301231486806587991292853676109420921072882601324663602125666951923939994708742105157082892661528550934874917121754746436354147944453105658323702602246594693747372795475030336363231319613389415687477701929419101466148814253845522626452244498938288482668380640562487905762108345250477208685270812256159735664628233288931360031768194147076010310495797340706632883188647308751034123325360528221544062553325966773056059201265378548708646425569610695648995292808827352621119825989454290520764513485083268769035783876119979794899905498528573525327510940964542168239402797910770049406349239205154855995587464591000385572721836257371830822928655091233734941360221780716778323590999124282531268186827971872776920884819946519990868069564945614242732897322053324283061548719278861941690636252106962076016416699118650338601277318593376574747164565691717808421772453245644085364696142762477111394367182196158202659059474194643422794699027153829407502632184893478510206900798615001893558103102126415476104985499783162725384199244110898583971074043220575297827958863080878319667630092893935651138599104708844221342870710090549977401702850696314262514998158482447223219559804306596911993095496838095625019746771609902400159409606459822094061481443529906156280760531472511686524260861499107536555193361450008030925761316123579532806153747483336071620018591372718250335991710228460216687817286173531194746152353173976621944591546682708076512608947506130364865732473692545128794229935382367255985102059907203892217312565412106213296889151800460760154933959181079736322842369478544726613408511756079206894790120728951505770978968879980417173460779534995765346482005076942326738111470535694204846326674572394495903467684349056400988198308699795476516422830063207935937311577574174262997876998571184311972257731762290045157683302467417178729655533646246819853605032596601887046979290533284846270820597068960468394475040841010867088589886752930065341468350758744267879744936346743588202312073931946003576190871762707531655452392227168020310109294232650507234580447989805644065191998633586563683565582548323813064934056662236098216034358176817483506653848539593297970420631284011814082365710643970807700582144771984340340464437003701136540756991623327094375826563686062767958588703853478282037861491450881709909369574656391219920685587550702603098945953077794040713706786078618814817124545859302732377701272275406709073620557592500596322637026752655490251648291769556873566457291541468521178966918585642121654868373773467641588783361539084829461060517273615478386032265535079347142108566432541891100793483540847867103678248305665238758258950005154923146210970030026107274231978741488230804142239472074722722464465518679416999443183269110615491276443969921062367217637748429688359447686406701672337613466726873721587168588130237844342690305773781866319346597358902394171712634917249516032046178355212563492286730613001749956163452748415159209730289721347975408661296488704526018368792000618937558028165228817352245541076722487455217032551721258789418724148483882613243988790428201962268019846530672351194445787776503237581737025399677844602046167707405971164271832745165682463354171362553503686080261776933873413054983775810210165354598865857543481620625908679557519670507329270031103635775116327204936269758591112700097765330068204875799234142932815921188492532742556815520061215442628753339409642352521600634017188827125678365040090835761944366610533763919295944063436837136800158768870165335085545803999816391453558759941773647462495309815766864790107465253854748170118030457990752637207264241261746150446362593584698385970212033794985822929248890834067130010500753282902583425683396396461509057430386747646992918080414057677881273553399286697605524291060106833810961041478080304535717377637818627262702124838311424036380919753037300789174187784793253325037172574066441363387736776616841698501066164340461935004694362577057979113174531026090249816729194557548039388414001724751693125271540110554397738040614865056910065823881837401462654697084033887108678500332152351938983034713655257247587502046601310518272842240804473366554801820303776342705254368073206101794816393788658679781213669412775051307066085533456926989410351368220075115174618101373030861899715103464037594346394963820459265488255644837370078950026530848218255636957877535086681609539882966214843073225358290046343348078605012738980074764240828092017419080181414259195850233148335633757592857387376161872590865269030258267165756665653886976
6495245120305071789245403338884559068993780463475571687978198730885573520627135983647710253353142707998207995989393696480387301122774242443708817874135889232637530852038728086275959496653709395691020239989778958513683164123824309301203436962966649075294228638750292423540925383314789933894267657281058735565919553786001503684560744902424021448804282696885764675450690760200980317741855586984756152433649790859741447007811031414291641688695351558923342995016333087190526187514584967755798546056706411973378812285497765592515019101757451172199415171225031272471090929758980019854120010124036883384263620977177181140584742947410622146694007971864661221225655790761588011454194023057821937226291061734634147626353315072936524243316407823572304411968084057070307691580170975871813411092791775549386349708696617054689421488859887752830738730566943440872575299168977045627694529945196538077870544246896769312373650690738161844687188516436866138222095042352948201502603363750969994107508717396108818830063497752310618601418968341242897142868716022458104450981041897243511874517024899109970826588042201583264577556390471555237101851468071020664149289094259391340880570310957613779776454061823802056476950299141308699701620074800191151398667197639345483427180059210701104993084196866452682486599917507510228400067987771127240241156543041700270730335427429936670322528696437245855661308455336950790778231013033206524833720418325092352692565765351273849881152573198736290766376642426037839691936399401859650156078739725073666585554273018985441400987173438218346645219760919060007898109350390330472887141758238579599380498071183008703399135619777305758777089734234303521858132416167116269286698995864287338198735825319853977066756488506412738027431679664605841403676051444700041332303104944456561163182105057053787034937860343598955209184326712935174786464556162596453392088760070465040267729558065867185082918535447944301903321695109905923289359781930499198848065687219706117005055785290268784060719859098322537897773527564809611549947647317671459666995794836438024978774240913454491240792431443883120664006111255238155295078674149605495647177579386803507133435977162599153753861106258835942525987779126343587635445405323720648105705688032949918583627745884685569319471040751077223493983061041862508492725960671998608428369284669726127971851633502014318548775549121739141660764853828580529666301391219895002846674899307129515602748008660797504591559473704375436998061377709387280958769297010994143019241710717114328399768572276090416661883243496995083132302402870790205674669058038136659863869158241819566224684882901480890271893797581856417989127285715395094869378031645733604394263280131020718618638876173414399693482342934540725689113419366410907982931487624570208107269364080750089937724987284824350834843376557001284209112332823910175331639185115096736965991685585880908889498722161771519228402723842928352033213214569805084253025460621338019821989523655607726022566521629022785268703702072361290479160103657183963938818539416123854149910946324714869134924151323885890509807895771493554677531311478728667519577434563780944689440893357097391026541465613559030204197822378320829464607061018670670940894857562194027316061069467964364904492382880479254668391598583945905799946717300414857147818970427417699853203271795131223827050291228899413622094143549285155285279159420181476167989557629107619763074030835139528196966268657575871361584576261629689527815239957839292896186975970263287957447144358023590297792399915386251840957999626103349185915085413057853302600693920455718806987953116796281277687892819593992901308076515260932600274300541535546572346839001537043234315700169946237359821183310947178316596715567008628861254360280891928806952531474857275631894795546030724749242841197151057503832118206406715354619135787841428546481976209701223904592187079494841383156553725648802337898463199612660146310068950045583953443505296753248423516233834181123029095122934566528019609142361603291557993074653317954434793732869170504104149876077677863100672919996596022907940875364163172896964347363247192683146273397214453157953856351789586329777812171434697365567632844678917847380144154270072119334180290293952669152717101398665421793831371492865154879318402630918377969316598363714237147134811380039620649185311930634102368727818668374543619462598270097930699685320328684599414077484310829410220112701810368224915407580114493314254583780688318552617924443255217286078949919318012072675943454457033463381693015507310924424604082960811368445196156573468836977277054300544047504653236805708222058114335589014431103809280675854766399665517107435203546390505873594667117777981875101502431524074590044565704187409781965854142741940607716356856655447280910553749409709618639680218263191175162812482245799228718835992583606099311045664054031523032744551483867429059779182977324440228740017127877795445319255524419467522643980934946682126307290348244381913429663176317989302529696607065595487153100145462526383955263720155999925199846343791341429599299719834889830133606325361781657681735222078107203105533010280135168987172265786285233973622457536306139363231416821020115830142546687793268639016555973595333102946419055811128185094985237437836181569286569597806871916928266135436908284518504559828392076248056791755390836850860918488434185096839327302703106975362864463967330413079444849902997688460042859856581592385648849567192253513053014797418172674966190309840313240981211943280238730587741115135365825036496842642194024160970146714824926434911859479639427570276699634674574814466332538348369988658272519859381936341439355901693819893584407366505999355257831923764059401137113122865796221106159106199833448626854003125889986393164018764227421187142499267976163721162977771586927621981854847952558752126492766945930951746487080869931316006042806882044202317892798836259490662919662740984417875389606246359985786416641323617127070406721116836764345482543690762458365918763691728862140771188593014210062114641339207245522683926418735771785754610205058985209092094345661020792539523831396347746363126435758476673172219917372677520142038061025164965503800462784194464169172778590346564915484967116714573990919221284290215774476641216058739999976245746076325147622309347824442194191058170021512685553026617358491366897690620331243196319250546111807738172462363373005255785401004743441511478833777719566192726994148121515920217983357807941805458493251607881117824219443909883974746368966289443120669911498985892084759186005371046179869613602210656650213328184218229906692564213524861091134423900889404531845762427288119478547480875846712995305756448154467792849243611355094509973436007575046733923374298736426830471078272504780539494679074028923417323973595840678465203991287720477881694946851917931122329178027221882539176229872216853580398495513624213824047121424156680666957305642459963973502491497044304388919558891685269095828411736641341712286329006092492142722769234053811044299362593519087584604518671695062064492200273824444958070216276993940243059866665973931934825492081358136957725433235692597509534609736890055977318761773407881751096188241753895701377012316730793223402926393997568561002571519165955073728540493154623194971279706800222977638872519362754300084224
6974216342803467219435302964709596580177123679507825723692469977535560847324282614977926580858905567418295242345036272312953440934004863021726123429058472128514182707924338013997978117287075822895213812907543000271302489604406475724614343799684830229274338395244776067386213759728321709796470377473170887377684133919447360233002974870327470811854233121965760082253192718918147212960239579113602731309329165414957309478566359118102807014774186963199593783646460398831506624101676489881092317419475950224791205346383979575231517357715887227228338137684437392960150162189263086897719033585481829408294513284878888849069862318923817500766019689580502020820903164368509860555359182768003784344571265381842673645005878994861556577238779545610396335189858005223992276998522225864460922214436074330596701216917774258931727182953211556159738567826394404307355153307043097186411949498177950834218172215535643421175309462212053805521626507070774628098428447877411853658924876542502003242265662312798413633077926112385903831655932054924402805228243734492190036778902516166669012309569434223756051927432130116990195379988167783940402494469103655489465349080373386787486909331847875406584704096594897986736511628157334436964685794870973682451465067962239313541262087953326204794089732928959987702854650982763566340945602913379857472625626395129756755284173980439832596598630804870666594214067060120076688460147427642946543660258678427687748566876128232784294890947168704619342483613909529655083839387585745289750589870680021857293940897162399414479341083008156918837102546970075409245970340039568553920622137637659486208005268980525602995662880403054759235016340648416306929574969768806511803975358758288342977615479573085392749313281732710649026408653758457584389837843783350057513022526023924206672122715128120557357001729891993208890803880516958938968977263045376756441152372407959500865305384016358143452678539495284371776079308566082266541121252042296451001660749867100734816966016119325573647619468261255837182664473026352950518372253935385260535582497348006746603666614722628051565880488543950015624582013046346346420933033804899053776624514542691199279052557505791559932527271277020321044613285360829290238386996564711119163482570275674617680635952403230776867567274011239987919285024988192790226195063744104051539339009066846970228953393613832362072679291080577784019024043384993441254780567142187645445073898717053582287531106231812509874789444299816118503095508165630440979069413767782599178797461562274686992502507973605155575450505147499639081510015378065111762454304974230718723498461667915974116981939991862503421687102149829299557751943932217474045699009444819722200390669544105145391368067299752117834744771814327271403712299853366972671089016389039442469158994647384684857896874257584105985020649898633398877034673667240382472754063535357620286312138449818275757788172379649774127556213305674178213456465593085886490317235605995658724211186438863387567962842095282376791978243178729792026087203688893780143217242917684722164835348944265439864854760344161250843865419895285376603696202204282256663560630297754795887283378373439235986479865699536152223126462257326225486520129141466744271380240551050408332253237225922766739551236988192168901799310209801894010966967336959804670598578928537540650263013300071954591409240243849657895117812394327276532138884985012440631629638021631131136701557715954960300709992574859547534177186445429364046150034487328045453222046223354672571666531166575558881380314658484279716233600425923528167393378920532532822658893033815834423046348725655324095521648538827356877293586063427837606159590363792565537428642870144723605980999292315182884671341682134782413315806845329039377222299735958051984055355027230661276661470345702106352293950925971320087693585592730755030717557686140532510265225918529198650349216930886023985341200874932140605710560202748973798991080303987710197315560458289494240191445410724152587629002369265696445122228286423585841883285757621788046764311794711890443789373909019794410138836744551087428318219597673229500013862400782631234480933656327723452983933827004536089941093555685692646192584886007849943792109605588884626025428410445078235145706995011795961162637848775170634386161841517688697955895420360529940409133088745099699468124300946408022554000528576521733581129332166314196768105712075746081295580889281241353882588053927432879932311980775562180083521989037091138181010166795041506270741494373175118969088085709556040600496266678880317326800538516188919274280965196986019023140110838013209759989014975265079964476720695896469615726510381020249633070765328840679417712610392996251307715753085610427405965094950226504220502033817123458532945687669429029485900126502940738363741220529228514636334637004480021771656572080182356141833571685571767314668667042094677146436349719852837904967302095090986283212678745330555989689112235598872509391710875809049388323021517833478576634645311437710724249037223786021938317443598403156249201281328924227946577702246022024719670298203585046708619491896897008929988839191898730073478950403087314834581267578701311104145442395900302274300031506420712148532260556302803379634377286348803845267771254998576961699062099575308211400943618652097051816932957421456938339610047822454834937735576035021518993129818588086644809833875932937434214193245151405063634150596570042250961074870171460582297412991107157778620845775951917278779218765156321619063088102518061708308077736725737005241707881952986388870390864500154943123724350888077276899729821624791650435611607709541486316728739048792848162888983839908980791269886862064807463671188254657368440107850087021311518640256141662834576325218875624808512698094815613131114639071777176298632511915390822484163153735203039382779319343823099975464222303330809506329023805715558003048798483605894645439241658910342841714327836969448405099040521608364498921078878774428298218289153851624458576592622678973996545672762181922148476200806511071570014128288666190521542472528335135371283892377989048805999566766690150951483313910814982896118232745473925566513391280208868048241108686722583939960947787841945082327710223854746869404487234436481127564392564098453398831040121384724489578716254064064234207225047702225266993373269003969001150224845248843056582180979548062160553803422167695088548722614164619481455708603027404655540572599917881417564267418230641322677819895928214344075878855700273137204227736297080064510672536151240621168332362874839685917356490982162380921961430991412880903837788993633090194063423705867309817341306548530184444297935035347012782425500986236767155984106366341139681643200992276766290831263370320908496968126595759971840192554363566052105196720747242447258873756607725808908625654137357094722842788444361417261596098743369945810328836520437411286958011219654680201998371219923471961124273890660453563882852888580842003369692553633559272885629609124281883957606117265859626032814563704021984857342393202555681909010197187913112921060755789558985065917545333962633530104575119648412151372989135042374229917573682791553185549250016488792548349896000453647398335162148180929502312516636987632663497673228691918255956411679703559567337549977704623401169499993856623616674192244039119836278031384576
7488507776892404165720670455319889862303547022708324214831672728744272129068960734497888606669524750603475304486081284379471326495554645245818359399166378465923980950675937953142726555967910725701807840341339964469740830043576447681959127208036680235511366304903358781066820074824585897135660771870011019676613138850527677648569679234691581986827125094500729696264933179834690695144444085154432099927461006289053978361648331344510739423563630457982952705311611759785109391231016475702841608018375079918500518847784886033487834669961517225142458256446050942730836394462995180141427336561592519427718991423698089731893534669750129520315627378710082034671922541036415585834697021880465752241042594989087808880625341002665934386723564032837598154309673520830210996066306500104246247395250709583134480973036310590805601036894563082968836125181060443024372978927704087219547234669569477605315741848655362904066377005720029727926932517148922446267328213157381132146955070817720914485004246144312227198687559118050469372090829425074596450196491163790215843845605872426988673281555536958063847327599691028022385777424868374746205681705405270690326136706356842930253694402100959029591001787178077953372389803014866037324474748971649126451432893546058803646302653581052906002603454254814359619080722953115944283671937556992202167517070154649169735095150608090806174526470036324417632967280211591648802487078450266245442524261789686774895248650959910727705394759494012533690024036289330142831812576949361103816206872819890789410663803067351171519579704787313816910370447658694443341314657563986571259771165281839547811886420916760181439262925293069872352887290277635868113905667584303162287478032164178900506722436207439450918404017875106612749839852055990702089378413448161351584537710846015845309878014093500560948403656625384111110024775492557554061654325836870633228326697011249706577242581350744838788132712683322680749541516348403997409917704173059116447249840591508500594109396293978043098241261108750951147161172447315017157378769451571747790191567604923926862526795980179898161914571935191993941567189925975722541748507499525970137986894808183774182637378088133520125757149190730608803508654397969340253191048509274651123679129200011046818908697013422197846718691239536621130191067506707705041124060324390553545639875349788803742510114469906312082147082571886520786464927044057991840944934883007029770458939823240373351147742462084131178974429538430961946113920583970923806790338161629600477702888504446712000358717236153343603387995018797651506722248586311682694581540139682764919000189892502180327104977621920989581208550219632033395782965617324922946501513756273955866620771028868707260312742437790593751741781862379553729965085215789185777213272523933104564777842658689068348983370569237003793765389299824040817546762214707457322752578483866779698524197772448407880702454416551568952910217137367661664617806710513281548770186898219523934616032288069238254043346035612481051673987399044884893231529671972336033233063638685875434203536235092047740651463867022569231213595168889609274979685296698850880767745510500897640759353099578798401289330335494984042001462566848618716931410877074056029293370486843630558618388968867011642052278145157725899134068226614508353990347512135643281692237310535864550287553980555519854224932349885336450079800575174777156571200985133470666497719621805962201905123925570752975131935922356147113162114513103401814073158208086520411297546588877157526023991894551688427112698699094847577834868531418306018972344007655752844341628335950307733483774117225223289636565133567420994524159283245986043613592192311452877798171265233790668661895489473213653480588058302629482316836330135288621066496171962317124846415823906219907928655799516090235354093451418934202647950547438842047579846418741754897903482401533617156084306424341241330128010289800032530200121728161492941056891925334238420849009790066037465500656704507380760295084839275670441615857303208855498484334844502040599474109444558658799602571812888924102047478659332506676465874363238199599315492639501361489230929397368318922174547350103151037487177847036601192626212750776900876965637244712929572474101371812718956028052334593524696854603924395287882877034536070401990807348220211162155821513868967917222368755616756921076385365666050718569791043861100160076994880732309030423491169307196382140302119578864652144136093662775005069868297372852794242364713898657052101098853410000738788913285640766447037264594916688971374204177614310554943710155199859092287368405160818770472383785207159504441844563089285550424600350762341671617821948734285265350923373996191177151704309097991676968476300549532189395854865551986507824798353466771107035158740184113098329774590273595040070618428649811568274748658239206962477336349981966100583919355916505427423419905681248096675183655929611942017057695762255937262671302912564792651100577712766271846165924045425749767815140607838296175575439522258911899381752987380366528478374382357256244473150116567372585566671874671741331392038289751327414308630504493552028452380942231416508661745548526186809336156581279460920686158264152961643173743988372567826797161980720548334941036030475756941144259129077887261064271826796412663109842936107787429509710228424197609882623663123841534693682933854879561258668151159081221942291027861737348829189368930251805310304010284098467278380126335552695372672135147893306995213514850193976420383433390270442571623271342965684639752528982043376287432866786441333216912284042195780115151268963778598430358704002217615537721395357979470857784575466617770393028799091595547102772251115412803179283921437709156821756896998629376254390993707732712611032075179488641387081383710031692200463242049733475407005555805229324517209300541715098500989309302719904674722265565288444875371414444795427413745764620015177375327685658601550162764934670321676710728365267343129525486121746216059871515043006380265305499520370972335307530834674573469063781513814442433937732525746044459936849283823761658716978996963275665125481028984163053061406793747781700582228322073637165079093728033063751861686774566486175136406385741505244214612663916888542858052567549227110268039840487752815479177719782217195743690829016698274367040351609773164338534500523347610477464286210878042959938421736655782958254146932603166758284186730627137396826226129440248243511162134874739666501854899397451042870997756922644075639869750083017754341727196433739044436178202351460248064489471885426586355329668570369795078781556154150718651730174541622804745245161323961944764276891164287005977952872573075665261929666884805147528006349950645864949938875207472759754871654720794222829876989833554571931912966813962748289966907605711562549423159206638953427045990129494750685691280215990153521163642965252279273096482378404480970230419558709733923950434938033331974350874982908462064153987828857715761280329679889513472770796331026602007784432193485320762156823201069837339354544411163149496621377743936299624780267065360491727274458045399716304302118997458192581222922290935814999729244662154536706186422825521737404184941251568323549525828453831829446561545969872331629442209536341459803829125671736751721664004822656571599836649223993841217660359754790003879706624
8040723999398635100646110969198089044228919421832605462416728128732931985418869320844142636674154070926120674177840300901876250267036372677917933593948451293475537151320035650718297744538222548084222830585611156053834711658263774417467365141805332494982724028959072601309104053021967341235120772632953523167666481851730851960859238372552663319981301271645385873398475339753820805480223335459731244660262248581684289960492810944411333736245921148016570998707024499331513205779921235995220830176743083827836518452566921889229352680334917515131881788120242496844727811236279945228264766323106240155074426010721943694039034890104741695379946797320502251098261350799155721556176142761299206780829163605276404003646051908824509251064881028399838537987502307100732749221092766364989555823331745845089097237281302952002123686771459460390021436209004170347238318850146550743371736208259568178658876748488341311994168663193483153398488259688395267089622987202267215894656573785868826242076479902738778057821190133523342307644941880552468528497905580607989113524480023844866124876677507810650886937994417786265191617483836191659906425753525286010244525181956948922812106610050473180582312232951849234468256778328182958032433596802760657323968202529743007838438862112159879131735981720264931278783680666917380498632279650058911109126532458988961591446663827486131379466514273084326444960049986713522928349891351619971667087688018311782064701695415233895643557903699142335003187859329147539302410961599747347246267328382965559702606036956314441755970363931711869829743208984743101051967854970690337735972668832327870142870134475993829389165118619756579299636370729126203436448511275907351243524674615896120092402672915099678398685605322145578568474698454489606588489788682054899096686811840585636875930264070252998857762112153209620163896667122569246523139324281571800174618516116754608459713246190017146958955568470658829608582394927661127667816311368672907353898443620435576339424106832234824212256182894970508646487729725558570425155174969806128139108263109530328610612119164634231700508399801872261365015303929671597301694958591818694311331580119435375818069167478930118655371190753095207789309840173061221299537978246821044814502877777951522231484422020655303198024599946432872487128298293159463445710543542997144652465027005214868145260836649365996644197846277016043950272765276313756521073332264841194750554883362912356072502369484720465853567274421954339178094950799624084891268081283244974029319970832833244654067857699447529904400558351186704615744295458447727608989217826312186785490476151521655028402615311240625736811864837223300147216915410075748765235989799422688815920887400823842390210246875595478665038224033921539002318714055916913935899836876857015349367286931125809697898072860680458741812568934863148466483111665714264852134510321970270606499542224325490423721427806504937437559586657313211594381600040225970906402045436915133981966275248634357321187077747341714361589865483203470563128467924293697769864594368510648851758496984317828148942181760846906935489563410241117117564004853423405323419565584813044986426244542201792627128689506172916108109543027195757792998472798042936703971661057651247878793047891372744293966448238936993374628254438185507544876833416074387752697568696455633619642697935580144421543692967642487350762370015144414342890294931647809676895757158558524028748664038788380540571591517921811778899023244996518564447821763791391976239857881065937233928328524617145594007680154728528787226393707725293211801543260335758023176568088573368199112173495033401073821645743611486245636264800859077695148202031764658189097057518196518179003203302164341227429950570314483724339055587028930970750384424971836048899026246623527368884426940040585046657693588393021798887196050668780788616279079299639689035818969774606482491655877847082464235835922060655524236413789418153597093551623679256971653295400579364148659012203095584039021751173558605218803496128071197555894998931362377445001383715776041174478915933462340074730021870272760341280645812538222984245086218196766335930174488345479559309412518074123983138974718089473159331045029231246964700282920460395355531881799731091038244936708913909506589709480577754508365485430471227226022713310572686918351564520106908435827241256546821401182065857172273433638106734281688527764463676171954058590900579801859685529021787676243442370200113702874845329633060901367373293385974782174273496915264762813108555302301749573599791882116466744164021780220009783767711559371619786295623283517348559940454707156359664158322283095972541769754355098596536994129170141185952154224463678904483607578109559537377964950533452826895388618661377064759735189256483607531858430577814831694022903522069222597362778920386462530575629157439318712203914691091138647947145034290693729347522509844091293920540034252849942233577769361001760431250251901793832979374529920759404817782046691180903412261405571076760832614596682231972663097467924987243738076917653867153739575990125188863258913954332319534938425075652315430804260952616836946751269359410054399792114174464298388336421344996732612622714274906104274849743413018984195769908900783202334403439750959812758845764897444384742105761515412536192209544260266569891135166027686379654587371808757948155147348954394675009731406202076436259585412464390995096680740778057436577502213178713996962646451092192616886787177569338147673469210432518704698366995435498547851488860142022012642903794496663377792118101986514660822535597319183515473389905945453573082222210776891809617242552403711855502009993392454660591815892623939621139345816408592369249377798677316818398532427295293467888431959372073592913445743437382925729261190246654981253316281131975163434320597377287868440723645396233753425357952791926775202638606542412121485205886604755223414589538094979975369763462667881796765469760994717836152035818115795290695259530563722850468097224533767921109189706730972234252991966647759359718963094552334980600616559300424618684739197687474826019537972034527969038073686647188938852103707563714724734919136983700527806631946215203805181805232250953039695674961748441431331433428563649207618888413107536968190327169454227229988757753747718859118774521995627240461731576518352619079173703109788078868217860114013570926238489354639883198028053743923582977329343216229770500179172366803855261632248000471395060136981034853379062355583723007328218028476680347712576563634971270079209169256712919034581898015820257395171054661851265190452064336122397131802516217816019578368160434287155394847165153477781919159791013458266021182653838108357798280603076991310629279588801009405036553780179489509683425803799550014560759510342469711432796075830016921948272196205989707713114378902762207412373529689799679405920012381407854272599994750966852011116971885606748500397254264790057217295957236846937029720144100881799507908231483557990689765805902314725489186409011432360518422237249232383337517962245896141855498731326102086919976167167298922079557967301604780587130278966193663896299395811065905568731279680664735838669684076012775561728710944072018564052791814588690017379128488339207904897950566410930170170141473336586167583095845041454648853424063715195201839819331633817015695604411502763267038642176
8633661653394865356078178770573163947664776613547567211887701109057805198891598148580830934418675485773238181935823945071089449984008121873531366539477085453831582560238139087347291930395557116497881127735437110855993125490458209816135946107836076366089220947343143436278062173697599925046228991267196798473276466047140382541526975217395488249254618073310036108886711990126287262645484200143895705191300247110439102494324438762339388092229430286031486926377182127524905770254219970513842869476770361208686085297068864191406651101322103263587254351728610709884372284820370923364017106546705867649891657040505623378862771250100704899046116447177874399690353146035789322123764689993801806898600674361923902059035814426979910259143279297777038433084194016430548933885190726229949735410694050540810388710071787032779344739307591552141237368314155783092250385844849940062496523946303472601605540193713060843075171737781012266043364582800403205717778957750891057330130341390429378913906265078266078147336102159820157115987049039198397685491937118301801259727918249454750045960895482296382529968019901055642428995066604562950121513257910815030761639154888386225855106560758051804981533319147231501190949703262466839963460701389876796430476576702287671487691641116795041198529729298747925074515841780729404593903453456732336921767386009310012815065883616839780042092011182503598782822839679864953874552233650090253732647054900725038274843284451045680494939517367533438021941977890734295215682433505706674571368458369532410604257103674884477008597381457980114553439042666891245494956283385596509779799323846171677453240518787378898581066960303953791893192199243432179604047292579477326579230852311078799382539494558334525825618081061144701125649331616373651167367443104844183424212449702455218967363023439595119135003406861479865009129586303708334328061276260222394306458403999377490247938331481030061966985005224642102185624466783915207275937952265950784001557928363767659413184483579614682145987316976923234380287506109140278827138573055118776954463832164699006825678042588339716238942510930583560533076262229359948607715423129983876307147594706244678281019080046987907173554689756280382057352555488571231421833559120013950860710061638546734464410633528044190931119967143353134797888555531313129003058563999889176525929644192788670034211867699656293680318874478354816308430044285312996923229174223808635521800025474200767161426170454845693135739042144537797793802333316778623425481031270051719053074654961673167202697070545977234551845601150621644778658498923148579251531241545157762632481240597563362245695795970661837181545715695161609395372159276068442457350239477677512036191293877459211630752870223692190347951227703903551161236836259734665161984109929458915048425627915358389278497965719511933650590572834245694224784379185139713005149999406459185634796404723112269257261178760840930589211116686109550756649247379230707373211065544764132895000851491954708339119166705660503529900497703849535845583868295356608955119141790264752261510674159439924192363721914431289637670814149075957373610797008059699876259834268324785622719371056213797791522910953087766201320521921827654577716394611385006486839079388352220053251378161401924322089126326877795087149257242393402121601812967519864025264748332497574377830872709630858769371749782772417347904514970624071079946786711805474488074900949291686801376418962571842471639446679036294868859721930900960717040065693480266376066749662716514509827718155293642811783369959346812724832975880675079224174607386367823672228242493484961927938300349161619009928812551427233588740395007821422851346146399907490022697611452621242619972058015508762897299033957599314007790130740453835081303608421170450387773793633873420118379885427793916422025357017234228455208899057690693103825001934700235762248113061939586833392814647059847518227001229118130101229283149468600142055391219047526971707725699028897117741334916990110852404502280770957338533985030132105265531038105039089962772245433501264026184093443938515667148909990546565066361543130652753616822042138963857876443462291754341964167604777525342852857787959291276705299158909512892433671745396331191828809931253795664400915172100593778252576574677305650699636579584759600701188088455523395336291747961073276538886128975692635952707467149568280358861323680774303569601689870034619288515596458359106377331998259235230355278617553332332230467958084062937287494129143698629807110452654759865874551280298351985548262781524127982314018101469160426520588202065567323171552747660786978394237168651455478993384393031313924053772229275510745472159732439003341789253704936008650550579019580929500812263393859411368610832590307447866884183869241912577357809358400271317393162325562631325954327827684511062487931821456477243359162420352595762083661364711832031174971149601052541556760767443677574172176428119533344712661672077491579095224962136258778794199682448641747943849385582691722820423355730604106718392412699557298268055287813961118310020744623626278380112853583837479595616268418255160495112942234780076315298836288263375172009894505549974372609380609324949517798649368517832811360818226989436993155067440790703103407350069695102381523735657106611546409970468060723489090644227357481130954601110807790273134573301938426605349455056231160836217845502465256786978263307522124285034948702571127491543742549205073002460262857692615352065543113029155692186417652462896941947500311885119408929804575614903342580959368497184509983650418275314330712570429618095129901073059764068622578572892268709078760068377152097152645971442215101157316018217074868030135077331099830308428416886948013116967407195794825810360556064194317116706683491572458993440587854329469621629751543796708665502428658692032614642887681233133310096083709348080519147001667924683234557698527040662708878845421283997004894853567306675352801387312383755220080656986278641738196500875521692093967680225517204469458867339204100162871725712300417711560533308625529110639907842094041056347089245801644301361729615052453956765746957095675682301196625644752529990637384462996855705225782830307652201689881942581178438338901731634984078120506400284859941542552252372111874086539030438596250003218483629391987892312913197466265169211510685249172389938324057416100748197779607092685018655611048197595630170536902692959633716580179963776863942368598857007185246508591696071706216874806977094203326599366192566234698017856187177066121722446677875227653928556286252888824031640457024619880702303706944833411783554002171507354158496739528236122373434635313124473501352854550249487105461885369291068811970438811708662307233253485165811605104042604020113516347285140394963013696475460470292618604111881764683723603421602705268485106301923679011225228273938443661959927790492515453134587711586293573441954805669808109481525812518867455013563725471318030175104849736423663412023686897769782933004154562381379168818307087945419635676278626151521884693744414671659870485952203774793619661751770744457746938444924157475234745056662789619009255460108271864829581281610171090991891356313281712278953210682256651200327905515288729829031257122599703826520343975039905294455118095918473397513843004221632870273155062819045912539535764978955582515234909589423611390270728541569024
9270323611515058519669793159713306582616617781583107928854894672006550675694547374332204418958332995758242815858215453723507395692985651611299866829310693741400991247036689338013976558803406539764615374229825232847804259895585492803752515405793609330327931846739234787162834249571465767941401201404919961759656287909730584334196930115129028082125220250459283889061880741640869675740929270425687636957872996264013611353178872524450597077194308701804290493760389249588792927180891094836759859921381333273353441870294304090489262679265203969760531270777016016617180726198072587609443943950662299521897261233054949929077155047777891061987512934109170510366424822228606796016894651980739300833799271137002206746066471064150923653008817390536556392457924428772023581591140096970030872328196018933637933211701487779516041409908937850243123317470601435557621289561752955648995691615763568728781958056102775282266512670838233823107775550233103966042855207324260701522942722922302337458204852030164921507247207074135635013686513595726335028697490898698679867105752684892430319814135747834277486329596350227785027200953302984908786294667189340960456618535399674342566138078262717367767363872417922476639028506673299895481882386862685646534536608657590269355906816282300904570664457655463837985725975870535798939091873394530884526161058357348614141512216554917262538154672862929811043632375746717771646937582542722086807515257077332641519700041560616627681957580147895032122670931362564714844241329557176199163235586665769796589331964664827561332497416048315347556338583145961630347386142522711291738995564340555072365782149353466486741545849822902938919112605198214288548345337716549649607827015877572365456738030639104188162174264285973366914589566514145912469988847637611616745704441507022524092335769258185617041515860329659505594176578650109204865414329155419092308263861690420481243363516283957840135263507290556740547986801543588528521803688176866927908062828842973222130523477047273518024612656011667719591469416454039426059720352132960488103735160090553779999991991485553568046044551517744729671199718137255257570594618904520676436627042577095905047754611588454801154475297142662612885678605541359685180805679193935614502625191518925599373059936729397724722985011883324064434002728964917448250891404088061740200809679451235914209068793226275632949385261184015748982198622327312753727254481501086068532128751115914796674109038705520924186112718700288886640060493271013848921085130593306369390383932826717596644080930247494271690174518345844983598516852906843591308547710089682274416759448925010534533266140114670291542503915909908254446962439459904248952994288343598259057521993900903086382006601367222540478764345897828730943943758661516837127058073654673726777157582046182234517596449691958216027752100352247821381066245312959549136986281756290403365060889476036782949070743327055400584716939151620104493265143009202399451721898255018593704456614762524569857433824611895980184953798943039212440390605088431976029924361443193500536182596267426691020730349639830224858224959095993826384887106645527764846027808745208760738947673318031809774636982144558036513091448416975211239919151304732308031430425096930117114427511917537468618709941992788183921973882431692701719614200457451631554719752957436903988027786426750860661711617945825659180028236482393196499687712586872972510011010393911787294146641807460077866538807747499173814691278626218399523666948018797326126643781728596615084704880017822911288328764353015852543748569617464065917509747829522459724728731239268851137075027176368633666514037299123571596848177598178668838679692090807701768233134721580822631915336402606199361329389395070626083873325190453371467994124803929319614269740475834834303027514104150460115089060617936279896728705575236686041125278954168560040586319259685236944293584907627956911382933545803542926363235131122879347257214876573675153290649786966963019911923713963850216623005064767167858903666572242741668771301183518176047927162908343317941780492254280983556297047492861291531289724364561757979149096609695914226329169834023527300525066595531175841052884856014653196836629353166224073246498919120256822360271333765163617130524160565474943973103993682380787734657100460936258405377065307033383062994851871100948519999054659462591228093515597526165067132252048994447153829434533295057996318793646446928606492064436061086737030839913475687316653686737283613871558616046524875387545602987500666136046889087725156613319065030679739293537040513396120834349638762825177020512185505143456476808556409426269150242106575901930094867542833106374876532328407416954888696736747731721957320740958957817569178091034762498531731675363793373132784511188708060715321132977046432617040577701586169738502391924604783969891958320211898958944341650896714380594344011759535438385320011028290992105966614175759528007978872623580594099671375677482347120534517437678496487652625376759777088856838713290903798434379706169697323559783417434853725670207583839281471810010673642194140732954592260559794455490890927435313681179395381648171581237306249590217872436807605998851974966802703949042237688785979397612885180084105763397628717621552495068678840946355004039823755491644301702342161654981935832434017892489596776257911182841284974934685068918918052029483669201917914691167241319078419892171078650168121723645155922506722700569864835714839128338321239457258429734563798108226638181309054770731097124096992602090252984292236646576180000055034614391010297298943632654592826597088185495126748332052468684440661559184353195477648012722107291802615953317001012344819196743236524899876183721462410921623961397388509150963461395378821566022267151327055205231700747782100838339971008481319275303093847693183624413856553914143327474395129617726537332093827527768495048491670896203049666754499200352477663527366046336997572776360692805122529391117978926059565171752213641320500258620543236362395574470417716509771037217160583844353149749572912921216330560223592453561959623373010383877841894343349240661239767213670278434360549626531382202441757580761688115887504351193938388042420956200109719371777804451483875482506306252071034045539633216433429077339730413738752390329857478015820482737493090477982995401099741256836124974936256462815320913044744337648588069702948988749834726238244353741724956848989065212701476554023818478690217047210267692024879411287468099294823233056099729671172850004085461782086989188388506865917644487385544488792487842971184948658037808963611953983296906894944616367494134267283558274199101153539938914465889083316382280512391583939683125158901505813074652003764451622368681990616295495304782415414266419729787764095783666738990543296611894113715425826083840165049764329758317607757461425810303493081675036161314092280671723400996918726926652794947042511165465301204685220237090775560501859327808281404304120747233463588788377100816228258567950719389303852362572977202643292056462885576149208846978809199360430443190085657966586399171609354383899088616268588389121789985316087078443263030618615069629996054472362764193703394137657021168246417248622541095971874666085780653267230175833197608547733712866758383655495590446908581141990852602575778385452895386156940069945604401739088784890839611022799602856467918033183651659776
9953934183698446338376983585013289127089973869507879915117516836448195462468695764569871954753180650864839904134496386666066422728876157566945658020261160960597284657001209404720479727742812995420386642583975140719226060415256016591040099936404930249889732059265474412732473432144536872022960851112310122313823592193263264971586437317019172608248355788129888320775117476399940158576353946281867099761396362168867160615189390782667068703555685827894410965796140971803461767589509182115379514241968489388482415270487777490932601961649347090222713689893151074959745942685563045504164140003337903496676293216984911029075975097731839895771769203093972558927855896978620006133976398433644229745768350240515303363546517465664633774466430672997642399516631619403830680668683589960137822189988319999342929362322533631891264140735154601222690074357814651792658740555268779235943737683651481439591700941451288263042960169304956794162236267889896677680489412480249845104764097158119522101836401584519385840008445342688099962994022072475993578548736221792119746898208488769295375390133458863181157893675850277324710586641214085840604669662149355916238601459072254897592965940789664897663008092041723370356987858343385201873725753023413723648612617174775167262862690088990672190555191654948504964833895295409096610157773042220663575453550518389944752179521521959857646805068033965557293965170719734102141398243893572971413787769042044059560100854558172304371954023998627001551935277593019042234895561094907484378919852568213739753938282680715494350627645983004993412336933028720499203216150304659983817225229182936960574486920233431526196739257368473878609968557166922491728762635101664015756469064704861512377512486108599616723292202340279100606292653360268353857670170522067188368121631188651673827988553303727351372722723595297838835629363337847715431379656303076075659499609124755810857206929869790593205938245038799692571490107817338762120477515912956329777279886148453877113585444319561601470644470159452662516064906063575905505277263829167285016434892008563220907286120923090757803467992731925194403540905620982342617440074867124912962777741104456617708906843751398995533163611316904542176474449391756055806104059767255276454609625929880503591122632925148107365507821384262056128459617819768092894337745851436469547831511490825369577153043380260042849827430022441469956872092268015921205565025479150413206676927826044389209446972794552636005762386046847098467827785515158136469786380182534983260048612093653228153511736847561270714159550206989055510321569334933939814350565022718648912719826857975650568964173964165647999459928196247508802537561005167163136138177427637133403648186651272555219045328932082424427582262030501539203355413178632887303518255759895713514582823681697364727319771988167453009424574852053618229732269307168637128565276035977181182896217337062139614827319045028294372884632768357583553669110370321833172468470973086081958138162463978458483536414798073281862060149432828196069268499580116631242295262438049861650665678913242327002883427434429048689600608982057802235248007923651503668416978516803606016617262589059607517439742145753177799425411702044875879536091134475248257397953972673120750979013362118419142996373642270579450027710202567276951906488175485749257340743349347695653017829560541911520476079615141976473965863012108214694765099943416743959201080560441800984317039697816840815599407997585094330279651509007958526902879934216627241545349191521202441276932372038325275720317348073421411239628938446848392723150172251486953796765786058316646307413705203626409470590131164977367794354865344302956735894337342235329870671333187924656213253922507978855941453633869390660120121174942550466993569188254710009704967566529522907270531716376241014414977870349468292088011957513608501513196036757762061432668471340755982437980250215313967421717427941883727415557776232759638455891298732152829477781904403118300740777287980398801659580578604336952133397585567749210187300771644165086854423320349699025019311560729535092252398460799510147802781711661782973178104961647107026726231641990199462579581164007114996436858665759151094298793431680641611600405351030213035789561727051919569916166658241641937767978489118204023684767543063476938847924901510541144758950799150685745351993885428327061565019531480260194366907666764315035052824425620668824303153126775415536241132567509101762648441702392947386679037395173615516363759050116711288559995922634978814458134018838579705672670875580016679228886933292415847219198982978937008967127639478519096339073033057864253030895889556411332865183568480017766545955597099146896270714951098357286997114422550302876175788529648503932580258890983695360026708635242711801315971658068520386690914243383314861588193161333488011218957752409676300454680598518713009334626401143270161031004493123465217285466630193588184292188666321244307092519584780720529131125003880608492715144229723450430730261222552074882788087139459210011234857727000019681453240574324313530223010390685442176038260032715360803029756959703876039809445354041718468308083879902709389281599790907697123602280661506857074786376615348998601864019280579166076195799482296533746717766794223947945108189247727860128169269079177727523162467768660731530415543563689447893998831490163026766564777292664696747079966018770310382995428574057657309878976926200773648996771084772092508133911709528559136752777436382566368425095019886186827177240710039549059189482894451975389525934350868211412967239340045824550009399728463607673181382387737865246975388934196362325291352372398328410210688623841101686095517204972681261297645909414470883242157050422033352937526652396198396027641039271285555681196276614180703545716908711089602753851228590302140865257177245065267074126595839786339772454114928166520108807554523102415156896777223543568131593010809355132292509556292476462274374475941251912628091260758640164095151269155716283693818482621749141394152967116467323925889397940683112251562741019991074321422008920253823014889201955934148815843095936614553749341722500698160829634325119290950038532882306872172300858915982520288866886129919078380833874451615967175201366601355873623824834104216912077399202116122651077141130104746985991116344157226493322960447783043273299680010298115110852318009178720466824987483585359203018649593150944340980073354811437541031402610769392753738783227446943163064272455852185278636612019233618063032056182665131185780374297808554982846935025668899530629193454009705706213427869257552249098229286342936008757413406037453951386548835011762478066867183730101820278958654993941644464790139192688077379890687297151361907801080292009251540506650040141142611900953088465033731837878055028205755664743435969315744995002204833427324813180959195950655089134303115351682352776229809914932229982086261135409344347078324228105723215561803907888790032277997362788061850702147663217978230248819155095033379183284526015817874676626034071169746837742403511963479069248217496050953101282611300115917191630203642769870170840852536978228556150500327008199593218398968641958152015028971736358756995599518938001028763903799756662337059103067288426978319954481587919845415833543622910420595076653261064804863381815966958013337180962080851105757963986633764831071351157579472506433106660148509671424
10687955446380320837335023554190228131560956354757728962431247702318595077379660933150328888143125661861120376133359291540231439646058542896043632951555447926189320557055692956430522113021591428593589600393353540766518461978611192681437658962857713809109376700186986596152694847062415252601188554153924299586908044295826658642786529378437832639351426988947543834465371732923948699360623529550289997823391694702164021052654418564429725934489197386414294909819550019225381607845823672469315778074405223146513753164458999572820115491367347993064829163615642400334838335075795922946636203282575406588857181016364206148837754536017164032561949351837148538829143475230979534389187006427091898214296364668721740533487772772430601241287589897594036097756724753354742947648353857562666472489665733254790155775003354138208270528138757602438843870627655532869774265893357071827055555261821476661249338784136423466709539842548853120404952122203050289864188790969231832658506872772272472071634131586958335515210440277662225517359533761196633541243207303681939205860900725063426731566166611723181102919187505541525540585572247246104983431265953713181927227149873304321534404458833370787565451646075639935790539674163480044994502507727133766337093246634656814886731272317699566676872807060253986347013802591517582220383024154132044317997856960892164821464467414436433604460821523234271441998666601078687628307256308681904202940337880095121200427329197250644202625088172425530142025815692674596076029796219549399388272909646404905345255002829019064529104624142618054627670642572824193200651855894383766723717900201704761724265673595587272717590593059230582515022223155059628735466505077107145713515833335772021967628833417022414546168672625828350154080179496854271400612205286755455088938503726358136356717491475465432261636201079462939294626708778339334201522538995358002289393113228902347904416372423829034046986138859319732672351038765745981265143635687366754767402018711553200791813090163536512843450875844524272691655961539092652739688050889659305014674670922517696436304334369844034001437956041596101270412604060085433233843040198523261680494215840099023227632335455710160015546948505840125150452605179299837924291963468297696013996792953907588027970566084730984272788202819403745041362608348140695321367650502569827832409062392835791595246417526271544003891862797528664884733041686555712096303669408589438646890973462653257174717510599701324648835378904533752957953011736926677101509348747552565869454063078107676021039844328108448768379458066272006011689932684234435455766997062924523522359403691446963989506229942936533521082054316347830057092736582199463170702566947186723630964532189229845362038451026214154523214333942676666339018348266698914239666133556928929478929611699056123818305594605839027411773832192068582183792377877538468706019801993933628145701462006197524591367342996438618931550081730266441249149072461486680617630002605132504550744762208080564308820663995703797352234581249717512726045989084897665762837501036790345451733416890503153950080504632815487138556567719905527845506473120308018289268737705201518574059993842263825420499860541670690984151347712904609556746686768561682346751300592486082830928455593161403874597443060037135480209670403447997437053232890980500493583695153444463940668235416857390504442599074331763838121194264355208531740681664786591450893549823739721634745573599414263475259355996647206781406531441366557819193051371418761345464991819620901243969946254277077979457236463179198392025093277451102720254023592979225788481943020423050686175685256547940112319522321793482043814229450018066244774192272049123075332576321401713955136992199728871871332009662042347705165942969483837233641726776466811702411669576746251276302443586591675697081548631428673601376746727794472497236685872577850482000713497604715054121868880742167612112071448290906799471099812629547182749209266646390666570234509507997875525182756373846685541372277545596133294315014844711112521071712181813299316186918460422148975257230442017780627098591673658524408268427353564920712401498382414743200240711917071761074019224197042805251866124602437240683982460331991509530118800754541224157261288965318261703080314708365247013883711698544539995421502704976276100507342362948804000523871406314963065049436576658920353384366327240001094117963351099803848243635117689275507203167295137916241491786863026063227752864285068491708782915257926721215124489968824991859800355402645038437634393024186934738356772896964167105647969243164917159648043802748777589467987654479503321948000984763460593791680806403655444933350914563184203460542652247097245656269376420956743973122805868942017437320463062691439900207997050210135414818722060052251337008466797396986687583917980430648014061914545689448376160451306226099780775190894604775490778322130588030204484998584999608653268195196850106742807527900232247138115718173500983499296838771641197849677646332681065896337099534819629466890593874531062376628169495180799501504985795977489534303665539292345850421314091181463275964189134358854890466877080560255608179151732122189151009127249325136266288046299303988428437315780155338921862300241559053400717259335854078288930836654531061519000192500389637344761823093570895470390262983910642697224027367951255263978116286417692086184379573305616509386852451307683650060770388041076385903992732088084928754673645233980441195244153267588792681607460774233817534025910516218063211284920518951599324705663535152687245205489306177060821225359895911072081585618820622173407851130664153564597313418057323218027765708401730645027259194410597676081890748647676354925680832738167324745014614062171975625792508036416593643924405783381981252553718932890781340947086839088355641211191969443766179724207674867219834223922996237558626319275148277363702058615437389371591755729326589084951452088696011520512510914354079554038256203945508775343965441913555187033299173742479902115055189225150991709846647644828583322967090928754989724393244836605603230131777610466980310866069100573410805928787499327764219917201484482656913506596482281067167332158254021166529213734087084937206339612193035530994665128342224842941832536617959167227559273265634248456310195175285081744092339796603711171592117721719372282421640543728912873836902888530133803608056034793549402113650344431120166752884006421911649032121369133080565889818771863922179487615132961335979684895469224022712228141119386976045335140619101961931677030086356727271211002090534046957241518692814173629037677722035069088082399558465044120708418077800275170604904654277963824102652212049255033781610277183267833970783668936967499056933338966451781912466373978420298230823685546653476546878679445130055095558019534759949429720296062852538301865871916345382369129629809401949208046597810938560459941232617457352789356874740385875968927549631310316476512786837398411195763387243256997739712621009654539659053437880033905143557275199737607083847989463949783175760389079671837200403362958463179909647796869476336773972392879164809481848616770030578169924639634380694178381738949334949076286483525042298854827787438011767538830531311249373945944123274270317792076380657187471182595147610047403198364771092351271756211661884793820972081013242767901768973153534450269701604466083894234015335679254408885476446437376
11476104775827139893585315490159178396958373243541954974218555382483377307503058270862376206554691721227966627352999272945755875387704814259980132828989650293403538424253675824621661342908137731920846652233790548339499891494588631016582322877068789877863089953561876128816545947600198795173420942705157454196369090002473712038930972497433424688783935392115363557138802309347801529733903542396646281991844628135952732712251555431030235444718535309984517836143559148502296314704427420859581707581591072016464696563891978174535091631591432488116169016389054305867267524649408292556484611577067304488261127620009076558565066035567343403630262890037237623041339339452210786561716382158125377804240921475962437428881894218367170690236800885206593531127147944933071811659079981616773692474699505575295838599096235078477696488769152913136551066098958876707283374728594211786881644456160989912623295144872585597981104588739078358611704910326974116602502784695657715877607938687035780787185491110836657788106037887580104482908969444536853721234060637865567318758195034812526334442214114359548260530780116798167741690938372841811741804977283769091535384715167283151111433922381476461508844569841060066622976951680660737699999192619506704558780301499578270030509189736247440207635026468877193203513697347792015661384038333893798402855854961279449722707891592765540150508657038896024997442758481810110421544867421319614854658424558549628731247910031704362491301687762421015238865778396940244229139476071127276557268638213517998107961456482756090478254500213729146111246716627396302038596321737020777037915362224028438763298409427114516558971160276659985706262469291048760587182618652398287281864272338831855315689852548185800043687282756915802205352732975199707635884384021263245389146911214970582208902553949570704485557699771493305378613755682770888396488394597986828911209137251440136556770613381825488081768998441523249158802598732626798644305155004944673020910939312625263691239631699272153591126369883697032972212061723459192257711244953267604905029127922943914043795715805382223664222009542935217649381546716065938676336844512467689103243164537597617541056311073594098430425248846294850631435254710773255015733626762991334293066445996479081496593678646131585602378918460988519793143642533130217202993567225223843624136872967813307399963758084124375578035111858976171325618005933590366583903965648671825119848805774924904238322266516062634183656659220685193770637862128701058425233681277249207612547751573698390519232384825539220250370312828210416615130913642807098769885526745347220661229090903206596313354736198292089419163787455302392063944779114922377516730997595354384300095759672170367314273106763021858092374009270554755157096963637352530634518687396444476577073250833356261467037293741478158343504033653381637767119131059525404018568621973085130820103225574001229359019625523029628195603515904405364632850163512704878198079485554359727198004981531750692659902399047638123532714729746947881599207832627902110489531489778845156630934343013761264800112245991279751415602269750750882576516910652006502999744774049760652841281056873621128196225087249759115744663023185312423803469018956832086659509341972548287273496203522104127722710925777020415358255447401437068657208863469458195748413457130719418594355338875357854828120476433373699684681491862467099792771601425751311275225246617577167209343973972561316595541559780905309693972618355366276845381809187672882274900274444544825490224159092249437511052647609973341320310890709500485105656917036064547492232439689813115695418731871815693159644728768611248361036338646816915282616671678316729628508089905961086578915048174410651188586325364106973990187093826733551729769581871473114672812051290220827830579313752324047806200813504254927718642916942688068396300754048536772758542725280219506373213074210296933525542940089306199949478100948098908228299197292526597877339699426346862981454534690762201766029547496754842635330784932869947186711444778672903231635220494552632950050692429484000498010972705651505316751282661868228290868149364293467055888318059252895169474509600800397677117215512034432237657546334540880208995383144058873670309810599258211903061574803533454128386898049923085352519924835963262160576886361114185118826140998639358073559958812679994064966113654073294859660560217639775055790055339967658137348342853990058532516698615707324843289706687918673898252317444249083668095867266246195849896327185885884337996575663410923355422932164093140068850659251197051797683809389750795368662685680253730303667522505810533714386530002425093651877710267769435141569871710179453595895256338757273580686098801888549715706753388279681458933027635712732079250383594451254109541885905909842480478938030074245374000304120817773220719636972361102210394935015553605121123394578810784157157744330815361294898834646375471853872668616853888526263065699151154684894488328890380095939252657753785279878505797192173386780454783253875282210060938505683536590866524254193666961475504128406045707102670212960742086692922803799807457920641224808064563798632511699621638769877551733338474583612676542811114465625176915447976617298619738207258602199552947560986619795395559282239860067477351719489913263076774056135975690178968183896142729606882689899970233464077462239126489980923349514380233552072685983427631229307300413145523881045035003640067953328358263065709306197254876350335907046183734271441468163220944764774232367941714116826626627427365134521168477342427051753141455849692004678677219164623581289790368959790579866821135004544768682682834383926387548265817127205753646330545821681542699571921786118697688912326609772586510121989024556611683094197983964717438850834824985481149813690910089125483354794834484701763246582565766727582608572702415661336730992904069206959359810294657021651145580169582055774263117165065191560116883998457162194143782203766589045835680993226796849795803551943276380360816739278772513939618202443547224538665305815236715771260004135482380941986651825176930761420055759733564659286303636592327335833050923915730674783142916456740917744817529342683685704124517555318860559559602611147020269175374599078476793770714267376440517144356554454347693277306603391890810157633057838554497466541683210662455454495834670690717986041214549250171867893433198459620376127699210212425830315891127598597833482331225557486191130607680797087258275907416303686606373938011645271349659973420762460579651029846497457663827549854860644073557840713970158289752386485495615441982100074603612364203051114409932999011841369387221506830510279497996949403401877813847836679907586328318419393791623466109883228248211118741852734255147660988597141266141003386734774125253275524962193080779502815630504347303119275323914807066279006690003992021291803309410511577060191578043476952226255538470681456926714034464973666723508092898111361452041000490993100453802906918727187023392376502778298490686170521436222551606261145754222431545472757356519796992160478754291033025380608213011772523392855719034129652628662529621539949464503562619677481789747750751808118963966724867649535899689575042210607885517030014499576120326595863295123745714166794017547150848361539436675623130043726984234393162249795194491720235057761654070060483112679426692715139466731854709376214907956733286706706408013824
12322373674411744298041462554018970262291479738593534954543304631032719199838542673334053881000235444509016406265137731203449766697510874437092278027561627183161250515712227718633966760244473272715912907993803937808014784741201682797408077612180770216929451429013604171417537007156045877092111399340035259076005800876476288076732501419488000743901495129828105684265345812814520664926471824253036310308741604139299607200237452275351511205561531270351181593141318325964742513139209919749382910575692226489074161320119905184093499640512120742562713643549869064016973733813020620570325409862691764091988889759005324760549296827710528181048326697148094953285832129746371970795252036749146599584214761961040679720373515378604620158654201574406542354939064610310288084973805005623081053552998920968316323077003196204697424971169385763886153902782240668776669564865956253919888596190477789346425737553745834307572361958647467856854658138164241624361560023004194800726096508842697964415696705051685539099464782626823368333589253677337268149859047800228377719638213751627345524392017005750965941078347050753797670821189012726759003110293360952789940026944605439075798858687073360959593572560553635226029316792407552526023182697881796466933173876147427106893323473036160405363876972046980476662341200599202161268891063685121048119370732515203645718976665738010336285552399936734656827103782827850258785670994842805899741018431682463473148412936713630140010167458352300419558511536587110413857601694987016555666754068053378916745271083205491149137230019395697923187452556425511633721777332901599537462588558192048992465576338394568736066907897198857237680056191999314683065820775972922558960504945901530062355972918093380068829808062673014522074398666068175880841221226352107651888302194251928569047328977316070452251287706209887604921021744618308779080945884010474124403097633077827678853275957962200108022608905533254330890179168019110787087616944347612022228556502119091556864312614961864701669344178613419520046971120469747656684361550221432352850837322589111129715084427772256737854397704067576666912683934442849851098602069065221447238781239806132182436588198338872325484320343791874528558804842131050267291010973098629530980030916277456946543997146296367179268710478647449086085750157427527219849058491132678468661271496406116153979109783139142452476020475343501104971705575618376143084629693116438228681595475316989600139881481148771218126604252261364938489078135725531997224240980560868213884451708061841780261984887962444404135170356371613251392130573213614178713325041758749908226118610148270858174333190004592973777704025697004708926303191762133859253231331875375430524781784365061852238777586889873825659974829204358372294254700280832580774523972767144103394591908931417472229437539657998542195914839646339383504173783009149859885234802026546907274056253296111526990196083560894786984789147948009225856261624888829983090103700116119864633728278030988302649907013615386821653954437590154876821269455160970325410479074740574555094465136291837677567019518415413408379255363180711278027319087210330491790807425222657870145227904504129687674352555098115496500301592780351651944597841942199461991507627794643755905119800426899310418912595668546518072010817550755098321204675810663011394650510565684474953722617668164851695873286857319690773058129931446580871480601330287213539052122314007137980113988456706514033138264666954307602091041038946866288049229773591838929188690100186147771634982752578095296091690004762016100645184037483705006232890816520621006044285624509929065921937603810316565061254259993915762096168788914886409610300540684946521029118854382645576266163767839562732260448977913686383344048226776023796321145938392875715746375161543265037596195325088707330493260002342517849603804442722390022880726504651258912831177424313803893553431043211588985323227081814362028261323960067851053462588518613370773329257129657434314385070251930282474512587567060178812093043857171494647043215278327519415311496156463126167789931381697142073551210204980462427154219999693966692685169241920907787873432573234343736552349060268930861753202045692945221666815288614438918172203904680629778144030677942045495771846513858452680834478089826456726122427089710093909288006853623467801762037374760205856093396348891891155625889373115964652301753948950369043353715781797813349404852179420651126571243282087858027394403819510795675170633744815029408109867125321083964928912563473896504933475658584854905176019473301635523415192447982796580667492469419345924598624563054321159064039504950053068898887765834644481137993647858281700358932273534085871379931454124796827792902898984026016457650832249605391853730187412596482797619433405765866667000377011526644542139313994887083302648723241592189633857595320847474039889283961996332530774624124003131776859053495345444003676608673594137237900664408251407682376067638396083064753145809468620267108141933397149321097313071698330845903006520540700588745583262244474945847763493238147612463245534154237730171790869734935648559225059243199390716512555975005294642908041818053078522637438654809215308785915820600020133793162761515804190167569910385064341565438393898710124378702534625212358154357894713974635816697847227071320929592424184214611721052433022407220416025424372781930801518834362511760146203748524828424818528155783002126828389468854910952333203690738272309646542290014954725304139844463775075748873134814786946731935210953575241487971166700827467054764807472960295136360504534063762941899411213070680447511783344518519884218202581530148215001943804887035647805826519016345943505611177487918405372239317812428336997306150060953264576178957735397019865274107119398454436303848902631303318569737971317599062259044725381771364401725932966033061239531528401409867814518146327302776496578079007882108546940825265884727011680742807864669308677699806520203786821731076992334023713949472495177200133409252325184741143762921643598591074555335653906284043991570078184002283618680394832511585714418406758488879501638023471284014204972478697982440658530161877034402679568940610114754340503586701742989383802968094238823188344408164275989337697897792391685038575235602935506084678086166616909767730133253425307494647046267003633127845902646881168029106519709890870201500249287217373745382000136186773010921806896849538508099435533135177565766601902250639719391313407474246588331924437047794652322226686926899958841640601003893522594070856620203320972202609003233356786057719780043607447973289011668676426309455418816928336409951754142076764749564492983036220566358929048798844444088866108615138075895606082492686792056422028201926242531374957540018509530899229937664291910417662773773477456524147462729596362695068233447913180771575858475759954509536233088960223307721695679065525726662797841293985380482567611678083467361692819689019667683347179539400637792389983827252681561011416349552886461013787911289005815747261960702231640972462468649349351057426298985114472106158345701627516412556868641162740927568324537891465986499236286335026883878581750717588650534392143820954378621434696171269686165339608095103143838990831521310666322517965360821028841636048633365757922866766184016075989740611809856557567223035759974438088629743798443766927729605144310241363423048994548606897485454912349973891573251598974976
13231047985172448449600639630380027660034611874176465416699085001512718917314457315567543175499471750616562060509054015113613867586159782577918435865629143844055543214861788049709394257500271417765233759654411220880360356786985262838758371727636544830450704856708473863831874851651233752696563509938561855304583023267688448252260208034243635064870148257028747003887840513042225992443842682458062645369138213173217510317666495239248881883016077530459914844374785029086009185748439225150596029275972661332999606047135794891075610090546828820227522582014922243758758143904483236080793125859514244325909854277569297834104565217703316273122232539943691073266324184351674097304168652478743700280952400115773636381153668363914975423980531783766952505725526643528417934325240378958057306941838742070551814949674704346661690456646563683074752219918121770499241027224458183588148331150363072964318939321504350161814524941466344709600491532168916813318704294586006084982955389804790641392797274312986845027082633121488834840331965710302825766406759327920405909245296253774228951638920830794060659335340889181403285994495068373989425608068066564539048093382109791113569140783776395818564392899845210737427370890153514800667939656308841074801581803883688474662680119359861691611988643677321830703811672841737221585601245178562035868484900063090870285743796482969524614102418755646955025548468410875814867398399066409000065882258452347718471751929372089792195892585276643087092721452020086670664856120240850812799818049191055207429211516255519833290465387333492065796307201849791781725641101951618699872636170234660827467350194799025466357856271578305461102185064019838354545076312050261243069000124573330213544936098368188517430563654784428928510653087407210078647259533970828936382902642319268097246588958431412111912802568014580843742889264010125052245587877142698921441384963791069425849602755477680067041193119465920197905920523555642483385533465637111422792018803472413233490486747695362295211657463228154866332439336568510585707992163210228378442669666684108586958975353790179206300070837186931989590665696504162022876741389488264851722088731966417775954562976421254540868655809343394432673871202449825961036737661058937404494762903620147911863621992115056139641720175470825034640846394444520224850377068951490004945880494710312603929394196444067262717435541456677902998334613155445127793775273051404628047905440897011391443226996712503223109961912749274113782910561532452290069919447482975178999913302254237497937910851461230697994690961001186034372356820928551629883907603442916294418545200900949261702153829419270228041656091084044707499117870699695384166723888181814955456464470346116195095683529677451608693999376903976227416904106600114487519464703250719636849753708031662087537105610326451690886782565270527964566807069381224779242516446996263372638004029292772803097878372880331583649138959973101283339730318929336103269057103311831555254452493173372508609975190229778280348279734630947061880565186780026490816121350425776849595119487746406384222735419946967582827198537423439369286424718531235333898278591191320267617692155077962026376009630530111032174899448782080014120405633753480952890580072778133883895774105448894844233545414569719637743489858584678991848709646482269980504224823057329319945292439085069954592616476303053672521779406490620446703507090452999419109299321044513125083787269693418997410623476747690270769326300619217663247214089378891608163341270948344617047848881842961744745671311296955735853824127485223437783670435554123700932642706271238270341353637524329478658586285820853637339295490338821341114207775231743240686832260435817612255005561793562764627499758128603977331815801562562453430529271729660157999630818387343760056383967343821021570846003814621499388586146659668042588807353011549387228959605451650325741042362889796234375039271076393550313621653537538157553905241311737378684942847102963378015888014770675761025018379285214918715462938168911316143122418179776058366391979411209706480144890970618329545642018602903135610896039311768679238399021079568852791887024572325657823128694751457847754028775002382874346244610568267954076734808966711701555453086834845448496921046763638416259336902346258295488563763310612327865370195020334163326669240424731194998537204910014119588251210317111752449282011083545172142083753860725170105001515293581505203912261627656763206587509124554088535949027788393640219277529119539897282159922606240977409594495152308503364659046190322417429095023448408073121146876501620592713965493606225149812415215910853127011096289421258576047568642895151765086449221394076956289708116996546931669503765453009995841774692023374809316729258992636263188015100513282953573791965785421044288335276311870978783499425984124698390361612146556060632001383368519407888772904481039821524895797001091005792554597584503319189553529781332527747135442091519998782664403552891196792796368063524816741628435390619104408540235357148449265316397556443946252862276878799550140283787530392802625517724278561815736199806605287138300973383636858771504283479533509485984588661711948671902953217664512478721522392895794622278856595977369381224375528469832836424431480197654926281898673832001519418983083751556876138468902313029945120140309196814618633117361720273177996404926333064615178757254560835319616686582151693290985796851856594243270663277315831186656844416368571113773794474025486071345610151760333205720627238355338952459116659116534634592754546784683072267025217979294056859965894953538679820448565064632438509836135942260721653893690055366531304604905770428049764356181979194715899950665246547559644072432492436774188652865669484780981029224105474303654038354282249217786538931734024778323520524618500410716243929002281163677872011050069219638284211237635638759608118576984235700076312339445608158231341056351755264150088191491568656412418377450706913672689447233168639875360840809398074459893930120105092671845709166629104223166093957566154457604696373113219632887207620501164546131963172033776959805022309811309034489059146972810952661937172862183243910841824452289174884238263671661400177235018121797901866420362510192430864292736568221215753283837525710057725346693372408603245969619295943917063189694944872049320084698988613270823319563590173811106125206111482769856180402997434057421152858799003331244926682718977998030111084804471597466077027897052764781297662465872205161913518562366516472148106074376862051942853172619589111550282688690606413104393805904901860726824446668281909651316249847172554014107208244513060530216281901240512528988549515543856242488245113556200471623998508601191982763371299475315723969104924136942027417469123513463063095560305828528433046991118796676248817263968120786820107715313589634128353341226460311029304437880406802812736209265837987054266382668686147566549043069188515940591090750191054983891520689964154554004795208211565475992337893113849521016607295747072980690230523048284984859095188617617243017846162128063583746488089241408748638490482924406664673939539802377649344696358041384824563548616946506496795237581883921765896163824929219079316375481215133812377756968809727795812399296789645974898003742856171241412831406941078546689811591321300591065031732179346660374766793698662411262406451461783442111511047987226765013371056421092690241401494307260596224
14206729597030589752820162868290936712856016056910296474399395588655309569476530579587637404459554908543500471460190026702615321413657682100657563449587655818674570528836520208396367659983467112606308100877705113954145015273748335581607831954102494855305910574927815362807164932551725141470773021693273534451567050962882234690111487897308215174944031312652467628389064963895055526146861859431572988344923618320711397477230042021878410823030237708881444523883657816738704555986283938766347655161940284753829268388333018382033406900536557134846868192213892205231701585410854311686813422327056392456484097391571460142790685263583715905951148142391291710301500567481078802692931531716148381968179142557488595499012699093361161492660029537991901174419097421582801268636695813740875672252257792824699842470574185251845251821843074212396842376962933200509964451187623387457665253871946864226952904824817403366681423160343566203099182089047607415237093042585411498564697529159626907227232045783054841867385035886590235117092793627286011730775791686690270767813422862947907478726382642248410060721371554011421831183322788674892120009119314909161571219011828896078542720375284856854371304293732445894869650287117938622080189944886988122983570884187281946632083936089995605139182186529373609934929949349578187634015653134700406090580400710200906138361945232308482295559227237500171789178379071900178893206675148245896860756536359863256314097409119506868164198669823018292931929589015976346397769903244974471047559179006525342909739924346007515865480226804330267017654907378531601730299744378901022553752929116139224906141898610260917669535229774329064633021241026218006994388929520040686809415551615594805246049192225302162281749212036339044497394249503849180597891904607227824943757845578310517082561806004404619940944758331860093755948905368249228066272823155489448191305400107196840222385212342030186473252983231587059137944083361670525602272398606233341199937442682766519009813127118246107201391550629811934330269603616422457261407836703056314525594407334866785975392809549712334259510352050303383467030398338609354035202026725423928483165096151468529499475791425426843080593033152572580490687662059549395886139627194917220204032518580633822034236717060133997241299327707643731480125592474682613035734001103746645428358743676273406953337291704867096648906434886120948545926876491862047049201357532313251082199547488281207597028547896125214387969456765934441609245926368719557132652395073441977646093405004328282765048636397374914949612614781726358710301108082664400749719858368265621848289743441831703591523997529232075406343759221292301527649300876087078039558827800714033902302912980632714637979087682625021990829148811738907279265423853897368437975265972046432183672160412680299623739445712557474020658089124975750116970792533490845817856948147767154920722138132171299615908774626679368352235042910980762909942844315287074633169736870202454919672604141324545626330465352069109856745237524869065071078933804086331017221387411516811101237260270772040440564752083262955653747234383176048731015255714415228393186684965918557119988909263901808403712690526967506609999221151865172875590100806338604705989519762846223810452713876664688831522935426926938999314044882215279162114627860267752527050801215654040566737883756611904211873192198093627103434099650876237335118490499936582545359508340297108119405895788591635075934128900286539122910305278051103188081419248190102447599346202553758889538753666422225365439529896465057462947316021192347133388810886759233361046280571975619134930157384408378791839511798668721793729646671380404818095648892314009954750284102397837914014425050364794349614270852566061193918552001807858860411557512396932950651786261839227437960063940110818831023533359022646623115373895483471283815689207232932109305392379975364571380978390559719686186166997197254055583886315292273761529592129225045598149253984089013315981097959604333355591344207230483053552912233886056689756910351643504821860184271962756282495395015072855574170752305723144526162867524994206311509495733790709130348266166221771753006074089169576106525160219544191846899495701741709531101469744208577710295834604477338627182063135978409950771662555781261773021426357441159479048619636369321619891738058345408027429015731940316632442983536103191486728534071234009522234997031182086111254598554094100890314243736045381771377360863015350211247398668536473279046814079027883348519037958924020867320788325198890213479141394497043638405881146816454329425620146752834176654419377808530114255971777473257992998198042814087820959065387444897000743504663056013842879465971477704112416338292383139225379573210216718391397068264921663804043388964675774798430703938983584702141901510652337611659974759147048693116741445823659861259758148637293205891007579249471380776074481885186549692139229970588080645408813046309493739820366395058425375856250753474117840122305104484597421852946589509656872433489773867352912288649365265803306306396635255898007769900512423327595390211192048125339083172808259923027421921692490945408567127377144602394665516306729563454538921762648973208642204775159655090517999171662117612333200162238757462695710449881068511420223554381031710316572541443024661675736870592239919354732911703600987822779593899920136491043450431411896900565383635048844031555884998951652269805957289197341713074918402437004585715805003977185601941246036733229578744056987158233525335744406951701206988574127106797764248878937277919472607084794845179492625205017324960434750681112415119294547754985952208107462139920311559571121287539414742577024016464301574828811841386394975124452545928122000248086779569870810828488316747190617007492980485928691555207103248338292590205305535147208902755835876848320841583449479220667909204700188209146718766059337659845856550550034452608600759813220482930117504493018209757499404855042511576324106057694248679369081868856724812654323373690181277156645207149854300068464780952461287974197354632773007128920696703620213887866281040373462430219339297488058519961276514470110718406075362443936939064193962888779615656982085402648936698251634772333309423204392435239307219579432713348638428521694575564277159049574058724922619739671412417309134026308110493683565704526524568644437129944197216414122336382519456649947363587519912135109406789656286273003767048944715020719883120572016419419326058680319880513513183041959321455236751413281153330352614446891523049501909332744470766540001870275901672809307566631294477814447093391740615207514111742779389845995512011291605536837643136175785571018031934376553803114606788921820911212400798723568146518859487875748430467240890181758301491306145027117924854009082321950935738121608543840542526855819491492537618117286465736470766724993891428212664581002694314155707767946581108136372708557051771639530890565035305903353420259671726887972043775849805435015311611546092087441099376381824357898252027169584947444900798339559714417250815904377051833402674786713999930874536345006092650287741893266244752206733125576744206672209513609012784695872819196296768555685391513186647939982316365120765682268815516106566544718468232419105182751231813401240752813212278410957931893399939249987460281675866702445274728131178239110620640633483829134445821942819425812284061956395367076422510390977292869440813803609032885272576
15254359750590410424988830822175782148730582930320149540802376323860305804414384669718206954515028221727651379570524382658274880785047058090372203777755981606627846622049569806376375926205259787333910654142403089991251521060542397164359694335083497108886784498703881135995787034946926327749485867002927093412952444959186126973356383778209647652128883279560574869407428795987171065226211144822088783694609027076360472904789983788168372743341828644687943242829650307936874361341822635392882441071704776730656029623874235476950079154316309436650690213395327214584869602942742498028863560837135855387085075360219581840063370845130299893553798261305437282735212809264168639091244414772011013909161382488433829390308085723668759831887342728017301264248503805884014001215479756379292107681365470585807321106866991999630220056925105546586348945680675475105726959993357702273852212473887288426128761988697839157884252131103145241580470229202108408872601676003369418259431706968150982525646919310348814198717574543172856195216069806617658405488595500710847857285865156544988193190907295209747279698916248185938593848201089492545207941818669824193539791407664636451280907837680326718391546645611308223138650541532139119192429825689414101038715723220544874979004462458371309214129254832357849508996205126843696820762211841404531729240508677222016363457551445927013510705471754023915657225736206025525230718036582653019695784597370961893225278468981653538603154211234141419038096384749584807321997285442562407376041383614409029598129613732904117203109677364815272005943820451175580483533603596134931072331808154506039188667031016604622854400586850147198235274117970234954651799926948255931608954594765694913029817628453722562679549400842461439921049264709374114196085864207798808338663246525565469450613072171903568649416797094490654382323588500907317830471774016604675713685761252151330747420463530758804286850785428525703293571947678768161847222663824312045549635178392089175487727421011089438827321698911442615144751902598854445614426095389433833533429433615938841570235894442392740463104334757374894717260663775544977425219584384653436142759243634813199143364943328981378467917742418935752868457785274116164956881659622950419550887528656083651147132723023920195882283708262779118981636273412846382742075203523954936296127178761310273504770666482404066033381082999960739576313672134994675554983283380022169156370916052041682470156089998056850229329368164143588397933216243718633820086392644126203035883559163718178230931086294030129989841917089140222270476999381901216440871168213363192519876880403724411315390328046809141966113089197287215479456146755014537157026239918040595264656567584337847689455165282197724220473001517483966913805333589016869895391592951710269105588448539531937646860506140150441859774030297406025886364432129636041875768491275256926451866763995217564330036387085255624037696729451954753995833577390844374600243804168611235194727035453535771396787296293899488191638010043266155290594984030774915719899067931052699358505944499901504590853760491990565875285667881546965477553206042622630428276860287818769357465078292792425112300992698373611736152620358183091725511439916141884178624170675042551785747727263680054022351865383142750195860197300647699008198152215765113726776136637957786871099129034724438088570003847483620488817166822929614274467027245528578026580881221053829574056096340396300637575890069244782640481071377651418702382758164060349300832186412737546528109555880470887818026107392732921952529863520499493465846073102739916677931483849768864573469209302541721804832673713972074110547822579803524467240410248096824629567727516626857255450203915889986150339720881664317626853723733860021670312867154041985398438550969645393663986085894211217373756756495841823442411342128978407818135879809191402515913739387110449029939589935984177796774242555139182457434039477190565121812125282810144167039950997115004136261832472668235215536690527683492862322993662524729118226987037578178265176949333153401990834064715084835437098670868199374842537733097357644674352518142520654455873601068556452390584419475584079293927143836025621002295793259468303168803076852227331667098793027813816144216124451708617925161315160157073761185500328120546551708554633037412133785189505298016837395873382538290640056866718057410679181167966492951315237974268896038017223579579860762557606040002321942769975078445360316275823567161609524229170987130604279613498059516740315243491085249416961540596842666881159198909527274909911464890162248705535846010454480389076247640135539236658148624464395204428749772772298450350405070460053062269717822647204360401988998220125464517218705010031079634640873033987029502510068327042072438000680216385048218944136342034876196417007584965680512747963986204975093721784639652316670321316218023341151951430300749739255164446704215250574712064860356146019352276711301645378338249639776245836673626443864265973802215646080330794678235820870628477679050092526383956945886938661026007130633620819148507958432423819357094968397367784458848212017563616215680394826479292576375581287002919349089544938400362932420003564774613518661437948103681535410971276769175237959339361488504095431159086521315669768852179637156218077348892304688603973763651253563819645455472033033149904079520810221954129477797073313021655557096119534329516708585195995188705768849186948347534083875348962852810598790522614931460314708929291395378551226242111952411918117933894913130398860874183713260067974849442249262939728826018782183676454617937029322886959236505299693721418310133986128978548622180429007799657587144227930185203842760914323026429374564303666305489440909151205639019863339996386818199981310934534157479604421471739627083254852729299786260195754089841051755391779028092030250059327721169460832491291483582511114781571429942196406800537929633260655545233808661567810232008647967801977503360853558071811295349135071548495005511460751928855424825758445942397489756698779656240638803932499368538852572312029895955863227672072387219191019186097359706573441961454015499076263289732352013946691764478801986533649546902715564043722041247931426992396027872258225655610447588594516236174157377957137292785999427756238381527978133187529617758741268534547481332318402155546717091131359607337368222456826508003098803411682454814092272108885883525155841226790004995581507965094949808833545256183098137701406041701807519270353148243814331083401756490799374055089310222418423670966779339777153458045406917110771687668089611955609945914707798340848431760882846300162818157125012550132898468383657783146107729183390414774579698978606545285040500933431459436911412005095032405671144850170416980303826130095838645764937752977957482291677328097935736605809949824465870615650391624385973447370987031527106028741795978678765930733614290072829869177342661368939645399985064669186258473669920945944888817237838454157709880378040973536961482606497297938064767698792431922708175019115297988134654025219340332151965101252113098570241135213432954105316910957864885651337994376453651213252694210278665766155853906314287477853523151411522454901629820923955922430583766140103385646363745931375160985568275889788791683120177791378487024331770727579974198889864454546764675433731745944445845442169324198082062153974314570291188969909787453701866911588215573273531540753108558491418624
16379244062551132366636122386630443973004615400185222271893905977516179475629688647100865101350451438209324823536171187271970039187518980079790206923227398317211034521151743702313896717513325042445765322831897049590442552266321207960592005987435021377994822597133230966843308427219464418351354769897944350620241943475736117531867282920058838524394184615678473578766094394553388940176014927250397766094190955699836681458291775529638338168547738944442680088364383642926301153606003724011240548893904801756287361964936755547625887948099971567457724560590047876465197290265896097395828364460401220299128954860459630845466920086838629725371461187222128849081711110847472532381430480347111650222912313143492598872854211886880454153708648743294432963031694465800843126106647450649776743530593771197423101477841062915076359809444146660984143290435645406192089858869242927123975022128147289445085586156606285202245260864126578303831534746681169947588605107217314909307701106243415945884480249920274757833968106950842389358341002868268971806918256144131459074868616542606661160615269179373420506682952503150406396910562616950512725977907664414283330744642645354323495249118006769939521673641439767686539093637363306812463433008027753554340630915268307008333808213224191133624847152655456731552507089701975302387228218412864100620820577921768195103056758236123508857857536767946118537411720773600687251789205429956580127259678692202227866203746192288093075805214923828298351913937648824974256609920594145606529781729141619264122765678437983915622776763445748263586718256612773770732648173490606880239719831621037388337454818012433622030516172551147467301632812569351257916380938444487077624618161316898108544157746763254364041493701158691683150493853482902191275289529495098207490582684046122329799317558032103379353734008248476295587429723275189649102238485413104910787741451049713493800762531806442438619022181561857810285322750575833092174964072388855631333636358981287218458848530651263098273584822023951208056855931923964312744542676376648674745496885026065087220072113408846244069212253104690316905519429405804390654594100137699698131793834653304714347471911747717097378176322226870247423791094427229830948686994555693935750135235838035528279301982389790866757080598195560322524455154718872380037277950576982600992407401059143353702951328130512205767699048947473236441060029514367157160695962985973889070398248622270115059534225639221718820934934069335068004302049439716874420767651075284252133943950268062671315637037815653312086249961526950192852467394666369484729039796306427415510755757820124905799113450108939205474569214584969870600792277544740990273501129265458519265518105611586194410309774736328459133139658792138002524784989668799440248248458210234928268965389328167158835194267736488335076919719519368008703816162083599608059828041223622458277061267377202434800570608255292417260494731040576417920957633788090399683405053132703431224879202229992166428833419262640076523555858451586920499190708198455130138530698296188431649325802762167009359727690507929087593721389552190454653533010513253444939735897142435690391319861182405744593465472736962363699044321325775046235309960828424593760752658831107500832043221875958350158378628706298155447679285498597336714465674913585274768556046593314021709977231694556377490596229482884080473786316306964729054682662462471551214387275885821686169032135962856848729443099141374379214873681818513627153684175897229050704352676556720830042377221802926737064626732631492931962159057070972187505093644236573297531370172015877362625525810804348916206821607088437229140522796656066621923083346346299777006360176075237912036854735893819656312400510119129132564373268703186950228961264628650730374300776470064013625966462978671023584158069452169047918540713455857318867261079866165948502555407556176615630866365907675694302648676517373566345714027907926603789485333586481080043620437664512883279037324540785221027191399226118396120681672092339743088510956707753549673048253259735717525443399928509231516970164125996060339086178324781966972983158849343219473123447924800154236835274993694772766421963545604507205737793241948401114655595636122753566883618813883289679091268518988611327481806034305908506837859524668754146308453768081241564770241403604350262568156495839713941696787533571857879381066118792512428366821485549498326986989753888848854634814465510127065056653164464270335219684106293113321602249729495565414403421445965304623881122003448463221138303893778000269471494627139517771989674772581023698192648516841938959816194829507192888168495490729860178659056113274751617379494625894218272394854517718438785040176810269779565691724388709743588544596465647050366973343842783384318977288781996360937028310001215838754979988902884771159254102834040795007399987515461227416416742021164003070589930535893595364674424134871640708380797965113516429652894545750122738082257180689156542345750529450555131527243063632838001178423403765889649446532936648278055414110815666182607883550294076893062165746932537533658708212041683682532110877477311460644542024039109187175960166782115216300721487973337318643361727595668422590420859664352947296888329743046982095083839661742459722823995571302137388997749975775771314372707615905382802631041901502206518391851530002630471769715813678871829821997000985595389376123532113005887714744807271416156443448374835675033122486184010085095871867946469755833299179766429901270764142641953394974159288987435448956022722568254786958373678826246106251560031714785840159459407316928982298128556418847878803077044190263950520126054452700699937314564195682248828805431937913341114123476851854623948743573494532233834640273634918452535583604329568757850842453694309530471637453865426409730741832727593481390781912770648228483800561878655542260287375757781697551538885837868772422184404255600745600947352575064218738819258202828852721588595265649029640916583251983008546851531672765920680500742084704755929595279584379063886665916492259660244853755775861410877626178805575138278912768452745299174452920272361649772294102417259821456123265194253957247254355464301868095360289494920318557126645738145097913386214458757827233877459827254524670753990574461067221939627160659147760892985826293641620358819620369511279262263726643360288382349538540430655954797906827477341940881017158499455184152382843107897628924800303111579740925382195760587072346510890581518869838264138519455596574831698139234759115969872441121403923668645491697836507569582698000736801964292846536668830358999699817526768826469879236648475865011729571602589843849075039867098171633871654464173754814659928912697987386136397834771272452766237388604443015590190239272002343107967082313334138129013498830313314291323968457905944521870463740596454449082518009395691619912260332742612439182403240534968665935265436572161288691299591797693172910650009769253796890434670322098159303584639790619939524472312753751644682939089102699037668450084502864736094928083233770647956488321616853002788602313102508643902129442751268069943429464819086122275086105177760854258854128038544041643428153730801553422836295343033744491681797446217526440064048852502027523827344184937718230437040156589489712919028131866327882181528602188941834537808195898983116017093884754296976681295970718889749375854237455679616295990158129853977326551927407489773117264586521681330176
17587079395464822960617306795707806125503782500213370500068786538782725539673985436490175205901978590486303729832206580597650693950558107705493602319083614635896706799668439863703036482010370375380593478813469983407460239037655067605489380628767400935887154278002252589351617512837198972863682743501319060885474115708941798581345554488508023464504480284231343218000113864563931506006021149037069402091501952577445834851133190981392435285425268645281717981528854469391451298246214615970622023472102524320154395504379415946349939795012480805190196212577556523123067610969960720612278398046647982055812549603083589502378312905704348674980971812713094123576017213202431342709136227697103816441999873706752916844238825557501500512951500866200272218771376185519702918963613652185641265791319955688559745080554158476532847681072850461888623651749731653061915459434163478069196014390317232309422145115903582322923035295603088354834898307620817365977773249439235275102445563064623225724687116841371673057803204315224585486143258033764357510564984171098919762830780886815050069148996090911399711964757610438083110960015469190656852126730759291772475206547872250936436074843302980399210371543292258141880746649489271607486112491341526744060192156270981416520326431733523908742971113413476554490267314269530577588213981542899084464719419714453511115144031563982279090316108261361530052080673302424692977389688701872282586645959520619154725921238392140471792696861741023418135200265302071599315045380195253067276874144170396222972716179490598320443462417927054265588435643029499770285831466154072678455546329253745562125655063810258531997973018776567814833435574346465346171829308324215277473087091835932417090353923553306837021873458366644521319641336739520151673526265528168548370068713990499090525848788716616533103842295227549982844809942541317387772957513810464660412586782490526081511043453492707518993796918326688374044408410631992074711506050221277882860850256645286119815890490241207147044170217818712741825971984049257270477231699378504459028412561114205414294399320463149423842425146891779843829270467797627642608672423061492325036281704412593811611253460308760783974828662021491401280152750725249993950054823939308876158089016375402436711421292018029924250288686421512049409436762434044236564448014647511150405851732964344116482484113250078685875272497099925193087407064584250425535420344405996090066823079882081800364714148028285494307205805492927578386103322412339774784134001145771274204776869474594901644764592706136563071131279009877325230560103249595441990899336654651836054124779020283180260568253502905381191374734082712951843938675936004432503835361403553210672496551024409195919344621930414438772726836078207895690679240014797866862333312323845427348028059730096339704599208433721336260214959938294608992883441636323883643844862109799570237775662593349038360005761148827137762652695649897940989835337530348215232948364281525896294460348782096656287007161791223890821902446419692755711344021544860965417103324668543058846846415828113442822539082549291264975538175765583521975073822752711930143875592275995286003475061513423140907865755177608240617563236637179796358386050545281174351129579506163075883479606703928220647088157669719341718226692578280653765332540967104095309530547315333983875646551758183575637585338292474529348486103457681252078840757733630534949045608652033393045892137983373909005644315776272159805046155045406458988852775347827557449080127665295463508496115434727123194140713774899540608156564917505774064989258853385300001028105719521916305841513052140512420335793637749919726850899995066075289209900009899658213602435059987116904403959341668188095930037553844172091207950954202070551842085907714117891033918451582815387506083721546697959200902997890674268397309084353581044282525779706701431823911970432461733633362429959115600992397954950660817431994908244015611047294106396656627527008301572363363532637816502685617979646602164555090575262715798772171549148099368331368413435095122575093718362647998971849869830982226375645304451607640653619878695704175529679103889951943932445740836159271413809483445091118890749710041381344549526733932390136885702808122860939759983147833322052610161997375738089832774109199758273601072864802015559225297941013145626455225264811280160382859395738301237907914475397925456872972377260242976307975903958802609923662435896538098428925305697432147237612567875052994977376575898227052075007972845615231503627561749899149287189061957779171492260414814156950985714976609499477933573484599921864758258409703740974422312861868367552055159498340785185982414792008659805855558855379938069636779481383361541575042943759966838485087336180514367817201253827577129400315551671871355510953887126720342936922462102368083253046360094856506532521655756092428566527382120121942083260156832769643686556783461336726697500089450093636475498229466676433388237012317087230272522799859412141204784738621872836471541681834495003874821179440865872798525679520422551534688505960072357859552822794501665256339162749081416201313065672152728926368574768536404945973472878431972602928891223012485275887392426880364146571441298783650361410336744702612717872470663431322891721031571435697879055161041590885432506101428491320937141915286930339407567082756208562215167555995165741195988815288655160802991114709103420341515997569281054138846882657610845893410336198730633788405236674359129569989281301220110336158610208394167217242546227823912052044298733915883859445415565976483673199447871298931995782190394866438271531256267955660629364546882241382617272925898417966171276768825821236950781863408230122925641813134196132161701558007112297094784401161796616449316814964217325455188177896166363453669199579980178803722058084346029119839048227804564722514564769763812468614270049610333902122805697286480983973237180289762106797321186481920551145754769909032414281105902458135753630467837132832087214103953075509450796520188039384447133318451082721137965081190453030569472929558340023966486955774020848390344652016735340395343002772815372174614152254193951369772212130738513958373884910628183854735319563179443781582190212793877743810177907929401802188380458307402998232228389294700634135872068085366094359066750469930681913046394513662546594983636428215079073536830002917960310270421166028317574454273283530742502112438035447904979828886990236298780506542667326773097830372162563688864491990556321087668911753267940053039336217382118363977028854440728181865011828491553533070152287085066583910434872793618912497523659928560107612618662122117672291607303422058381014019770708397218410446259670147621734010430673737119088123896956706234173579257131458063871304022916228021022403895077536996114901554682484578651465266910396091355999628553899848090778013921379057706105129641899602972802724195527991144178575789148769741586596627310506473428730515256390992060851064488345077673540867163231955776593733711753804858919214030588029166300987060114959846717240252713934461643087578372354110934081306730279238945343850155734017530370189362944737984330624783887700199590035821578546503399863264954269687015031758504048366017500148740522598491710633997132576006210818899147519814897644303578913630617463424395651620422524798046532369226723450737398002995324627579460202283551270749732590483790550361276596276397838468266510165233660248277843022395927009924481024
18883982708919216333570307164790895120236804340678384829931650983619210460660929487926396883664766056957712813888036707795724466237338028385685155374423470387660825834669193214486809786532358273776723136143680615753176092271767756973561479968962975952638780092631541771399128765584157440173577212364430474841136032106106219918574588050781992153411839916562600904865471893144564779869972103549638743416318721460068191974258520951300663523174488570874800859340390506594929086986058482847755221897506177578526940590489754066288470497786887242529909948210917282601260793078208033358582203914405841338527436812905449416750942037413727351006051839475144072932194125159375511155277034591967571383794134601658518049653320445729478043513480163611460241480104504430088200146114712529112039340440692588633316615769249053377441064989332731827533244679297656669236290346636700856202526704989472958550666482743003891549536929917239270153582927679289538915849792311291461453641685745715572262389266666555538891017270034473917389535388606476794819582145374406882190571570072753129411899369190424076149118113460349668798625801400956991692160654164638852725721273489094039474579061648656358484392500612324222341883697904499164253550481122235133111971891664896624444639035884965443721287350495897181799615016271346990003342401444174797201077893372418872187979026474223905054113078821135798001551917146893593460182395105540536919628670617899776804748890591515737446910878204882300615204611470730270027133977173624504599465556579960207257434972800546431444299825500445546079907320653107969154289679824868262793423818489421318708706185410463386059065913483938173958947369785261308751331418936701295402618644898769582267325394681684244415537135083788949081358575936490580542688744860124020506309807965492812131565997544770455363476007485976013630954936637649327310250698753353514758951524389668737481240473896518942142914147769677402626037343832936163054276780151630517553867692761177639292996799175847962029043538247141920740260248725948407447484115361295044229300971195278393855143999338462587141114665807047620119676016682357967847456045756546433246457983473807327850579669398240407364802497646435704410867149562347251359920831556592377985376612797290481128566059723876091751086806684798380770866752108585338265397904800797339697117580026695778595570955812162056315238127533108387089224652957178853587178417209202438285218895677884217240812034542497270250160777933365277116197557659485789884465248650678537851441265342661451353150133822904169225087541267518593209302825804848937145394445139955920529704902948835794969503351792704013299842000041487171781334877243670306628753067949150424508542713330658198548810451236153600563764034424363952570111666972422848556070927670567467854731131657774591490139975252580130703760549716231380909385469641983951478505748614804678821525353655791166717318554626449986361969984505638280572270160779491747979370561561462065390448695996964642265912137402771847723486391968743169037084947185074310833361444626065619428752207179140998575192822807762572762101676228170247309859848977149608819245560879507489808772982887935163802220791911542516238133236142149060757801995608646402740643891159300560340577804369078515602678898705084035544608022934490331957900630504573075295525174458085015015823317664142439431942844093818646616185000365303374417738267014450556738283978893224516758005139945527582729730553916846444789489742922641534096071974669438595972840083401487212486538058483798454200749356121322558149364099292097059375073461341642080597891120110544294822209608079525160910506009753085194063362467136743838681557565555487277067250060232152116321435940936344639488899005499453139552983519620867471698911607882513652614869792844069787881236049146270259567889455167402200741538792212925583971419744002029295780430018885947585530681688722797373030836433590282592376114761208736641959290396124066796154742538502993451505950309612622970956348032937483571731102767797740967248439623185861885371356657785142527284706125651955885984203886481427460166298378904507807754360753384142397653807145482495550370022546448941242374853542829941843954450387303920376181293629327278259264212715762721556238427363812868749059303997708229923318726992123629055507026209421585438951438126899392927656230169346975184503985915581397852702032849771605878818696661029416064114832864773535235393804679831893092565792099318385891150680035483206923671163339836753261162045577793369076887320770009344371674683219394818587308499685549505573680196928801305163442944192356013323013703898634133499751558601201023246121908359359659188937290695959003734833645915006915898834617826344664902238443311156211334491073149766690558248572859909648422978846627721398759684078743334820162996641404367580431509852244812038342497717971046783361612816623604721194902120664144140183833564953348730402363242286306698199994400216319700804100109749659708999926648202632136064971122775212985729006889544998331579437560886666622398040947639097955735590435661402964700096983771716995223379040172831534156501042329849057163976555168248657257092178224102076522586895404095016714904471963042308828523822726464885720438994188711205717253984049539238740489494938674952539369620013411537186074130238957276511216149467042065996420158841010328917331492039871398134092972011639678867616984163545935962138090155219405439688201041497037151773323970478257208638268877878065815532626564821174697828199278466173218803015837067966877577628251355731797813080138249581920367395073121432490403129421299169666057378378166143795298876530271375379752525359984145711117014167863633261468716242071868801922856805378911721050493838198562855383703790215218063317840453549205766655384397466153702189705849627951072554660636519651154293094230546840840678842642452336049243829075497170413314378861401977942272738457148946013078638449086941515610328016498824778585318300442564767742793157416342055610999057100907927427493839558231640102160924838415769561981925745128429993622102595531745979418765004477564676130645094682921356476902919835334009046337631924993546513517774098444713835257903983117990853064991179205341518525000246424671745136624619954310638824908946848024941686305873932431007938216633177864860443587336227550878245041723615701382719028584504068723665978511056025909367956059452548045787200052768614292533069268810150020152324786193643590070767549274550098514248429959797528118773334979403281214048955913273113613801136277120590856267817977883941522506095859192389636692491036969439392946628346665987450094847839641609447683442340189024685868122407864480558172496201412558947512201945709938402666644043146187369856281800913710124160896789280682482824608474492506303165259195635895308905206732333095775965015543695061674506786905202314902247038942016754577837449746520893019469875157854206150949562839429687200916560631435143172637455857091472587740976057270442609447246390385930647092142628820668155979541849982229589221178928234635500929961195280939061106893393274454248258806052873506054505341973400528041907662521793680974497248474511185023472969115287087081829391383462592810323429315794064403911850225628920037617709025028277542930727440013304329971124338967828032449677657423563873068581037427339715303008543507538347876750157329089290302535349306652335719218310307978880991454331023226573848742932531741182144025653075517807178356963147776
20276522038259380414658374047362844304995765604691126324664740722482685161469946673901475367614121710531062447652313066407536207779105751503409354221456860042456922225064021958731490364132305007906510068945915950432258431109080215077180623278013769187854501349797080621554291552769201635315147672609018930777107513345733054113115409653695260881158116815205934905774302265165778082423742329294505978896906055345881563614822505333791789623783641628358261950344918339423523187011065097943621406265753024164435420422772105584447999222463880271076395882347735859733401228659481668389896901684994067955085051477533843996281892656970891848507926337156596399533003148270712152048799510348090355846485318127686330595771678863054062765010115559463987746990327870297378984505766277944244414221764546223942419050185580641683766929574148668015398399562587360910951539083791283442681262737624106595312869025596137521751497969484696662979136892901620436539623538506347269616858915095039438746221657788569744126143820742316566938265046674867211883251883692148808601457433252461757876440875978975350857868979138354805053632356689725315605093427303772518026983331911782678052962523286836725508229479139398127376755753383841910432082892076266318784531495192996498302629705412724249718264427349591944501978230068985795983098636223208480921515471995778551115143470760177464797206195955662121497881910348002402975850716293311768618021430191958913395523965645710546850951189529152167167886121653793242750947366142781940259726536147341674788016265256249113495693449035730113460515736229021022068662738239530049051522226069876171454771504202713144832277605680469969609909449953228965975281760197601789468770558150013146619436024887031539990800657364601939017661081724089904110725522770380190644658496713957981157037002180101350403289311258229539296350416527114015778481599176700329054087530125743396938884312224272636187083105701618946187263727459292026993460560920858748492353914680058474802476453573236687495747949732899928762510469701693519142556778239063359792930299056189682805812709632335611672659406656809743682160024441569473017460808330461627174746036714527736430847413676983637394386067222639580352849338592755539396587874171172259162515729551904423464824099472407651106803301792070806441156992470028267168745342386586492180730637920330294002308516415174287731514506051744419942882129612008216144925896707642015669618369284437115880961761210812024473428569991430583109011425505641442932626465350793112070259585277897291790418692836849215640950163120260686226470829948052765814957184724044205389164388674025925167044553328011677132692608036354511501091840246434647494196610025316716062176956593570049230353886940570621813503422628415340472481189178649867107871364150367184049400372335803033647477775043020250248014256311548965343682332892480475039258259312145849241558803696614275514141717233648047001076775396335785665893126256144731268317661142908566199147655018202313450107991438590866430466526151697241309419914833445356089756477604066696149118232980556750563308942713315786236511771906692961529020007425089155294463214842665416328933313848012290374735328357824108039082799330293855777969136995667978649777570627844858224314072877169534542432899981908170398948251910713481546841714208730334209106539860542415570157517970427722311463833281044460742873910213681511560657224778695175149980530126788393865259005566486047322531783991205045956182012595048211718474513316844795095876365611825003847970950361812426661893075808534448879644272414013405318427678514968254776334621860898912755193100289634483329940223675239485900988787036547386766697375600548482086982450337780876824438797520146961097432845916768845066147068999650027524257728662542987063592660890893641622891490784869871305379075421812664365834015317463712909737399794351995752714431982951808456110164412616681700538720448884899413377957733593326673003403679938012001029439542594418080054632296822522258968161265105688280589123426594849252863822153460031810719415084762737346650122661504302184215116258456863202648564693169335320408659292703230732532204934608132326191883945210892456401334811083877341574931781217907071668376233451651057900659347058194999567576511941285287535358669726617675630053880859095559511566920139134191557821800097626634300626998450023492046372266680150829964080621682079731910318116434922337561585677081070580013195222432902584594448726912823499996640140123323592103700718247308878083178270986007722188046062917922686108294615184686085731703065352556981541043010311539775845017030552602821035601115325612682742079296475290957338808139687929547887133497250099463091301349674849829282019202235744798287803841469907225918995547911494457400867996282372888030291465823668054520373627957644527991047399567378996095823314972587031436410069352356030997303206854790825662543386220479901147345431140690317761683052884348679504078057110108528718521199799320890455107300551379418275875985133285149827288613038627062087520560476413591741144693532706204136104029465716089748331941806062950298038545406729919730649153336283928453439591940128780992382480444407550030269690200316772015711353909270710472641767059465415719700912170236083521104619168564784652948291611682736167603387408400819064001991541939225584786998375827724558824316156574535461475532995757931184353358938018089315109144927587773347863141727517006330977575728361940853714604246047544403381135227638362049979221942353868699531895752754257501321594245567101787260204633933438615878702278258412709535942020295738318680133834886917920348430277013810498310764377815244169248635633226936559870035739761436488296700673946465342973498365682495736449928085754518346327581401595864645500334911473639870822356448854453527553002985906027597651557611242254372429711241401708193897115751142576022852268565466431015044068802992943696896454055131760585103759143717552758077673750211614595811537779500954283087698942246199663562033809030052056863036018995457805817777527453679846154004606759535608104807641391177845771195735108462426488126261492678952063955014917318522647069422983201821653415416883982596627857333249976705785319619303854272643963554196476518224262448633048301994462949222517351683747704898122523217739207015539531678202915504271759059633019271227077720051831833536886770459733206101426116007826428431380131183700512668160416927377010556792351993973767972885608494237438065299558068799174169244512942969343347481602357860347613458821842063639468032693966728708073095030685032418968083615420892653139217286039965455599241683425950892339241234651251952953391870985064777675679299344674177937792420809271979442938235406928838846521925155246638771091975323787787997983657072943775487441192292162382154859068856920119872418034051371150075487222177411671971248692161117292200100298967533266337681324834451265046663238592602935211851454861602284203762367888888742712881111206995671273893508755205970990405236946217522338059194700189772684253566717119401833022622743690230070175699905763171068061837129959235274638832239609308262842462281081995727186761230773060002857315505348672544023166890327960889007839925965023475790721429782796481608148341787503235124380524677587086735975530292915054109948880848076094024613649162680219044013377093106193367583399128241122823302828309817789002014289013820364287245429243101805579087769619936483740714811242335436097700024169298933393783783424
21771749757736824911545158886489642833874165672657512936459934891845636173694475062817703357513057573623623001200099149743461055086779998708161502220409188839300413111366381454744403189821845356513870542904353549967826756258442133099284223215991363624881890925941579376462758726898194814927069476816562825583141158823951752140507242284065957758690563581564291481351367446526434220600891429562691482959669415823731821003751550313355325026865721143395730312033150046903664895327554146448722697929234680899836964254954171786565780718278948576383183758058147304300350388984672921511531042387194203955272973248621084674299168639668131728323632503716162791666399548621936911919843323251465413603414209475642185513770889149957915563912444859269642665767045157811143133242489221797543967628289004361028245501918612896700618334151825934042024337633013355063871407151437341519045578502519741642021669838216699389960293104486794534993931721329878580085731626509139552855825872644808780311304315942202683409218952170184024569710806612117055045317352647043716227155793438856540392495992801822778881168202413035036737451624497444262436788680323564105587365964024554939824192748357650540837393647941707295551702057840860585034989312657165344241468310633975292113078523886441208701520732336666340145260876362564454408984202830220345436937223744968181774451384315723617615047970949534069464845334553668574927672976064487097436580289725402633802367936308138580351777786380001549148398958488829852990277002650146524968737804664048582638099397997912750523248900112475893198821118599251913970350181798147543771390944996809191791983088425844877880985930397700586346168741267616784615932976108503545849861690145493181675132671213510639695251241059066719034760178104237358379835520782821559076263350118743248946914541156354000486891000670115120534742972784983148757951612250427109619936139252870664385113657932675997452807019155641127032070400291179106812615578755225992252537342402106363161069106976778478415402395790464282318928054556593135133107831089975399995629241613458588505894776643006409057557002234440636202254980903775387380487152185264262324619776198627979013849351827206957634002703179823637102663012417778926057796123388836989771360351877752558324788628406660428970974596075440576445278857765122416921327939725677893247899452813259016564495006626363180986737208010459091851292233666602114306438980675699132644132609219377083619323248356749751679231832276310338676853518859267565224470250016433396000956943249772984971704392970334211215283157241846240584302466031216002014396974007500161751192000530693538312149923379684528497756450984272351489811330537723347897215697463200256882291982783548731332369978729058079066845352843277561908502973874372570165763403300183470470946861898124289853376159174154241970239279949966098313438254996547181153039634960888469518660366484460554814993065256949488160973906778099909417369139975335134960033238887000568535897550344567305244938687724248940910789496961067096579344687735188272852144627978405724140807987472199961885360371624507201401586245364564458320131771705108772968496189406067437150748240385529175441385954988168982437057828239935703159029520173434415493805225880230963258796393760000943976822907424183645884669503688220978817496163653768825777815653520187518923666933312879840614876672457220583903149827354850615978217175172654153705539567982824721290913614869384881722645594040690506002994698279798040218532998426341220211152543690531855600527346940505934949807302511626053906863997532975636987059836340747625185638248911271872861377904977207058423987609580019629228149983596169945729307102533346022556507862881678254793792242225649274756814585692182331887698154519938075915546697820215987408070387698001603746165829469425367218082989454850699622470418888217426153513783016204736817559847148498611715762351881342924421963867477411770662176978338263404656098526225504953212919240292163056161496438902039524454625073834720729287175189182633083545775037622667782467539887505326256205825022996387364011126322939727527720530351484625642447803218254341716857441985865227936729158636441327059730804209716087897873734938283440484480595701020024625622721783578112915332983368815191393445542580482526472044381654403251923953060250413928256280624060981103789000384936197659373397192721250208159576760745781207970239454815978761077888031720717241303720456106182203190538796757676309852993876456377927633058727659606360975517844425460405682210100277850593509067272899721637782934560979224018045736423813852754363527164379727696615481006311910506157715885013545350015683463678037894564263531826067468820781681074589733535062619363908611633497712058573694105025869042355862367449255498301511460283841792925765138999231237424444738630228726290481934334167218205000392109133276287878365263420444884409312404285365343999514555213290375991071222412569158513929012182700188479784100464181335655191246878571103009754342295598015474810479887666160338525604101615574243446638974528039081728963285216684852267739672521640152303886511837251367329005886960810607357190719481726523609576097657294658022493368873032367603056161942065804049863172670273061013511939789930168133090830567216280880115335423905612812120841913230904474928384875471137874396576556658287546298477561616525513011298357420530237305292354055886634246166200204033628443674633156300874621368843409865669478904447636338589235118407451906515070079917068930483865830891885691740209473234731015823123787446432086252942674005633147010143606081904578430591081726300176435594081533210241177634157646549061869565409294394734332485867727137378156634139803854034825306975717149718828941976927969067466884945427240955658020215316643000456584602815921393371143641197995682764184365296721585936341115724653460135974472830834734970959662836060532021789048863589876907140024234901716289373170980617572231963239274552146229139442091703335606264461663198214210305083821284519257595766351068013213881512133818253954324273521440291366386493239405340036501197626754395276381283652826606357450060635559622371268799696049630488610645342260965554727869687451782215605836027440440454306096938922729272447551051288802649955590463637484998605163068556731813123812255297645297179013088259379535674638364378882882914513149318215287483161172194903251272713206803479147539315560894545867542045672796202266850917475619259430631358975807952400237321778587186342762178288029375510702007161522171670383749322313588452166483814511469078319568583573082679041922299006543805089902494644882245192120778178611080074764510070447275847737174538276131139638371317392456504625792453123251319151004805177153661266507972186009083941416055926890073880280267693150541331594904521177119143427057371004534108787172813368383031387629467260261298246278692583204876667996344486178099745658480199370311630920168668562127207560150504203514192559574427933595672642546373633734819672574828786928805617783792336028424337352899668135800805345478549978654378073832126530104017290775414644745144713354329435840670188103701522736874340182785669719392582750377529459162456565413398155515077152683163939592405709267098349070290867817982715653773489144088353211437389370430732572316081864477075207868571892088784160547232331125038459800351661892205701452077633132101208573742589870669962359762639158131367131151072140183078007802386815901464487160957175379866156387121543495909875306725376
23377238296543896492491137561149198053552575635837464867698086593691576111583086472672395382586994542919643250796948650026393005361843634099618975080722212450670868458152053555497028934830726468149133638037990838283329442580943071392476214930361712746827933347389560357123905223491585562887134007011741881752235851525103649231344150615302907620123357591656815108453879266927515944244019539604611875262380356983588267971409700476289918254459648423585097019054563679828026696993777066666614632144737469193448903301737293450516480084428868385207883051304529784580141270507512210787200178485447218797162816713877608943040435256840858516642489626845879414204811850850095226217739911702250083875444385909894123844902731633977621780833337119491609423768929426838504675412865411313235418521395989541754422840749886911253245512040023071348786904942463602482640921216230975304370930200430735986713102819612583710235652405586273347917616075392203532279783553022410256153958881520028683902675184018852987861509296118582152957142096644205827185867456890087948069484659979205054155368323223720061120614224909773441722378316399648885687212162313176632914306921567244001875038960949116696073329542946942637199791653890599146305176528393011003395422080298323226524429748493054952299935542712987898146976838341378442594667539934106756031367051597418246320462985994490069057860138174851723697325733401546321534320249394990717626019444612202283153358603450616545311688441990345220505427544367496449975431883090821163587194073357731232346447579499580784939690228412763670719331382534481075142014886122674543470213152297957575774689749943519967916987087823564072989204719660474918446527013228493019231298121324544674271420329830787207709785871713025990634078913040208683315706276905336728709070764660849992711946098593346613672491231148714631812954774969330165956626298641514349462358176924895344412963777515943594705996362668181043628830978105060785259668677743452006453449314658950227822572748715297249057698798150023040303976759024367824143701685343234094106436533917771727770784892224734298505151376563180364335529696108704952932230856795971234950451718601986592483764324292162931515424786933234432100927458210800594094059138947658890635769807186499856996324926279825782751916705847706806155965156925359107528395126503211440732476842632310667830407082053883288439141329537817756361790059734211562097652286055425939160528890721093165909212666336181481079605450507227535040942443920768354788161655686381224596581813990475732469442463296779433839899393933338791492531755644055910940926281130893813359019932824035847812301740091162710173760991587619190001439135467441968378542947515568816702060746894584211973704891203380023619170747087864435461908904277293150345354779011986619118124622501568077165868809709770709430462078169923227141234515631369683993323200787198553921534783945533143783102636436347972093830528280322959992040717638427662823272257023155720348771645184107526824465233325201466843619335747018641267489725733491485075671455157334794850992001302169136367517324325416205534074571591058986442230264470995084005594992949920326633249778596348560043649760396978461622190437687827271552698919060868265636692283937371200030777023880485631827395642342626089643175126527365121110563693874600243465009998546518167391132649743857962754646959819266591730513134969282395647974453938013185920962414630050216911197219456286844658897742250814554135138476793280010055872980334488751435908597404511366162614848865779662075831441447353140327878474830988760606047493069655840590495551990155074926072010843524985337847021263850150643237475532121596941367218530309979082969895760915105483423226044418471861659249670928159581670379595672154000609581274655538393502530407239403161333330740973746028614234880624155860307498963078631266659193384959895667926665506390098205150437259602983238333628727290393429875596531735437107889324273085523783874565436001452828259624876180476308001732015427710395421707440505516249184876390631928492731499602723824053533879616982913643858734287716077677652821850463045279076052361486970977801305877112062959323388277863386095910661127430741607269874324988814801638520619799902041058423743696208187595129793288325707318535036974774221219366551085352356868203661348080903896735096137611934584458094998400122198788994722069643634151186714550888249930874619265031701247572789265704940525564016530147747173352646943142816767101892450060480936344985155854949617942088036996237423562203073908454142052880445315471578471223241037943129123292937717616554636645587225202354706299806549086048218448832558390896294157650552009879603734718689251342816260537612104870020952424659452845599713146748524192724316915517921826188293817322075844463541356944648083469900355844025054104338826011016934396443126943975971140442465008083308969077124263563193600972426213629267117358298622067181688788891266947570721623427167158609314013161284492231242659385517288395760306703230728897978104964939618770588034965814179179226222758942111497595428507133332330548576606412905509127874302340789172038598062257782652181372129725302965345693010528262921634598801144031298113118768526669973405947110711598875817795563851623170917764034711365588436225904724402104328201104079366245562392440610063011301909014679011745433200492883287230904924072051337457097221512592699360814228240362449481867777378208743891299679543541259991126754685486902803673385293768831097979362151475299833128889448634253933139261079293796910520290585359992154245921545531742096321715438013925490930620217476607629073880937552808436109136997316012663069955018158798067559222720482098973661233583084633466456047176475302296803423117472100901186163015745746222964992867085984237882973158953282265937429555340682265984136903459657484384488054312518474818931770274815404016648627486181070016121618208008245387573309282060425392180654799959639606058275190906501887914840754548892620524199715700298738929730614004016473592856329236958444144085411358138386201558835285539842758486133022517935735584078623628847423065978424095736388185677366179926975835366805555616393438734674621838786548235371641148812584770017181519707924056026410143956508139349223423118817174945249049542264502389308836847324298015567907499167743559267908558333783007785020924839206853846318533500525093400102056909424829802066492751466258517399501402281438866344899150575316858282802683935999919415129606705350513201859026442104690073879225798973777299756364614577082660022477074452425818858233097280221801559733213132388582146094217802994789801258906087701413508426464580460061334970865538503518726259171117562826061994368235606030943681615376578420165546661071825185033824958575706892264051734555974101609674566536128686192495053166239353364429379180052802515212181249095567284586625676039189437353921215609757272610339762062032636704569549925165662592098000996328804674913175568421714643230071933207541579438164643102180616020524381263835293821353129436432323088406955512978582114210232678435524732095004963699661034846736452181156891574175068926086660778405562159974461305170094829624867757449540994601422746942588975522816467884518122820621423661106556098716417627194405040124404506457854881645696935539881979535686542274488294081373970767896180269281568241260353286388865184646574806954217089486182880376705798575015799419355761874032021051259590682715430739078265379634977136222993606051455864693325824
25101118488613696315914636348743251454158792243122079294578062180420339827486050796716983972548137359192584029540005097113676873718067763680913476008185215634098848321920253654025065075065921369155528656526668063993631184469765081117119630895942618424543075366576492176416313388674982730946497974821216517529838039294757974114719666253406066340534753085469835836582026143946533845761655841546696193756288763089329204916622231640705205579354399032738986692456609961102697391950793504211980395024179442172917634282007023838380819067914327138189046966686411390357407961972413566912920795500089654166992688843336629939258949058434211901385641167830573929092326186308597198772728673948772949964572643737449616184107752167249631986134115638689826655373239237300850563610338059809983633624567112836848318141094045099882785962017668333632128591500235483583321791083756145828614197765987184044035766786230358606381116883804192933955647686523346136129337670547483501319059034264315491585977890567938857574266851007322521210048748677933843913982110183404400880545737546091436918803962770058738493039801854966370741744195069008107477354680637134337059586349659437513226363754000569332430630501196936522490274542868468623806563106238699423637870697749396045389906378706794075814765784715073534246261130486424823625877617002440628031843059195713981495015215106210220700072706300757320732310556904714071704751503185512229606831068317373052170051738595157703287550996222431467455179973388996564510144985337693073847916147369120137921442423932264879256494715850897488679110270743015452516468122860512852064073959817198758886933585138459027331607196264121877912297807997646999639025161649234223240681122678789894521680736023191067762172344542574531742842808647731056964044825612585334418270808192015812564911710493303827228924073157626464018330486905078116452490626789708339713885888232651838119083935715899464460733278188698220548244553418232031195588959675922361465786438213451155547424811578256924905395788768213564938017519688433167942969485732318242264832814069106080992234024089029623592281712467060135642616203905926558439287708565188949667230577955631813837061795951594534990559294856502505343654001070948806402838687417528697761067992412560664626973087640365670374270783232988172259120456077481319972551114924268994229757581045778217810879422947054308411761724171721514695496062644081277888622431746922813011139319927563251237292626755714900689437045627972218657885454414503524751719829783554948057687421119362131609475174803337002616940899218477728387146729683170888571691741351022705906429629522837722271367280043858974702757484047338884889547819941794231740927026927703129643192370929393187486248529918438821526011479345566247197600349400542149034527470343447430275488403624145150036252726282478112165638352977003947850595454425783396109294457434764811137871111793122674458122885226373131454730690582597558370932825639354291171917342904640033403323982459464431664630227455187408176143348326672198436556090010338885073620246285370869601969959687601463639762786172771966089316124652202258194071594801088656595200793935314592173861396317639462601042013345814617470924759438285997153938249475245058568458494281638854086115377758724200324140250178622970443450369508923811055237566329090892688963916017575765903692092761923181725098691112394020546984489997875463474145752076806261186825302920314405117824548442721724851249519593871484842810330564598148940131395816670082074275116474401700132177948430626585539406878256230160867784191615363963536636780639239621327891931057795940193977226078474296346233116844813246014344580243015614089616458278541636225949943211414853270923256496898194996030678408133801842185830353829401142623428909724882766341436748084699555121416821808421596877004753085803371906863137494158191686072691535572541329276119069187702337356697523668738169777230179585619072239113073682125662367835110324415692857678459555226465448360105798784142565529404545900123865396362764499461407688891663412423091125683954207496541545735655072791363752423602039728624972463245482549709497342527569939437682072226334346732735333251009439352220013380927062646517964258784709543318965557332587394801121275081232128837762149802882293959609201514280262144686975419346363926939366688649649049771614793644884716975147424291550585784001432210763483914646438090300945187604940678315391882318925643485730625737846993039406515323958192368005769193179769710908292254500617882197240735212919452312740506036870359508214953806966708087850374343272708673112079831231996308147490068739875111437338574862798947029199921917227491883676247269694991734514057523626029980886514842087615580374671063477276226368066540036003935574022267286340829570859328512700623198105181500183075057182212521095691457355087967233725182237088305064510052544835546916412431003433000236373261096327702934375521623995102317059584459909955499004934927596038062131880557616871288322875216052425597705586326389539764520337117722308595834216769094396965187333816815109839487019310941267801399565973523258510612402638126435184174081771537103148784089394011424962893203668668233027503178248605452749067904846460409890933143103002114876949300389150328901903708632581000458346510614829732810800948132992553274195164984460730510244400103484846058868367386199850427762343705910502823092372263323980764303555959086927768562208903794518592975643697479922130665391195253344526974625586120537492283030881652733770709383670898127048124237293130126587621602134465672325705144860151808402062425222031294031939609764609352974104348646782626510412222563978541251830940795780958708715031912691111327540905591349884643958911098640979121096907598259890751674440088178269687542129251894280419713498237539231014508680623013117682260313786484537698251720743734653185777868746429273172133223644108596913382135740498384809492552042235691638815971622423018556991653853777895550589124668458864259541794038876320205283308757309312591681641388324836288027472388403477828044478215442811111588170091950305041389440830286694648131060563345433201540073661265837550703220270677506340879735208601780499688902248911927284999480205112868996310278323171275820143963626215681331323122522148238814589777451885948828575764401270755465394019651451292576240090526567599294567715016873962247477845858918745195944372077619542560434896242159094928076372376229929693664227034791372790526061681536052736654277100205690604700191242809720318881774665097960966010193696865053723971306414920731499965532803290834796331313985222151669670321039899640898263700335318853219707916071448494581016963492150171510427551679092500027290400570027027281410869138969713759747592453816371369187356712717803960588974399092495461959133305118912177411053253497694818502102938319977520588995715241422472766466770539395552361945933099601118046089891457376212924482693857671506442053807875576551908035381000176469368682229366689213471866061775799096844433023321470574701933623315639349182934645503397666792478432245871555607765792236801971011927827738062358612284179189024969804022012326274448125396357875230758252614374741642659735506105813297225909860160307843559910558470072255353311403794090321769472470377971281677876879745554749317803301451378740994062169553582891798443525244971202252951363796611574476652510028571468942156865228773257891273314065297357196659532800517985870397152271874723564747485312804446373625302027658011308870888062976
26952120750404193513632261861396278924079113968766952876432881795989952773064717517023547582462602935861988343151554953944136541732655742330344989715209032364790613993477992341015538315419979331157634679343214071675070272395846031050203990104416181306504888110677311345026982121311496900694993981896839097431416270736937100764483879691603475885150790913382009428152150677416837810025855012562604552257734907950240215423643722920841320085070969159836995287070087420490979348953287935459923512005502958342051104035727152157034501872596309497091807346831534602296739237000381981019425624127797257428795930313308723276992913170326233270996326474955890573590440983689956983091520247822856749856820965867151327989623777624602572912120388034513739443184281299447784120922392413596992920178190422947851327532150609341086404785058445916781202298840013744572277995937219260793226200101547804156066660550285603334189758481973110179753448682028957898790867330285566013316232853414644614046984553042091064852269504063338721280356430534362274115530450091697615931104386348165503547977506883150962456655568148350174378900644954808571193522853482254105207391043768826214265699942108058612042527547825232804870924409920355692212828892863846898524675998477589204675344866261867832157740899812754376955706891428795797358928126080974012394616696462545903472759883975894516101938624595991458144464153105323481550726668497153711792345594154964751925518511973535829895625803176890673580321582874972632706856743060947817065628182675171858166901156984011343904008400044104381531327212804739247245217872278103167350720938485021701937792277473428288556305763768164210947855960390595277100534218651143603065672139667491627456477081043203683399462531431500423369505936302697718566021393471019294333924076514049200820290418424039991234965799869779278985712546444266691622181694952084697112399471758787721018937914344688636770690926499832243517026386785357896031176590316687325282660843761774345092399635686893909288550701673900346438089378534214141449182383586561365197915476833614825454093090860214606426009998266224689962590134913905507268643377455566405720336353802654294861835171585780931709194960039374818348264793934818524797606891005463113506313862361081048547218362721878090934652273458497337051934199144346677833254664072018211730905380149921731091722958639237548541103576765529148409184746888274094124380318711256407629791665697141313258900841874432519890254990905750115483044759806097866721340797168763815131686548774560016910885929876053914476606894427048450581791507685642851998669045123983344505385323731496025567663326248211935496108678750640556607429114719525712222181681344249074553589845544611216344658471431943071457750029277446628578786287588375433693213364984679150232115740998237823840679668443520787396809115249884049020299242721249536367308334079094729322193243053655451128423078399108539072794305134937924983151880783474242785161625347661647529906020588969344918703416713267805916884672117748354199357684366009453317075377529783342042885378508171665753628572952474150004808442596667018330221380188309851318240530126352828214578060805289079947622635710567330129093018166026422017728464774916672034283452518260472895695378789101554768983743458610954092248488609985837159482149223519039377636379854894618939627356016564594893390935175034544628812603990028556275574636676801742981362205527010916004687865556864384366206787847847307356707517626474566270000351743857303532661867041036530808625791440478927419974765336990512293988020743446408631697867669065036977679984128880062243676020543961358095920882410154899714803079754649948733064875372421196541195968156521002171813503594999318237345653393907004826083173631075346567708164702662326959717620100669093806808058639712857583991707787235020141056625583371340206085545327205995021411212324688990785706082443737680354094195024806696110186795213035877692004908047430290979337783227441568339093743595157809219462220587582362748690721056621037719334138909478159210849234125010102238289810993009981699693851686974802874788334242944634977392685246346688705717059386282564403982294655677234186725251270095616941031057034466191994302048353513091323468963933164075150927934185661730807508074773494966361126850722434344895812129690679678325675514267661640451953642124274618558027711433767982167840597535651107126750182813594662951195346166126995916570156742120052417176139047655641430820372965393856007854289290622422072565653957482394794621161091363009390712191069886467484768177049524013186428440340087984354420655883071552047430638883686931183078742291128412505420061424158123729568837320348682047879059136525555771583546228321082317911098110357852284662051627891454429156292651132629087632644642374318670170927857631345827733172756926223961670369617992311489983597129035461485827561926066259201900299935595856514399147450486524889499943328986184534665770493260389014158277844006910758485676470297033935408525540904686477086963761276597261878054357181910715258804625580312314163937909811139339253300045947239721219199299608484565684290457272854494895400418651571528104882116496080824399320181808304778454744291129986449696840460078194137470510703833077355370183965330005179512069259889818331602638757702056949248818731051488582395796434442272852901607363608532173160339826832719169299262882024353114508499408804214265196067196772236045829366915223581251306195791958623475664866294494151678558135010824367503114134493547891396705970654836654329734364791543714897663464268388964328323627670529033819767486638935150846499857309874628082328309120800774847740275580600197709697858108364363062151162625420833404267823759794031784108608842632510445315034321743644354459256131465395939772720113030657154996159181075921195987561356076841767912254055917564242516283083704539646623561262840593526625091703855704439018326374398425344245076578163810570192731244970066361732106859371050996074416179008815335535386967628954381828474634378412851613802020408007564433986731028036392177828970644149291352968252497893691452109954415283160340992987891798302141938560579768216111039374227772647521096283383593333304394818350709714489786081971247516669587163528475446602479890097637910306930343165225452942090935165604590414728891270143539241155137969693863921814525850251613730439001714001612146260134484547477157877206886995724306652286261872886556338952666788379887000079563423389469028387215355150976289005070446318203335980125978369259273746324587382665185867434943073619887056187247129337334156695453586809142178996455992047417195046664031034677077717450549796020893475270155002734839519314359763043644022844485751460002439867922702649933149277700969426355012609794452258821917229485570880022035722408497529298269155918171749214213796956827452158596225813611509566262856356234360044250603334395747678163247876121405153119746421959169799719918605974467131897364590251664426541808985436575240914406837854843201303294158707030353242782465025863522517857155935611608939100021320342540587999870321148788281142511511824871162096123368766511858915518051364409054756466027907038787065211503710918220613683619106766802593308113876345525016328514032874858351149867062517500277861428853408421301305420612424360872573625256669787887105861359974855391157525425534556906746261276998072711532256621176310862964865175210598201926997239418720733456216010293286465884808509579907746979183856804526617291728411510999654729239677108224
28939619295207247480576473716301275718753465353127707012463089113202647776224367856773615032144185688140206375842288524684213164425073897133858639806069786952645307247436983600100054123140935933079498692123637799342856689610492567403006667906793780971161261624874570159025165112152395954322589705790934992310522621444356666748128715398658873681661824750377424812169287217892391038449327048348513926131923598170963030147136143775174766642711937595131122862218039282717439141691435878617932550681274644527589968348535433523419760471612976975075879916043492584589215377589158436996531449083319436293792892338389000006549627822579712387449081886518628264031406330791608661506226109830246235481974682731636808599600888060411153913753137155766557542785434570598153914757446192619397579027216589755357341305192813916609554415510983665290000365269469442282107875192694398572050386941624924457729796764852507444993392834553278443361435858132169275066913281762834092010580152834165136198585215683239608748578147832544730117397529092095442885597652209000365386315482131879926833483839751687069295564870683365818828318845628552552804167085683720274556871957617603293644667476475801259193451894772112705126742460474006415685385491623527552478628515614347855750814124529054027747978569484348143176404284812125165579709868783087007765194339440548386078569132134305349750892948709751131356456595257925299190307601557577165308283467506315591388213759192230201721482979524619586498723106902740278592742416600961452264865932571444230501597744727722679240181260374678319071839194617796875181467213457289530171340348203898998918269414547433002087646077490141752994671627799069525279713043308893752041666795032555213569846181613525345816857419118916595645545530024486464453718475448593948237300502993710750514520930088351905637576190529795765495523859558751631804846891997263015279955341822917215595677534691221741558235145160179808847984087603039683777317912952740586286685569954146606775918633359380959053978972731813611178665992382353538646239095860902062155539885093155327196519543646044560535306096580612936194266023226862982338278398114660351431277990425571358606380725125869390077850433964285429272934507074556179925171653983175157460988482088072111678922794915282986065811396909073718985286609717230041145019230857196102025160540053590352999664120911971483339813093489143288138044728476793750037059806282725784460100019865646745284367574189388752871878673760243541086975121467841409735881367277602494684695915077461037355365503801050224052451892153074438264066674650092174517612946083764182474832815326287028741773455343662160358162077623942832420036189589648786656344451785960773221483546502949120808772199772386445411206855372418945032836516141330799370541974939827122825001979118559461756482072594261251241366031188236714583561521905333200738187984604488534931198056476907333962175854443953802717997425972400813698184669741478182505158283735602851553606385095781498693093738376736258925673740237353060611016379639575274005919366214318180009943632542294643291419478540506659139012625924344540582533339087193283231616391288597036234679710399454005550242153331552101127622492791254345209509522104138776878101304839974393474126517769380814738884503327596994353391156421329417405789341802701517040071111314151403468020423129523442334650668279907351212750648362442939827422157033486401995187052567235582218784341313694339790007960344928602274679748610762951476359054162090921890881996691888047441086052234743430961487318566912167341241121627217982850448612647892521179041553446834729110758222763934540827431255238769238142309738656575308434147568392716214870406249989828778366270992737925125242923986793645497848335349630339545705043104267529064605811571931831496404549188501704242538487489520340734442934878441174206902206829339668841918024994175562837198963242091033274280934066833747667128765674472759611890454260183800079149004897674749716441839166754853063639149381032801037928008828439211480317530638378132449559219657238391391195767784296249789000435896551957801880815669623941031491639820620670182867236834573343361282529421927292325390929527885610784388667987620835759858296079006037343485540139340985808143830435345064381484250713102020872035414987390082371208674406095394953605144092721897034033712888057961863607400924717439688365696637339179924793896140486602585393881713972728607611098591924249882709394316470307391353819037084222287828266822909136585571494505640059965034664630899237948349312436698416407070011674642310852250595725576241252641199097511165579017919108708455329333481446683302160661794146639767581437804926117910466178085716288656815276793844295585799385688010354858593604855598538514339552775156452304944822470131700246828619666586469625493588645006701329072350036448760377247757231145311411699776474236491967338300305212318993777500613222847530350922273067597962257853052615639798789807011871076922767826421633731090619039595448399441584668055490675655034112482347751051652311207133510730241602700047726303360249647993189354672986027154559781136703433697843737948851035585934733302033053803387071482313241949756374860791165913036611498671592769722641359355793692909345252271088277526148992523378736677128423574403654182908100677238302054124590788376836753450742475780255583132856557571867130123208023723155328800325725592437018712358683998444909488787644407372024317421500589717052158776903289613147766271580667673576560816106440096451283429139652976522614783642066474286753528209953141461698792099365146837250715818594828359585858287635900803644516368440820802204460325625965780176315303571600654168340850952414721139994427098662468351781552182751872790760727251617207251623549564384212282838029253754639607023981524226672082805907459945611785861564037488341952323423396612147997257077245898111738202314521018530265291917156434530673872131857536428057288532429223278515949880647276218543983789321960467784035890456938419167742433157298809055210121516845124967779266441146440165841190875401411299491315025643559251180928417881751102422994061022272790149423581988216932854821864293604219147194006611001799920397376500839472039720530782137025620824104272926294051501974161360116757267904511786511175111213266887098582014974683916177901600566613493710550746169016922376144318585865018021131217364865911579923307938097408090868150897225961184593534867148465798687019241872379318575353892736931996393720617075937055486278201734378185295763992998121293875752310302654598617977204783810384485218193433088707678146807790663150989146436723233498368801798366772679325109967782302102246275125399231573815883881362690124695735799114673682828233641834348853183502921438422664911183695433468365497164863458396145796772057810208216963518518128746540489070389557734043848784623106309072528247393075525386363537374572049794770744270723614553795813531912634276980093110561635631524835929834780390915992282257735492674625956331586201398247178632253114269558832086905843389015185756035537843961810943487835753013270393765704383785114647834730154091169308379073509579014376946267136323708598938729662147806940344098916571048538621037359186584387586954485270208440868646369705290757065062780271437436304986905024135909471730305351435957389086211594153657750521821837714821739851308081528488744479837765271059257929051590908381144707297468214330696421900087895203030316184833668062967051617993159364436647221507370404688443365332344037031355483160576
31073679607901424367813587459629390323781256894588148232499708037084753504872696575779072159688316571778360361733328416828696067174590757643297748063528379313824773828903406095829518696680069157851922862686449284181744943272972138861747322682403016371831184455234024733767650849423678197964558155099581901308926533942925041860695875458932866180733163058638600806241507854119661389345834556466269530734292908928732907826752951393482399853719872179970265381246098185128674780608756805486261496077484279460006070938658704120067480326432818119287977839457506591107298410261431702765644759812086539500748980097657430088568609324737888764294971891955872922199035826909329248099893810525552923255549014958089009371274343218005694593298032175354955614191390556466718555464400792445007294285867686726977105424828272686512926853938017492802690481165106370468253232474168034997336377894606127911105002877442030434960785290121767420954788829569840670487105189209851413364824160602355242859077315707155103726744657860258225077842157020439624826069446413009681546568850423724161187171482369500180862634219357881340767972620158776444527802681382802094708476487506776055026432864064603935907873806348864360336362600687607553365728027918983195512658303374162347204368047556789612748661121511034714705245490535586772605859691897952504068501933745369563628259027247986039214481740376346626368745298769074461208346607217498146498865812709276034616819333896962023424313074419719687713264722476695337334439395563284229908566077554723538373061997338231332973519160605326021733450603863604199618848936773827406222278018005249635010276628099572846179384907110710147879056175914022017576653193319082572739423028498489974399196190445141967887623255152677978312318514883538861005846839410672484215680626920584441785870641959243456313166941758434431590640052798133812297112713853872193034439119367482616074704042615175709569196006985196240120405772945863618003440545681748902918295150797044973922985632658888958485488696638703809695007612547398393998867257529795830504250767924675010939307701246151496814457984540787497147226818120838224453982832211433566886301440090607526832173337835093628487958626964003387684143691458774856623325995260991358883648981600237877837658264167513878934470913357136777173725073480554708606647997455682826114185972169967163378663224575376803957276522822115238402701710548257262836592663995100643498018650552975771221300237796569600953736245470024838490947609567501592632536617548266816989695696740622115538882292238018600689688366352693434549434344896404533234668044853994610076395821223502589388732254935486354902753442515561962954415992355999299703770152832937578231286099208065410356407416984094606728705678928885317331713620735397974303503792040452265106789657862371948718863304450662487840426626579698177260720748946848426288380113044107438084112315666769494647523848959409461902158713790910623359372992777052392139293544986975739566770553710790841112176086847615589825789202271357668232455281968074017296415647075885977520237214143149207433158114437212478068069686519035393009531370052293410977664398450515892087619084300101512523623133359908429815805832193108291873184416409466288234221520715654133362202303996463367368335930328308066253927920881307561150149596026992175034173036152163964971912174800346289223166626961686661842187493229872095306218512111150118357509385044727416689299465704804716584598924315283306556185182289182077549849263694918298124957164096709838063190270267492687732605467190905336608777472359814884951441412562817585446742708169797809061931432133545395284648505234685637278014030358074481271444193971159856869325930485078733930691555820710477953765644673160828469059673675758509544664348774838841802857958246391954610070087559539740491813947198751545302256520290644669620928950560432737877027815723658217040629842471779641971102433345806124858585698176971143984788445518324072236796886614219119275743176825996089403888334198630790293913380136422007997885446828020338103304510779805175208441241790693804800943176358774480962537647709791837222274781744271214254280428594767962521794120833876456846458184327354586983559089958405609194672813403990644206278386841204259594470545994123498372331187959464589225377081157164044771847141422986095484382793902034846063548953915663789152249888805390375595774686407237559112380865952644907603942310001323901393321284736575738892171115302061100232931482244736480954176217189141303656668592891936274325697024010034514870608524926442170838880831231729402070549159466836733675005936508792789180716592469071109541053072831887612332135894125507513829097203926030423022748065836128879345335687245914291380886723733356753559352385631356121201552140750983280457898435397343251012296202827749398082771995183977301369356102958450004934949279156284246532931838979892371174994778432103648498158603018825712894641565828711293430295039485048479560373534439787897033070480395481166796864344986514287702928337091292828722719017242016499070849363177623013190443832570528022811786131565077263954940323450549314764738245785800052177329654330469280678514099138971511437404150484726298653652570550556609363009597547200907292529384792176237819298469575945426927815047362515572611024779354620973645553489730258684836365342695000438520098567453019257034457577623384138728123936073781381476391746805077330144698729850278005752854635036437160517020019863228868249747260821536937972705470963933014333057567310336996345385737738421575037197819229907832418590541067614487167369122007057414748363664119788647362371688776788328853047502964216160450973258438568099835656084201006307508355357919881308975502752866728384197490259177229767393626717967064144297070616309533377709427491865580108573133565447071641894114017208139746893181105536666623473675802603211132761118919535015933163674820123024853747020006906302347412003479672408677765304837353976976037938788667531239778172993555934323935100697251652848322140516102147969032580758931208411250777898567314777182784885668100890014867793122084215084233429785645029676462623222490320611309472641595991221955761695065801203817140365131113810533848826112239126523172259956508038406105178072792420079675619682087801805047143478007760297536040352033520572512421980323173084915006239779286236081242519027614725623805067802303876691597415249574445566390053161126087894640102498662826859591345483816845891145744746977570232853713971754997525522200467025563301711196185283609315325986659390315036586340762054723054990087907299484054829490936136158336924061912673499170305319716418267672818717691910665807150294184949950351999638267457798946574500037586801963487305364785069281376443469562633574620655904675179133792793415224467318529225702395962665366416702196115113337377218424292148111905549089981397320849444228647364159598112289347665163966055964615084323690865662945319754137209526388224284307416869232601533115581570583921343746013991512869221716702585275987449284145476528040304006796779507117384417413396582268803789683252882448807185653690225026015180806201653195471764873605452369224508424947475525468956051677489981724931958315421483451487098825146276657539467619014744158496497418337239941381396363164447960000459696730455460074574504127805906143706530356496209317037931830944686782797028246340212461250933306231022020826317812066987205221529631037464915241273922355622622027600023882540788856206126155492886320065855927773787330812649452517571181681238159130624
33365109420579680212894208290885987930264837355007654011946612587206842870912402109075575161771352307270723578536843855876676410709671606565456465380825429880190081067434207181148706198415360201998067576488249594480801162892697634282593854084119987502191878217043428064496791815255329577071497760810699972348834764037874246342779943224551412826448340159872030186501627227792771134458570563462323240406263727383403558458721590026621133730830508739568129016223240858183152933633646362695231625739206815558712653660748789075357571328788089540864522906610682297627572774746409993379009248936671698169382259256198387110452140125487469003683189193297429918994202819826971469471328514320017594424945217442501776476665206491303464154994767243576317888620903981196949377038990873946947551859812347368884987185095404401185770279725988485665867749353658959380601959930709218780535797542107663544847195645149854213498306965887715732679770779397145856918207294342050975355324271644441857163468651924424570926464006513129603706084779663221248042619490142175272793471978395552753705983512880210966167774760138147619611768481951343789155517669820060763403300291956638933683606391674271883979299516790852398596159232387695388547094151785651940575110341753718433159339448150946022377001046169144050694929915375455678128089018666585543583880687287280266804290905861718230072693151126392873053423073691730966769667330057928024538311391669700431128950732656989031090352646474477559053951252106980649001776254609578316452459093338134311908425581487035656400937807207311706690738893206407820512802962151990114618297748488061584671268685400205001477524181359124484118967509724386868328915659609856335659840759327572606357106221662418108538606021012453850917701323840022164191300460013450558268356125751171841669182560525369002441764187260203153960537071618924503411975435307046798011678754846594510472344438977792496473322774753801351864826474263021454450253489795876390529489158187174124110099028736949400097668910660224497617666357590528838027014383033920709393229059304841240853192204433289781169886305892188969583258120230785087534140930323390631763323308896715651128906741651221643863439058152864579834151583145038135356068535098152217735967861279181857783296360455900193912413974983038006539997125273544841351090719314012236877320878032993780026311853437286714968376511687395643620711781212005793419410420983118492013136286230770813218965624983322384271016895825896207406575493785449011196164829473066420113190046623226445233458215388951134450473644479121275725934251657310494557261086516041986309598028426501581998980416462062121040393823988938650487695056487100745406648823579597162528203830029513109227397389999630322017443108852259686918572996174070442294549291256431896920695882017479197183826747727521657702157506961852002221401620528835108294414812585306113020401823244900853370390494665176817585682406883346327346870164760771060879208313065741386846173184130914526218282140100941173470378740286352525644303390458834105098860885553402075918602503226743627093433551876213259676369141362057273610611062665168502486338994452119707711147283393600761442273946302463325903399338288866017545437411963875863195122754873280254509470354550165065627259101675454421893405412931622868214353165110885731254920218169642477296013087337930660422114477089769014402901599130630514900800903736792418823008011195043937978776449588102461949350299302730248658389436112958859416484599324838552959667285299068533920714548056070566432670218613934852341642697581737218870110853754336268776861370328938401213361984902005244319739485209564904237497180054270266648254327948802988110448954249545644554351440728327485573988110979895591805719261577453726622009307321267623303448152500396738761941864584019909556166964733827174775663547412769817694653639949164870197393734553856653917793769164481341296118482071564291256029549620854470937593373744969914746646048950672821466810037640699571653398132654759403072748048885687135701392107820173572144138885832135671192951279157164592192464683103824189593368449520581309959356417579295675144085867206847908934914859056642907764973298779381927322493395263718522948519157747612563188984387338652260053536304370006058423567920891682346098267134209489352100540813480703045692039344638586972923834273690696779135088209309697042924252198475935263522635651990692440714968485531594968296860937691074193392227552664549396723554674612486963459078431862088736382049204695301090086238292631906254300122321544467482347059513845393294853660831167588141926403097477779361492950099624805076744314129303315850228512488774193322824560056016835867495937101703357108007336666715721547774980789478838570209537522806563713172519667241065517352367421230289507096032771252541596512297705084963003146930119696137904511661440348753827934735908853943933949123916584162831695467679046725827301592754719136535777244212554827975171582196990704674733413285940400189394113359266385106680203042809691616430851907812930245150428100447579370167483220153829367857040849604590036099907076712942795037440174912605261324181114490087584211715686419196100174835194366640500057141655365243337952693403399837428290735403200349174525551321122884149233930845289673860163766189093428267070832533552533228248040064595714846537370496476791931355303310247954070170604835217921419123700687153029904930618998119920752804152629030878343194925859172459595523939311373520810262187634607592473023795375820804020510575816022838416861393654268743511333023739075087286779915514345136369384632501727305216713365766073149029084583053791442866852904689091051503465751464086686095259526377253066202562863897180142164160785967111191429708328478125089026222535801413002517570601617111493148597434471958762080226060799701035359475982613421276919168545872271835869948029984942437239944226291901768610859658496780065679605646295757799016137146659976482571904980688144225522976396825488289167006281880290661516372210497343821730586938779522100010020552382226555555634397024536898108260587531305761359786153116539814423181339106926741514675532228182665377885750768409769285184608012058119908142074205252290014468437157760671903101828833426639724937909725125205775256438301812244065756428031130673330074488671012239809895977664345684871992160547967954567065741860563991322489435961106894123763480406244368776684491509975183480461181273213803194407662589085737414458114748912451565206495524169694081957680194206842113208264623541516070253423595318844263334188320879909291504090923291533606758306165041648787602971715586120629210113477932605155853228348823989120284753039665533640640336883920182222246521298601640663229305658151511641641070656656823179162296970645414039718308908025959802998322122546437898160121447508842141886945857022555620395598165685357595475454093845519104196520977763298172005531880099633636509069876845070518903134268075153340365898183050432720958419564448706376055976548717599552645179754307195465858248567183169772482425298041326462637808280671439432608332253839814148099974550403987690540753613921281355884247883276245141706469474912395326304026352719055107197492630969985573004980820165075051313229828475637374235576719061784513610651160764523972635605846082051232804086085842780716256025695610041162103201346207629269172931004861052691106449934848150026216474732496051919227550100214590427170861473760610831577827986082908380861639618173039376332159944009038667974865625418818272668248047563318468018176
35825513447212808969129735529291843256284551264629253952748473590008834529494879184820255028049466897355475197017957973012215648293175925274603600530600351705139399112054672618680510208726614772910413524053752634145075773625726274115077256335472844815460711314754078337185574885860528605805898584104796707026587403812636698350721865468546275590047636205033445299037317398538273571928094809244742711431412115665694484187558348783364384689089875488871823822146868230256903957030742393251343561923701274451243703833572681987565712090783026973083195362633935668139140863848951403742605314266131929681569968006991339481834970403044503857158250282548270975733007581186955710026104594669185811549932908876788472597294792255308821739302700090573087852931638285299274127337509780111149543566289502161588166986340965135746836742997973096801866691733772592119269458673974630187027562950157399459022533653308061216535757542464181670001073484571793012801398919036938694179004931546974479172650296484152748936998832223755660631768631214225288588838681083209296736960177375329407252485496833925216317788760971897117063198461676146959418916962456821795887492103105254017562850565894391106575849441401328480983415053578403921654945584438058771702258587355900989202931221692750209392625918963564945511922514887407424664411208537429609419787546166217925677645968286573624132305196682760738052982940589445621976545986849609662728483231571402546453985938889251768590947959428732703705657331844433245191871014864377029378512636166274584825537804834150298056980236421339218078666983099189541685281667933680830900220088236664488149258478655698288260399509496653122620959206888200893281137732291650270229353660469932823842313229809553132112872803419294524600196693347200082779194440866881466968882987945636623411307287127500110954880332206648097144139899299722629211868727349782428950419519531031229862962219464271610656779163504887814485004579918665712252548099395789703245670014500120877427580107936640465056576794280402496321476729422690679667726984913076676375259703387784405984129913810781455953914575961300931553008093879414480840908144798494366814063105996474890852499983906479499710207461213898884776115538378640904006783918345297981301463281775287701203945230808479745773469077741377598203580442245972536898110773345699527982974583812428273546106857502572906941112697977981516190957032136868031324724942431021522822314387938013937911695461562892546467190592058915780175418680290888685940766445803059296805486967119868204070009530019517260551720808686939208515171567478595593360255591479956727640650815749475658594470798512254208647221242248217942398756179508242586844694729557810866478258031899675379733736904311042421288716723515255862753617508389091418213836101251588436731407979706736913066217795404936959740618250260511667283259827863187253775282489877964741392876402903905440997079637334049225396965903851634440749129451401410842554856177747172188624499602148616018169714087258608119718784878565890443192321097680652728922258587576365194402226727345649587735679160414363847657890251543409221359124588180676329127030166985344895624114149203689791518816097810485027248622453294680036570853969599931491456705574721540829340182923768620937067692891953603886992690661652673925796591190486335607333231844031949854999699680326100971707165808567174793263653833943040023339645141439191907696388555107178897725474298268973186192385985988259505374432626034259915746815749346961316360433749350150233113033910213060864274128493725005160170486101257694910478280047192378273145821376772133798902479110840939572293442714053739242522355551306328575099862968507641899070363773594799691555044983104662242829547681237867520075032453558108281698713632188114451837989324755206155001898959460406538939153747161843265144387768209297944943604874407255555002472788586029869812228627758505151417260783059632740626516419607794788063086499295237707085188226482688721348998965277833414703138406754915323736483694702958872581348281190037835350643278182725113402183762425347091888953187891482166709305257292280901296068725677698602864522221867302659030361378048182675100226193142670524235889494458418087853328818538865245243855352768526983411606409104469476062772383966122708728152635925349895033012924453213877083725668192000997089876426106363971459434756265087883756892849427560749960715470255915332316302125757212390888293636710764352932299159821089329376049220082138245320772224786658876252716673907281956698385821629228782089221184958271011604019483432905850413539593935242141192826935645040611078995603112119918747899834827114210272473816503181862578263946545059519073709816172236168075162677901418944184011014459968135778340881934761320554074094179294736305434645589987379397355170968478778474986576288942249971502486723069439345889184230538131333625487731131509232267837395102848417696478232677971034721202557310271630499458482064690066961381162726548493581895391478854649980733241455646333235799876828361103971297368935572212587822955439089308404618297366306027586013096942184134140070780263121151159161701539813886222885178939472591241203305159649215414260498631095283627385258255767897173440679309241556363434133718360091959810148095354539129108511196218977363246586706573897794861775238228319658863384080681904916281050776142041926168418876095573209226950110382058550857453747697246749436490336279851383958670010664544217679572603896664176831859508180112879269013801866233240842236595606129559087986650947378025177516546044046885581029784296266277570938844890791793059974359853998524642842540355913109258457513979446427020562778543409258298579108822039401605687819413932602955621954303925309753599574696548188408093177191178569421314499100532849829134644264738512331641478048803964855405888361572237255527248759597135008320832070826624501238785097023239196935361457050395922349725849659566254305822577812505288838656193861465118772755888108030236347605300820765725601444546756103162329902300131256235700393513069886192379486943544210938266421730065872723175905304165504297296744907368238935434050468344228742859639328032695293681707251693297183592299664179183208290944260312326104203319604702108949339312308445689475003277077499182129931341448698482973870977963782335521480018299803120307577795440982068980475951030390299993275133711329979189610109555424681195989089520005854586433267705045057141495231383940310227981482183785300102098557759936477440769803409083245022536328883916256548756140804999223193482293700884387689221091087614150291436895378677962388802265005168203437713850393492094925042339209117649683554778332970706128200014441234515853714932729727353156815374295128404387637124578452917560191575062439203541290481328242345453099242318222099064802563753473175047109664417557756046308642080985021175994050074658068225953954857166818489117827219465085539028329922597001682107081384375677868319920116764172342466857513791176451288439538666774185521260204558819334197679915835165541972643253606944347462637503372188114650455321074395751835993047201872808104357679714776331746428435484345455057174554327043006592757597874760434512625590358751265804271198412053266929063666693960991358638013774278752017336072339253403187017204869481508517204944372508028465847943504771481395194390111771089716235334197529908585659583108748131208533772175325398120222860550090315655797116683379958487046413652533819734908660091263615247782847566715848140003051837862602792102696019334005475076327342721963393024
38467352154546809218676921919859429206325073537904521822983355845751914163814013374568533745963005748594088714432821554697479204479657204757240570910694189454917888576841564565304867504768736063610173205911744227431738341791098422893047039118566168294621727567441482185208526204432475794802202535655701823351921575465205082736441887544879492580464425145681049536392554627573420798933067717323382101383070095970581769678288059529077855272701035807354123812998629889443700043415006961403822926630611955260403013622776123993900753020216220970319549092422903528606379796942108740741945456652209719600928676631448525607428695987551020724760135115031895845529819297229509909090644635094872249888545228654988645828793327701916367937649733683376912556519061039765474987363386014914384633645635154963035621156730330990777216086656862861262964908187066705463352414104086140746744436580376827182227468542004381284546763264867247881014318725282152888515829425078350876863942937704243518948291540261034959738227187197805379177080242425945596116306031468039446052100869070349730344122605904005086848657067852664823215780239514140133498521879372927356359191469573831512801263201262875698144130973559643559194281393378333153846534370455267240546782720507188465310159676126921977409620086377614414136432294881872002790307478941024041090010261512999042698612018014271717886111799210826264232596111269394977289910973139779892946106401820892156467747594093297728002070371846085451285364062613615036938558813473207304148585744364224039995415684343576558525845614987000004542521661921500951410878372080872766404637879544677071181411183119234548030399156295641645778324399433730191230118173466060261126159097734062367429916095755040752699789017823426739637428068273391282176283228187065447534964170719317880862858188704773689696895589605292272753677966385260498584027609753114071264373860466453097354020323570655302058027896986932474840502438290221893520310144892968533883424441471466239149570293002005209382057030286712143854375713823874357374224886714587431943029062389298607400156168708151271381331896732873815658626063408845740710129765212391453876657188283760286874164247679713943437445630822221042691072129813423886909253072857947316266151078042423374415491148124398036893860978341624582567851587387917208422884763926261993732378170568397608306567725273720717791932608916438985033163735992267297601899295984180044098489478806006684630726635831062133559685982472980145267937093739211668223001719474574034132080949283515312077736256460539218944287947458269150728196650537406313373003127901887596177943623449929920702828351509284320344543909183147394220767395516451818233100923638590553219385235514607627243195297971052152775923125326574521899762926056038321095671197394929250953290602218466678123850128419355829756906006922410272802008532235744704322222706796827398830875409460598324939728668464320512583525293667462589791190183559870234258228092351916876655742253898329282425165945611553042168058442574957708657491238217306230663563490023910103127561515881668466800156171582107633583841206684039032520566194356368243190481699201868809496525944950178024275593327183592599482625574487984551963975446555870989911763460832475542186200729060971998931653777278097560993021545710708955562072477855129442094132136025749351583913054205564572169024609161353089045738580562592906765713145681655904055959885373506785138060224288447311549304143507072203886081090843136128424072264895733052686293175458389125976814228926024201028719164862659595090869897331086027212465130255150325905564463073502177605597118596248630228141043027572408286332410436182826971047845955449970646636302603203257724951396560849219519729448347318448875721963542678476380682593879331122637282810055183410367765712194718972902053969493992410718250545600340789163197874981337498462487456526730093330664904274434352796165778286118359690434643155622940352551924823043250119227729686847292085501889551533517471496251393476700674362497696614198042480491824256115958411393089258668555067638649774850277940201417214775745921504737802996078004797538527733962003715396330243067310297444609225447316255437587340924080192042219729806225530089686183318344571273841612961596008481923261779965558056612951477587331448893124130955837717968071041991399680097932825102605702048468722737417201070891825426100716906435533626557377604275710872389445626613747797389729409476751706648379963970191175871484772549350885433730965112653382286396418135067613809971906764193778885876535279886025045872786109443305157888246234566051529595836522294035346973587718063101764816564336794285572724367794928502472716730706198767968463481561267795742866594069316294178302336561092515398262399269336380208515223713194196417468586604891096162051526250105024024800004002515065028114564362681912419577570049639718583729314768306928107381153141127612930415931941023440711365359795594467942581544411598493795547225244992723076651023699449301194075538018108947519581844659786708794480567282246027764780362238474905273380637871830202400019598589614735420271088826904778617999722303370813489202577035685717336060836950359759076983411301752959865983550259280431654639357304088786272573642611867429734283109616108771168344305752586657427100572090809809044460372173310478963027789603951748602182757011371780888551415214890776000879041478632885272479151048077524518008105835500999460706677865047160419917335248433700746899369625057323512202666297023884031374418405675938355450563075889008771624539939514887265294220388599509268710164705491860684447410542864749543314697826551751120687458486796305059341963339708320184003468914871078479959767992098604110637308268741412454594997900295898325201624439211273840152854741852501547453121274411469114023213554178730242275414829694945538510582164831565249008665404927076979723223369621749825705670220992589777585956999713412448947181788520781358847265543305707159943435548803856295023028813735357687283978564668751492652277385484730509932314448241427439677965210945346077494939066394165817934743634145943382059245146100283914200775581587986430231336108063960576274012019867188006484458713770343640900490412750087840810086459207801439910316792976125221827621135171361178700683561892311534397168219495450881813946028783981239950023098698971098390068047505960146686429805047341320934000882881526281999826465310370794315622519895373657293315833494113011318692518241131356014691636923547411387020676590461678337078882080125569913363559160694230352782950091312850547399483684961542137583624798846043955941201980676186013940111571319734396104579624702601813130491159645336661461342957489864524789045254747201291098026893887241391089194983266799201731596976384299532500735224878720848886899785785086949799004530573310154816999736362602510469815000012354190476340310690353252243628347959156782299949545289250992302158763083403076725728975985455566262841708655388850716246406242957912296220361780642157712322821599787187882409397017132379654525229215002711022164721659417095901018880927334274230523353857005189974997365351738201439173802427412359200630249506250425351568331903792516619152420882398506986983573623978417571700088101724646272219065731191475538113934545895936235266675938756889535172352355305939563492565462283136458089273180653742378170154505340339319381010266808760442376901134340771134265573551618896991352241553227110925496567930165823848021159789400700988566702199436471553884245953143383379841619117234304034442260195354098486818635776
41304004866873420823842173008935445339598356797523734400057953627458722965745093517569612637395870429017902251852912941607387089220056097930780967816450120091525099450726625695364215550648711359115367403071603829784025562605509447560703684700968589809358103148295700094809308747099123444746766669852378311806018066344962954071498023602441788223542338623035035851440495985830325542565929384714324695388010607567307519715512914236172637358518027594477729516890983766992196829925308763710438429813371455077511526822416483320861159422900473979057962505355713014181850421205369461690599627934256597954829709340157715647831195979614514286065749440900797663357210418597612116413062951822582542642310350522504575271498539405685409204827143318303364567925279691605117645157939050470262560368236060928532520437800615474160855178529081990770354884164773537533890786274924778618530093395666137025977702455194404976460704601314753857620449558201813757161855339756499813435889489762472808575717120123653113797090622508160996634609758496797009298689754370694072507932386187582503777606354542999590858155451986612090540349419959069700734306384061794995836616247705446351223907699228079255610552606444827448039119673695312962690850431011330357272149235649070747853891576375770459529492266694137253803544197158967108810597841958976742307838566375684591817461550490964972394647107552554353504213708769707118291707585096722269210477021589241665392972698853349128639998916842374039723009953094793216996235516309997385886625224174039641049326588545280136635184221778543121165495494831103776385651916680266999711241798841793847901306278656444913085976397528943343988379940311678022655295891312995946875518363715166393333956300822976114998204384412894737348665112696667685989661042974187866843568732442807773433500045393199899082354677520341964999639682335120294464763222962668892559474775155170839563355355963825616907057827953632979700075197166190297313231596023080318346593963151753403578879815224187509179391828572077540305147769342548867233828080447114476581983889534895284790503582473542069800910310347335571587132910658553683364725789375844947087533760370516200007028377779203817424755701539882242110293657181430544015111116928097244263521927996838023425124399242945327036433581286960474409643567203197618932976449759993954652080304723894364700331580514935782788498971983015859374217930374991538022614175934369355694712528617970959711589184402628411145708839687769731895779743748800116959848705023765445032018855399333224322277757802871164972775095085058081785824799778725235150243970911078080563080614812296925727630276108492099061350885494403033131453841941564397317726242923784937402951774940124372320420610831661037720746359871936722816579389390987713107163669995095382269539990028114857451923734791633365548213732469425432794766232266371316817284092930242648633839629670969701552128950541970786102049401172636930614156326826469878535737118889987677036719707774663194263808825943633758970279986669034346816755233387468900479259392118079037744216006734987667705283131159429216248637314191281062465828063040945343459023399139633959717508289794127740910391857812339500641375840659776398909621778276115434616542497490814847102400118452057881345799978151074230390598205762716010278354647592366294910255819433304219736528091880093774670548120141798376140005762920449453880078773704998933761415365391780096750516877049326518430846096980041465100340598693818684414361599216955577808468534015442776228110291876182786680719592463388823123972089306973042760025944496562696332035238330122874250205802730680323778665699669688079965439276652063584229369309307475874222865723021779414192331402854593567956090701854963496804668450451177089074535046717044235520523734872498175702825266616616593131258002550919768126771490921905093977691519955385291558708477148131875168558369448416538539614542983316321413895369094707691830392306814205336613907799945334360213347562842510141046980252980394214283592018313958327630430232775793849392340157358041597582129770767182144926762418832647578309176717057993230761461717589769479338948616064432518097457113552157248699028572018404949603131710925683297690923767233866526063837672620072696988486140098499754131649704964885485781568116389227065885430936054739034174389426084821370890255144833670323342759024618526834141939710960978823727214593053469471751991016074585469068503445230494998010263091744429158407354808952849265365149741629317605340808175964580395414178015646824557743366030373758830225171044865129029115518104819533500064084017866223490253814177779892956217072636051756816402846503633947325373388194643372663790673225010753168986050753405011704655260143930932082569364916478355022073512154648636641573189327506985643837732914400605377771648687952577532867826510766343619751474173205473374587921974940211161592018377856307236977692524670787841014369656177298957337871172977034765246773483683560712697333343050161998513920459652046185345646340396085602284040151942405446193572668909909109320767766466944754782439743286221425360753467439285491466757267607221057514858624260179371797695223170384042045885167520724468886437523899972809395443612359801573880016030259384192390658049080981451592571736696625918796090263838115308229618000490577113089237800075087372035388152097163894739124753401537290618173783959287600638931258854500648334272869370744406595887114762204619796163875302645478872694983045891485659246652550577167429751011412441245849654002693047938932114699996132957815564727391388096712825887689758378215253308472451028372426359941890650290512878720995809536944510878267956119543342347900334980972531919148730452772765609601182928686393333150226739888007420537393121690294489210689323754150525136991679775373010949300005392632344765829593300186101014736968113523245578583692098223196424876057083847924888430231066438268899785657846960196853853265886038153861441881420995527524222999093676451909080464759216436720750004327183523178917644325661883173432196303891443468338209000661560661223918928708307703542700253929253022759236865336951800275188945366083843574629658137832548790010118687833546526976462698087293578280792174351643872307486313119129949708015084137594531259847904580861917793067478519854144435877789541314837584068518565719470839165254108635128813168298774394694919496676290243491602820405938432036545830262804785356207934799943675846064049198035465549831385654030808369027835546053177951207956423499756365676594943587814509988335732005273328307147226701404120068548847624661900244044584332436481851483660723971344825352357697668869820981407128376440727773458979971572892664721596359882667050804573198750359843541021596409568024542453509028895855762704989686721702327903070648145694088533475779558042049811350927683129499944978838255055825211016109074045386600268405594715771680928718739866850968068329909410757083730696178404275257190016519674913811997326122672758615904175679564286598313325173741382093128688963467915880579710409471335099097884052663034819329542936665354715069998342445018187861220185467969777983777903671425374168227906054416431117768821959015569312199033732282262387080486601048876220070903379306519234087300165785428637545837599126914287442933748897734862062473772356895624938271049911298144949675739829430853562519480925953681571084514845965096576820719454728635272865845721432608362668071850671171393012955076156321036938902866564546342213965287728738391784534592795003802424942052431449312591284842106035112281935313895424
44349837524261544052511877534737913377192639055175933258009772833654945681949826232605771920250892524521344892558254121634721305053193771974519382127720449152093207226004605199505641149682711717986053621804247098797685133654665906673062325134338908188607981943631167511157520106289367516363556462189698499256634572734193535517158514275280896540968070414323287811031111187290131902588530657798356717354166897500668978988250797627503574416225688886176849618845163719124592417931018815709631167467505445764461288191326398888607038569499942300738234462224253060668157938960221684389562568151850031572053521716290782047375610015252755386394295588599802686108109078416803555921862551316803903727312095344113415700364136914796527249777486471304467256501061711774236508046470244132767779328699899723977642138201311407548101508793662133815312018450392654738572354671631897256656702681552911665307233617569718674019594022940896605192417808323609663723263615734283825534311687799986880230493342669598399951767650905208243412103743616550318922120097668101025560655574813727243756653937480991067119289560291649289677247931784193505809588276197356287543680735799281779897303285376801211935836989292023179422789581787890160810517689905292022483969184686039048705681626715955082620515208234057385005368483922084961370297797355495420459196551757772642866776640274036824979138033099803887390755219340190117140321866496389785763476637071319724575848182448997801894723076328355021902433161806157713720365724416278342557136825409042217628609205156306600501631928868513414982892138483731940789618016445365913076956242393428813677527175627223430332457765903676718966742511915272288546610733598122022902726188801018179641903679581955074826605732444298764400756602072085519876397893424846865063282613442508394327865081444577256837303437655623778602457271853292644238011966752054780604870473557103020304368543472767395915709510660412063049713715142384800968211593248253407119972466181952488356994540675602065024296925221677853596682882443399701512784397601703433621944667087812974739954774523675493768764753492754170176050666420944473177959126344259575026951987521816980417095463176403376189420169725832767388716320637619931260097694253052411904887571631321525505047799870024334584376708025913207208516007038627989985551066914340271097097991788710151536655244666910006654190692399168345865400259134348418020967098516026656273345417633912337459752284799150580577815339299269462417765519955089235395881283296255872296851664198872304667603683497885117114872440938403699882652697858843230385051875371063920030221126407597118660378259866355928335723587694775454585699680018143057389396083609651931670771261808246634322183539121581879592006999090253743169656371005485396233274626487067786812073128533729858321928583304060669862997773043568888441041711887301191580672496669104246306690072086391527193318570438141500423928374153214916767405654587793898860020823221440223678930334002713839194488425956015833544724794676704623869671358059006555943874453861997409363639340521621942939376603687556761453702267254207212908716162079971639769998253850870598599419875818667305014123573962170065125920065019561673997368899356319762399719081829302957174012217964528686069814843279094591698997149906786000070283267024704593973059999864930719246796472802571478905799337600825727036807867248714963508999659741688793055037315257396435691796464505727593871506306034630614332472057462752891728356995338770853843038926360347570714794984872304887527958760844175768162347169297560130851980251931061991289917626436860849141538610999424871615015080649567076493148625873627366294420636545429322024054423944484219920525407313570104435840782119188688512462873702700510569901733013884289336492744517288598615824083730212209417422839073621244706096683893685817162497907946227801581019443337297437836028171062008648003292015639832468523926272556904665772795334154252467246351344881130416225352841272471463586281846527149919883910947016271019369887756045425470894512612190070606055710009868256035633894226012018961482878244112181565377464813551011964484933001255299473506876610867268443352916565947157492157494719401583912508987474074643278268328603038991716677016415068082665664869090338057997454227014872012963673990788305442854398407236450629277493883063039089349600723852286357907084511820145274195014233875584650040127299309231538721601510470232075799586416262849542706387098087580203900190235909610192217433951512494321513166660737981321940439355165353159208102081488425469477717845516573949091187913690232927398416776658206442533333271712174701522448825523603937229466343321176441993530336222811008527280862366517671478497888318138901544358148491941076577920773203018597186636030538014684137956141699533341885032739117689407425642919988585809436082710305426536908013470589741984623592972556880952542536827818751176735927791284834065849845263977549380818947482370485220718466374663702698667779822243737706476385276371995817837056603838835875566743420574591873898716296582646623296707329573126239147334735286142583012864252383885833653867213206315255649241231427923055224086841431468248249023554675774400397910667961624362286215999169479950375854312094180494547543175681411482848693789843962179171780792242669985164221092470222371651808644266980798185564131816880916854832376006337427410050629615293047676751624712471856831376065461502866914721159507670371108510120974891344599517829343175550980008774242859839479611439918620534206068409450151060595071399525979291816856318072842420307144127952061244220955284831029686200851481428293372827628555394497219277164550430459690948252680451716764978363644575203177646070405389901518164125700922643453355550688790767942233874785108112431151296114832927057073359313494890030258720383320003643011923022444288773948388890200562088356696507138991808318072802018892031858325465634954625255467140831583460777249026971449619701407229594500338704340393328777575318688294277928960877309764019440445915994799666456807686354781263561351069216782939384277555190232539259307615016504634941000627565080142015213936753529253412764344354457818330878856264572262512211917966704573453260108849863442703569721492512383861414218967374107027232631103266328940989009260538868783179517065781484465733488491160110584029377362326284344995524218783894361823600077741066216752446620754445978409584303197635364597600217555406724337996165114924606473130354413245991175294326614133481144863637198048837157056128541827607717361155067095434907163243518644681602536151346477118432170387354962971954152316506801996995412829599129560109521625667361303943856145918774387327652175345115603093967725899060091147752201421724290796219887104872687766800121749237947689172940819788367951768602473984433138800994575563299129477429384618983901621850548444466957356712841917446247948473727614075589854313564461076305918439389635924053277452425873843536802034081495591352665003391796617331705095558188512956936354362709363092224432457538225020582777246919064282413889901374449366260307893890448747281220809996162989176728699052577939275514694569742003963453700604630637679015930738284098350395717817780665689157203824345817499980655245948537900302547294313754490635979452611820259348990282653887298839044538152308366081217093002533586096565484966714989651472628861641838731635428312610262917710892233644796408868975502719195750351239102147059332348940503844603221351286318540378013552788658804640902692902472048019865312352866486142869650026192085111013376
47620275437404234564000455165814110471580824258478243217357676092234309963157730295481169814578175876907513591868583806819583515819476697745360522889171556034667813744860165019317071026349771901336518822437898450809734642388044756741747712655426104312604470553113594986679815990243819348826554962838553900601881450229073633995202566415070147964254346652435922779893512646987711846285999229984327365894515618522789350719062086014010560560197906380300058896312510865351463546085822449358379224123808758065065737959944468522004494412853218813889428418008328578399410564099229094840801238489491761874634335833273674829935541910890161389612835728498305742221820503050217682385226697328198625438484487872050246636979225835079355758041781917833782331343725860337030984357207636696843373544827725878240850004691536189932705881789258819202585205820046262615196923261092954416943164079116314524017866544923428176208660297932056165054714568479475022590243705991365014162909606242876459954759462177911615311692509507153550381148257348063096027218947617204941801768939536259950949762210967621313736372398051713480266352565574187509296941912373165124165020232930782916236896962321679060589396179849085437323705352717126362380338582743174643474586083124580435492463429033276740315022699508976595496334605718614180304713096355672029187504623058901203729073338728436160296268433608355800089240109951855812885022864878918057980644636870344859153248853769871686778430611951699144137078533195830917961775318881816042828996919132274536849547802527722854325861582279915850372199533570782928430504449241309191854676448075706380012264177367543230140710127964378848529685500082246200560692118111625623846142992535773633265857323746639999530376122883597333688614660888923285596071728635752679813730948785245882460913106576208938665402664389819759894374641961818304229906059314178655874593445560947565177521715036672558018264080230658293170602607174800675901484482152325698175213822667987980729778081263063153597355184805115982861307238544353572263392678399594270324289793265941071668144965274560055863374100642220233468439043679240470432820908918331728018904276242101004347224363413156194909386182543805255574927979140006868009971916645466814326353295678345830326252545839626891941014928378859486373761925730853256424539336233749774444452478809946660718284605267814222988722851300505955772577732732987931417347682604586155139562951312278797480137944868407418040282416354376474443950999400885913696738931213982512690732575374332647156876492828137865793376752260533860360348093757475224723697822995546850313839767392227897647538989278847010724413129411212151877278338738897279534226829073484169117297302140768279378962356959182685158469971023935394813814373256650603356879026937142877823238546253193543597849176234638050265357058935739689744336644181953263885204729720117917875490661404733523986699482435322533835285625708627440193842331305011789098030279403770781679982647201003178646732693232901384883193186614190313143054862282834799007133797716784942613388784769843456450150155866402323146831163994467924462561237370028382354908865566648820528112942803389325335029392067539392726504200292302747518428253195727207606320984011001013884617764315518598680926381164769167959416458711713829693130083331785363793812851116410464117687150863799491650690504933502400054628194517185066574246735066420293495274299272539878350808237635131205090722402669126482999589089409089102025680552698211314523462026493161281853272950842841057018385290865605069083239777682799013650683949720438024784708265020065588991424502340948924598872118484173257524100929048642241781287335307530339093191569041419761036682085887215703888810172366244247803539732741819279945057566307089134157109469260759459412158826927606781646933576606168545575874597284357631402991008074366733589113900868454398132583501311505182810828726877750241807303183536771959620991631673476541537597550397518036299689554831485990299083851268150020497604408502818202016562609851482171974332883803971047235043511610999235400546582461213485625211430602931094627574317398083503791875181285659546349513368695559040263401309239917173244454075280624898706456626806060185757174715658458908985670824393144165613778709780807170804289071458750326166956610394284079609512208761297966364084148950298781539254900874260509469746243912346659134715187532851200487959552488212425259034053462086772354177043695331423121979150625279882082177852575146920538135696553211571190010316789250698258572576630122772269924555578598485061086802316334328055252772505274449635604481183210174292447968118067019369778864372246614348698024290210651963459415214362703362106917717641101555099382866756429595535270999660865300329146499510849099839854007588285072895220459390464450651599943974994688973281230186204415860778212286837613704127599914259116671786807297733880931089279829910581472946469033402948963861015367210607283480692644659288675614071522261264276366386697529530539578410891964732892597157035067672114147761406735585627551175952046047421250017709404319403404699899008304277819069923235263966161945830919842584049424225847963733853023487872991357816529733295758926406172904764038377006219887047999294626270624000701064174911208488501185924528625650922717190809520500283695368249235023018906594195105216743521366034149654500058627298584866735358975473175306954251913733007102788596958577490102241950261160926264808559218040490552098823599462038061479608791532543019185198309486023962278285831784036878886489937257740181659576913457985245167576178135624929517986556909347059449900021917851347049922663772483789590625927341773717253122721115503159247500261466365136287663515772287293917461473957664507647917106655524654927346349592679021467110304820553520900931079391035769413616291999887334267079866923566522066768825287262577368470189850085784505862604556012746624495056525497479041753768569301983195827922549510582295334071585574049016250649719065412985750385432205394827226231243555857213606968375924302363802745057389832965178764746555619032220953688440567524911476826004146226873830393594848199955138996779811989319640385658498648555647729669247072107739968845488022890915119450444066542249389943066693563670169791982993140320394881527167363896190147835173651339115664341430381265014537408918608533435738139446513193793887788313720234239280551391031515080966971668797198028869932283620739237252545194835504316576941193737445200325248433995511428223955490036307207650096421930880435803995843108489894659290731761465718431806410172706397119622651997304476958512352699838884660697091286770562684315390111517743763694491712434966493675732392632257156976949403988822154593702254577633224639553885060079050506449370448824561789138527283617498515163246346957786062225088579442634742707194271985319554082366142162313499927065524662391694150438304416691924046540972377649720047105461123788891604945831005553096427201575240906969148002873886530775042334743632038228474585325909108523342324321896283322988784092574462972341265636981369523987056787528894084253073472037480999912931673862108419852386686117674545134005826766003747749691995982834392949289171453111609009873057092853689200348728499951695203987283642715575063667497473937449233537878655060508945868764812897174806505773580518049356587263963605132276513344799974351554420071299403385906382455331621197864167623533301026204795188114199505803752573581065583275450005916415790505921668014791408782522483612190949865768720096592459515582613365137241462744834637824
51131881407540820646073693466571465422692694402721876336521259587676860215222354127170010234358912356663473123437764745031323243196337764162600095384612816425582425564498424212782507078170356143325021758214801209299218751873726892897520485934465108741830190402254480360194841325348764792335517385434521082754578886200730741596317210911998561763088348974514841768806010795343653823417536438865967157268692591829148023008861435805928588851169361797764622906634022290582298869043699057314213737794403217711958396157016812569527689967054824213496751403869697174961910099620775165288230911437165889228243531090647835503077878573827647354137260888930139588562931359545738297881365984642675918712611133803441110443639939798266030636384685584665063569275984576234252903888223595373597938952336668150274332195347898625940354050767927148138670064412631889784824554501553977109197409502641631865176635832534659710255280312897949414736294280558524417318489481475687998557068393754347957118486382400169830335563043685348394234330025059330671595353226461858087992045227564209473870948208770646514352568753827300878626581409586707703550515366613610489074135301904003714228244960423338949259864769209789042203793063865050616380749731572231265234951758539202616040392020543485123842626807972172434021544504858625620712647515877627037365572451971697037927850808556040883424071648296258858428800038433666212712167153216795014722675129088981740576232519772771301207428769134453638924985610264936039047870993174342798259669272039468958465588671061308948170336905728762923745156606068241694681031304568478747810006232286650258562805680176485386330137869455745551847284227004663185407107377603600332953695472170179966233988719723475746967105201591081940756349754016013950071998985140186114036083449193920498122070447760644980807693582556384916020227875399429724340406247476658379020654281495056541802071050103085019337276698820549376429729586607025964578892792173933641000727561541537960838868768090621654370816317708502319969052773339017309583011062933025752677951994125954483369468697710322775180281201617937124894107585192963333657155192207307376680090184053593398000020617308481198318903834364982415021809336990424925829554495967679498546247918970078369157304923654484590432196269608745947938666275875998908629624585247375773171574991278713476822360062211382852285054005785886037074110943926502966450049805962021408984701297904869429602849920694615221021703347211475626052137331863330148188643042853512117480650343378653419340972979552007670540447561091421750437081459466074461429633196488067618933437284283466506243753823459385633912178914903542982007673867593193424675718585879099121783131275150907637061708628388691909911273275736467538485545185538012838979115809330832926982533306241012401327778096967077712071728172472936633255278121993969485446853053103106422634711547671684976279426454009959179508601303309362920170187178383855658767622347014234471598970351893953647669940613672327989816605879139493091117354900759639840976593232972467699697435400579915133123248793433875130773515913847463115121924722725391238201529260667304298121304634483718927567363870532210878738008953165518485280648626199513960901637767301447064714318803798947051653581886521578490943706186352736297660726855945943213696472170672375008074411952029859241735285193626779865743034177222709092728993120736262887088231161481218842093134948952571226633430358119610338342683780112614414587576331495505538393859807121503318303311398607854493905009023748805325741083886718483106342686283020347414811289859790520622123286465501862768189631416843940308665949855516783705413688472481207227233262021323955985765171153808663648175014927666285494666080746290673554726572731031574831040435424091719793574465386602948821680348182551951143778066720483371609810967244065369264168897226462249409511702402530521967176752684149313369654614776811780294995497903281814874131791758341762941369326873238507779854184599989608116114735145216257125373664414912130836439201871838855930701345776876559497481588258048869777308612301881240653291728248258573115465798973533994746340339026015554064592113962227256719208424116676051490596885979043626358108687600277795029963324180847478309481096831372410531771676894611384915979102919373615946814078846785624859011262362183381499034937084865667674089214604755591997899615347182025707932531379926916947997098897042494565793846832916352862547509667682358761097422565316441351526600884376555905507467528128107868341433342067207798841045412649353712713128094541468246399861484730870437172330090968233770720130990712187128732349688307704694668595588626567090783474093842243160105599614313157873361141647860625397677637624139510160888993725562747994220250802950001555055202486976948035227449806912362008607728483675365098989123206527720328230530477365460678827543793175807005288377546621631414597507662148314285599347435036722880747256712243989059848481096397476379266508651684144894694415430627102159679239770067492047994219278953538385073597434984320094859490083490375328095869690354279733792426412450881358172312148201995881067373990102074411780526273195987783587620878157293179221721103645859620716856532658200863992738162725218132130937925910216040487546400766492846634945639495970578540007582164285300221002752936680087298103971748479496311862758582518707427221271619338517160818334407169695553183584703846667723218162736209325105049385590810031265357879940614166890539282626588496778381826629239871764393824613148932418846794188771500773245462124667224511320431170294831200514326423322114262772086151713683542240980058005465245470896525647582558628260266403676888173398187371816087524412123588527622959188497031187221936463901105582658659456891384829556630174707217130221787860483619556299419767808075634090432039464187585989308608250282643790562301739257396811795851709363836727835165072670765653694463622476181843505622748442222941094112713640851477774378270534384114632904862679248984426058396101454370421903843075278106037071054128743927086375345033528097106041584445702689793614565687422601206224464685170223222947664575885451789139186721019780001676158756516267911624238665857483869044953387897689619052233020355687700704268246833519631467108744491244590863166955987369007745602095976939216348512136783968500594233254456635665427144314553875299848537792351698331916244520983843410627297608005748971417872835916626145109784841198273704381786497277646771484048754035048366398327366561285859937161066097403067727769377034688867850933422438234473733921859691972547302952172799025914456328521702515909751531046163143169612625597193948510062804404298265363800843960969483978994670775885051837743100248227476331090695629274983070789372583631470305674185218173988675790343790057455344109852303532000193475523869119223266467721205801471511203418513441879541755383846042571802364571511227236468383747418174262832824005098335886591302614844688467288331764165523426090184846037112280029985485280644067533893792478394046758163103088727742172115520897566703874107432855186728704787471537845211855096680073419218059491105307344730557740858356885299590179204809273775302494459512789533835930331336857607111545175618917120221358011334785882071254867180989201926363800175337705905444794827231201184356390876461181064035223450844346344711205865375391260242619231441694894990829373469871736248334391968618208582832163697661619874401627571249805583773503082440230214615324586245675310874764019145163060678660643664907831697369239658536066790595521150976
54902439607084568114972026061213328309314984679453178062278775084449639810085883086081454747139206024499976185735042667812827956283231301012032059000848147042582033887968767659358853265407548788063414287505247634270348904411898931657636291644638910324811093740784019454127785920070560144269319657420173699963356477621061056614502313727242039192875139701044095715909152333555985563180919489454408066969780841645916894591528846245516673006800655069647705322441396794746495609760118561507644399945220247977507314901749822727070788643731946858999367270465609302971248480890832834270486544579724963290516161389472916234726798953912216731660116453243709490398171456785440851393793247961782829199354810612814915404339398158240359772751573065344771785950346038281633764298237895416285012413322623121758267551814776985184289473677342696741533799896616853978124484670485978215683873655441358617251283041009524060508816188802334930438681099807677746600092084764519443225575985202543783407077352357519851534277994593697666900640604525171423537939563305440569829731140135289357592272270294926785980169352819933026413308137614122615765181645887726829763994110289195621018210496123763775548530647284657924831113744113007938684990495265877986483204889765890992452782185813407188191647997743338170548812851944077536117130323567512215892625919384242373880047707578838144386334057148311479025497527399034862244734346087888946542432047267438712429018716828931522493317968920503151502751448339625545810596223527710386204601309796411599454221420899105885835939011851717951005697365365363305719661651168457903578752097306835539479298589590260060627466902120886116120389535350417105204677658191946570472708283828550275352341458711309624168222007156296025201182924459106143959753121630572333784576244553691525364580497235011657108897900567187322573646299827028400773085001066582565314520661885911458177688016315281896690282753784275336129720454150194030422299738569292432943082397256683221836367521146257092458017885345290781351802348397295016359234978125885861519397058757239652714110985390386600250817066258155559601114885377327841846154406731744808765135098710201088922900089666414572552645536791650100033442557280329530395290557607736829816453588871136149521909931648947029910559370855690640492272567186382265973982442598760753898657196088389900976622617183603697374876456111043826904087508110005017137487283544506942410283159707541879823603669444891494398006895621755152448763857813425432030263876918440265829775784405621645147013204998887419028091230022654621067584643523684858335271996048048119388925884216135859457075619008254720476259243902871025563318920586649997796112682912524534500217507811981441474169023202612232322174245251729598090259485154004327060854107018124766457484128383975239408308475704678890509644226743277571227941388337099312304045452298898350305910062910857979583668094402505683571108987104172578181503171339294547197868411026225075498354622164535644220575384496204794111935822156362862091746849196994668433277159277914409654208535140848732804959976267488306304993508227601903003737434169855839220128507938282774227809411490201659589505165216955959688792551500274392290960807798560308291989220849543329105798711308579536521939230967040704225062561854470979641235787469182311674871810902995247581833817099941564684102048965011788289400632745450915448214211142807135325623376262482461252250697966480718375296892104323614861330419113333526927956417919212764597125059698931162617050166381188745012161271896501548282145564262113425117581938590048062293158989844177870708272362342483204113624015409716790374100004555127798464372535009745253891425236246311395051212910362699052593934799659625450347499811453429056840674025486504560673848950018456754449549944035915431569707802488416995879147611645513593988244263847002768942249552010116748112018287038304872708434557475379625880532320471233878635723990457991488980600498990051756041506094523332130578822626425552199642239508101408800251715110431644164044874282972467401104480613718134017670403982614376115825823183930801970448411893397485120637609599459719244941892950572324473685750261817761732199109147205332344631419199858329141330099414168462542170954359046477225822669405238432507661330300358684210849488714531951324207636009827413373094495685313332673261627585228904803354390828437708426024537151781621543650367512819964790438918116418796320585573106352227962059384317234889748763126746981634873977197618110496240817559829273045848221682491485659632514609187444949727909766148978600558527468703962272972317095114206317255031431243486230866634395962129346312106820902850243802916221062578917338983310562486306642142753243696233612283111986554584070619481584410300457766393554896999250527809539055964429298338210542527391270766082558340745254521707937803131796128487253980463884565053924469766530320152910155552965628103009106739544700248106052332956093905201103946157753256075346116470536781771114411109469547095290136768326165645609514718808550039537116842938884081785270054281905956867891234257568187319527568514373490785659931535752307769377777769215022359325088949368261382232231089305533093737160289718247998359196465720922732164261938597598984527992146295397612231547155921643649027228758793093249889651882998246909565915687099047252233439945390366856843596500791238065291427026915440147973089712379718996347580800031246766820817450197206306231584104718894355680608362398020208067237288057671124643428237826293331791641826323494458629079065288768804111559481992901463101039802708413258826671012362591909283108045315080826191292404610975030414054640528174364098077692095116395009942213948597986907572011005918109659075350583334362085552567551561283263940491774637404916774065195083565987368388021856739184503009671627899613278217079002316761258317069521559934459220639855148609658189462530045843927783921716470600464474445708699222889201409924168245619385037140806317546658556384669555053962560357671686331487783535360490104749586682016258882883510085277800235098647668524929800141890212302578835100701887314180957677996056864478261233894984018251431419134373739704357719078481760535349393100080827689141253598905388716244776947009834549745240528567071940305593431301139316378919023550621738405319337832922512501776099182041436555831786597098521724108299195675420307810727915892892645816409505807191198298257335517810929903056350645037170868976269055635784752994136225965471478840993696062520192864760337120631687034335848493210131605210626348570536238756213111392411166741348299130681098998146605989270811606155236083018325628332299841548513001982160119554956917955626452891763541767390758535944515485178310774592828503946623202662151434406548119998502037764047469816437185875976550098468382723365165983060468765051530110761898583612063600289004640751402323595029658452257152710012669886228721902527443569364041683284745723723971854305272474233202412199305271577937682372226961444804265081048111252195389658763912968622302558028304356851337199990559719289041347263389779451981325885725940071657221394002806957932958377605115851719924484411585857206571447664540745471858779195608666552707156785389101550706561845488225888327456397571308234847625667664638099055793083800718180487838628154887865529096994829401791405748387220891441628357182784257942939127671056486568656105683626198941594742317287125333486994315066043342662534593772258734654496922456207166346002608995161620970079587476720410436153486498305550527757405772179998618263392449653525519860926879549620224
58951045645760827490022304971942734791954707840248110735187997555662710285824629701499850232766709858658393117627707494855171980377749037762552348978046306952522238736497396241592185775747057539064199884733545004393129341739634006181721735319110543393535096248664416238726653182898081458009442436197392442995483117443053279744622979193709105652437240306853902038430879044926260344727547734603924882668446633789141968551123918316276624296733699778878374150332733527498855813631821906689474287940566289145101015275947235446641642775439226787453051427835644662243716963428951992348681931744491195501891865031811023476474765250454995529336051988558311344746243106273536436419684504345368977316395693970578445040661082893491244532810499562052566446310062128575695263777576037810203108532543675251221296288165613150224999955610309934672333358858644392219613040269147653215732667906179151926725510518793833166102622662645347483668142564261821952838592673663017717452494401801976371435376170829454065502624852438099071762438269471320218222303759905347226572574883838465201588914675811095705124804668725774431338865657555831025611357296146809905404528525507178073604906075323875046102605897735329247424214963555370406210101855809447194167923763702946727221420578069994757903611382662879811093905392681075759627833391273090753834829942829313363388052382742720292954157691195748206008975457576929668826249791163857141769909479828993858891746027538036428933072263760676364892312681158831305035665147578155464627073047573588059452733112976077673826616919338421250246400123479399622306099133988471720655865404606067079828526077827273250132486895982909726819382863277669341703270482039069252689910334897977275932525360547502285283141180800942347183468120266374844424951899409304591841787719894150804378306928095948373365370598384782350289903352307124359545895299152274309127412549179065849006210446741312542826403767124070701934139141049337708179551611566115207337702981412683638804777891689940661228808767635275393379069439255595027531674804657488786563648809250233677910376079991511060218471174214360805441841809458602925149873360069781549666007348495511364626860937648179534672857954700125486379691072453405509287702724335708420159096461725839830139992297972455711575546575722881709101901004195868642228157044459968672030759288878673437497818150334376376912443857759328145243935194013651579750356854609884069524280396260859324598185002282850860677001706069480991471733771233864075076163558403717550267108324258722941114034706887591295277874984562928734147137162411511166990096556572751979352435044319046527965248024859852494620788749245129613825108685284420718683194012260027726119014475234771202022623495857871179898323129742415477808222136222561527042214047867532487795633026462059745933113823457801597230121681614396439068579706078169342462491406530324107848058828929859396403122540294350642848009397516026742107389818255638649981493316567280624400141001001779330738415671678456256707294429853112672748252717203033990601822239300606341137993081798503015270086361164449605910594429832464274477104111382620934621271521628050225427148269017855688095462367357475647883914586605518562478987796478139569999442830583327483761092597257323618394141645875707569636863181679732492235047380051236159126313353205165204201849832037773645957321717857829069739362875270854593655835304615198857964749677965116220713000988539802097409121601469627636507478431285435203923977040769081798502599686757239237398872059149641082357628946268309511671295044804310883180639845211134194654322156477285022674736538230406828274326953556233413819711781249431230876239764756867726688722031126745310594273923785192982295283483123600810212945881389661006546705005515301894362257240693302589187779872888221757003405238990944604027876440093497407825732830420618010057101584638525623570747071845865031890042341928246954585400379873735204376916909074922376754505880400888330386409773640599052445511182670643019051070396873669462151928241803235032020498530449549289042464628746348642009867803109224499228854651815346797532071884319909230446286974323788356591810910760269524295177488932681037928870986895338054250736659364502873804134731070576413306317453303315357229292947729709675677170770973601438797530601808952721133922443920168760428476321508467836106736032572399701076104926535576115739755590109763165956841231485652377701661698910162709150042015299987238445446113104785155275821457247247124086286304878419667160589942312768843105176514756676643659406175574298220434136012217738300680703000295367008481659214309379401740122160711493649625117061514999233089251159067747579787959722920704847505166188922512868957675136268310380782977468839382575548306966379125977910122381536948107388363177190550484393916710356829390673034051363527378223109482928732013287687398042449734551779006447518525347120112289709331565042128630658159129419373934645177427731581685916437961023772920281220530390606318006338297367695170550733262832002527242897925928339626247855954638318914500681044417232712323794860905332551256843202234908362213441687930913804156501066446983589156302504417456920624266797001420429997361701466062440051842552620277537049397118081563561935667634066220895074962746153541318052784512433131751984738602611575572225479669358095944265275321880757912900896390189479601403444247947443081798247455250686234855745700746212930160400287210145777458957403683010272632731801184470903232198974880319857210566765985696709997236994682551280154062279895003377702441044577679553172042379174056731792678333832662135986041286964965689541022065279444334339575242504956386265096710056003920659470279850939765844704864490508842585859967585088788901947617657930696626339604137065556164093963552958463943975701293914528206998660534138303381980050247425875899699459277905398414571351564023456514363925448370034591079262638032381716353385100038536647676252433671795348113734238499537877120233272363437681933680910177986156488874727561326975141142607772267194245810563542498488580771142450767535305513076308655365518238304822868164971122563238290762472609025630890764208141262592250960367858278031808604707957273824573802470368234632935236483609685229555491095381673300462331931522947008327704022846813587495543541729378437107194425824319871975330080131039100377947319823747669951902258713275332439178553138155097511896352069577516527460274292361243869116385788396654244148513125000351313292572641506710705977182672049923439549702761975668444924589687098325058905839696587373660195757559202745934823458927875137600594509334328965683953492818930712385591469709979211335236040222230997509327092698590652259914018336791128633619851604376350156535146838396267180136943903335910962455296485211863286209143898098683956820871716200740714100834081457395120403014870633678578322770104875461494765382800623612067895547226749100336808567468226016637022193184767577611366405519300151759436081893836910165228687624523721806911104106807687201696591901496305765915737177363752701701956916375770343239422009550211728149270477786456655915602368396604130825998085797846357065253034355765049587571001644520165273386243906102414511574664597670448776892204743333835856743341608685674151509946467446332780059943566767991626973058412687051248679332301040448332875797379618267440021771566270522137946866489063895260308145473561785734808084573864687294933556136644059213526911180124134347851535320514442914228256491223646075209905682421331039744080136649974732998399503328680172691614721318804659726019853978237517825048576
63298203278386488776885891541258060879061708521775107033354741478324820071084899239813024724657751610114645219030621198464262978044496460821407838087171977583665110021490169611697938218997500524627745237334386367003166712467433950889989171541986976921005524054056487856065576026020391590823638130665591785785786066284510244722173731871767264428656672452607628476262090163622500728046625887600686221075403875811413328707034433302945871460937560042841262134332719504722575599242036518531913923534404850899572164806647447916234452188056537771909499754490049471853432584851944206672907781387173478210141966610018586370936835529995363729581137971153428353667723890077572856171732069200332411656721337549714701913043185311872486632689973646109523879942164179490189554596695625137020451566203409223910012904099375078000977462736933222460392063076927387869258714432780052089180260333967063460575364011780876703722725028972552072227641607642525917204152475011965405281757972340642995869922307792553601217003885844615344406907362149538886802094476642825598413377824149301746914608942185774581859273912641328793718356373234957387275729498280383839610325916838107909845338104666938982750296147787489895369823876736036944959655693882620826697548624331347013061558583368010571021862102207602545456745411620814536424975386713674148140145297543362651471862185253714610078411627728151419764805068189887082925213389843899050279449193186475074131221998153445464581043386414197739513161381845813959177295480613797831144240893882903217181398094512131709860268710719697306519930118018595776879861970453602020309447395840216467761435198037822336543664721348787762902385874170107297429348914149989458645581229389804974170341081560532742444088367922717616783618322100668691320564083584011235015776665779946571624230467005580453427166044745647654643287754289966318013641430224788670430807798956019867328036992411871785888500896272270909799722889180109144772691466905140039320923383232293027065199393338031328039587207507892767629159543128959807067190722527775704944398964539773981745715720656054990315155077092349538229232350407540757342160495010336008419925321170974028467174742584706563839105743572622112774216648692635786554226863997992747393786605005449447146365505370896097506345294013641124867312586112703649170464769076895856889165262945529731479257256760339500848478956128097555688759900158012128141629633719719729239543644968577871001463231440632447063293686726156390516187863967047942540352798122738210804616579295144618702428218172787640358188072768570941785158141145920239040314866590545899009493943328653856878272422825415361945075899933144094664987816735535861262283616869960532933603043720986058682444241707687045461057611871009845307631958744789683998532236755707643824940745068012298395198218799193874039984202158589297144601634693757436356556174432195718871947401834451196357427835711169556147194165257999623303166347332837942316026199974761316363266304272836365832565710178210762581102555215521253314223965382541895402799468950397537039474927349705828085602382074238883806522844012550204491882414793874564240828832832158098613757361493675055104396848449773962194456188482015469742046318264178358017777423894265036402965945611976059372805601756944323112492490335239350044525610582635526955041946266070332581026702826332711509344847487478758022166698291211905430795428221119239873787246921676499200364261948530200671095902599799059024348880449081860495143065089516253129381856400546703969033900333971504716014725081332648458485629850342490769431148884080895276902921779533434814652969278962760053330595483833352324524135153053288803618803271370069381481873931016284980942206880750097001737393766208351405926339096622263911134973811930315963185406379233746698409439225487377481321115525292778611849795632618637218074243472517069325962599643060883723591353966438166199432231659267562138972967655917328040683545446549305474798344240375687089418255160283947025514837893173426528763077091537745864110395470918632382388497474218593594359183925587224211598480909371585027476987271095381574645563568776336613832509837865676596853470782833025748316191370316750875959115729680379467796933969707996571693444881470190754903173032936656918592595925635126152053778784681064743484875082162594320101233209379715210291186997312685786579806300811867090511666633695499405240276638653462022513409173810613863319160418736919459547603184844204585136233978842315753983754602997145995163390386374431654484745574967196086122054796796895541048821718011218728903273622760608127558481139419910436520235318959939132467542825180329112890109844635479895853694331517425893109406127412230325838993116787562578087079616184141660048775542501809703056922191829403046998514014706584220528954251016872677207663082621680798072169925183574167219455151593573954713703515914007405943012827866301680006982517037314104469109832725514104105010629523969604056136701840911207852506842784564325247857060362049726976643411103135418170705799174398910032112283578851128822609811549661313874784469563018772550318064913096312449711381315913555316578174061780236544729358318754872188968251392523449274942903096231468519913358479156077011312782017647239669241439764740736060028560664703115786952438905360970658901565408408847331364318435230279451478848362399063978432111900641621237067532821727186673395790786231422604230215065700765599396832722812816959145798394679007768899767947406726306619148111468822818924825184693511383263143303232285630720912526157833424059455260379976457302953110453770019651288674549224014763552669388010005069683585194755197397629260241356272514199228733488991932791920050901160938512292226301939711795326270158203394111397528192136481114261156532989570716283208695732743141671442703319006945617082191327482476141632627884282711293340938456871865393108551206499798976517803510732858768768541593535941315181534345889800810366744649615192554438355960697744823336167141173006367509802387528491020315113785679202298148453121113510753764858938856590228645960377821650963558926007811506799158939902687174460367626048379037669939689965219775399905603514945466514451135858427373301238017030510465330687148894206427851295782409522448771717970875865810524331446892218577132107223675294025448514367922917445748226307237922894237403241968082655136244563462181649905523540512148467449948708243578397321450770134337505585341006220271258933845344720701563609365809725817219775562393743913661676267824668078613042451582301592079672572473076544816094463760065333169268148918680144405865925907205734691513331937027409429521630910569564846524376005233829381177821298755676615004329526801809186909800132115552766081607184292388599540734086367441156791578716553580721528345566492175111372840214622951043796380037823393684509692106545428014870232802293330072518018033141649318231148580399825559250576720727720586003845572160065148090555638692707800490127394617012153653707784101818279336792427082328184221304729497576873171154482896271682356080667127167337410387123758735117755003057240189760569189827087781452219759277100889674839041811265088042707000080130693829259608935035294081865427204188247291288462249477290893820598804972488724753736198318765250006111942274098181981372554634718529114362779338897139148938423856021288090719817843845738904768787601278647317831448039051942949348222922839575591590013020287732065251582524966585378696391083632480561083158016249602553067323677226317728726325310311044727122625099128713119363614471784831120138529380374105000833915898270806408694700170882842624
67965928244057488236248986223376601542986762316727147143789548953984948767598509368613050586811111989583436006594818717492083728861169583003922990315616710212371687839635533916933915920305687664754752092142736915626713639620866071028143396391741989183406375311878487869605701065789806727925234868736822858109047204086114933114673196104878316611116133349033468556415997394340482379174112037597979806669171399150416427583802714045511444595736640470509894946580547263881194937908037308883067058466828391359354657059118238050522579904044617882335002229313697909758141364319961342419200972570456900697782090526788453603831258370765228562543893841141941544320498939660268580078725249222459145098606830840350354711727279187539972652400150329285570674620656380593259522458403544907444589589998905375099561667511200073512911814622046710450819141563343065766293325562948378521051423395788643876081943443473556040174346362859440907968687643008378118306059658893462156092134039147583559718194845507465917388514372201885060481860909233474445073810450370792954554271810903222506058478577829264146378414082275117036750867714479327925575716182414184207363314799180222299826160894401781975835007522265512964635963843965303475812368311161510928358613756218231322181669737588423733780295757500865583825768731377364196706667510885045845565645819409232932484873587470949428201042484179634281606451444922653734774157880800211241518923486407374118228193523646205165023776921551517500321538774149484767291690788741215922780061224493218942831822528871580692273603710578296138630596857273822295385680021023084740657151091241524042649000626398932576628336413545499112727687342483245495817499614211829090906878958785171599969934919616939193283637662190521904882175350492191512238235447816384680722332705891198214438347864238943774241632320036057328758005862648172259202531406171533317002910431844462068125044446571797370634056412989022967310493929722800257627309801063960700795879994876093330583468563526471206738368712396591274710541923426295970463013456962851776089884762768648235707387502082706961945296947320000009623813674046399956142912802013141084533689972297907469182972132229633300361373843632543543832921084538397964822410227859004664925375675525318819318730092707627772250945047568023302296439974190811485831750928076364953634215275272572706524767905039083266500295341978599447095190631493721830684915133242663766842453726276169225895147836795998831423324406633027751262107858582641933718725607059812702343845513473009217229329788209918948122856874589570092905793518602469847625663694387249414758173820026661423749111177253460724292525984612655618260412687279392001289175353183268593440139003056923317728258716869508763014526921139462164022574580503323225792967617216873367891334212301246529333292408294997520041318886156948409182922550989456791127052541093287995506556025677784573615806720264883536390758675486281946116854738760578947278816756392688969796534608147654313102590384246607389270264005568174503644380885734363392526219116497031216945873368494740621712065129867138162510139901627703135462686817254299458635152726236992522661907700823646018131095582474311866554382430508767081677041623265463383999333355558249323326747053451287970235288582827919002165253043758862271193383410321712773439907905380240348217838239685452440886909729586207258799975903055263554507777788869005647943573848297619309389333664089028611787668538536434583670288027305755096013368457850167904912788182484029092516898499662432772637798252919688666306565148473295593063472165245208585058174728302485556166870581160609438807737530869817386236969184811261957489196431625298065276678899137627476009140690454721959642822440351534784802632311751249701890951440691014290423207015095819678902304129172791963985770260513842586240715787576595169422929323953600571889193532296521942232420892238552951358193512186212498675134175777557676203609896294564745766443160176840884700645208394700697637095676578480352149324054860120354208978352170305511289851290754586865660721946259411506396058714847257824401174230430490737489935919579845853123774502743807835856099558379089840954435992250696967543305938673014101586764429142241824986275866275873266422797669955773018076231833462086428712976325778355949715931541887133413889837538010888749318498602697619606334821075939000426850611570024544145391973609796252357215968277030745741560160002002163183676635737658522825387073343160932925526066451933790551407641033971489746991649788493841205865678356204140647975783228704548179650435562539274063286233868205310332934025873684289266827024677053907239710594928456139256798489275788661981566252122766804384589974474799542922463109363297914780185935160179972482673861238010080981124515342163440610565760377582299410723200719385111666242067787419104554461149498782758280604813185410972719339206759033848560794024961740579756722593588543447028405479440000884455374379794020628004158141593820343979337636963292084425374222603101635462476025616388172896779761492141942760858886448031493629605742147583955468259784419650799938436017427006847708541111947546055685399874689158787529429873069642928298668387248670266402824534770349855374912110811455198142947311016460229378848824197640220212975963565507151490852013699448678080220671316655685160986118260618138061783972094392492367041157406029103181216249080488672730521793180981240557819892892808467615920492291343050238909696288607309025234374338027366534689132725163512693947793629730562386019468819263050781159772637764975726790854341530993405104488576890545361026171396819971948750826573771299869875840887210495167324564283237345759689680081837281647916785389835740501490465520881147943994786080956162841110116047688568326628081737833878919005528736637461785296973241371655554637673888015260353100202382979355777298312553342081478852802464494808679559510087903351111928084463148237319979579674361625119866509020057751513859624800868839295533871331969356613589553464396800120771331002731754478911877042913947791094504110579666526890546313948652303118743108565558717321797017709206481350503736420151085752673249578198764972145958356475757684975499613580000209864483370695260782427024792873574734167907749113091013661831032971634044166609906416513499312686190621390235503760469599121559898431730429828446054322419908754206081966679788886274064452189598512554695903704626931264250248278278814239680949407342403395774314867469572468018235921452421235284396043986794711571614924543592151412197597731581290013400122451014074034449196337682965047245926937875583051940310925602354381263738849355421369745437193363552321605506250665109671969138948894554005231482852485717333194605820710230913613484187673380195149801906059718951820757665081836267621385812876596109798926028628986409679724675517348160490215547462892439071615099548955770406989325869930333519345271534321166121309378118015665471972069583328663393049197297482688438411294300460464484560971629010964766062692391759910554795379012078650819559012566673012261496824252506810817981271111767806657759619685163139479064619813175035230711484439660840039382496804163607677350614757067431494171838589128764309085911132765908889370909520089623380313136510656397616732969378648045572889875762900837022327177852995285056928338162950894849411257358974684598670866234200297265519503301046742012856453177100492328377155099739640587498432566521239244146923573193704356876223301973504048069884605564919983373658846141735510747172646229745606645235558217122167041102469507669560481305962930377671894119222736820616855129398706176
72977859762627404579648529385639263579687820577817072684488980565989090958267775549135665287286833731163587577908396678669290688588113670827951670777024622108311403466888877683182487367731667710728068024085158404137161606532187403565472245775224062003179031960604976431472299623179891076649913423585876751630901535817525301356187198749561738976069335698018425164812759944978396826854270672830811416328123462692400185313396239035377877533101202962437512809989779382038003571928942724300155826072486960433179308933552092756034319099354612982361402672747356261808694107374763811418681424910376361068623414636766955034717148751240724792522778653050114556700069372060882725503620512694977864223658758405377242667217042945386408308698255392441289273048094090175444681749855186436985464805296836815462807526473957507362688019383426305492662407356338194973651753108986018771036177754790372393990655926460136958343019941664461936142514804690076768031636288393083877157340715246813776604227459402584659754576738658266961080143651594649292510941047611396703349452921231009221133081838823320045110161330929370236854351733327744777101805743811722874286279863157965596940816881672440767583404900011092502943867313817356346832312232186360302811711260713255041933277723403795461194145181918441093555905815831297064884111966099248980541278853870444371367177018220480786048344395664531657185040824638685760096816510994393398053833434811493092756732162304863464570851235115831310763169629841991822691995607546991848903706090019022383307592847394863714285041955249507790705373931737861618899286849253685355539776371353264450093791724366732416481929710765962524290608622419672708118866406883105690446614027353210977904716265750785670693461652755546825660141465925325012108001252279821704164455157158470716316574771294427859987654504052867941949188869562541951862326857479907040675475260397300385327397484143072255703015769401730812897862126441487363012417538007494303536886437383367106774928519647573065806737112033247326690182356888219364888806193815837966300392453125015646622832186761089572176641732437008722013491248206722949542411196706540980076542460305664637343748287001415646781161410007898090514584636560317628786302594137583283741481701723787987236819687107577342889786321099456104682282846594154848837134398626408916604877738479834315076520991533324057859905217034805139289381490287780723028239944453180827628126984687370672345324071030990101154348864521864916282793994159260004650031536279910568113049756810725491676632793090052066249597716612744242932516192831593905094582204421943748945374076424475165766807553842918228414217960285388777034783225832115965075249495182847025802329287955882419005672050995365909183201874801390262376586407245673118524504895683379413616664230909943685879998894408023367244642296187810135149969609550152339673948411217342006452513270969455244353298583048673811511783596960464463801781324339827538147156540570849514694011979031587603472242498305813083966931302300317847893412179599150928569930481971190789468401779960566929564006815350337808273646036468910533602224427099386172557121438788281007557358110002027977838419641844310056738947186128036814271063651488979490140656611981155166675627129159411440309696472092024827509178752627192591235966159730176300157465468714998685053816780816806890143162630769240947305926177302605861817904745206893021489234832949785052121323454623556880009079117275525560326815681044643282490689376316106404927315743986046248668159345850403949569486787433999834072138605696547225387134350483619673380823678878215264812270066187332815777036481709414026844995788731037509976260236787638829153852265822348153122570965641472546359738555611188161033425898421123489187846449022997504609080032318580956799654353460725254582623269569088515798983472818089836925765159725025969427745789257070379108662240767931289111929979119790035979036153344131397512065485431776791405356956800605294096244480038586039014927601831891572464977531032581693987874493035858198329617517623584437500986547733410488044291750891190497770788525924231429687548975932780999971957732340829230377620941339558409286286003210513227201218117580794301015493732405509492609852623622236248281652725321261719759158139908444916811917172510070137169236615645023033961421093127481017554323446601993396564112736792384831063354242713657755441698938742492274401373339705130236623038806281646348786597883137047787676749637507398044996014751644596593902406251353793364932112556666591269152572977187955695710059391817830719513738363315386204348852187737345523370628213272962357506472169232873305893659430605644469592814275429756954606401931143500466560836684684703251931829620458981671473405078037375821816040162823842483060346674610556827304553219772146879384054699550681958954437091595033576753821999959684655967715932882428037277519940158133031406751250720860322800793901773346315527479305501048236726933162900453406810242539398923272681412624815063775663309660436378118862091301611361058215664830857451286948216541318217179297249974420473537624035028602631368955377059370119519059153921546294155646831618108789547478485589886876860113410895525553421934734716266874828394333702382024548289658466709300716703523514229546547242479586985192326831760503719011396244961942050356964726968259835826929943746890598094926092849836220797846883337826122230269009530681897559346336309258208800500563400831884626173250533064215242412486819129212297104873668645295160818246657692762474684910336549506634481567119107499056320200137607193807811328864475137618424302979787358104479880547046828866081131448047767175352906262853488520260927862765048432067835894944698779066461047167000033880598811453055681953054598189896794338982264254802838959488144691761523844075068429869593697136387619634677391372695361469400026661227913147623863060025545738351110121259878331744558634089568286849122339745522302377391809684031709262695830394813640544289949414057770086482382110324206939221440429237780943036907008391322148576250583800069308833895200247495702566292520113978613040716206724752843668877911865262588257171655787878102372535739310519910322268447610350396684595260273167267997460678860747993294336465764388796424727287263372522766478843952280812136508472626416657423244885597325486457332523067340971200299673453758236919654806122796263742682842528787620300698166079409134478415198687578771953582272195794691551214722506738147097006310082303562643506390600567008765185516459715705059004169417224436726356743261231922375202503420518910957826823558087766845263231253876192383400292032518377166551365839044147679621364920130890032556072340184926695481201243757940252737063292791800890420316644528942667573566985624251851239280255388456366951983265138944125838993846803107221164086800718828907805557487808776085964699844564863615637346212125941108109383065990131143037287512901736928743827904449110871458239023134674027934932492283454804377223175539717516146484623911888627079208929182842207200648562452389028978401797233965043094099620122142041388072585182157794293375121817254692065101559888410119989048325258793952176802901898852576774900783547115336124705960104005992397973175890934600639996851850472888113195814260111461565699107469900152790536275480312672647561240426177656375703058039048802758900610801563885970238367221123782039949878141919484550477663969693476725343609524998581117516760750699041469605621469022950492333036245941575848797733361682123009962449835240760005633770735241749189710943669546048580069495860475782538940106428465109094896041102831784322792658305024
78359380253139756425737765221453902282070769817810037562583774500825678889632349198551530869024848861684316168287103954669906076750817157634140417163969915035489011918537187128853258111085159630279060128177273916187165049580641217414214272600065378343982547575934283537006078002867688924763401848883183923935359189833110948244342116470804940808776580862858617022073553481795243449462316774435062693568182669328533725916344089336586642751640706045481858490621791135027078792641498159181578440171298905111737781293371718874881476796339059366494812333034221403732288749910630746441887020858186550460306294401190447761903174624236538101805429912474293167520083908483186856732348807904920687571135699203765091949588252696065534442190419810697745756954294588108602452593189019620708834041527230423665386357637075422454106063475707516629272551891025591431876465324040318585710623872416839191962773533433717320941046249831172955292235370334926783606314038003779911243914954578578434679351718369817202879298619714898879469130454645259239981007380418731939442028489044712166460254640359425678972346908406369613291303652480894266771766333054076031618672838441704380188481538576958720316965249468448084343673459152228606705703558325294019462239177639590009702634109026158827025522665753918759031272956662904986734512731099633765396533263847480399002326025274940273368503063581011913691608440562006589009182177108436020999881162486677689580014780232688140519265182425925562895156590367945131490387953847495193554997777456933288549521897011114612807835804946132870294198452066263024536513133816865152379367985528955518998064897197640509793234870677637037947442408307026667098571224538992058844926720354222647672233741389717335483460859903795474701730301720692326293667349617219915024330476413543003988345556362061811419560764663541816419648172124581877469175036834663429205326998165872280417342611796793480802350554538177831797953205345801270433903341909756259149306094556878384490114506156004940852597938163071333203440286777775624967828319730315378023833924534288800433339272258760969456326943981433710278675045457523428904328563709704104678134360942051945233774800681775527156943981220292350115247206262652536752359453645220382036488106871524057604951490793999380375552595387579683249489324185920015128828968114263404685185310212332284688054349023279930669576164206067541745154545213439958456381161466817064459254662241837455488174625899920871739415055324036123091094523104809183883173343422713347962582284080704812196164513430727101869811891502003105051859045800531364483539588693958746618004037182331362733154301520273228060331020210392906002457452349580114119418690212709378997968113098370420112682574381585206873789531209464418060074463809575870392270075388001538060807488092800113014073057999654410579884073336247501081614882102948392679372932342410866440141368954949122358276520979298499153694716893609969249706653645782016655557444286073959137063224243226626968074393501200650581717972214638681776826951306607906893970867264945513735801717579705783024136202662702917271906986328498515642865746811049938201862317874033198879195481654770164623256283511336204344420643472785746494561115569877153642218647106305802293311890007510026684600614830455834142990970587966564912992718750954848372648459595057624247286768396046440078087064290803297855753059626247418021448996976704570266722205895837502272684915461479197708697747943732725703937105476677503570900073943078491804738594371494329593306986736059567947544757883283261452315454061427408289320743621337070218209863581085132304169878448587463307491129185208855155730743464382861374327863347031217068881708530620965896860644217316061974230236865082610835236449139535855409802524805876358546402000863732065645726068054459847218410268171956796971453331449550201696533635198800722860715999965206353760506488602085703077715035940365267729155905053671346460274256334961439564455502166171132786957979546562963912823526418920998388773150289940871531550192035397679279797266595499699340323297562735243173408017390060510607874405744155541110836587507396372302433844374545767498182918334534449741595271272926328551162356593048540141181292493659670244217676459325436188858663021022544955575301849740837981156209747885367452026320370273969007750230166775332314155276640390991662705742945087197815897844129501588039715744144227921021639117879958162429173288279637608269061797794112533515197878168532390328054952161776146480956966317624556981304172768489069202358642818905939542908146518808232493913823285037470321973280367487815182212965745571611632339518797342064231167827053306117476100937393185616315763211623144596709883788779466134628014260328854697110422735982714255090253956887729618449905740468673777405643977703217854665742889611321227051630415622506422044892833208039728963587790887039858295104254741764609577334373863297877853353232738189707418155151610948767615161004258821971455443846136591738444989362665554241157048924673777277300670718646716961771058140857531228838925422621993878526764225718192599232163997851681577301763538335828423492578695617870787124768881449003119141683718042851113441566661823081169877643663200516649019818860860348183293313962381487829317748605395723264329042202012247070003138664394410080080852186467732587157038561306226748306119003705126896868081776501820746847787872628678375994304147764649153683396420337204422327059036870915864824167381342783516585757547758503576616972260770834995357498712930411166929450043121120008339172848911288811530423799399274720841702805383069057927087445513023245409509888179840081805813010570765990757414377328208508029639297764786896858205570593246165394902010044648987015966021836098313836726632006882325291690724602001064739062587707936385356655568812993618502128419477556715864079781220492904812875489542843227987998050967692547734026442937945479489842281631693931833877504812787380218092793071177564716085321838538106243068718121294032230711004483190273086586397117839488888630508481549583862304930551270993725945338591287105692411464740083863328806074997184310207821119518293754216474766776390731145252232466150897748950754786076215240867467465360596690256688217792324200605619568380518251356128745580986760519962733368183655944389342692325618103459943597350383521492848769246541240720842748965134292976657628211453341990365191930291077319559692897114824068123236741119472281577077235718685560038870354319860327282217474536813599109275425754284141837163671501164493655583707930878384014872818176348392114214478350560603387328724519667686670829879927136889128949612332815345706553546042011998710956182300176496826111687312277581183719381456915332405714340324734920554066520671867469330365961385041441867986967995435831527765479112446783391144916520297964698159862611067134296652997751317610715593144965679044327598923137950164790955779524061994115534542637555802865286022297799108528603088400281367581302686673562796559088470231875851267105309724885588097871821063810321430606109132858002366875780124097129747655898307112549457885482300385394416281247730540475659826718697099608787522690250489118373367029293382004744908810948914869065746623984329851784204943155901787060184534145210792072817291184859655489902615155189110372397405218907315446906534104892630821226124699358174076785308974211754134791261057354223024682358202369706982077754419971994318115750086534405039027198062625980556802262359499372354175420249322426426838214468909451057599913127595455265256296855910750688499627454356430531987716251188900903254251759912664264133571663929993702245218123776
84137743880515863791487388574567676968268430881259497417957216185321253956992133317857658913299046318069241354729285955964878268759106408328577456197761963651330996389367858719564220392539373920747003651034739890114429725725768135875918996588427421862317920058350456109158077693885429536740053869664802269413829834586566805162249501819382539892227801144169305295398705577704375495949719832647700786146253527730008658110931373895885491722183070701923517694630128907471005872202600011532270381548605358823880249095658028534730464679114778126624424281009860344463348130023720494674993279778195272023517320149015219151242632432418255028878060007324307898803752452527786128880618888804055157647965375414566077497478606498846324575492363922864332241760364955669059507538284307904311691636662740140774764713313949694131442400885865968596025441660604467774741807619707802727762025612946800202292794593888044619287632396762083341074955259580739775535896933082983960793599352230079959779671969219941829966196151773357882816740286064749929290060590008271116423541212086833259170025441043993744132206214993016241793579027152697535154658974155275088824915446007652978852369631021950020725844125108866476532481782890503437829160769919491585793676193722993391630284045830362642644085201679955063470055497529100553595011503642142284988861710000266861429005326621384470617755103639063703972958220462844539982737623596703138975714703191685678109750864074005708424324104117706058791272158107298236618409000031837306958976357882553630693481956024654352629339378695368929896048062539605828829592366904476870677860520749066303783848855187367009481677872901810109135644027630539565547060654430410892385666949859480951813693611634139386646431185545709817529181750125646516977365539627239413367349610123066643404885432430495053794383204728666136262706177775314500351096507826118696901022681527068356926356937223612949428024867917234542751099474174647206857216645781877329094392614303819068308588859808807973744080625261855422755973736599851882215695921346084022094560953602525607120065700605954603324044781170970454209712091612844121074468073492957891857386921634993213978061460889286098088058564661298453825992145463364757890705476060662381889835574426537175272621685156668102939315648779393796037648914019917072162536411207047028563121020765395494655038747731389211219744251861546474140638384539369490307438932752618670266805674716054478567391433244298678277149574196691457849720351394967956274669948674882633270489785458902148253087130455181416007925630918250913672046746428762087469764615940461042374369486123520297993502724987824148875867811684488142647739213368231237368712778248685516587185574052082546319438072949498972040080109032955250310922896346715983741383666247730279192216855177621474615136942965806718185689622612612157126815136374764762933418139549568836288857780319544044468175013132686236721750621656508382326763933750558232470136629964507430682731732402243178086067789045672932745600516539327457672005731628316357201154453619924487179296790336366152847684242271484287161658511458705059367663199568018943999954925390932209201102112124551454863355474676923260730014945945722661802271658311474694407724093550737114056204091777551189750611736879575098104136601574653571860691203130369260633290988716387474844388321748636458958151906842412399464851579136667660901641117136737250787326467859900113697876846504894475485793740541795826265837111615808092143984758717375971965589070163644455063174622129920407060648644651234948260478084667305273420167974977010831094916736936345521859560688091244593075318597915145789955866132540322532606409946764264044000480979357905315774736943995716000768707015527465844468908948370368459901121630464866927144091673044673243613729646117143847687057167727286036829325976041516597549203919935710890776983695748624606823195496235438713026988156442833357797752199472699889444790823537345051087604216462740543214814464369681209802601310247164420921862343514547240250436376743638176715256523384466117361130334274706094434098672888627292130470413186645648052056663636127394286998395698056911564978843418166062256376835246366717836148346088358365211729218516819642763264813374477955663020709310394097765721423577491301301175146283621014590848973730386326862101202275693169517207227759078015461082457205133059621890967353278727352660967558940606989502729902177290370388797369455907561819897532169568197869701425609748193925682706418262602153914279392755160297476367248582889402794242536565209235919507564401864231097512889805291861457341049756971524242196099582196727852300740354399499300270333455809146896924668928833451750800333279887015018192094701141713593383515282306312837945150036731410568291848163733225842398904396612506152513668469938161680606290705384335784644388141058197040613328350041828384171180755406486772756582980866214879649875390021588704636600330901196243205736668109655106766539271721844210080279366381253801929109712870905582836460218698575973863116682143794238574414505790469185486110569646162252540599831482844770520396658279192580069406335991965899096273385963665054345492372128880789842432664707178704883506340644474963746964424460908115809792467604449260972166125685440063131060139639899910161606639283825795231777734790000294172251305278237559255283731283801129399405712394594014082225348041386000721396794149481949231579904996066390887940571490322694805460453246838923324303942335925561751982741867231544637480013918192200099552071448796168617750050676998665441283662683469481859987343033660785517933588976592532752654195280406774280257529466482875773185555993033255036214850064063545644041405603829518735752899712127764566607724758275673408316032542371292040446608512061330678034297302863146975679593688822240997021282830835517012068875155346760369212997792835306826625413765880877354495161275140619704421497959977840951536738577039297010251100159556473433500760166127495610538939690938392752900107407718422770652901163049387974897315738505855039026520522752260974315042321589103983306207373850669108529333323638946709757476106727667937294737020205306928456383796596741028276883208195877530178205155745633858516943907924579435171639440357619860002990393276420152858960663960555973738779182300717055388618779984336500549156122369467274640446936297502820768090997408145706751139279769119630511609340822212029055528227915532345744475193437969538012507669459384118598165146933107241245153873831789055598170967781630270510831624197181541782878338384621974301982916692676208183870311339453703650923153341505759797362866664950431004127950330044354145373280817944125787739967068027223999373962402587614514927749700046430878023803237625912218476523544682005051205965087964106922294223648893419579612186432510301340848112832469638489780323596627366141146900567669733082928717344634454892921270578413563741437409508177450691326546654938670356639863743485977076236310951357739962415084971809755896577804144079481094366464083589555521579667257314922925293045858009794405517331870998448412703972637541028200168948335529303497242235186390840809944457758637449201041870947202854371027054937424903575041381959022331375955958776482472421870054034301202862139469668916744751579055570327669739647579102798436195309132616660174904797087305620742141957051140297462516973714373697846930310506983692044625232316833810297281703340724791208051241741043609905359854833373286592849396793215399798427489754473996915659066956750025269426059783865888870626700013551074625478845806161150465545780793146012624415467820443834207670399018062906446157293403501100007424
90342214581509941648407224281053057479351335096061500174880671660789165249747950782367654453935575851024151370523254528575312072235365131488815549143065035568801844090857258828519190489423223345480919142796701096977027342420606002016489101073107837242062720351339405173879337447366254757802740455872143057359745057414598527272766396026635126937633442624049636832694264934243269877801956785396116991522912193631254076095823847745794073976913751597404318197928429618463045072333530633925081034345175462639727673421546202039125536492920276571037012290441416008249343722278658807218509571416781706810707658232395553215214996014546333885604700825845855722799148576421658488706174803913319363569533892086480936220668034343049506445385196536608143405809783238405775095988699142599753253242475795871593512636444557429220937059278128940939823076879063030171000489642642154447939372819580215264173434249298688281307287990340811060685836581140617001853264550404529141425263855988744523679671618351892197681801314346906127700424972493446371179780682985997203635129497605287190085087843192982307069104398430737406725062576103082977917267649007453933096626727642030827471976794335715599291005674834078489084440184807621153612953685482599228482754363913504275069047525007993178494120227263242814088373159298123921496517409221696500351468192179445580277535425912161118886382771766717299156120206315568820589505624474149468830309397108659201648240764976398960349945929522511614262391802326546796298634071672201048045379167685689913198641700373000153561766060395392175139510777062942434888518293216490228887458071966692299321807971509195314518282093830029759484945481642721951214668464926743072659653742198635620893691486733188445687980264258332894848490785607423920318523441234096327793747952419230442163119254728948512284159143200323402237750674500534453780635004713246964451007241528245482938789531449535664188867178394810498969371527405726586447373108804994869486061393854711176571644797197189764993713239771725119254290346832820518140114500015504793141070178800355216395806732368475601034356306392198671353244739763230348390176189062094657958145381110102675804426008999366717018914915838244544019500584879506600314884490512163960578576616744837780581032505482074534612680546032129668171749117611364929392541470635868718103145663969377634512283555779777713709009457807332306604537891539715996332659800422410111788734491823167017900319784453707500414095761318778820716777847996753837791916355688154861633778787612010269702788189085872443875252865398513530935890011323684489861832603570570115039996782880211374068567156077396679405221853700990810792955692438329792466058619048851112182706893309170184283597923103840086124440617379164246579226917846685756792427642080645145839880172681963126134826839149889275216156346081937822997921083841848664123055983714640580690355543916898525155595348552314473837308292970593211910828870242739557550700530587303263882829935652264491729691256797548074113690426604279632134022228017042895430203117935581121606162750693115366490535272472641441684298992958794871123462970521840672997065457507043463367940964682868394326832978139985392684273819607021655881706297738867598503192267897915105391204620021491216736191951472883034183314576519929798417813646349957199705921261347097305930167632758679780954627168122049970361606358471485879498341617707797913069129357683366524539765670093533419035639457057130598730267049113249368092642265453395176632104473431975575667019153996291502852123354330944857197751365742698797446989879838201967847611814246159812535716565069788047798830360706531237733132580653671669709106090330403772622692703653063602579262019366145946851376872974057497937746605513121257686301199141200182268972103838199082081802421664696552685878944467770043754851650205398331178756146739720174599543250691389230821620777636425097165810824325325241329803069761828617497048046163451007272177335174793858910225706793884512511971810809580216148544234202224524280669771960665236262273868046735302121538151825852638901585356823414017508352147433062550581077368964009900638088836881905381479587077853232022422059618708781288982279258263497176228100277284344497899656360907731555161402985764716340693800046027972115203257374914042049531508790761793098829572741404095734701747288120015860879482878613841513601109957615033953088044878560341714856575810058143185333678902876645988073003889535684850834073006123069611337926468269634801793347730247094822538203224657166387253082546560677909914459917858369382655168499001012163045088173560676956125361155875857731073552490960999544683324803358991537928736784987834006241756675120343315753786019548972946784638436245210030755455273329841812393651781690565611657964565421336142420331777411248567842690890141104007873623326432536513943797780539557261284823285514936352543858968811526917882646664851197682654492055094300496460854017961675297279743706350418619786244622775438353287771736690296981794122437046603888928847872378359232609905856007582991179516945039650689717549291642892297110482368607432137064204942170990405805170313841432537047281713177988105827751222363974321999866488475573805719163883095999455583765696966009801227062259991705669024497663629019665390640832714359647635125163070419527716003172825049686715835624380076435266194486334577914142590784420130331184992631902657909577817276822992005592223039377114288835621488669010432229127547764434258574167533403798584869042364569385208908065079717466022780408720695834498190012981876489684871149256100677722325876625239298796538592759422614656481636161277640006879075069897465669182413658555242519163674108351740273584579728832369492550189140846791947874440880660273553550489108400745823198354659202099703120534555856046290567014881459909210793601211480521864022930313831329677694586956483620423541731642217335929066743654857915880084358885942884953282721339291464762983328858815494648926164280153412074726774186106127342617759490944163979765704371246249910013767183824283927330473446198685050693020279089560872656120667352212740320428064957573790992474184842257168553675571115840595042201829704157656153003213288534161048976520979280141286600625977154085885759929960778235550331100711121139238065258435296372858736800447560884557661036165529427896493758993380742437555292485416675108555001643624737404337340810939741466789879603792823876725511418850671432124838242601987319819308197420226167921182575202179551648811049741217506009692920351913759922364244333079999027193212237492263786434199216752635477072902921697685952740089431326274842692672655958496916763226820955067706323537553413349077323483578744373248261847529067397191143307575659200003785552415130868892045801603659106353230900613275225965426755921010102272671663860511898379693756056637330017952908368710914467476334630057024223608236209971009759263314958071268467145398820975027184894946516873217807042101144260163575942034983761264782745995877386206779578660831238563269543937813090223282182402684223570794095081654845175586779206699826668351879394494484843693952998342578456578872281388163399412450326459834041211222200550352962721858821827689054340161331348351380920329098242288449309769132126587654704695341613702922008280992383918796703023076384698848299670588990435850873424461119738631021044277305546987031669343787824404655034234250186344300881373473238386896730793752103792493101363325557905161448819080856670046854204452765180710221608790140716278901244839628865461205287328012895651155585521772769322224138813575824336766293666891351336667031697609032462674114238290009978439107977859301376
97004214268949881419694339694314998578655544882880290413952691371400867574701780213321672331970509192769024560637739151928715705811220713590800643336436288242270169568680694818174298815116744542936064277583046297050914224748574063790532685462359166508987554872449093754476236946646546379691792769286746397198389282123335746901573935595545553780486066926546403319274722864833608658315330189520403220995204276581463935074564697061267217320362305530879826287320065039984134092561617119230592789165595346854825046922927339877763172918886780851969747148248983789840449375162436543936466833774513454080762463681221017198794014372811711078842198807718035466639196178093994978768451534016729871333670472118757206198807761694000618772967657311816110673807768851450443803700680900762295160086509875335016488044823027968924439857018494292351913904805417365426777097653783695096220135212712083252066225143186044275978312511241836849940184861599850100055335658705899058175116772410627868325821795210192602190225914872444354313831235540262934636758742469350403890083377234904699525796935950258806392108250817442720761998556979063128732238686541455375719145950785505399753989672035704135927977540090694334228690894054232226581357080277608415852065423252445858544436815444768210055834226096928867354142693257410139245703412625458820661802097748740432675939314443540743574945486118970735288246171092535185017304524481132291510487558535792057372165845376913936637854620666877069759284988432753800679051796825855883422957062282434546096311213680966665237690786350242555329625756231221172844198868815641045243796720917039456720552054306023409783113896775595299923646661999614784222077133085721133216941140356788781889764807058165563008736863820744369713818699785308308144042020777455401996960822226889707644554174102181801182079444726192447308648090895434153377262725839050392572087674155746852370456751850729788019205724623377217297723103970290852977296081856825651472605503613539969725223951222620625938481002605441473174719236833865326212391630815496144868035383097099541900748226764806831954126027091462260749209555191776282412623244924902367296635137170336791945525050176020433576781544232963185653546849577588237242143047191841625218704951787351061105189622239612710098970743025854872507248642814417502415578690676200117200613445368170621426024695588184264632461620459296031467683762338968822344207444877034603908079675901920439256930015542610735057111938069094216409002033910829211869692400212032176325121255423028511297403728034721570517951640154226405595782967822073638544753647740532868042935978603930134297929599233036595716106148317563023788067131549915238876047239708434538299488320879161789599086567236128995479573959484389917717564871278598516853121645795691073990858948556966058956751040192956719768633709311195171520376932772403512147453492407872472614881540933842726823478833360477902559671685744571133719151916486298495281442160190578797802703137389065105080271605030651667826521142033417338413634039567563541625467560542637988013367001570082957857975822201111011692088832860939561761952059164579436061256610991007341203970114542902691276444894091380042874168427180290395993923648366418770911317335555404011059904282259102898258298072788612915662646543758296994105095538723893985934168158759212958374944210624066979834141836739324589795217150915171100242793533572681630202240394610886386519868751138812823960283831626893081286849025321957959062641107087420723949758034261408994540155163054914927508140132752307030610933080151056521453337456887011805837084063472620822107598369725048905736915296571608779916551402384900530930581122840876509472371327411931975821467905248128872822404460498580802516552278653467275161263069379259517258618565380345283269640249445868392887447756876018115993894219740954378766433695051518793524112039564261533796364112415633492670194944950018294018702933686865105326678683703180086683064956322042516890264402664554748509955433975261577961652140976979745558658648886708747037644885464036880545171444827079942849401617527263413066585970019093500967018274036536981065200271587615556905307647740959356050671192829111346048903634445214530622009831786197827819141189934269975741361456334052558499166286913358733999483704481655353476660594464602071447877700495914075249274229133039361369666190259596778460976614314129246610687740499239806973387608686108209873354433805088710235789441509140764823745470943747932956956246417715795891467662941775565453126640126067611320615203166627225668059876176135714597914587144688977794218369719869849544813260168891797727417729804207163971442676743124900736167017528732703671251197307892851363678135536213869207192609714439529686458643135602901271025470093277723453298536602872798079530817362716035352798661448292634787934672012619169428614862363695917884410738106480538424350169170448025032411247864841688358007461030462707073982937843897995796894245509218871972844791369091119858768421449487204333315818033745632703954520706058660549800594297863518780470436005782283900179421218547131734959267988384522807537419716493758215743761414752219102095840949577785401794627319323380393299971092237597599516659590421222541519564248914629971423269205056269929504422028762034848416360247595399043736579063529704134999800778956083504889913006042140862141593295632763801580824948861524124298070005720494278112592754632361222011766515606520350823053417058593776731799065230763129514286598575621045904349666004648771566847006537371958261611225451883288669237743740976950733007221784825206352289983409126276353475895631448099725434314611351401710612984632280605305430459619307289158391643171234932965656309893809172794499637827290659215074180328449728263851346350543161382845570560919858501265859901025461860553053906698871921852343705286747861172998144356473117913581331219697351473632957684896859949707565057920344784062921249559943998534540242237447210456387703800219275495571680940750816225708630438666010599698113788726504226721531538018241070829919625706008904941952732656058538614150764814730126862158227694774928335764954854001505438364439899049634164395813859149602679622101290493314291708371037802969466525112052262896251210508028522822198271099314159881486909130438160823346513373924146448488040535996394146105533835257691986169042311374825854144794131075245469148623512054201833648077156639400750516904027506001778209547927154416010316412370807655334316145740036220866534605440562896583980489612883578637978550602469737482102582981693376665308304064503935003522975346173959368964118602491474321423915397088718143409043800947703723342858015821031331546734546864234034295875030961325480995470720078950691721681327414445505955070224362850118105455053929928135517660859742129485841028187136685017706700927339915018189664814039966708577924521829016028222511794413869291409517119006033192699365927325906384603241175147958685121409895664882665727430395168570363161735630828372649342081146019945957232411451104179511435570067423577799758860712928244781405502397272148575687144907359990054872523714008299990210629168830103123280767820495164941842377666147428894888229794036772696019753858912039944376247191142312964626949993496003048948499227258501757468600478871301375866839077039789184351397867063987596821744909071822774008925240075799064698819827173088986963621645246010549466238357669520370760780200733313422120351729988860165274071250905673069482525044378675398951181006979482965666540125913973915349973685483365166454024652871993466105936285045576190546518101585663030423607567994057696695656538955346915339805885955227408473079597874831949824
104157481964829072240166309825849389004403012230257749402727277882837028984842745742299121548460348054852580042439964640228152319935187528677567872396438545797044925773464502527653819959664492058474215972793262442471894460549079856653538919619971814790480009562043577275078322823748453393030862125923962255553226997649161117842498346077219609191349205108296009120677695285980944417281695404857903439726865735189181570237180673828572501676970214281572193002550194707831197071607695597992282178039913785777812509083909589339817366329952896121482270295779662260649716781066574910970598038212550880897218131063808009554168455592945062662357030355969788679645861654160475011949678423790721578561100645347735507197051952666673554258414934254996367427480222751926784575395067060426469795617661111336233214943322471808555943370253337263203533286036731207034622179276199825274075263488824100257913440354039244352233712660262830404365188384191410604559998611111113534284831994621180444321399720687946668067039568807207128339435419277175548876466109586986566768074820984286648535001137060842064047525172438170438006511000456067173656100774890386546739281084918642800693698021728778752035650536528015259861180193713982065889047635772593686794747241730413228614749571268416789122566583770944802831091229414484064429775566435484782934292271563758845884012280403916983024478246965950318311022609509914802344658031679823640271770626231528132967502001645509537816550447841680681267109904415603967284057514914271906627697279528822872686065282249454901215515498483703744202053280733090787877149361220843135649340815802680898939094621077496630207220159923575416025843427586977865707979521948152957935705367747338397449054230861642765718988048094925668574246048712785351188937734122230861418869955714440296533090342567290249580851339093209058948211692092181261119197839369633898948269470735909285346512956445317978318875301788346766341301556704001742286357725521001281862183719482440998189666744194263700955206303526915479731870104045882540337648401074165438055572551543218431230073827971209306750084764655060102684019874349846535277669203630463410883006961247767625677896576013691701410004259354238571888490026334893223377323405160686104581456653849982388479421760849432716395252066139216689965220610957077142541227869342194907232000454748543874593193237709901725154558029961960238584072160029026889583001257696646591311378999540256897550617239529071200382204116554484261954852573911123611305445968122605415754025313819092525324478885404401874460090018842990702053379810577406656113360487355573240464373387981408915969623887304069715342962401872114652397154591264853935636162673074699729338290447927488463555227439438019786305525497999670929777268021725007583649565576050547265127463846750278904050313399010682660237429617023688487088282380962565923997212869893199140704892955306234952828575888557871592606116144692530607217350082541093817331951098433532265968401658870657363583642499601019497720690926621524601901480680113763848420829463309882543021162820647271739001738092278120632520748789766136383400039057807931439869305049217542670141741226830785261985678828817165229912907809483776186644197871113693111426156018122079555892377797298299986579551395811729998493568268562329629584122531443656560839584062708838898729948672613725857225282673255192597574768250099739086446783971593736410184647090195972918918612885088390958793706064928769064553921539661821326215237592581426455589213676066499786607552246021601766427418160989064291256207119823333624872401691845381418309044489154423655590192197768000390535159494674300157962012470586521046139970592219130805039617266700589039082466846938585068491392593481482100305506633872730215955964502259124661830628578111755198207740205263821717442916781172764233724327552367709162157457385699677563328859449342090344511545646633303352535185750626212231853010378131085583035420085701371660875552276111710263491303307559309475812940829835308937597662571906127374007210036648990219400955415982426046519842501561344182428932250112274186874581452901110770554871965405323060692401602539781703882280828966527178475713123012585737005644981649433878181380691328045233667362603393553483860965202367421947474761511389657137010936447908409593781394288129346131630622523059408483705428965465503622540860513400470478409212942674997646227505672378092420953013130409620072730790398752363212210384025005966117494603500482878906929431913516751624594116194444119301448271585071955426926720417050264893216882229986578107463908235396945294929459528957319421292853359713132426950476568009908563116563943637605310376270916169941425648420756959560759819796648599573497976628426674102419743240251580987338550442806608413472919312349508499401849899116899253585393762518248248215362962827919671457999645960107903806250561407099638719548263836659785429295498912400511219928766496212457946657596142625385661276901560708172480407344844753547356259356627240773114645515230423606129211578179075969194029739732957671973958400581534923944061864485666467099859063448975552808332734829994641570831187691898096868246732030484013543327203536011250516909347748339726470287883039587005976420041132648314784805801088952280149296742429525228727760090146163694175383229570179194596396095028328032925918436808110309011350180846931518895038470569064015279636643812407622013960362178621728135987949783127929469627785865277281927196703050687102374583596618326413343143762124139909622364461545642728377690630274306395580386610825867654081174622017311324410752589884233362644986218109276915344714360521740162982305177710306277148946420476978816793354277426867845038941255061535542487907504297218288014469403756158681174530318332097895287957493942965244402791984971110719055538888592669750549172556112120988789511091483993807069934751835495892956185978899267739891095971654271549171890056655148607193270853466324330566701438408859153605529619176470573640616067817343681180539755162348123186548866747285543686813705231512664631092678967289352614941283900659902332674423163348484725171981594946820713547060213230148135353273943930054211077031087773470092722670367045147384214394199333387602980756801145548297533098512739132799299824071180175377641838924721665427054157707045242670687306705907862278396763309703259330263748781460311789210405229151291378736922364663725430940262723872126989473327240520281963445518201776571947436167176191831948119556321619299727804870328164806580097350667626390524596772154828833994805874804869327175928567068825860205974107858554133421698791526582334877195691724509125920268925480324513751743280695039496139493593816132347731411420470095421754066716165939735299808844727921512799964755455923653166733956739404419652355752922283771127779691557508225865350744451819635963875375894662567737122203015486268875291995461023855642442320763147333560654450370163857129695715272628438904322822860806244153399341341529213624423251447479456278609683467112500155463427088522632257862675195407318985862061513932704825427683369436057317026181026746140683700162526382627943107927238873699588503698982987834688515746003354507592135180188637697648048499252425435410201292023766217388765573186450487522842339134196571540700910544600576969371695179759380942202730995566924756981529493132369083179558626385987204811876197332576631327012332296107121000582835192105836400398474091431188414079794213542322724853419053573845177276839869573768781388306770131720170568060018956302343402910835486408042915741102812670203932620901968389903245607114536411882718143532411233025015441251429736751791501859908677542319308581497498238976
111838244668162671875383939575756645298873234383211263833819297928472289796925918166504492725041518512092261345875485043294080048157039818824304035190751175268026552409944385743295623084057758130899619315596971989890467026805465046804829415607737923241720183302686111830827548091632494863411946787382112917584876085541853970742083118833937028021686460513931874365157104652485380887854664745824543700188198876305132804293654489334240501266873056676366176102238282717141816627771505683825003803771269773143813662233773651508826454749999808515562898491051474057853990321585832810338207547921166082547385752574324272564502264311631833114873533913642370185777499166589925628037269506974494382040355502383254637767327691079075726161993418855799880674956802101580165184439764826064635896227414648300034129502627127499907437440416525695079329913793793497239076849926881800178266873331770593026090847879861303998349125106122503837785734937745297987673195626131913712974082041438104479318790178324566390185025620891224086328987478224879235418817871182114842865050443252141421336819048749782556826314501339675653327990045505762398908026394758617050760896924569242412421319779156250530503203120118169732223177607991124437730994190057352394469876616954582816366530197956967836744688003219663070795176260581910571359760736615070609152111055817973755475634238399301278097280309545541960676658016040415665954152591592143619503730847919463263799840131970500412544539855253543077929309219975676257893220242184957520654381365841116131890855515545604528636887428442161292575142114199532959732807443037702975290002631957618612516823123344340077072554072485911567805147953075653532172912983251257790484879556291617902022184436920297394899510898195645212519330431769658995106090571258831204088988654267622347138541300784987075322358552310784800968376343805185083452747769461609712868946543151489858346501293893228282300101620170769918835810940029394258861731674517411266693039263580180533368553467863290116600633758645287860301133236449295698551900170040057956735549484858349373179398035700468500515611527355334965485566795536655032909124877174801204766781345174875326323533906012295976445641345286789186310702405482636284514406673295126111024748024081816712173770907959761674267512658436091166614498475371446396740926007627122039854798959450530961249722565043095461228201821005201837192736818457187225365898369833491349638062638921650602604580887097789811724257345249520526810697208362424680292576574945412194744005475802284814166672150263609446311796072036667206037836583174159116124900440462702147781806888628217687523086681347842258775513234949585401602046743234698731943551908947943775632002298599438482596747435557028900295785169500675015538819679383881269281717118436125336656174623303700942943704496825370195088509950054636727333972772761808410953012717835398330535704407555267196822709033902549773402676062758005733369385042074224630377131985910824478023764723560405417653331474085517947742178518090845983706569733766113322108640947527294358969301837642786417659378198372989563254862523369283813744721259601929745912213925159254039435823563433285106556820647532326756476064992498954341055105461146533752838956004206978757016991683768178899689103036840632929178001244954637674158900088351809148865461962894319060044446371158640849373038596496626517191229637239382028605463500593022720046875143423316479414275506784711309320262789876478925448901460349372373972448229251749710946217287265388626167603920818531424085397939791123536146707084160892804131024359862745770070860425481819073622160766941981468165934491942501337533619392878317457896720182995729718297827036208984936698815238651365147421112811624897100605385650298605525940471228334964635037402308528242502365060498918110332097970080496652727441121779252759554476460068523443303060605056976211686488615411675302600896445372056198264040962263305401545028555419427227126450424937959539406080672621595965944739870969431438238259616388095016363342831893902593605937742055699648895135324539819200550333030464607977490202829948474608770401633716220776482497121999651588239288388098574750927562085748404270184208825540892709660925869506344956271552500131037182707602427338790524760059182619204527229028740809525256702165933360199185663304408722165291325654941576081362868745631082188197613945260923472259411856028659629599373714664136941975324040971543718049799789276814750367669880853872765271278297534462103287143946649582290367324810672973402532591354995494941592126125860353218975872626764842843737405005775825956812973569612804622906928867351467804219270633998493454075520955503259846464000348895686297219464487734364776393093339485316227300985737920399402788228616057975175397136158557046986981651245219651995393769019238324566707323568572528894666156793279244560491869740020406283172628468777268008316074300372037190941135818778887713253687167421985637945748642906450863239850819186716602670768780299401999995811289636636934823137837219635919629796965302651111243620111773540539969955398260341680334239438660930634741003827513095266776350490504668385012553439933732451128304852854553575969814547185893952590871867993340024816003820155955924827467563548347032807536464876533536610548162318627946231586454164817694944412785286902194273744207719213569101191050779885314113901449071938997113739120919984372873892772352749373908174767821242156187414061491396064246962270423140431133756960122273442034890445121037396100989112768132796282420598098258443369525349858133345281275721482707378421048657211075020679648080966287516826403327186225606874254677641239308405624559249201222184753058052922527106539062134238622405631795301607383002698813715981330273557774646349207431833052484780788453493659656635461010784645883540426010984293542090571139011533191438254377207975835996832708047283885066525255295022949963109830599130918960362604478762166726967809278268956140552085351497549780568891623201417141902303065667230012533089913301672446363326727111032603482750800089740227383705812546223828396398334347689925561651936442302231452628455965001943191568190644423248927130137020732364690589876169489206061806042675192434647251188923545644562426318473283897440203688098419021068107342629036945744839727962870243146416515746420036048939618746536431857054572022416017682972564155484030528045576960457835980421690852983732169665976436719190585134264424292038600776403307342267333147009875365774846237523335904982247157989920931403424778312416854998038322621376066538896035443534308498187412675931654268816649222954221592348260737218918037216134370275234615763719507709913393235696336860809860449067678527960709991195608260875233706418054893935789491228882673503658957414955992294832105194231181912039666306656340703083116283335665686747454696038867544221820617346581146776746526589110455738919475665028709311014889918153524174177215133314881881816717263400149303390994707860344572452184786373872957227231587122613710040019930127583767321300625838707205836211110829360142370303892508322321192738034952237871412593882676819580174531049546074022327529901788011176740302588257368966362579100601076430316505547776105627761923441343723504755389608593663661624838558465974886378807500658685926620256866545556116286845573991598956961365702632104212265745452814426999010624429335365524986064766740841762150116168202554518522263111177609451897750067018221705520393579103780760307220734239342837394512060593882137763632781936203339880895614654500915847404539699208618130045848035081064340380064165054121703149703809365053514385040466369117517475008147708442474757735897717771586715976410554878132224
120085400822951262028188251980378726503333171831408777406270365844117257980007824964977269722780810562903710753805038187271304479310147773505037750276277354862434519265085280486565838101492682536822988004834724353301899625573956932524462908723506586215536622517040529816700750917357194172310574606874610109101546522903690310886246961576360297569144731668333188192582631596118539007859807171090141936607785804718623677844503603003535941484966586652136795619922544167331530252576905568176626881068301285011504696003012034974227669622718258395151239012508457432768825093577918694331593029395440277681364544400767639990881818934101668905227909833760217046959950813292746603873083300398374319249764158737432181812749722624955298443303333038222556854910467809757719847361649502469684889111098923269997145474403064673631171708438731619577347526334710589604825340916664330755815797730032313705396466592228809422205882580252170838231055153235162708707746587511703094779403315899393886726328043547505179806365107662475456047620478942342112418326904926881027555392648789562821652148603762536442170070583866113779572787701715200320714119869348261511801506051662968762211428156158509625623476956038174663818906299880346929580252122965584224648852831743763078404455187305395718535575518887998898301053688438719958296711653536649501759778818524556952188537494695716594669705009010714835925491052367457174879786504070475354075897935450111089973433514210405827158326705420635326958390624916699860783760700077398033589953121349851329652311770182397761761231741098155744791830750759822820131623216528079293458114355002974099700162891145128694432184790129650901117799239725318633627386270029486990249444419192872482028353605763213067421849128536470399347373493067061197263220763492659393186626935948622203159698517004204654073054659940181487063261381715830532164145607793640311072018934201975428818473923323274997085298029027517684135095595266316405125323931994899493257134426980199816148443464825054512439937171563767156124795990572090046878471447244721983530941989514064437586903526075038165398177661857943261971449536713363033894623771861447012443681296177244231859226510367487248176603974938050824012729431584113484463081975661680800761739452518005801763147779670850618733292905812257516670939497790555931554829546878583930944292529873715152100750426483331959145290703526246934155480271002177077273878783023639578048595117741986511131341832467918898809420666933617905583158923218777929279968025241559590416271652653933159730823594634050087706457987104686440692050465831349319014178410760825208127954882611427317670101135340538925401899587430908377159954192214085076527556491752447070696552900870353721679223847922326667424310507411803960415880585348743870277986108601629246473815000888628756426893195738275202749572515213814539264970582191601680715229453943777935195962147693231980723782602683801631944176082106919546750501160835094698006867506440630976377085049622605487330569936661192773193423443748481964248166466717220907871631657159045334784608915157117348540006557426847645982239462711777427743933275656553559295637123878696922783189123943035252626354961722221630462613837388373552257227022363840283050865798212953044088677449522075604910490527701200398690049877431863453510495046700632709202688658640766466770089367638060018966715719024687766415678267492272384027650555492177297096573081999613440735542634293540296582967168161299216109063472831798770084386687422343889822864115928670355530057163649241504298772715637163164711495196140638548976120831147457032804170282506264490949049188717522083802688436042854689285788148230937197293067532907448611936114977095549531119510412988512113481974566463885416616338292375050842079800892131905410200554662980925860003784373978681814620120140929902725457204951860983401056981599039526998988878856421261460860402067366750310438493288907980954536976431316710124011379228140875890017157918459762680084938111859314264546872260241960736892227086093434755285579055084345336770328385328450600822188098217429029136391938515737195281328758836952438817447399034794927012763850656423720550462298983544861306205824736006156981200333175924659624964652528812920217020802460103572282288997580404009783109093493766495954985905242885705451874036842722617431125688579269137500114962515037339092806510219849217270032300125028234287459438386961195921641125947462366598743836083914533748572902710969886528497900020446306214006268041642414337026081177297108972212453128738830860959494250367902970419349234627424886254153574107948227928465897974907467499843809555717984268219089179674546499178774631110104512293065488215684959890590508233927363122462485672183341214667118959023232635621558343279935085954577640903265396839855382462574020414179345144951649710960331282677256251651543066285646995724618551819916839714838598939230800986148787800995091996971450687376345920203033873076236589671760879897211261531968081439281522794541640935169584750406494234839622765138739626960959215598273733316222351567178805294325284814526705702705311184520523777284283217344892295634205175737777312238513393491920321202496910732099963367551240837115839725492285289456138098141206245224079187851906985238055191752044743041054397380761447851640164077565708623748397089362682878725389092460905863257532262919436870679687473485682746885977636979156780578581109747366457884155021583711157058730366860229019770330954454703324058333706586334385148677301538184434594461686538147796597754506712137194952206994855170910239397538786231758204964075025186570445705403050134841240825612999892606670800669156211036312627953846107433390851686013543322922786064694903266711273070351759542541557184421162034011517876343918151952928810777438496256034212421292150973608800789342186788602771319383235750628004001206011452438359276001491164010161550076997137188962543600415250282219841845739295926634416658163606525523732632528932396492320660232918841449154610361331045723530323330684822823864539634808700606676150398187037596625817035437155027042784457814611742553050430858992374688689668759215447902164866646058810442922754731022756410011095078707169274161473265115476996282964329140288180936496939715317063108747307273238990323531197964006302295085487453248090516099151356768681285770977334179498770622024645483430888343713731214778266442542055340960654372680710814625646868422184623009903884274685692367837643435876063103385318718588886043721259750572397843937180328751038913874500892201311970115733937184953376799075419596043509177413422453180495575353936575258223048561068205927209025740586952000968421798358075337232824469734925846651044413675767388242058167746281396354821641276355602768346741147192132483329815239608673172046382970405013663543909278860460522607693907701672938478742424632682139211827138330270524080704075536245455959282578665589691539347974911191877375758809136676485924438126434428095564754895376042792313518493309045306132695037441626827450156665778112771544347036364928040395004996516763390983312021589784976185944337404393203791644932436012156650258535515207484235892772978682160399982245518875427388335383150328823679302651453564175234800369752713656766686947724712162006494875572957472786516438573520702138628292364763233150003396193673824066424724194307075237177836304695224668779432514070133514486505254757222445968986439896257701690177536577603761160840330418456267615321858270824781838868381991552771230785318787532073529843342344142373225798604800032724943191662656122508672987474898072814758012701046949822249696257949513327380842393403588672986900483967122935324443045445300925757500735786681010167697791910936576
128940717315406789153248793096783466006486102001962281141818731658609764253332157512167429710678641886010697121159036643590344054473848332032838107170506550939885709796255808585196810499185450069741262305441357745651602126628697563626261728233123473559083550200246569567310649952172786930098926672873626797835533564723466210742125869037459021193076230301546640529638938120736351394514539688174609071432136302559882794618345687063588560259625291330919416426450843312951118506113107285049727701445708890349796913270839651927179010971966894607313004133150789899287555626315325104975303160208745661040654856713809232763984787630740061771743499040609232230638671241215237184412489927473690368186000079372555967975921513626813570068976881401740549915335269062742539106987099124430491957539389096516362779456478891973854699013476199881451455242008520182994400600757280990501488953262659956096972600681894826054347730465249792295801822093679323107784636503804591702334881394045463392427976862301049642414734437511462772531803843919304010620067381924463821158321563747496576283364735323039142282162106929145981470019007604447120888964051068644006910746633859634311991921142038594958538509283998397477159499256118614693920299468892938694600084999064113268429854722543557243862179466540546388771763888546118880246715104070498086868236118439122770634801041446969061347717733917101383470497490664712985197308941611215631232500483648036542750702613091011072633210453466263663207138721702557156578501283680622305760889532592682708829698525932316585407022422173429512448858850620141540804953032595606807774346975141476935236810755835283933074352740858868555049469394528476888652257469934017894694708665650775506652531620369169311114171260727560177117257224055077644269034470707280707450941978613004774707593248938189720933690739815870200810338679392316125280820372313931963210397005772565081342730355325569437023962589271611784355473406875620342600388267331055340586591220638914562475694340682133873086688829040280278528731218544762770427535438096467556969411612259020422868095950599843040584252968919403226997734061474561389188187152592269990420629052232038448810004784471140668153887426175632978780131099087609222230385301208496749915690709159444942427744712925329262990214494213113587507964984151275495921701833674504216549214703416177397073097194700990763410157921014515614954513285781891922923043552038702995652488882361775357845563282761605659891698775296599376859920845898806564836015874084550235218260443600128631703457875524601553681292175653154497776750089481802694179441808631749686720489901044899851318521823325021126904035596072911034868609154104398308561878093717313474153173662293024792641038157372417646204020546170715903587371418278547919381104191296575476480539687292717861784664022645204642814295807705948973388089132228752306132636098456116113588266193899088299437487171985172459537916292578657557149136389349191944250623080891894852286032212984906927598735054750153598304324793294856421522929050628584069829021733414095995870316623687464428403390377943464137967076072296923881547799120337762616311789560635625988612408646479556744251323167071068434825180945565031614394034260175038657167712926952392141986128942397501388282493455948609443078981366044665500291298154587302547133356506033049946787751146250697136586795931435039743341656325134312455530677973888783668715864285215566503150297449776110909470496134473628146514715996250190056591365995674185386613657152741397961441572065721003069042268056649680898662933285671286996102333313680666527364777633944871725938063566959272383022579537420362136240675423559068879450906195339223895766552266980293575826607872829278287776230362116541557364626986255832383267501363474539363744211769640844610129232080618567948745837667221210808574990478953044511484646950087138367991564939008799393365152725187745355282794023843814438281794148807015050235244529179696207104646534663028850721529923154936129803777154207205602967044002844169668565331295502461435749666669541545387220712148251073394335458624840783508766018134657245430257094373263676544396631928285092003020719672953824805364752464771463569472224379453725056912288701941813797508590392279455296931300831157114588121429402438983369996795187789787260395421972537748184366551091228360412286280240060587819905616567562535539556496782475163244335316037699631332326124303648241969683091882665499408527302225953851350770182363148123654128289624594466033926002135138883065177750164737966539068274137746507544806513090092081855157789527386238787503153478714813375050384503011787465258057760870047402411284401031974493090763860186559868160074242289492748184185562623204737224006858251047863886587068548619429235815641794464977293089194758910154261581840414534165519065928752455618903106136730963730864408103510209472125535356027003726437090614145407848398148829419095875927936989531442813764041210662766849696088472676552470676442074394687534908718781682055679224053861162180895311993900114139924946099689662250156561311828930869688166069406677934002565754667766056596028324493090597818702186921556948798894176444254950634906283850190016607651749908048646141745704629001689494029803307094075884545248207850455804510278122513055526839619525100991168304681457516133607808578111736170079248677710306437273725963710576459747530468630526679947953209651560413456112081439684951793574053386469391619236691460745927220119854072553258316510691496183459276941008160449865991601587060700453918341310434646226331481349828992190989957439234141725091772016674090676212437706947879874516968422799290820078040210579059251373396107210829051594253657296258133320267287437102120827921578612817977207000682906599077241554125127784646943426317669017771346251641690623286089622000919402543042087929442109901322161734240936706053136581160549164154017314342246528054874233189397995447247752435638236740208723712575361134155232139937604182355587711378541661582074587384896103010849092399276828013141516399788080482356305847676042157581029120563476107688709772712266300730786394520359200325077103475811839447477461255949536254126555993003853193005090048459498314896374212327840618911338898029383284396252220342584080709444066656099857906738622777213373820477533979719435273404142668878589858394449064552553373450357414332443828119520688401751565573097698512034938355762199712667945679524519175406566765785932349744870198699191034568052695718973206713409192157391505002775347610060165278585495081864089985101648811673264159198522550621100727516627826960579920304465303898077687160801950820689030527960784672120282988170360017729788058805012075087836720245229020050743690549990155739293140298747752989104079303841932811100205408960413777972949063245217389838559453174155523024778492889281948813604676251278650169529193883444986939851117270521973993431745747813761429056862351849404427431597106482875294416520052845439728546231474001353720770526863386102705558355538320683233664487398349186595722483715472163722478345449023170010846603622943100097692436007064584252444545714200456367822329995667663861898752326548096024137505871053127832730790627572937337188820019786248817670177294153190766372385686925086707837307544360401904224523359916076816091443501746147290621912235189989114137980515092209381272562566176870299945023721342570823768270575628604706308480947405474115386859111008662980058101053756275916053507822446784887236068610575538625173598153147346157090436108842855867543157757774642293340192912241977667229989390826210918203082676237318611778864643456684940054214854149694869878694053761341336607501507400552308251747421724932942763626372967221484662554624
138449040998113269087392774625538887322846382994237031332417247608482193573582868884969958170935877216527926010384852999771533933838305268336297217089967183010141796388166380280864082704377735672144910195907048590852479335968576692712418322374426295716546142960408316856947028054271521001487782026173579359403205061799396664724618624257866373741108327695026759823366839479182582169450985439300995974846488325727264421119719881890190784678703973870192801790752890345186336807594042966556982552853642900897206935685001173871814306415555746283272028796848868013501796278701279577369173490195502786837878484002344171576041587378883472396664536320006007086565555543478792750983691303107228007947267296489633020596551554122495658033815042450136574840855137374959944383127658958334799395705674200339191416659309374085505704829700935441298269319008589884829221482843818672021595423392099252351323281134201394303758055240017680595315395997390735264838024198772125234040320606866038601910843664756925880160944719409172058286396157380124797173706521670478413552545988636769249252255191763037277857444263357784244905888410539868922094864761664874965187013695842303906131190480316684029178343332841373320202239070191444501803184062355335254660074217450139273786473825838933074472989385018593249436406877384842394596945445853006440382410297475503716701344908120368159203066337853295104280535425813751893162243502857136170736896437393124931431793401061908507133379875280733068196954820861932106768853567525572828042783234588574580832061400604676910960388037993396249032268408983414309162080697453538308166444701497292102495103052913396413857149439589200848875061677913182394363319837484577533898136405804469839527613436272867409480553721741990031647646833634075746219056219296110156898384830634096736915240241764977894213392078021801893565339331668456727943640578784720406789432576742372559599651660867445041148762722312263268753740680282122727795245801272246973246387687191214567692813997030511829100285773414134715738667895005996202766155161126340162577159936753781349303640657404089360510641808524935329948033015034623675626897952477790307814708765771020235263385166726769456384133797672489498989931261293454262076875261542400704552545588272715919309941596262799418643688605167626028169985936610721642917472688073806779773244781413705349440839643167524956911175426238173926877740772507681899490256195197475873146167482686854100611347829539874218420836285445536755906834801571007480350197945532499299782884006818251243639895086372950629122984575362746501796611585872354039656348030902113852930687404521530272252078427560813929640474653888254731569547993471153726257745801213671110117005543539272463327610088350658770724891697378820709703712330027874983027671765496829877069883784338072498830045042902239338028690473841738906336654284713877686431063070284513699760056128034744742575065650023960777658808437152725428884697946724575531145770340013362725509814798093170448910101717780169788923449010640842103864142696644524205675557164171693181916890238975699661288973792197064552379355913814854918162293770657064727717633075541055648394490889104330437283917251824345758838014909621041756257115001238836567017770752094240299699453073309084073696976750658323553675249628038810799752651011834404204198816186030194054146982856633314304710283397734838511528161917730853700987429055639966949588383855343818610285902129865149719561149393614662765936450396655656231711076546846775926736693414495195247428155259274717710463042836243963697148297147347000763622400262887443030628402250026370882454764485414795262259491185694815894907599332284287190363252136636438564584763709338755396163544245104469309320446492863195832376495213301960393847913993939638873986509414976428316580730529962696197554294249210007905087825117653675624114713764182600910187646154225757012681992585181660440228875290978356806078229075332571764035043089847428229182424929004359823538359255758960954619008443647974218072853639502159927690814288397095938511505897145544187853153752642065956391626611713074594291544301123948323099917301288276885726456546133471879331281051430123314288794296832207036234656922531910866203504678837595488805240503475017848253476557139356248426512340062064052406025739091828701548943350042359644334428853284730109617662555137813436257640241099216144308217006265013016670359909936054910899402872649993186920875780052847316783026645894948489200839415419296674561254831512337219573751413611918795726668346102044673710135933195962260790307092435348299114428734943797988193184421987188889146195948165210166446523570853960524831554510946819774532752184789997773123397640891337879470060093965506079272345820566989583280887728118207658629503613348119457822800174575123429288952258451978830994759757114915740720070062519098393656194653743433121222149490156924374479358697285770424362943802323924866249740755696560312202693915148207526079411882317095611895829426790895489642951378146348253079594497558522874350253379385430411202848182463778427050428531029007988877746579636962636466574096903639614706684296874973899103707497941503123199242198232145015754231290364771178890282303059985588968595432509517376401198113320425179866028221230079534766253458014463705202054024347952041263359655932351809476083304542071067666699754252577557232103550752175980775944882916499407979504397920882790559930273483866124184275562261021477409518576786556293902741610477163921913359202613316602652359242600323770377856771851304107907745720647271855881613187364163235313266485636498974545852575796536217736274944594009396740793246913711057050718052503176773744841231055138411004029903955116446138973380246316492040905948686564626235338833377314834063214909431719888230599143534570093739173311884290902744554737728963556250002127554387854117952146866634226046713576452096360409968029425147291307831235385541093471497480142642921575529139852720001646547657080026360952517365807580878167127493162705731697360996261544037591764867789234366750584059658785539667381949635710942743650095655558694244920407116206674092892229682026754944369129601447852585909459975758766088566485509429917150110761759217731458872131149922652220013382742597834696135694321686157298242154922350712053033643193395886405925438714902838437925109100357450047752403065939943517241978382596633970232370813313528130514480661843665229732355900265576672124022940672767794755662861794511808781547953629407282383585031245444049663785126805060042615969857629143777300703177220453483150331647981609033028051430953249809459725491210752236245905740867976964936575884295934313674603114212788173854969394712925846838760210289935287018102847637993005552684935065317210422066237547887144276182002591820633755405349828011079441773892783660340952299656150908629769394521092977420165288185861659863680451916946488165787787966698761792209136361981391709283224078712348044743391331257274838844211295451220422122609332199733192735317563614156952312241124903128470204207410262461378096600528442936237585708531958303932547110854429228803581021482974016980722017963517478109492894050426431996248684553580795294280021526029412270429470826640453002895603019598227431588904643270710435553031385697930498854015113018006896807434139096357855376805030137780815897954659385951568429237512770960873422474396870277639725162125401200987963926652639136401844240272567485460268008861051436585753550564370872278947756490628508524533176351597603462803473675400464390588584892609552694596998641790102573029778793836006384578320092795205859943080586006914290552527143316382587338626991612023656707455536640639018534069641527790226724240703782564328689153559426473394176
148658525812364922108499933230847041856963552148034651511214845776191308399219947851700489071664392589514738221327675001946558429397437219892225219284305335185451462952466381178252632459085402685598741866069431688398570877125208344716919556917336501716247642522473585926748248974372673951391797786498034841974348954502516896880928459315012086489043359560847748821551828043492715807656178184192492703048326494861099026063392148349838020848902858859429158226473474812512366903664364746445265446237246933454018211627863849875263035559933728987881728888509028993152675363569124284538325464734965278936386835703031851063827848732057718734648230744357497740085825504828230233759206494051291868837185282748327356625970833833523207289308817359047074918732304924760062608878047354772347505819108383021944810408910833910869227466248691795245848626635521174604478203488706568021725637303084918408746148698702193903060384288109342154663359153520627323968303167745720309154880737961127212070159161974946111196818196581572608194269324411926261064925685419155018720537049682727887159227125717113422506647015316123619723711330273539681131053990223368121851840586886696612531629249626672407121623591503335291498888228111425648560922144121147412470212590220285172889523792284554329598555461002502589563934492529345022727051947858700371179956490327729956089681344898276518814222835999597329680452315809874642047480466689970603383410604785595768935448778047377177370512318568826836702914660597884232486151575983815735027496420343755959982653045965260489305292643662810588390666116319429266067392439718954378264512429380837953193886903103198779450034514705086330173457074155000977768358360996073853117206814569295632847366949430536413965804645713232833971162036454077040299410528465549315972997910698986106887818190590928343452366655082279876963501317164629690327276404264721392916107318876375090232078684104439860702827540798775059759843724869127292334722725186403985632055516655836166689853572864272355031717125266943717058958772913978853695205288174810380610056251229729824898472249321626015013690106896222810660442794775496248621209750955367884602486844187764033752616309335745545725388268572905829266294950135854178622998071549014385845135403795099000633693510904689831120613809000702597237116081630744634822483805562552338337290157993633280507164538546207384799326908152954330674948002071567416770452357258637784227958491469671142812308133588585624017763152739675288946447573905531637468865700797118449427596677461457526836169349210729552776460978273860890488713001234114057714375467879644093901464039304773761799163278600200219736770919091743327652116845365256693416388670723508631513138385737969830406361165826437500079743013345990967806238576815420455120101323957866378422712790063184597538010430368008720499478673714253020621684329726094345141389711346333938933351029258404355266961447976473289107827420974956768581837859005100556438228254771048277262519871206752559755631430474812740188359137056493209499082027291370100214223901673981286319805541605563645988604910721873059917553158844749118122952041329154359225594695494182878792603318818265490027950915838940342701394249595692524143678074407950635107559407767521399293597394737301649060742239537461533305424439265714250917310246282518756169705350228783882773736136578185400704911487040722971713693604911664793975392675273455599750747330049023941733529714406890733914677029436301951441489316990567822154417972414878632093547554608858984209638737048828311517691499578726889165796177486365360861308905530842586403028498149019519427468416059703661485064427039874326342278018508112614320473571763906769201185987874401052966486600043175946741756417741330875525136225058116016066017550447872790455580770629963057650643042494632067119812246179464447063420222022472264941271142391331770368943363904949642577953850367431452439995532403631581481251974037429012525884767211373468511426972012211820878396001245909239757395351353977050818519631764087652698443042068759829320336186987813009738043954514336719144249616387736479522662765665633522527046537334431973096965016902094243165877616419218416029375251041411405032234616013640671682771069047613979923910518959944002816243132804052600371280489976748928835277665683408253496714057947153721771640902924174499248588934570176370418986366413672107759752146494814503903374656431215323393282320990043398111994103751367094316112843003844103180553616243409336140536162516869644648208345374240115863436275386672738079006204197774667336148018951667484766424294576566189330080305632909902464370240044322217463633817427724811556630633339466231706066078636397265869455160007962120502474478684133890640977194134376109341020293528860378987612550011000533612544528235811455989854621039147166401701076046366605047079102337050744039872476409522307603083902761766024083525657973886984700721316316786524725952678548763060150530022164937579383035283366431588699423986715330589642595721514173712200897412988851897850563878443476048750016241433742262192978070888727634888163325429153519099468185840466752133812421918691974376006854002185808805651033347552964648457041434143030964282015962549707712853938420838085096717017982032029084877217899061123324988401654757677205451776649910435450643061328815852516550171794950872934069618191514383003863257941518009567351993906228514018833206839590495226029513163385246753434554340774765256871271600681013693809855434447499862243880181208135621427451052930148196077099418371129603555713815996143158188471862850384519007967685404209902993316370871051314209009973870589129598996148010481006606062204488794835221134023549762003928740423311547009659034793125439445283835955162306067810972208590110149293708157209716245799656991647099507350932154759390859544810156938946517403884444129073684055849321295718616226544785237394650360459696643324037530056167044236931040196339765190793197612390610665929247084616034018777238373753907125150693251349071181127979012112327475980106176519131356518257081283349202987279047906524403198326418126974068097599140671778334201475648134206347870767927747551010276477540253226213283926723696164848440928811133371895789791543083685166053634818890447121525079226172473737292965443420015431927523128775842083823595184973739989727115017420816807466262552368405547226660377317897879615457667540931631178733928524260744306618198856168322380338298346535821479069403075552299022750638517273507195425433659108580085575939228799736462587989206459737154997106825991284973104990369908698801578416186637552509136938103471929074558757742731652929520983034318329465749156490330919497920663949343232955161395022095338683924781272642412701481382050274355260657181211753485629641258823218914214769364910183686702732019201433107891890584129790049451385930372453980048719090918172749673695839794446418713527393848288379745308147066778623787984246754877316160885602619969974498729889488219196319075980495995563450680963429974300918198026802981296986903395317169531598846997499609682235660976035437271556479507774765038614470423738911705937487432405108022401166971772743625069464023710162468870650847080118084608898921268751707799515402067843308469561105689827561948846546368808543406864740097175520870222594109273192995389018840352515744574478033838370357060870301891914822461280781488791804264910439224002280606988650206960733901031514160869001201651363313532077407349797463809813268400854955293649531801524278076056179317977760478565197635576169425230120696266561227361912087888409993452252770887293773598510771884598053026949536462674042048410816651629126981484213142311418572286341743037075624732259758294534321684027271914673936150009217024
159620876658919793218398644211167915788500391584949844728856184959606351253524946983469764637500991614917638292650893458269301198503779461412566990373129985174958032094049677425016250709419965651409291623378555291744481132597701084436365968705692712574582874117780749144807395242549044184324716293913562503637089207620025505447748034718410868328791172909952500805946910353954220002026377928363855082077800450739683094889930224996433666610850984070538023952878233932805086861697807286649436836406955459065324134682520539388727104281900103482569801473021177431576637155358574659362876582410169295181824780937361742091370854719555742187420163277819297331515632194099984737888556757715279280801608084524144748852668408891208120941152545250386069125104276857636052388010913160271635515660060049239673652755798104656817777725080768765841112032791519489210434904782206953748427757425376841119098267256719720114273736207655466556588325363468334404461964761520267692945805542080846773784247514549290079738178393393888337110952090741309430909353487886413714339743597985910862854014712397770674297169818349690512051620179817376916154036294504917454580649569520952102074332848185894549473242704982222137977587940024490251126187518150631699638646412290893563338552627219014492890250128461987999083102386624973298228266212636553830820243514165135120831174354849848523767953945068660500036618206722718835363408770908060278183283874123428729863431309199161928845785420754561197181537733786713146330520447937336901808324696533375231482644889933894638421797416060288282145107060311820146786183265147640121490523530394052134510830748987739917681253776682394218237914035188894008590780556021574795884777730860865267208766101878859930430062153915800404084884688421755173487610566959402843694799111382118457360384867345483037351842629344826065169285485718751991976564923267363327281561751550068619893956749581821062529359965614711149632243603095930900159666397475900155533433083323299905866731417620200702924531523936164633660226308369457449464118866179266528930376031938012345213686207799985480006651000349505259428950491109899012499695243077402455004095739014173552083131800758311650667053802605673782096624121480861113552679757693521212059595469997926123200999226255765549421699835276002024038918381989928638672507677595196293861747061461331978998866496686723025636699148332433654007617818849480576622073703387989374192246582426933133563452225009443593513011216022689541921085656325700344105526600784936217832439412393805094563597426194421710368901475076599764075614949357631879354274785901942461856585273833515470901575100437999150705361206535724903973013579003616668217121962795595557680661090266703311757496899397245468757623408601380684859795888048953670807567734651334344315877874230572905009169228834370674797016422163042893159836946152313962548201326555846099303400948588196459753891192087939538533917947674865939018208476000391496773398149606202079619915813345783574628680686429754617708286843390105009811158462309453510863083562927817319714894249568865797791894920053861136052334818394922650915729981121289586052441275824648505664340805256377911778865827355374293799380148903990153417196933683600635042349274684658195236539578146878273500689259074798863101203186511345240442746377017280908563870676297213223591273618584173910763062545853658245926561777114986314759722342264359914459381383529968976616629917505453934802243973957836549155544168501966484155792363359133467162750689916455852264044695899865288271846279026957441570727826026437677701640035252130606981265418726508842601653372762337102382451626647309579897528847908006597297873813489572151728028465583501269519755932801918219807420392949282574473876728142375997094338989033910946943745087635542162574418615221095745958117627750275186733028272872894338747451729309832296905098400511996391849800229481348917937890053514926478523684116406549672180062357159355541624666161771189270824330204572088859635559002051940188200017962390179813904304753951018912552346457709499406847057077912396942964122302211468458754002567342701912593736038330357084797054146112645502076828966414743930681772219633662981573714375394426143693243757053614977651399061840836856521774038244497673714601790523248112437637236297364984646216130586618532823470214578810060517466512031597831975382065304148627523880823565257331962864623351826471877052828686802684127930705239238146344563036636773206360731841234994368566168419478824043014799067094158544621177401241452291076026377802635028046508795003150012934592636016555487788009765436758153099754996556508378623126828792928227330872855536193682818478023139572633043281729393161101791234743255751043597059381572247104745850567994693939975490372854102933026106871029139694874642226289402653856594030096788387075938321215667528685929801547357453534424377776457288160672768343681555322412600297667324877865529202634521149851820566140505332885099818229114421337299245070836085836238113224923591442642659531128463926138268412253485155359106690791752974513828063711724022525056204882373881807294313743447515641984833900260654861252808690333895002054086346198241782455140313944476650670025238850266656085574365100416147299867870136017114762983338446461991171624126600585013404115440397407742644146597241235571650623904294620143579940234928802733628708032921697980786910689603391537863711173757060221741885284863722896642490614020084787701714631285760371683359970934325492638607874065790884777243937868646134374111155809462309038409699131638410313789649712540977893058974518518906579868143106916379486577998711970198512533747847150549280905259553932119889794780408864340908149072606413037636849972010780614216212756733297620986464853340063538508446039472287356036785509389332491299951598622656572267645350690235694627724377668948527368117226950377846194918488404885882252152289429480566963624527651023262635177599693996011120739296908724419582302706967922181117313963685901646568042150730190561899208596944195393689318073643507647758099634044507253696134894190682441947043799479816311325747853889174045919204920755136871020355633307307738366532536136096510183864066169646457920498246655668692050450694840172732265338348441888230054940489273045537586776167986006520093959566220707988151320968671333741063219614418681571442947292250872454969847897104033934540185524321149038424325359843385840111416888123684466203665557036274358680934735360081688098701911122893229593122240995136385078044582360058535291036390755367164198062732935125543303288200964673422675271330058056472584997049857315352533854807759078803769542017677186444816389359865294497916258846555331906505409169260375154122488105513849386664702445918002037193006717898328793714499170500265985617982227935236024080549808681827390611946220434981328206055735893571245546100642981729575842100682699730637344627544145731825273543129310319994393848050350813984412505739243499717222398906367458729292358700995441911715377902141030824092634026464603355799650671376171611392154339491779014253910704598637625696698393733331905579471954908269385647737394890061883999822253466458427520929096661515860610951066303345454354741852935766694132419445782301190102852224612427485394145062104470120153227181027342875484902653561173028679210475058568118147901545508378070156980855272322211795691920747467655914209021353359107820420519995915272213496573310775319326656358616677876962534821722887912135562856441703893314684321667772707356516527689708212144043449579621416149407442475258193376949654829249947121576914887507999887016230964005516437386133826513326572849831376626473246630234153834212433455968880925956104512972411795610194611405964566970434304161611776
171391611252227564640026190594426479069022808685138297227678825472209089916944563003534122930721013538410370550123216137111747352086834229790867296765435030870852396504115440184948572266373887900561560958234411001442571313249041420609481607169577412383340351294388292418831932696423533111933413081709268700993294799840640885145986911490961812140780065715431785968738905570619289797473086732914747091501887165885249475489078759020401078681743033828094442500519164952908827403357839332767457157296393960903558471525231264880715685989885627299163250840959645846008733574980887328784473779483981495157326951932083226701006116207014791085994275972303511059139927596606039650832620841756730047637326846810101354673086084630023625342965730599392074566579550423319123219262393628615670254048013441220137001074753283469954414690154795201956464528277913948076360694494113217263320457390153673270578774719469708532269769950902823424042147692875952349688943781658497245591901175903197170347613308739621268123177110560143213541840588289187100493011192743919766453771246593714656182283603012817697353553038792545360245800634032318276846729995823911244650863823882241916297928335994237504623057861242305086005234945842298766914450639905092387922220339624280073288997027470136669078412204751009308801600684193452033190914531513945159379115687023842021847725547838499600034310221726019330546070500078061184522262236532418779398466633311076765537564004838216108750231852393609996181327985400971800705711932637533162650179458039992797928597348461899268482841238879060834036313887614491773170144157117902733344816334240228977660752756173382012848679280781842636577831882098923237326936383806339904685748934569126562230987903020776888740488041578920268302041136175647081262023411568663343339640497169015033390205872805536994687227634593669464177611466212378714868550185963518738706013076678005507250099806873095784921893023031717231039262175600556891715402088857282029044352131869504022624372493273620042004268612856717073310623192601407707677990813924137553755850729539003630484261098526799436475856977246702414756834498730038750137221569746053485218175686279706671666300939378634134947693166715952119537407728441257393156725483113719499219560836657710471743089627822454391552418126309753956719240070464994726118055332395070002209152293600130704599772606084891938129948104869713870013124466706342855794757176938254690337801372072861529558456811818498381323775230824660694128070976683394625557295780807337246259064821033212488537209584403703745916703982725038770396520469644931282458406950811561184136940298337538374058076172817280406988825428484509979554208447096111463928255364362602913270330248588798660433335366433142850199545572656743785479726421101383315784413332408071742899574740837577947589524104493290562248659242891299701491680446104175375967173380295293828529318863940420291566485719690038568507127343002747112316883938232920590459558643836388302683681632148345198131039722960656771090518615136893696786171182873187865197331159122533349209461711499185175332284423874967034467546147362072999533171180220659045360153255156845190630903627993612006626750478115828690426858331153561988208220868540636384757930427444981915369830118087619617294600950296183083699412206079304035166713062427926882281747720467483292815813965701651192475944009810990642053827012608126863345142389516486104744100140663112447615753556355275637902538523890495915384139655199864840284307592398506736090776030648153714425469881393046675983298031490018228482526720925181864277683099243047017826291064531525361807228197885583758815008355188049193011846358245361587986652499818129007176058036559549877440458339321553100034852501460159411006996238426746934813894246159587538024944075788826888871560779647053509543709849227133495504662378758111287445962695181093591612989911465233539666223232438922161127056384772574768275917410350196970553222211810025877928576967931275838304146297435527831635165098122870000416790563769595073069588747959238253822452980980936755234877155869767205750320647335621376620991483959235584716686704771371530801311588673754490865370122534201888623175666661977901636238463891031846962469648175361411897132464812868964008115951540492690138073381990098342653345692352251685007760102754297973426076778211522906129574876487725801739692261896563662084588399053581590651179760942863149644751408018527038783620164789185923626390047441347688072100609182541265933965943422389657321764809295180175446728411836576847428951485573914447020949510378724380634013089693384383654707330869876855956202183955699025534078809731454473115338071415521103006790053469798925584375995064487214563170060435601824041810061405696594028528645310058693431029548242804569191201831317761213125501795403403957422419908303636459280936039533608749628802588249417614538048078183758312847734383348474092087044213524200256359559910552762056344808471144408418836413774261247397768671416210636182548010822876992447979336253920625164861634369905601174641101072210593181340843011903258352214762130670935132917837301724612943717603493693326532402909626156057728282167588530038420020395597086393558870674993615843722089120982191705318870562777160812801838842144900823057505113424747291586738519071759599362078875874458448550245197650717823601735306866354666917663441157342675102032796039067254439179843466451946299119086775370976362968333414471471347800805812581491836124259806718208885639609638675477391520164600623291739540022772733407210817600256166153716404896642798788910834664825277636820239084012529553221659113420325394443855260531584490073274955503987481101764632500782654926501893463175273801684318369129571938561204524372356615786879269092867450937252316113953089828549823123075483948470995350874160616807155632249335035253333739479774247521659938356110711520666062523237271185017721275227177786383344076341971148153488326642459373118829506896891251319795643026699874272242963053348769797070572919033917745801241143039341188232366477710146227461731411832681715764918623038350369020992920661348217307860358799047233918746848241396121259049398836063763522995425906118179084856777777052881162695034352859601341945229099754458017648050233140626143323421163492349563485600893025047361580796016071781768969764910604747641965128098491850196336537517312855390682346039049714631075406182986930293581197847693466297005132678328896341990210698105264054497096770491408568099282081381264500569852901085317242465972216607476430165785060044676675735376128186574535463658101487000427668797631443582768420727348412726372904283034402627319246121705342416445225256355953708489767973156458198216515507267959948911761497832745097698638880697256861851334873320405005514726074579442591882610004622764082366757474496876378048831610919762924753912933704025459066621980482775113439443523033654018851102895851678611884063498608330852804120179962526847507791480865783766513862815378600350235099460869116413971316837494203942301448004540567478692837890446275096153230979775418031769916079088866352130602204065097969894297993820050922828760971862263326798845562112865394786494206424008350777332352307299085460969260220389884996194153247357186778407295257805581234842677904647025366825312842677332996564259697214023393619766369293438008375307246584876331956589873183268409220558325449364242327182105210756958110993587442536935976328044461610227986450322269820430199719140248489323990996742365288075610549531756988814404274727693801735324164286874732605727803802558807427510641932529246774225546347605594613276601752896561565540969127188518834639446820431340350523949473885043851902490649892674916603693629103097605555046011598618204283822659819142119424
184030341284265749319659625296631131869470372495183436957502005348707449516800063586297647601872606711861445335005185519808601693656887592281280989770867510200765360657100136250749577331492112260320501087581804288254613153138101101216775972576713528081688056011637246066041971362903042720131779128899971212710650970150604653345626492624431895682386532544127590813651319447160517036723342739510081378527931224939818346506686718790221907435302280641871829134770569123493198441782630129864672415917284960203171561306153880374846803100191039007587742631741544041087440708730018725547528578863304069392475408331915367957743809851276023375654434736060545446245077728807705224101341421328286685625710218978046810191550376219659932638848649143283859436263135912634647499531554469395768373564057335952226689063895550943017902426259204642495182591184426901522552823388015883166825996214617884777851299102968493152187705647142788070080941116626016881692092328751452577580823928242043777120685028172756081503773247367897835809637413586864796760637137349271974941726349996288961864698072384274769735884012753850412713063061126217901529944834151478842645528765430933196414992898911737431703170580387851569011737844297251094339673082049661087496120437598073960580181347406362652585538719753210201073609972765525154974921109295888956867702385291993264026624679987509817964110720057940424239796654786409558652534422460638775323163185654574725632324315071730989515656309612013563244372145786684832662315617768789988924492365203193331794715538699043315045031664536422495345112955923715405356704849606719463956248711672097116651111917626634462724932326937703858680050323050250785283409557080183472021262207810310609016750460311464086413256692415137688837203032480271681414561239868439279519443838934525038235820557601729289974942109871812149319171195694193892681732996912007807956373880720093494036767390813965604628745112082950069508326784043550252326266327783028081548503634971849779228030987783044514984619996154721240948490265400538817009824661198148054596705213006940437338792515224409339803758802712000748806207991132517491163020538591270686019720999338424015819943089981328042687398205421922518728762210568212390181587538105806374516377829231816105593325516373563326542303630554497602478933889154971965372381171938808752779739213223987869395365028042825368490545627148149853145991168820295850350431540802772326579866021399216999647527331747219208903637950911692197894181020105489615757687788191574487381345437470435142021522511027914812496234286479247619796277092329885147581549083498683986142798141716052621431112991731765882919643763198539301192738484861186226585635120068485849482598206202110099622446146757631178025818827155576598121666162414391410413523962309761265543848431051268233186952015250592404070860917016563175210332483025030962206878509482514454061014074444994711193210193929934727179191870276043321389863825834519491647203496467849933695840410738261211622863983148230281628683926923042247681286383874494299071648478728263197880996376163296864675046883378296251529053869072725050939898371554363165847109693111648361073654172290078416343707145564961981330466203082421673315761567181687129890746015629874541456215025565536079692086769723156964529351529883455803370466627735988079119837079282597643517578183577164391220895197216326987245807322698321135471611930859150268178585138274266929020043674735400455464235248872448660449115774045033958160341112839021157686396484723628471559579142504033598787443421867701610444076993454943742481239893475202324238562282784981747489153141581899648494803149874855803506267962310131991024324742808877508432529645305309770021894188659135348144276988488794229305417817809474144173479908414500518166572809435489222477194973265089311563064421235907309754671983071913268577216285759703443373242889630278373467186884790144249882587418336550256864960895462776973921091106786211527654231575270917625267823112171270176342707074999589410362405460167953329499153501163628760309895635952708340794538545759536145957732580455010837106414352674856358379401705617761970464272486814894887949973853804977438274493488994048143550587272717314672599571019576450834269642313137785740087064772610584230967521725023896944379980403408849574767305786885827329826019209000884063045350508224505415971839542487501965858825589889032570878619104266673838081940328872381448416843057063921069109724744075119199608720351615173007839205655644237473091406701231618915992810179758029214074532078527644585164225693485958447255235491367250148838521235634393081969797797113375806871984355320800876135822063178343891053002636397719427270208146842357499389737583914313337084380187595304664862779855651471467031690485328124972998895259111273248577829038711725781051567490835859357621213991516153168128789814042850636371812660868723258012288951044105799254286820598120251404781458194199578617665420737248463042366883593996033395386776498671662849498108527682798727557623594059215738831995963530913075678410643758034654879541298658334650313129912736233404881066489024247881348916227044927529895284895963533814991013181924931902777685617113305483649947756264393454921853975193186754579696255156679168988918713882048866797378015043607404471679169939108547808613310609558550434172722270823437517959879384287084401126401794957096080526808049040197062187702595627566177827401110436634504374694745640951375621871053192761171815515497062879681860079388038441623671053484809297836972996306124278042630358713138516972443770248070110586371922251065773074183702721330129332750163067703664613035178739981388144376370357231374286120080049328344729026603495323519934277865891865649923681636626647813470941663562322159595811452420582522942934355048446624513968559143141215159480344823274223540018871509753611642134621718217876934137791668598829946983569514386035890723534231751023348373700787811782123138508563480488592121759781050741603701648831720067317390062666822808483158242593006390907111210948517612947753581478376339318848296873277512766747183674032922003321151290351194183426410069908624967863547216878012338582425485774556092186370132767349095425964087406941782127960813118001668229704000841647376041163634175662008477630342632900612743231710151437668848271543541975963938676143335588868290878949151911683936925839494840568415814650393716461264301590730869087256694628816899390874430155496625127859569877348089051954412240151355152835384268322893423040115544063265793434834163218672764320655294359305205110354020700935603028951493874836673112314859041382491364320455149042771731808159561024820356778463762850509328213367748833798463132754907698184572303461605735903768129994714077190974640768323713860607040112034179290721511321260244295137722168407631909524468666014977844560472841224572551372560632022842067350886275001967141679586113607803463426186182417527530631485371516748171828891985878876487760646185180670393590628474523935021683605900824772938130434747538236549206566728892224095595749345615717364467795119639087807615028939096811278508933000615083882205651037045587399301285300514957373382864530379771147243954884657820649928536393014276972077106963743165952828910955733025022715032480149326380195093549280501066984575186293940496273197043957903818993718343829679508462883489498299251731307998060714666385981196766518429158080622789849032853104822593695282562464175227016319384808875111113938124739986619801725362492591521367871095094326043419511045988781333392664534647586444902473629754480024448044838364703054322674569192664192982676751298712255737355088205364114011320947854736384863773167351861766180558706169193097882450339507038707636897825466547316356446737169425551589376
197601074321910008175218085125161252588709647676937694813337213706778892886556818918467217542943918546428750749284758949497676113436635713499070971013096622465308404547972538848528372531145393260009297662374070285681530103464896000316909652193894363567906954260949541817288730791759279025464218042230186203483426356916879795186220692613280050633783440126966919848975611843200805183794397016498711645769015308413434841606753825630387944254340632807763348589384892712177668146473639087158250233029512186296320842821797489938365810081367980972462412613448725795253559530083623029923558734960811958136099116817455604604578993314418286066841829947186608641886083711551762752580903098583787048618664671820927397932457090349983880731354481791045648580852791298792231051744050441524364511312184304745924661976948061415040962615825583889622045266671412861635494245720998034132518641466100903064391888699590953651761536651938197650814149542202616092402859423449992333301135392133457198733413810279706502060954149511209821267892593243402589315155811259545815446011544753877703143667349451175220173388098106758605169677119880688703810215356841186384799619042038278356340784736224536564926037805568790371151925270345558388222276650683704754669907951590234113320268018214885503792674660970436751156184730421845304220654466151471164248584085872575619911661568453205089158692211092966336806573073499457729918607292995672846820619428414393699844751463424671123519865682439912175710751505551788887135969547486747372980724230487350938705895056083853356151458941617094404586493094779561784204607635846364639884684747868447647938105682060560238987528847002654475590955466283765521847640534758308315502763049796509959332196485807671056255863858694036907223202823153698159217617885856039512024453471083119131128999707655977873371919255348167983395327237832944696537744239585285631217318603110351621737571741276308272987331619479031246934797584286975743368465449903530448525111037485304170602303304750687933792781206618043371467575427617418639958931357635081517564717839804380749847512781254605053843523778880039830712543590922005156673285554456453376884546525800742196031910549012747298497516810904061774846495297237784448252977494381398041564042648232530744052353942176691751621040713433408387089357395716673416767805398780834126596882253051449655438453022356514461276510588449278341542308695896996394574903401808699182198589023492818293373343354280112260296029253647542843493466887514249092436718827715346851512710833603582975467888628248173365686324595895565877427713073527707288074721701661405244880558801150004831815424754092163217867108739727023663398376396289846485737737146020795000941634454186581811017427036961310587012711426563569548238872799149908876867349813558190314269600166336526990215415189855646905027591226287677181961573983969745783016488796118156366009837459584240408866950730045721842162327853636170139412170599463175281124821046796566745164850743839009779956383973369486044968016770413830090654364212487763695762793344236510526444813983878968497329666007844127099129169090372404984846699391847411620855090067009781546865836029299959055867923521400755788324428727668073869843197953094763278246214547543153999034359937686945341746390606488810534132049213234252341734390184596368830516390180091729005208666174896751338177373595971898661865737891026651937739039694860865896044163164109903584628860227870051602420598722889396968016990230410286620377024350961960396228782981494336970950714633144636963719313688093027413885960680948747355869192809001629442396953276655150101355710714457479173959768788667573042193805757283644377723210077711935019296919762284196349348329186065860102979310988781184919335073580776844452045671289288338734425121024232066608075005128997288232920629082687347449070914487625333276171902099514129200986666533106645786354410449823447344092041200404138518673851633582875472083232797070805543753281052949788385108820876972136239543019943807763932733613739828297554363294086795420867554006145397501031584741427362151806754586007841990086174408229140879545184296471418726784964142066825641187355680546536865814851702051548593178799821414478674892939026208177558026235007445136145223882274847749033953864704061786785548646586707440473960152271291176543516876439468131646471466845649420307446843481722985855858024841115385325790250617759616544549315183270182590719646862976413550693337905902841151682405287476649197211512834979402559439446317950106261541331022773299154166965674545944784331297959035671277941544044350050207428678145273012807024967232199583698073668196216181620837882875653856558206878508331482496047277348636450172781854815720233507862268509224538044604685469951917667681294563207519666147007784545503091156890363557986495050334134715669198911259670612344874828209985441842991256457430868667476335609337752709144865340275770568186409714708605242819601764963467484140589448307606867412976346727510583164044845133136535064082799152601822990577871422974975442320086264386682049766344985569174304729000229622283650364087046726834990171900347720890050418615897577733191535035994129037568120212364302821017806244683497081316037254541453264785583098235043410377902096692965815631445271092149708290422454017326548273224381058011659044585949777984610742119379782484273648904410944507410317874106347248105755474302642872865215398677332461102025499857369148620715627731179155536958947996404221569001316563072292981354897200091118078544780691751630639692483144676177071122419643978646731603599733020892697340245549124644096271074776775903063028613568333084646996433637432194659249873147416005272635191826844245810981593451764331875845559209711999381306802030241900672831002133320025691682165493327268182301982686972271714173008325454916876342691422436043600089304476755213263977269277208668640293573311191539961228407656417434952325726782523949364917535259905589334789591159609316010377395263926111293568378574138777192807348626665509004682449171816258606214710071822646947279124427138663087864006493416350407545019131107895787044281644843090464118235654486325746571760720553923999115439657911214505214296735585367424736170825099403887244877846238480005224843807988715252939642244061390274267296395666337635260112643998771451066410056692083672346290440635552744125425576904597346251851921350519993613159671431256756536117464866856218446956860513981999590123549890632167775959193421559961363588042117877264276009929005012697289453243384439526059551931404820782536640617282307885647473156352902846301840691957089708713609396927759189694032243377573327332065137829919159638444641009325404836147815576634652561008736800344153778746056838174280373593403601513907116324665943142284997136744021962341842126624688146772132311245862053405958077769122137950586838934924931106956578799251061271476937177802295105217190314111452750440872592740310466974641710828568219896816567083038829910294534797956799327541667521840034550848754798974012155734685622088524712258450199821730269008226765992123121019572364244722262878595054769953720374233289592496887624820585277178404119318469378366011194878884344296690826197960519132136285530614039269899892688877725212809542361544927680407454781499841997223455079103297963940396395468615847796290767825822880979045939220752359954313388683451809807743500228628834938245784400253812272253428469220328696274950783598815677442912116854011239453195682593881452758881499109069856406640472884643459097911968987708141952454191725652610666547257537324476053622408257979501434766799676483345457992707335341873666326582117345308550362659711198953532922793792234645302614574618501189449528512765131707002776645400818084166446876153727147588795782685261824
212172537966767215341913578320077911648725818903032443163228039372594569612712143825152697448765401429749835515578383769833958633802684139436033886721053495294139623021869929365129714437343551368199689528956470398851887216405306151350583147989877735600723560930436533002859876534988572429726891927397949161987929370245605527671999026153126648190330987022924252106300877992034434556316051093475484736178064379939764072931986943451350701091266030988322059274713961738817956407661304401362994581861533460744039346260694143805042552496005644304569084691005041765871407552324572264678528536647954800450066705936363855927143447033507295980364532406989972831512926324658279608371479600640607322411381685165363985627570304994124490467083015268892141574467887604656499166529095102230376490817213408802061003117711657417050104233832373711507789555246329254709555214541968624269864823801813217824407336023103778627941893177694973480857700014453401980628398820150783140744777057220333583993946234396522009707588667676535141934900985705261172217578311626024461288567809589086276046411913848950279852575332721041931442584940191757351205376387087466347138708824703313680157076168265092764778378258444390330594305220892532974068287448337731990356739481852601677423527278046916384793505408308978367263075901324100466399720424959226908183678265782191977701878211381645291079336800193554708053288107128593805933704766320876186652444505875508519125411953164275658768349878098036069947470817981923926136306077926874740091531152084484605854179957072058999582589144233048455560895061352011548092549792118003352198884550841247089545571434160470029472345137433247149462796000270300893016997397887721369842304274128307432567518476597518833136177870329813446685160574455001293823767441694087667057206602643919591467747325393996446258005611618263645549300381427627845751563984657797597224275017292841023605858330808879333023707381992288940836763967223091074128211996260397407838890835192002873337324329044231527285452130826978760990703996507507064641102241037888755058628171356895589531756095607632638913563432922026645021937774996103658663779403314923577466972424026151986121069195101788683539796160010790379132353180463520835185985668248032084819002965926987937254851673366391531671331212420249224090224661064710701732575553363980211333583263104693118874656067963396615933417847596841457931333512303502224832280483281877558961221308311557565227260806203005945295021230768871305890821667883152646503347078646218281135915289658071677014237989124051594340253183452967818741393063718286538035445128234301098041217869286059485722307406793670797658338727800835650428534710390806598276027868800922766241152296379544790087075402453753047129539478344009218676863267063208806881339594856031198182973710352885888299130058872908604504280573640527246082600347458621597872432902019473335956614475797508578271305450197424974200018013649306357866758347266763247186678122460934933891050018377455123484206368010119371866504348726735156365302383076934968369322796775570700060054802390910229561294708573351339106782830700886967695987365381930483455740848235365063973264261385455479772942104961350555134030005804316903572173964149037567232309929374320893636047878164507032235072795227761658509360779075911048690155440336201771855415653867381589366458719240740793529013960468305521934876646216870484241050917968309573437854140384979211423530744114244842557216487887331650698632752990921424126421694294311510462456159849887624859255344296213349241797703481174337067914349554190036406164192145093216451407543318477488823465695357916858689575441762190407978405955327441599503864555977594854189349823136679394523416191598792011101833215357153032168134773797540298903799621464892494631481039979687399043949136018903558269933118472159271687150827290850780564713897881730602039085922937686233162098986838088829213343942405089230189519514148656364559511463343428601698959803778946361040759766929341163023423160932525950494803723114697662836782551404129517175100977066321962695681870784200389549564700425136738918826274078337955810476909377907565845053677428493858480814166799811183282112850334328464438478376456592388647354721552374870955416746794064501020242156291370011860619188523151814100626742621288881398403093930736941826282897137263954395974803135025460614503107749495595196677936544034176857939730337462084958942835420139772359095288172354899781107732457024989726522082421666422025505230194706602779506985831038261209823780387772292894923932353124531174490822438959041364467556759804216047221614381749390348329442212532010285775375952751873744767202937133443415898882245211929876370558785921407903943934627400437950529872516305571228335452469268793939074979725456844559190720087500096437729134775548962712745619064367019594772860938382815093876423337939353324653599276920490074006470025978149190702086552889991939082537421921082102065492869785807586660963510890935383804053644545865203231051546000748221649140335763628218475742625637791976217359902225424174038618298896133648532251049677787313089647245032094198352908062725639936597420512418864170908241766089757921075313863528004813645048458790958162143292312141626964802466692178349126596529482845755757138659299860826127507120335546515997278500488595799815039385590982173256473393387239089757809200949536230562751664158454427875704886330896488328686144238097910311363289481334282305381288137034000234780214308799615504834654909662405310958330091856048085641377638037693650853854257693964595819062758643687622299766354950395204524976955280935429255750994143530497053114948412346775351399369746017265075082388232928158745632660987735383323889726511752288136160730371237115558841589672387474378935561913670005075080767002095409126028067799732610941148076572583936995631978503416351762508291571946608249197494440421302636523731338279717617221911111578917592916714770195919555341560131922267933182100375027319056984141583110278918289852134562194999718676576157514533278908692680528150019937679518899518823204884570596188716078020532203950687163182842542103540148739320903309981190182124102979124645167586564847523492884056487744678126346398780517818911203005473277297059797653320504908887108032825045930361067627095431399067884040064812703511627173879404501328705724257361782122725439743721794628550023045408811881290662416005838320375414688604394113140977906657596609743066512844922384340832447694034593839908551528238356751852940611952838730737381514324029928878823449335149433999843233191192064701247893403089882930079139427633565779647480752148574832182919047505183280674780308800242730729360378261198303776630871303622463792331937455506127283502228924638229582617457711788449026985980277384353442303562940988876562031614146289060246467633676498838891351055281842734308380512829857896008707564363571405699226848657662177844029164215548199341880590119135643552331547391740440912533160472690705410171189605183156563520902078534851362725979109140696733399927907214009463476969749133880904078722003449596128370084120464916670144666070008110215214968567824832597882908265085212486126947214866999993672734930172804885865112892926912242226326365669939073159833182972906179890518105508789560285161801810515592218439440216847452953496915168095629479659574523375692558683777629649014632590504879067595259632342245586955902239274452162980874794163592217807659891621629737348112222527169966975094857279322325091253053227042561484227067379609361461392172293173919679085099947941767460308090324530997660846450195572425177120499269837257687204952948163094059071662364133640709198099794077593331764657649905083222405319853571305706301236439802677394968297275620785066188400405091850310785663980648819326976
227818527919145881184627069235767312675813708064835734653260804723873508788448510897769794437157508679271796250197114203993510920599842123973917356853673359238704895334175009847265541576552398560728430231055421342665232885585316150229595212786313253360910652033222060062726961047093429579851064759975149507052190747990687807267014708067881910530892293169715016270455346627968511231307427421585561479907993636105951285799660688605638157053414778582641450625067486355704604117114736562138729888430120253576337204781725309475344690714676853229883220530130229938882946094680361663495734004576425833304810645753782954590884215927405513103264481211588523777819134191416197323394798175970637274833753048989651667551657123972627539677196328774240098553435381466050860308523430324138310921456793976164382636446881401741046507619425295459244023747258342343256398406291004715174295324142397539014088444700428357405258545746631356940967775897964022205685149615348149844571745635893113352366117034678853081959571962672732685301279473650565057453280661188167910932604190215870188535441837031502733974214688853298446647644104956428448048669440477826163115334394441832289776011571419891620782338826984023076140292291893871263556227665334462115348795861937227424262197800043851156583664360471547187641597006138183649951286522185775426023023228130127600855782038914785374964538024550150985268925061345763715738358178866871365934360217797547234253258715342011917484729591579162900563188900286682995478838560735488622045406586192015902789788265130794329647424506371392529754338406248700785717958134599605742628144708385701384363353202837758998142969625425105472506983197470137373896899649011215690858254383665524832677804292215521185765991266876369371823451068948200895152691987396423341641909729867725444651913850339671262854588920021229998484995273477996847090474963739171607866410394145646662828581381208321490436778999582665081269095028423598024852545558723320291657802543515944555430459592347529336785787139618846803235418556254060265280623025662510324965740639650537625281383096020857858028982978805398539602455986538817935346719899248997688489992270331541857278859522378806446726579505438181921371224441403102027034603630662500855164078954495853878574021988609881463514928944532249856409222568141404250910655634886849448017227165381905092420722033787685447627775542232786563678009312253088920479470940198684716303689312854118180368117992576126117983920314444492798408472802531578541526931114330661867889022475026946218800006772412151321177011529822596283908684772537821209504824228642212360375980102148607089971972312459346073933199554398708780015361241582336429664137419321135503906900490576361019197793461456226872470429683757104957934910030975048947593633328144135956137891677498355377366168167027424269185720838948546045530428151743254119025340623532002583269420012107620715488678280956124251900680282808663105030649856761439783610386635712099644661495464007842184768076980779600824805674663905776684360604991116574885266258965454582602123440153059175510909403300185098704645359527408653571111718551186148493946969001655548065096529455254031733922193961627599994573025942903057819115618187910698205284543095299694495094080040851687552852913859920635298645106163999029763882320313350116463744065868461714961870360389618256914755050846834702265311626459323905213320749268336167095579823455342919640675983537705306521629978456067017393114080806502613425382181636624744434068152760597253904511404576666364117908036883174887282345293165566089596533381144517358862882561142930141031752247669735037980689694984623340102898037763085749660304757023384332801870286520468855534378788512278420410197110646401374308207343706695198327258471006082223219149516659689206470799265801472161605136848270986304389599872886658387095635379650749679152910066238187834654335161453796081492153560409857391456906450548805572092031338795199282165202010598612287958502067930488525659503051739543535955011624252179166429702903911036043788903832250499374713196121408859559636656460139840499897496112311467998515560372874985317175053868036979978625177987272464669502792934158491820855221290907721060168210727551494659105471433800382804969699124673817988711994122881254248895101315878165361264743641008764432813580734889112170176762586803376243156366656727768611935466446606325347513377782794934614674634658245215752685507799757711989976466303817388910014082537081955718441105219760390804142813311300786961178405224632672142049069657863466096546202442637956868009735974843184095708821433806358484222703503250634186716382635213429793534734124046937095820864788056421535072852014218290694478043428777160561706623400767082145413792074829218217978750422513603175051510269919750625793149223183591839773824491469062182617025135152569677515489153602025475169640194019855765688115037602113495105296168582255905972416015780617961800280325556481462807527414381029781476824071904618888524954975439980440863300878304232154810596164014386606871919876192641879988611805919458696511730322794164906941961840936908397335763079269298975335037089358654699645866879263250554198017893855549197046963684014420710592251727426436604127883514584385758827124500564478980578497328565057547126392296351962077208123762996150609745292139252516300516663889761223083638560649769671537564158533518332534282408135809934649462933238172037742340508311626374327886236311029339728449362109335551041398402659843181111466302815684540823600616908281034939404961421036628086483578906183220436544913654374200738268776427501809521318040235293034941487753705438269589939130686329800223538994937210460491500418032497165442944632119532537719590059299494782985984337596649347821888889174391537427648961783406479708148936417007623394480560384230692393137944902790960630987063772901267807585778372106764216687828821397000306450425016520788649712614496164082797437907500709715719055896596791658580832917614076112122523078478873292791655104700441611273749444566269404120408245745085753520372950611813950346284541408439449831892558120750840649330996663051996164589727241386840551844826527169130425597183817274157132177833670004337676084682424578542216809131158748202776969347278597469397189250616690149669732504800332502021708999681070486945766889236945290494907923340685364345805521625932313012704220019292495089907336730355632768994132498474149458855986638229527201736408855426390100554470065377298708762572111128640685497291832441917260719800892174166022864938165463094940575559288920767908286643928138791298133289639633377580923862668059816902659308581399712558145246042559570455881336084262907509015122825720328260842079752451736929067952563848393606611172170427737698595560366951685466701614199706433956200683426674519100618380288046540767689205081419922650651617427870331987018921191980042338560309731831867450138414060262293998252721266464424717083211294315149149823559987580186431620214963881278919202382592505259931402549782278420834626783151680312560473279667022880427835702144256003572903638939432270541435353409140089881419957277952902118903466145452458977271570281522998043012490614150862992260153344918135617259449656025492693731362383508725421054024176517030914032150492747593211149514369067370971976739664041964870964267803917842447793346765224346431269729451400418553930939153371384732168793981077964234702079829778600840062341002013201451032032802940773017369897858114628119230827403019817573766093706118558352656183030536657394827265450329869325298438615056507018665372897000816919092533784887953785725252217467640394818064471170493577007554855021250226899461579220643744637486097285806877066703145497908328993026156827938899292489281093778605662240237965715632963967593662644224
244618281708898622985268750080987080352106531581740231986972264011919757671788734221455216611058556744577129497443009764932300500048793656307788151173322133849174245713846164608620864024755208062171519444950189557561896179953160670764183582558844114899118333815181163368790001568683048975484835923717839226374920156943445461189444827675635038430045099215592543130428401198867158664068523024400897755500548439012796390869672966364513931438532049783881565932165902922669374429908686853510329171446273817614398833501391255663021091236692987957635100519016280052115583062195768229541583646292715821653427330746284764562525191782702247227155104410544791458662887888791992857165848465578585037922383295587709938641557934516963220525625157264156247634705467961493244824443150822977181197084138701158956735892403315417108052760111614578147595719480487506864559324441596477663848339259329169274098488309961078061646218101575395057389800017903127089508875717696820809135782657947911400008349220613542962451292293459479908579813811571317663420550371928109419903043964272431409985269206740116491038460048976933142519808066558762922333267565791720495938380675057908464726191216141500698781144799071845356632968325391265744952048619935486921793514465000130748030114120067872020854653379016512577360358627643752508345671901478370972792338026966811319495631367410800629082946993797835898398052725888712226809922217741832713631731404530975630033249290955228660109791043808985413243849077050377122475231869605658334566281478679428369698513940375334702084482866373518636318397592238732979287033517000618179770418652918011099965631946771257322738444818380549525442029991188937489378627017074262532359562187373016439756760385038522719115018300063903631799446556747190990679684253057220609930759308191518797671757022754581641337869753753785617296796061575643158461175680591631982479492244942505569405073971591062441119985639696786043142986330648885987847969599266677041300860886906649680030770787845532591973881380570083231282567421995681276648340039431262644747547091929294992350260798764203058524773228527461968959677325865909816703101097036715008211028106091690838566950300198788453051156307450211375496963112825547889766232613504575996625437955880391144017544889066081347058309256132452787644576730738115690294161042439283759927410679979516430530714651956179001274104183779621277486317867627617247109818081883930649684845900713287500900024004795908116778093801102283244117977884044648960778386759823757413154406021912427682124222363022176239364614186900744930299733037105785254479596104061682143225450200668751695845837659657596179272272543696056788698508727555522564169218620008528877716154458937956692035937768079282738204214554701097050492473569935045555478468260548675076447483805311503859893357723554763192817342888367422073075828971153750457457782343332549776132418927222538751348998468743013318206471913703809765397113553104367086119981851574733411328586002091506817777019994314701531618749559172775621202028276905014913938383627223556512362688903100598293019994598292367420745945612095545678829610384925252447425471455109087199136418273354190417335499218439805226915230977132049157874665939974807840055751742153699793805076554666085506478384131666063440805981021205961352901291934608805602392983154778225897326771216286057843349700809493037836852637722841111790554130416429941502376661974537889080464855156769668599014068520498103121922038165257507200136751607608758292170186085474330736821197378951689647410726587199478381539838081409667035929176747001276505094087099401334336010900329001049278095029870793117155058086753756572708663010202165504155703232059890842276676375084084077527083873784996830685801291401821823263952259577521841453304753746893075829068606399533540687122407232100080754308174143488721824965594985128443461060429430552624036356245766733496265437605642574463082820749609640295999461225583119239675554676188621289941375246727454654752705609708383849223743763365737494137028763823532575387641471801241223515406680271274313324100284771935633429009288666224504843727087152906858436760867564282181700479624378584999207486058217650912814166548822891026828228333417508929194167105708718284906401002858468732243627980179798072616376071575821436778024783989151922075579630251095739346195462369215536684984651207656140829535912669874388576448124899308911121479384477834601562070043278072430184000646135421331155892849052926770606182755241442864993131121367586804331118015308215115797755151937374029467679511031335179090101155386538604894180499225534621647160881791525880801605261415994735805928825709200498879958134785075473982004094628821384451081079166402471067734363220729781974438337183869257866533071910526937991999931178365370564277493605332988910262056925863267532625662072566683822573112040855003803116171350593822066873255596721930489375780113722950513594466471093514150595320474330220897142646847490748561246492693972639389637824846799801096884819731188260825779899676210637503826182244941467597761139715893577885167754193115403736652369225993891476218989166473668977573735435612887383925257001310426233590590533095787358942199735403736094700490074012865136639574209368966602660761911192690216016296752572193316458422824504306760279636897230460686622157013858849106494827387150598296972668818312296625024100805139512798935442856998947835130555545070231257539423612863577331341441099674557540882762914442003236220382666468840588175299849454672535388646622919160444412750873501012390507760773095989729811845170259879250862603513996718720599406348932512568793937340046308904974232114131557578368159007125320023595354975997697537137223035853078381430804507690561854989086458047018685402987445023487728064257021166455246826652057790165494628439506004486990862043534268758628240775919329067629634705725667732764320557286585337176638322814261738660919764920063266208001326555331450700549969794468032568788398179812705266441768000554866997804099963149294574691927572998855640265410968616021379673150191026993464995114901303856052808728601019888346008736723363768607577939829194463735030600246167659674616441223236187167236217199071624231088085027706351137639950249528806464932139010682952322166430358006149211577296397776527273508914768042925715928728083604404212296319879676522769787539900007474799964376012438867348147731834253298053930474209310456800640046252200668250067611635284404304900099351619963739568961534797348286472479226486613582362562879916351069824411431557366178772640705928325324365766238270693612966212780245535021895906328054342167436446770979835258582542666694809954537334673472004273194426472979380675322489350996482185582005852050610632618465053117936683559226712812072890482494537086660666457932604068393420819178412738080788967329233896256849582485551678703227240763188904832202972505462100217237849765533281476108129745617101426831611254935349078963598579237766725347940890589978546157114910022446528338288681474434462811764500537687473572689612931260280318207192694152399320070251063431695622263947614698380799808637631224107244872618940372607540750417426697416652662126821227840483514935092100068355527354896985115465786411673646353517715921833494740697268464725299506149696695356608086334957332441566573093097550603218496038252930756489506319449937133204772461248976574006391724672325122874803575775293020084382176470301211642598110581584257458183640737808865693997824598092747682029802860005362660805831485212086278209984916169569375291027594822882807709290559540065821288196477650967215133512337478843748858508028693424201188356376411810572777391441740690294512821244540874303725493345605113461477357763988912141167886869750182082555095950561039501553204045090296218449740824576
262656879985858644475290792842159215377705429462891361787874742997568278344144428825596544218273113289729749135268660641048219575438503789523553554846430648138784495486609362842264812662396638258175552689672284124682263397161538973191397953807587867263444895742553501246046560957320598284818419009073517552266555677170821394342075698815802046522186721234011306501664861404675409677654339173206216463228664913905952756073019597187723837616220347017403798403980076874793945049309113575533001647389130766928727932147256153393262595854957144617641147557711887228853401216025589623869230708218911524255809757966967084324776361470708522586584464140688809214524309842819023567048229601937951113957889010231478821499914498809916647348098995101101979156284334871747318461476148548970619648935626570451409119534195403639612921375730479480725189969049570988029964449982127583398755774655682911232775266793580285326918394667087381962442308550218536336393071477309093454602611134812558483635358507370564019604814098336325227129842531616978934004599835437966605398276329350071335072474771176165775060115747139621526375270669516719503409693051973241969407061457643029940540140216992553202406540993363516740277013908239843194653531477706212489734713573019624549628339142209831907471041558072953540933852578140339640515656969998934344874699406299905173659085984475287224771870952415805004798603811943917887425987583376240619037804942579171637491450274316973923843363075638323905205844264772788471374426862493309740878001323814666528957428688428039127626689235036650165858508875447625392628613588093378773474249225627808160929343983838840748490534414211279973570459689001913668467387599928997794950615326911332440406410012162205694687999415303995202168562148032248361208771169621737634077446013282539535142359338897313995927038069670020615621227752512247398939223808462900324004266045678420705223162721111111567626065983621833852902092835478001944159920712213150868745309701477403745165256201867179195557483153932959328589157803096620534111037240511155874794295234014056884120235076940772337966768755585445848641395314326704386006293438388603367884684295550157632246966761452794676169286938870694751511658079226021584956945540032690462963215595545842712810845337187691842122766015035743041799372482570701207619471574258497953638036051118286254756018838414952808898554950257561764517369082230268295685554795550233052082111462590808222252793416553343129045715441238658821103874844405761872585889459270611203333933515604834067672154714653021667704821438099082768418788217975025540097225691558484392975124141687231465700602951488638536987240913693323717904719347205385859324213845702720692715616643005774721339674092647938023931107820452103721796808669253847376262543702807641617368060701325635042704934367574179194543757451789064158922301889798671400631553616324886235195215164448052012784156076401330107547309561225099293246508790845403977416034396156751525393698197226602345428333073979937252575909824265372026652198914543567788439403059506757625351392132359795666638575468440593879629927082136267679461824039918982666559089824268765408175788981658259016753140150758130898552694002767068751634007769779224684230963137311291304948686800266798362666063994107775117830730091819071622737740893823347653974860497412846590479684049805690254487814017039330962243165647734621836177497964071364956975217363571754578368016343925669909380890534860614634672663645361209210767968720588760407009940525836627790533656435539606449892710442904862969243153670197476374391267775143537164908070373726058037982173003143786749775640618799885940717760896928821232188441175803797182024368394682470227054803640492590773288448038888280814791449531347681434441732647689771441910257116059805573674437656573216726569026852665932059678154762939217895767166696577067756159898470984855860783397643364702801948162840850596046368614750902459410361399374893916018723246222499591906885110489587191871460390303312182357643612584951356059882570808345081620143660989909316801424460976262895992966942929937591048659808125414427024400357517769177079997402590294787029772413555096723588084634605190680120348163172876064099774825412196191169231838244479983937550682084681430406240719815692230442792095363777063824337014677717981022538738043057117164212483224844851809274332799712507419106763943655635840960173070763766567031159867627412651570337485156430389881509398625851123836416090646263209112257290292422249510357728398029760825757716302820621052831946633124170855947222213956351571874929249386665492696223656132022572409636281386995122215520807010398656127331175037249076204687764787411101619742219276310709036716021388802376322712104910708355741543334800319137569189532359200664903511332502328123225225938579639876553321568257655081457903005371449280945696104014303084894709883153989215939441242414064463562760731808315128659224978793158630030091971876564420862014212566183278184778828855624323964750395338992606307056077272866460655700871419321561131902639866191656944474862412108306086933299381850689530586640149246533430051045676975952237781128416257522493732255827454273010748243403085506740254464724970738340945764468811281385642151192088936049747753765208012292488832143543294676143746486236638188072089935406013967270875193918148526205244237578082727095122569979782422042470369047200287671521821414573933989097024318572194461984807386919611333153125220340412421912512497073176550272236532312579292100385493470909973784659540132397731770570310030403338659738139573437809920433300840965470507646289071352946419976498519727759643031968094474663226994810158049995832770118718999489855243973326029600811701777292479761875085913760805193557105321026685914268619435973331323112076264342019592344965707464202837450916813752481956853143395702988646795669932863325379581714996306117301594630671698642926886212483187305902919945653576907769941228799774602370257010400102260131630374131163589962700615902299578289110256340943014550307684405091270217551373551833244809939272396339934825215582376376284571180063172919764089280396320214677334361511941553609404134911908833904099426414791753608894191336908531117922316508006913995236198315794199226977552268712108018564174495657655168151137197939043209023298947968517818346489417473344333736091330088809205184706803605347784234617956114894188601174001930442957746689967667392447630282309540846485440593899037096884815589637220538637732159144219480234370449845579509152495996075765137614890246857521431245312880127647049889483838393165731491361032951942266390398818211729983323759950798577769931017494709291918274808392274281235577787730766920711121503959538999530329465159496800981544562215110221721394902644359314647625924321466670071596173561466572419984203074811700605139168012289456443191674713137065172183553606731092033636236725450127765049081677984861755654287562491639176809733210722123094368074568173361605086506268000271608754065097616280421777884914269467964183465785528615891541574665400007623091493338671379908591184987088556862506121246688609833105421105612265881140508692630860441507536503470452717406508744503360350368337033135386588622528984129981084111264875928357061110223338067170692073131822750679474546718976697074446561097982065610411885794632128206650475643818742352305702174092623348046445424706894038108168179756615715094685341519873152076311104818533331354823981412835706132775597213644250035988173817274452545262574753195146808768254547210560658900400514319528500499455142888014907146530876030046115583324772941657940771037248310332328647921638589728743170448059556481032616638531849293874499268417436941220209896911853651860206016038233352337751210933654827306450424377733788144419432906298527165307498266624
282025677402164955125066258836746180018066276766188311119956527629740190753781338726634211277025226793873061303565794406756124558883844658793932484942490484022040669326711704833731244239140062574801600857216824318282576920516667279721618740031227141635721210878099230845516307151240605355112200735598871286666706827002952923539083640792553929455665626526386831079720687321363376515231822185353094793365975593742180676763671139472091863810320247392380114242817856603201470181400937550415966961062610107456571207863543058739705568984276523903577788356070707059591356450299134633408821718119785851349053412116449768870847178757641891614464400456485794622391339742969651666781352348755649563923975605035502732014688609796205730211512577932424303509278722787816771791934273475466666464258379332339360531378881003076414216851945434370028438320113789899104776195178966438799292144809325941072710203549025527057365793388990278275737503877482446804448974149008240617731468875056346444325303994597986854319244849128561214835611404731192629967674651693262101731433472332370329850834232996678864639422391984820000399847237180583598087498036905875631424490368009725709242181701809339869969040515744914359759575179106817861301269936913683934859332628011648851713111392646980303061355389745055060109573530599510813586785815524969041522004791972177272191743739143330587650446700339563672280781609690015378151006572775756680548541804001175018449136601950407935148009759130143874278526316317072838819748886288163588967312502907174676754498298262650425641250090309417455938817845843322105549763708670569206553123180556190279838359344330543387329751668649991280196217178987387521870704046062744362842251691040130380832349987750908926477479603099445322863720676285504366185316800468257957263761439563522227815869016211036078687426427844927013934739980101921104476257837243181230226531607668014765465685067214648241290311439198462007440040854583481719397819413227127690593773430309242992118173375620177195172744658553248523197137646120798180532239345158375201349942189364760280395017846823165230137182735008526813373439726710208899339197592014610601045043937168181339536379308909696645487499490522396282635354503252484924895041665623366077329527558466639430070625239333807268910818812909690158896966451490872923628334106060471040239572265305505922935856342538032697900657823253783638825538358035134267818778936626054320967733359613562186195911792185178444679413877260562341885764268899958949180028544659599783062612654140266995039638837321735012592896864538812224488959257038213509870580251393668434788642582521682351491558851031194257981371523396495985485474810076400315214588782050893878359009727545777391824353383805341963654743361472906354879293897903638800805757978332391031371091576784106588712314121639385623652264974097581813254258305431072422490759131946479522771003326746911321453731063775847545703964334562477789711617230714378568727547579376088972791011820395603743702896416134744764986406113166220019936108676112830604626570754585966472970712429139256423363799972245057707957074350159993874697586282989657260615540911690183635602776173804841581312963263202670453842728618644973448512902483152916789751978396333388381570943191323195760569273055934007707601383052041497442185061780973271643765087560637617179093836986582068699432769608428578307138651814132714318327455851698273875072251414758006915857224812388560128920552113645571943594519505508633916815599174819921953321835926343339849816698194485635453749963515268515423065199721350132722435786750555043457260180275404979234032839719879167318971127948798678220978244454664228508019944339824273852352905332554307482423519008904354675396308675405125574298377199393204641588402434850764574179829520107035329762557071543211317533536154686497152418898748112643424534479448094715289070716619890090208334655454503717483781731122183940710315024978987312413367413463991053192446716550147821653354456695530884407099853028030335926116872918915024007011764805561602360241929693342875416955346526869342647010616473295093218754055132072507629094532387381588608855404972565449323039373635531880481893820227350960740223176240293572392433139027373090151903686675500895884596371474049961543325971477974319338271912128683928040108041730767677100738129697010339520083219261414313298699922216746334391805229167598235655752350144357567786794255861101856612897810635607438492160403045553664479260563290793467996936288563635882959567434614182597073395332836485065149994080574743321406033352411627746811193170253632107389087405501866447146701708294935953049392406796232429297439997309352136559091026336437913317768491031364935553820711816743776035676728283308153703347025965612883537346555648494677075145115509042165720283278350862102614490313498333959515069127477352202621748446120179674011516463672637888591253599145513170503740359460246647435104613350903155727466129852128770498984109882792914737353836423828732021894272678001196011019418652296481252579172876489676171801892296645120339745661142705488526212263334063444606431872229802783883605030859986198303473759931990538450583456141100939805380379154790476424999235245123177933738932833839025815816386796650832277348564275507867757318858351380125438007048532075638325318783688580890734895617786905832794026505230530746022579889814011129793659220967019939526693978977744553381486876064308635004796065157294265743919737214230908345388716334816598737030147250563338950764743827244496710862594966191332517840761942004794914212290776308196945347949695974531347315318998223898332374305778836759835557705784622542734312071029215139133497638330808670986246035055692239159884098370253548546894069000998840409198233668238679315559299286261895059143855990234694124501706276928219915950063569390522930070858260878583489835680791861674389014624535777563017181883653772176846036046034639500432149107173847229372052541073176467384271312337914485695792770580259278013398008328938251284858554986580045980631718323305912814339055369870488651250786826062727672078892543268100614032526305801938863726094898873631592310195712568787707521553955379373455070637900759195972278100172631629097164723718667217612654437856042890426591486594266980062276994738122584021730739813628762589317296071490270888997416847860211114526216285855439400144077963017340208415905998437128141958439635624581374173342578885815845686992042363804681321107780972736795364252766609120704679447141003782972503763184874308893060494425744979088901058223263220605329704432843358953096176553375054799001665828235764342593456720723154107370489543592108615151291583078945065454076851696371094242178267491918494363222980747138627554831103241302546008088648570133929832174982589656793821131777250617584677881885991309693585261932260734723864304034035358135377281181188098469119987242912493221437708442174080607407476844410444446105904077040770286634457541438634148808499300514198477638057152917990044469679004225329242992175275470709782159371921223195088831579236553058793874832164576348857199647652238357883495075039838584581882222950442228211003988777003913315449153747554982946230893821248794988116733777277805538434612691918912592942339126966826447804119770672063612493425946904752759276239155607254130211714303874705847811331644407990749610730648261510738750775258010978938676377147041235069852990010630628433992831771309611530559047672879307168213725093001160308115334455934867694720754007396989313384551679574432106762394604830818161513950357882575988650946269876130757754138706698100819594950553965682761642907577501372677152608586834028404128357064442365436574983192949936542897916871557204334670768960372985707369438600676665933476771649286111277258433085636921942668618497309854601646990822709681692082176
302822765268636180464866792884223961557630836967815858709421604777863629066073109541498055397394436311666932868554553790319319107027134768066054706515002267416468804485044277870320202915123742980541607342547956507000290690055869347329409118153711648018245636523738909781061741862317331456862342142496073787686736668499403125506988203753157661832093736960545380133119180214974386066263780536144698087473685733564212065605778666232922314943252852459225467568411624248891990832059053560693732323495103954981254769517283866993710598864134902096607214595333322471135299769578358166897959569304752710516925471399340475231761870144484458640925310129213489747935868377419924957334449480139575293072534163482324288230434942674602209036561421228103420391982536730580745521663255289662397700532423031589967163956368923322218612582139428648946626293710476653817538358923243430431136317476437768177928370582141942845137299628701562914057962358615074959792012817684956071913874132102229533905766360514128551684768242605906129313245249871273004196848041547687937623182934716812852217516397259494950060182501476223607541012701771640449994953053743734216802884006017194132781393838240184692216480386905845063372038454279281301229404595578063918775356999423941331285941751455948818701172520097086315222483122608038554488399383859107776187369161468946181494507400208339982618782514437384516838904685734213186723911544888229721152376597168472162452809586203392973829897708738201336950251530914294752295175176385021361628148403249555040104985402981434299102412241608998623517185906199559495832523807316941594962583236787085085564710387548921715622586046163285254781981311666051950728289654583591150603957155004514052312742114054038608373810843954794474359960342381311002907785983352631353134905257217802120759554733611523448059644778500016321089161123200360472624431654855788545705999981611106560730056893480619002121451118253021693863371037834986421656870798381105812779065926102983454416185103886646192747986844761222270423000887724812362700567965274919357573854188703071104794097903360458039660878360109364236144504765311881222997502417146175821415841783255104426276555233504557127412429072152588497367705071208937095789305046602431188891531969686236064794353593302718761784761085507165458488878585690617412368900161122779629046015721128945846935949824238756018415493301940387259253890774338610124812640196865639972518975462697114196943425949084022448955556951820668332242132125722668395617687153914864130175654017462051435100860757487079027266160048773785156716272580513896211789878843069816087221182141040901727639155521309578803463244417553412274663851248077487653812687510249265253779637231688746060195443889947719940998385843199809796069284329767122902214347241357174024305637090527202662774377976230031789779760535018850250152854688640708809201326333480869593158786646371296548663979524024138870870098028624061143884440319297085667412026296926066555630907402837135965344776511943583873730955035155847499391513693351615963214756920894192005490419462243455942026362797769557638327088326444406514846613743894694760148174261264840699787076228324951619550025489076227454779999236120854199037813999794742144748513790887607352928392527651749189462718529432635459589967703221724387263122782254929190023803344878745672893951193131293971022249804725867445233888219807769650231839075481978088271627365868842864437151093632150349560828777592851708238404490248418629589845729624037869697430966580627380594067585004512953908553464817867600134159219726783252030287388416005374197812011482164741432544196722706176673248727080471361782255265069054025754133663821391645700915263476188695234277241119634030702960399996523473096187054316471245064397487642701121674433452928772790211689516902906214905902291903025600609074353869786308121258313487732919247478528427900139821792950130370625816486393011351361801510535543398503586968514987911774538760451366709491699510050788344471612554740449216024641460365132021978292601131782720262648874670209739707606394306312752983482167479400320682955010164908095241917878674054181536890025087501095515499862271233512558778669505243915273359623423326282716127202497297167748221501603276828060760601410327974374660683641332121471434555937020803613270353885062602530389591127216449303153440481542937581053511309667332435170877419154931252189364536289158143596107401022198169319357117483730354540120866707946787845247399124020734315996894108733040856455493633158050644566552934567602913477665527862258332496423295975670060738244477481612922588479001714363699087848520460190432964965136604961784261241498855367255482400518882708574631169745427111201901275088815821195019301271685711504190565292538847290062782132177416957301391369623513407241093154386033757998046032926650852480423620672733493758606247446380851084709887945387481429993068153112709172389260890706854149170213506478165529165645596318456588292566490484362789255119499784795964280430368879053514683136445568926165788813351609879901201251280594298005891454515544946227443485604343433120619763388327459869531177869181197620525513636706671614061169724474743333327476304494407678050703648179249392880819804501857775208125381740598321288965056452094340315808528805154487215687418401392096179238293589231521092119112220497036030575623722365676074615331260944395555547033711762089677381092153903086137352695048999975750015991804617095546008974283954502266364569433374846651808464592524382231958246792283603332371499710696852269158010707932228621371539374249135821215938746411528124294781355794145337701923104081671066435960187058190532127020781615533681014817779787696593466926458178179412671472559214587183914352722857417796512810395639713595792745342501711809347926657324545188901155969625347949913330659248107798281238078912449353735318614154648511720953772343819094157121647113311238981784376464570576818209163294070075747417563063987820586004227022438608861135567029073901081349917974368413294754093247369904720712535253390667281733128165319728051763949033263951308689274326804790919755618273744573113668731431173918210589838542971863363463065624728788404710068047340714616200306881123674137801088416501585242142588880480918599775115040933923350145703086420204355167601516516398549997862606187897509753579136452370592924901832168134808443419013035057374423120468185906549433383941311352829719793876053368641196910101464998442258900926327510015923560478674908492987119796332528990989641574196227041246405758480412176849724881100959102113748584219059846964695980002045448340307250459109774338090281081286309518216438661860371034010576459866976638992912472390669932469396900761866149512731581008806248507886569024269390597742287579692986329331493964249439830498503348720868918539120246663405745982194141995683524773240823649783337324502777061591543974160965080195836920732098155034824212423140850793209935885261794874615010325465636839611277110699190409552762714246691408728370957498011622380070446665388577805789861918257008822114402316086077009189865202271732076588781368293154474528495423982499725907679780695711138468261724156122928974853856778011088342520050936680673556083136554563267642476741015927817556636357275883289122720364238436382014301950801952877405059622809316924492405647735555387662153216237016969621844906950779137639957343575971947116716905868310364981726789051133153553903587980382610654080003193635503352161221085552463728137578557752797462036133848514274079216317598801904156315658718289919872670347142792893893431038479019791367777149004922641891812818929745260869605070385232043916591244497631006742578766367408804255463507466206302650097902993473393756791244946570913650011452335957420710439660753736768466625852861622373147233330087554242515722016129024
325153468328269262404739238108536857307396416004469229426780639899190407896664757156439925694851346892741084978767318830323579240417366903357062533057203217979894981766870823641240450142135084973633941975879235627299160894070807814907169275368597857313157055041040436288088675363861768345303948568995802181629345371042232454893174438644399153575167510862992212498908751373411309408070256578015706052373306871560015084446356450021225215297470774292771639174159142203807916215006365845972982850397390975691186382030187978871600214952508537959272454811152623558137004125373846009050311529823539587259387538532387674272378813182589886160759703545907368167353959546594790637631413962840919349769037396999825073004048947660762814405346743117496086672326123965240766275710535248499751251183089677079020962726618624144915152800695739939837806195255046930179460200700210076987145415919793366225857965170217031537441473633756538914991351744662692701223802503492424190016678381509864894202647416056281968856481325832940160461583821956116440728283271182242229126314669008503555406678501143318708996409268907963028992947133207449248249761682721167206521140121081329003494792013134376861517402253496507794606488160495976109791154332889972686534439670812629714323955361766065140242842292667722117192427993878370954558697341265354542616009529197016792275747421881200952949219833711303584899964231422400846317785366622945656921164229378588535005304079014716406708898631513977042016201676062707235003049580291174563113571676247864755950720178090660302454385683105174876828832490269807921051734511391917414276593336419588639417448201558526092165804836804314111301909335922219100453751862112915122519751657232397646763915135985999449921717329419000392444385050596173379773475425566688024314661288952232014415432565095871294538332245258683508636045531055043771333259312048192850024667787999076017176658060429653555986946793239839207080425624953711331405081553186064802550396756510066666186655448568876972243878967021919645113414224739259236383857412870260572454258411288075762463309827188833944980935871825957594398167274282671273252688992830943701111744218847748483980661944859929082300021992203747979485018841853934002334071120431299467594882075285211819906871412173815427437790863356683804467644776313983840043143019877867286841912300337669652886231575450601298704429367885254155017633559135111629041191943238231347019834587927643357362329403378409393598486616383804535960704958322455281257689011305914951846980185102630958707015853714197891168912424246293037556656371082177775793954813696794084837415203557483079640018063270618013102361577861618513221552625975398086742315641597064768253170575211784794947069718882120074088779196333141766884501386618768040255806845904220272343355103064731708745017508662662977536104635154356141981982472188026757444700120530981186064453495301558937407366137224330691237359524313603622922005393661195162411246475597360296588527985497449146365301120806661533676861344710223818262482803220340797689729999957553434981501007914387515255025046562827950250460128245524485848886121592958415684743141560362600058811641028674016687398427887200542334353898511012672112921449112342056111941219116814098129143934028759611484220973791595683507210213758385020005187824154362501487001206947405437645258512679771859925633649909996730627655243748507513611776911782492831628810175276326682030131348640179901379681890604238922565420264209127232451381325605125256453993854170365886703416332302020787361398126515056984758554765295853030687652483681998081284961206017968512934268378749653352357200340221063514779842659148849555567786455731383875873262513474363430189032952201483646339468702092036707661114815146954907918997155842491362673552109914358637843468848001005350093999515273735139516683007675765808972345914699482146337632302515009348622106997223325193560215588903189263925637848389585540400342115913691726744325405749553942495544781839809630889580748309787793668550598480563279779985944944842426498361759938404376210516496523470102945584380804782756301038324406958977422624305689638358247418824859185900811042386863054504789915806853779150518620662515486950754096625465215968009327887521385738895470985662531643273421834130913898527703988446746797658700385672605195167535007551606317571504134527352132598545075246830362154739671723828421320412270596034856529338280073474526814427349834362921208076060599451659275896972066682025478277897458645869618277043908487512179381266237355170603625222767148744082693908023297007830639273411809033985962124244686480005257973606594626194879151393874620833682959939485455949091546733043665946984912329708522040980307381790861849997884262665335425247361220801755480089468761118788775341326086957409479179506171344373487438396535830626144553484982753824968654258487830872317242368773593315966697406885306079551624342775426799442223431993136915301271460245500728547261978077389133958344812519613036894426154308151785187756249481709106055498975406846953145781536771341107657344845453117534266916237087089725460201356276751031147069597208950123052519567524850814294931851064427531088348658884396504604698029767299679441522062744071501148178940554527010846336352151370787134745590772985754003119704756890048161913490678756289148960215746447580897177654063989985590590623350625886490655246390565295456916424242745432443988428350197313229003337777939069458611793153951968022401196498426632366554319633113670216546942216039002588745367393052344979110466544261361746682428296482069394085727096139967444187662807577246651598583425158882084395335842973070443242696105597893737768801386284613896871673027764098878098079561115658497018850263220552420290276757725873580347723184101110025292761291583019653880111101151766534009704374600303976185735875120639829709305387382221983564511054142282536133069286295539961331144424001059159770682529516023408888651516850297453961311189800927594783320806578266453072071577884233308048725339095109714897044697524088182639997271665250917456178341484989052419871751639208464899748294117035199498229245172023018674813400665549352996110948563607040527988766983438656315737261462377459897485038304168025519683836789665052609699534518058013862225521461637897775259854770404278049483904985660190869586758847865852502713289571145588293154943895927331852542281157732319281669269482147839635960939290892885377573966143171795511052499548230960870190225876032872946709348293081218620598189318097308983688157186038952554861239042434167731526954453018660296790935645033525172863803431819279828389366514009451084893054248318280075570074027375282403309030293717639361177107573871647052403993149021657119014799381335455403009220915727788254147752092501263463029818184314577713814925653859457102389007695199743001809548560228016768788376980697823618891735178664769791803514809784212473426488334126933366586716939613083372364054346182972484644306549485808135811598625676490461034433219173130552452541475787576062650989049201954724096817419553441209879544088868851990624601378543555745804328307452193988216522622599775612143332132866796027909804780294525682030310256389089122616249324414929657273339737838521833155776017947875601945566122594073749123739323051731997370740847145346957106224027958698545914347476711601387490169801017280712340634439869470674853373458801069935151398675875093585049145426941563840520878200500581593695671060010560507703870468362451144283723544778087989249112411856339853649349100856783475556511938120724894906291815630343371104874676896515336490798065422483813906864206404261485574435087437498248786729316280858732823063011383634920348472201973767812156138787181907887243736161835367909794452099981699962857179658532589220526377194026542318936401804572057769706275335649099776
349130878162722068577599335771030675136471556411701582556585918733243884698268819865672859162014152621468544944840622192461186483814278060087844047526901679612402033050806620948927842558197185393984700765490734466181985212069059968331878328411036535633920995478235152917728123758936798826952123570875742482845872590628843457148994846900213234543856484219569072346373880709249164466049717618226582517323154049180584322240944804799955201388298971775812929862331491016192091702340111435066333660506413711079794126565054863496465476601898590923962443341884593561699396851474438095652802009800957794560101936746636224448341899685629309410206481311081845231054177777182903488148477468159876964457900193378804301568300676446547997570970487307439694416405542669287732980039117013740416171991612867822398960652315494841731636493457752272031096288251654236016494243235249645247357943442957566754452727486797305918877932192757654066509794966539701925763532732315721919970230835783770205494717662145159087898269453021799487176873694916051715023974767987907407511915039099146879092852035599213116011129697847742710875451937945737526203127916770335359738993688169447056556600350683537768389090903411050657010987959685354132787578312462782463749669490956312591694802757037274644987165286273381772039339393135622862896476798274212254595199803481386065896790147734018222530233483626151800668226451382246799184402543198230389915409103856520040122083051475901717382338653632921590588601025207428404890171101904280226499969570809119779159841138136670430521763760176836456085165933892765809279737412625706183262712969553414735017769129366971448953703395898286564938251145035752259048850752068517977611541620463737441129593935494815087821941422502766341639949822785467492218216210267151832866580762341760652029620856195039578666830102942074182401587280662091343431212765583611766689245235680173192997920156030038432893510369964295819677249925234137920552360749786758232472662865258802856512858545805884149808739974885351847725510076539078136883650222651234662422319583103800658637545026922863352516945728241433917955740311345383744534744692067020413273035065367036635482630737401287677339471729148966135128558711926610637241805782197627157025557572581648659733163620240968382096393208151140430800348251103449005114448624856529477803566113012605228999509156310722260367662826352279819112212609949346623010300808266722993083054154619716158555711402472365064501172943115534566501920934274997113856064013024369742385048672843956592800939884364000018360661518506476511384584715226998418873264089832375863605736944113143170781810258649140790995785619320652281978678032726813720784804214992162597310296667211030992021932623407654849339100912204001752425147316198565188177175469312884404523730862644433015018511850663383546196888016805492885437336834823201121499477886551955587234529677608271323495287147219087133588383232580261102089282281127609731707428028821481134444147016623076593765521395764189106520830526864248474069402795898441802012985676221943347854502298495832886472758418662055813900110314941623381272045172567508954813486309790513944288530918710561674979333625774335176579878372848725630641642210738609340241546112795271638794101995282576013692598775618044145079558612072358226674646863770096449903855388237908586684738140356305364780422379610137325378175206265687054943214169138420944300043528550962715582901257248486686995559749757163962847189113818470192020418175874785096613379133061678673936303599677361919107343771554460050278590793292661132806487952106838855763414509118973287852608921104175629927734992842385301579559215267496009296944384619511376924346484048787566770068906892925865926712047375216110359000195489314190874696050365128932461345359058491927588201667339778238443689610985136227997537691091582780322802268008370371664004228343785925366553053921736128678498940262144599664731783693269040753489033765186781248161542819066137401557365926359268884145175285436462626605171048811644578384427219438686420936889128112442561862190959200447146259545791238024674424383542631850710943440857925868684948932296238812291931731811649782184540935257608526371034296133467386750901886099265842044261374961279562289210761484364575106121290901152944192087795086884833384211881581606569091065024592315541559150099830940456746651648841748883278610745361904753371619959861768034017389994359115392439260132126634940895927872838789758030728134022956207665060581996131380613994976863627470408711056001127357819767727706404619750660963634623163681812896519230535291764961681404283348985226170888772359087719477231077801267142043142043092249208532119546945562267065381317844626397996204784389348742644335172361076917288410543671593261870754708540305721695188431464489092979838564120539344984018057871514946630938700564819566334091002645426927697038730120289996925098708656050223974487994011575170483850786917320727243147440063665946546663821854213499015747338009200434360140355896357577785889390173440915083478989559594005198382871862177821353828527730141143265108168667295843695872500977735321562083414251436808229824478668925399717614758746620194138485707993472861451546653358155200987061778829263749909405404083412978476519193078377464412543293429325053476004596880820838811614775962275949759024147032923090726709619845774493153798030902093123214574996735008354781963299400076912891634173866409373607772403401352519289035098952762733588003025367441471757938483057649588716672320694780172656166149825347314244726171294606616507813869974500183424575552002822679261304953840585355482746265539099569845126482240607900991102379032550050490802969908762738090763026171085385598849446629550118844013316070050096375305385590155974845943813678982535643220947370585079171073346299049738008884109662344124601334272030799118956420813617805456120942897205870867722185351281144592481834326640144080080967468812286798492603205123158974302368458192514575767632499020079616539495974733025792226475001614753672745729042729164715805832870037527070372455387013765344708451158687017695710466113844581432554481151189841880203690269776248064034817057603715764581712308400624568847027378081166812438041427242523983870817853257938194738285370572742243316113570222384733058535148990730256010397945467188498232571555618973578332493162041743445236173430679474802048007424332209249931178508956768376194946956593333939199101483528857392523024676687898030680359103534881759950434064314261823863769511120757636908144136172251306166876323276659971694379549178613112680586164913860260695600459093161301205382957029561131846913520218980885469125968961660244141823247633828644502273413157047932487188714017930473535770709203440297775954872505647494382897302123353098193543614302864221388269999446108768927880193808095094219971675804581221418169254093925379092589264475800791206241468713347620509113800174880565282100911849994506250905705632313403789705660037889860385628689768101549713251561148971180519557647803758049611257094132609817133488666285230172828490270459233199290383470272009945619823938551565709443507727546687773497993782203916043828692277363263038069357981128208216531201636054303032370676678416250596506617646808685758130117186768358974642262434091961216022481445150034836086749532999973356219207414112395764625704214012047588652132782663764331572150206249685321024530385307782181368540365493499533332869087332193475616744879752698804319928559232584774092492481769872808834351487665580421345159966722651817108543515522280858890083191196601036457030862275036647603273982409100954832939104824208893643618554738855649068523057682152067764347109996923125063257760609850777021834145849594649075598983867127173762462914980884739000338048479513090730488426061453947961813638092849077788023146076617440231424
374876425933162962719564596331974923480986417905619352197995147593349058192764852284895010783916187749590017007699149062228153424334889401481903267819078098535684171989281385848978392512823471996603291228032217480817911117548059264362053273694137391502207325956695965394800317541018534673172633523665513010885215946333419680689627566677235704448060269360147312235183450458707611524252209870079546357437075026200146315548795842189227853056959470211885894393163884056365710078845936320651382665624753421833427155002448863790765858399551914881725279221411819088437766915002020250201326100714546299277981131188265805503636025144072641273975471459582931911677814289292636372980508579484888215432608924848510053704993228908150285415401420491659146252673902909430839190812157093683067523033372113397493568066521469254823518686990290991510813513266960990397677022816916615183251049373330097681527831733448675175621986945999923067335244561238358514185648228680386998225617683315509890044752964916758871810064168931109293123560971796780895368170871109312509684954955815349286801066410066412024150514006067604132658112400674191024410594363858300078257843246659549303578515219781981490202992008330389354215376599874590612625272541766629974741783998616582586520544763661432113297471311072663106557872479740496772182564920552632718412202218634545024444203648973154193108850795854618368550385888752220999374422099083906692440002576881105262173238638371220602066844811337517455127585698414494153816182838630791723809210462905081427509565011213104469355303891549374938906581969200681780460861375673766386504583695116740003006456097377383888955472375866820334711492231840777175843233511629822266257407863008649165895582812677541094940651570219274976718286873986144625787093279638619136307105576400152593881714400159303496949913643031130498955189027233313886750440813449831722872772620542539044885490816542058065725179422408377808295825426024766877881458918982041395582213055080053211208527014427597596948325711775111883858559440913449365975972265847542822281365687472794500537878952090284403434300297150965567441262953174320235836686797034360828793022481103161146457943048295723650615207841652844865647169105835169459769818869630626912056556602600831820829042458887980710118510187141417193847711710975027347442573395207741699806568591890744873577870656601776030604577193784492199531937228482811990599320760656985425095737951472152054449882766908275373951367086080322328170821883472219518626545846805546523638932272308249219330906460351350459650610188727753845147240757610357856326094608650315114041599203236232410568404453143840208956617627202326822121548079968820658263702389288572812940535437432293410294159383062840413491811407989988701748174102763752131336263623588072527214464627740926968991796308296917058905034802288472584028509090725450689717695000953961863004195011817237208376723676858779146434122277361745782153596167388840450083684406015501723679647643753020582281497971798866285116606863910099156936497260658692619251270111672422879149959784599108059920444550765551449206909003366633142928093223803031828277766370073495500437801570936674220956804849643468064888240685760742734720707197713866780214394323732904708014248236856752564360939984632285447650245889241482342291040778060382878775690309198800111812132843788547332280316085373009260642043335767295046987914998393332613212531141625706783185977619169883316534329405605240790534609072344387788869634057406544545245665933137185563854267886935336398530459753063925249721265786539668930553544612729221795861481607489471011106137346105069634894955159403209738228825992917329812935222021167911691847499303790532066932215576692896391976927244071438958731058164721052791818880292564649405936217775329400045017831579169254713502034204189030610338555987941424645590797016042644450138065815285569198568610544710695304053950161699142180595758893893584156341381649479029242198089971633198176350182826530404451050968485191784268016798867289783008282034205855795343413780807121305223753469141757168197700440319475295439832073443735141105142864106947625447098561547910615970649932398198919661572031688426170488983586465896905419294426824825265950297501097483672246586338778556650566355431668457438565999782555464729959475899758531906242346222181608357745977269632082256097662542847319946933281538601910891149999513365536781596710726380262506272504206983480134000419725788354362172740432674673925456290404930383027669564109206384389159333155434759616635241698063203810232893101128298637945324360335135281846040676082135081142084552225297782646133967630887482423947818490608670424040958265431834404923381657344357663478012897182994870267746045099035031238337115773555071222768205987213813004656243130627998424379509924277455064328872146904800307898016438766775176659191386455866562489534604134485478003920707309878812391956125975268156089800668440906488439294863063623794891349571701313192554264518590751437143403171449378636164140528042755267078124517963842515395423841177106683653090512805992748196330946922560582121888357625040471275307563297974458485353089429946925821050812720755985915921089491752698842930349482991197881290782934314800818243404804793335980899654650459546985193598819324365770698008222716087197278082793241927085533485586948095175027488614672731548502971634610228421835538274500379041915518824395398896690188552392188051533148307001005032058128403730349559947402008432975554876098613353278113766541489556833126209866866766560525706630633461546407349771568574998918660438638319633317676778600553757025924823732375689141115443121506551733934478997676233149646585286876134452015980810169272700957992651937125403796906987629477344102253396193280597392875581829501186858285697073264700026856332702892925315156381352113461404465119934084062430165860260925546469332453191045676289016482024350696931539181476752400096168940077647167940624568215977186861709394235819698343731323919659498500088338975950497027184300289324228553884698190549787259945796615713249264991096606610786314335241095343511825712432860969672519907581570652200590721499881800600668153213266937726834239522371065337147293020753918809673235488489074950992805198542128942899697553736431292181020095593481735468904024629645418464180591652931791510244062158340834139006538086278229171027932970238116833313066427368008341970775486676840813401080524755775210116748326085381293283556478343873910188736744804548788553509221808528799969050602386390589315680405228497495670004231737494534634911467683341745399970118103773119200409545721928401482481294899434591628809411970189415384754413598660456613126608599950852851318626789954245484222866421827035359482170545875572409056928145901390919721903586608228650386625445109917497780841409743819251016603752977532433204244406747708241692921631530903866768261721064745410432874800708807191515660423347777148154107641876315531826894017647267524807067832207767801570292738331495006333408238943851094503096425956762244273683186888162929218572020430350032698382169150373047411853029317735155970566339222082913726012334075575074234704044291552843483989430743965088373877165559868269999397608731501026421420796926346734103660154946024977454857454406430919152613468582219829237251921554358563327465794539583458213512663367169319078320037782335814142755547585892088421350060513316022904804663800840817355348262616849063983652985284716429623172128323483073099170740087615568700822081869978005799880223153823633840596240559464219041920340266162064924541227179139485662815683490639664384634243691973442461649694873256817920992925542708303539848941691173486661668057224870693202503259376525687241483590025788159073566830035705195671873063932104787986912790992812672832135010114698176518858113891650140829858222525654024300187877376
402520497356075301679749290151318463860734785681205983078773718920031828012581476095473736527621837297371240114037906357324746961997190132785447117779617419520157251919700703690729847713307018211645739727590513128618108895225931562176209278481514300858182194198905270896453773072272436237779627386584155106203623624849932160101178281324696684571985146884695887948103395070146347480733988061930015130927040903856992893924243608595877668092983637439384026725587161997606636351115219479924064491509904838709665497583460167473424487154860593867796445578108026483177185157801122187136108254600044646719189342839671813398303384270306420630016106456272519590112743215318339048892835598583752852874714456045518108747537387515486815928053718930905068483628841387171176074593329599145795800097014985910159580804014915732834125753067040119515589417459114892766448211842325664442770076004033516038661865152238262293455872597902146898180220314670154769787627803685647848500659494809849956826692490179128679185520482305133422741843015232288075920972942688582117535141199615012550406876172289841207946904959412576328710259577496924700275060117173330803567919349974306376242324659300465687624798769282095459825400559196261095653537567493617451412317079688582863097207548007475035784201500138832680572956357955964050829419718792598943069996394093503163956843812275890310341945684084789565871195580092670859919394843616262700986335377465018195341891459551990798369632117650481871900532020531892860755924721868923968087005870439586470842644112586539245628116104586524032961441889215051876995612854127099148795320681155308303761917653773913793275262363644853247273408182778546962367482288835330572967042772338849083164801682827433299116532388755708393459050882229141081220430973737312972259696165764471200032883260274116427384578711710730950730174760366284126323947751837666046610473393518605743646564780489118800205666035744038060760681924525410256631222955448845351335950987718268801020101040824762959685312083507506911978365772098827348354684000904553535914501434478052317384711127108630588022297465226619771745576696205021199987394247564392386982371677332713781563682907965170404011511990035428820829026296135903899082339933226807546815094677635860303214217241979825419359464384503806643667003550768486682492870492624233431671165407037880009274152244855668636740838538802962117239194225964639299435185526708898968683713042639732032150364438726258440720822982301450307158064872738576439258469312368612097608926255480724207010943562311042723408484586757522653111411839643687525944310763888755528725794740359818891411635474288389520329619747902778419028914585089419356732948476467870234523581324125188602872431072516608972203611790279178642354476449771114654584887260536306420015548888574023923136042809107198056405407511392703926548764619076126906799535875399988750808562471640341834763091359934332111105337549933434823953908996931502862117836246755441393058928852680670525528477713691615246113209506745749640789856820830668054450196284023831032757809388642093397032079426829863809437269826676910811626463518968307612025023640848574072695877857327609966503938664468223149678849910079750731573760277043215946680410872220215590001406319831353525173593093453602145848631535162651226675374463892934694394980599458243610668563465019821882873000672804954683890679022433819823298969556331814029549509687665988726667284140030647878162740214591407070387833080466010900584207771012223849549331867141383669559350071102573874611686774813448686235367417227898765848692322137248229188862912568196664260228171601376765419123201255813175780382151013664794550644086853800110275259832290776015478287237679442459764324824964560053852547119237675675887896802976020291050470901743412205163128592341995960796271634116318168336754364018347304115215945619386313674723840336774152149278075423295528083123041027931864228227561393519513927496298991741508267114895457538468827718970892232066729185618256343429754862478404865543876958514625993173007819390574622460213778082598056345673663394236546448504172793178131783133474686778074420036424984229808181289188878718802312245816012516515990176208037953857020868682651922409542757532171054120048267793173569350066449114231996853352224550904708080314355098690767208570853818644789417299810162157291810580339300893359473331724925563942210148865935080223842610741807743907981083850108254115496949375093133567450797714915258653579324677291663648065148560235904198366461068208940194303767465163559241726483216503202515837524128190937881408816121802714624895839889870268614500081615432952346084116657671906927080651324591978632654021608386401005073593691259752116793373783933006833424135081749073417596193139185043825918680253614514992067977293662381054319776482850520514880356236958177776943421488783962385658211058308122866754480378453441699418279409236692773632658208808979277528158169110243379539765641576439570940186810568479203170115357648979070879440540461516613972951190458072570417617028529430476478592837548260390457402011579101101056277386198058195440675263700968349176562550559475303528546332354287797247466934976279421270941775812530722958824425789002100742279246420777365951069160519176024345354516418095475789385590950272445102226169701348416453638601662095728827207358306559614875257931935951925232366648194718332294883849681157741636412651308539710619149507561804208659621771112955273266247633940655520776596086554040074219105819598254965769168430952600204656319091681078636465267276273288390730025060419720487020149399373533435697002758479069335521279560311638289291854698486745170175454570343550789441301943868576879712260152618680041577469566164389627434455620439623029204138767765188435871838669861387380513888558700641649567662355099704591787758257894303383979622402180963096163419095312194177788351748004925882108574889529738942083846315135675638213131119571733000547575435770563280680724704129034727850711430019378410117253167378811675448176822724894841038120810428135306161799288971326758199414142476155228559121193900294306037759615114580208242947100878731895180759100361365718449924702713705410090403596499931709364766782637846448717391790341951725264759307671992313100397293750917125455623199441153066502686776396094972547146818156763797173987066264062098349752685855161589540702413213282926675908755288796354916225758878753538919846222143228644740600599864089585764882263967671552066376622258739718435313425510292435299537354661784148253590111106037780142445873536070808921013388828420121107524158240770292417167170474798605203769631200794984212948957238616500719865849476082640451427061045315050930463134620736422773223814280914359402881497407512795544860147217097610279234329836861404475193510637134694556716607553059855312881968007341105847883553843082155255190520529048630272406325685438959093823618076711126682342547530054421404509772480613821543339234763265220702306262246494546226556189070014164747325314620198507796151130054694837300758140287428947628332415892249309068020512152598086208441550919550421920760391389322048863403119836805334057706524617788737954885326163746750982888061700202937428877667300600238367608559163229135932907059847867480841937520754357972460923720122439413414175406997281878937252631526541582622404868610962366383993356224154172058167338050994567688709694518078322722230738073221591960782499657446527094500262602656578466352473732018776942628923349106260547618012486547514787445969790713621174309932585861891016807078620089501071683319634527606086013560967046120163105010394680058268330793422254224494922831763323803742823059335950264268539130647169036283400251088895794201524118420357984961253798268436081926993889162926807212201028329553450217091891574814469264832681607220160584508841516093638845024054996394573824
432203093028499471906964266669781923390703450757587194790715628636458285148283529091366368003264097961910625765189029577255069563313321616051848188900229238057746852443086935114967798574928506806573714616932300691818354844590516647670252360082465115685549314523454764375572389430303889510877194820111223833233992546355857883863299192338764954339075990916881280410696156763211547090901117200410959407029199711030016185077255850114079766219026852466318894292796706794293633350151160198533996388607477735582542037805132112454260280363924584525330970335754446825086976106523104766462394213555708329449697980782030552479681914331771725126184723295736231425763389265659538111008618476155450605010899543513482441111611149979073641982540652934853338204456546290067868798559001782019995624327708247926509048423578362142179610875543577252209846977537647470384610508985117159340791885021189578868486045607806349437565731906783069783967972041395785940874067570562541443470773791160046825809414046292039714719371597059673685898189600297176782332835967337085626855964895772171673656771163376632355291273026274305675728577686255017282063996351923345941178403430726306081561263945677460591479665658161912349575044317962013362827267899773119910637692717211172315397137921904113810557393789142606455669215524864033751616009841717932266832450087867380913816792532276228053050486822538129719114705691229442498161499512360720668620234347275017133259590839389376822672625016215010999613411598296320090480644629666231110411059474024509259008303506431532007448317411822509080971854735795775730659892985988277367856335030848623165363667523301002680010139144418576013939672328873162403442119791101742685060597598257132560618101851517397707831723075657631420804830963593527130502957699806798527692987562713749660718776931865796512728281095383850411410271979034456825901322073938874892790398719060137509119938878736546032685523424354652624486597437123744343303517431534313946237384850327215540529616352239479444700145462554590789360257912672563185283441798074872963558486278307080383236086635334716853725254232983007287068559185715073341233133476386898239050165620665167550686126457756146198074137801178511166699127887356929604489383606090990541014205149897420649782426684135667116984596199880154680514326441216631492179603629746122951524376512358555718251165147445020258753701387943787320367314252477539960877618277226813895666168921496575647072358954702668974834972343797478970653260832764646941052814046910699314035074516241362806876884128556916669174553737260908619273166623914208554193491562040745694504119240363558352773987408985520465581210989339549474315943055334116343199342778020632063012657981978515214792255779118259988108671423082270744663539197742281031727106809962616873650405571978645206247730405992846652613997144746102694384432547033465699762411653205420650872667343117048913642028324694530281200015797001217386457389138295242286231625994524501723308195205763570459623986224242584727867806486267321523549045663497562711923885075165770392581174003204886247307581150277172504416762517276230073561119345526489213528833217767868832615580487808159690994518004770233914775193316671267535985343750411128017414511115007165217281346184420844906508723764798673227453823652469465264806254032743421839472549045306907906355609194390143744671170102770819238518121110146626616356393268736192745317280430340149038135167113642779268600190446853528842484728279227113314397169917641639562511401177005714967236469821600207363220299849304869652088767103884453044529723801986444491950019704226928010673493007631447289012349470597135929965660154246455885425393842193213751738358634397831937235108370981846074050392747685927447581172170856207369748303132751240655573543502096896201155719912287847174746021196815516098234245677061020203786154675603244670205734119019492652404819360988218912415015757689758394844137414057749624664103279832641888023243027066146670069242109565228166761085479781133893835401910431600939557197467066844587396963558698163528541309508340059679458413841689580471077592566558261977734109545638918310977653109006085471747576338116041577846240021647890709416967700076035665422745375152325128915478583086330863342028282643102530843593118648660480678103746002104344274137051924394490257012469021397027395318368506283592796019480120630382885678641291537355834620664505135093146830640001080497130712179371429201088448161406590246568668141832126048207683362305467966685898673644243261727803655857338641688116576558543450997993535571196772045047747461054597912305052969487134933361261345503270481903844801789438677437416937441813548375407192794955122724227911983153744288139095673578197874008651125294968299639201719650116724834831161862211188831920458415471287628673448359879968222616997052847641250017931494534167687313924038982324734200965064721732808789411043071815448946487949531095126277031286763860933183430952240518816460327093580880541336517946246412427139303915770014694650893620497905422237284580549946650717495313370342404799676683030214213136528575607306255432030619141437958745811111171087823232893694974970603193637437326141119662529125420558745820525846815842435754790846671969190960414216495166008851357649364385403782780242724266263428501004193915659383942441523585468099533535009734306872040896984307376871375312988669363169284546690624788131936402465032707415656637761578113443737058875664935105147319172103123766634332178487796863861118058384445234162044474014263001290449354627664601405648997873192599140481799940780881303183540835842248570286453222347374145086705902936505172475732296127798847382990389820531291343490144191355106470811435299884315788009277840402408152818337892513250057228849305834836735083610699913123564758351958034777150588580892510247362972702491714723652136949048892951197021476945225900645091856397477640070167924260393916939503349459167247331509080114690848946647181879462505545305453370080041766490566655729425519469811102547348221399107153236824461892521464224556968807661975477049045897073742791620207682575559682301798222006667321793081855233041587938365086126611885659492602954471796829137962601996689488762566524172777277734721484392829205729541940702219982399685316773555959557685224659474289788200188223162300003350523439877514762917882782903131330838859020204968173131404832110717048523761361844892299613534257019726250672363579514252820494953561703918589117257897129348662203455058185213979863519109530251927225550679014440096260447359663463060812071894000164004388049049043876293889793509324945022446538529200384151495481348916598863017764290084719446070251758418733051475929755929440728383332427074811756476706226232653041529882194060391677208297794912047266218642449186876396042864480409067011761645114665824829975024912084383283553643073243165559454980370121253395185010621278178063558807967177084993555577727329258142964929159289383555564985472606272656887031173391671354759690525872961629582441665813003117534564589254366699282135071842496846122318470360581436084788144835424361275081746947293166846117324550870007592740861941724051124999805382338336599825896359074440020157800443205040976760211656239670796833937566146543568063526391389507049228822185299134003969133599088826768965203807732232822124108663336827706888815077676505310716005053562946431656099512124166611598324219214628678047607197708154337649466009184914132335455461808060427771929928756627523512025544970218603582560303990539207904529741861348568956060383472475647253646303923959202374752685137149701841491304956055551364722725661463787564578453200883920116796437333436858640643465528983231956465581455260366526248956211873130492667181505261222679678600235703853386654863154525087213250394741593443635151520690013382603747826795583429633617309128253382135705023121484414976
464074537446862706948420569996834048103762187859545856373626297357417351995030066995720786632080030499336597834095464323071807306158929435518139152920828696090255322672499021900915173743108335568086875523240349829349502207509857878371822119655250883732572731418364009482117318470932819197703747006149577361568938975526543397304159041439552307979316168961699538419636360472720702671246059386407037103293491318981642497314374277416162616261511476072164148123610726014498038664978537427290095408312805963843788390229559510987610550008711767186671050292002872150079898683262536810084425190270351787275311626134014431843261381634408313288616214952499112553985302182531293014311908482307254040166306815732934004911153943757268094172656176836420376536142056942237906527557431145045400506137652227868454043606837355173476482717116397630272709124422160623519757669447248087524280516227050377064040062729473178283873203097484251322157056257309314702067677467515071955587901541211583754670010514436835159963217706760647060341125179720921540312510266661326743824507132466381501313354218914627224147867550513772900590355533765161985594917927643519379063895609115921536797884316777153451183495062704932253560833710849368190914524431639038959018833181329840355112826156644892716051486463840253651824438618316624952457737355048163885697129659735681852504429615435855981522398484920055714150831754123882390479045132977310756678789991350526326297404133379640515799828939778735486904967864417446026440532401353623503698316389411557192472464238141388908791937923501260064859282996676394324533686218419859383579980145978496905466237989798781118662975143421801228690233192366597263720165582924084160235623615682632736647871249466067782540653420319515161294690746860591415699731837985396298725582977597575950579560693870704070789703759742173520890815847104547431092536007682590391892567170290895614733259806423093752595717540061290731902626195690974564888400992551449375221567546180311411329416188073845143762841322028690013741283124263470709321492753262753784459574587148416122810534686446321725042495674986895205422286353121657593709439148171129044900112861035109099139333874245743365930790009864763929735889636979896132564029341839837693475339447561049861392648030970103073647861703562785868057590131123374677548769337000622714898047616842634158920636155542844992351151295042093806839272355436430276625622489765256814041137912859845945041454964005177162707513303418660156550874758120470969202069035062715846567569711044918524501745307633354192175489904232544784755691485017564312496122478754239444336999768661461568837976700277146734302498707822292407890241848514587011775072310073100580972094316657770055542788501344981591338023164037033091436866844479293516927265536372081613726564017196113792805294241991019695730047662130472323959655160256679249504328255151643816355285024743733946031209976417169186958937870700900886755269911630921702940276181846552493076084834384631458069177322569105944175322167443704764290011244183163205855538909774871403695305842262596404896557273326629310455102641475010791029170461547298768450774855837860688925404083797943148691730136442831664557376621795216412480888635833445347316160928696067353473028973235478393535786527127074384026235484376905737737710211725277489916690009837297935170293009015643512025412466363406903140738417861743770493461942434121773172544147992936568639099895147613096296154417151883120166160834681701960455502687806463842201553920593863247344587345565961252962395274019535872316038200036090097275698857361139732061167474052562192097247850465436131863975279084403102617264191384710887952197400034909494213428370864477205932278779095716074438107776816659516697472194793183742915785426665231279778492366084869151767613606653073038445039536611355246819402132551614792914197427328356232504983408215023132147748727058004617527795264650543204999256302677011323322149643011883315584880722277285694171674229022175938754224095280109827955046803079911820080258960616533637196143063578097172586221730833598892490532610522617376809633487945109618242070170550143392616144472503465041534143084867959207456459752386005656082028874828727474080072350203621861762741115636052450672364184064792452487015933931661119680023873093532226459235874159282050064114797277778339223627114060641100390071216524257407349486967778217036218002634653835812281887831213847534959957661897293563863573114158158616971251471861517724800429864256326019722888076917950486947321288954127076911880732038606087857840199224425703878561778525924132925945019619873732607881439208061375845204793310086310349447799708257266773300521955934374771472056327204502958664376054154258362791870971251053871800076774996361052973937057710469969878569594702441944290198040463142307325500414812468927250709891893795648163242898314458214328463861259411154591438550185445273673683143180849323538025606209903154895095678719277236791560692432837098153363980780177411356832972823288609237942741253559303384756252552106326774639844094326489723041234151196247132056323940953800710926434198465020776907806563974868310615382276852840524569819516487149256448707846287582195514836483799399187249063951940444064528773639472615050437526856907304867624096698957613916386755383161829006649809077073472547999537086951430519972416160927330526302218525941957024733342306009938604623708398945434802315480145484387824160647557150973551856632642514276564178029283698174351380566343716586689052718957260745097195357021321443817531429973534518880133942104401760107217155474807792143855740556120768485453947076155840234370610020079527391379970871494109727740368301416234517950048637053683273298955772223209079317276462623999632869355493060617009039068231438670880945430633937961014950654233073106505521095500942209499635663112261901469169553382599032824022340806650703706535773710248157594981649215333126824102395653670793692354910281344081423755713818843826392138736691072347763119716493407747662486184640725608233146687955401680294488955626545279450074724169912678983676847581133712347494471095593341377395910263298661819230019700796527155505341048103030410842336083876012311911711413625545682586617965340634434783943963880509614094101524751086009058455770981539166343713702798286643779881607053632797149688837038122375021532604250486463934433735380080062416112975093629800032008058662870590768218845668377624896258802857475396020139262093826271044342071196486297693277817788568954279725868487518678045489403431297428327021030853072976996682870754370767789721837187831586937685927477101467222829897740327450471343689287053020373237631772551741755223737782460850708227552502994207931445655359855942356867205525171443457555526925640056902244039551203818726193743978349611689379243879347178278661971903401873123546925348797997915309082183343171068498189721712146121950604125362422397942455371983394274316292286994015803526169242787952851889761236447207014062433466868221186926353012429863272623652410339249765111794499652059202654533604269625561473860648882219841289164733489541240716292996832086343381251142739523422260638964359626543030876982925823016039027548179022833415714989104381251274396845102552005547376310342067998975362707193499813326614758131042240750385321592928724529046152974020207990545487308368533666703072494273890012205895800340711630873712772017484202482891244249546511302682258181249505328210453737249327432549141618052297703331289184405194590916549089471235396796047838924982888453567530670052003875455277710773026170311259452079688060811016339032663655327567683068705991733769538986131015738798479299659106188785634675210771580346350442024991840348803098121032785591786478094398250836548267950851485459215370022010160998114555818558552835248784342068708021358060779525826878975901221342636468560927052424849323903156224
498296240310150666036374576747520265036237352854539423634259526018919687460393623070827437633044428862333309348336113252382047659891615325980537119143025531731492418792077654414104605924202051662481677914785047616163823233783661296303730432962175335076624572845816278637281944916968296266804637922017586413040140037326562067836524411941396480913120697533627448522658423110700629528785416158373012825726029776171514637582251338051512454665247393314657888033651958416771374480556579698030734420855817038175707397195111008044384993367997388789279522028530896555665592157901514545327192297792434581190653095613542724489707158024889683471282213079072470472097476834662331498265726718713662681519539543668712455304927393514722456693951614241204564732683974144270392396841022382435456902270765898229137476842581080615304474973781036811838296312678493693919081900030277233278832605781294670008630141764218949009603202878615189825927329200193916900388164575413334109084200393192937110668145607870585717446237153366274305990917812685870105656044303743659368174107024315462091900059354575487135936588149399070651401659027633498618068148900758252519855414683877720618362243425637294548201660947323788331734840083648089190560141691320665001463943190472825528527653683230796825217437153595144000732633649807332685975884190522351098479363512409090390191805223357714556601170446052897116693936698790096999914450154861380202491104147425658360958593880640194491899209144686005598122868309400973193851809488160539769870300985695859706525702820836705296819625062475015448340364828183497579768048189609802212348683531826737532053673949584636631329943371764386452659292118957053022620299618590929379740906770880545079770396921118854646932836557685714872084215444050013700412172300029311907156456341828972339153831356555435409133961635405219166045806712518141877355813925674782620435599885470664867957291658014619601635130486054203382267420841751407969640878038185603665994066341174851807688861602637537531357455464537656995685150405947077695997433431291131199788526471468787286417591520640141567137955783572540033966980439051156718573024116974274364810425081213696572148865184277611105970425922953169615244021977073491524709846662296626840856163877443354029526689076963846963766661359283252996489580164436811495306627436866319323030461622147463122764149736892922092236391240038459960934703973759088961272820457295968183336960233589684041387815608664773272128710112917017592131061811579833310210077430282160467487166440784523762429892697801678853544557057864237957345263569504028176936892543264978308695156602290135783429990662625084840005608330294751317909420274225184348630075619949784591148436244668147603211095035480386987129711592707375115147780186436320951096856972356497254599624285076922589598314716252134879713106388342909079109959034185019085545728516581263427971644774508222019782268961005168227721886962389061476587820956526904684116278310559672962027262700850892099354977976514788182548052599858636970926246738309739050745013829484641850369238035308896550769471937982201503579924180364596137179344328588718441909288647920681584384659980874252323924561530419894943226793726541353825211965728980675367431568140255649301744982864526709751787705234912050328888006552848382270314554596321325638929288339205278228141184166114905509135932315985383175032527797501742935950287206143796912564401820186461650326848319134006835263320488058319866482024717708493122443867326842215044915544682332805886410340372955313548069167704934716259174053961360428246877146321977666002622229243158670800015937292338836641183129336054996037355520426747304554542452061121541383991644024225372211904148636742727248353293619387704903045702250626516414885542522420143671731212709130043141820290258134889179505198875793191361831835044395460641889072621115656668011668973826535522114516755684940031824717258164436983526707381079910221172578697288528444951277453560450175028999655804064928926872867770814917588778144344393335452137082764740992160340898851294024541972518533705515307164387954036775429671162117664013371184098462502049849207097753388400017106554223109318571893495109538065235834377679265525617649607359603709255401500742849878544614345390001982114841825216845301995111129858993815441120989166021974966301939374431948625668121347328821742202179520655088812949142246411987936592210570015273676075842050960786245808706848375291926333482753541457868028910959270717235543598430659903955913818257732454196504952715635459891151104489588139193981588215758240635050798571109809773522662290359008300074893311008937203979736422315072472046157851530825486418296945117023191419988925803303827849683748209516151831397269043758146228876599724630310382795800807233289354640375126740750516263629288120225839251377113497003889500544616886953542062679391212888624827721506763070296957203660035546406559718957058314524885747770527140400414562722554724194250285699537503266060072458808636713884151102620340961571889001156812908517552410703302352941823140917753126735549584716550177528926139094602275082646186075809409194885299841547789999959128405241964432714822983709715179479325315940135162025145176513333420927470049180749217099108130444082306642085384636527486776135891127265268898214558001164776274127668626995702950502898875605924450558321189410762624095291508253866792081271477639456675489927790841111303074848191945837644977036430584946299320071219264060970223803491193521386224055258730557587285328530484261599932404893974949720797111226029317456359490744326333784083611704785956533257599888317853038601551038801505686294952868366278291800624954984320086458394449434515445964438735863790311268162277051959493103690161191972472120823326249851033610085412615842033533350022563034006746213238504584487153659881746728924245609610849214396014297255365101619234482757928739282384893104228675049274999960363735033471942150314756856220846747159547977086267375721434386395727747203134484317994518950849652270933499267768341984791830852069428362301791175312951266498925852659644548336500283890035224097672732819757056254625398539199629089197320817836538732219613265319323122046449638537940227911874215880212096021599322121037690848511086936678827412237347306822157044134797338562176426204967048331261818945437728892913752276490832457763387488672269095434140499484710992867100632267123591291369669207424864579138290076896737756242043757786672014639079410270240406453059676187116611037675318085460249772426598632547012993159378364830154538854325528307593354324178816373914693318763285462108394647648917588841432675026370232665969569680269335524900060326630897734637229048043944031620766285745724942967095923501452186380463610828538062417867065679304720837729714828627236702128565045790750751075134183685990995479052693852973610198489132171427308798921033275172489252179937768111468572086625185878152048265815532033154086005963014594483835340414114076947319338984990960593727384885747237234336062417529804619662501582709789969569413614264554117761938173967261452618293554818252373533896729935508936910612067674929407220236308860684996976396272788339966390061942926694767991855689437962665078451134773192960259657491297957881082157151836084283526410504978838140944126604365863910017874177811557274507482740627686297456479803491165126405876217281340820211775527992355065478149647465164973394137582218978663991973766450210411251701709580198552290601785463365949325134705995125669251114383490489152162558569325816922139688837580816086418719591973570109746371813284851766243603166734668849929841501646288883946627186607427542350186731642211257356375721158461461128452875363120992241240634793328715965125732407615222035644863093588016350087389016268110416649183725568873572120401193235494484176435138510923208139811429448270210721528468401601335972941763314712576
535041513962963501864711688384110396856972921350964767412958532356930283723232976594038734073351367719680012475638669608683272199186954682424696514808337551319942547995977337400242330891853916696615309210801813595306595441856446901691371973093115867292986048610687641792887349937413066983691202574046732995215337348894450838368001455898482438522835403301909437913185360559847447868186313250490511663870461336144713863800265501745871589030980045508926166633241227211596247825739874420164889985109308627581061693154570977660056615737181419465838145628762944908035690457665268240262150134630399880608327946635331764095507633083501286129237215090279930672896085882248078247040494243637143101375521481258970963490631215700063861504324616043095365293198162813237730281379811210941073056517601917441552444331710770367768069273710002642954397075827880144481172707743895531686487222722280284056544624159291032244934336575126324517797452946864677486327214139216498920209484299768501477126104523692551464199071302992071113399022219627416506274193727326526838417953225859696617959625357090146303029088107872542625140885520957259209665973557003761043722149178943247129722683148575797010611307345409012401906884275764611861586730121337095807564857031570671105435046900272553996082380165906618076889315391467902646814565110744232781249635404173183349745420650380839832476291995279731350563288440699417345825069553237940845780287511030791312896530981873840721446610051172631558202659594647997304541547505518004377325077223810070310533012849727149151557565613578037041929161103439195297999729560031526875766510779462403209636570332528291778901428941815002407919277970357771090173033771892328822058189883579226560066891491286143109388539930943340705495632172503231657905555437235748620655092085851808255488581497376227573317686226746023006469783367050673292482815941558641521670020695559462793813181498976601869725858390573846902542789710397772147890333009682951730865555566350091682917535481699592759788211426491431139233333526595955652770001671833117889484240827747179619986035145059079253916927102684528372384727532399109844310453592555946717547987240917742691161670102496338271287342420568619809253494362758976971790491825934692133148255123408939412341736986180037420931676878307119405104187402756601907714705583349286554077173069726615850409514060300526260007798969256517828604997789684132317855343599441486985022194087830053410183444623023383857761929559410764430014894356622474540120926363172399815020362790719562535642815657461855442467161560583220408689937502880005990051613732297336724498772510108652973307787150390027224262370058800280737718464792029129629234309297422812495306816188097687082173109440434055439786521050147562054390987526935195317880154006165182940404792969573190841662097870754609749637171450125367532069687709931100746388682572802780037374766480460527014517977557048274206260946271717450267519540170046623340597156501271981707090635790138803234788603275982817826102790966220155003316183142266749885310979708176064320402200721522750985850521402205823921989450319206386441358303394502905885638117635360846451740394725483724804926997536073289482228713941608270467712473268461200029777842170098388707559984283805654225603117879708813399720008047779374374376810906001643881641899468360206155111803216044137634967264628906689687698337656620224103226376558048704503182469327875931352528000310358282599724105261144310591811845683605402505584333441137564142527858873161527567512175684517878639595699809658496037048005433945571747222989395675190380918381210495330706224651737345523681142006811323600409462888639484909179477919961541203331338672255330451345888875070383249374381366487288916025770035489948620878085143179252965960426729572033273976296809141979186745639775658376930739634358541836302886942183641865186105668611897240712511116033558127709879102089957065761458625024736075005890638088069210128386757868244116073065196757343318428863400370835656345623578184326639684184181821535945851955809814137194387950671998336608254765484774610189611075412933497332420260336335602922922546608826554095469562814809622733876302674781996572650481963755794851239452457013815999184710693060489259964983546672672595626719639605638879824670090061463657496882196468615511808674224399382918639979481199181834134186585243026015283640736898006814897865382502516521640279664808859806134535576048753246455777389513787404060147430836514138140929634280821010460302797287718802862147472951682353920172022603428394264957586911680353205158842510362790400040850515250312986099186953555280368135513702662245135820218827030543694629750012469388823580375005600059251840117341501425625642607024905444131663607746652681659242447196109301378299344505171339252630844634461850976686032823929704456358127974847409225929578698057642091848136604331369376435807436495049507866043503416078197879172312316516202729745175045222933878315496151232079542514713305299495493350452119334529619176083580114003227654402418381861484160991271244945214437276282732176735991110607432965352715955401790266583682997305278513322650435017725074459294718051326339302365591863334618135026937003679414915694228587706821462312707370054568352756258865940000076063366600677144031410855225958619369851524461001133766920417941726235164355980654424748689612295761745227104653884217984382373192639765425109531159766025344750604306143025822125507535090729626373983230782496763815316448851699590227225566186140828308787864761410653604578707563189123516980941767595603066479991524075288554759400404622497604731965944607813431971821631823489548714494873639553129607283504781741033674156247292383506029887382640424374604316489764328899271694809122536372801986709262128556778415737926836381968418057273289377707307804859579598475329702357021153038687545165654543449865053917998582187000194954979088406191779519660511828335040884558292864217301449200915077733119559863932118937358826273944869497089304519708902830800287871979157877686476243932206160719400502184375258095047632063713666739075521988522489980600604236946883874292950604819712083864207145238358189950856976832180135116078565951511529447607868633521071531817788701489095199531406558944428402171612096647796929218148710548183745796178096853283122716335105221696032063499894713044043418762477262642505741556750284091788984641593971622482054540146625784073057008436156939935408203458036999449973675411888319827664412266943409667090003955236292028760862276470140920921826935497026650448158867584751322363054758921322322049595488228824489503556316950554678386083468281967256014021722062548476987493137774188192826695908346846296352488096666395267934319900463785548883413737252946955456660610393986433292024450004114712019090056552623270114770004233788784539435747014733253793289805472038390722821925439233164719500848402524256082355338497299910968413089146022054272806212809296781095602167219693696931911764325491018952218502651420965205972270110956719089176301986680040713821696744582366668790854756952414292690836628419256097317994292050615600628588768286701526501690140779895303987099270542870218890553721443763806071093138474831945121895566845237224546238035453164148321533422708330514067122087611381167788738746858115582258729078078364092285881836210133219570090789930727184819765210712236093861887213459847921705074386062147834614203214993132758438756118091825033348398932161192316748560667818670139181091239607861708260909971210912272161713308895239182734733112268335475256465212039777602430236929430949448178664167056028092581859454959650286008585229079775793995847621270926747974106430867168284866001802305770088690442196541799567225906638511972024304688679998718308314339479380284655641725286551806294501603437746953955124836456308981544603442411329431972771271832969704998333729461783008423303587315767389978624
574496451118313898937642929519674310138569971689993453521725855769293341885821687465032457850571247368223937291935020670560942929443492037712034378456747372761968719060408250922799618413830771255367776738330339832332501628969027242381242427451481153190512782241792414392953493348324192384502770104610434147523499597777252026667587066491092092371477151593167862547718402697628259835731283561417050888657544054793502192074984651528887344475902906572357390442104374338177789091965966909438791353370601885157825890264317355490172442524908281956158156176205551329165754529112899901748351323719891133653768279010395791225048076153001415274753067059717497431308990617665700757471982891024446427819969344238189298701467768457124007568136897118212880135864890132534851857948791726411516540222464970939589934968389583615132437510911733484890675065019694336388597916871949313058498586678515477642112343882191619509518609314406052718155757589720653885340717970680913481479762134132793553796077749284291424382981519980763094838776957919270799854560216908943571067846371081274614654599289278625023841309790003772677836522676247837729827540877832986357946364208598624565551198418125839284427532504084071002462119000416413334912171134680234571277442587377917977653923572224198224891983733601994707550505754546019825445098931777274504019576518211891101842077904787189256374948203768258130583808757754708216643448967020571709752228615338621984472875899749728674131558994962834748184485874808441263725524702357552084949012659234681124799963629481467032313472942922960659740581921996654232366453169294969165090554682455622561738625405953214546281825028190830556043637572654971062936861757845269081004532239732706375115469631863663408199882390147936689772326912936702606254055114910630241947682651150485189946567508165401808813226140565952327712828993421851441498584277745453150440103547767766280689101417954190624921253568260466779833045261690935631612163917784382253203538732586100466183104189704839349952187990778551191810797502447493933628372247597141426261839165640526456019432231183840345861320451711520791144128570381239300206262462738375050546788627591744471170600334740685208733077878773924951150379115442541606064319239036206835925058318626459702513304782869216172739434510692112422222365091873696360431467644688446973673498448651935684566022774060733054580672319474813377174849702211408618831344404611027616569991360348657750667792004128120578085450802881230564318513013647122292103004653762419003837226940048953349503181896538851873219017114163313585420758944788382884888945583060390044905497480765123481742526688263550143189134281499200691029889984273138309226490988394929187920732253440737617793792414323282039633501282999838749434966156332645750416896375980710775723925701491894435826356159410570928983599811058337162554884976771803029755145438678269829601569932303746636569807702896078002282780669759894662875719017827131510773764070889235958266133006623319798499015135966166205259325583559951618823444535895551516405602159083955016529979416341954701044937041755519001419786094502047609992933724358941738945407833718922167275659407020873954356358521226839646328274892836693825486924154828770593202514566505562150316460114304816829712399292245553888691002530517304590322215805513297648472613249981718046005774509124298408676796902932952111071203437187285103887053850350057854084158420937556576162202064316668452135222679869088382074570649120991782600292374911244757314859157283043256966806661702675571090125336179166351916696930206629724586079568444936631154557436084584335984865710222151515624612796611026557903828908069404802846965147231261516146462309176712550877975619381438562295107323674073508493148911522165847919623264592238627758508429029746988000668613488606946299876762376446491896665233781292171241766046159287691200072078091343218745350148349257230529897552711872396532934592158295425824485207306321493271570894788869560741637148700124020601761023354048787035257045494306286707341003648980644265197228772088360718173519674713445348314134173881981964484766616412064668091843758598586606486438694104158513256258527024207824396499802279477018242249054139658341955296384164973772479073880327211609534304603783048368966781331508258062700840259710413563949337578404139400728378719534935167465383209890906964795178236930108282197569939392864349514709774536169359161973739599182618819479023775347949554492560383767708095312536489229754568341679989168605152017440184298648164130074566859057943974432711446698653186189355471501766805681465869552506756210882265027644427450027313217962273552748070729499414916490383446783052904299596406069117017835578882950637771649877834039037185009462578336311380299286331710574086965300852186987051241642639916467681126123042359690151710750904728938083303924053926803957876840193728535930854671926495774958625546387899021330035117415410237033772844590363308256955509133874884888912935292833811269349157309894329838923499476153360488059953603525294343351078518369877234626225329952169412787151993461551410820175554033307020933707010030164356835723070978610325593780458924313996869181764918122176471598647301627463829682830327230037266454185993669900635202621180822130587156232417993391756267397804983720740110706106483935974236961120423591453454028530453190743328725916304043789574645300528903364332905313725102489243387272007466902742692780266951128142017654064034513639260365811022453155082927226623510633753896139576509148717137982400014412516210461284742084411386775886930982219358565140246113682471605698609540532144469076559097123675556810114081638580860383295929432994109459339392933950628718927072046276750915204121698065992827842439901855918564044438749200026875610677743678271867275324329915211158202899269620519361061940088133610204992070343507312252291637745355547770144066883498419314844267121614235246121831330041682500194814350869590422833898034261581418375665199984607865884687849246632525883681274582264479383979469571045902292435975354886247401967073927447209818972796738143083053708245456791817408881475282299499492761020844083194748442067637643171640666910840176104651132080285186104185303309302889008506475983492595654496423886554067185152333675069760360293890367254855098340601944092880573853490475975821841424860772991867772797218158748291174869617649553235687792173097357328120649204519196836034381494222540236503646565595755248901730988744915816051751687395791600720453619062630553958348720549841393967642215132907742228816519922225359460518407056060902569448077992988536735417414249210698182006639449325667780770653423061843768972906941140130285000180521679566893165115852863574496765362123483541202917829584636013327281516753392351514232657600014938388612480143076862037877833686476091942116738930402238801461914688151682652747492648314219447209289333273880930111315374228225478261476725124322899109936540386489890920589408826918864974141633910856385373663883485583372101201002359349939867781152752650620453170673302732505184296261249162003837528789484902278657344699168016695341796450606076252009509110843821566232142443221770939026822409233014862555957820179850630848652048281918943196975200525657139190169835775805826169289328782532218260730388710907294497309800217701075387147092260737690464181780625819841074759808601900722541897980662654458214215761346050793296304896373390515520181386531075610796370696898410900200385280838276976498638773926966475367825340387792431814902471258249544985861640120199310645783824568137563387789433359346942539152340618180314324086640480020744500979983531576302556149673289506084540105343849443175906972370795084980755117175481358359555555614089553487213888755013976114031633237944997235787957999689059161152832846171084790219756044298902151284837611419822551327343752732714381652775633017425756645357950175341275367054770176
616860867305305205649856381403158537654129814154041933332477144001681956107537778437461887511675490591111970068303929584285809964220558445502396580274854229136644210234866321530496545462170639155065366385839589806108554473572174550740125347437941044928404614299616996059653736695001485674262913705177078370993767540980612936821751578452954503014926362325972566670168444750917888189964048785097160245887972264754330987066592364504631885948072310949904612393185317300253812095894841055264450644123578616147202499286831959398874172511230184100311546645115814083104061666425946242432695539323810370930824936377963291831906315776214642711694819374295382616609030293411256153566148538305382335997698227306397268044994833180361997680401116193410241537376934948467573577523724526913210744504638903672782290585000013853512817454532384615068389884905565192676362700064687229838979291161611310575672927332979670649664496927193744522232721070488498553318429375308502563590270012989878408668442646562329768564540651822437010364073356725409073385774422021644711911462990236588656984126570859134477311411460467707841981552232211714760081042947598951939348445999509003624906151354864353334792073546754517847529184146412176413766517513951704725311299213826445026648515137196606338933080817096135887323626621008739619313582138866982287694675422372405170181282489436294923973240512219653158435889000418714545126524051499584513152156541498686347254405447122914810067121771215000994726190551719051373109509929266455075868155799725736955001084582653090585472135377508747670270095799746113237358475262409360985348089309911640968496784254640945045587979223818473821321229630857481151785044740704625532808610199357401415672912573133898467242598274182925171112660444220944252984782946480669712978466082419477666338213858756653431888012711495766044655418751596862768251719175804125473460103186129032494632811733435118990046646662750502107269340434762582549353836945668788639267997521981647751606696610635716225244636646009456736772299573172616600523063355285934252220348687309497005206560943355726412289925072869232256097019658051664261583955832963434861570201018332816435816635818599473903034875770688765060687318969706781191291391601041028730047440846348348015639133261825916126767539488239096294650100427342390307671845495804756965239462204716699763076609941845511396802542651459196837667323086178334723993288489379238803530235146925009049153772204565143719205406372947956961495909480241197982273741012811348243832447053710101818786456023393406097216004187648932563093665516841393532831038467792006708968270772624148602871451304624783723463362220397881204528494510232770842353128462998734098588845817225087885635321522832844582902515959114587050524179530078884198798487075164518177142262903160386252739642609879141194168224927211834315328666695069153416938016136711685596000558892375381435584330426236884876617389080139930937364039623513192705066097084822273519795065531958327481375644974295919303522306645101526864547238069935322958711317186113144028582850249185465848425365405179735134651139710800464972488653284304283333484974043801244191204599642497351605824689144580049519604036786207876162307867630155502544422829992026251609426158060356902514721289011472050088333370029506266294376148746733477473325894565081937901371956235959828816052921333032778949446244572520544937055714691261094158749850112402451788191597764395944897398930694928803040585958392804037713338249397570491783829694213844197751006439692391981813382552846857631269506460057895267297369674720831199101900309727334225003202218544088988413591136243526864674796098868334371031603260750052523290168107891002655272703410342982155593622686163997558070519513203761424973975722889516104920412677872105775081154344030266807825739099725809300230847526547637711073026054219384341760089914142061269306305663259807202047754360684781982013508524465056744227255639450354107766915820259915912897048804264791430394907148458828282942376224452337907413903807283448047132714008012141487436726701584964026701485623133752844772475280976526920598652322890916880662066670718914671577208008903210222526201522569396915205011333513773254191498827895665993903655373841790093297910455340015837607655974616782302825683307106586794093171949302375027403649288356294876225718436026024647237285393478466526438627444325475091263619232497988141095241679488794597327374040324133718281473589300829180896878882560448780012113025283528126794198339463003503299726640487277638675254827684797188954043890650482370153354687109155070725767054668186196051900034337953627996144474121167714673677573712379365192000608242157751146087516498376800215001875300302894635314898245074235885806122573866914513371709180860225256761736009865464582832940083215569413729551722967572738396853300203149819360020840844221097556970591531245433313277167332368118711539306690726812957676753620915603752125231430497669064255479088411412518521350641222719462788870968503344523987953794179024803604622378366669320681689488563639144017844218043085505224642285723828635387933637409364748031374971528576158591454515988299713020949988947045517650723716419464215749582151180977667577042497082070491681278371561941221076276988316219323969464154884321119150856816597793099536703999639676411641660710739862539694436848575361701996968375317193751829142932863138550294778483781387135029383681653770569548555467311250067766914917431473972303196834488155693297151573989669170304408015439520896226997281871372921444250267760349085444403110312490610325633843710677914328418731033802314786732857776160589368545953507515666694721799449510401158380872126733603952859606607537661948610936484942964399356411338459404829154984152536479622315398267230234373312103936092656194736594353933623850604246573962127211303377213199516173848015113171292645313391233623118265588256237713655105298777535944098539302163788060316444090006746600924338044925291193869044797621839772104920716234200071143604605500144164512035767324715205985580774606597903387146800010734734560575995004371072181440615359212887349069427179499644293317227909136939406863574350178594761421976063089321443550330167687381609324120212463295038327533548553463985425733174004012478126027816504859018992257986147937304708235612783613572440907123910568765338338039530102607900311722987606217213884072511862474480187076032368924591453738585712318355815456816845994121887613318628612289379053856335219435083281459583039710101245367775231252981269518749056208761564491275462622595606192690377949303780005465937485770645378099777311085626261293022429298092942713532150267793300003705562064131813733673677489699397124629025050103316722026489730765200144460328235326123564760274061702541335731807502372636385257991130816747302231685483094320129680061908944365290143788378920230251367627500514382774038453240801456540292963057417311750367768537096455271237398839320434634710988897562377344550829783188633164779816733767664014276863956707887921653789453698040119185335384104300675723710055728472003162074030993147293568281397528918752824310494220315773978022063147656637434412760764580853078613931819539943451906976824414982318263563712288472543095184855432674842335694202860839656670691843374042755146678607088446587978829949772956825000340771344557951796735657651002717250095771689055454178635326644663814317257273990621391892095317198939870784726159018409164667850862682643656950043769762853530633464626048299851901409113070329009870940441480289131674294387056346541701488039594920645503191633530812625629234218263238116483049709758320217304684700701816012614878343273190913057048297082705367735118877471004413335081802986830114405957260706601589941795858172757866610087343629920099821521816540152683014851998709218215840527997118105480429723496018555702134229724626883442858885355724966766554172060835107658436679041024
662349312814620376391171896305867127581918027782542002468900407038676642618795554368348197027269262563395404929374065938198607328299557163572347900475684401327294299536624832476325832350250025085605705342359688929822805622456746497758082740546648544385891119968087235850493416047306626910592930817351434373061796652084518083420984302722954466256260531509574666310388272254093798939320056236935208859640039839218726265952603294927676297666443132443245751137071807767993283862799389546869736036979226184709293064081601647266441097538698958359724319062987734904837042755516675079275628705630211874313380545011158258376635388898672686280763501486306462845535672882118657364461340436174955098471549354389537609459249666249657612369637663553148249528623674307096918457984529376801327994500808952890973555847635941915096121421008639723653070839761651637735229127253022184156812850390095607396553539021933046918290021918647406444692170474709553007661491610258932105338092512400255736061871018559223295387987741209972439633427030120143405603391283554066560447768797645128896087846403241152300729641557577100511348375668166278160657141442377235075844337779078300656629342784592122022280123710834345273846540078600493358327439225558448879665173385663773102349305250305094336975968410488215331006729326336880798782831313760854854964973543106116734697480670866588043468968594781424670986312442371127319419484245837033810394148554402331172104842696829294100358084893054505864239114223574380556912309743196674455176731991913691497807070481756208244482078541421171299431563236674130364391834170118305899082094690539426652346863663712648798333399964256952325801707193759758495963294795805791664834888958363019823964815333669325536447871721420426182886020134870446941202198285198248678355054644059224282581257149603447428091294532576649601065574781823418341460290238963698352597914786302398850142305480907226450029724232745236989575225257698928393493758903440994013398097684080054551335673349318611739240570998503436397790976816372786815498313401172279085523153249427704966893030244085938358777160164565942356141249008600250270468769865221597873567575145471335758850933473406732234085066645632760332569872564202759981506111733200074487437542740890178937699143474332028752426393074093873803529240274637797641479488576111584091732924744471570606866247010693733333415549914415594274051943395750434315823090146344268500634132325808167207654877023410278543881756869550363564910115613853075881431726342399664431231848449834110694129486757054222532397433658437803121949187494899180610643803128221154536307828217523342587294243761354994910837062147702710970285742755391322028842264607966577260709783133842036484882373530752996189554266700128806124636612684730363983502666120527574847605888477126968499561188853039749485379727996186702212126793736651604596038857941574238653964167210118561755340057457686290223497170301027131619919293657359328823201165124418150684971653770484464841841611063876933508720851161798634120723952339374593235715766404859674739625257761679256614377959378024187851317200356753723759608076396792471757508956306383803831333431577324854228407530746334382085189962216585942993682569838753726705685210502880172858988178549039922597147023714809155986866433855548992190353166897412918144071857376742766711673856391247680983676424232659127520967214437248310198188168282218284102251809619417613605124907845016824132336620700022440526935512993477515928884601037114241016546309570535314944982352391054965475276209903561305667639302002347609908845264937031982519781600432792793412564755980376734837524213020357043868916730026969683393366446842109004453387585433513984261355777232694125346548225809510301134185542734998876112395845227107572974619283571119293656572413384582193441466575087708377906033844221148938778735992657044639278518314814900262424707857570115171015092302345631694409519835698658652810074940817709577119540759700338266400702307308296129451796641896821069429335134137686705770948196993073991137518309033307414866384013149342965004837876493412375511186473190648516908700117122730044474477794627334830759672284307141183790729510635241410312202203187751223077995596758554485988883801376285582202828547705459145661732322549521530846969548218978666703914874789567689456444371135990022280457149209011016193519379202126352821156056126494074159964979543869862949974158655121698495640127187884889887451597183699209408640687267538063308780981862093608019305797632776562151438501658201740545581062343079830737587739323105486608306221455533452739934121078525960920388741535696960951997632610383418963626122785824670961220843303043897411338100428597198502139705748367777838202833656040409055431721762831435522839811405854404156246214756639425935778440172234597287496579509721544244978912098420549657584899290326087661150103546865118424557468589069010158024776745013796412030882672235320524922868189872604696408802051318384727340053548820450052386215222440621427699287237260989506675163669007378645657193598194851949034575518739229436340967868937620632919224870811422885939232508971157041432648901642810314096517791391344780493533312278188294256121685866246906714887439271342417047434432665332668495699228896563884025703019361968109467478762329416547837071154107521201493005891605938956392880777024442120675361969265783400197650427269089175929358231186851381039616584727934754947824584804035954023484170830295680258029360050094338400516868105060138332079221697738251328800890779479610094055757996817485621881805246258206877913919317302034232007512063296000303134528709709307254945497540346979069665366636113479494046771590524069699070437084014699941289396901207690807130132017536651682691211281062635613856203766838742231283947635401617708095541370021140790848277707218471845378784921666260885372425068846396110189416585754816097135060450685662037622470421456414841927626041032938633600694397864267582298818350676110236085778136185099135681889224696395570663775044525227466109354760479305555493218625421315217490783199289533467228707366608283016935705283483660866496331442351123470857631305780403584503172441920379064886077411665867081720044550054874990979736244125605947503955781844988981229336154792377741581801209568664627915597731925052935395064694692034954583855747442328118971815063693636477114037519609295029064976082143435474985509522880222492131745992080641925050641969609913451655528884247750979338186681115095612471666572226318075337788542425866527627597913770897213811874167037955747322829629807725061886534820273163725685841346813938024543998895761983070501707445356030755520511182466400958016969686098654823024688577571880299524680639626685558424059829094918837896335037773151275078793752375279264067362414478919995682107378996858045329241212016460082586210542844701161280556251811180603454846954874298030228628916867167430895647635881048016520459831759546872859366747406405147350931712376203714284432114487510417572978101413950908801945875384612184108984525697142799239409379892413796008955285031177408179137661614506496669936327970314405380301606463317007133145996408019204533038112236679780106938543724457722907453573773070847340067413172835722596942392289456594408440713686023991125122427246366982165180075116927968702965343655043047149114700445072587635931022292027213049074098068093964206916317462277123851809140051957572223637237071048267722716177324940706048774539456835333355570274225002397427216183012579395079548889238357311338937594230410912291333029070843526462647831148834315037854382408914308845363097241183407338834260438569349304808514276462005497506481844254141286100454565677940406497292352548785886460658328287615020381225577149920025403938590062338804263881148505188956622909747616911098861004184081612690634224748661321981007610430620737455208517355887547370699336463014658259258903410927460406168742011680587776
711192159266717056813823449437000631471449372569709325087569626328051096791701675230561360943171475723955097722084700738777643906948133327206439190619331836729517002169257902426824536046075668791464026199111836855580547305854162345608375672577477165135851691019936810413226991846625887866267538457328739992747670001926323849053431845081113295266943634522300175668307653598319267140194782503629387330770856360395381875760657359444053095937933592621884269306169556891782477434591982278142443862744605773678317244377527837577273078059764530136070438487850421366348192711074460762036758165130142767431707974006395168701991761459010161346086778198533412438753703657513424142947752457423451870550941015888244519297374390310298604081259707082655722391271524260084181369855575936828241206437560574552684018991606482359873362549919288736634104226686887554754412152154588149529000132004500369020363288303065565803922307095928445808793126244033581316671135976160122871077883590945393212105535964320518273213188744936435774321725830692105719474157177389044631232593525513767605600470661247994383247241856899036923686537589374078247515364090964123286413877586979643585869588213449184196233628672216918456185763440085597105870390183300276318662439780398875181638681704595368549876646965243997060019929303135253627355654274721896591769346148286504408270996983741033906450961626359323807543443000905469132889707635264321090322283227730922302587911716526565263950929126215190058086802878565099178849159271712968820235670451356560359428655859177469763754024948376828023268096872917824431075872672528356071870368278760519517605135270954142132593913037742794794987367344541524505255124791098218291963810328990168959932139728197270214355316263075988280469392843716519702341669139558439737502545693131822245203890480028246518126855429930079162457022609843479255874626864754277338904280161240907956927301746634522503235960951884871292498771353412517416075378417596972788319153845434293535970667538365555326039983078734581068032073017553829179236310500298366683526682564272030887285581907172000666104954364641175113761962312132624412269630290119272664958969523955457397425025451838400162906094431243281713648421574534628608376578679554049337077052228681380116251460677366969734250759725118523205027304089823849778905084122301215130186693935983638139561350989296836734791212715067644089864489572497825191064076875052121791816638400170623731644334417612243184055661661435537434049729935269481364938909574357064223378807521416450514132501202703245768838319509329999714714615016091036884978110985193088347201041695762182632258200521017932947072904477275666286979423227368663949020473808448677598951446076775984383152148180360042222037048073578765323209687841283917971830058629118282059164868726570893436309374118671368556934690471249374677793858426064069571477546501062808443718789730833695755435475034880880084371219297863501379060217104444636754039792559617932055188312907816466642942882982825799097180646633302184521494772785369142760175508965111949618971949345495642300086254727957596979591971513634194068433713475423296374376152440752848369914147174015986019744414678905160734064793416928073482796743015670812399759949095186514059045261629683799938279462439710438961238484732432527395831564628604567609178410926771633507799168654652342615182837981373211954611935074050134133120365306568007138102060568054214250094034297340274054542340492438252132323258851992248056469605803103336845482048618735245725439810704182119913680104525656780443392561906087574945563988507251966057126411730346123412862465604484623471607592132642721415058666603273997039495798132645162448604508962337136190295444958770662583687324084667467286609653410707641874873943864176179649980815247226864092399692735643297863761157569708953672906080499748320899944317170025717428338299366757230153984477654467671615817140248958053987488431347258056221672592530299532838604361362986903582088010330218416369712246347367474890684946036284390595049243248854582610958743974819180391355886563415499645862790330323328065554296127854038288442505228373789813626908650651901438621824194196350908977139040111510588956403107634612725997886327498781389086536613826591379367062772530717820310151014079578858897347577102105003749625597282027048428147618090878569218698945523645763723035203838814756655649493908121913712064911557514662535273867215759484686686214311512369791432671738452177791812907259896086597966681115307133390434363992388028934940994304561453386965020116251233788724580827810535210295776212424437994660806693312510010926125603815963854714482754973617360102734099343542101101555028539158519050234897137680977555553075702798818687491805417436885374033083120982832412758738112197160991625889733314595649210410050647382029676529436649700359918093748508417785198851038920067206120199821739160342715649665428952052019383896664618695504815947217655317949505388894352953364237544021867851765768143087750070285399958583471316801636535636942250413458515016446604732846863439166340156556806395331242725518473720610722957451221569583735467342786525058336004801547743144007925376994042420006078930343494490016822147978973650401086997900437809080942250479481037359426190790012166282822892026954089442314944850212930360035829194907009771669295707184269948266136761775236391272739674208917147130290291150581046002303983486694396927946423207530670194519528247834756032422449278179577235705741026286244224501894696562379061218229846656357092198383218313200241149205393206733143877530056228060637042748720995186185184545450817392221774143638081701611549559678899152313841489231742924377668920695714583022219067185157772769940562693730075940157870604364625530429697571022269319906321101797284655795956619970441206156913958631326232212607299925749662492693628082319642612726454935181289150284228652922360982669484806924308013720659608872040861288606372522477290429360378241603328899638238119814036406708747567895219891453626270042707034198953475156763980132661408621786490655770107510255593699169211196472984214500112767081814183092989191412218646164047883882588152288280574511574121879902191112207306998867637692537180772906565541806337415178145728413584553965089165155914017543043875967664210822375226727469370147650925876628730406626431211608729271285711081081408129360902309720211862360432957066236537247368666779832227366589841358015694747600819901038062743403856865004452370879833029116869724413582114511017366485670651310155403376670957892474879760973815281361698203550991477240560778959618997068550938702614403096830142589457571977623947490964792832691746473870183376488453704277073620926310313996243921296923010244030576708566377506422134771106373652348331029747395236689509067377791639565713778101287945647860894139526524567099308345522099573648302645554340364747028070967574457697295150216096722963286646212204344290260673072228988677512546845100732199578184946268350371340993413996260983811159724272627863459018984750188097804859409824980843789240248389313089419568083816327125859791529054990594227358758707607486520460594052192329365193041443988902333410894529266795943106994602988805535783498415653704149532503162256033598941119804659648947332909093163538448767254821380803415923144507250391736922304952748244408418441105852060604423814025960396949423570790089330925040127308490158115451739260378370019982846987784576629594475189274404659006961142340104858066806534260617872011590244814617531449427967750240806734651133289233199946025972553322595750087393372902536393614141163839319505974037639714534884837000493073038226089938354049590637267272325584091207932580159528635704141686984406713724177656334548593934326564407849531351358477523941396278721715176463748939992593561776536858955087422575303140198453549422138404981656136087380711726046352252701109689387067698033319836689072868207405899407343623994343424
763636766305543275075186419012456831125305853226655257869335970300480007034322304825918576243043300688611267122209471653749254899068974952149830841080685056031221780548230936878192603862067036650166459121418130885301481443106134154965655684350567112611318602509231371177840543951429209083145574815162307447434629959618454483297332582797080017610578625037163959297609078967819493233456009480730304972544390634452938696455789620568481197185243806532694957641713714470254287931857635747108343005000998649590287547228580484930996935781985947598807240814424313277071280660692596498445778667273732692482529915444971336106864346381970471878281512485176700396931690051973935343734356460334339551861579291316256650308365976262667949130865642100636474124441528138283039297615544722980464487712226833430686922647698185059314248713363628140856158692968888119924902376302233009644053342634753002440597970325171485417895564375470352376218686611930886720214787151194190847655283573001376391963417066827112211305259623844319312379062256275256777629013848512404339957092340335743365949561983066907605409648514395918890282531675459085795805870507055919656114911339156241154761512274437828370175870380644892146804165718990023752586393863008533034104613330095647685081049402447660208696785887465154008276436366299496148539476517653286339185801120548525717920940987620596090358500903241066824518321447032272078324693067115438849644317140788407894383024246854205130969712086477024389476789673158940095038398497275594745494976900302496394699020540101503523838095835411641161038200777335481006735169805792351740331564327188060686020938057601034793806638036443329326027441869486052966013335278541419871963386244639944097105718627977401151782748268412075506873829448184722804124280893113989638340064617186707090009000615921764987895178812717427392360995778702577770708984565080659061676947941737826613087234412829738053993626614869637939612868270772105074768543743600807258608174144133232413464554173142221354555086127889604687864626172369432561097618963620720786990770889230447677098359125908262676952748674926576472154176914848541466337320807518317008826384821812344520665439731903387944160686975319403894958701876161764073120849270263876441779104888567610200861175430380285599807206020634501722352343463210120300303541748353145811303058207352810850128571571151789953044920999848724448433916946402795056686290404694685347815345589347647436833474156832947721179493869876664422856836727403654852323514414941217766495904230990618638650369619072776842552739551042778911597150366835379294927675089315663674116791805107739049782041466395545659299755914407740469796593346622795949064286560427909695486066197915089510961302456698072712207072994100149685811119757170816584939187770456403689954162063188788383612455194480587730899302395474723125393789842399803202541199155095997876921214628657841521102344878259459804518026901991955273778632919562382775300126231545787108045967765121596750428647901797934196864300773541346751294364537027823860627245556327657148071045895068097147346170508925813975523974268805620407809996330194389421115236783836015341907043110032370233998867831140001609607910217675542098224207466905638689680064903612717225960902920813895888979277421754176762080875895598253922930154201091750999410546089933304194123797576930032445499350547616150628883624378580166091541319855820651164510726412501008139782760557944704211984168165579707051932665317362302462014129535585161764954301043137463318321945547723233864301597985889366231255858169075389425786577728491763261765001529916842704656048879296582186357148188751845632528953745607305952958818327282210672340911707844223915904242168922016040296980008349976757784580029221044517465928254794139394722082128564383992373350615009184461610208829250699065877674256490593624043532616577931958412554851119953270727093904395359469800523421380034988016301453703642686153277834292595656470944584248683940343313940499564711206285748159690087398254566341571740256619815844805443449524144271356823599503471738850259620066543010932786858661495358132277598093683043609628276376950032351439774021556483720039149171247230942543181362529270857393946582685433202886495031517572947847384265946899630048409125795573256685104276616199594860965649828142693165396575556390155352675396060673436037469844850586100758809553227493583712043563188942164474657369426523783390632782524270498196138415416525638892318953483307983666074162698871976235726856298145466644304368320556953426479810798523820291810555562051688714003119210329824427514561996840188783101150078035094454389679199712541916976114774539216132098257576105580008123670137966081065951970602620833933285482552737133971762706393204906667719147561888332528896290770031567872087498205649847570052361369698847297941713511910472126425792033454517234327952102087319838680878615966785102672718743836148560895194375841675949772946098401856169251883445103356887320683041937506720133752524373552098940947954271059959851373741611700062090767364454023861849379119105750858537833648284937318464624062292349039152983041438136036658759408200486631746530564464749470745190701281754992720244612403854541081029601484708300263521134695668502843627722421692239664406709551953976741162050391665927038633169847945091904182618013097427407918359667324021995800796369179262248454624554262869515950994341787431469121487993189029129912350605833064449614992848283826500022660615560296836223819726129902942815422971869777600037165372428166682605830208787655052434854988313555189140388400882977655038309699655608971569015131181505991842149408963676018030117517981094568006320372291775927925357676933726969852661773512158352085103643626830686455378120550973677821004175452728973506104561562632951936366783684824151860772115012518017989507172289242890287515210017029335155359182897597792221918811917965005727194316590238074913391737002559196850308246824199155686469071057169474738915453992141856450307377247130498682609972808798414683305962441965143622867966352615285551362737939884748856114742124437200558330732114318183336175999240785018995378063430404478808157899825506738524487626418062483092103230556023670918425466434684990932827479364610905352701272517148361583835929893549534747937715958766512406469854466060131957615325935763286942072510241337363057308403200324793214757328228750014508319433571468625262226584892919626409098916123984436108983528901238864802456829636401499392807062216990008836655186000475001034252545122433375293173268728708436448383032818364865780734217582962124257436537959457382749861645922184256505865224565028760175956562688598939037885190995370021631115701006140339677202270558606996076546827978608818274703101580143498038843236766420691905187670768892159240079960408175509147018171646120985058021732059321428518750817141542914360299219499924843063704534459385689475022088538734983698948480540042838048267669832343905655710612334815520521194755594316332397937429113895828515383709993936295152480080138769038451975317895879754098740442135609127969101370124667254596948528064277082345252534771577724542931391138432176237827234470033326550858587504612171355907573470857925118445875398692726561471532322447657775159908917744919603704273482743382218058398747827030616848317483866248133763893017908234168627552568541271499972238100648743639310392193569410433060933553097411081955403298573376717029328544170054244495076232485673387818651913961952114325260723458607853970080886149848756740262495791861648375671402629320778541221113485919625881601505629885454313769263342071911739526556510852121143430103534796324765237312683362377383958987891889518488281196619337073924352044349612703361467679141478937835710752836534419838509421466841984667656705713957512595367337666303195464771109615236135801036945454146103256388791143198576361798444706543512097778054221907222377931620738001661822456473768165376
819948734326375777490164402690463676573745879401465102003811158419247230828566062187665814530688380992369917986752429003573021393967257066931672088593428903232506275594385206136819392294165304343024583720652941323454347474622932713141521791870546186929690639303393069326515534043559766367814097159560838854657243693605765660956655421787167719983134814542816497443276531289866539967246713443600650513296083920806015638092621882549468917575387350711118999453816422261106032867774005515427714943807413411832612203645702154820613163964960457717111706976487207648069934274627993667537183551298786848514622759544449294059101582204744775188726697201312403246502956879809148136439394877185577400251194743778544776554235045811817786806114889248068599287306649404547354843685393841606618655403352027229609953896686358627077629602676715255220620756621869905140095420552694047048215426873936654630044116307647503865400585534026957018363786785579050468900803227495014258965490306911735041617338382607673358419582889300153310512320086462549658479739725022968722611044411248529854150582175699318486272028263046364207408021436545214819761086948154028041554277654903904998497492474553262408791586263301220789992780669906619541905439264049188387603741723871614839840303573218260737018307541744293201287651880170353124813752452070207873431644770079017884871340663844100266028805573751710603864190391954751208244626798124685728977550837984609890570827809453460479397577544488685902049294549322044179553263352503556132712592279768668630597550245742053538828344503001699371086635436334417236089177512221205522913188245448241072030813332159552163789403428558438903161396106995924454287768630304612232871812807536203798084327440435232143494908977457623538376430169558777752634800088860564274188361314335916619379996497756959379401907219173364884861259273880406209022918860097553568007134581714619677332029349547371939537327125825070563499523030930565991301632537077719113730380606831255870649352557216540568651728887437281408186714371398092919997948828055102382018185805768402845144155155259783623422367124029245287286311129768165597804669443137870618467466537898701791335714951496014762942706181972499720765660957182154674930450067882203651906525888137902524393684877400512873577923440939871516689746840861711466507352670536855779566505536341177333744043073323068725047327828313473113334827925495047402864520854930569608469323588296497928934499325414671349435913179238188312434207158552591145400301005989276017378518297513184183952844773057388595667539381733614530567058988088089271867475798481163625216705621844636243828996006571187901691802478290955131758011048989025162328098144652549976938493285934093208622856893270669611289849622386235962315858647547029679482054405728352210531712450119932895370049349639861002767838114444598554555308623651037227937628615940035655465512499670553426771366280259370315757869646625911288993488683277358162936939687290219788908962503966866876597729179930286743973049393066896600151285338909171130860620427747153327816442900958131235200673881669011778763803487116413158133529305016229971594578458467976830111252107412789914097251158943189327663333441955173612736047686469680122542042866043503183799480054881640136378710837036347036135133719657302738422179196481519509460902683441054083745336492059633358409653247812764428116249923987534069354527753356282998249471445723808881849188285242804391716363385232288667327842783046137514402742161311484500837090478703522546148098431641024176633766307483574359352670961148309035554392604908522653663742202095701254018479216289067993745032211628703012838072527620020681656059787620629850071596887003612095327443595796041616865736815857239274261221159649777639369065662155795978199144437802524169407363578351483500561803605340550168270590117042053836723272967127881299173788790341587067705275615124754894239286934627319365216441664633600853274480085372101409873589440894103563703737096676630084216670499494190277717721272479928247409997189139745497774620906601965826726577103239205529427323796893933422503022424224408484981451450154123273809438962439293893951984053874148581141382543090107195554754964984543808220090251223865497507240108616265074707255346725095913104023029984279758684059604078700934074283247815221891685252721272180264025043046109909879220203554865327297811953751114047523266346305954016313526605623077481157238948421805529002510371925809959247003892702938267935372678375559558505834008647356601171986531651682639868031481945981863307576878191650725422053923562588985322399241585048266540471369261287144655468658950674205033610390042447086689209408036989424294500644391514031533887133211252473407927048348896146423372852857816297691146519422827131053895635958248060224555029010931194435189990272607578628389406911964196065729588538646122356226730704279873010856592359030771359559832299045614912910581081950782669526135529551692528158170045780682292714672682375846959688672959485462288075881924708076511704180810223851524410253803468536345561676348616122175735979474518043068053874320120076478544771425954851771162107192538351073659136033960129680420975702822110743804542171848687799571027656096183798432892863830676783142666017450033522583905208192153285750108915867127286897112898259434365633044677494478487594685851552280528576787267434095118429630009750129400489531217759164516085929506195400887714741220299634699661639158518663231135833867650684675906908393464981902446761599957146955690738248414780659002757213201417957564684216836327295432712265633632531637872077446785105748963278448838429518747518626461179437344715270691373278967598480072930545049866087883222723727590063946019795144693389536919156613769797770094361799513368862229233790092387066981796054658802246756525938238444821878879468918244034933916596348466031428149391222692419616258638736117888708683617688071898035691151753885715656204694025031907257808766049272476510760083285003351310478611699208605990000421495229284309613030361326462511147458040218302627763878201071921205852586546556761982834700955858695683382691752022609823121487971889397350202133240809438648887147574412655560997141284082773517390599125915537629439029637639170279674563700827679683953045639520280636003274602023371959863821441570935401952181850570760620978553416319486792260408504541382844180858836357329704729818189371777675556047835651564214364345904440395390058575271437108372934552679395935047002754367547464952335878046257475209292476920214276403915705768400312805557716274879509042951680920742846742622623094553832833008204102579440128285644691592922623587563790160566026568807003650081956982581113627953371763524978737206540174866392234695165665516764241349120561765967959895640415677618244673701749521741910594522155703647975784451029020877000413015066860009120599050755039503477131625668854135855027491644136407819787870796049519208377094101964083527846010719454046628904541715707937087531075422781951628974625210656099316828776186496826319371868040462150114240501769250653038441255400416592320798559325343999897357852063638789654426257289308496718227837601413894072536729257391506528513265881284292751114012999361535490295869055433647691239979904204027982493013295942014783765955711746747190810011111891038557546457635843184238474389652020841271871601389879659406887552877578581538616078579828999476696445615024816608224465794113982203092512418610663085112888214997304658687318597529836261978482005185622560292122074941386421746470345850682540049083845288631950817581682337411508408696179476625935277136052630450366257684401432350815604985961053221922283913491853545228472000231366388088774682949623426356602118082037800913237118418348769298676087113641796182891646991668136829744999135961832652699095840296435371858980767586645717110903323345273007240255253084576920745939567175415234274287401561714853915798498130480275578304438043959885824
880413249582094138631707267804728975490039971061013166897918248192635478336813554917881721996627046182354205821825960954726998508749425199324103671776197944971190784448161855395964447840508598442794338201054595687610845038131421483637846378938828634630130986801351363647611241088265958992790563577020074150769739738384751957712164777529242807448612425005105512062035079243574371341000386350937083609733073401183322781418095701110980525788702071459084611554595848999794195988847611501921414783915829581543212210227195681477815571474147713957046400260686899452705361307599178842041825054194356959711302732505170394078532096677808596365613348090432875055723606541519623491906636720885497864238895902363987320443016773014704791160840935534779166275877741778967190684233989665645057805525222661431619058705583918268156469799174491520469214853627426670235833032398296794191492648396559361602921614644641575949482275201974118894067533918694746546665603732555583561327613915197726190590916824966373068265648688876336699109136944110135777986612799391420878111332868679002562914100075997274707006646587342954900630603249507159219042100743933499502285637884178961497809414829053093563966511470210397072473569263337475576599590790901393165025260627814812059955595427421092833873621861265473523541402478491144394961618218170337578077655394744705287830375329721335071284654933301528266913277239740769487806789416417679834059125091830323507829961053312483098260269333800722747829494867302309680762104497269523328425204902247128553469395810794720800287201449553418157810216795432753037055432088632179509651680540322954066274080891476515399370380789252191878473076822312303084113153309993256014536493042150484412190793451706177515619653300169323580801642128870671299324711053288504365436247197226084459604991188615169472732911886593976583688478519673262920737194154645147986049688730783732779804784647404528720765227344168088771780685682361394344852583054539577750936522316993219538761743879204752633154104596350397224827691221712001722040083650894548004174951628256674592511874699347643261658861598152796064114207722708770826120836163591921481349265605062317188660877968363402420293028943327227768014411472730352660909948529028761166337574184632411420076679694341243071411040921607133916656095215005091801809319765873514583976681583897074036641785558684477554109672268699267464487096859447188301318213447659189204756817357743706739026351682197518771103858788180851249048587474418116416388368412319960155339465935189181049725479076611506487388862233334483548163977672185299247449815350137021060582637889670513965065454916184463283409288678887850565876007110353629233780068188290244858489095716650626785612718888671422114127734126226708234671425328343320773829196472873996951050752936035285765832237943652318096218407545540463998915980590441994252617653108314049359324574960491059435550937260737791475933310896722341433106059662905588851773198816808990213504004368956990875643228643916370281316643062153742509465839795744791580378425267860888625017297337666635180115744579732444871607330821433937964751896191525579119303430862506513687153393960737252963291585772789774021062561307885146241175873473420934455474836623671738771922660964380232384146885728927974020876732390628736897273625572484921140380134904004492008363366356477872239030026817514001687527859077422236184890873132547397428400576277167399549024147922316041070436738511906132297351127115853195970869626638888295600076547057456153453926183384121772612646838414987157982650968377095218478351854366806588467290226834744014887048889203404314378863811477852957583759047412451011385639100977012827715244722972043980345825351163807160457673325411762504221949679860429747443690554773258932145803413583885536853463547567650288806999136027928138478842370357829108371349445298973783307430353668732129281132674133406776307693419045646106655438024227773278871882896619519115886550639535692774951336150865802029124800081393333882946199692596236199159763133657701783321676309393163328428775062848108700853478180329115497607612957943299618151985060286255933405140998419946234914964065926425742563961760093699330296510487287975560200446145899793731571624091447431586577383664622026356912311259189953327239415701999008182180503424646001760368942853690839754437151051302008570738189521062652380607109598429724839419654689120370727536611813394251871111099379282271390084440387330537578319243626285953225972327773798738677370688923086244449720849356199111450401035242714101635378796270209728871485599349712450875262382189715746376843203897850391991290114769436530846942538801509528572285157830903597283910687035078119646340789488224381208121539084953079936647203443259635284139818652416317830934496942459449260029975566438570176651339549941851918712670259959930643306310112288255381909302067583970275453165529282010163311740734169911352015790208479833726861804581979172040237471724865458713308943954557537214568040970175657398378681810908244680741208804451595556184125446443239243742293688667060734900781599143395565084802723142752490817092159736567843482417231576599648271783119079368475586331755539007895137582685811085731489917941653011161111168582725206134516286058661799614823400387571287342411528915155521831794673077303711011480963108306686413081198679358952738926113723684594661092252126942314241726717655742661666500218183288717669049586045429572515588948380612897654595841523848812220758757132672599999348060175863231145294039420466759451693357542551132047397141858628969849579658907337368629110266586471916380302382924716710675665992755402845450401474245808291512808885623530028893136096467157384159475866373510634385675932378769424002114090563010846173772252690725406994514822195896232817815043870525346022087650244827459089967583148032426656947063325627073656187702452275943348829734930812276276501090952295308982839985034384878047416238585079799661757198422700935102801660687452831410282226094838895987952200378337056299032818475954338054916187091929067465621719179620932803430756435753617718530982788494838259389336257931846512760718783868530582237066805314677757891272181406707020510748813741156739403541877625913355044174499779908741749944356154530903093535486755333752615094036141149449498814634426282685603878308901011543950236884610120317115065600110651376698593063152836836712925976409844429975474031017283762787984699772000759845402686078794175845640418826598678515554263207634381424497198754030057804860485917788779616780610654009473434010099610263609420003432215704423696376073865210756932305316480067931148244222124166902203341776167763359418240423293603213658239966181174829910784317407338849367112090318954381023265674144339084180932786495098383903789577804010011618801363466286739007143873646980972704278739553404503119551229748145808660730384693655589654033760659822921018448119785437226891681626542749125857100862557029677730341030140311501013743708329819642864581139463896374985323406264317176884038176866462373556124053134866626404744390423306687055690493162198398638226567075877244832855533678080695979175315400964927972393717939600388375979825721702033742115567163961131138349894165952791020739246481982965404844063378274069088163641030752155822875034170554727217368742151830034262386648988422187542122247583393273893170170320632050199189667674844606354650032919506203087008993548390180431303197555714652092725101664926858579837879310059302618916580808282358117116999187826463613129578228949574888334715622702197256337569149477335548446861960816477344773213063697110178010647579774206994103210320577355585289315679467909915518601034794486022261355767558732801995350357929267632711670649989528089275021802614915662562584637516054314635197858042251972827126082186891885690710707216877980280169405050332449344696415220572116881672615249150048591452700881607060670853096155811443021799082481095471262132616479987493502976
945336528480044998154118225966706165968326812359959493112987161617245121876482672805450490392919246415573241573198826326081348800829887772473826643698072101218418020345360144060087108463420563579649552356873240297197802953424582055554087326353573042571186411127002938867873387249018435806028142585177498903262751350698526380861430675212803385408753891494045201833943547138980085763339080825159888264355294386912464761700619384717463056188840000801055852180963222487867595625678718032116479414742348717359365413428420545434912707250253735229669259468544026911252456385000567350756197117979547692427508709416285748368681852729374542584493447257368312211896766927749612259993081350388973371895976457950433657365357317919403101282580423494980197434260253658749236161445212106386874504690089858491721099367696755386317248999566532219461148092781806129325269870366798294288525921571912324251796618237562557586231630031037658822108936649041164856234426469855440474524328026872187840537662669471682156984034139737286277739583877434603247143004674800290343614944229486544682404060570919852362930382286816999708552842683346144240912680785582912690287272990761818861083653082920116876216062700940633416362030452606317353173496333476064501155356352585261435473918393245183835516791722801464489391052436773202150493464355569848213780844117196619870097432209139587731156355411293781303303021153216939117001207827568215090870662299946059061807420663232706843895152821206452895772733859815819956034359792976780998273830559312573511764710586060682401671119408298931198201862027763399115349439239956046091788821068031674248189348500337539698084041120226208103589667842081736211176482657463796140747384553641970015229310396842246957689235024771429010496166601648837661041365214630959875575478621264423668034317558367580103721355073942697564382955573498789212543922276250819271290919332423970184516179831231335534494841884301719400405713172549408191025297540092817694480399180865005743182473574278146761791691142372059259311023258109833131714460420424091205658372176436091717138157081336990085874895318164138276582010344496201807636973466700352163048742431840076091819283227191934009611451512092970172491243033016015126288701633305458963203674304742518207711564274865728813924253332905084983082579656877239440562185505608280502689723257360853304366793660398729969436778197835369554782230606327495598328880111710906347076694546138588198483246839308232133559295828659736862026108579405261659577190191428418088801521492435897045398470602994674715156749931705281967103581236827517279942592082519323643516416110386328423866853841093672726388918564611590958043136032508075138498732831339142955760703518907031175527057737121305717497449409681711937411916272735156145908452885238092008391674174111883066565944047619249254461760420323980880002379021929783875003195623120396923907200526102398094020873819254159805100285344605722511934074487901072113497020131875127011445939082427848360364517497367809929320325443113904850540188087974799950015372957360639130486924874896516762240048116160028788419101207977894845775548724147328666217179463765637218325050599192602381554112351527741525923528996840422507506926288144209682005997862403294366215757970827229749697745766498692389800796716273580462894683349293003437767926105191848153253504246384784753575064985806399317505241456606309099323527358294036281223744174496853145105966010153436243429656086385136209743109597832069957991003773438907849877366177094803009642600108225404763216661747541579948867811140588539710624024621597271356085572498911785117903028270437255530630655983821970279780072345147629275860895688777935702364621450377204464746663344066823254082831223771422338083950089553902444047633573810952226527191246987633348257170282799584497754036285051674351196792156498959502946422736708335416701020701229528261727206310001811326582716998868389818708563653285471914356203730645889494892260763421273279869189867785449975363963030626784915654951796521952020631334541576504471869499185403525397023990068242871404684018090785394707865973748073820573015947852514408065258626620614188259526001042296626621182736949259129820153631455719691277048850312214642561482038593107991886813853199058851047100099498357248064919100558655491725418044417644484485759612673767410021058663188536257608056642803498785431020087585840284896567127346259820541368595293891635202244754155813893252282535511557910245047505588653762434211397364517076339351048411219824753141078554459635932893113000122200493011638099391141014409035493460878314626730970499556193013115281789575842839945704120083828346435923615162585581217482312115787706950137932171552194230686073599679744990764811005593372669664681295567047150874719115151330371518832094500036259383183525429611540397903173136442296839930095857210810678036147549110604614583516726864381985191003140886376522699741031740655254476933097311847785873716494384283005463793425038557280383121718167683423139975334220450360241740137363213656715532207437336708778018044231011213057922211145693289866391607666790627466071870487785971641715760557190162088502053102854012690307744167328661576440475428764013614112750358728280829779223864020786857725651506350333291717542975370033101001069067615987831255343033463507779663436454269189931020577823730081273064624321150900528672101856631050920036692822725210129612402823968522394028586330866864496056428745868441138965571060860632363134150998547608887518122384944093146584481630903659881225030465616423010137837061551671020225528668588462273175181237141684609218961358313131775604169875475957037128704180488983219283287132212816510542488653300885525762464323643873573848672795105280540203459363457228452902409639564728406389432703179657306340529384900177904875987537861755082488547172830239999809776562046702320011377332517476044362693107850046887330722209737107462053878190230953121672650270505562763274369757279520825063787882656774697112440929801852713164250077659049120917314187946232111083798318895213172579155722045941964016937173873025828303694176059831053847221691039741075342299733462542057803571010111948434989730404985744096482036816842872265901237051727742432995511091527967966810920130204875871637752020036157399905261695840297719731361453111406769964379926836873407570646183517713348118158588955342465411044458413863474215826527302287287329798105761329130842981554016817280480005788638164743866093074685758996004785280846947541431435851340473042761618216334214892838272456033891469964918313547989946137099458067393550829344615667741990128292914155042205400035022165461064124052245817637773959542109050977805602165660293917072976331295310243550967105504181471526818852712271392332287522924316192649505792307261783467624389832968701977685648542611920134881724786466412493496589400627491217141209327640433187434062917739128457706731356421787785856640176080111298260372209043513958350188308557844897047026675018450584536920443937683962475823729127472140951621997788514229913409522007183304609432556804026889454270574299707438436403688510257310779266924875859995795319869169174407373121106652346608042845932975857622458094768714705426132013595011711957108528499380345949972410726163047359600914626844730841059885186060114353759894199957678691665926877535078076194533548418951172286019384119822466122413737477091141486543803917228650635681959467437052704599996602040505392161568067792284001958105174154674937142203466380928493511694412329343305635431383675903006144625113875241553090827697058285922918449373928883300913431466661354763266066117423727942526001938293872354519245137385383672942156628581028518886685412746571433785943118332842024690931991309807021471477396747979507513126118142840866989079467242695180702370996796165327202232343214623380526131465128007738775965761933605198467104068346068472587624275053854343173376000467102388367030298618584777896831141857749114230771073599668224
1015047368383991463920079537061135241918877957731488650701254273003483567018756807802519606696187588330963074412399137294025806233783296410531343612664166043245776787560096111019980697440399033217120879628452571973503471032002697782768315056454168787647615346927522031233350865825819397471991568014740563036147346186557499390298271264452547095202170389019914180155626689418038458787204136975690603516605047979060351641564148400076286506604819550904287171846661828591040769997610687937786439187243902001821505482497146369894358043563665470128318129578483734079993298643310955428235806872762902733962104189424528634758593477025337999733839668174174448994203509020704744883337733396547039377827016100220757936850469800954527770962414643350192492036942724854248078394596940523178724680325033639380802502134355960807386107583456743514678981450277657747316095159899889549549450605299906086210203536143432085896745387716019552396340941164241908203817850849336461671439177507948063986769531055415233115588291156079784648670271389557623331303652628360590589282696970627157070742036702425963633983578661664176421268997703201143340604677291441549575301803585086530533457564277837869540961417382606362240199918022525052748719362141563901757812202437394885729242623439990232970763115927068946870709977292740502751391574917228553380468185498658368385953059917957890401059846688514854936465683157765739675185826302976172756095790686032116558636828599674776383021264655000962612877097144105198823647933290783151218735083676223222868656325803508906096655048401588695122007772853887010806555293286887578610425400156397957997024659756124094491093167617722691981751950896310987396475485674529543682130257413856954727105627523767558088607690040662759368816669071862304357646449225007998343671227464469467455623938629716831923035876984846886954260912151999555990868434785015786565850262558633776087244019489498346382764506443441725155327816801914028281152043410841975200570858548710097164455224740477216787345903955255218595728707096469275019182716979001970544705979661597338939791216844513296093477226734734622164485384272886220090004221019974439392994302099670158979128828650737673621567833477882263850588341918297908302912820842337182656307462131476163350701425890387565011752384371511585168610098223400661220993980650218197336461700356413864053227228189948168884666510474827182557465940214026711065101623083025792341803307069861699849024275494681056069303369915220697333591950161672654489551679264939258804104339661263322296602364632069881890939089117581104889792107314163354377557077437972257084235642408309201626505840776477326308091890352953511526831144354225343893940682012010775719915249103914454140835287136009943310367340044499364635119244818021928029032552338013611587370299534124586903969230177972635551996410771969677901034879575346222137871719274198111564680106699630948540248096548759807868715864888837417050801954908390763102701825414964319417501631507758964246853206322503627432393717321562732433981468942885134164364615387276686885774804723322357719534203590093433187169635807494788163383236381666825526791521457559057215326626055269357808476656551030326372645673309584325500141140725265513278995580123717014316389431941138568460307520988008584060239626462784804769239301619372298621707203464885910906005449183904944187151080798778297314050433091176875182215441431808540044923360022033625378286216617024153151887866941887877720338013071008113242388863767283175667295241335309680804494335028308543513594546491996323570139150268983059062381872375414763939306276115065778167593252630222864031013448426385516859484845198730773007938677307142157012011709749197545009998025996972250378724514645296479180368605234282570556589764016427410474888167515137335936800881240531821685060542824073568752108060193068086230795825323588279826332354030399952718406519893725654337108786237240750819883162461498846206021601979459322084348054755599590451929206410038267897208056728373771898591034096629557618673174782226559747169312745301695535830863267632985217062859728448907306183957799792900588718869028247703502271108779353234502062833734581481017275709009209693501744552199488236544535321871340319783473756262202169037524708282425685806657570745947596540846705446290166672867278175514606555279228537864535787767407423060577134208616739145259450488135025059904077519638655213299286001782967181020440400891221695189945247141843524963628145595617411284580572825807765358427762037697375476695398051416392772820960592749789323780260015546068137042252768052829423554189351991421483657876398458591013149677300640402863124881605012521669348698532559598498943191657418580341470733944459141438318375202238671324161102172637504362680844322074224098190255509141228423498209301216236593521541478998294238898911352679655977158216379409953209807315150176605722250637871313411728700885066904234397339748853067897246309833592938414405782339065791218895518160107764567052532479382336616880922680875987907423136026387582263445401544512283385465905917518657273266012645689842805700041114432152561524508332647078912188155230224620955763843926403327191810184343552838288565911514308254043578256711837558578551377349058007654529569540016954451656718687172206416809264126611970105493916238496799880774008364515092583536469413985887949808651788467329712898946945452811109917076698400675775353297821230712153949100995046454585156470608514812452589529744090110403385093649871930917722319562665100713239520676460990529142187566606547327260971657885291511504900043974466986554305373099088978735494784260659675889580064099406977192210549514666053778628698057918756207206996094596445247387433604299137609672626995522199269767788028443425004131420381414045141202725037375835805006786868315081506041352704949962112523100464785139753509138764475322274047997769569239750303015175138063288012156720432326789741954252402586123285432366736363584701995631749968549976517472983229234559857057697290812330689977769053199353489346466080882488223778679856793969449369646736241688487967827897281919410540660128889758035869376038725762340162783744822719770111125956779818546317651560153854194952019588187807275778528511406797863229471271697128843724500912105909721253308192525373120488894486287392836667132380387501717670811003102001041948948266717538570826175673355111786522393913691478545093143751269509507631914449615677671408371913417321011022901488091271589766855091194586860184953717968905501957312369957689940798326492644131203950790432778172606000022636298910926174694666193337200351660262441743227651110436423216254363822592793540820695526754782618446377203817970786774434154894042347073854703556299656828060252864210539828861631985890018957197082648215742130564435826020057286138869396432595564767064849770229196486456265503416040808829164037182169026452346825584597023973746348332583722324530526630225175939875517100082657291973008391225174375189264366635810966364294539152816538520204338526815813865134579699663963235477179702218961142593679721147739442827674851038095387613071804501331527585464929299076885453899086985150692746934105629789180800138462224479111502458040524585939877685542300672898188321156880635530074389042787474993296269983496540658068695212910766559854730056309578641195305924135139357515529431108556947897328703204174809330458733761309000474003615473983436358615906642459929576221333541868774381661397399811442677388515421280678325134154897370980839436818923625117169715177572935007918664812977568609573656338169109083361187979234014057201805928769111958253820394030227151821887636488651197949964668916919312455924730704866284093665408044396696461059613789438953634695494352608944340322791303958947184711765742036733445062595575238119774003373435224612714635681773075063732079174479030339422919421004580139012697950326343728224985129688923003260669302694979371370479971494301983899717578354078342282448532489493346004632600576
1089898812775026926869976392349098954168657278368003526039263642182554403604746177022294834289727074940649407196217177894113693488533047108576577699832771146713583248171638107861900574514446189214387961320739106928320896656233739090190406378123762166452619171860350301616683128303794586136157215152767591041219829427113693676217753691540064279448280082265032224123767205358806113240321397896623872279580318504643775777694482916104593612748446991778830157318436120142519466435598975708213609735376344868313074619202486018005346693005121622021397822505869475785382966393045430680696616373672175101099056499230734886625921959695688518050724519828892822557231041203091966536489725065234133363347805423928403429776300259333831589851837334595145157150852356768530465843909510662177438116246018532810101109225507262422595271828921076006551580316883297536050915121548479062331765471132625228036045192309898693530896068269786028209710693091569790092007942934726481544797191162443928722422628143066197482916974578972176658190416376398617028858940271038294669053637896880478057073051522337799417311196138222771666031165988487006289426319457843829030370983931940550492826418094282876817185955014025061265796986102156523224106141569999370085990080494585630411188544631000267292212126767454461986715223193305769382956208189857635931625275471299786023597174534689395594426091316486300190576066747225465083543196673504812363669401409942336156251311294190160200297375341447464317706460175336707032786386225475823178072431719300548754149555697397918432467111969530129998084528566310324473338391770717623940101554579860628689600644739520080389214729551791298014676514470963394478332599159455222575138218801144289443767818738034781174087574724687865413546298970825817757822446737983474556122522634018341178110286922336211712541970171149116758989916385991768496825200510087898536010757030586337683924976619745503290013363311040870805988373330825015417791779913284643827623719499337972576579380979169933383688211031844552800496460566924663319054885518309345552266872145550429466757647353807230939662311936615517358845364530509763703906576445686494987211154758106866300619766406426528619938931258269565644179989724488855036554356764236342928404739493862143448704100714945568122637586631415943096074754411213385462236143876385993206044327846837272487400237083139165323681864588956045084034463463283991123763199514528617708133114382425397023631850189937339442100070822115796917522957038311490922533009036198858997527052354200421827053692002751803877041506622010086032300696288313501163316520992357578183024100325309674910428148221988340644693772307188307254024697878913222859707130451380440229156712698251471529144834092983052612210425809408988950154032388405413073890137702794199842650520785197284185514434051172182319687872943747970022149683082852597989827559331493436448815111744176354812456128600793461038844525303477845423576791726101250878646957349193345226266819338116980422766948016973377165874866722995162854087222044932835780129577926992936169408718476863963717753136193214271280813658149355166713044726243474097401426889117574600682105172216350845064582367866524851718679868965141190344331260699787275112484935089978052611914101746801987135319469186582619176499022395229224392406906813270965657144578642325717928115783560665406214129798860451585929602812855310216264772340443955273406613050530267065103013732224422623657363427293651991826924700051400093031681172698770148565514009577895612271875534690963107147070377146768933871495403143627960462741641428913061388720146210438362529650956769268295551164372681877114599886009384042822694474041851918227897371843135461954515357378670388402599036351148755354575907011176594514640841388434728333686903127183721110699281326948016020946159660802350864822077912396806719065643994454535069805748505046815396681375575044181270243520699020800980512470842328298100899149114692826663028651362164129378465507450409586981681748823339019526392153079980961213449787231150538749044170556703966689994935688480482841709534110927480874421748889327488655900381672253607796682339768483245155554544678856778251304110995302442049099044142660741710973872813738560048289050396105108379239108104716239663022491411356162812918184832010290337596588522578092445781307875679559519721670652934188203754577852934006763083320367792166107113460974205469635084409452110433081025857336231608581623836126213853217035618709575805598863727340947664249322238982595136704359786196133883359389195852291279964131542964286703557496030452238093993607943837648646936215594396047478302929342489801022538346532714350192560085996454376666680962924682618209587341328708142273221453955682368119830941237116698156825192887312244020846575560049411351281047611715821687298343366530951286148964008827440561096606365591814319203253161257893462550338237293107539985238281482152114675123122681195031985097297991218166603732604895489119380056934659235162789556528231232512391711110166753173518461216773514710501913978817036352715056909688876614627514855390077552465639743085372215657597797799673259444845628096524434750493090787630298603065198822667224341800173595946795007092848508702539840603192489829820780541859832645663846804945019170320089283523406103721306510042826772922145266273105692386175321039093418437487162222329772770337511620889729907089826422888639489860464246983490793000276505581395110999072076589084653861395190721568364892086230024304469997157332726907540977503880028937835607857633118235617515520631950056890334988358154824391570603326364416332765747383194527211832926520620134165008690554027919843335146870471454942933737761932172863663845914192959050258636886553043646076411932774106207044743278856050292529133351535402398110792495664363883423005509072840306147431447135193643727027813057636838941524124988645207183783664066852423526697610491170864635781590448299309206333589022088139962565099286075243542794421028608883279726424754311162276690396747908262633026851271639057640894435058639881746015548766440136807797501910377579745572790094933232958163888353041253563294690916895875083497682599981067526507532312143669596045123917833105104505038854908223873939943663315013827674700223756562854263185277858704676337300674317337449768172647500802966737921134989638030012256832164226786928357829251054452745929384453857733586746265178421382325454310033741742293841894097907183084335569254349595436235275642720362962034181425182487514168955280154256132799859247104359232021825437725532984441353297649540881227084345993521505022152645131622516066997750555630500256907058830398545776232071846321089454109105019527716569896006043827556480321812107520480213135470292318649355866536572146291218495373450173921300785903473361722971003239543023314254767298346918571878333421941817866217888930661897679185990739247129583815074826542132171967804641450927607618553944402852063985942991449998588761424328333781066249740410743200266943184644808050467302496684891594093612190556071530208443836364184633661754656985122818531312232572834981646725608231124858323429073621856503508673571370365744956596986738503727806451881467298634548676916334823929020411088353674128094254486803744341281346488237443656324704476025463884841115210874835216623025689469678868489323218870156232912679684184279243150686506005304185338979545598306796573506661629599501488161713688640630083441704958558173209580994462395716490588105098043960786812524201649771205941083810950002023692327647128436041599931153389928761618894860007623210031629604376621507434050560348915668964854414813131558553926373292586580124338409047017250539953751929558834482079294781837672494683007734012369369790752027054692670683484218371232076262115235644303315167130507960468849974491221505906508442505173020598940117528286403304606514481790817667856344469709995255815525060738116669004536515265857712544347759817799301385666770997081252610461391846174877320992337690624
1170269939204491914106483062357861155805546469705735849287830438773979306305792335172945744036029293908957586227384958492158116109754397086640940583096164186046814482467659367003545862985789365556906056632171857701346316832979915981041147451747842086349026919170702006136847491014942425039162560548893111852685438834037932503279316269936961988492041969194125751749430600833347050493013248123750680063419609145677160273788692601074985320531267126119914097705304548469311991846066822709468973098887153865355520544670582762307557799899687331771094264967080541635720938873399301653956746455695026871101485330163063874026150650685303074307641870442599547193109602570827122588637439948803017344620327342285977144095860552428781356196331709399489462583922852711340648194809097269353850214585123972157321810644219395278884105987361532103317329799532769891494015359480645612813919550114164358259839102537261396447081344698428574019610214112446345436689736469221125235012873748839224324140062441209631838051481124987217010215602219313721599644459165331712891799129509231968418993594442840965490489860917077074967019823009324801133508088168271924090214691683756538545731537079941900125652561883941214865248604671032195580150089218973347314982025876163196921899457919995633946827389990205777850554267520147241406978753493901476305551262569055891895786937226123742899016635523354561237640693519911617818051984378999789700144134402899655759234431991415543216319509141538423136669050045249395623537682148110885647124969638397227223481471503313632991480457626175514207100398208970152750034204149116931318390709959815105114958526114188296001742053636607090797606339418014630224396373500134317534154888107651762634535203124278844113305654020622646439807717365383836345575864228585226051748587820532138106038448353152630305474978728123244804786801217902289554766829004867510574383119937642598014217539874842891118416949705971703957770306103033007479527867816296815294663034160883521466838324213364830277359871560629692208469377674673762062787886732540662089537318632338111619619703635625749493542244762878517995590284244934457329241643318386854059734961983115945408551600311690346162361430817864978498469557151073920674621461707177868823034806394384374711161191537945358376717137960574570442659514041848306559436520244557126873109644407117045591806147583682287020487715679466674104357398077927909659229307590805872478129549871786079344078633927438065298267672435067795321434677452190218143320035822736644886723508684142654994150043796968934914224819044025188322719472549083768622925603139668316058462903319257003703170156492820117790566826998561061342408910441553215051100430356671177209577706674464496650388043319177008512922787280411484157334235817681504685432243232609414035668083182447644121200622796433328382002207805300194727880321114404091688736177002065983096578820722955740593997821443794538703121855451770455288701396952052065527119986636173067431913427306788199284514073890658176957526429950905728906124659653619193048048795959679534117656490378850414202170073637822308067891673505401081130288728950248545440561768123750302192475251775418679003586069471241382825744857374711694137853435924009105191269379376034638331484611740932751833502461667113017841271438240870276297208283871879594070943778503122259970244542323618087922060664801174407339744459870791439697971119773041505042035390538573125690836712735699125272722957453177273325475219743843229645607032160036461877485996141723104802400420520050002984802783013939590761714855779054420244664094108635076872948342817542775222160672404779286810478318847254504774338633908103256934073152418731015921371727654512798123924867785401538195135632324769069752101140635144980258851737312597705957456008693552688509552247486303075511951679985137521082035373127059458305000158340258370925191725494240769423943756776988077697914839548349858756448896988403209675188410458260900876217477870196866205540290888379472797615569081892596639926587385975178602827873987489094981365950122412621750404796911729434857898434457491645826723597696471802725784179061759026190316651598937366764300534965171314318806518794499557453905214397061017933967011367653725383413051541821566841883668491198178194915281053900572383742544291862733860536736410466165173842623537735478222510619208826193858724072159364173421420275689511288762986961396197916752148199071897065850643847369108684886830684037956967328093106188451769993350922507814899606851648935606338468625582486817666513802680332473527981257518407571936773076610545675926980037957126418032424143984056197743587776748119651337389315980782046734217967429779934865057156825089097457926165597664248100310326306401109626725415578499979766920659974475352476896066001276474450816799234590148178480838557244186444734550548728129323453559200565546570619276102816660876475870728046112611902685433271435056723869172282124143416713562562130191027732388753816415296082244855982138595354774111091623578489911514496691501044571653080145157071106101975638572558473137648701092881413638102685911715067378950559110418867804352200333772110787794629563436201707753459719878574773358009781717840428550677869968095089945001881941164252973214492120285057289844559198237103654459331133275216502448839756459137273458068201050188287514801596301742419462695541188263743927732823435335093305980755155843114721204386042839901963323327607313366948826113824231454727543115270204692259926231791580245946100989257164596928539759109348884388193203716697119612881471659686762332058370703926416604709840430995681839284559954518595251120905508636469461148371333509199508474844007911770359487495634729054913721234760495338582016442321146157289696992072234178721944297850636074535965218016856171521456488380166167986341298873920099183461454961902397608665002091237996574666343305311884050373774676545379176376804985231340089681220593577877965148620229043295692171941426171529802884303692282458515376553536692819246533539287382686104257293925386441220975127691313533585111040064838382482814027123892307004716783561302742714715809171126871548298540874624009330230954014676733811379366094580081142110834541840144402494951037260027655004621175505104833912654296909579931107198736297952373447742865277927868137586075674421218969786769451924159445127393324478737746114292904707762014736025838682446697938996997865860498734672484291359915527739336301693347676419959243654537365340561757334848796624713822363676320999886687261981395707094929101400142354053313012198086222310846632938571336903868930872985711341590053080481247470885499706815883853947027441188718920671567854280122274718675246008315161019814424436643762639314324541407988630772039748584560079539066327782404823950919374738308628975351834667717536834779922439039622572532148116834555969137548584041838315541350532531606321306089959322947832611177792224987185015896302408505512965986431137999537889494117659143088962891661108157913050224861984884988238645435150189453484342780236311819120485585059237136820744244431700116033832197716268046044361678209597418947940315445362488343665560343810694536815249373504803725699162174929032213005768932049240265222735238699215401534456580836379037111475456067296639317320348545862155424996718890201196242724210030580945982037555192772692629516823771946665957635810322269640709955589417111064433992934316981117389472863006758226303968479872097312163431269786676034390950800677421287416554882323569143849858967706326345723091102633315277574849954915325891730733359848809999444097069095751960349867008377266786816502971255904498833655706420886800220629270123402404354234926472488022452101917291684064536355563026124548325680852579861403055979115671309141038692990715218904056836801576463520342866792557651740081148526903608573495534261596614278687826461960487349135497480878723057010708486234656178501735302176165905191835644517077729535771566146596322854161576362490540197618546161954561458176
1256567779093800256845946453601235578173395655698597554076504156331892864091036163733818118654283215759236208574429604081534145288091470519830129574769298900529381931794440589737072749390015559452875085044875507569712041491925758340849871083892679949860369664815450139429837818612207890716533679196278931101738482391900322931260019033154989930542112153487052394768804804300213982021388144296560632932536606801446475787518210184053559098840467413031234605993407920348935466149868917441949837246606024961555487038104065014343075561049717292645587906541692360730846944460916271238245733756443513340305521747518530421525345223365624172999894919107808525104703584896315003796995166445318218460316266867983217428323800140414527323499442911759645760223641076945558253078036627433789422430831422417130327935916106748542926008647478892428050506149759870691065066137172764113000415750328842246273709103904882079785876242532863427001535283070128680051325314158540810869175151722560346608547317877098322856157869949045346369232727360224363458630439335676790965484711960854958609320578341372322027679637914608651223672604602189580977530242108553114700616663600114376870020088038540449654944010987535916358187950992929029644955094991743177353374302991486669184591509491627358066102760741242894044592938618066855736897693105788144044615393996400999322129083892551608150097170033189921182024015716694880834746037833926741488249175936670627263892483850066477715041736312420140624850827079933368591714968162444820508999385255477259195483450842172002332338803031884406768869895324025944975380342425461181823091565656906837668887297514200173228362419849276330844355445720662127515828891381019486354118651855225911968020874394873664762832475617616294003986244653183714897816122787177453560256847075842362620597628948843901414598380845896252973490303870835825840311482870382545682477418876655129451884719198006537622922415569806321100004307448108993383273895447901439379882583765281381791346137753961718039462814393916252300480497832549083882239868025303610666187451824355909355166054768056223642563126112747627403001935761834386973150090633442113415721623036321572426462620516793360811565362873624153798667483503866355143999358803011318762478126233393141859461690959966814315749938845846979355117714018247813016440533659603695480932166137689255115237092360916211501870005203263946000026278960088407858008095166808943144578222987630550972719715992675631880393034640664216112095936864366397624166348680050585752310773598191174249621377356237309846137040746401542011580307095171135249974105331487584439622448446354669481016678414966116180338074815327399381174032051365994522032829298357080385239197034376482856629547941324135299529241185633026469643165344523470292000563076993688506229448694905058183200833791378302711282019380890067954669399647085962082926822948985180458473711122835495576670064249086261468328655567048352691000684554644425382057335917580093804017719246482168681429636653026087486889199423693747807711816827856280544820033814750133418962710584825294768593599626089640452707921344101830704408201469681478434695676489860707196699575916197290756981008775041437939597557316142785937708855733712662000681452286571414449228603638640948415044277498936012591031336575855401818748388832501777646114758131394485115452560600606884004825788062265605479096204035558404784885519244428051651540276909439850336660272018993608685538045782448960055842308114555042169724968298744210482838278031670729053472587107565518776107584513663713610297258612098834188768150675513481591939769874685678665064805608974177737302132391504629348615073166155039480732354427518252800786719433787813688926865574855888194050601779790901334404306578061089607583456567597518972974481174375120800350471639242479317012730667105854777463115173969406516862818336557835828483930881893385256428798675135539773612800813312513531291810415116169204091251389113735574712952909024818358620790843979155525870123996789362088251045165912380291726172973368694025401121295932351758901719374349930378809045821131530254748183734451831823351676256115745430054372625415524651257034497678823509152628993496235987748980829811357635714450341733245693581029307921501463342089801550459800485361404287842905963747454345480213039276972381152884047055686353425216150830128654474292843983553103306249768127489438708864960323617771137798451763189773862626718436248484360564626812258083599332375098280613891248689087405623824558237772425525608413263399712458057197954211156279052366310485628659866801935953899051705148436767674153896721591503079128683704623709630782997252443539317263806852443561624499180607665433625216466987404306162059894815744734270310326224106870416583458896484304276958411585299766634988005109428299990629597592293141504901166565351502011542459872910635307231806293686332197972987096640127520440912013793567619100964904230749383578220346699612750999784639585809684399924721156849645676878806797033081151498532289164755174279974296896272076970279138295963632852164463691293473919382701282495474853870144039415757272545040972520260006724797875037616682484848310929315114781932949935665816028031555835092946532535977243682990380398938365671056751912468504814342193669991085262416227944862918061334317666784149837469252937712027887379579493011144559852047810352153439798032766020126649137573966149932390258587248946439058474079970886826210367213866116461897597325567628871839120531874229338161124535081893192319374275078602592886575343694623169944468681525275676371455078848634102114526925031055126249554237078260602153506856299125374970472133749370271480201009682463170654736865239268026013168855201239266467992551908375898268698830144674954266816042459200541258232447246793976808355105544969954426636744513339412113327510813284486930918301197550409700860187991652055771269124844702958845455614448296134592169858637378694673372348087915816246091484042908558579747419352707521301729504752641322198665475228151609945563604680944748557301478620665903902507562387401756643072306382136793599702812575784526422778701664581041695191683779375257339092435202904979118932992952506358172839598090691117640967158318877538274056575104669415875385676590481445129918300837910643058388930908592846508536074483155851655069800922246722376527272277915220591223716730409775971170572660575262538020074227795677219013159240916925325616143139240757557129629422745328828287283376536929162505365925652025263102785804256027835373997469680601878914488069805100858106960507349653317958635720067241278738492489590021856390654892753457183983350347952361509230844080027782105200572794504698199459445512617040160269240236112046134560416942419377240576432487845686958041862158050061230775459055908451029950933529997861461917763780558272933149302241017608101232531839123517700765242457268223858309089131095231507810844772725411950758415593964742964302606153920529366019524622524332598910620009560512663338838581846917798667701581696827438137729841372292168603695188267867212431338443486053595526011178629685794286232588893276474186926853595349438890575306197609545362262666841013321905225194214068980106118947570855621083300194503501469970932612499807956057072863439347528930960249649665839949778418607472135179888180644640007195080718398475749188422601408750595576573136070581703151831835732369539723931135937100896627499159330710323378702238627894016373054667860077719381616064026241813634768767079887142214490707465950127747946795966439459667149310285687117099788541384154661709613032543773003926740557641879732429719810971053657734467347455350800371504566422074930090802737301752075075175045872865306669987487000136556217932170392704690975488584526189766818461566759466426574210601268946995038015802410895229882604551506327292393741887133013901241767822711111860920302189673888266125218025534117541878617117322850523827548367292674851982640461518034681582987093120336994175877814536258212165290225221997953024
1349229379103806154877435032096122058361596439623488131956044208363387793261693272497512517208098485501907831441552482846104317879916341034804631499769131380655613121037606231883920174350730194195310535860239749350828414586304045033487354287783783189611301869213210056092448379380853249245163539657643393493951007654470935570400159454934555362721920812497755598742624528869274804645948513068964210931576325133755944750461639436241044260480759765080719214811283152371512683882050508775024632361673891051610118529502216270315320114691346800489615344322418287458005571210290933790632712723862029766987983638452214328608113042366292718415398722251150778388674218225908123055552515738179580150010460003699067082876986425380150684432129895056673088176399017880848067358264662679565493672787445342684007163628715571159190714822183758957194739237366380717828344616808517941814808520516419673322189616472233606854200286095503156051519345644076288833022456441964635441107152786058688517533811087663361010911840911042737269211726156262013069308796474210945805746275664963019856616381189000011717116112902091449411086054444385835072609025176799427379521350298781217629038780247143004710279752975632856095952167833970227393524156094527584190967616648807552641947880096453272178198290889737737078479959249283145032881393096801186744040070528174258447565646102237383749218601128675486508402702647448628598962853240573508487969144736737627805556044949060922303004266184225035648863826796716248990132341202845429872685608339094858279079173069088101906057720553432293081164307823908689181188523969659273411921983027462906076662954883327959903337833222015772560845676392436747286566702703353742257414471155451254648606163342826545052008269776094846055960453604819729441477057298111882797465480887704044776709918077606853396187045676919305582520902524585520042322384345389310178866628583431709716622818629395356871161338704409838544648311487189335906160443589814988491980554397966018757880389367294118353866506307497091248362125819149299897245237099008777070497969647796041736194663469536586508517655067443667099371681580442884254472017342517450257411805795260343427738080021521525868900313027147080390237752506931371224549654175975830100668686021945801849269147709479078182862651264228190437654437984663776032283800599196267102836661288953495932636005744066639249187678797842120131505720818538150254713545111175018871571716861417157239573042090737503615605766851961979979732079711733616389281641711137508357954582258172834539490289031878546851044345485003513155926868062849196355457891811399603549554225666134828959463981655707146485672117388858104968718276436268184649661538318698571696161358099986795405182141298812822011739313771997528436154932986162219402142497207318255533166643604181776680456189433475374227236100868440252309130670494047037211716686131768406614450718837082473072437646633011072722344128860030252514630383418952532981162140740723163587217084392037669383473932987477486297755985075096673588448487467096296682050776859991486361520377051334418726167349577243208527194789203264431342290467086615271353486800559136953251314129424284150121259129095472999248846283018579699617197057136469491988507191821152161256974676263927368832259551562469712218780953376116893509115812422071689212981686909322346111406883004766171138298066476214496799589151992616642412253305064699278017091069338207027718772614546010360034351863699842253557263261771292331927717405039435785473282693350745258381285449214876284330164005415935428774534203644354710690121474419432677861119832203385252036504569452785364372550984473143662821225880535320767158833571098817924555609840759811574299320501244948569926619959103330328737407314098582512738674104887116939319916226121627204268388655257180489720131523657718977309832359379619987873613769318476256523968887099814132058772566015568817923743555815034861761113949591389032693093568528989516179445974332962414525654174085136677872327466127418779792435126206353141838619713076964404947332102311939647158212740397750633059215435807681347039644499463717441542146874656699211653186246481989334196957692114368583720891624549871932566620032330342680723688361453090078552465839500885090630067604639488588734211828039539229862874974669504272650104701839965736720939546074494698700237386601455609892959409047735144913056628787574459992867467568975860314264940583403845404338084871875314548136063273300242691629620280005623429105058319809953239018219989880770936367188599695789859227683755424218740793736989243032055507757870747689756392685671110242722549280699085249171721739212603302018025714363534554658926448715746153272180111082490861657891284723904631056705894893798318725907543812033963003740084061712326027742503013426362824318862429157807027134846102162683527608336971013269917385873743785880080597442018121444267874834795390822149914218454800807296428710160010153961739154575352166582516049895044439515557647128642845564637189898343950054393490659657344817488222520718726335915743056242976349393591871227605494410629113830441340661920025003108163777415988637856574936736374214605264109877740561946416722047909622495956387037891930543619379655551254666568824009928419219460806009420701904568391377481953406319240716881069139654125328237260773539193256271210533816265178781612023214986022727316776613893798216008955986697348742662192935304346891552950801284661887672690699926401981594352653572507660203599514450485148151438664189983985694187724661576491457160834652091581488835780811824606849919877896996200713054397379956387903746645707339969703644779879128769725478695033220794150526212023089665671640435922053846676259374603770537037764360304514217884671123986209469281567640102603434752401762922756342810416909467568552891253812239175052693651976170035808428108378722839161244148912623139375137192236905635071768916445568754245249145960131121154197325909267081640894527102947099529954628843515069073261037892787717762115366757737302325811486005598132552359138258172050811750887188211642556798736575218642401777256423833053015632170598273679083905615170570897602395746497879369002377845024786603322396102097313325598076410653697408341579015318832080729519051173085737647931954393312678902226527469175202460283427556185343621432388066889570077862594008121433323874982911994169509118716062103690615286852543849968721956458437083344594831598871458173456994534152500822636463564970448727641122307304018797053995298065128943174290949247765266234158883469560098768319887732962257582159392557474616553053280761344782691080280767841099621499036186188241403312028919359548632728312622918216251821257100838746035715168746342217139084895051525953885091240625430912285744860880541941249029244526341128458185914193999002662482218886219737775717529561852597534138734595385078560457315957631869424742861118919400768996899086713247049279158739343213746502181447219664253952515367987802188369136949542036402305508542468913882805919522666218836508439253203094315656177447204590763141265820815070036106221857482386228645303788158086508822729759756734051464431742865685979777677086656660973962270815655166168673160963872325690883822635606785744442753270410326628994386433264490267929084222028530327559978167147591422670457227703201417257149019094400409709753343403719456834055475970793826590683274464240542845425214274351494666016846395898223521840277584457198178419089583519794027190576584655237668837264685782589173795534651465539708061113404955960548208579333306495646208028538440121711162182855897722185078257568737169082687719301640994365657678677325150126950759190774367889300371016774576111487003390874814066490151730348702914122521030145741531181377452040329175993789599566207250136554962366655861011438037021498241607047117005105814475837740075404476936691646942337874612599591771634752041489015134681943647142730151859518333947245345058637406770385486576367898175768735488495621084421381295606865337715919238887004256075776
1448724014513308306080523587804388642271815012633230020048835596112740063956145443740008125689855055394456070411937112322904761574657184990117172510209962707560796348421252088016807404277751054447146947020991237545261317788926310732834852873899180279633777120063601610523847835502241358520828522250294352871744687925549584114347947623032275275798016857994902092500117768175235786297784430632757469636391502544336152087203905570299790567913342107063582956943314987807857954830648314152222954396953151470933126806723907510130848875092575910574283672871141456066115225433499674819017203074187624166347972538033837150038610679308572419589268613717220022886074836019660632106085411576501648829826424943450883036666694572010922889297003557723080745070239515211190418512137960380301380703679250726553830907503763516153671232497035425005874617231934146588239436067752559113580958371030041881982452018464756558377727917253507396976515020163156929166720363812955657802029438811949337979864610298939081149826963963020850457396177885213282934951465545464029910227155713704205833391491606156161317157627087281606305463265920078153110626387132198539636642794916756289593945055269302500666456373510325450458797199706801321123217393152998764667523133025423388998741135687699032399387085893629580692279502591770954840062606999420314819910206458010471655336545205554858907873939350632475587619709267201119418148938546777709809951471525344660289370865037830661800750081452431309804076068912326182401102858044533605861561532876569323637599972331614336557308293516324679833471943926541186730858432215049668891831813401605062863096765009654270856808828732015012586251587552128772836105182058364778128702091782449617709482860885368511799761534452468151601126183525506511481678076757427164791024808025400480210722180155540156320522473070306649876989376394874661134231794163047363901558020027904500170565108395148150503971708818754816882476183414774830169229407536777053565918209851803254871104703653068592585752499935119431631710785989570863399991113458002152883685866517921159433801784772846382832389538488319806128528138634131945267217664058314319791222621873736611706965898236566482441736206983939867614488516170453063181469059253481504792206098548887389306776827728501487497905548709928283152746434523347766903631890941033292772991032266471117773885165935708590404972768750721125334030072538131926468082186525179347546395837009589613639313963195737260637427130964544394362089006300990247463943564020631269339085398063048538265682502975376465042309811825953836862452911724411042731643509108766874308175228653663226276862877725301531477360769191054618906295025082814820338896381136965297679231070444596996074275091450413008541472320182052946306528865291159588220744674459300809844680444399512074920433693994389374981835081425127020549426177990621046877504548738360513263773979602240093475230082821996767837086430477859924030239814578085448932613194638688800749188855279068458200520256262427845296287518521451079275193304262961117583030349206264251190290013068267560397014686464314751615602486562408657263793734467394247449347865992291932049868763725002933245490598451624648356206837823989992556341269897144969248093099183161803409606121613438878413471120936108278742548947934530711273691773057317113434308080980612698517621333763692229291532322153843806408833018511165428156488623730198640789554467965316886832373466183882095906181672786868009846846343142496899321280722643590572224955262426061885493672725704640629471012917394452385958590440571476874359403330724690984571803227312636819496376130988568439021887509601188955531704062882001416954205256344078442556234899849789625684463916967345348259200461042415311653023346471152903042527168723060256526664168163032440159160220236752168129307271732138326376074010694496674206271930139535932580738252553804496217763330234717274954964298529081339090966344506102114657477920474986199979395831789732246296220007675388187787933332604952857026183633814479822905930244361616412551222995470176693717575764454719250238156682053094682781124885165738987502078158069783585339854255709284810849186927581712539692766879850502667840487595029321120545302781234212231381227950203371606827534099048915339694658459441549196792518645185587314891116736344620966244245407195759977660723320722440107621498680628877237567849746009661109208556541617772986065808050521275669093067992762994206543489352379252813087353058011880628831024400007939114524218131501167840527741093020789363248567836386844370524514850362606081618571369182286980642815197972756576125992790587723790577138989482592993297257811419604591806503382925887732135454240930236352259875852053148694952874435014819293036889322148093260585584396682336321512310909787961919308669926902288974501155787147695450155668930096862423569298237385486359543185964402271960621702269716901608168108494367192280383139871933176634573398626045956580788662629923580025046492544405057331641123846179682207510769365874627440639326751147914403006883006659525668012586736629723502242720890709671801711847335374988962965443653373646775394222963999056336823725341861567983130481395823493445959643642516038616787184273100095911170120913955534962140502141065545646371538490403345177584234653638946769082331259066075087743624302477149037267890253932654191467189436177734570347202870638745402401492130974910209658193603426464795585953654398492958027126811529474334646346184491320985154011578280661035979511476887330067033676530924652732292460699220122867166925352754127115863946977984674705129253975192988220459795680989257696285395494224735911473278110236105914545457483027733817386739101219156383078384151853716388661115562291745420194309082706392462407463144959179708857301495966636826338572149926826495342000645345334577986114018783086911663439544111452922562767586297266029042693696717839527250768590900701561317673421307272821977738894744251002523135854424803025811678880838209296455135000514690952000881817112156267263801413057763876616397840744430078243088600376973099011170778291288052154242219416493587371269551430743464277090866712913635614474605804582247654103692662154050716459435727184456066674087576759866948566699912229036649338419650475926538160369246803029265938285665274015061150313342143577855617840981980003711651778630671906899893451046086314817061314038389787333652505397856476530814059665275021945075840707421696658936527459176877160912122915857883651705665679042737831875222239155513751986904890111370642408908929115949669866119379425656023394819611376022453870455659604169202093822849754084728799765931744577573013870660722404492174429721056999921427547098261574434165285559125076903474051707917755115573088543679696120499350105233499247055539316910851237771978972994514074456829704100643100517528895444027153500676235888732710491950196653230428807198290689733075711416051655621789967922890191125927116602024706573060611253931490668693507062131285914547638153055822950266264835156695729355127488332936695729029120987188854732110830467256440515001805437018089538530973408333109944900277416702328810708100650937710109509729215931865172783545876974211513193869090451655888848917472015159760152349343052203774614268054716423595210535133953568426593231691384931694588018820405076264802232324108097865536408097965287992086068334091419960529526263249597019630533010299815199463859584642700483490201386022025190685827943978859915297619405305690832542882984166913870379719812879277967410908263718705519905793220586207467246308750400925283379513149376451193864597653307441518545344007483354998862597014138385939731686833749904410459428267950774882373212107811413992796981372423044031090387047497523245100186255570991988657310448981523648774367824420982711962734443049155943462667003734548291618956602700603769221513429892310815979050530490118816138786676995831548247461597436207653956336578770716100263661539636782282296194645590819199199471936944398774641467117399223679814566804455424
1555555565816122132845251688044108415957822155455387444738793302046220825910148264770685706653046225474864300531985786358888635671457517985993834784835503980588308062046374737350975324925897819820002874490350497689866169919325383887864871615592147825558801896906558589293213970390628592386392359472255642989406779275490386649381389851411139665505465676686195155502493172615286824809457261706418479597003628720056140811255728626977457351209267827974454848163628499615347161952769931940332888708853296902948018559475023914335196149810250627078492238402078743998446426751137131543578401516256626890600951451690361675201419501226665608645874612118679247583015738628251306978581111325943595953545291122180048006201155509801907691077114677804070006110997985179739345184546379718384538186486962186083235632810666324699496413477694891838423022221918801605539589032120020403284241412977865929156230766298829386708464054847502102827055322913384898721713123538466602839470920531638875158092301935432034258699221570036276520155806333097373047602859966259702402197862430364775768017220303274806281523073004209559156078028314021754343555250701856989079585131850375826552074783000641678273362082109402132009250542059273115748453172472626004643853042416912748075769840737141453411552986089470495952883375830700872440190451913752735777384616598440743246301361382870929135803211600413489891086258446914233338885059978881007453879986387107637767769440438178123805064517026882163823737720868670811174316882408350587187090171799123512425082909273697110599594087610545835500608181324510055851516530092367791726511550023067064726256182749965554399179954582017406809744736941118443627921231239200671325267890783102863707482829143793840772041472768031994402101748752836112162213960718331849469863556198443349951936738077466291152842928867501942478247948638855262897651955503423029914050664866590708910950890598964087872361101871446682488175970816338874695198612722978340577214722881089996574436849395425333800138765692895020178076435588915463844361299748186179033255722157973194418645135636451500774252229334966711327772182012337703567890462010993660097946677200768247149817317078329278354253808613777132158699428179915766966857830682397309305848117239806098564856646566134963972714300051519241661618427214596001821432538803594164226797408921443552041850277638350408593904359388729502431494059357946084278472444741454294561596990656683457240532252950459795261594410268956777331324766075972761318146136664573392771584829807983804477927727349666152661201974523096443332488626549080098348416843988207958010438808126201416864243475326654237358494767017245990988070105314547336244918898429004312554800536496654069509712976171733269344648068717789542631746366926379987331231301392215865327304337066662680035091129460593493259215567196604406476426346508998097767041238730624116281420865981848072454024047948961876819497718706946506444731129662495260364762944697812733884806607987818995329094377708166697276825580565656664987714656471898846034681478604091129299056169720905446820720713598981432309843960780456161483816733606791567783370125241071109059710145322709683948363314956299025689352131766403205565192297905836731672871392838741064880159896142779684220194707565261490678524933764504038507031167616357733925368863050062787543872827056739679254116143344423857304523255007604531194489052279313172443697014580428922805394267829483881059246442213542820140202753133554512591576325147367042930027201795758354066855292957152514752713565050680632380328888128181181448484563884004939610483856263757276815597668277728398864194270481998141681266810307130898210992876417278358509410883937170438698713534666701942677749127821323958099845743154519681495778271714254470704848288558817181667667545185251984843117057806129845983353018202104365724176174508025886762782918563694697908262299406539674934452883757496314079896704672594463722577477570538628740705242843904286609720515346665312663470061741640752137305630730907642658210520997607722401086672586891260714599142183804613158630790185477949534106426969651122748394605236409746208074768419449886536700960538543931413383909177467581883911291336156593456037282954696012526389738611149400064807316934979022065322177297799055949733919635581342002450045879600408883738493025998043479624311551849838888264294952044112138184310038350241023458697403799476876227320200598687738811252305356199035438992548277655281545543841654520071291127053030159310178868691935815218397843819896040814315794029743844011124412143431715470617694219966211086869083166188748357518352776512574902491231268556216872617376631934263765090397445013150322346051724967437626625619397102024661918989895781534735820040049417255743272698199631350442079154730825684481032066326010433255960505000122270046649040942333555360358879810277114823020304188494564742002769070765896382958113371722764897312024936655485721022502609679326880821970774781796703386589431887254100913232006867405232959998557545823432522431909555704880481644125203237746653337547006925913767219913507654811445280295080373074383917342643242143511284427033085379865215045463561706524323949583834716753195105175253643508261222611118234747604451163165144513713223624285890234720371894346680900030642290941273369172281824001234799202912541725595868457889471284707225221355012305752461923617682533446192141034646986754611216288264959484249025653303451603202584090962001844354147071151506768745312980195764698370279821935628666782107741029031338290452628930104895924140738059872915613763980552461932147319082969923847015133172727683215518582530249403503620165344189435341227648740647951667320155955177598507826934184102416339679141729924347623083868884928699045240908481246026132227863997145269058349701818032147640047276742276659657080313200122000880028450207959920362676822598903832237538903787115827329537972195629097328886502830791584336004648238436084963020494529886471775751162013497498869493389618885201597723291914441082984865618430420802239401965830585870053196669162378182931187107857987236429503170014074040188330333348908297008962388638064771459157324038293130154137020044196706185279661339717804241478500408205879547351322549417445717623483108779463829174320479575790812733955921664374391563008986164781356577109222933160316875750839741875660249779531879427733109641655417456274608137728064258800409480629837231524945761019520422907741212894242665621381724363385442516962222177349547893551506467476205555715502880822702676720193627398846506014244858266251970956540281669861499483818919654503757060845965827828888152006002324482225357406660544159757093165894847554303601471105133290162052401633735819918476500217529925619780778898204140584190695972808009427436041415443571453437942398552776284300948135738404802322706820166775005705344086756622121612090541471598336119743236974876210787505968927585560614302425605171261595871318690528822889990351325961641945969849728265351889125354150508439960489768209798250784933075146166948620738117900841512527714476066702714325537933236920582097565667959090271829763371515966602257466724513444163368216394060770770346679707129969471138585062798781977912977906827026596517386101494075008174009077496144473877997658747388893679026702362261643862350256768075007427855934959588175311569569517619017307792578035962651168981535757526471123052320571534359135248412494135605428450722354617432420948707518030862892151363110727752114673733637945219632419924489934616530801196581995887862514720839068755123471814922650245063635333243455167547150693288451888896207501302647246118242843337904307343455491467407121512351186426625764412798217380312308644953640519542597575304897245965244676273052796527099390287832423680144934125072240697721015333100907224824394044944494548694459022375560589617065182890253065939124274062396627791617581443704403007011973419001107330001837654447188383283270822488246905283598947015719764602660337411491726866893848672264570148084942385818292453376
1670265070572755027528030857259559963004302668266279265540531123698092081919549057925311012392370789297696060205698588587067402278742260100793826614623921584076150491615579583070757173564926189891153238140512013788824687605070370545256238714051739646293141768039108177230562439389515537295517444839403451497738447857230446255372022010709286078358588597654429461889210655711484925554075092634695130789793461236491866017078565786379790663169647843313809374072857515635366160068390588573968895089433143964984956425236564660221893261295035762216404047231690875972520919426048377697729808331069756209601314067873456828350467742636290168065491576091603159770734910615405816285565611407065735240278740156140611602585992028002350242896769638802514442985314123067218292343020446371414820365756162929904040844195919106138213530888998296478071049164155626815826206831558945294739636965227191034399666003970622794749147550490392949733357938973926895167507517672930464295937085406600975521558316640509522692966190035990895296920468256290724905741533687788271315033114414880947318501810991848123669969241905625131726483122808221363284528937533389203641461820636303035087532408483513188799660972656587212773101461903712631417907234589344036296123236152685262567729598997287768732131925956354677518633614023734269972321426745257153198599016175950439209199305024926993806852084128885939789860520486125096076856054428073094422486692460388125061096047387548737891347794950123511617166954903129461245870591271135872317737230320064241832595186354766050758737889290563287046026981724702163276349232187529881167276620878835272153496374357225350317746708537132527987645334817556698261085320159105109130817642338081657256896015413537556870537379173593002559670521139459972246124202059965990287064727863643068538062865475908908760968629227693790040137032695742767255724336019412282383519324122265824447497462846156152222565288710096974373602925337306472317330002467440370123871749385996108029989574442657295170369849728197722806524596760660604330050554106628168566758555768339353918182647547010835328883000962193463600363564570387476332958012511887040646005283832292111895927647306471630212700202619903969413570981481659755789352874665600451586753531272035245679352957982445092846236538768201564512842960829411550418852296507921975652636999533784672282455241446308780074764142131605940983404866340165297426824726750428342655202433100618253168075108013856082202850939230393980668898506662788315312062877080772310936429910528754099982589485704605220549501462156831105191738976330064090322728489576221847325443976877813531535197149577340716638639113031552749820217957120314150553960528731229825066457628014095910492381996751105417867605701943116684753537104328904521314133189722771602638278115885069195653607133353237793574681827930876582016435438302227649908913186757839783274400937951009100207667937384581784522630799248235663300393358353388165255415469567440573691898853148093737826509277388511849230074531806427139221665672831670071684774058095373783035788413154578585400815660014351927670504387603791462383671926024678476779535475143456132355476096350111364665179147615862996133107815341146119863016528864164512512627500664090368868125228295998822564735882936270472038118360009777752761905882741237685461532242884180620811882489347940214695489627262487132771274523282282423195435573742421083246921769738944346275419238178374543427154326927880065199445239879444537953510130398950957473173712025793650558983020203867295036765572287060474653527802058645207570970777660655988282370785347200563501252751986675029573039484277690043813453851529840730851829827975295049781620763684149688247236857166511775995149792721277532865027942373369476653176009770031202174778367000422691926380711792814884105068863494267299207004543400232742291040006513590018291887986294625005111146546035212028092486519847834065953425169406740902289782170747909235886503670497576735985740082278548405136804642263861957952642446386475225403367173391961615487428463405539420769353226357273708592562625996316391844531385104515989183509116498302552104835285371077718246510332311208183219937736652464381072900266213480177807111936011779405855612566071218783562091926694310464554155281799390149520945351184178525462078524731645827425971173440746418626243115120427516581991036255881837495714561108759697747368168539019714831326145030822880864677629642077370122019304499510057640449945783610091559192744796936347984722040235535656323529459180842302354341885993505465321276202585816119788870061398420776710783831808071201789678760223728076534737556806305386151343757638868073023225270877493359731102037538364882817819223536574108274581879550934035012758767938414334318856102694273682351261277953054999480711864299379421247285291510792406462909506309271910549036720902083723215527258608388993760164142675094958659232447167352391603162986352617945697696657097161840500106013518988899594291503513733743980666053800788988220985613770216621416018576959482145587974062561514608868797204553410902371281281421338831515203631340230858011489475083754987800447476305265300004124208877068287672299980297993030729681099070058748686843206164234932136057552983022455863883378029747260622478092440247794140437944863509366821544297671255945132831548409058664917415284838308087637159315156534664721094158355799122115455355369007102754000087788220127391903648075200839749918466883342921775048185978142476658220938550806276264302914083395557135257308576417031746129151647573005999460917041717114165619321015983901002714426628858133368635126048487529631125107911924529692889106939851552104819837958014634565132185447276856865733770587166080323374485215843484398820137881480187422784031592070177891970011871918691991683171259949954297661658375484918452820630009990274247451353298188064209115353019871421227325023823338256136087151342596071793392121438515319128791459872016748775612598345902322717419571670492317055567770125324461210147121707496420384704973528368049284078751460118947099546368577136502318338511676719948212533981184693965582867115644584823239137019523632543536698726615835911418372485048180331914174265517010878771520061485091725672697303443023818302262027698454051905679659285700264373507400258063506475015755479732963098372299653679474188726586688033973260617802570158082882225331823074318981737986689374933233559727678374097800705562938167958498209433653036438882924506118206723863210167379800555040797352392335697629992897688331823392711223043116413822863762244097426868938470586769670852283130785275536313921365626331014660324226914194837784510840879602434930128612885868205159888093353509114741723401313788079213400488644706979109567744014298424235221343457672326444424370752757922181488787341828992967769242616197154359296342657703112978823666566261669680938515918452861641620578185681067824745185135487193043770063646956920894258332020600053709814471191175138871977100575896233543293431303530212902850570771650925988469823471825374366020545630941176616796426992083065718145654030215001329964581906274171945855145940019943624631014838398371048497142654585514773797928981077519225004659682108718705942608610948153590241090200330497224469575416263267520349281559571150905936260201939159926245998369629021203444399580012733573647876477876743043781156772153996874662057966426607694831949527137912025256552693124557554276088980115164496709866201020852971610112519910599130523029631921297455740195179255764664794523028999334830193996017580592495587685971767636893048674798787675387664303191414406889319659189131186830075578990280587619304418493871030159203261601442289190445992246873885039974083490366893976366205857725015298459307717231791308564756945071608659614151814911858537995646895735699637722941513439555473245249378791240517943031003473918843067570994433644936420553809831719001580121128757765242535943086438005766338190321624510450641566770653138296717311145944670565366968406287737337761380676144283445071453381197824
1793433463440278707963118063802163556113612466872301616274870234688359017360254026714205102213470814984827846682880617703703335333718470786508787237126034635718895183765809128343554328604688429559097239384499737979525770885298451317619308304205329358183912880704896917552859382215987859492028928245680449083077212877151510950577124712347136367514557846911069212088259535383885841712936800598546515418151391651344071578341554378771430783409947296717435881705288337730426579619709675319846920332592587127017539244594028569760595915116240301467471964395537911770892385902682218181401325056573235903732641280035305336058286145231452773651907476369232767856392324744662803678672124463897969044797972723676465102636246196996702626094820475675633033797395191715155443826560007756137130680159369523596348961017425994381294992758233372393256784331114138157088543390319362684289955400140868675672744120094207762049927313308686620323436067038744952859816307559844592158286361873727513096697378231950247185714908859575489563508405168443702434573142454483224967610534892234961116616043481690253440370347827643164800234257389315608808896732367883384419890657316384861511623047944200525269804343361898079458066061841558913230503420330758156496121567715367016327392903166136339851329501585009215829789450709556414331388838267734799024511141873370529530086779356997475797006060510751440077919011972361327353738664067042481210525087778144193151041381361097016712353695168123608389102035870211971026278401139427910094278281236573882822507858050186410434963805184759489820236583310296366653093040630037844659054848014997068117631604979713975229216330394657052331185351272094036414275379887261490085843189895471423323962364168463930606674537374033363202057294207314308974542777650412439788799164502371731697016634602769059750852035953723641431169770696674475947968922998672643494483106622288905355119717991803938276278907058666132480793662503415266833015423659313923628041158127790341093022052363042627523139313201760927118924119626656208738290779978661620206650797438302419327090982742276540073798473335739364647131980884949625224507167669928412705203851775723042327945450190879535228838223526265266822967916009587568728654315423085218941984430906476164888036564243865953972567372672415461079673672186532910993406428839004972586946042289293103639805734148919987584692106342185811120757494914565290920581288629306521423894063606695818684382745047794846977983105489356389042043822614978478609061522839396256473577400179301231762784002623684734712743982266942804948513678176535842380027237054337433375871737342597326482484107586774650153039510104241619144176501355919903468820188543875118130059134722568840643030983296294005397445136917202453332095920853796236637684248111866834952227956369717572507316995546116784778614346142153567093212985500873380076429879007015535192819955622827333897580149873638634790504563663378389894014224515852645141363232171160132607545888602742312176813867056062669637913223437779091390973239864464667737020050167208611758627708018662804239611577871574104994843452145698034135471281667331336670800066953241249219354320083368319298718607247821984802068132433057416992237997844756651901379475595621603969293598090962187642511865022241532403550205404787422085189860250906672405003912309271120536003064986117896770086636949903060718358481433848395965006901424673720101605623424802106204256259166338319614639898125034257660491255656272318289039194617047448763791972619426409398821047698729321226722812647912165652784710217160660146112772256051213894835434103015606347662956203192069949009357072346230150897854281476376774336833227799533690688280474491846147619465973997826074511553589766461748715048654948630887506624123515123560059290578775270000022099198835363753325249133941583394082812006853066732103235450874027028925170807677654384051815071148531270765716516825552426167040446302974320036484581539507127220708142763032077294993935678640603883586116066628016281606002836117455422604499609131951458087366581149360788816569143947531422666871514579860245853867369428863065349469515875200900878533901506035766085850682810294302138519648758628247008814147779506452690345459304729041717330630970565021802624423208632666039058511181234252587584820409871282637976586501262351512741687415457209856696849821314537300821040694921120145028279100236947788486626443774947987304284296320573655223880622543940110576515336397201860966394609015574621765828943897014167615505445237863655618571159586310550986266610488035855772287716990703834624932315504933752035307590131521736376684432978420703606505960027168186378172138023323096714893800625561651316560379254351472782424813729923040186368211658279462758185726999274349300480738043039893289884261514738609991256141838124463955169954200833841651457129344887530144382302366151383779891299861563265095352700283968842261456590210742509135547100188577761190209099841780903149247799686127418970538879312149389342941300851515608007391911954353249642358733099064822399490808329428887103280527733625488330405669473163430846683046062341721933233633369950221224212344030335535562220294977812095120331100354975834253809584602168628988793659596286653108967172792245634048942349879783002376832277492330351076555978572050056678333310897770469073486948991430297307764471093475293234768376416856092868700590357847771864485879580035477557883605299294985916520238839409158482604224044229556900061927018875575154534647746680517056420433631907397220172867051754620229637644635024108081086018256208327837344087017290017399584303160473544633772912507378320541546675862784909515327263846260292000423069136658479603265308123999901928661258077350629590720816636904678296792032263201985239743056745728355500655630718844081138763042076287867998958053224022881211756095292718643441664867958924636577960648074100289720914672912541410105563155022671807620620942613290633038602070388876038065308542920438727458773147493231646849978595571600617770557200897343899978221624981608612752430781515626427368590832696273022177206575530911776619234979486740959901835443827508571529228818402854301654964998811065699207045877470450887310095563999974830071594538331109629598793874739315412946876575673395153321126338985692053230591180150319227717546466830170964461216366926764205427703717422822986698553427882303804970713064551009168517937162230080640010320689126883979636175262976223698024618329024615881653662447289947611617732348725718143572117295593541051070914795566935616935586648822500548975479504359960602351608416648810123413812306704288163720187566109147275838237456614124789233838082876717609354662030431984452993279153663403373830150808524053125919858959694637165309477872118652370367971550590759658482118544393601829555963574405295719777814064465360406321811148180360197113225622064496420114132610917093313937027800448409607422595705787457779976879616290424652550996707244874156998407846315849994458594272239505871895071228441415106659793552762148591223595790081253744287242009817225144555162104543713584456076006640198596031440226429232133641423208863888477199552932168242114412722852597196735671564636978051569695566675789621736209237576805417616791451393492628899339964080131499794698863492231519252456968761916235083762106491430321064687627706490594709223082069723008891129362585013089937504464636508381292858744999157550504956667674687521386781095156456757293733480081331772462433974043027340611910985222554573036441890091713691219742367750675359231557765721453213033887264994941711776999233111559470576008438326393216256976796081522210130242879956422143743924868412743901920498681804626084963088648223620788085319674835167398062769633142416995601458077739830445668944317856892788294505956369385817419201887187950924770427285908807591537267318173508958854837758635954983343434812675761000569478858859093812098142933301705684345915192133974470486276800248494378937874538890386041498882222160775936239885917768157880808963961516193484026163858318846590976
1925684518257002174956681714554283471887756601408604712537127251157586682867246823747455313160798590252575584423268584027421110836110519524796659800019628947643982065881515082303458123439093529306480585610077385985658075885386453902155759436175777215577143943985170421985184849476107966212826854875282045519602454087548951292428655741311089524431815689095804221577890642508486123888624044671407627213929997979852555468115019493657222968468345750121248816225284530200596255898948293128380215638700651150642732268481974376002853501223861033319993223718927934846029060546857891442463821642261849508856174656362803535936157135894749003350858274755936889638691264830934573086891316819820827432056912943822615625176990200076302799728642534504501846064268759601060694697860082373528829890640682042956354773143355882991985437006292292291206784908065114656980251109424656431147032856225906188761316698595229694258446932459488646750481712569568284354493178384252521540574494912620237591431731278792153490440392982874346029614478804895768293411806640488654954124476656804010585924387235693403332085532511968009393736127156489219914135244840330944206306576267454026285477528700045322224957807764526735939400784754252266495578474984186946259023021044437692940812637010262608584650427856898686461887798340837198555085191654838563452852014183435649405481241345068016825673141151868622879891462039481089219864446374669452060474935748664653289007480322143913365681139982961029929176121717394829036391322371253002501138373658543816452601855757140239880450669553064311600890261075125578710664896687802944513242210623665731275278006090965566760909560688545703224550411156978970958986466038441066729731183296341855419747491809598704127820144334350753641431479634666300259625131640380287451115389662452675518393256596718765667644850639064802342226200041509002538616280475910313804668024841802968290969613734885177735155129597898648096953032144057514838728684420084486944969610675206025934803652176516901066448208363366057896604649125520036591577080736670809159484484172457367191883524423644534051249467367932149784812609524138944736678735714982763807510358097490498388037353860456140320885011530011779506340255229613357534430645707854854694205713021121690699405136269901810230004536696167131665489818098345916086089870874919401610577442037286712772826047990720435099244656742260560979721636851236059640155591993102044168787089039825586967342408981746206171940467529325941756057746782539441342438702461790995484710805473700831638418430295176032651417839564330822289093302894222589398506946684404662824486996844289366234825989731235651132286522723394826276581395543843910348514916375124373369185164544872800917613420893076257795718586253406699218079551800514808451682711703704451406712198736212964668858804143887312605204804219243334418772889072193336716311077693092169554274690854053677536244739311514117236826228068240034366982000113597136109312094757996960982108198592009341678709532121270241155322364087800472099206303707259805119501860991110079778216762944898425465195468675342017248330718901378520925835197077098110649262951429695381648828083748595731227620518209015997988672915490944628817974221647937076248720266242206227459794948005712657274300949890623423571543101626911104922009643932113628081919367530092825074851788667784765156956534196614709038912986140650512022940750508317358826763487424804140354799832280680826704118421315948463882861853584416156080381504035599509130180537836940970661660855205624623856263270394979478539811205427885523326331234591909025444854743193603781060205600730847567809384894055928341121748857293878654210587667700401278811389086092104460355672298652826362341280795460549588372091525999013289555454101398465530062963436214200174095916208834066422152198939070332856063010589371287512372922247389322940176263413662547357822373392425005713741593018329443195351880223337495129703021134701130107110842963211782030462445235774564522239854423239926456871731713327134601929663706046240916628615286188544199958669817981754044340950071641564438621734048219986704629266034570595408235171675760193848927190486258652752370849955021188317928829681166647113772808331501240663977533079338684109405376820949716162985171378761541038462860944670044821607618624920511659159215615820418686310870305480454142192345359099620933342831080645808932669499150602396477345546097393231063345809245286436708008585774477189268867105114690250950188149938782951271091973660489314547451635835447192445168000176446438909295721149954337141894394126433969180326811047909554884228864549112748294138655198929813087786442657996470505267142696407978477449982908509095543026699110322487174637227808549336303521579055043714413438966886494311311743199845525845687707728437975235993788470474666246440853599791455762750320583461692084036695950902679944498835085887754879542326234022648984684069703206153539006594394229266211529805511938355840676662969082341838618535543150673575953901239122106325997024714663011313613740119035097465317206875366116566510232385617972780498200055621287415318228854818219891087712797617326489275242447989286595285019293998543765815179078799747607182319414858046006579614551934536077682870069000159747864030764381696296224976688937175501580070057943277096990523331140996301466650253327800101312554303435856835056711353645502351964400712279276108949162511647657713007933761064092058752984342832911416531795355701100584279230202342495479114542718228329423987318795193290280943863460508325798423409474600094958441143318429256059815309559702819621386517295828518812739077464811356336995522043442462662452239212781511306875026473781154276888300985672872701857126109198104288943130479574988530690070957347711742787041493868643794410123922074853539425902782082534272450168251409090046320002721530127858872918934896357756584463306532243863371841475606162279414621238388067942630934194010960983249469528146422137825998174166101821964191603576143219871570008769924484902387848475917889247883996398310904687778334204625354241008975032834546239635354979410217920358695822100507650403198594969428620785245544665248336479551515250408794126802441842760464503641709995163970176083569629373323262620056008892469466425340199785852956939295138120066372916361751709700098983269612425639082597072353853289677162532966832495815797344871393712511630325645173225290310694071769115568037371730925683251770102148978881510723197666171652433412205362867522864556675189019100512555930795761205940628563418982098816719191697932694286080049737154710626245349344011932994309801534524822856156379043180215609971215355556865628709933001394271459582494496645818195719020664139995339691551298091037205262192897588294896320540580829323911430553244207037241411002397157438459501941413622948311889667501362633230714239025354413959067031774819037824002087684948851592183349773061851946792272995365397024100680164673457455105191985932805999092453160360906350399599747324117436605733766041276806269666499454135480566503597812815550573233333323426748445711907445099252482952225037790073096718095553518241444581240830377370876562803133724554197160246831678242710940410980887175965083307353601368389204935386046856117084932405427494878749415583216875681312424262119930959994051517006190633308903315363800147801925941764446078741529459201989310253372089866948006320681627029746306742564293389980817843881342602011443953698690672396845712966826768528831190502577398502793191690333537084186096058954758688937453148073727117848893666685726040064377117437807807061420757631207972959364992717750249710601758267487421753137592077128459622092993357590494824106245777817324944883048615280599541341252332382149676625709573451899340183305172010095833475788674770928745355424806973432656785485375231092561002272374191211857961134446181842055797069314187569937339537268640801948789373260216083803820751225351244200309369018467702007694500590071322044263149491184084775033522806896295852059791559588663397075168044954155912170752180224
2067688007081834816109954545172963682117812496464516193334610682378053236299987154388799183311767083594429128716506397455500409565271474300142778722780551622046449806042906172356025246969109439064137919013552645209392540241505265957792642669104590612071443751125190717853222081253641612062291079349968636070668966806841066650019502205543441417390710341641545735623944456559593826142861154575734706292197234239203198159394994872915063020937896051997837925091577806376571309696507499945353638905411762156478826118303492877610565747608894778239534299703601744086128402628589629826225094904172913777252733129185569874429738910646243666880132675901932830709535059672434740130979993011876294600086025776109304833828441780260054307356939340042846748404415159160260422659587413744543095123362246465408002726506053159284945020512573385401901512388361508522555109158211654186953145471231934267173464492591300169612027136666256145669153906933091976535344167953864675355575748175355574530737273914768139405713434124708301068645408488778122377249360445293600621748251888522160337045760276535752798561197403411832236079363347704668426940701177543536795721855504611198019912586377399013168493934832124299944338552089062220383096519664659262833153355074244913472620084905649280060680608809446806584791511073834707263587338162855937547405059711396064779265943679637545790460968608216876139422791372299184752443987683087764852494915817053990386866491070742913127764446247703905197072159750081536257702980860681204071048879408518390661737926146456662193032643867928538727644268950641539913844894422333092194219483388847019865810852367196477575052803592757759287691440055644550607145157235429765106887275782292436365943957475063573278241930921509044070725278913945446872101562403782041901404949330632680124799720887460839863005559709397006521141432253158752098234475434299528405036624708114830621359875780271063171909657777404080974756477576690946743843603450341899246395857390965589863027378569874827317915644449612725785589879358915889038386717706788178314460776935033504010850773510192630719818712570671945618185898848648722550996625388619536939237356802492617561840288114259617580147017574495878868623605214870585333783704323849842806611404530519754697543106733412926017266930760417429763351195138346155321229078981160434138329960306370510983658338404267695057536578752688752629629537364911823332593448990473184323922012853272734392184866652614154120139415224351210191667208079614031098971140989516753798529144381840714993752313820359171700216947239943942464110898355827042202755911809583415015269659855869508084786070536622237820608996199635408238379636135712432268906881999833512888285903972151851105267108276611410016669094194434235432240111727387254565920410734001765210362522114071803535988008359916321487170798375933233798655181754126541046418027113586498337324173554667713511675252498749672443619634097032050971025938177141996127189032010712495471385688521538342359136794986079297935035702523626975059862885494931105190898466191988984845847982511830846853727031051996601424062087068397449173328453232962793955493425723744526855988794106641937886959014401574050925537987618644741230014604737236242088527976340672140456839114137639071041594770260490595322833284435496897284814012821258219191937723112688244885184296093809743779042155316991452308671716715948801326046331294729608037511527004110260507314779067952310827108022015786983899582209007751941404817526759047977866944704146338012418582213537887278678738037778110465729905740331776502279609447058888292623220743371751709008881815543756000525612620461659255009360824100644970206741682428534754642873469274229275260835262701758521055611751813981435061098745821123951727513435983869329050933194845942949634866621024655393458856094448244065156226449162841266763724102121990851909903959290490120474575874391493418283319952166721769481516192835929388158438491484541136070511893496583735679169510960690962915509853904106623427310543906522616169471027436690550164241307986369457168242854973476586290028607817344074539236762978632477484377355741078170404457856083887129940661955910812742113296755134768703140393484041214119906750739468538808802207463629455389392744863133869645125979201184011935689966466988377004914719034618522043918882481740299616683117712834020026985964264717561978676113861856521981320041207134267892356181344891089567210388761789921953317694297147589851946591859447239250272757258454294437925414269973753334690454013736832271753708495889921152771758182947347479448633564692096683243895010685756848420009854413259935001328142205980352858887062068538425887743406109381058529887516951381368959758383416844607111583525455287156532677917922834314021046417380002793494976021731439787861830711888200762800884957638281244635652357043730310840479870901492439923193255658010094397950996314583624677655722529978126421066863713948996995812887907376149583200753943975929213490655729331989779994311434952273344456410830605197983935695341313212253346874722672427474448940954669921314236397313460514488956439702602552040591021946614289602083301770998597915264146241721280086416613188636450219230957080726475579149060291020180711330211131496645010601443237383962904496939316813322650784336883444474699306063800038660029432293889369914054918178254150690726851870266385076660392304830744794545603869649126622696478528977238092807323076138388069344573716851631617273699225228540171446362779120168456203003196404484185013036020325938822136393693161709985408013555987631249797423375642216629143589759942438210548490230461381208771473143841569199530518758117098233363645216344064120614666006064770091445344617388202211878775888395676552019953408842929722236768431958208926376777190202404216207464154687103956024766079974868243156607374886916515884209900723558139422561359752428511549640817002640669687856256212191538653060775942892556466640301299122147118858184358645343266674149779849285554355109332943790132626960314712761350390377967694475252950433131781318545259076556017099387112452126225569558407150479409834043432786283378595869884794796711511519753863416737218224519382686937755351353341191899542351227504332686392515949573230274316096947289957970360384743851545938586163379792218879371998256278466724608502775276459129678772913467126286404686356869292266855559726609096567330294369567071962275719181134179327357056891243622530180343201880710110903970803801821187693180946059930187955870950789368832913755191140034658408735130149391997515006812306589543908191969970414783219558016863676156576411075987920758682266846240063059699469763765363372437435893910227834879580163249919298442711443730239407369987391905888201838006830089400096300963025108131925697689346256689763981601228578047592200386673364705004642968666132469666636290590119833856030690859696036160150943068992610644917255296254127757418974166686155149584947142036279657098572231046954845673454903673001040484082971249361561736975571244942807549817252886342995578435246594126418094979848067804900296218806487868478620051222081651016935182015963416333440966185977056445392672813325023087358318737245699053336417309559861641927425458957510749808546263120849231216095436624332883920425850859056327257311881633645141070508775738083905020194149900817001278373994272309551423074110937577466073277586419957649924428669619932219130207501659024482821829146676700900045052673899718203668991175567687581025932172999078328932569564030740360375277145620337781294128139549565127225841997334042049179513023021363501533961315570004330395168208731245162503870300717004059739024130271235839863860916936481385399102157498399511265873225119424086852065223333319685816263658821099562692504373792818589742754046651093591487079813211965360534501500438013043525957747963411207208882345137617421352520924671454979270190422646520454146352685315856236241244457651351589758879988309603254178600038830355098352257621898522870648671106115124439822428487034314746252536125697527201695589365514607245445694488576
2220163092186974232716607177891108419522936172843803168708641516426495539513851218329998840258887149001842808906792358111537968599361639870204430686226779850382313627464956295766416926070662040756344302149176297987158008090907264775125379153304591570578868431646564333735588041802361351178064825160164057637312289319372982582897509933752237698746246642889856472348275898860987039581774620692895329674288135259757294298302224531314467965176806697594557337744206120856698508939596849421003916563334188968951748173646032227976577627509498317810993067874307996064620724136628223677095736436979729650582079379116941431449638817761070693624322048784942202771539389164628920389204456604079306226257719873750620595646967980214237906320496666034962505784225822649988334541516320721508373004364483532504741751755582666291579402064887961775292702980237882532399868048057286144756307420817916627082939088674217130650727390061523153102007016567064424844825647366545004365463752415970966445201784558030762542577018778368134657388470119965704652642944387363002947123502051593229104719969410794243611140204675563484568349854209723156890058519222214545038449500526185668172726128817425968775338696919582279616957175393628678963636035792783105212965491149139388814813264025626725876642027584485882533329247760135477251710317262289743431380795281343324182511171747655290075933082234193529973525906315263989709802195792672190584800981860130001944472491766779208576879341556359546978227340269671932890068132719584925941764249369258577926679047830473667600098711118292004275075396566208413037260619790123360748181390350278300367679979859748263597812294226001469647718747594534441264576348562737153409760698460869707524972596381053195687737150420943121812996945983968523160945426328686754169658978456901113031210999940393100923075499804508851722150296029479108239522112832507967791963836200894685832830006380721674584625501505125643890878718189011237041021491539502804320449313341019273580762927627555908536023771949462644278631109978782297358658960287859835765006360202680004097722225340645117900456577384965023793699734600827579287177049562621050435172096662047230927384823756490642190049524838599260856878966232871054220244563502167216917284208759802145076972503742561476926957249729572318035492600620427733158003817187071266188322279893209871283405338471007644275355111016631666152823215894476574784304648569481635559056228914824510195732110064774696213175610837288237647808137604392306968201997449444884102191612005717001794855758045692865356520126125129174439165490538864329323312110573205236718644632425500902716940942027785420436462488370205591376862377308816178563892533964654003824995614764547173810745920848134231930510143604759626601058925972128581471963710060356234196194398196003794395701413738503799521005165647710788161186463603727351709991761099423821906491425391881474419935630913668031009014683077559787396090362009635682028608887223976822427037409000612443010636005313866839973404668732840631296379683861230467642011187287788586776289171568973355080185523519875469654873422858067889832316985525460167305907685756621968376366393107626164901638077936788389911856047006933020856323885237199083299041598791062149480110623688692763193867548488360126956784879677681248836936845627457186250143016909424833606376456663923349394281376822957700194322180123794155826442606472911250921002687426418606614239336218580134172513916204263272887796033937932799703549893569428984258364835937229340374863117458128579714904490702049238746318480971912066718048005692642150733502785742620590106313992822384119815316253811921730540232228343969689886212471187643657097631427499718898212767330736905362405794967828579734784641718782086009657988227737827087952805197536030181740881819655730231143949811806373856118021432481152454797351694445228727841054160913392607812350844995517033031526914215088584863590731181186553976445746838419667247383633136715558116885349504120306821215908420968966929321554828621679383059714115026155856915961613430108077718957974188221384348710369975685431352041448532509399714273457722146416665396122642463912611380307083655039172872511687913128080627632128140283229248910297651178069497223905089933196121707991548935801617265383935465515292762935712056787380678811003621668983985476004723831642985108873028438491996653843816739603261505938518674973503510619643161814938131593243853420833412302972983926093651124833023493746430304352262876201953530411089094197246337716610568097907339454890639141140441793330287044810578544978318060113891050650065638224049242992899175668172394447521834780727786865008635473662426794424119859561296932180966207150426467949209294080764555066150710461899171103194986407586747154586269500612390888410179795964935168562055171128013563228690835840075577282034231725943829617053016765339946234730078969268084645438298961917467553376608143458926270175010277254650624373609907562817297979908045788342089768981007920450669789711333823206853747380307152236214489951080207823369421786430922519255535582629884666418543792579350515422818481775119125942981657941805158643534464826978321827388552179603851869068958131282247733124961133446968364765979657793318366638311463563692998741121317422881424452450930553688915860145666354744478913882090518524925276105728051080889368898231909812957639678099709461944527926973901950178511459861076654080856484253216360330123681997881067234730470107531713324279540546090288618198793350676766385181090595050760242474625393142940877550806691013859822885299596885005862310854779769626748315739201631940501783820665606372635460879326119155006867862679058069886150020441747478502781300129171125782990359063551289293194174679935657606025089458321095996427144380882451449524432295892923868349151019648119885544901566651120362929533501236511601772236393627341172492778420916397393265605487220287195089873750703980743776773416513352268828983846199131670580121048264819998264570316230106238874488506480074279895294408444867551081678932825859452508905343911507413813438471107406439126121293082968290403989649332815165317114411888966234886727581017525336134292825081483489626566405427897439884548628972269141146589920055643852296316186288743951327978097452204931721317299048580101840544125382221260312804439455834407330162738162187986342802514330972748808202583445390192683197369086835877939113189904462800099699459365675696883923336758533393904897271899716913616595522461384435053328399706209191130461566733624169453543012196179485555902766882018503104095310134378186395370732817501026395707665224105072637394961039936532851596729555978270375543763742610238527679171224842186115362677345096580625226129305042031234181621606264650542467971691536163371131269431235025639379734005614033748008051360163910568907269644347925005478722602829306783151347403670149952170429726220283596395270030873567505780078853946472265862333987233621993187115495160106725639053976651592436763277092516629042134948758111986840954221747980851192762012996743867087851890267307567709320200121581386934105598802171381039855437227592555771140295228853327809826884902814821794662232502503573637684518007591978476590788687925074730999036115351764585954968052279087593563898323958155107748006977122182233541785405469017158441426023348632666042851624364115210437633391565292778562819193300882957032609501875599407725236696329843974245767494969004362716816540249160617093546077093953098712932202736313915226929216689251946619767406843895100782870229049676598114267646153257447178708016770712837104102420925576049406406553229899906578082103751304446919584733617450385429593932633690014900478918554666768307327265692493036846070931068886039423461869887481134131051997444278830651492420834526324518047951071794984845133256011048924291353263645165434890507278269462861017232364654894670175456453239805779688413095278345491223448727988453012052999518844652074858065627460176309872452493455222290036020176656151270001912599777785466231295304232356129838238018082657082368475693110341402624
2383881968182321861678130266280291227760314696064884481466196466409911282525466680434275188657462119579398476996862672587943973849133292429864428657910714274195952531694278669096515988143585812529279470561663678298298568183737524294494074440760847780568378925652201311038595037717455724721039874157715647386728827991399264854880603521325246870733357383490431119717443326898235746320894878379697575125551468255370510977163830671511141950518512905970596408302047925640635899606883026921962089281858263585082929451959359374830354291039641301091307383950715270432210678202664014100924763064465875966042884574245812201905906148323975642765124727425760824538490559009474493261855183142992960108036520831322041079501941859144831720302511218774299488732365185240098987909329937937281396460978680509009604697178994534286703783013982166432245065031890859944236773415280350081560565565533765371043962816353951643636958334731419342629980272029517973858394007565334829565461012125009072241913760199394984820577525803567252650501910983181474531174121527217713334561764646145455924951906964370416423726030088072864148215825129282221014169601896399706908914916826875559106441700608881922697799218648215458233989618837042775729124986744272217427753474915532783376262792334270023385933609693624185613586687282515781831361943176829675528502833963960174077952854452704658889381486220084956042772378358204675352520240389628963752599832939486901164981440027486490022614868430644498772215512627826193102987348310601198903614862895738554990638499080076038632899692656203936434935254046523958178773597856817554554762290757563821144412572222889364736347775211851486246222165481151023394247075093013169534764271768888232384210601188207857378779822325545835415741527687255836817419787630621738946769236986289706493762668004861579462159170849804977872287200060832855450997902321110911831476502024385890398049850133167729304830228343028354220566571831050902416922779148826309164154326206333568833763397222391873893447334600376055487600532251762305264796854213430185110658364575626637288215736482603310231131295834129494824450552738608516893318105008307128915057680823810905310119392210212793984075131450530875957517024150117374515248295340900855445768403440146733134061076566384786667684992094654487507337921728681605861260298865408450575038692312373692406648869061197119082162955150720579551091462584081068934171679926674202099684294953565210217471992876319940460981073212744039505702979273383186095605122741810297643355823872518871935019695460884932591696330518306251997923730849054927856149831328163076400629262428366883396934722793192576020054108370203338939990880408544494851903669959189541595953768189286212941595355852035277189905002844676536548179931504794316232238918902014052995592946977559423705361413746959728728614412875995123104669959433975819823776072587867579882927260540638729135471026299832698146107986250480979587730275773046522796882526750483169846531254456551621675336355745785073246159640495316068149486206345700965210306071266795730091555015031918392091198070282625987040080439548745109144383094184289198482390484479934092402909969427683546611609650391701322485979511138654002460099250469356816352640863737791267280134632801274575727383407128300245487449765880733996216770447196832303646136283237188663627407154608978012174804980719113926081496652129779282677624711705537933154039105506144580453511809243887495956559823050548803206751860820481867143116321996244548196043946196701381440422367489817224809610947832209390149283479043690155285446559351979966307874219072362626960709940569829632839132217504859791895505458245638514219136131264567946634041315043271929254247133793056027944979316926280523757097446311572090535049895821741851215053478719017353061505940405582830440446277493432599094077892183405482436185958763110562329253076821935684740550246033427730870339958374400745433010702887980924950943309247326966787678761471963804741602480375431633761652011405748178398085405364200249426709732134786730397513227637518427143887087694584205748546389324705407310710167771070898766146349061329364378625366430408646901381520094085683882348271582019241160898838732786070349442450335093012358856090747958787667754041872464841130912887424683238927040679551168591058593673710248885180001460788791794820399604607747606164139950268296500156397103339045735411873924112811163139018796298819864081681248874307726338252383526478153597862341610144668484073879220571776106842273829859098437153426487123237249281440591933931411336293445938480341380285274318831024462277864106414754837014779930039845560529567157285293915917614029241398106511427487599970807765594953348060758073661526784032536671277104510255498484432676932937401327992270978943117709522526914287337327933568576635625420877913827207007322648664398403853595734559727726318693850141007140125953152179312406826568148223416586890841162419232334318154273897658759610970840111697980437049953404517406065863149082026344012803020672013366223322358625295302533118563752774787677195828113898589915078629878759268029487165437247842127168107302845396977956894518062070183547687399197174047015503319912285662632139785460987356455219254120330905893478006921299166989260644321307174927680027292863443215266444255336697438767842921294794294059055429468054415559322502996401217568634862697554891538376003127896280381832020516135233156595884884275812607508244454000781267686131121638578002657017351840942569591211966954742772846230785839048675341386543350018430585563829080626255505178531945770912848350066228957324535730738268583571044834855177080619623451648271072338413031399993338561474195286759223314977182273787640206361496315312493283225983907008729200532852944740865592882779490640074149003807865956575783094353284688432084075653842076431550135499285086798222684082737852603286822694528502612288553856552312319862659644885010613567883749337081758585486971459084391107184866312504659859968276565925171076642872996014950776950259947140593087736855110314811802904553400214889265097564219678637889856626443280144955472541542951737338662459967038345890521687306232865430387048686953105030777514491021274097586565594289383513033652912140561211459033130346399720967870424590380276208242696363175863160371606340390953219849449376605203968647908691102136286607861009524818999613268110165469883367797235300369966984757470476272719198679351114505764614959887273893936354879262225983910333712957919892859370373171546121009986424626459337839532357177980006652176690878545340324740960173532918965977355811680211203999294228511949461328956075430389628309393705870818137401525872815384037785307797770363031656995594047479936693364492455683014055145530788415700192149385650405420080478182529739002714361819822838836583721434148078273231369394781972285997933600751967425996500229274451103996989973095587934590737067922720687043432411500314729112435428349421993091248965071876167622345382524334275554805801536222018033352733681699546870183960177427476788859433035465907723656897466675321208973478591820171076313466455713838333393865072733962525907158927469630993444519786449488035578991150271724245689502032656817223334747371236516999214380739678108141892178315874869769070846917372365068261543979898222303550641484882059192193775471427426742834365306087906201448316102623683148069579197098647094707754023637529144215341148940774542059414327929567887512187400503135466989743446905819582475875754427494372344351046808626359059689880314008779262907695097537069328702804785234875249599890807791492373811327443795540349089750625817026579476503682879214746093196955295080675212805431440449827412482435339514494970829590096490399408759283965618683856567434667727464426774663289988320580269039897864024727903291901981665739832362636121835560734712822841086525254328615888901574656379733682073012134279767288378828589656475448441828760801388100081688035379091503483927940794198324036347675958444028733330183578085471770118373981361191881425849084990670090514482217198388845330819962210916212146176
2559673772716796240313351293025405598146559736566714685478807988185332872177073919900723753187007487488089433513433368342093762890576682232768023699862922373917998204798832588519985509154456204245710592126635062410564320698194696473214380647214332643693842944352955025329772370196089706501211245654836062898367045160867302957538594527208593472231527374592882997031769962440339912636598956023674638883686662530399630252431913892055518394272665793424408677818089682612792759363775464281828679404353342051319723861010162909001844307027131306939513580987909340578535161965605500159888675179607419245536648944972161818035903944074200149594197428413639252327702811037612775676460093971811313805562370936037724720107344063380122691530676227827179377353757241833801765218317874178583324237278393234857221381067941245731035858921133428888430388542341110125453331374797832567933390436807816763092781418620069067446545636146516755064395974372990811091496299393872419068347234559993357245580250127196974697699225289729367567618756414566909786112446110232413160961471411810936414169467696201393942451144423046237795409466419980527802525598185594080329443704654497655055970521761442786278161933817109680469159832127151068777413593190770672293400604378142416754225288944332312618935010015336114231247128784846098892392633270873450339302796929631747577818616126053622169182291245784886136326235555156813478342925912878674222946429362539946880994896341259953932240290078240241607244445050097129737377855223948249847354223079180237862772484926863167780384182401711819623627437001818015714576081045821771862849969964444919112011322707136961042207339254315401259129501072960937478805525517036930312279020579157757092358159719962872073022905318227507114902106251460583778982677744196424230755839428746972443037371766646513199219727086597226984869297245171581171082830258443464176232759896803798435866132124914160561706661391379762744509249151299615797992673350409928661106981638279606551994662918007584317128122701746096905181404883378084869467777232590612257375954220290331464835178596333822596012779172421805225004096295361704150966195483843231753457175272968544098778881849565276840597058596732788518942076021999079526093820452229586329499698591391028063007976879793657922410965269139890065914233461323820592718724242528800225455894354062906254330106393306962266826857328764910001526048225858960321247235533611344016259644687595104121851814299934779278145218380929325023981575367236656889226482876535270053559783805901157025930457280095108175125065184833020410854270974749306912450729507594164223863018987609326719820005260896971359031558900115800404316034473236431087441656454274183954963270075237355541961002862493432642234192141168173043245383534152913856037024385636646537120634849219942677783602975879213579607640674160089297512865160643204349476678748053335493960023192228655146962602878334332202243407657558367899836274328573983424782225786792591672316269233185867007833594431992144859305053380624938471337623864473328943474584560283237863917968836719472543150190330547022834216332267791310403768982904202476121979990685728123776485093481065167433538765587587692469307854716646665506407456420000044097317628246751453060643279589610792466346786317275707609342080725152287556604199362422404739124223315679580315414614580494057568469306841626218654547387907722691699684361934178451246008022113496125023868517263071820759189169167413516156234792152778336585175388624418942330076136373404004091158860198914648393689711855725356528819275081437643027038629293119227034875409549334235062224267922380469333940125800832881814140448138627738302305165288320613590770182105921440245454277185728017979837063398698523114621144948329488798597611070647074180788138497302876163913372637925808140207509369808466972335943551085145242630274965491119109077887264397345344007387939581456716899934405013131308200581930462706034032979391820924442989614068967340565228095961240167222536211980076853157837621263535760120690262100957317748022098107636246795088431991230800002035485422123312308464870277855681274481330292052479572665827563655349589261341505716213824120034531724705607199396580423563778802654005832182299852681433222792947202930903512773891776626528486043587748462183471264294764462084503485467141336830021780526689623860401719174317273592349973450746111007583458360566898534927440076451607908179289906496509152897124815727955260068204940320873181387833241964802025052437199880441982380374018904669524133617276828196710530779201099126002041229273541810188087441981753914853000445908959209072517039576164841319845394006377653481521485648139195726427379330037476983289653141665236836054127711950000763966606280365648703978135174930979738443298832648801669420218035977242598676074305820222794218874140072868202133422306016448512984781885800807139947987663835864527359564478771789335133713685520026278630306779330552766368267705874261360272346953251594334147681529428908561829718892236358594769077337601010140690306710680542547052164685581724971684207951686444533149439875310886434801180255545689523489984936941115523713199568184098508658995789796887888291000673127403682414263849244961165296239083622377635424855560392012729312644975608071134220593808975700880616500719547242038711970856560867007762540554132097893920924571601308787966842662862149580538015596377057380003730170600466680228543066536339948268098495076682975790338690051372613339222657765343432552114871768613230366729515511773495085844209745703860090560693905455878648420438337094329047932435503201439265155476081375525470114563176614387509535165990387659083553600798120934846838576137051491046926213037208183834329456972915667918816564506199275702207292809828229040797068469664144246596440937761186133959260001748337655513910383755560053638449519794721944765174708768096341395187629214907476632256714181747003596590023566471738644833156958300708440662713215477358057859584907486541921862032949439346562247341437978512789272916884006468362838173147239467463665852137191463878143194877341690165175694255387473485538244772793984335485334733394431660839752123495970334683105831998210624547775614472346552939107926637120282251264717939575671934654572988225132235095329370629462316627674617742591813109741346983379820779031734637188044291769460386678911453105660525914605795210104574384405866293576436225033266546819218233829784856825852556181687048305262804227970322302264076373400129341004704919980776596873387545793652968073651692503303744978240333634213436186988110904240592934572719971930510482887438279635093420403170760448508144531610434075851775225797011059982471992081315179372734753552191512504649828537718826199318677389598814201631994555631828745742096698870501686891018459811412534329251442981410053451194220947970971004684870884702305275578067173797567325004541704221367515239850712815754001548548284745066513811252317918129680207513062194388607324946874189656409419935793307285031712093057098774306876364816616454342554987590507107020449015045036048938610709068070805941971472864667920991994139448793607257589315200081439125287508050718306363767188762853772619287191670050196638491418067004970702898143455742452441009144558356220730821604589954284180555589034742032136550571947464347330661902111036136945074477350333641146709084026373759724729006292046005156839403804552283899658162939454045922924763640256842828367069162921646055194044658917972701874702565268556353883110758649096603845711230336962705479397767884077665310728615805164014023218917842026158870433138264561362280977497225576669915609703582029597445613157806172769786382430149292111975545066364090489412353104417390863377937459649715142177358892630071679126521588500141397977900278554817310661291615319984342438222986045910511138908001211353326513577107768404871919944558128013348480423312150235690254519417412841091481421147171518542160313606260106922242413735141832926517068530995881780639614034360909388340886347411574660908173576182917266613125971265234310162208646768509639960246341005972865024
2748428785561894230510400148925857485293698070866103724073601602579889768218570201737033021667143232717118326615840673426103612945151319192480730336366042819741121418849424056668090701053074502474905835366173170895073170575800526898275576219170218051782569020639072428687555986279152599126235221118735748597471357692520031299588085038041372783348373553501293446651479265419102068974422412197356193937511040869863754436171823658266631429931883322373931779841823956004241183173253346544417576279141591034679941905697374804448786325591327987000737170122729497299433560057084675006111157724295197944635225297022084659721027598399025659966346406600970437272343862053453674360545095164504084669420921514625733873777949090409344544147937644820595141415007594099835412239936392432314560302518710747784853265279690301116074656567384480082037537890482044816289128857251852372739402558122181908661019001662420523486032933855201231829405770981512409836622667400426665673739540301803104836752953709952711619189414765980939598421406849188773883783827755502656371372375907441730008498343689228362603110042843689095006780699300656641967166547602490878336539404341037601943520610126363270209955766184150630715012853895740988512609521555052081634022228107689024297450021458014411813593494591325267267731649856203553784002045772430744640496404063524392292514542820344630189744629990748295951651244824047729510263717767191212750848281718020799836862570932155389393359661474898779733563342041959063461376739245370122272705845063141885027527189662382564370927743432762749925032717702777167509429584648912496898928404587968302594863497952213858367276649437115418819269607134291034089242606309941776628867365153598386484097586878996263471966275550172903936527965147885089890949673265457673967809571926873892225464683660885129445770265138745112456075579625628708759602534216783476625466821060148162302655247727630326604955775155330484325976607168586901437435868621905347948286888323420852961141100199846626030506944911468662075850236730360892129369133034947516250511614538235038316616716525393238387135176635905399639668628763653318954806814101162394193011825683484942435247272769832713961887642946690744784935123258207955776669034367505500892202471372970433169609372021459471001241600325686916470534229264323672577874564087125892326612623235282806772265416336863479056281844480375802132234421805545764022079632636817457831110116544450277273267085344121252983153050121217380266338820477210157807900209672955747667641859956793970308732984497083400345436098919681504471379894314617578746910654611614779745486222333902271871551469400525109903122304926973773337350236327739764699079907694793734875913795463589975372561715750442919553293680904824379614201928995540916018696067975365972254011194171039386228018810136612374792653477301809243950314342501055087251411822484396824902568576285505898802566613274370355940658773430202289335233250498927404281471433919090512491920081231316074172012665973883489574902431389329587694101831968065521019118393323400761780629143645114324624800004071468723215781094219808298084293084178183183976531241690396726391860872583169422342953312936724840671945679940979193784367825943611357429134263661020827283985497639890663752900656956849860999345645197780259918800696269467069923053487705561120367427783575916684194729238416143415144356538186473706671808747007480938182383726382777664300060625262226224664972843262863150199849014698385097792652153141492446077646760728451560441744376823743617386559061298000969162304716992300603366113339135653669485897233862249159541357438936041495564600935784175759238291593776547552581711811581302861533752764899224248449861083294005188793575043676522191435199469245787691055593767553039182291142761587658609332686467714238148809140458849235233857519753569303201032126753999067971287982545629340375850432400195721795131781187193519154354818798999876467140958377368328210092781852223469054054937206733469050455591046157538371969876727351330071761216422167319982504908820014400291962272407207564111199164785829876095311012720452068146020424228241734882120076946230668771175331123641034633857884661073037071264537307615963360064431894248263154060544333093399575897504010726483773845855813569263392400452537838075457975446467168993614619845831073665964582455397405741663318967203301756892939355703394189140412303151306915917215339848923061255263226351187464453683995398568736028737025945515056054916635119870178697614645078356087278660860910336960442234539420870596118867529438358237577243374978211618793024982623253401390663099199091121794345591423643441360758406609282088830295022802225187139285374338524395449684658961797736748052158140417102897302569667026352718918848949258463150609145395055937509936427902090392948010290939839150950574388272996270341558224387600334367386301918359119975539296620014223956667282030360450221016584035404944437822917953226288509622225724907631550954345209631255797050780105957508259140757127116665425959272772412707306546645566035781397132644907872162549798039106829098708036294643767560276364942414784289827271923678363026526157218006300483189933344830990697087305549046214339808389105545624434349253988780289477891424351861903003377682373845808779769214812676635231567727103968120816070198158507707936372453467769529565212061277607898778746892342621551167723767794349382957866360184376268479820569125283018337453719115292598294866106633531483550503667291087621254928797470356875924504338900247966088329398352190638897479444656749878691477616178951191731983156725969871235993260531204529147239268554221166589131106522661611531465011722742228355029613374960541978646221579984495178000224947027987869328381894300069599966939407727047776955214712470066910739568284419966475880924175967503263199389792826235022135286623916308846544985943471324558617395469815450441950356701521755695148337132084466349896954442128084094621569377456775563471747248234447470778632604735479103755115589934765831195161229408833501767712153851944726359225225800302260661747587800784322669198611230246067607113472564098278316611451241885490762953424816790436443812528518034796240738107763426258185312950306080199717971867804547285503769141610010317984008752455772300450895995064872933433295895920786078151146448070635703218268908837328583088359685992162397820348094789868148930255632030364882115686894082659848784646451697695769774029587126644468992211095765686700908694849959960446309853361933108063343840479360465562416534649184489158966616146768883776724219268633583592409625003301895127146678765062807263634099387707448193188227013142036839484585294509293752884806304917018567390147320593834061515375377465242395424217575389389097441610922189269908751143029591221077439050255576790627153060941491228884622777778933359505621445808944746963604016501587924946313177417774719655587985101866487877558037059814239093541015255565640445494551773904428265793908217395500194983852640668651222438440641986974072429763700683177194187713195728466177100130713460449333097126780683687333282487429675038640231676689058002456303589145846369394931173418792958785222188773578913257514686763637304310172443843612471459596414640382564158242411278769082889259002731024285172644103503558308955766428191113600477794441900013392213318057125993930853428863479847824872568261121728954269018147516172508817784788851098588833460999125858262247012175784529641404386458186004041875293151351888938749265240828785904763365499391039294470001423353709378172908403270703632037036452659195003311681252657550234311695501578373945633007032689196267793583238412861199788289562360910053504621434002951979570202672710469191722964361369282211537841936668875233321996054017211519248922700556785557623136229905229586331501058156355662499971063394588872730319155844459891616745807651823247078293717355480315432083786703496281354589412004676118760309036031997745025123595494133844585221695131604518639632347059910681520935867640446401855115723792199248543494272182728104275980951648249791246572498193681079298985375563776
2951102937343333175963313506877521857023308542317051472459981695003453945445944799085169805033109895566935108044320511977932822576716789425740466476221808348930934920080848567956275071946166937095297905894318488416739578787523188011915479664222853697398742111626891275247086290809496284960144612577074643273054337396522889564156800877413652999856439446769840411766806038749286779982770130219269087656160847043746054319783225512233565509910788594320965519338926486006889679756367156332707025371624625111839288078037535214540483143826690391344419818392177874288896864942507643063509005641636414955513677825075434950811275504659309291955068569239571637486884083196479733807393724116188195928394457290875078166968920827315270517477855092587929979908488195062608913638301227654253232520984432272454912304633770534075483237462836990552578655570995303040292034130556639594083933979428377617465483940543666445142927840921755122551553009369815405216610764894279466378759282904579576276278338753912191527734435612316907233642828910894046990297611235895248289042596290070138353040547053850951213996765475700875761490000435082587143540356934481382648437905865019232763421764898674168241842767341887418114688325925458434837092394674288938548711927664894081373924304589167533959015026877023727053341678059129341555316458647421276663964833164609692848656106754442947528541865100471178420017823429243568147409191036365100135867891559173507286771719350021908058656256400080345966490536903669009334350413548496098644198199493559362800255334837680598853437367805698696463760493565857045707128459420485704036649728787695053682392665322230373121357291479216883101526474312137067889829534877750792571280615714098771666891889929451915229573641575729257388184317524898566161912263264256559040993167045420767656149868681621796345577473575039790119671712749079806890300402604951501604890109296605101501101085738237642086520941454618437562977532762529975051940611457109014661348221143674208578131446049950080754242406673907879736163059537689500493256056874243201843093981927469407782793922710866678103069342695599247700546736204263979598188042140611029661011525762955168766957408554905710464307504220640455069294726968933033406951945606084042858027108989321057209606468481816459534948262198382063744007065584709078320145816486115450544404641814077342099491820749663190440877866350443045986928477265072081976541361020706306726619260483290617796703546656560421855296197308319370987680250901208185275982612744221947971937516488760518871500797902862052967030786929463248110163603518304708866171480647709265189276632135673762437103568464000018065179006987373006183409010081378356745320871209959460189436092407838025744649496222450109249038822142420099766621595543990591032545534129497446115555370945629998544313397102395860490835366517987256099271487490443611309810076849560458310692605385882248543027291218725038439252187144548142839789097856167221116772546860179715304169053283541487401976169713900394459640721302013605627832855099132182290578522519017755837322224565063063611160872006906253224663937692292818915364561956067952969088228645631424279625632081683927247549043779521727009204340008747211880076572115607780073074575004281420789895554225403896458610236691646259043583855881121417036407151504847567167114991538530772326805458525082022959280543643080701622690612618669929929828893390967124209183947034160611452006779079643264772401729635532790357971845566846824758300696711673429133634078492259147204364852912469798241002039561843368182100818867116643814631076554247354506080438163805977308404139919153814787222518621007750061108066545497217531823149609652458839671131347936220715583012122721059680677626878108603808108255911803979710781737375432308336760127871529691074182190663603180672709904156974781007239816313534129485274463438158537790738007824211163082488836574852277301353052306054697775880680427616733602608713223549052135678795240526117708502872563460140083734360899263442868925910281367840078939413596692191206468885355949875757702913699920635355930024413540512273244645745405755680268652086072725252036407266068211101638664502294049005737232762184622119202275195613589752751859653905187872961878648570422985012393524770252435652716102864825292489646403684158896191236872391320006266329255833971177485056809085921644901738669407268629276514347279638627298497725235880765432010162532227890066262448892648433816738866801612870610655072660907868431961551864317982693455546688076092509071275508359860760993565497544640141873516469581614642341020903820815323319460412023414732703525040257666788221581665452337773535984205391171004241782863697677619898769977838641705938458648174925352728827908185745345834159948624479284178757265670771850487568562923949158219635031936873306964513564208281077511931225261741830856143266006647253934433620569570399736451107737176424368401653197775550076424985619286634512099541709072010200802042533041667566115126966935878451593728184664861230411248195267246496363957224109522351156772366622474513322967775044637342190007303042934469000410403174037358105447925679600274394305436356434972850724312440368117248922817554947478203645520815528690287295357136230952223559239145657526217526957830832985848613944611012011228635726193680148967682899583082757507437659834129837979886972725623018475591499060618298097292541048359657163350453940732613150819836245085299472625883003878437940786828823172466594708943803835821561390088415985947577886118975146666405159972953299503771005504927908245668657965908851158963017273313840220757709980538014482760043617856781835278312821492892780976100574675079358622555754016639244928272180163010000713744145166207032135073862530430154331935595451859350319974163037411679245190139549238685645585831235531509043918553664871836223707720223034326699484236549304997260923265837129888978700921382122142593535790963462771303820604978074735511457384352493092982674680781662786236406906035673234544370379903062867391504600368518439523325900370472383955756428135373177628409114268301952814307253429865440631296601289335405948842274938029155749192050948761989827429052935337885006699010998478936209870953392857272471911935459398917141477831065836987246775490969560693825429214821088175251661872897717617699003067818534842485660813106728297482912092630882405291702739834187614597922951876331122556811908442624665209992805590464241011752434250596711330151135208183760487114846244465655414256588596018014587617923922815473540646478315761974553502057040376539472972863871942478570034170383306201382896479186772740606145814926745154278601339431248417202607103373834009986259174337183728299685191363703643136148364847361844217866264928633171460159732669045089828745050765878678163694076651070250689340065431582499949382576346964298574210013709476413488119918638292141117428229413195797037504079694915762948498123055378464538185470836339322876923673492603774576407790707817434832908754317584938774143200880982642824524771442587860544726602317365170352281721801382909444218779292478650550404284433959996347716832840310687420399227896107207682697891174501155067444401297219014945329061601472376576004447621607178025854174996559824678497068231320623687536320151600830997349571034598755489148520179923891337968234275542782405379555527750600921127490584527098790721104012261353533390428132403116139116664322820433463177866445434261456070577192177089488143611837213539711194549648867285294938060338347299849086106359694805421299892441594408104885284456312812883626872356232773693227570668735122835961467312397358119338061805884525225674674521909252449719506448529565307149989810975825279928120153845814213816421456063648219387396246102530577055585622361243224072149370530848740219123400098924563166351414842735406245447329556525487935556750498570624319406952452421850243449766881013890288140993255839044318894026016988432286934843152678981107163135251309455585068466374980955890760835021509532453372772707275495702148940995716218102520883147034935981353986412047537260713987958719827360781198507173870567424
3168722650754788278598561201958506863360074524742292034341066512199620325683125261973023757805975799658490417001145779371799436662992265409418481024789257125159530511112904568825158747997208516845198435298345884989512827460306856338209060868497554471530069410243869845333492484579182977534329443612281468052158694287253898698368288396118936174568925029720199351919401378700873865837786288194355510126742032742136896158127119846109002944635100222544589558176086199286948201308377546054373992280142502810902521175773477401724929692693724880685431148022165818071402822711249811796953107558076974539154135284844850461677449240139407257723983851580367943013833691567955899757385402018668701423423637962994304987143785600433087588490096006723052817011223467648993489128648036442917107244977942583830202495737508425255663525074771722450596573536268258181915914220014140333062302880167004660338162983362063960455363280611707186569848062313434683740582757795618801395275667282895292184038231385315563666826919481979712839090445279303307486103867391273058170809476554195543443126112939559746580651901291979286018539662024926370710143972672441088298975667794246048782477046323601576589679126126885827929116084270708227858164730714098890780317858061459431701241908847504318554734736202344480377533238694430319053524491205302694501574235034023703847395764015254290583232834293341866376139375841425923802867445657751112949829437705781165646575557006508617998861867736033944424610591973684874374938438898716513415105301741730306465423910894341910142302147977449795935420542260543608380823481820462302818236442637604995696710217147313188583526751508593994153027813712203200614037395828707753032932498332699477605768018303656930778895780647845766958154505147379751845676352885331031708639693954886785910594564815565062886256890809775025115673483128401006171958922200974976764773633275696118693497417808955672359440161491679214372901610899458694266945206885631531169318781269964110780439305393430994818007537480191619995880362309419321005277658207197634166603893958224037616896942387681011567210536024453812999012858329213242031257215463048551462732617357738474542060678792057661701961426478758180674294566529204146624233516355425465675672201047640388489851199789864116094277538798521006973374415669813152264832224939770874542130833095514074182980337084824401489647564376352939406120463336141028792969046193815691552943634104859589475119327374284288929115202958098731778844474131440920661963514000266519876221289768671795032271688357674475573204249021797227366771620580157315485751937527452047826033596229935361148158270879444257733338257849130636627736869022813585205843535718250957749860495393424553659618908314574690054062215134013745697674246317194729454123485179260839995458138772157359466088411832362846013479101728732165172786892049182105776942501010027220104799036810349429399811466154973005728232756620576474548607685707395481650934671458774840478499194077023025862670913673136967701414122475499743779645915001269890229786280784795199841153012680228420596875901466126060934456538244744842124285246379669411688975010242889335137723112228540217034266609797279513006493132829708407239027887803080236644253947453121940568253973163476086920175296050359979748234224910748437494136489263459371611980563832326597758312817129877921081907768659033077539547578180848067016806667997518585072403728839979005249433047429341200386033578039611833530778302399592423544586149227663029890282995188837506599899217927727033508205521546853858954152497402271438750280290026441189374533428764724240857228471725943429626190479037994826268750286833675561339544566707293119160593404133676616266816688660064622464743652640091757923011504692199188305113775155385659542043225951249528164148904711453049627717079512375283680714237573919092079770783512709659568599958827294765609353025843519796760108624051070577433642865008710291511387170894946478993634845079685032347966574695529246564804445403449409402600299826376257821300709940802673752590661561344508848649308606267371662315193630159519946168092320905815724230023300921133008772431652274934296690549011617264363765682770780674379022996393488092660307490804176165149776767862582660968378732085892600031198190018844249134999166430606869093102205332177511185296099804943730853276232630931537279717873179660693616857344315610208617736345139954625443321482739903890833463420122736699109517128472571256849831360771553775748146086416596663391253271391563771982621482927910352844141895259069597049427358888351342603422932355415290690814428187157501812865801555427955940567169262813627750946020626610331906587590483669078687752154083971360902723016832220639918619302895055517466738435481704743794677644313168494587150230377158079019942430015511806196597476988697705740840072346415575097550880574752047294618564149932157294439909426131708536326511125639069194951881663903458026600519843111984263057580355791412353740400442097023469317819656545407962256926248657907302961420463444797673335305099841270890012503328915719869650581221610596142641207056972123052666262336284840056230438219042014446474401886127202960866753446304248156668525470582584969895743433411600798188039125781353212310513880135216470449693664456924758463007422543805674766700425151553651948119588985806436590109685348313408248711394367315680242577966762622486860570490590582365550223940847678065179200491323553686195033028811253575768977747981850069044173239865521511302022110647823452654992253395992370666475997374329175333188208904903947099661169464115591509323080946176565892172057185788557099898581803156592365097681710731459067917872133142859521549199265719896686975496616940300083921846340823528149329416974027711005563004024041452663796711633403666414084136453947979395776130289603919561370153073199555162564764916104011698213691258751383996733916907824475320430379171210798391233415859194557941446516389824772914992606618712141120345846401646492940387927652060648687666419624271704084061431409642810233293290282242445800514667403996572670964197596203594213974298012124153411750531290354980268912659317559312024629499173116529382254703395248288502834191566484300665556315655710347545271235115272384195670773017453792151627866821902704883050959551078436451480265062237021069302778106135310541548811716639173140632587420151935358066856582816959156001962118762196104807369967018101582471150734664188675785912037946114105850712613823504012102749859345043105982120167477447977121774957487765942710506918884314285947140517881556363219362869401849697979823382587965183399171921872929409768338266806369751798084240328731977083755880140789541647447624396000652197176453025605823788198495576692537811350536654687412863090960558440327168854193848441315982527309259212786740702129955200608702813952859479478210303712083769411399848292785239215304780183426939060214834671992710058525523550585106109790028792952684728827422956928562422143536488581086531527434276844551144709818745740021947400661552375553570304888129698528877450909062298332559455723049700305535014021430810329458298237473321769357835676766846910662372532224594467463911234880886884173310710333890221336953144973381018821339875409655621350660407072854465827832795009867568307634827048344264892287266407812325080625769987351364676212850147511876772953232977072497419224107651483207027435426498964898780937051223239153548980367934117427061026598010548148037657206994468958833318446515170874719086885432640575716700456391634961241393226739908642880168020236217659196556193945388176936550566749318705729917119839260156075184049189936651761168687838291142423897570826350301218597855975330322881565168708370375386517499179375007900884072823437055542336486322870372714245374590983719303301040892641383598219388251367607333952788518414699735848131549538779724544710697856596743194645527324395667696314097386109158184614270673909855911439660466884310299713228358402250354719543409083743758724609871675918647408825729564624408708211782592068388152352342259359743138233027000973109864135330310149998948868205760741376
3402390038771561342996239268766559531780765188972721778894047394914538580606472964811392368501922693225166077437330879232577501284693788358601106594866606161173790581986022421668259491164079019785698093559191894731533724228627171524294557910267588277800052799401857092546982108682343802727461919401156252307722603541454381139497191806206781049021219975131021061773555937354391055098595937207996951947938461414009792538526006087427680124593863527377833513527344908803595261066376492781067533649042129948103600173473638236150906754504719626741357211103734317926440229096725998238517147351877756574072920637892069291728786446774701163187388509342449557722801845216830387757056159034498613518098293351101149538508064900873958657217117092193926994585969314625035260781118713304236286614026230909729114534062544521749383819744055125647725314756982809693553317549225520347014284600190973008607999578564464209304005639506638310261416961831293017024476473178417951018857039971153115030702154253402780147206864816882031994841193215171322829362021226159655162383070911787157669293472769752884050486935602317795139764474518987974752010164519913048682687190869011809124489882957636451096677764462208444320359247032567962352233411249425365502835280214684554296894910271161024852837919486064195436904748336384989421433340815453673666235089996837313828338545303612705794666447310822646658280163494194206184975907530774559756779880931099844146200177933984543361817171786935838012396007515544157012557259270820420373255635844235876180263263016904153875839607928424854756126239253905177294367091991934033551293538380973359070897779359192139808931990517632466957317419818073275685954433401326654304522472828629695928264504894233978724773296218721815484327750030764923567443893660763004830636621545921911217139308949551054214164178470656672497349056762722522570514430777148966129765659940553045355676414337478147174371662618930200463646391859723058994848089349435359669657201038268300723926963294435633994021961339729313923891452711896754117048346349844957638533984984206057951411536139371524490341739542914745773314976701863018983595587544454756248152388585992170169769797964862110389039006444943706172138597778357009664667938453408371810645661578988101633161432750957112727217320471754714529907764516239355852030684260807868972942725574616848230904616897594195575202492890622627625689263066273193377399102035687918167879090252940542866905829192517143089291164730359127832303230266214189899815990944095709538026101903846191255305541520728955800215775869214770670940076873174054136614731412260411905260548301210318081322196014780561404920726591907846586947394736604956590901853500723933464082144069279277852865081758580193482883421487476323746492897798449951367257075297616501308495373640861363568141437466144464508344179276090428240097472632179891965095178177628469604976388938187738401112788925354981841395088390325859713311593111877554757233125436985638020692757430792700279783440359140627501545487246202490197489658847612494251610500260042149343884146098363593068328699141882470881698507823638085197122075143995630623926948188618677740926105731229477495729300106027174533423660288045386576968608236546726112752872657515306960176617639797863750051564780853520511472077434893264480104103286703282224541830861870791240725115427613563879815700919720210753647248730686405345500230351018033009541951869040461218231815312659331620849198209499154387322254558161945713344477196847092971758983130245608776187824473891125133209715672590163974870434934870196386830239124239970907740942950809073235055822815746926247641403133690330060371047185313981856946466385578587870144910676863069776479821955497903683165225278194539679620824621186515022052333462869681500116498119738803450112616352477791197627457911570867671847539075389220758157034590845997047607572917544382611039189429140085153308324426726790966332928839038364295008577646939544737003162945818431978804632604609817851838859410808184743670796278520126383337690344332394939183621670244740823532848559232425480380228071360664357962909259249803907942626214693558236985918763229021701208667259295318627839963726903415211682219485489326335359577576939342385246539917594087738960586112713645025601201456332418438124427201679389046956787771794806751880236184646325783761898400984747657848267353329552865269562033239337074228741981668414800748817495528921328219892959865607173592097285380995299910419407250198485901343447418125222038313269944702740940087380599322771352506330290341678797150488280982959848248030732230503845304167195509371829832429347250512216227918770240033357797913158200718624757021699878762586524386052458219452098660211291876665501852145391905999587045031970231549855296844766597340815327189923703209117179847995079069077535642301946784890573532219467253260441140431609858002454609164049586813405609453988031598315599987323049845010031853981389482695691255818874742148254040064241350793187664364916123713722119884217875146867418939504716210050142377078006661500068315920128707196036995111657323552309719926933842914919323722320584224985545525133297633484124391774650519263203219268466393009474689900302173803128210840644027394783806281025899835623374550428033704699615496175515222359582829026407724625125547688963804694676635080847750113335204713905964114296628018237544864487466428493909644065084992247306746408132217854253951870305622415448709176978384096039966172704369733444012030016511145194582256669835975323775683749024867283042369506033072931419498673315164844606703589693882372577774059477940447271687117012004500912178773253440334568443724458698252237233767475906439584835244004525313542541764626780779307111217596363443580777176312558549075041658094087693609234834739914452872103746239965526995397535080032820960827374868099976495876240907199148728494557306393944567015177485983271892002401899796307490953099233554402091814922467706856346710129958377290446937505552626127741933015256704703638280518147710914894214808370689840762248382203034616478564065759117120624829469649365644062726668609036657762598788838500674830121426289312326730921510811366348634023451758456192890229911414022162270263998852346882184588933458567405420063088308723250818620605790290578893491660843993325181522480507307929852523279595371948993931689048877656716917874642930353393428500799701180288782299047352978625067821560597028836234179859817217265976218509825127817773728273233666656812026524709388890029975867020014420469819844912970436261011059203047463666382140227254446945401965199509415883682704674017851576471521379481424720667898948049670112114102251916227032681038239513096739248654377163428638595385852321564315939362842314573777436748493130982920837456350267931775489442258092874958180039225173799226439084520058782139874469727675987510624099763406797408591879499218508795317683390071896117251922412563894212944342407760208101559489773157534046428102506991948052850258859059611024264100786459189310582008730760283395602018394054398423588882816498446966990811567010341234548576514624048718523251236693372950594081440589667969189788263908624583380930918334841155008703515095905749927374232646935274103788486254566596203807946296374080911449094989255024522855280913300793084412320813707165383692964698333781752061327623111236325955129628071627854038243498773559152986014475935019008132891216504529018725809622239919898253605770357962693658660360739713776070124986657769068260734046018692547839978922520906460055307586581625502867580955079799516223474905260246720622205418857491886537809647217847760459625033786794692802112908302906490079251173348309279558888254559693406684597440479893360720223793330935084004576780624163509675565986133967217688046069886913753659296886112719030468869163347402635769093187625193274244273648857282781890956993715700166855234268855077470278275542738443929938177004274479772252255729833677897926403495653050938196068494479358021581209548516757192241578517301706825344365412560850538481276803218698959027446793868237211669417814549066116760469061750062945584955829989145752658509824
3653288486190006995756671577585831861858864782123274969114219152557984979658765307443272257734934620130582266690484903958711486450789451593634318283590498736188383880495693257546974068947830089984827560091569357015053011370759132168456898923844348565486047400126056143538733375071946071335681136228338502061898277612630086817514913172874323604744678150802417193851154627140933585910850901456704114571019796598432493794178504047749700725069962283093748893983179996255886033375167280429466286247503872463321784991232300735600817357835817868625864068086076739741731829417296445776846188852881992168873048914737473996435255272666346544015748191818002828737274539673685136048888749072136620204393918514098420713974407845374783562700898070593883332889576816693515236975434071983823737315931309160857718785709226684864391053488068963769537760918136838817000820226556620004752230900664166106597521168479039101680800785870144279368371765421270944378324420955681568161330216493866853116347947108778059361932887533800339026967141393194480647292017427703384649268214747543685775602762243088793749630350321803247981029041800419670644289341718151521213949341545128885006869609996479077729433583153894074072744978244016111300050433468700110906881030949266504915374978490872773423195519245331711789514581392970984107590540061598874949884032746008251581300652523807740509540520607122603563369247453274300359288112348149211926041825717461964979656701723961115177124661989025826078398623720058091503205622473891628148026267249669609576034028831962409015820690148511764992778063310748544191097106280995042473043121460600341464192726926688519364905646990353389232369736502431747200691564501227005812755411424003289126580102639591719398715273068382665106733521731849585146527793396969706038568577099915892711857221653590472933039531626544426005074211373085216590745333520977668411888800397133158488958721884503537307150275074362730374521322486477789499987794060977696461793760497564899020689858010548366695337545864978437198907805612881767265319000905866266932002213722930023856598326188930698919920209800142205403135513610375902201592552248334531059366542350280013647807012526902530317616092387341610642592155959335403280526180589282444164832855281509404321888135688466027965495940127734447659942465623429323573144501022167932944560528806020542720582696517644012768730653885724172682480378581996011539353232195761658348341232579652999861461654273405804371964490084660278093706436587136829837710799380680809189934344017845682013924621829775242810539066775385853307956901936502125558123446891870590642145776328181668344259075080596010962663583546200434834181070216530205657355777982848101638178199858778714167138156513367024600584157767323621016373797685153235153789905906968084967482209188700001448783335354879895568692742275692336007463370201866918294724240950051788947975907335423125485245689610437658049866440912869712562939307068293241709691373299929756030142391107328907764299981576218872446014014294706198897994666512173177622913773486770131753382566276339407836381014048152119078141844008631427915425256515778931074165579390800915078010196217067192928831330906089011777084669962442218777939389798651105157535699148520213003339936786707133214283847261847819390809441350011535048181391572949177202566323033924635439139408521856328047453827489378856664285611504668905647680767529522263020557784804383713958265491428645961025191494514405156158301000085073121677635480085669004656594071034655149535334322417187697077944843080808349470836470970640845871633310535617588976184695803481676571158419932000920511535955898687970850184838321549100891780605887205840235033671534492027140036716325691565928938147083579512462436439857136917683981872755877928088234144903580913220101413687721730440031651130453334159232210056719695406802197200006074572996770180697106985731101793126393784028599904337378881857041602891255684098984258270494783639376475212296325741615552523616628541218657840745600798053251630612523555534838270653804287391003134514538267422935905996575247542302878801909570883112373373319756643559115276822431484675145353891191377387604836378118059832219110921221012458717650791860228523332349830095130460806285460447575596774218799477560748313827324082953602486443058485002951267851555491400230452946641954730370776046346317726503203726566658965789251554418633192808622018271344631863492335831715330539810855841440263171190438428261240770945826946613746797281185866571823488353829500194808898764099045676775094057497923774874491289313267820376603722833236787295910319307197517658490301667894371986847900081370335422775897880040174257376036835403118517652100446648238288696043228765047198996597971418342833136979397854738043973370161131083000599064065471504592134119722278942655535117990303899559340064891453536824136017171676916187936608521013718571472486746956753122545027658042628417823988901192078805204087965963809179261795971393947585176901169509484840283381642833626770073601690298275939639981607007423434663003233929660687236379434688702670018254015198087275091218794951466450973618481606025791664844112127199467003845516218960739995050512694202815384834250535902013889691309581132241851406280743542366811776890817642514962162738996144050717895174406672021804546980322841853241891850672988749432922788072563405845351886688076605028069816114109635134290649004975773336031992004440430170449819182770134308947854544455177888970358567278987871427157559587194705845924969893235525119217851838102689930733707399414651005227108678475025256860373106700483728263616877148577771142705652499807231439114691017541636074022819466203971656493166797636904074417340695946538273221359054952780179677344776631416210590628742837930083751932954697974310230854715204933726653159388921938427158344218040005428177039283389959428686981026736239960901941766909483412794806590028268352433800844269489705705294770320894141031022511340785075924672452426086906391680157087553936713946759779588219183222975387754977758326128247735527432833836869050361729332414430262507098846903565710563788876582507642556017325470405367769409743620219432223114516249549900759978051296861050575692497247089252847957593626102016794322686026635681578445195182425251567671113637643418772424233079316921261929512397235196658471179176730742720276069250377303386357624508062256603978229952518018249640713334846181980271598685573824203173773598003362194664089502615382287614293327385777840296706121702130051728341567297228249997488973754792852169995714886728635964375267134526505764116120039153933253360281806850059381153688640314726534028779680648095037109269045609508541364689302540481043812499246403055551103130043731704674829567504371643713072332857989057071953321592222947322319000159038029661898406491637458081322087436256427598110658740258318383103499917965079088208444452022710301228076597038772836288749902627388997601588063793539516846353811470716507055580685346198825665923843836172524431905628556150471599950624808513520518567051661509299739503981803201982024046600363415988745292018369297398000683150889623297720792219052663039929490680851070847384529312048174289374859106676092920629226141814541177265337348220001962750224182933736911950432335359015879979427103471318583095960956143771156524579276245681901043447526119429002071294644229340129263167899098229880871415267281449203151892827580979660642557164721074441083995613003209137158259155463555081888623125061082151010874412906228389152780553169108897192492333953605175045998104111536392364508490905261346727334316308775568488379670232862134294560562860385215107559159133059425153793149686589863101515374293448446612132465223049539357272724667496775437185353283870183844668676567650076406247584820113052191201375155150669994051793113762106649254639578609279154329911390331537852434596243587787757274597901368834566740253546383804535707309241655466064522747982307182482985543557854891199812441639304750599362162591165806750244958508346205600168180268344536934891173031986511033039322594769212007989706983021459081219307203219851979260661401187543678976
3922688642759856922196528799885968619909653501726407858190245337203345057823405558802059930548906807539758521218295704221091692151421951994108619702819011382064610115455643702502989702472744841662392876698191288423850215885931650839215985915872267920796771981961809353489685388799427505865608379496208663693370417506243794856716818017443703550124805771935534501334700353852345933598777748322165733007791773939709901427429907517822146751990743829460286300423482314500108240212376991993454633541900923465830506515421594599560563365693491770790127658042804227534260423437384742837147923786341977928159463566151435810084960494378380281587565748207364233365520781017983042782821958601794282155461178879835407972942262969212630066219680660757557053100053401744608699521794823643658198200104948157087276373446490194235764442421560731395693391045116163992960462919558998403177549075348304526737000813321294750806064501600842145672161067313535592214984609820697350160727032924439479678287528947234879870462094826129637678634083587594542836956031453462020364278853168251256684378564630332492794687891680292006456274440739754861123078492960207308296640660234265667302362427567788078499039794062517895797660301626570176432703163724672703994156732322465868449939695048750499087360680743109575701915690699485125254759278730886248345036389909174628771956646933303526720032727998601411741760995345986102040105873094218657837630703046157718927880709802909952315359917639480058476526505232264840556610906922171789185991466196571709983538644804099906556081352697001853428804864526470620645093211459277473439962792067758554778785129297796445062733110987322158558946640714520444674777454528961135459446597928279729048773486290342427402472720561103279561685206306299812448876060148757408234596438324348320887017879605898530556144496552791498795721416975098064969581955934302903943848663823589681966815621896975545482631584600447973749958727933522877033204941972770559022204778708474482232851341878547214495672588792745604878624718006613106679807115974522497755638940934896714440147401197449417267869956005267367088945381703181846555583602755942020341868883467762908764941195230627171973452402371736695522474713627869265746207764825689526448725786685095941269737649938093008629706619817348378818019154773558299028514373943112460754202113078581039722268386901693530452976142467970160736977454542842930990990187318172648104212742444484837358317583965584143078540326046733041420683592141612634607521217711510282421396064985965111156155416842013086725431103982660604434682077598688924476656487882844258768054937148517807171327799205592107818174392095273643168446719880569217973624312068242361367914848353401598962197565034660189376084105026589832428405935392263412433531294081336285862771327981824299744419261084752426368857662386663799727474596733739833055036176054724100759462691850392206570308591850449180392751875222172950241686166372805277920236893644131475311680090007304721190767224300815647123406429238359907548839583163052545944703419338407401137597314883357563813315643583032480168429222116551381153633232666920354232344828493095383376731770376711627665963255435451588211884374927910719485231691363850630391468188948847340411074741817403616171316121012673883203110298391582408063674215270396678588782781175419451934956589496539157543615431284226994181744588153978575266224648696869208544301465353258452221442248642850680041422025269183386648418948572370568843518260394301913320235811460336187473062627802035206810831965980980936555245387145738952295110420713672446953770847832915560952093707610744624359735630328240781027536299036525230097100534373153537157417643174862348134800527214518640061954300432702946160447234416268493411736551635832273226801363687851273892537405398032897247115907702544624967015499665853349202824213228742215323089573159930521246382055212881204724205130929449442711984260357932340551894811154022648154367429454717141844030300436073475921806578580852754082920877554054984865279762942540276821488082235906843357673780502979139855244049323810245213317323090370582837388433691282289161582506470118619752253327089239172003862039251588082128210170224550215062247046127699703864772435474504101460965659677658238209926126324965293875381869728441164304889825745539726041754573299760567273507147113745268299403731339083111207281655512504563636298464033273488825234911949714779685966576062579412966189122964474045609320917813898538430845395109586858753255850379391083644924182462290395055021639803931069381550246701648059339896851678848280150115815010773993332678938899585599195145216492568243940332376343203732952069900392791245536932252431942531015294066491128038037031046896698075625431300709827900502968114378158684240062964158632142352228760782465763234165323745681286964123427158597512827682640798974302011693126330180829727212507955542285493170546919193519677140107108563953721738470651578104830430386128503779840389102668241224416847437706226882064294936634057693190353911484347754034602020275397917717532554014283573358736477099070179574117952067635035274269578543219684319764582933253713631119675712536899599168488346675288472408485217247190108092405879190481546593609350738116850627257161754383427584325395419910354555641984581274008218134462182046145540320363489268952350567347585480116199675748040396734296692934567255553708671765067726408746471937641556017201283590563419749777793385614648859449991792747502289964167153940073641166543130498146940140307798003106793686006134985532444641329783902675989206672003157747325532909124020068096338506697814992623331610253176333825153278371572314065461191264558882487274360830888270577907136095065411974512427423914423997799911937089417662749823641625984512273254303112304972419802983146073455680777623767560392691657498129133420715155066787940244356932701163062520539637943171562552040565704173072303744157778661824153226413142017940301563351912115253015336285670539780051519910295796691705613760084624892434705627791555137083304528131581469095333041488692584551113180972673985171128822531398164618736692612642612038065226194717608116829518146776435491355638669349621037818999457149919700312057204593043763181254741553522814673738819109321522942959213302361930040989394519534298636928386887709848576400837932617065548980653686045343948380450438426269012455593870111511630285508130308234506880818862198932758388044040486571154252083172881031262529837493347960263925818234249898965932308411106428003826964744611296631806099359405831173556974659958973420298353513743675508556478644095708237323116441198454428272864979614402709259962793223067271054232339492892948500940903103949820656854831442306614800065265680344180826701275136694352419326872303112479258769292051672522719140621784054532898289024244986962318495293460300919277669606509011846282782699674388477192038117545448264224405316124943958335711126955054642260792914303480234682669277919264872768074462797598537187082725743043562198913401747493794191182191832958250267611917331226095257730276632905218915008535213346626133323216490893727707479682291342367618480010613964551276155048030684023890132900071837343265036945398589789912505220428113399990656253068060767005770592180342973784613356969405814075140556330347098552684082596847845291252908638356550178849943763338522531689336242744711429675995981307458176138552230788755659953739318608525240342071874921609309986714063896785775362252137199151559559151666460240259735948862811529488405831527967726095197765361152029729288209262985379847019888102729631704379451177626115349709920351892817974412044176678212222927715437485865025337063184027946531415157890046315277733738213779231837803049927781172041798661107160980589877453414652434183646720342900545987761310399763394235241488441563895653204941598518782495376554012961418398166211293499530620896019482344524445929577116614886229839355267196911690757108014833847581746505442560404208159543680633000424221697222939626439534195555974024603596588093072548905417372864806700011766506631906560501570549174998505009783060401622537221352744357508915943360692224
4211954858261053165618326920058090937948554066151700322621127367376214781288688954599863084784896516733757267092475531621719492801914290927794626573827223223254815351218193460219673528586302356573168919630523011533135015908154026711430903447266999508293013481223768273556275554555646460303909040269943291638722128800795743678132934829526066067226284377203788825878051592438863349421334503654055173790083345562219775589548792530337664361078216910561432747778921872803087870043067818758685374280532277989485249740712667114320708906747308878897181592739728881347547809552669843563730146644159821668349683372380987346939543076201783789717466462200100002166255942120153689158697285696343082194375537771624747776651168087250025251139960697379344531979716194086660927190799901692899879767934204025616330660416539547556823998440069596655585887445528296217684490615131644221040948940014001937846044021585090523772129168210539165430099930439022486673837775080803885713545737498395701087375384528256779668530853421469400021515686739912228198199303820641680860665920245506283242576832292675096539835034323511163864979894244484293895160989526264154628565275592504684909815792485704655053014170725272335466421707200903628106852508268300702989697935105804257767182300851649129810972992686988151246041034025884994251913692625426205434516354647452360232123610127089335126000678700914149292573468114854628283193401329298865521409486927183745313301957798191212706847581182705092400212230912437593550324570456906962961909952162341250424523794446442356343756349937266089432025589376725460493874441522302296053537202846967802199776661236291794102374845016721735406700577519481845550386630820003790413337268090105697451055828132231271583718641085521338848945793933142663309714087574060490851328199590289269680563875968649889358274326136156056208611717658706358859309433882386024249164857873903999342628513327352862289915797968895318551384804456060604731361182959656818378001815591953754810157392549518872562702725597124623750357803323906401228682676674663324269175662724864263414571009390609121444939783155895536345761784386350702524280455007656611760123398503519190856813546219673720298736462099810485498034632004666002635873846486898914186751068671089829593964980246001474167708926547554195115502851313498794969214451887895645847345392561649860923204911169362120077578149442042141967295356287709254867771931297116367522327532156383368005463264178479471014628864946973845136112351553007216584925356424258156441904947444452712853173066107423451572434580776675661778638022860925785776163382720759092717539301146054869168621791620918220848691232118470303394813120251379454265252952730899765569252024347664829474186520528674654960861968908658135171530938480515071954844170467974427939677499402106262455095471217874288877722923207432581594149276410550250685970036062984579766225256007390062998187931656372838174218434880476388835969345116703403110902088693543737196974348348927544655185851380174917630026772423723497899962383108895730090509652619458436152583415860358697813105934628579190707293020170327020589621371470795445616164055943143408352911250283039510212060248608239702590325627212194724449225017347626023540084887239911985990536303079348033771984868256753182467670614268161961080601860046204382871461369399087746285720617766833196708304992741672555162743821586581748263277339885535567071794640214280534831668251968436013747316880966307060570370608556259370593956867493084695615159896307541481590532216842390393873279938109924420126057458761451896465200849418506034930685153830141201654684274228883614958217367866434974931691419953688043186480424889204575619457395312357848635183715967478883862122283551254450660492410137879707389649987960928728812612061931880793470096693660311289102122813475945915053479162447484765689549416663594595506814947600125241596361021365147773055885434234345859933349486376017164212780701184655823166580717268899309287675818301497529434300677060604167644418910312571658045537886932210804027769535814244612280950929474244459062120841486093979325234611585851826451760552188180498063253031223716968269146915538868279319676561070359782201006190032259037500529416847768416952020604211316339398178332223652008744152573785422651382448557498746800437416093615057985304533855695226610267530271018949179855171140600433062315301446871736304967163185379485472582051351585366143819767898584468757023165159220834648933211433694849509205670032406968473604151302725038474162237460018768500004059515882543948808016313841077571041681081493504014547648349020915047252794522660425594123928156701605108692969432941006026223564439423253988434057496090702409115538422850561099379423095839490131299340545610863104612147500546244731377365261010536301874309760067824455832604813836238337187525311238403630705459356424627484371162246794030790361130580727798484534565682592092430427112309710304825689831053928395942759089533506643946956713823968720599177339104092410428505548930535417528007442988122738104867416932364590742495825321326675366111447511255689843319920953044247014141698557532707966674208222529351112729052103761867870242916041560681868580090060590244034165537897049270311299277763091005001333517646648979214701529765463887695790017061734015277029827930687300609248364633052637310649323467271231275415883971785909460015167374428730157628913279185641120037660406331888058616107881617672835509804031464565008427465353824329733080270301734512503458160485508715750324126272910949279446319203910654555820720360467953185155131776309640333373048827614851550130366715903148086993922628150102658475052978198271806252549154909620321037287628986992127190527542413331772852824415332821494843307049430369764572298812492637806936004034461839655217930308948843906170740661327482566048078896591624452306698049985855724779178818625592073672230268309400641919558131941190639067106134002604135345452584332087914260123743533668519470908683349270446497077802453325119285151389792763526358644621687969504688397443983463598631022529855536451111186488168041058994996814043835762547974600901626203709876513405288663704281731911960829564706539697512394986856545458975164620466601672052075987990064508804328180653394284530048947447230873648883162270372347236060361448976199894187255993188439076896637056090048429566650957841386699697421778948748081096753581299975140603993401637950995711086710844929707824380758672417141848985842829810564531026720467229471535945787495870693871957862953844105262627816440537540493648720531126539306127885478672726043943209021560986328372593315147924936817203794583212916891581711334139767471090496473835126886109560138351015042342036564184816074855342687473690657361668648055068400043297226848718959074356473107642751556795131490946904848269676863371992523776080405335478780654081725762348652265282715744022089584761406610776022125946909451293937721166469793815937600771267490494556736117371661794389225120202652113596138990035178227349786918726810398774003520571375038494958194108239367919678433057331840228176920565575547035488640537656479110578788572506446453215145262704177657158600248979274271779450875725544359988714885179670208048430155792004542984808828126305164107615134173281601617074929047092911001246294010521640153066766943306062053499709366654318551385864838744529512641205698634013216853951653985740046850722349006387461009051811583235033514934638917428637520515774734987306174718870544115246813488146237657999967111490325977441110664397076773230590046219607399142828148035731617442271975615700814125108620695583213085631927749536116224345173641835041853305499793999030686523224438021414975616184934106322010792890656001814326841518982218823941018698617960890760203612765923933006388780472603937699494711105272116094579280879719734731217945437807033214844892672711713032474145969451585352024744473312145474985013508742728645980192551584019326000461100812714559362481859520735644646504114650551350096578956534929135064072846644243274486677459232400426032053421145651478054990293051446870522716335844589966477601119940355675563187473837331501286790358500376576
4522552092114884694211996434971476749670751261152343365112597760382854953476677948680710178807201433528951050341129853998874766217482321432476854634780113324592784652000223667961143695268772433762372785224187184477561428419490321114076539917436355867041643421785798698201646280595191339785862887229538362340725447607729354468394926358328447234568057207921500233609117518431409741294413054467639867302001084576000167330392795828522339066963919232213877662653471520457083562412318598269652249622101415859304944877688346247235534502503901342718454871847581646323595562956288341897914267901487645865688512094082832576823785800367474318424864883781562429308399606542932249357588649007440531205170712467885252121241369833734433257205079478492409417692326797240949318031380682462755004751402368942453421607502779773561798943732013483399913090574420253424388846009602333666019567693541501026282345938921070470200201333437987139512353243811869125618182265695364111632350141688952597159317228756071814141654433953045194339287892724725969505438753999905967257757315059048444372345082366079059998058558413629483172746401369399667666342225667575769296693721517758661103610884527606010241914252372401320380455534643092196091669479126980278208640514049539896721900491056966490051246916382465318585311972653799816942279323810200482600656303196986374228745468531325774509139238573557509128816145307649850067638071288085388506088933544098429875856295629000856632622499109105843167892418807029925984896140074415795809021634558545038341268953380324086011402914193222376440090280352040219097932683667138204043913037836761200803259404628486045995716408819972106676036059927621832376158424881885485605330472166247087933888835624532518740141422381969022366589117254900737354390281310267446533040453850713253114436553531087899016951664437807076142081270226632375241993470917280571149406504970226442255048740854520171446795005717537154606424957662533841578794786593899630579232390949016064413507172403204404547899978952428082661022908393644522060561578369855252386688143070604564351177943800593766531327158335975749549356553036494924032102300047471144276974748374247566409599099945820765118431113710357380752985254183858850181031991760738832222501569108845249696073137281465591579524664692252864202171922246556991932046349417269314293786667367141954117028365244748855728605783684442911800830664207094804103402312326968414403678325103013730805449367243994408753802728131213359756742804625455201421060803110833070744808368303630794580714292189857436831761574883823061734601874902444151547930926284597950879115766004250245625197326101192647008908551587693687656980031877847513738897285286662095443501066938754044140261995468672568320246579108213875451518182756500041820285625234049795841305880179776487690356929359619840342269124531360590517930671781344399015210717731614841562060199980241963723149218431501112485242132042987939737666961433694604923307282999215429401655884077388850241900707119941933495114703791081769506765778770732491853195519493223679126662459258052077484109177353315382758492657580155725764385606872433464506792797311628843578431761589031359959164198138504759688553763716765998473288265513271608585797683939817421436940896806635974513144632542405862460641466395496649218102452223804218341197288324114260632878881275366283337326198854750250191185167835106860305320243146562911004543115937105332317851001831480075828333102874753425760908217587187943198647210279351068456306589112910455398680483643111782037574025608757359368295245699326140198803912580976009301481590643296400042252510754637686208950000361384878360548620666222995018042263560829518934782113532980166134258073758018701439599345251369151340315125199603048505149056794745654009255429583138646931148913307191879968304672013673946954871773432354596523709408386504055376029686266622899540117354843116739870564480089818567091683195930847819757138674202011304379105835203536242826889173863742539186279697151488077508520144179113102240520125775697793069283808036820335172721051468170606495254961645693419996095701072124072728044823317784119231665777119682809569063932014678369132450989773735504876751121120528437766302857011779190347655124051440887706403064719102083810210333910654302306306435714873267215835154205187115006655377683945408601995081179100830940995516340469451520337438673897234142462058775018863511753807912936334972883910682734501237066168315029414747946098993162771420000931738797439158217273759958981717137722241679563428102871988279709353282062645475077255784224469127644731714473188305936986261779858614710050910301021739293135707254902321494992281912967862245556459799573303674204912452893644754271107022994420944811353407441363344160550069793565814219522207671689331992735980516228194917508531479702989470460457735291213281902336125245633589223243872560773154521968452845592288580347074238374223400670481195615132201254096918224972344388286732987723861150394188975107048989094710638060169702794348513124282919642919148594643535125640296860981792906690507464373438015944942744606139657548141671061203623338791796095550614463357318122023684305268641623993544226356252914191742439145850022979518807721923534315223975588124973670249062429731708185959486980608730040857402166401872744702327729810650310111029473947059204113816172390897614437766961095540884284395677456276859530611530838640433387382633422278592588936101035548950627315423515482020712141183175042572197445819213971547394854017650555935481724468884176492093254155800850096842797546575080916455073200339945520604232272926207395322736034270965159664764974298252443307244602893386734242314278658042790761128198923197038913128219700145371271197318939459105447423392006310706798878905390824823234414569789231607435615178503055933124737391796664706122198222542794971609055900125237461933208406264762906442545241601477209864566697523640198725544585035769128006249898786020878847549441508073004596884078291066730276144988446256029392216890793003154259030334820496423139742030231678034192178165514612206609706825192179485985617027634693135477784164537638374318555101012358063433027828553361125959535367255795803147458910430280076610430645894331053959561223399789377090862469739641269822020865342219077585280408811076322987806973231247681086150139871332072118909011231329043957657622449909025753567113328110863567598626788336758698089757438421924795405631137667487425000377796791430258117134014335427221104993562511430932591306221658219202597396341990657999966270124237598358059089369450131133165961475885407224148787465851297817139751473189156975500357163527356972960707395344576952881297417962719366790711243815775572302497485319696193393062558447277121846263196307251643330685267179880871060807276396972044081409169098935526079167642042993691941995576317852809625265132032407266395078659795567033115339060304052978592281395191848867688684052828759722324562035528011910153326221018599546513014930090173478517890093999646892125065155281765903960729756021646626145526992338682606204441386699879262882784199483683365622183608565610766137553428066433560738800942890017522088625860094776739309019943324487195340228769656908380875816711122600795035403641409289530006457224118985959383859696124155947862004097781089425549531488355659581963518821292778842096239771016988925199264410479659904869590558465387895340070739683060034588172679887112707027050431981210641113445384718386748889102745258177579724949943601638372878231633973372201017375569074756648128824085553319516332190428484086935325801686115196979094583799667962347094294423124588604379951780680546684587778040143463579419226442489066979037935068642005800106099207944662612144750898263585564285872155606005525773782672848871533692797789334095037814980527937951733313564398592579094106475923402404136138935481709777653360726081193535574731223908102403663754777542057403071822218209039000350985727227692013361227549008706456904553163288388129258363264949831529194439935224662052647057718775883273346034122886371987715061249563355088594153271884366611137758281669200274287969145412048605484336626641808249401114624
4856053332522452309112871294767770833165063858600017506730298684611801616073483322077004141007810611572790657600000591653605485425933048502661990733331652720074960649477925409644568792483991883268929336974578996378361295223188974543374256046556922152590395691665884831503861197129096554810676185947750827857703451597539753565236918580337264524732861598569978909651879947270895514508831194113494980091968603402612686293641171229377167574508296778586008559610395190307642218025020811775179650354938484977752618885188541803050237774333471594846562852559308566912420394006991876499402087812167997185290441991746560258125391891871871744938671227265162860415472052050290407733640064226944985547768919036646652035361577589532587097197643181301408458307736846073575088234570783225923370866899446186190887951881046839134552974564085524858416403314855210654445525599605531265208457434954724331658278067456102798705301824932936502068536642542873067790552153532192889568259258543754402323382499799169800791449026290430277324301456795363592396938185640146329111828617620845344364724343897183965610520832969861067722082028095815296945052124796522424182835113711826233165189004138925055790515690593938521005318699718569003631634857722933731535773118115850595066945054014002886934503717470883792794533977126329135974469103865451295993308962591829180767519752612560338259655870695942798020871698823284991164952226036710834522276566609855032530438032430566607098274580096849683052150744005632216749607377894062712326390445546353584254704060477160149825016649884746082916397164349871026975573874389967984070195361344224986002922018270944649385988432993086537451449536076457974277798601245642705872993285306567379432822189776721725819353632886369842787398195419826990665847955061959677968209333183452672100068785720743961394789487093286904496905226249381139969790510858811793585725517164196005799966708214035807534074388393238773174872736159691863518542153879024536611071163977477600008660681533299160784096018769941738705269511364376779124915627623167325313662880059803905709159181925019043158377376132407406140893283283758798296970958207566953043326027521305616584204068684583889515339800053710541701572880272480233151924021035528685298218808657793552942397016062003265695837854519647989077664384554604282237068731275840090629039768085676279480542346357634842771946023150283172540895042100857488698909883443776749672193437105374951212088192724212409501109708239785144238373215337411904804137218747130775541051575912804315195665479318806478523700454548868762400176021071570205341207776214833746883604166096560850490047397287817401374733612430968316138092025760098134595868630852348921233166924560763863642541426852412218366946177981413860009421957122129702760189767439789054693471390326158653804957396541637359315696834073186265664439984224046064170776159801493262444317528324589770089436072822814423577933059941486716823924604674352900149311342160061765734677217589588061216001306489856238445131157137855854123342267638066783618515297329281548865453276036066524364776719106488351530362057640723835186295195762553643498162958575450650914916006748139670835753531624735505300669390175305342581889757490016553210328465648515064320677619517353086577761429721892628106782296337535277517333500869660397620571430708988349396358764351691239338721440041286244704739510833013771419147754780313959392767797592950948803095482466760757239572696760317386926766177448656061160923849897861965780623501297315014328449829700157009880915170792169837421536824887722605347943435713033727927613809039754409954001887966264285649137618512834058456873605594834373861415612984893822614075483627477207740821293003661535109866826799410851057482007266610141377879221634669792151970837842502850400743836590082081515156520715684016744603263691371165086151799406885761402855121210071422472374369763303402113553428761253472058090290028937915852453317058609362432640286980488416623050897790308041492267437793606412658251795151623885102034566559107163202987354415121325848648856846631384961401309862496894531405870947741257405319504542995251822042290082865686248131360334052746845623223350256108299923643986001128611060515424238977329134407021940408594052403190678719112576113756875003591820878987426765869170240159598883128543917373768438548731488504275796894500162091237473891726694497198557376682286839883960141517579147381893509659360796732428666017683975270690405112144586603157713406870526915853888273240115325695194142109938986383258814870628333961743182942331434674799166667731906548943055089088410712249657786446875420883295559479471412264004987408851623867419647152321660924529040176513508846684446930336196459090245369239487105545943614704650205688780783470660824114911673906496495221886469923323610953140126577706892265006008566496520482840580982339058128232618920228117786652254628884254300596238045775349428819405301937492851775709112447660647413035160913239588279946994789132133376807910709262930438427941669373755480829433435296539586035613081519412064746420127288281950352391663906168962557494477005695664794159203273095872595058206067924089965357139324067349150341832431877889557012346674005704470439245643460524155182516524781968645202827589996178227870740663070424393821526053898357912563713652666838604782429873675829261157280543700845523656631293663107358099949449618395401390608958114028625518727396760778242597131345358619087859607068846157158660252967888322748937162063984055583853001125836124778173149885126911358132295345184963734562078922252336182061912186530523354217942851451746056123658108632640778895972034318698489177412324900749562745791547531138421904140609628424473981272166706824013892607901964565456524729033123077828957437029467678564197879737664841726369404327956867207377546588753398668073086362658590873535897118434300809293760314859550091159878919690820414410638768689710099288718129629848748320249722317444155850755255059618681018694940808793872423943582741874970596575723688013291844600181490541967542414430425115014243749972633609377771462587099951817578865017933812968195080308959944693200111205513593571687002473645256718485255429748060243097471450461554290543539148077137138381690252961326973366481991387222164372839318612696574016501708270762448140989197239058885213152323299224426656906609563733603271474296868665946698126771340469121288496827603973210734761467648725211409669197630283053216968856215931672919482282204963772208527083319281870410610188985844591188753885899976911843974821675585470361771719332393679964806369830929167840295900971510230942855209728812507896076813417330550045948639007575165895126345049780656897983317192059582978727529642583813819723740453285944644676891987018443936887433951652622595540019870956910688980685718615468230645032369023133206292432315462479570556939352077805329905664792367613251532564989319839826309177594560633124382279044064823906508760029000311501756616223538214998457490774255355300224126162712309306298695951086555659802792601757831840944242194971087343030611456217700307536204551990035241622322724140927706574052749505164682494911991647245559401420671734388938439573597611504989261539708684659082486152890462465285164450503052470493236111603496777059215426276436937917797180246941312496666142652440680260586200633238391941024475273124023531257731566714741154340648379804239609968656316318063440207622128956512136802748175493047517360238311902314089615155416922945369773170751520315882664564557069034551291499231367195717969760597153346721323940595845060911296336711607078452308277576328484932348793878823547316543814019978158426433480930787805443169061027241878130362165797232510824502357063457324228909381527180796576381625791204198598420418524342596928982153982758951292806166592579252952068201286258909370155108206181703122964901549375296153985752385118985020792668838283288704337526722952687041591583499549524004054951428485736716839351657862917272307454243707929822739361827374649947186706570482192835783191695953133661262274253202831675458377876096386767729888687722127755292630592867135264291450454301229408012920382184370199724006834176
5214147562703936463339866245921187910816655360609660884108523185679876599168889700280541894821279764316723749461584097683221530097646768401128754785478626388587849664498652277087706486935238935542375268810195093203391051263949416622892240802073058511948417794851068777552888584848219698234531422572901142601440516569438048905647991948590824945957155925588084946091140779611675171862130870475522162938794055968253952146474070797327762295406194486172264971675678461001754876321591524073442075699793896267808696422559191459507411071446522174502737397437675048815368322115866126225650732676845434692160625153984144557285469110693314341704511611700014501399566358989501762129622388722517058729715038256917298999942452820502243377183862677991737011792377314415047753441948972638111564318853072572550447641632379464081769492333066796353473370646812280184008572365959136821193956826434647061291940436849510859013335619974019917407250307574820526009903119300784835964853268773658435758738563184040215587527121092110559719021285745310898443480939464501327047439159859605020480087238273365579698193912783057959882495881925219963708881896254093616598979084488183709969839334608872938803810079518955190888113214337124568629294236233403351530347349095880861258666984404773981358319790131967430567240969829598924885570473016135125143019457288898432053742379126239302912979880213369769346594367964492680085279688057518182420511409264123239004811868460967742059192694886025475334238226991564602685886777223828175503725760337114374106583618476952249613226658477616648847507530757458290669505895334231110517134511326087228337151957228005434034751700084898518112963736310689788760388552806145071056363322504826057171098583518531338621700664276437139733134182564393478721978557774898617636037703426224198758401768505256775745026847967570338989820819988143184102362168027432381717448417163227126761170832417014590382949975945040629576310122691978296812358510126952481281526330202979893152441735986647757637984529385175478891127483543974651440832029850204468539493752956507074798476593506517778635610844728745193780831554982451881659437690340820710762863239817400891612567926297606386209215432889466455014674928132706542548492167456102939356431447559326241351809938958572683602205567120173475630183433931498229607440979933486386044350467952851036602971311487286592403902538926931279800567357097931511879626885060548248641812383238354580318378586904559361541156468149494730142613947029137434103708660003831193695983305998688970353264768657609545753054953296931442076187618786450226827122979995899403235555452998520207732174786210273709531046576525736993856323567619502757459965486555783805369332982874344989780829715664071674149211090455591956145397389425965337806303995476934909761803731540625547849919495204908990138179710448768370386284360599258445602750241320970853540672201298416683787571731964165587986078449931473280594292291861518609026011432874832820292613015665889168258692900816801274965854052584431964255475447429994000076357935526245098888336931197741559656775795726136452806964147151543947473207983300521420067563235790040823535369181892543798769941601461185184979102419427800038300823177574248035634251142344557908055161708096540702834035475386432803235530089640373648545807864840094741601677627931758763475595558593371128812379312857837327695377343806707966340714778743319030051052427395917961310366360190019714850039992400022081857659669795227625459585932114432520837512262140245389787615855234735960875919878275655966150784407238111865472332939311339575598515791285933588656053743284340264538962050528986609336806090608854065567854323508477977539969857863849513558056374407789975387508447004691489339853059329631227499981908689710604262958052619817235314493818056992674515800846198752341546996850512325847860609750236031635608330456655843176335761845400499843250812313719562363613986901972360810550171739533361531721900258878313084875706591438202925993774920552313485065767971177378986951425021608225129229041324178626825598026571486016871544101212047746604728487365155736306406441272110772008114739011958713313099080283436687045710229726256863384593101552554255482300898704406002493329279426536896702343083102953542787657921137724138458896688302085242888650783799035485755878805572305015412960946861352816125956554139612140979633654999458912741887807493739948199310696383561774199161635403680557571195799714807862722009324413052971000527353162413702470048512001051819782311826183241095767871482943266791334163271472064641480255704051490459280859661243490272615432086694995270493519997465166588124760208684725477376356765106106770266035813337940098896949679094399410388519205901443374760377533382012654124333138246654779936403770488446339254752229155662936390634167091058039137876237999043009149599192898606125196452061050518135702649688326834738930622297602048926809019189937906415497634308652611541292972248086293255055115381268719308808201232269025005342593112624542737780638981147715792889701892395998084119108914201808427244944832035197654467965004826708671824610021721504973087468840732367089411569540680252942671589246202575532889378906920878216989108267218504494389698393356878381734346229532215410892946440020563423016715796206929076019715576345135640994413628193747812701375712774495587590761873057582913306434953304536194060896341051982242364599156096696352691301156689721865758307932937593519590750026166362930517418041821096744482455965844549523706376729334144407233345481560273167288037245612577722538463211177640388353672093112378032572050845558858287023027115601855868541718382349913075398969339011454469868664569867265931833491334896456938891718120217289924050148772245696656255253131330004558718454385766930567532486452888655943193100893900788575353130853052172055966316350560853820187501423990175135758352296107618701374666847971027825715156498003412041489307130622239865501872976625994921330219345300191301487683843606367816508483806355752108313585706887398921465323424385570977540867888584090803870076215561816991835293420461134919245788206045047744639518769134557815807802811004818457876793144369877854612682243586065885362405006514945803245676271751323664096500417716625842925793895268217066920306026113968943029550337764356937611149807762851452176804409146933663941125150619163426805178688878862054333416842346239307987813889703744941479158478059199773803815500156603197477207424488212339936310830440542625104378796645689904820213274645481523546925733329090881236728436017879214146705787580452211483447349080456291641461408872767407242592662117687582347920082832178017260175458311308445335554444204853337558788923372614944258250877442012323666576250413836996338397892792168314435254213927014800118755201237517908591218184276923612586849752453940147119404551801226217652544755757400884849830262089382331227147127030825334489059538323466689569047174051140395613521465517087368464328307929914706147903330412117441830720834756835781797336479341093056034174008505159967180748496726018950969002432834489669299285221690883270163833520935728548708960190325890623602467672630786211527581780259388022285531468481619410554786059851494484046848259348039678829157223105277235113522135806194177683327818998925940830306380407535301124297930675854074802622377163345989582520508407087204671597706546663854749593308673649001740793615912478402436247123448528558448720354166576940609053950096671640404276435410323828792598829000874748908419527673057253022755940382810743977840320430763716258787670250322524286430785239146388692586975105246634416710543648030669816060241728120268959655629293315973505475927758007912880781683710850324800904765615951063708552851707014093696962197133039359526183705171008427422096480896460913464851395563911929311095021506787483361037048222909986678829677606656552920846636010009433254598164246259442113972655151960849739710729854609082445746943053680500322856964091152733928510608435493091132159045121229765653757981542334295013576720154371155959552499022246325171654696760980327791755018871723861128934826543359208335024078407030710002233346733422762542899394716603777024
5598648314582879110126657114811448867607024856480395029724138299338201379686520510834042365853817088151729072451000326975776459923118139210733552822208549011496850482996570941541907371258475624525088450424749189172059110369430552048400234794265148827878219916957444397559088845563706181935075349458741645828554845288770633286951678776817226607136738029393358602682843170941022110730757877391094914586325930015711084672963783946627845812907874088481350568898351327153537148102440093641557604320242774602663702179820980985696709705372783038107015546117742133234302621420509633713344453291372419612433428153819216244019372091611497245867161566975953311559220935110426418920274868098152496511559348178212161245351585186520023399909320695232372355970256726876234867827860567995372002987218615732054689982742849463223301659845261157430415045733736277510376420123860959079854361060593189352387847921162150603264785828915074978729190296079948808070512817381314314400442348705390251964574768772370588774304602650911664402362842850995323541781984849847238154337858036679878609846226902766168163956101417377570141949953930874315433988652284449247353744478716192483190102272129877555895443412932267989238470862680847085235231573045941404399908353971775866854572023643361569051424289031595909605862673592362518795071430976887710701533972936871897384125408189107715370271529855605165324671524846321537549416687805030590105364655596070184409814640418127576163799080174396465995851963500448609101779367233794921427962616700160042949821464911962810460609286799181163706290233929249366627397441234930402244213593444621559337838029519168538622385969836259889693510720272095084481754303638790527004669160713032179429623673151004177332826517242193254638398370423440851296642445514109023115597691809645020607784850239660163976824086665669668635228524687244520871238157006369727581957316070756400814818781975043574912401565671984049355375578328948566587715212405636428812551939296173920708827899652029602931719440265819917264632721597037326447843211808980992822546638336125299163020689932994955520629019773223649601463530083614171405236772440900011631493206584085460299304986506689447962331424519685301794271004100281237052751588334029410036336088633311306600156629558706493727607096062569494919572709804190400111464481766129070830429016354947818042365179816031258538510856865634195095715550245192328192708240004351426936665151044137873829810324625444082777476797180236376221718079610905409641195941757109552907222416456582436635796437053359705136696679125281980217836040761979733038568761213112537750656813755777357151204258432229340411112135707700422727565661429952228768092948511454780926928590694859952132529459130541690667707564426816297991287002127074334776917010801891839936914544234437605849371837034478232824967094337052408572076553932521496428901823532419413731598227608257098362098500010042261082204361436512795312579209452527346665532379379876556156054513167232410107931819178883290827361668139799891303577008910697869951044708968824812351423268830825526946471256862033159309839603265103202576042531120463409734415552032540514897329433878687750491126051526414045721238833719219049432395739390048981210337818455129244668773625066535182351259220622135462999551180057338305431110684346948796180194017675440002222270554570345190159943117167840904934920185507289715214009691991607803140927846511720521931754205698672755219041827912545847814120802217165417056164637033290951648988423972833228638145621011065338789302847777560811891225508458609036748305391791439059786536237428161637026416854956155266282707631201774246780877602064660234912643497090279223067598268087750520349340181351447327981498426702224776321050379816578451463189534603491314253450755055490536793221805837239450289234317418191805736943379991360090364197610970621038939792094124397992416714560309938712203841303214903116788633528035911894306259847119804519922507044714072085797508008779678793038692895839296168874314461332778340988495302100855063661026545194934069532954941667862146146536931864758214450973048223274345703875136865100666041262667984506645500089556259745336978073441730065183091810358856838140527766691708137953735928324055401468473447124748916820081860930468071637684279125040471702742921495406011916243327418148151133860800323676047894621204186621890908016987570905731980531455621689200561193382677595823045283953669170938199832787846916474328671896940279226490725345146502257132783194644495270891578783182764252401553006693088173045771864624221853188915819654651555666827980951607353444351299316010353411085542258723348796936766035757775017360047439770637044202259462803330192351136467035091095093160803647373447923335622223156030542586644607265307232788524741743237520459201667501249275507089073433033766619275350550898739326251877187926010794360942699174442597977087040725930195282294840809158764654930081317731730257634098711367340041557029081776810013930104783737257295590567938165673639313946430537011503049968890994740757530713142557438789709284768558358728846761708954493850798973201574172811928369828009704591137334422349765312856995445559670196338526182413697744350000391752898976676422358192519692884076549605203945443642053101779241986367337652001508840307524044062906037196688750862947212601805985525143786992899656419126505534364885337698567520484964804316081491732174770896127462112905012917331758192008703066081343895951666623918260459757711995492700101054204765608306042816189786398521302131170992686076582114245483985201140215398526776778606940230356382625671445286331110796465620665107795578073088915958725071820338865790233479369732935693453559539952650219916524703049952895964159386428210182454903838216506815990640806668314634183666463687183179955501352600538033063199938032166266915190535102600812234603885495800997808008348620817657182604710546088732742116738146242611636003652292314930530088149495765338705152643846226142713235608319563769232117312716713710888061672475080893605080549809126449689060706194521231310437129081894716362561567421064861137929301065332676497391496323105652775010578926223720641043749495038106407978269028245760514684733203652722089790038157560143785945501339670535811747708679433753360362662939455117804644767901465570916700377650197324533477701370736768670836327146747838095267251883058042717857264350104453171434099333055703033913094604882216349145104496273297623402903408898396315384382522434908182961829323879497268160140042193586852284451574986497315635080892166682504924009570475947991304303070502409613861339378727188655059780412255511261567332405912346453910145644279167220289921202520971825452322861725813107801897512624194186766644227950954434091287072674644419258856715389565679074354507626386259536403399883567472080887673411613842169554817789244951124378864404288586127597870711706251435365209114494438098879692896724037025261110486607716957666144137447470494182247956291500280743673735772381653693532088346607448815538069669443576139868206225721976572437028559853616672023239692142427622571315834613366676799383601871358659631759903908952611411089711615265319675487044882488172619207776852536362900835834716856426401751443589175570393461119835322456470105164918646843876506761848593748049247377624817573592910803317107036400191238587068797420569214433149671142642421631588513699382513438899864938912357419984192502030046376224464819603548746324045905259291205183496759877157699296358428784351663350488468392600886970517083476933474466485563281240072698408729129083291843815596489792433319597791313928150113208459955216668065416238268447032769684111217809272924400105396658975646983043619613479516342715919882763778641161743392290826559883092808677252561436267349396820779573493301747096368455697361740303553854231830017220764449570690443327684342280218703361674782394573651611119998489264830198552679414628989439976106924306459210992262703676883030329897025514336838790985666304876138011642678166567549696158647555824359145631972262492046572998370523904985767109627198301909191236926124479200672905179829790131444844757032684168981813077795169798815931674331502102627039051776
6011502853234746414878893681480222523187101384610597579456530474359658342303921081516356411205152877594406363007365241711566619894111770563618965385318555123998025207868019068516604993254120792537107606520403769124127799003889674797776204390022525642077421903507014877813677204813628183991043655305266667536714470864402386503166610969681817811768332509090990479530767319872156877600373936172282614945045809553565968713766576860794101812342463467728302749832353424610659705455272164997416864263887756924684998837153756117051302989845474659293288379684820556900651116092039485112938366417361025297947642224454797816103789680981624152148382522627458272892438170884454904469244047453069672634475371597124603074565922599465390137941315437899755597346680747664358249233885924297026758046029565142891498089824835705598808843544478272935685004283185408948961756270384772124792183299555905657210306582303255788512231490908624548757441990555984283004258353150391335461640433905769767776262095606023436794475748381985125798268948792653078915223128623015339617201125200557711762634872034094016049856955391823977460905282450452957368842327099206301689036769806653695235629752423279091763835363490678619221728075065786279165561018304738359357479221426492263795609307406194176644778265902688985611138108236579963400254280507413512331849407699203467951571644433717055234148187842427946839534355289350607418795164499812102195530597484856207040210735504464426294816547115978699497540063722953114355207579419180793375997264659442705608859640208922947524140895759091904424434676052578901873346456924526982618755597270822396113134438032477869623815158483994675297549001748513152312872960708964777619914721140560312911459402442739052800968599699200034995930326697093032027369624522140040215000028453878105219920493695899541608614188543530228181865866754510961374289327842417810912233958047958490870578605187341610605922697345091938853746997679980105890078788160975486954035673394611061843128241874459231153900179247280522819255829177687051896190611113793590814612135772099503815847508958392441323519073318633227883012323861458752916907575192564910690820731481204731513655322143988116056626827056285219854571020692947454385997874676677860002059418086157349508675418108057825655725402481566587601700734725774083058973675962778169932890046723487501569629297449753387984156221694708983558845469505436457704445169122102069095977571759368105153502403537356446251494922321985063355457799215190784839604916043676576306425500219778442319684490014375635121578861578722997953431187740706468403865884014387909001659104400156670005433504245589312359344454463321782745067408383563354350317395536227541366000715690448352427334871180561289045588098126247246318092041771416676006953504275051046864578667658413718518897585551631408601776840613446723963774714487140004494778530316626144433176927347257134256267055868446795731490324989596509038267450502034754618529054966408642301840401611616145061206748392772326976093786656111422283304515272236983994149536513735113150674949670452948729265197706612000825829756757308268282241406066863145293490710413386959819757679061789579938798582379889801631942380857306965993086765902499840534129856844191337326391268022033608058013684247630146816222595256118856658669892556581049245125757212715187988704838685853980791964174364043207406631801281015624110331317032747155237172794965886830597233764346564078567999491835111091115560483129002439019606927812423775146280638111475277365731515082034021054803991461072492431005367047674295621008460291174403640040470218211345107570770024965595645600191585312391774725644761654446575370309227455105645905839675782235776849643520793838986780358940377136184956644420145731913180599742863880534657412027459630191093092636251334478319783548004240273839249016648087668458367100037044763987389325910783279461260074551598169963620720507136603912386860835174895698662864380051745037052844137319871700744001700321371484612554327879243318436461034886840680908693203148015026760350026943380057867176263902983937136503829206503570959374098555208485453325782831098760236384790569279387552301689575902331225329197905331894414181035939883052530201141722088043293004509849810957611295457488418977184795124414009785003846080159923570329566058855512845609791606500699363901643710051481931572419825541903176457369649988830977648607616171677606332971742971424427010667095750479734117753127921317338118195435721460551180634880793871637614127383726497908894361813735639905839320703118994717409493047223726688778440611466137412561216135419150446624342909274503611964910688448611088775895802569321809002705853961483702700511707914009380118587174584451487931233636618782371403170066491271396693458644814640054743162468512794883100516046632919361660346638455618423371028458761417203470221695187665607380807528171049289335216149315822571979087457276215767866171356106569591589508027074939617230249680206288077145258776119001168185324723575121929627665674948963100030793855160159950115398169665710396350830799857127269951958243333866155360353673342785371986371176776473706497388975697151823372999000940874932977454967224576640538603055115041472304504275200680017438193268174928718164272652707300609300935779448264483977352943925587995961099120184426111862514074778944591885487708023552132446202539215046664051315851632683473562152413465146257988790015705601522508599363254214367054048574727210408736605915012967324276107011585190926147893754999963677717977718653853178628942638528683035722358032661301761767028211102260182001842450530366886461369174543088286244937580619332897935704167330901654051696497524323412764363529879721359520767170362393914785626638738210147246364501244991192935510223026680867518314262779727105833067540261175768851002652608739345178108787538468602623272665091929748507727390886055344635594656682972749351960368948038076920564566185683012014689810136520367755057248398001869233993393911018797976459608722738422575214756000027883953247069125218974285935776275516033325713994673217717078123099502714993160020546923308935451229111076504060756955350520635539419233180764846601295324008674738751310415304764215043437279256247348328228178423388173052284681563305345275829620321935006107739757694148758576294389299215559611709204496296133142198216489853516009739344468944804382177485741976394931330138818234513672414069236180058530790287893685342499091792647498593166381890355706150752979233645960340599058152917285893000378907874325600965674403061115475542600984865995017596300944312218517970057895182610227597558344875995448894704616047848596338631265541411716193968176315109800811141686113786774586374354254318065866165292629013235679129596602066363921293257286425537737041122817096040641377892843155180990783125099201405988102549674785907321011521403081412732509499891028034436503648568411657740738682802146173807488311140147398850155697578600176389189753672609428309008707787142224313509131125661029481543815426303182486468307422509504966872414870841773803170997315538415043157430208703247708234337838670327388630749042460551201047553263506906106680777408970592300547660492716126575015752627373327469400293439942830738351834074483610515340485061714038371321251568673755803601215642662865395321078088409136906279423015759667575734469298433355848483423697253957701037982478906717023967653588853532861403232273760908296865698811847088824945387750894345372842531600886065648589323978115415880683857663387439342837624479740847435682810800301635587266140641081990712583825232302881694597724733983307391788568507502258284545303483762582997580918613508389482829389993959183274400852017163153353195339670864465600928756645839293251829058299648876517299150396192625249763492987643660344639869709641369396548387021352229125115281548575030756389173558036415376202349666479612543152600383264525860740463196444236154750983404556683565323847448192433005333187891621070953907938575433826904096053044522696942490815216629964032019963989212661955529845616872784219515365575020270330315864701677681101873051547980587235169486865274787364813111127218456196978839518170331516256081048334592103173192679424
6454802038613480915689524040654649151972800533984708574695639960250524780482228584419425218801514888987066620412734480069578424342618259384849735933824808199886185759094185945895800419744187355295119509109492636275815865311541882512131052845539594084010982143889174151698794894043806706336350814111104308407273382913138275153863098638484563756843818013749856699458000766159121172568770253307686313214583147313602548951046658148745252968426302436491952931029206860354096241978846684860755339123067257451579901276843353061573823573893333438815354015760783769879200916180302228625187287556557572569928444818585512012614499705369587227610257768495728318419416317412698302370551855413401584693624470781774364460560421740192789431584719643249842304249234546342811766321839274962615428961150461234455137793061034931029992019894778725910332251188475313535044119084006382403098714517007496530344913341281503991495681687358465940313992696513773338148324563878937338852377681534132674576140086438073990410449103191437757715502757119185914753647623494663099140552997947699203245277822543894698980858682221503712245807326669584548071415001067906403327880622015264466058645200155640112051563960430184267600939763753146279385402685777827153819267207256581685249786700925703644128742415305910277914813187053854793423242273215837830253446476316262375025446081160938797987023022300223208228056653959051368985365051812408294268703428391199316125077516484945193232909881045692908343636551534959907674241170224176045665310420774440749543951980637912666750027329445361206040326159233545190001404041642079032654278931623782261582567481850207758969509482109453517460278007866827701452414031511924173473361611401916590767561169280816686110544333207744896917394061564652567706758278556597775163887482712118976572501352036015675127597292919010050607132859492329559894022969581251684858989194029154429463662419469232042683101182250318975872518770523425607182126341503675424981314468111797953314017320296195033872826403178901935611621376343882115204198365428999401760791280516469769536723064374840640054528343883938975294113311237481444657765660226681798443558952277642990132902546506193390368966176570748242630888102496387143608578158015459495659027923332209181612450647263308638817052589703691434148905932406592803755669894396258388291123316360322693576576624847536751164287584583425195155660745760903720011669808801154354385288988963994798314945470762585162736238120620746557228044817684344721821668929992104150709336499526097305532216815412545480676602548591381551413265470583192602432565322952981315654987465784830648737400260759370812207628257979732072103620406080720207719668135261998418345365060050767433313121372040220911843600983634767700536565433131525132759723292363485108753482179603034955069103671979404754847761154481239564315687971858500932969591697618213453849766840084559356733337071999295966495685835792682136638781778101884513135491811676627874314541671383349259185868725660364426784035346879199939309709634975847595754136928665012541447252107290260348074739695565218186627015949334068505315655234158558299585809730726325908254681321553812552267679398213197136523279988684627465393322955410411184934825726740740890345838643463651238505512711141010461519838642220318808309474755847587359020295153658961961943494824888174616333224577124301793535607140003883252804725525595064198195173069469849343263052791483865881854483082394105290217052107937256306173361514432348234186533239181699379649586472098466719397439641753892403019093896967559293138016836872477175266569293925919927713296514815691084205753207287562779153996510905954890723548669305331676014347634425725986469832593207766958601627854496015253455131748740606700530273546809316594069001144805484041407749765841049476405185172842119264511366414721925924019242394358055366912453468927801574899757435129787409001131800126081527062102051804146794855866492018360501389930468068448393545511402846542762170804069472017316152772477778499704323946316302217404552196813067048808634048059527391332695331703650958555175616944431774481025323870931492923291866740354476191716047956011311563511155575737127959328047633658156996299583170465988999557316694021628846361983680739067526529451438616301954605797703877537126166546106260541164009715300488031823951192271390673828805343109613251571124905120729946221248953568119172848469010163919030638596444136588554847902758586631274355940607113855894740035808168740250381634300193660145170837781828417877196454246303100462687951876917633619441322430886443154031325699598120724903189605088836598205872025005791426611907400728856286284727485641545004568081136683921166988943666961641129141315382690796791553204576129485266576539029564661854151839754283383120469270945118214875252899893834096268047604268958412326066392888879094972675176091571136137891313847924698735600627680497196656231285990406183419802421571656253408254087049294670119600116456223402871222023955385441338723847221740809382681890745935759050207661956968656641183121351233504006953970774238356036569141286628493530500182542557164690492997317902547090002551470433449779620432766691090247385577139639711986811197160307883903869776127964437447034669112911688049751255494347098148731641220660261724702430575055775202351620909744483899878816362886059170742788301651875096330195733303575112132190930917281309800068303479657963016721225795560535985818710167619623212195206708628770755212518420626622238672036430288734251870119246649553218747136649238687885160799094381871570797727894142334448397898345230284193105908058231443011269983065673388580349555492688827354283553586085587546178505587512578772130513183588307384235583068419316061754821999619996935647114366510661243315115355017109922319492839438980195228306430677972440946142832108134401983747547443976265149775842548486784754041913972021991428949631468744529979365934139300405984000006466951530201068686465955119291605026717549581967817837531249332279464130793869299184884166819838725166705849189777964928512164396930742747075484579847356578689707787985930911324466901008769184073740580058754586553735231336195768104755041963745405809555527719535044150668583458200391189115074988526261193187801349042652905419079637701960667575627943833322161045980727105796746657372993442011244250764343362191773110725494649105612642446632323727658510778000864331170370821184918262839277523884450817737039539780754928463904826431103931117522895769135626346493953795477475879695681232106333550779394932953314183739771194209885768764271598723936971746741758976718861657435173572407111898918376436623108481656725863763681081727434539596283231953570252882891450444683853639919288461192970426998250491787886939765897214517627847329951367576636721061451228534685989952093599932436698609029753986855226936357864516359675327901574510320242930986239796501322165404472379333863778673524062301387670221681402038536762850339990538346392112245531249095681804442295522447001230630711758116740025335730038094520466646318702370618812243641485321310508897831445725868963357730326095064945537339337845694658190551895057999584156520846077739150401176381752462872287054848628965943175264339449532721165072881383812847272411209584127228469949310619817489355052770157306638535452294859920014184722609366208402787204171831851191658994454288333131370000181339863166880081495738443447045821123705014573308925267325963986877344032552031921899945913044145700043755188582730244051694842007138667832244703988572895783954162777945654457025395906041280816257830119911213571902117151264411740171594432494566785173288790250773923139664049162595645892921082430605463352062843587051680246493570951126499254955604747089824394867323231235557300058192091029508529163713320490082325152674361707644384564669447267206620240498125221410870058590504465157123971610830897951845869551072206634943154904443089067186602423322821651109719888518144258894483923042882529894066278891304369067226553824429311033951212712795510538191519972026023319099388503820845028549073901446439060916609166415500185574699254482001775864192446306583360854241203408162433643492904949490115930617087157180095508173029376
6930790914499757429401659761104373134519328043748914973102136695766685974752187719819451615467537690864130425411485153457600784264688930767593673427503392852995949689372615805341322056636089344272317680009211238989363094307753309180969298809410074015985561203210992307498716728132483748765025680647542078763484257035803525127922844178378332084117773637207828212214653554049092242071010137223537135170861811996168300921746125429738191233659472387734513701485446771509920584733912208818740623847740797490736994878737710878610261634886426628033790620088708712739689451401908827835273610482590631132247335888991356768398603922491003183901341337454773060828116873674073635949059873118170091593422820428257112052322923301523859835917700080271714963476936052393943235259073474133196222503288121384325151300092690190171857830147263997235356211837139650934090160345734222269144716977546908346166218600189536593291853743107676960594621650677377425225950799763374693401058078507350736257383083291535229510274128719938599151914003506183669502690109904424810336670208385030799095931328565029814147638142534753768009584295290763557968416825507615769370558209136924623628195788183962097801810668924969880149937166046432371766095878801582986898628537463068054725099867862907519330242771836733619788598428086459232121415362436680057544538001766196363422394521599398462502953628294634343209925359597328638244042900038909787720806365315819739243693344691935120321937112501625330748761129638217851033011311932401276169777704728555502995250167858565030348878496768511049712579627770341254298534138233737895674361021446491247330511134564928973894873471705499987481014755714013925251242491398806939774979712038273117266622689935156876753971337971347776542774676991198341975738131144461382338814444618079096809970869977617584704097750036320136013235143961629655649725470056069700303564239993154186269992228001146325389798917406013921735170296136060446184043838124603353523411762907951770310859802262428675930350406184673562660752892232870433620334085353552360141540841225049912383220658124710808561476723421639879636992163270813023552984355776361567728387350470125338646116782699804918271517775425381283087284349914369684988424653434079699067044724465658444614100019102485626118379249972365260036222143466675666729887042750925860619010992717661930229506468839557833102176274731161249213995133078513028213715641787882729783202597777315645069201676237156863591745150533652420599761226494135757853571399613850216380613866830926856443647774144537896904651974647558657694429444180215568679249526866683224109305996208941652306399453005842440992180232437100070131840891828733207070575344230896899599267341524780556445429305147849403245891322896189620590417546865993827951267441677653771669802321878458348591657422796263751904507904329031943569292114718207461672471125935836969557988468847111077935120029295343377780920597454999003246742775557080734971454937006726911935738723955166036787283440515115304119804567438544850495096924369340793411061641330528451236448077469687843576645889041402086666864513115054302238585346880557493807605784787034025547838178743921204025993413284660634242083673512931255451923467563445574301921096952728698711324775842346558532768252515733694155393355883328527095721780825743116873794571308134090963826718209989208572136749243076482517394219455192970949599101671802917567182639608234746840472416136177818553801167466988901165706886279594463746087652717991917578627356475586159324615459396732762889103021866730987917464987757215184242164882166164097569093799882409384060823148871043168575623040086797751003321390509795896827223827932679646728622679158364213236317369605557705095844381855758018976735466053048741493997685369984979909116871081528559824048761309741358869548490545252403101973042875861194449306739616145678761567036041664987342938165553819609273109277131782208840366818378327070272291904240275846251978476016989534935427240705245617547277361101506590005462582946885740504254804544423851208421709269600022079749711940601747530076299763207698382671578239480174812784643364721790498501078153149672657763022359057442836760032239753919570295680522993285685075683895853958348608419584433652943732121615000033994901577419292096873194427536478586477785343916291288670874860466727380819400076457725133530512851461964676550521356159512667025758962323588903686390580880958946198430727134700019911150579441126542392092718099004091318054488417256226992709590904197511840151468559466495128788758036347661805391145763420302647407912123409081908609824562214129753029985927090995528155640292096973831592577701078269229473775686343383019771882986825314916960796641084037615532769674174975685674618420370315019253211949945220218390719951604663486720561435935777981193294828880245027526581592231134611445605668751429473736084782742451734844827124635014311701201949164548481985204381886057209857967132235584960083764437007697727194317732750432773110827258406086345548169309121797167381309782509394482528450934892733678237686807242338065263173384621467160467218185453811465635578287639038346399351788766665231780517094436982041506576257686776400829209447051553318782532607664521374078112192471512909004534257877458915820790274855326135730785335908599373662893756967506998524985581516594513660446323078165288945861546578953760072954398286621823219279379626705834415502833488105698791485241021011830619988707239966055220295380092849579747036597228585510675734452674362254297250994997161882621500530796941179258952899138932962097484112069106240793246974147049543905943621727833073084173385256042525302272308920147809517040725279791945392819129947953731097591802156035821783809588073224981119214667302816556143200233761918843279768066479159199830552174149731524317843307095685363243690312313998023178309948021612754627946369149008701700356080769978045032743697377550610067060486196288005200681759836331757686578155238763690305569275270420952562234170539315040533893541183789324379238509853912146333442580501114217348681005748275718919601478449174294380686370299018743063515346116783263702329960935105176934573541307988801265880701831348533905572348962856118738259415621904315792913949564076966765473886195070718784463582054587362415578912406356960889181133093791424439729153581026765191630325219435882087097704546587832900487338106813936694528611894307140527414020295471976831957267337893786275260387804308356985822686494536945331699392464913570336666873953327707901980445331084421948766264136925649278493813063413580984184591212445236156504382962340630484051258106433393008400916721142178316901643963370825590429648308633386713381098441606642617124394480452110675976005103493282263160327861222743810012608112677004945255511253032372657901858213874582118406654610180857528997870916117203394578825362540915626628834707183164468840271237996718480293027870343562798680442027163381634754938672971735782033979500460786797010421729459252995731225481697019276044707665113578515239737792983475199890262149406368741367467201140850973171894325766178251544700718524841429832019723400725388412832579731366233059283464194761534881147969459888609800981781324754909791058888683522696419971468760749990850704912237056907051745388101972465401567194945044959196988365235747876340524809927514912094372859291323141319828502291353439438396855613592195440716235094502844493751827384944751985891307132018268173827991445787934130727073470173366396486738575998284747148031969948136894219124554475030336276024852673584273989560178214474897482944891367235605178747734419460333368178861878934961010001783261722619409643618682895071121395523191737092663644009111835787573930134776477335982164750672080163286737584535884304441069020998481964398525927802735356117569719593647618001836225825618265762251801907775643818111470137955133497954739871537786522372848138634332307908765283411268159195401034381466660489242257226548873640491391066740317866189253073641850981413018524676904188658101065249039624288984316095651254116311449377225110175614684449895715573447038242098711131316065758944761987657173584252881091683147883435347988643037491524144949312248609717530447439915469791821824
7441880078297597589803289380515613863835380656949311761239599194009854476965631990269338928271860532977199539155224019222484172760197591315005750996907824808164434884079185910478420087663865876745922338440538812553738645480291055542009920991617001237899341643999405537103640977324285214049316421745333332768255250744908510376485708039359731654078339696034647731662021186652754889545575962264891059250095713664710832442696565983859869297690332076483691969585975125895973362747337449752903442833171102176918563985374488496383624912960173760427171874048141135021806188741844941881548658058642384517250439656586240936735062534789044382272033683725287543839645162423977407374255519247112521689768885609861252636033599102790331239738611998075897640491818698828832175979538664665794930900590433452738692966037496533862037500011005433001022336187740719736693272550081134438492867327434984413173338966950239767395941202465664488071645175788218072098536023872184711687892864746417976956745445320196961094620369711757656621380995215872048570831651515537561521750323637803064517442855712158415257265984457238494253483890707259073085737616612837082095106503376854911125052443433765110440582578154157278257254926156087163552773890263294650439901508914047025716660550701277301748970132194790187113932170577087565599687920724381929492297195253750904803328776069745502430717034232498689091267270517891557555594780622028666438791429445018622870727672426179134184136222390788385602778061078040495477545850286929510974464846349772610671357378572761789709420153474599160282539925267367271492955886113361866439310113202458630308698156480056282860329825758275947389841949171279734460668770980859274937844865566970134744029341410761786571952383677075421323383295693540139658804824681405172170040007761763232785010703316633944574652418398294449090779191618262812469828131317261662275082420751423123478777211359774729514940200568758736893314998723753695659909070443872344088744973007839677957611651089539493163359342095872272015935103719397732151168444296894996057882961027479487413399536449307403057314833140295125432564423264108581872736382814775405816178170272319638626499124773100177389030423433671274797601049083709549369776506264876599837619700737333523680946730629537759122130575789079423905527470395098013610965028597345111269826632396713037979991014471585991068618331599362189369153700518845314121958495030651823375515081898953246560341214066742267287119629277158523476802793300290453941316079535608426999315011610732502448388514223496161059524965343271390259808306033370849426854657928969449885326995743526094857047155543095545247555972513755794573890759669970689369329266843911114131662184352448815877450218572504407918554869552327605862622893693497696397136085938777580833213070813210973524834072336399421355029791016672255242356785646345325906609237349679294659827012310864225952661933914515433164806754710500387664339509885482484483510611995408054691767468247052474562828821423695406215913670764994155676412674629126033194800508538675406114518813983595929872614440701416688055085182673030328344705913539202513537847340430181366141798365301335982523146310992257340632091781158395293815558248369978886675672285346103754731444314269352330199097347225536485460670201383646303874993727540361640467513360797693964868081218430727827832562548709691561709730980924875186899401551497843114077108329994080622492667089123746603282299507689334122525421838323212333483026029093295199198133001158394094182367211471245776465104988423095615883820817410569901088678178285842109207152742712829237556184774810217432609128964999223335481404139904204536126979125860697593086066948527268775176688355483153690806866041393954120198706552885290636452669559740945787180218503384253328533567236033662315640827574294506069847095793056357404498817294130933320963163050377651103506543339400972237427875669378801317291004392394621630502746885919387121417742932447222598230477367654137475753219999943038335100485563777140390128629233592293155025635330272338035458350729162576300050531620966917402152251630411818151715318241485625872582406416922129480864549395387567121592318451267412178910558580224080084511246254404381655274854832306347112518785897630279962261747626438667908885408481329654343981598970657145911612775708353289349191765252681457243767696428784211018422926829113668766043343083189677627670385346291540385760220874891259093072235141107772114242898958308742465595310390524531574246510030839766845619505834287320206946472755964642596685055821885464788243259800435420980706716114329751801159591086616049016552377680563124097466814483205617507569218246465621195973980489702188381608311894321890647886586766841720524087891915453192420804227538916992777457376529985509183099137535414525741396385526086131642173423321927327082707283135907549899685736743769240523848004249033770275601312153123888297563183224494019127628681244409498686192747308419378978459638281124798994222589397814589870485370385593837258328662040869380680528805635038726229104017162937949124484220310830031707698436171546655145790863659149864337687668783822087981836369395192643945350302514898923693313306510464155166282542810021493179560289618504021001338954074638323829104758477806844619221094445019530952188762053103724503673328983327871328879366160551596042491926216414275146770352392428685099791261674593045967561756743986306686895325163958362980865335485725371243157830324683239669597115216534502974751172934583754211404965882121554067474669283881554875795438219054251525908136275456304102549039124212903133821491935988835209515460925636217077808139628020324610979340431867444206713786594009092408864296333743654469035891486640766433236789311118317279409330598224196749120523188305998285657212437582398698376031341428307113344459382592435161898139872800826071670575875575784233931155612239615447550513412357346675208705718288766729104733501518850192802967512448724625280333673070987219886851990791790011195333496784732501068390691225301581601539825548586533213768305187106308055287644200823113098142231133616807810587206315591426178580412765304308578313571722906179241242800253750792315175495097739341637183579243515037634392955430479976007171147310787463653396620989456866302087452747423137952380246011714514367153472959432067810649680854934830284283249216146066312674776484907715103215003682555581444286129852155233099344431537721445698393464254875945410288400393537224265715847190684968153015644983319024183952411696582130871121253923004048332408674230811424726112330078121145319370795765625978151885255200788696577543349247643431301909323221217828379457853807518590527596923185847814273934227280964336181661872348700058185668992618442147327808847647297903004812775672798883505348743269251555075911055745294873602933070306809588236970674059656552144019566547949485356918864544003741334607044343799985532626113682615372666942509869643724811079047231578803374055897087974798812845313910262472636092823403913885834962120727855119811062988934680141754889572488486813152204845764878883426433322737767042973826178600871408270361477503319167382609097084126977521941708323443941757090724530454870411473192007030026458618799378434895126714784019204151177403769539555404199812998055652358856154250179862595010114746001554528823169499411574071560657134162423417506021491257775382403123124679134136784296619909443739643728136558554385677504070287216597256733510718742314045960030783977870403560885274106645422425694200537854805206435728352292779065654971266102713775339625550256548137412542372438391418919446396434712131692212248197002694714746968542314532231266496954497330087605118136830415178538108277763460607032150410855144580401719449028914606503524751116804325684376292630201373466968869163651732166546864467275262607277000127741699576033334181249476672257422659110508585455238768452232841316087260997892015407592279068242723828907713652311768807886746500299054639981836524489807395518604608032368114202989550176846820432328722671937136062735763806385353858565471602415462249618228809468823678188415968513293051872879051040306220638974438421609935400306361049519937914921367739565267409670966940087665584766976
7990657889260525250893387740634665290634289262327072286058059739605071020071643678544550232116832696552550383584489657528561217470665676298980833645909626169390930404360413639952199497566439245388525836239489460134245431217297074028563041191634727618592297025227080356325363140033320645229543440637987476214585362232415422644770690860113582058400613504111848222592241180483173489725585264852859297120489843764928333659579386238046050620103616150969306921677397456498172072771739764441190892003568866955534909593116712601173970817773698212878010547201949326127744456874156853021068048048638972915261846541664843956713374650858451970237726711752629362246860560213897762728824171878461705772412005373179773792339524825914853754921118530042298822938981666757776924426158832476774999515153934692494261980729071580662701909618216993704427517122965926849149834196453248639976547175150045405212310610543426165081053636932235884794074533731641910444845578002227155192672203309404136043925823561800549044994712361857020466607307202025727183061370695225665648876408175444977847748771708141795775286207404270910822749311162629007175629216847280390343637398410126351654771702708227772872032581089867389138820445643822339696141757190885838212782248561721112614782006898833969109737579864355138809014824647721135294728561829365254245698584381846639365176601288816086995754541964673582502466221517382305643945321149976914882275493807861603835183247198160088889615179294354761955142254769118607959923832330718616473149901543484584967505136224575760800097225574176040030642774709406621770749656306897441242589226251654410992203241604333052781110484351293398845696933574885190494034142412826106959079032582913306633579838155910093943266859690570789877338073769113134574459830113412208448892796087089811026713992438725381187902191896995840255808390789439023972723202687108059936518988207968515199879468215078038298478526209624843567764140136200965304611648972547980365004645188268542109778528924533722709260989949461876225414315333295305101459049110590430603664060152166738937848660307833814495464405478316135880270512833111982434085299554699198391403357257183065489838024968272170604421084449162537617581381267455820226521876309196027444563881288038642613526936592996541756669123213936379905190269744138541793414416206325501332346604433424149005216827382331138222865956531335994449868503731454713959164672906507024740151400977691442652422501254398299814767362446259994535129052966548851744736716201093265356015347317489095155017149122986711633052108861221008704582404410621820732020274987547719560147599246093945283402832046855121360385281469014011956338767064779966029961016637563842981603129978422650426893558159239559206509149077198306964485799298614313469259129292123791974161642435618314009371046127833456278294239380580481754121737078683849172837056167093571663076115723137808990759362576739261282529697410373278203415005099703994009376382447305724269030159139452206660805421315248982290696082673740300065331299032996310408469645354444905105344184209062999820397117207478994016306176518712780364163428347169602391512896347051884731906419398874807511235242183697646807691542036424195694533433183026156620625656093773916898589648158003598326629068763508885277089502296123706093594032997746941455220008767286012831245446857952115504493677645633063947615102007584690153704326413723997374994374893438036798331786900502239522140660300647646065885931050599112493360641518111853357446666058408187598202758282929163573938102620913570325497136575596282474456892901637299716095379807075973734107142585752119926323213929498222823166799261891763890056462211591003512643314297783688396463277096041845239296375010003799594474416535804430754810302745520097012003632542358341857703729245423100196245928492478460616692037939059734302465887242892838873364130521902984714728641183450997589168289684015073361645795081812757325873478297402644713196762248989576358011941135672174362018216612117878032718592535735052000785947897110924619940446285462658937626187962754668955429114866694535044300191345359493379114537353248394208224656415271774747674364741543508060965798252726264743237502788654078665179701717328792126961848975831275373054403987014084309580061839925904616884309727973000596325501189926329769244570790152942200938948194008791901138995721044841322331056911047004183208465201868193906792432509950209575843188848616340251967524169956610523506706542129090154565824567962849277039106148187504550214604486308939078763127355782221272708191733118080816091533825404918031898169650620236444384648437258458706356202264738215552371162666817109623706206214077656258163267553240969659716866970082107390285420162891714832369001613564616537306824547762809461909557561431323829617910102857465661907301786922570571406882010387377230717052433812524659579998038604955171271581117270733321135608088611118597747110714409575190908994086844922238204110513314541278508718355166443689928602012499341346885363143110140916976771242651357661361047107960211874789274260298691742889775768485199801953696784082397340467867910889623301309422248990441105462143931926341262990141299357502095046336016857054863240816190563565824624892940771661311994990354385968565607655039784861127043408671538880227618159201578009767694962710534150708234497194547580776462360886082535731065886969140128971491329738831634925605518932157973010383338621751727128422422814686081705436252707893985062363837739912183042750372919392927721649668926966454124870470671754532292687284206623588383385500849018399369688318679725175244804841749943161500553170493360085585661766237224856865047421630297268735094263398070355678503313870424298008349646331728182781644378823885475403692279156260178335540964045978069382448321485210928689505730426397245114654557758715179338244009228286974902318867771139613571681717514001415711464603521041558838931258634610546419430436954756976403010009429436285622221989451861498961997530210807810845857809125936811049255769540876115178922213493181104794788161924992188493190447928854831759357530268839298935597353420367457583750282133290732207937261345708103479362980371330038581941718986349698966068642599780376680981737096674274633416184793657626099531791616656100392527516520531931444792390494187068023861575743395266495098674946195604070576734545991247492996368821697118486598426318273947001368343445354010319235263123556149908109952178709298518567495404598976994966794428231353514000929744925418601177174064287031767364444112453522415824648182013256185454553726971861068190260777714714282589422958000341301753953260233685627730811398155986545478040078410356307011042638360123084907372856693206810646814166948364505186354794368607310238197996147759043762750529413900360196673354033887862045195457718597000262806661153966894253835799325111112670680076884663866999352635487505483445162116960679556975574815602787337842595050569255308802071582617574734596133217198348943337561987857799687028396435028384515359990481235363953669309117615272264473690482368049753995620713219727429381885770830658409802505269849433905666617993748888839563997782103582292016689916890679984008359490812156105298855712730641432445610165290750558607443320546316313597271089877859854564468991184617308109618213477990835533905821005866614050591759350470308646517874173232573229047006323793283826927189552902771436147218600835830437759508503268880562696197620153021518436081065923269689943285084548542755081049274009426396615395351737999589522995499759363175985384601932717260483095757809469665009145887459285729776514482778034901198124185974190384755927569701095427019706878270012408211395199339975771572480794035675236832746848408793952341544256893936581798327336928693303513711432248751110180233728357326996765397267502034572928782016601790409605503630058928576359681115135203532247706114367945593414147907438096167040632778784237175051962758779632384702940456446620772656723474609760476675506462272835937763479989983758305859827027539609111249355934089338077459501392698981527501797781241708220305528403207352418777702189849764511768395407498867438859000195133053247122272114092461134426213255567195507859282093428764889719425204224
8579903576974586394092323782168304426795151869474685081011830834704513996741267294078495031492751320699173960721909582983852653742613229763461249659999572142279950581435008095156753961328872036528659320074914713753319974178927100617292307948093005974930469320217099275995365355441745130385626872637868396399805502247134447836326985665878486446560749266624087410537351053379915904166395181750632233305512712617629176212917365252040064588826387874937642982097713884513307934083788590324414649112099049714449380722188236833268323967199102338321175334443859165791975190129946517824941516339865251495519852543255301546756795942808117384339450393090790488214900796197732413901966883688068978270220995528895850991694038613871097539502250786567816735295555215567055561018453938097322825617000501477495667968721886168847332677201747458447988519111404666584856715819397285525413937081067657227075485502219452041703455639961452723337043454240962711435893142322445661678910923015538433388949057911949898255774080521775705183020261126831440800466698074231754325438698064870802525881360427659767446391306460304153176960186062504830800069203645290375767009206963503768896259986369518228651073982206862118332034854514090653357282856128706876098361711685483804038305441449934569465049285164898359328564765460284249254712623563559424856000142148381923040234925949974136051364162145433156040812565190462124567455343687841990143587233991754024041555055220795303288337537273607515004800250815266112983229534627855978482636422308721553578891945699144451027684094365355228519599388808899336017802845810341162340750582278200090276413958418949258396677844212881230835738120007904065031651681192623665081060613805732765098611315071151700650654710442905555524013719593494091980337961800705351563782361651011876543639194967479199031793386261078333636684328120757057537251537900377109561339222609058604845290304781407917144950189157154385888165735431636032916734427579431394364636273492924287806774405883465597771352117040380862796738602101683668830277144453310946673323669031033231819257443154889881465237590465362760188713506062841067615030709315449105052123306741051381840970134393990102593230277680501818413970446790557444249441692644138530481880080778738081502332539970496452371498068524212790779355947302123331173961026445275104138308273244551332318509301748997381727416210673461423837455683756762990739911737402996234213303291321941792942803534515539918465607169888716308510379501407694775057499184053532233537483928400674248131857676450595752076635390055694008753578188070166718767000465270111065687553360923721937683957153808755871473241453467292504679556996110047966883668380653312147679516143227140617312287067791751966755353126402838826929758885360992053616990065414776829228132882819656611052226820162088032512479908201197116657469393488914427730182951943645500416186061947397070029101557118225354381916016631582280258994270604725468387712869991491632262269509785405682740798162392123921258955710039756706694456148187978894523260382051514798915319176500431302758064873034700281476753679717668630920328223787583194109217819443206427734674949762656819364762629435405254347798493575562790322781275374924631249540267995325520574316071840693023865798044065551455117628827606692056310575571706516988808549146535081674947108890300952573406453721631690071717820880079570047040113323800163383573997672087819963262819893023724581180588200975781791868090783782208527341402243113467550460045307196274097888228408800543468158674657171278917547651569133457866231742577593576686783594935272022524143836294291453557661557033338201629178905548495705516249886561198060798053656039355507536736266114298121394087567806179829498023501420332490410785951711243966956794325730300657603247906350691582743256451861212087392583279073662963199954885089465962087848424106522762182758636850849360192766013162008274728514827367653075859277552750980277530196771848368124409875639018688797271965519476226322550861860793228032939916058753128612848531741361565926700091576645293295042308718632499670106909298808258715316356606366842593063122210178381107216873285012155626214920740119417498312478110727909494516930989538209740549666120855297721605535309716188249375200258276274034836848183379924294673483051631345385667752054164542315941397802760746476506087965412943042883107230320979515416021413887598094482733064992472630836179148131932289769058352228991013296984367685958778422106023950399668441746965051154884465429755729012567943273936000030941899216129295211259929302849532080647974226140830862918415411104846970620647010791589013452942449708179726868907561766255500423877108285241792416975873953048064021315419008946926309726998595746033607814502628393837562814150995226859044261699548600016910202791833713539608700272111147735986129374286196708185499502022406167888106981039379908222235098053725580414456109825304949220080348551771528814081209187444106863931838109243246578697071217227554671113576603306540185455741091670919715215371386185044251122817862694959889368056824206864604300152354201148483567486646717504029693586220880634017178391143498788417121501369498012789854327618874199256988836124264527704454756476796662028887584651734021980796287642227190781389354138285354155574142520257436624755886254605536420922995750600837396402237706031645168518130419858938422353793444344393958523313921774202681834196311776950929345562022574515540247357808152698299026719491300886493345020144655395149167184544279802637083238850742942828216784216946405626404672201558976778564748769585610661381486076397304615322125930538294523438185544573126619434508414940347812442993838287192980501786564905825273885397404916481984728052168229037705765127067684155959984904569038761446912082708614297268771595803812646492075717984273977756188559133235425853688827058082910198263235112682110936625644610261096119985767517371856942477642035906416917761319692926615020116615789613886950526090829334772047883331078346815527237204771243829343962470250023870285691024690986678948463658430123138505609284505683618998719201989560791157992656218660698314201923246102274905313601511952901988112932964474806098556869677458414292283656844396500871499978761225611463003079621271476456230016199611558946089519774336670548683817153203862227389399413338296711169775522887683376453971165348283985794779344313830513072384928575586872859365890493711407117768751412444920096157087160382845723547109684668802170616112167842012073712791507426953050749435841894051906273992444203113197688749254787904764100033198986499055865426418450030761861967824172854064272162266411655999229861049705737439001579940910654570930052949402193854489273132863408177417615654056816493341634896590856839769162311576709847023711833045892544510803868541207281221783114503706810357871728770163842775121685537074599218178778305647561267004410175441061403786465625953800535619212234491604433594819596098361389981567983981543364207746456555499688576499527942475081295992195944297464916735464768052971512590818549309582178009072624731042807337220131357156062281488217743367237918340519152500566690343287855007164101269804607134629426750912355737876329398100218952364122239672231995128175090980018355042889861467921177456427660186010909151591452483479263601460050091056732871386423964343044463955073463369235155170502351849335175274500825727566296503814032988192498794613133643437777827561590527564484316807311136315840923617383235146514382711115308757292295562031456281249365672477855410177660979859820749756547402360157002202579589281882632185227405773100503781948133648826442400651091463502741338606198947418989087695536058924149181084042875992834249868425583940709916027378801374020039880461194902877705651398122272426438766949132232716813271319762092250526047611424604404716075520588178095197066167280623627447326894783057390508605269561538364545485617722005975326788901787392114490800404983868387147068719589491101902428667764924622045466909485032662373709080560874878119359902359494309646244018311527144708282086512909624769346651904943670036349181799858080432836666350401057201734671348338520516254191210809975323127911414445698659173431890328740426754494467015050264576
9212601316484816796438274562263973870214300842686758280711231006035067359894498400415387654289964245865940003878847552396161310976833955852749970763247320431271261655939886129548378564356488524364877286611838741389927675130514087379842968677355081557164740401065948252596343012298427742043380821609600503422282193228074240793010591049302220599489417444351609938525812140184472267906234361957735367342654769301240966222475304126999718672684255736167028661858398652587444613416798929805325737069945214109059557212312834688697514057963280315911643901429559366276593845212875571071801216448092719055018214298005986380484663360026587642266750500234822376417718084888405466767020878878823031765683456622292475749853765871184383972947058811674762241053974636255683432397298029152602500294832043865360893476833813003658506966353407532021307401641738505900935900822569295940706759156446822138406813988838670483539192525955297536845684405323951837293161561706394400912000716812227817809152662885458715149769279751374317402102429011280286585641132441482891288116437260359645828483659153196818749304023616429965027004624958133315032077686048321537085713864909786038245544664542621640833053237213739676254342942317534331837200617623567299903196907716933494070548650571577949298056723702854105120060546567457809353225773020961676777272529974662884693849474778030161596615913150269150237338702189725709035974711769930345120565378529420766733719176789197471683452745199831320221361590066041323200002961921985239545250784418600972047913165673908318085944193979644645478571467488952760488144524132786477714037639744456640370361387891822732874296183985526937092930493363617805204100293896434229489703131322327080853546453311537116837335975585157259048087767077342884856191855240331688674656925338185143765629964802272735850456864555106790165933983788596175220921414251956047908240216766992625289477249665504858243259688494747972953158936776666301288138464392734570267947873396855375883546910129828682392261957097200029274063847871872056040833727510809578720181288527753934938224325338707775843628002979643618946703824213350026563070403636384113437834494453048006415643750033728067396402208408688511739133414618988096165173834041364688628293516884629568050575201722473766954901461709665230135556036401429784687684973840261926499257073587894945625306326620934838827220152855690737624866745396153866012767938518102199589323481089225151976236194824362788398072323863788126118481608773708755405508878764151414081331965651625370018929454020464528721418271501352346544939010185075852592974110587977708353937359855567518237586489868462076606387845438381778316156064515163808689161682853813697090761031066155212737381093782327408939480227707886720805579625447718506100212710228341789168351913713156352604876585142560379678521479395305951023331969788960701410922822673674264826268381278775122025303239021363475657084896312809493611371700524667507445877156212939089706026509816567346366069938102767342446623480433303478762338355243374753078909213050930362150328034117751043810140807482607495526162909658761320791976025688359767394577596662251134124354068605263500310758747057008127982589084876277072307712715374117857420408766518749647935215666530740764869737523050577594983856911909391083149228124853998344250279147394221877646683803398360725106939512436399153808983805081922807444617081463890042976755899399329695537433223318778907070480848308614521026432165575898202895911115238346086595781087271567675870460919794113195691981247813663705340361002757821148714819281963788562350893919076143401243286820989906130614809423656589426194329665965499297185014836013893426565028285566198446940945384515857345461007871931208597216758809934398940139817064007018389184068502503160163310875289172763716191106321226061567759774144455900467564435033673585318121215135663320963633480083984607962613570577782772410088615548788932272351046813093780983299696883378641327318792253092479271166480947510776212574747180154754936837551332475482466572307691464041631206630474153023633698720715562981459991065504940739247681479554783578996486589091846295430185084625823844263871211511253322455557168573059508349527479588882244512365263198171815659771691951064893211494385686837578089556910833446397144619176291726969980875548618382462444100753845916157285220039086942376073417776272436650349434951770728508948814137710128108904117643705947169461125253884791276297112248658608037931763964077889825521636624000491298952419810860344404422334884572332487611302350839659972701827752704973821470947481444211625513326709428241475087933427508471163322964116689167648042614258291842675166579402041034470833043462339918621915992885990944974999856414241784766820044705864393335055781062626302923976454006653758803591989913423880712942076445920100771216993046039551469893965652630087577026217728357198483495311541026154709676779331767257531796450880534919780100114437051793202129091663091554841091952792243814775621211853198088889860545711042484542772913425039737815721328499909867787216895541759526153542283832277835235640587139142096389570541429909638855881573039805834816790113710103294217353514431783559536738637647704884635879783144871461564009295834907293524516298865393683252004990366624464403492159556937176951029788861756677077100289220794392241940349752155994484965444734089222364321844546249592053199403436890425703738341613381455972033998892424289492101543384106520342118647211325765996181245791439027838907524813519604049901766923424391187497208552518445287539615291824031369789757445956609315705603219501445206339597844213885663445728097880382277734562914001397911326950099943251626723984741460675217807006176519889933945038879081401795953022853246957076374662444425613642708258855186376061849031517776537198668582974543944191665330771652065177556598293766497939511367702032135329262768048997518464112840868142809359683006438853229594581497403730143509845811730647215229987682526679590845318463251259996608807197931736852068530986193806366524097281952129073013825770600473395283617547376467667430605809608095432856866106866829681045004898170577857547380853779453466782809606959264905502310777015204489446344322825492383024981976811039648527800235230161264329285473757720463394257678629780325025030842629363602471881796484342392639704635943615974895768165651124472042177276462841056403533198437238860370734471626742101946808239601951801184803581966158116457305512073302744344478572503482887276187858395205316326115474063807846294908593313690800868991364790209114605594543059365540318447619220861084323283097778967756671614257404744360825447473613598777593181018645184635218460024372430307691338920902722114950239276906242117919141193930909007518004856616079384432747062001314865080136451031733513692125301158349899611005314883282807709001320208380450532899788596255375997641935985066397822245276197680107724935526847949914106131057214588470065597842289984133500345154219521995191438992843562566668092160865306944362995362378271546065536934560549304474788704708493354328627177413372347326932952345766782760354272301944280912087912892639122845087592439915164760714988340414243599026514124195814340951232710821725784627544600085835980250856097232158083673002570292316372179532876328098692420354365608523247902622440803216276311011524440222834612079740997698226270994924286602217306223162288930102737537984118845707492660645195072739685408211667948076116043283673418773753013239260534467016699378202737922761012804950896009359067732429864568311196156642763752656884471369825700699507636487180529597065066147887297486679722706041735612262913915221675508545435258300844566987419345286494962751658383395046508762973090124548126273983833799145376235410515067327958970189267448272158774543557414288236179136103321801897971998273131598099900773743465904585933592789243928616126781390109835017883793046658138593420886285311468151269216568858067317532591231723225364706988483627755800166897610250322101871596722557806796734667659191271945323757178846970908556584582755478897380046993853304707290882083716766687218225092751621159054291318921977605542388584196918339871420850352987457344427255235090261349705445909289210647906537516826624
9891955341347208455313469631898120872892242657711216896977981197705448234975983160027100697584387634250878879239440845927789816646496913502467229023275850002985671129230153767093576295934637374386611779262766510173885237122717634240927970021198112766858828626727042821032410081754968236073861210521711060455959524399432883316502398484595840273746140555395516152729233398483018949419056744779974984239812164991813680535243022848279405575094851730234448124044116198948385098709128555130418421835627389777532143885781138377252540928863134331430264745559451281462113963866046683967677473114393877479254813773563827379100760440220916903503360176675050606770775202385863322337992381533430517101294895320245201973123750299794469487428541583882931703475622408382914059068855478493920583013533496553640616180085240119423203943169014432047897016303500897857105677456308656189770271425771912161896512906404349686730334558306408519675392379900895356663310517993312476498638913159268962597939264141089543881609699619406926074088403561402611493709041757143412956495852868320129007870035333347847594875101048444587016352155258981989317709713127224119368898049650323256155504887979462686369955462414985517842507678805556100649497062221055697984813671123139845610004092745464749837474946164166600837501550261779087257976901807337381056927048080089199596275616629604100839765122813395583466770090994988876879980768633719277122705369453430691736142151189411356741578901248674126266812877481051490832144697139514976810394507799059387254899297904316506670373907605913460507994680415944836896375431717950170783206125703867766920183872174137255881111547308859283035296445449470877398727341847293356668308429444547011720282445647460704076622241725626222657134262733713298258909420339697705762526269586854733116609746915848126737539744980721313387555218416753687581135762299554882448825234981546044472871830062342576370979093630022502899027543336478354984459344321613869827362518318060567165405270872366326239384037299357304725586711906402419747915025058175656771679042354460784723746314410353505037320270696839974277794722998617822672279666240947310727363320684133648768297022295415236606207838294373340042622524792340543410681157840648212216935938827076949962956741346656924322306821236402102635131705779881613218482134148635125597066224839168543236097235704702330427485387776828181397229846958609854677201053593146912805452245510774121429641056485530660052272215109422590088000482715136442273880963132414805167868669148281573368800226487257716396636042708789287045842910764877923541535151087512897039296738353061443587579382989119990210170615212438130257553061381173663600687514378363444470417243045094162791743608620951291039871405311001626783161816405470085378597522268563169197049626904255114843147335825864082106148186909094228889847135798711558597283645140859561896416454827799452009271674019906793319017935089766940234790596863338246438469718992014150581848528442794927905943707050032505726270118521683587631818448064181171286497594351710571952273785551928236558604500323207820522334002338145598167825462386890272210469476349661844700752580446036766824298663888946539322850644237544557949063340273798150617561643787432377173316303614093340942387090401569231091499771148596904349987870972831915848274644232236645965055094612213243586287827141129911402914818455124264692783924032593884881300269023796771663728209484504997130584602619959070719807625677734946815777683017895921764615935351676259628589495740448807204776887201239279094757763919651910486825311646168632888986564699326610536530658924863294275127711969415080101012913991105936430155895488618817181543525955442793164337917454438023039100713285774321700003927947030838329393989333220674004043585618691759517557112032890763744056833931201264102679483696118055605089310586176920099093792863541701389250572845306141701619079341207923385426060991389129126677773400703476064730070206097621437061023312588333304487860241469110145820773558223168152957159425854978937368688521829291503742726211052451562772247595180899728989698978550371713899628172028036935599763017544782849797423726452042581011949182938979490113119912393755764865471889191343921068260645078811915019939102537179275199453144473889623272790110094676291786136856472857258556690502665154340241474289029674503053010564801467965561008790049870652522483654059007500014861860138928377919863405833384825727198718870870549271807435347949913426326463899326643860119489704233300536926921210072631525299525745182217189206064430628650739323259524938465511734113945020684357289397998573368198843517602357801391740375711451066663426690278354402470988369675559146886724139529107644576174941304939980225966073552540769482236377196236237499929024731967011058156515114224921001429359761872845569389686360350340813049823971425827766448380632235871519467394823198289709509674189674535490137276245668859165191970860378375778248725615324891565791119574070103542865766729893670748343336197912997457410134294448794078796255354734395139196405273445113302626341781480195903195712880688193843213376372521287731618743780295553363750341682022922520253718361349815038793602790190339799121712242639134198698739385285234062728960219917519461456943933086090013361781131628743372364756232809484170757498288944653178863309454832480442077925450820737205752156600208529886134489330458232482038594583268490542687307343187478960765636381153144786465667762439580281101441438936827890692065336535343860593799512299310237180574119752778706089555236686990995701427730031272656539031111501126247927754146491136152672685438395666212826132200711984171122616131857989660670049298169578520844153832639692091955732589953385561775779808863474576759072013636237360461857025040850163031971292599715914530867476102254654582160204512937860317015957116505715184127327663177625114673495057445140219516847130200295581403614350303395458011213176717538932468696043603846425737581567553733729872537825948592284879056974455171552155028082634116256465494396755476721351541294460142757878715304502638414807903964075433593115241800944510968626822601785450610531896936884359827659146497399221164193333238809927162944231106503322689025047350785348211415546559139283662415775073121209318904447075470977946146911689462621109830477369268869494588113480630619354178040120320067372538261604433760563224124816616534554803458153747784174311721959830168428760964256359182076122237271638658842110416646106768805961736720342839921469206500207955897729266206794897916564697091573070088512058036125269009695544275487510664839531899799077559187885767261770175716246430115934057422657072516922258559036243905040737773893379481932280570271807590421749488680121750084911967710412247583807545969615035683932913629459619099700224873711595302315934038537737276470429057304338778954485041137591016557646993513872043496430758767270639880823437088762880118711432960490956640583257604426830911900435720110521230843524974933360569816992318879407616096760189158503586267839709651654412848628690985808295042568698440891806026209982512577448703999714551227682330932913659237695447937444420946203119415430635124775122837599053900075776223618334505966184382813810899537516081999382203403578772219394399382359994649114486096499112451446271254858622149365993971377469592673505537465445402824833532316073277782808298238163572828424827163823521911428337052422737739907784774239322487399380920649586131151074446094445403761019754689829378628811073658979381005275331311523526457958786733651436360855390868178887978445912426431167405503674174466838629172313160549778101162199469016436937954885103224881703241121859986097561832860806903871777731611488550883986709453248692281209725450007205920175939837172205470848185655131573410996004105466574376728390325004028895115326717172335822391018320388471910300664396023493205766065065789812441616565957226837744536839686920220861716513696682798642231688596902666263547039957460649897784144451421950251122078671641415365479296413846703451959303748240760228484337098146857266360480385764184834297827138961762116134497133694882279948875806649947862236827712376673432591349329647796298127517271439366026269427353373535584603387374841849945522176
10621406171144694224116507374322896888231788786741449696220757619061952602560692754440782992455932772323583561397632946646608010014635159114509390991677949637356239964163725021679527790680021319152451413045488287920222091674819344426818853983178580267644685400165310108781445564299568714864010334908430025654956251398819568697840454649224773438344840272910754555252949647408875599775781729499552818252027167455698966406065139636385204203838115069831492276344507583926785897742359740236220034144987981684086318394549087185987543405592156103386952996699901119396267634457399058112605567025560242659007585902006746990456789994869850278920129946232031093806358915703766035541895884245809600409607573663049147293870294624621860492543867309938308089757341944312343032219836623070455059716094873274603789057688638201307448829862289896549432997649878791650726341472692536804192821381683413572682545067362147714163658024766157434805395701910488319496793589468524158317605680133011058406499084120071280194767638925434098601024841577268536063618511021607333257493089707265687136825682093773365902995204051941203225864681014110513593146142875742369987954320701580655254031046059983939402815917012229994861798739774683948845718560271877836359806955531896306432364187191980488218194052248614049423138842180910354637435277096479336119447896440450675257205044206595839633569334701239385425153960893605331520821979597691724521695135211520554002347000141402319674017626066667233919333969733192753204026324938510393675710700963744251955397925068100183345555446314780992272006174732113687852496655041619269917871253981244259907685093323640982756139439954876857925651461717631359732989871313784298252112056026363215218285450984685317363556601589442807858101469880592543165577425246329714194070267554105127559661754349601142110149095048094547872429159123523496662094861403154493868707194466313856132286517329357751665434392660167143423847122208349314617532868025733719212130795528067765530656765245708690332455276846295946403775295512543051458139899202971235814420606480251977525746703748250456983565455530198705017152388570110650395042123067665988908293858662078591888246598093247822990941174013297479074337747514012956310935967502249512728151878647338024841581903886655622224063690122016328880881524244321425881275517232168166869062977307602938257749908506925005650258860004838796428064444420578597865472790499827320055695251239634416795860275656060720532450703596111771467893958823431075936027652912675826425551931003728383054605379880041213161798691962277309904262938622149256760820492888821681690498679516466950421800590435532270443130739729405465469894613904205368815364619342650191000588524588290720607759714461002363856306379464078174009119421234362573051851034122527635152860681810694360373010494270403845896741315826063759516057958673684245778130222578915282918499103270414989506635832173668132568353331511999958142603043734089487459803979839252715479564700221882505547676496449223561957815721778168718934652580861283159923620353530817807048117695445912271439539479071649754738715544407780719354291970096942954571126007432010770912190809900834251580985134884880390571005375623196182933500970077120685651927365832755908942732611971534376009732593361833838654464475168677015117509510956245195768340923750872855838160497549410420845296992903513536490724156084633990117888610228634793403693374353302245011523042292146495356108677403470031400031232924320357982516121342129391677700013083974948471099247703589732826681476376500918595650270269248431811208538096325550489806823491748966369232048345904592545624387282986380320767710516365207959743639826302940001233084694788487459930927239889719752958023203168353434524998401009467732052614921288910299611142997714258358151133498368476655296654024953135828716792111248062744742020031704115373903229896377449549757244079963886429098934005029314019119633746029411802250519471530033272883607650743315963891404370965119163480742441532122767630503377497514771614931355776317843691837373916847275856417668588068300682723629429152884966505058439612999960592906355170158370260076426279138825403782541493249461438081484209518412651341064391521177166900921039506819146213554340129386442408327193902767658783149929764467598502382218534232002806182791959294300467735159682532397203551825891034433132541198411219046761508181165403561799719503716695637800813605849913035459210390862870244478810871764042992387407269814703025866966733142950163101732972684640060091734807674546455014919966913097102272733604728911499905207932801446330480910350345339524185902850117767649833280931772366997049550858766005933368509763323827629159138221166598035098962814543379565788419859194578352743978423285658220023249838703588070990886243369561413146616231435022330667357865554857746800399350496223625760993957692186656130221903217883542572025989089106369347710066857703532733006416352940032344101777526538294206167874471422454772734464136081985550555714545355381618787392326883226919913406401228767090948962276472297482092552174721448672214893954968974692177490435632477500767429510967777132419243202727882627358278520836707904496098041501816873819470464763088740901414474528291562854056805982781524164157678476100276676177592239975263244163830999470844550732224178008283674448310939320088140708273164321078023700280664328983919841545660296558882994761301080167786235228917031819248322717633294118844420136906355736616619873620824294459673214200125770856778633957341188011426571808012142272710543036944958947189041428796027170247958279273544792855966675504222957476955732403111737601202273055103384057619982560325973073022327220999795586523102282423755995133721614924038392792288076390490991438559026913992469126375919259844494576128564646226031656667950201748092311323323538655853934929735449932031382627128229372653306000826617727747436129639239779836310430862915457352687342792478275448821524586139950512760777594587351377693925273123662052743036010198366255151417308643850984218778713845311746634005256773543694724954780145082141833378384328307412003186539862433573547204130241371275765535395214432627190225398423057610400650989020353120479598781246883918574415966174339124118627621000466584367138309735714573386900667166258684527673518959558729410516370290281101269477477536999097411309895604830819537648604392120524933872554335539101397503321433693119512818215283802281728899778925011820621911761563597895010077014041366778990644436459657260308698842618362547365946944939379755065514882825977669113163306118778641703004238961167395034718190484251649396446771919868422443292593942362948306171566280724543970820376771379188212707324571645976866454141984003410857916494225246461280478245531088807150512577107274378296993091214174130431546457357309109257989858542438803196316070150778052561243628521581051792013084622083963701137286464900408473168367282499961637504802158550556651279718764779444039135897883557156506224547996651565174500856684976678667564769747227045997636665829771562380997813869735606557834156833337871909229123989236898430063012712699089597714553065308478334104397559824848610445399943315614303904354507985467663915341677700563782372278269701522815567660493274315350213955697679010533070568199694079170428286077597017997030735190665808787042810399847992941786872272247683801551509485423465804171257992581741099149712965768615231281029071955174039922222415291158340144428286209085877307257895309239484102773811500689951257686221181990874538995287864639583517880926984217895458324789591031342736268186694100467500434862746793717537201139143307923581137156577713540483740653160447112762222348897747745010684368745943075075283663102175981288701800089293575640851531229958097873312041679546904371309692431610594312751104915167942300004980153778793189835599652555988274672052551334217538999776998123941610862021043833211679265039529050741571032280629306890542341187597170963534576744638269624284263393724680629472160821549284256277078799559750408471366365640418220893879180406070678879428871195073541049556050926659457852086671425503920832354781656314758737584535381786347103072107861076706562976475837202074731888179626807982450166841846792651940947476441259672039281890689024
11404648035649760144125123416614918069733925026658511213224322192553478156475065308856830430307811494576101331431510389414823568086124622442143538348533450464195027636902852739412615713423456291585639314314839989242096435200015737755336710793487834094311212685479669977728627777567728194311418368959428528723119520017171075140512514636047888417675140335623851385373610935788962960292341865258724450254272142481435647383763107695986945928441605475802753889444063625547380172299358829545405090328181675911549435286407888532617292097599693494543439488478817808560190188614452914953711098930579309574565415316257409773839584282276503681094609078784202993888354924946423986672004115168188464700523183269176752816964954169658871795537590485387132255770004056677641633129418144637670896329588631386921925340113839606347939291363000822337759493062368567125966872817735730659321130878074948680078512513591635355163516802024651057519106666011128012907181910907440320340010694298779856465564860037414771406344879875969009023660261664487354850759520064504761423676491809675084958908545461412352947301477461983538292494626569269192603081533349964217704948930338796172455578478749075168505085033468944464990418406766570492257124541496980043918152640720705230247549654987794567591814191647378150899627248208578822168886613111519146343205066196932615432703013308390849678960229072575272767043829450724458603292086352516298477630462053944705467970568212757584644610771220973221349580325526479180168873070283492837948315672549129310964104534708437215080191127219167020802673814196122462570106401338287070795163410446988473422807863722936491145729709455487955124477856892955669159300697397988028747782810890137430794986378292958608731964136517889619653239405446668499499405838597217716624139699067712858353663880938380664001834698228890407556997404628078360612815648144050305600382479508182546439954910407832201021782562527260080724791214097143901106579604093902602605137163316878525756491723032867057330221695359366777135395926289776990951188995017374480962910107505291978328102272644634082490367110244386444607555156989227361636998849779508154353155216527818466885437506398438839542322311661739435435881244607747737268936696893070115899837014327819383537957464524650297066721083323784595530341606569997909468041581319411678968724050425136187992635768896058772198119254413756258102634601341698686807435260693654458321634000654183319783563248032081434719267869669372412803807616785651777413832839352895454586879530602665464821622672192608353415522534628389777930416553091746589754607727771022421709103455613602661381621735338525374476468488747521090929213659821277233982402325598042897078920307464900127387650304359075855035382085788595441039141279990008800666027775955009062459439147305298585213429608489044974709781936111237767883069429835998342861873844501410479822385270487939756069796018541912305434617510854171512943962244286993017244315051995058437515980835942257326220452280259318830800362064157967403648637198980301671116871819083705152351525950074770335679474225978403034342301072069563469391509562200444984865149976953884801146901904058959028414241862448177500593543713535455806172855002316376985680031118904778608614947626322599556975392116548585757901766391310817965879150236631506700695535464922107141819755501443451475403036814981933680680240714435175598921579691375719380099144892114829572981967652448798518798875660817429495444806809697128595140479820239303341064024032173611126341664117514280251072993644311517007070569039664995782282106679339922084280729272063676584099413877070187780129915532820116200172778826570145960244834454399493561973486574609328673819427360728570473246389977229604310395863536356696989323883318009554370976076855173090535600288443350205669147959648553850121579246119940960305808005742998286514669881296068427653672024322015633625268509536075015800808358286412673573386195600082308173997206734618609483038877074667201659690973166578044914855107504854592342066340759819586056457489420355780845618307501069575579961811648115151158697478797320354176656431798955391261597678851921816332364055538275002602317360411543275915755498561835630525853398905815347384240028050493464530693643794672388193969959424590029026050771329604847551674112877132283829515785195937030003506453597112434236810769737478540820137208241333243087435462866142927542609139553385088949829302692935349242684851230182004314798953620260472796521699369012716041392232560869952259651347594906368939716756708980454112487288532083439526207716459442793792865494412728679476760283890598663441372250451140180363585680892209387357472177600089926137433134981194928659863538382081976352995982102093985937689409731386234797235386730208357604217296450690395682332140777832065291769047014811499971821619729109990962530230461036503040185387330701725247885921744420868836899941171553427897410952539687982014498509258091774838242987436426779325585148182462233408989139255378595337149553218187572847305271200307993722911308652217506712645646556983892664308900574989226398355174960749388497112098570985312981162897969023389327729196638467957590280463228751528858111964988549408896063548846632529348182060009322302725600655565946349522741110533451485183585239679284870668629252199567662723678924471515199711551581704704760044869879348366038814254589828534930157331028266111515950197581866432529018256790431290265732343772210190296480450024160125827593011816273362316642611459185746229163533189583865405716100055201935458047723904519779607559881016567012337735601255063077380826867827439120478063980886077773100407724313263132760106601401173172600362001878823001171616700465662868246903145817370716762605322819852276977133402806753490295364922018566055742157562530391861740653947312386611966164626880681270138471112369031453847480052807294576888483136504957718026742267481162337783174798383464972737135668718751708876960792042459582755582841492610070555195613988236483499070071891688888076384626332217168419522179266671256639088679422664833613161717672123950499483601998410470849815397021009124138134339413112905703553901692971594105760244344614273900602248676363738117932707856150164206133046360879254757193125697614149821695149420974355903123971832580069915511180584742724135172352370292217345839149817462257496438340773565535980627381769649151049903670333795875780862757876165402271945201943421859254539638950722136138951496132349228350695790680591437250776726419436139644489098705098339729537501998268146437187632719189784711537016836430721847739394426237821895743913906853176539809297949256000151501754263526385364142984286368035202067884796874130867920547151662663719169882848274826258801196800661349101602184846086948871144495775617078105434621079375475705705463182600263575302706489317284860221952389447244208381176277605397140861914994598113982785865608940843232676572324857745013432088584433078481211894960417160701307200287706377368400835247013519500197482923428146489452349972885506527587311634293257337390894302375604502408583155209047730270592094042026125383688398595705068708427789450439689116649125737242307482067503509187545204310354751930946938614945477954597423481512749116344877043565235373461103096489931581081053336294404219455916810456074754152827641092608187686493301434574804818953264053362052858252584853171824831893584972473365329297156896777648940842480389874012318175819863535914328413847219490851471337915272535300947743847713331355820183005521899097151618317578855959519183171509089803154844942282862975559890207990809753734095966013169650318931936420135138998613247259662822497927734708509531267449847512842303199032053219659133585557510031504017736731936517920541419961446780089892056048171454060592554160716593203642420396554795097397849627791631534102599402241892172855031069233112168982708293456373938411689558845643316484687931856660272146523355044243032826565791848506701776000912527625453920855877846582779670874368732906906117751666983229434039631016800576789973214993588625428741604839391412916232235259323780689188512228216500950664782509260073684221470773150165013956375031808716749761098277241508843132034529282779201924956528442373802133868894670644870083642235189113100336958601246539776
12245647583876590482315412901581214033806663852803558455211936632196050853277694035251056461097414395634309150420098496605222950634983641192338537336168254826438415666578478811220298684742363242911440209558525600316949003915562703086120905581560114302235109532558879156804376166902638754896168783513601770428798744393241781541414963760136755860942979023428726364435987927660387968052738727634465023129419434060404598160462627241397460801394262941076836825474763223267296984626147823666588352507866551296643953310597568641001174710817480914672006763592872819127101426909786705664514630934764677239254533048995768024077942710653303934881239868820709825043943069471356393726549388356196748863299376557732129548085088034205922459522687468344624734439718680304450307174720266681948567336647402235057197860285654506563478313349375949090445822154102971026102107782891582988112193670766917004453894489550707337396162349260595719464094506413347396876453047717560464733027383075878284055793806006878444894391796491083857516537428515943928422389774859425940187743233101641586571133426652923821469767264287925095064157025842685965212640073639907409453244958288827940176671394747177209743757357112045477193516002604711342580742782182131042848277323157866708492343938077165236743325857608541380564713002411580156963391948011544883605475937784335169699801082760047865439196570787844801758183168522365798302111337204916357317099355523765374444321491491082749006138761260854493747054120365315515212550398510677796909560887970688835966460801624508683509684727208924444677308925331981626687397775247048400431215890711410058759981238795409258638975668041725683745387001107853192954248077388587719917808751321023228552482443883435382896361499047303808837135526712981369375835112051626152373118882907777104036916692601695685771661128222778355706353777208618900539334431813934789883112098644758550339401891979062331411063472419414288799824560243841805564654402500984847799587129510051038232206402530213486087264813499538818766361516856554698817161166478682586880168375180768298462585004687994703545773243383416586793791238446219335634818770848151083478030422349694747374453267158271390322616484119572572417653362632513219947020867462500239206182397067066918822602021193113302934562945707336454187851243981559938988401837233749422782780200856153705943619629062096612471209057603746695266537656050148395231020273579120043304003270522839991014778487161331530232003610323386211459241344592518756509170875757876945089425193657569835459376962679845372714019796244990402337960414796524822628892214021353069430829941835252760843156882180433493060646320186286771652803729982213731225939456989484471139764162888002678759047992876669259540050745331570947259452013370166751403193078988594772661728116044595987751687337114633035162915126722331907784455588310744881525485801852836859177203156364453803684497848257130739285411318846897918317289629967849461811174297559828885684999291933684140133311457510600194381128142629380944126231961147360056415278064197135578964125362816616836613570934763038658701836993481128534508207647430547251660758530288022230269351742413339670710775884962263214963072709595293805991431789474710849675698493989577865530395977952098460728349454338099056309865057827975433615048538650745620673046318762151340380970951353926220054747884857851997340635225476688577346349410779121996499805137299660323142799066249370988183603041195312077430306555171815745308696338418941685923379265085927895464792876735133622834294152783455495378973697367820920219896108437031054793471976635844339556994053696255203059206461176203432665468652390008187299520033644957041909668514260532657642372980944201228856121975565833799042716675582730139931935000642750959719025422837738067412590648088970505966070718916609991767121489370329491069885880289455391136241100703997537665839693293429805311541919026581266788787300898258539404291520053152128877870130134469690661860933064945303052412804216565785230447827978658836146744656454228243185631668673518854118463903991328034134053489391608567175544348036083405969095301141963107861552844628756974105571225704703107816989195155867736718579363814766709019907697729775307547516572748016705266297073297811581829370033765288218644698724056814209376496214273906328389984233077623985107745881134866270513243840764209581072581907316988624538345380176574864300975223122250783391959962160513809917450817064269164948098653509883415639590336063362801478555289340693566070959570612777694548416392064909979090402365253554877063969274036927430807274157385101118487952835449225335501157262392080143285472181482854971134716005572499854832729032746448398791751293470710206790773686973750680164977150462005799675794305039317793996549983313031519229037412614180552071188728425454995919694570568947592730725310373695704950203090614161667611881757775725528597701339036474584018521057542006199126823776064349074212330285197974075499286876747283311681736380260214767868856233281794443198435383433374541819339142459007302368380399755204847995258602823580733318836162194176811773763452077563437604727706385069555418081376643253348542389258804595838897778483029181422181101358496308320050536198487186332466619402974985622689569503973810716531790112712512047338072836519794184339816352402966582005669209694718432060906094174481936072520482862943154845225262250136523770244713652588080995975458079356600891497768010240330019189282537574189230037258912936484703184309404710903174121268317441704105299439026867054438544287469999899350831951638045750728521348117941942183689241398471072170825318284294689925047812303561791016622936638087779518957658836251165852986862497520501466141281604300867214316697007291980426221050212188111430113832878557069934886777013060165584340001898525729832751142137361118704766432794367565049704920799493548127584074285196911923063119134211410224527093931266882325465532202892664872424155237834258466407378019678704431240528956335637401296793157123669080003513292382892941974250577512027188341043405384452773140239404563401233867863304070979614460622503272722793558470940888073969686128007435306653669271815034468253192260385854207392842721806932592809186207053246749223906817489677756224511229548764645500813639146897128500933455039183628784188448288865925767535611191415383377525741829587376473565687427288375082008504672504621001935624205161172185162778131957440672207249832575014096904677605854268609954500451232430547642354349633392436391728329400565264072024084396564950186144919238333070301467832926428347647884032340123207955243495878048844192193597045617769962118597693021792144448152453164579193617498776535711385704273174520093775372927200408293106125081390655091279022559743497431861671376170479834350517472065111871244450052074226289417976177960542304203486242348080640303581549478273457538432729054836399940363011720752199170160675671249475296778751694351609825294729932322712421255170411979032801251786980801613674410590344523763020972434322095506313462463084351482249223989111518804470329838011203805568616664664525134280955791399041032578816803069394103781037111899965764008509081435545758652973425402487915627591159521226674739929515438536489813463292889446031877147133505174101154038987591892403651367978404408726104394468363829657646142167590746867515410603968404543912959487380405911302242541080097889884360212496171872990507553116716573172968483740498819340313435210147456865089511144019407728490639114756316362886008519531856868932061807397901566274917819284162763976015319743933167791440211439013538022788354892159143607934474864521583153360653913162086103132424496631096961158061289711858541870754416180878125421467966901315804210831336953875332647580224273848947752855625346623933545015920371549003826224713022707535363243285304518990892684347855032141520089427475774217056231209836676389095678088022558107162944382503805114766488628995419917641187259243077005281807741920110986010794764358120030197071433685613349916201096266425966717904778359998973509792804935362754612359494943429283785250199771489997664537584056208408070362047924948407986503583082349541987833228448555393736720628303072752064167133970422325193035479140522102059853046175395285298100943114948292770791424
13148663972772843255382391192256945240793964908664160369389887146026604768795147571924389662465722774852240744151966926004549898941469293104023115904829403108236787861502151677905035175580066078514284881078313512835015801579279438798061890243676137896530413786329558293222712876632167767095301200221755893789847625933709203785288434728703138727571604656610099380546386408688045029364601409605669679199185011189066559406802186058010197869857577633487447297135641929319146703822179922277392945478951605137848043506291871882553802520135834488405108904080548054209555973963117060791167071894581049549648446716296997326454326124304382798665759720129069696517404311566332929954007297479667058827348999243162138084365178133048841573290456611642299622952819153836973348143144425836841882566238603720731992374832015830911289175960202480838106438052926133193386028821046604311902957148690524943218940793113725436945938771495197099143969137824647331867774598106612410232728495345840279124058159029727817967187734934973180906763008658979246785982239296509352610102321554213814559142711281680638997998263212006752749561361950740765346620700525608501017442084231850031307462025644458076041492597238907083052716273609971507976135622215076086154931448225365239525445670106318454050170526174959499947033089245926476460078771484829376380411429824662563740813947039948749363989487012285594468750002295304437064125130261485951273098008389312308503888744716035670652785620713330443914558485827769427639823612588782061129973470888707089267064423960802116935527600658252962306000776897441757373813565007307800095296137030254094104889433549962300197501491294741043772418990155436308126918279163715335168549098726597890972311379023377551417277598950426253982933219387997340031626934737557447015214597902239011474036692850192031133394267327823910003861113129272086785979536561897969906149531595290973881025206562649357539007786655395591467586394196220585074445368071037632272691070887046428124543038197269643660738344018014634420998444952963788663709273396788297953750460593714482512592418688735983887577829840905657255819716244462475348598504919931771401276649621251603889064662081281619332022172111016888008103211392768186490027369595247258445682599103484683746640626661980134131622169966608414501355833353429191254735303556317219577729568658372841844261781671339025939057160996768045809464308971970973366028609933823363612199458193159645612351863760568699540022699723217940548695502998983626368369008863940173387867250549432266533531297811437098535911446392204345468855480223417151910823200982686019718657983579998206928767048590571755949629722455711577981552971745105659324385988661458604861285731189197104007626248374933857783263488344880473695771806076555234835819096057389826394669282313808161231578420431168972266484625324027804197881142239772287887839027367567628747361256333325835931930640111686781006786006088913747555809578017963742482548633843809416843298629159582495666613447547530352049547083044603650936942392209463519760083570118221452132235997635375939654565638645850137177023925531103062221289822322824719316409893535020234881961751196477499960547875174594675602553783845473073061142098002160029603374309410422374324634104808549985850050311610395193414833216386075820317013131739386101701488861944157802384708604197780009083010373747411984346576816321990862519834296071299713640222383768707709951778481860096443704944376345001530269246593429342071759679049476075721993004376337143735208848031247789541065823053362242180631042789059748033782269728563679513918586543485856884936002147172971003702282725615921859185281492632069350405920275250477542581731913737474347028489104247343869695013843610541815464976057155416923350291123439588587866456885020164128537830043044393305358211655842512116456654011226094199222370976573845479645260951973678000184827414768487886371179908388061673886023099214532962523539850169604143810807346765702850923982325503496280159730492000450237249333311150643371797922739083416406350455718513667794919549344349809443553432854212910433213095516453155014141388876278000750375972490864070116228836816450083600365882636594953387926959180791227204277512943672009597836231411492684149495104225208653903081793036826082159773269615899236368805036947843559016650604653756009111355739898938238499296967857738927949499149973551942311899054126452768936867081621054092531144711996705201079037952929744878698398328313551646220736203854057448154033333853261524067058096642780020719450931473127275567344330496561266236182762132984366302910636346218741545389694599561223071128024553031718736205524252846659721433657313545410158367829686518927233240534430005599668014942525022400095441583186455396550042465985741729479841511828789704026426477705184590834246245163107788695348725405725598505979098135603618147854196895686487229212463642666433711999859997984266622373688050107562692869742968637901716317458883718912884931318001737891170129908128427760599483242284717763471432952402553890963008261489298530346074344290359002806980071715547483126805024714351535252052465444378299554969410518477241030801479779937357847758012784066854795640910817915706305479649831000703992837438509941657493250578336864152088880474144971614766999591269609098273330756672129617619597626646054188120773812835558245452407497388651624008293559539546617325091826610779339935282081915763687628409278425017363893387676839515244302633166255233146258479181361973136678281345218988394639366868360240363266379692507726885016038349839132818037208778715669315032182691841151097948126417029108370639843937616839959130913635261270036079182895526306016800252795439177606044145112629586124858721649213951499659407482209158265032363422887882030449798085675442653038759980889183484494016271259474686480061549426296653386144736427042597646222908812321023740642743908636338828407437141206297460416095971375177832858938722196664708056337439746731310495407700801907319989957088144300643659471038649880687031535374288971452773912157976130817455146903480160673741873458866052580364497130119095840276697765582839499341801848038720156724057703794201071728310180211426900565052751489390040444065228658100378047984881916994829633748290617401695140734041124173247406757030381667126696954673716395021041673406825416578025082287145625166889443770639054246782101109001990487234551961390567634403047064664628307236074747128315295037747598541252790253236141286641915455438489871515133024178820459029692525959058354923035773275736807751897588947340385111300441625018300803750431808745110625358881694594461628232647524017759452882635525937633991227411168928630688491009835547302294635223144423673803003475815019973132385614184497370464550454264824176236131904626466739137881152290742485799062267394068948791074719388409639711901293744614185017734149618655566669547590668103308596637832093558871427173844988979610268319835964206158168736188031148284655119585791825983047589198129771923236025377648904969401445733717482691882727032451220700867724226407385388653158340522271314147774506626987814673683565776678399920169830172022177889580023568696085143161344984050092621167441331507468815195308663927836350596896452706643538410330462865495864160012617330107046217152810698327504031917108364113227142435208848930876488752226264237592202227048283330013976333350989217217942025062052121349739238382984083638667179922323914769320138169772647226037544948314624654249553643282533619047725545789235610004192447006268691841675620554040977156159521544487144728279300504488181673794012518479064217472061077282121747866282155861503913513557582457140262551395940022461592554955906194713881519003425178284219086111192311747783538190459613364920297212703545619539198131644660631900368344614646680180448785785073753502394878542439473347718626616723750279922112699214406954500953523634129609815759648125327100750174095131127366480189390869898834572801470013978185265222363023745878826621232401669253971537990434738560663885520897772012255911807464646370174581026454532608233372606239139297044276535986588173799004053290076325621066534605606865679309518697324524681377539419580636522160558635904583212567361606078583470253629503091067469058154178060766972325157556983290396364821545395597529317376
14118270437288199054700386536255507059518231089221048958457211191328760956973200036227265346262689509748186307112850300315798440788428908017504402209814933702269438022310379722558412968211500409184455458264651438115317277856557585220727341695132620770296089770408246186879282562383310795314915892555497377880661262552130623558003308271702653331867773874595421765689147059073510916824080678582962882084827773227608736354864137265115239671381790028402415141930294140598019659885615241402306135243302050108440729669277189991547633696106447651342208485586088710646619509713253821579426614864826591859273901735923548435030191585401438717433597608237116811361724153246698617200080031705128310657993015531927533674446132250664777831991924563977662432703872304183048361474606908893483329386266839178311956107706220371879563221986964763184433455501091914792333259322427150502868946119828803464049401918545938190101529285897572140474354260647544218276437623791860955824326159089418052119335329958662017487628130659506624657909686853220170422126707253838429104630427572256056130731650687897147103196187490092229397631031980912587534436503218524630592374119337468291510531380226215190060322961041801455123543059780453871562326411468590717046777239812465235354248928232860650776690288286140756599255212635275879404138043277799882923485486530381181375577830739313971008608911701395844613799938464564372888526922331205522270351377658707500238616211844466503055785303065703611963547728727387295085420220819348212256177215703651251031348577709180969541414696333136136399848520331276173496324027126889250603750647995018974187651627698263315345300811505535369947861007381736225004023256568188898600649256700253296767162753608516750699441434211371171529121979855860427592707322592633894462899878102976689864089087223892950259435547911721251078357678654094958257863965214647015108926106871873360105748364284555891436362371993567321823965051781832904924182145300947308849120575842770529707131741000437979004111226692642522421896054184958932645721717822782142786715487198735111388287086611415063593882429955335670233782696735491568180359194516400514179957825692931606322769783917098962199239148690925203824624468981128492970974145639122933014466638886436409082181060344537580674252644858784138080433862977951096472704333477753738071999856829974488073921169385273334234186548888931379612369763578463677817094979266528017738778274892134982203000287124072534721411934602212326634279870210726149122907035482639289600364841074812404032168052873139678243217285951643713284455018527487860205612389164667879232011790121349324624423768824737146436238270314209508959830926234210213715688819145397880884252207992262187552666317840378516335557934648034700888082040144414701489360736734692960872055539068399315426881099552802238733620615663378205506147754603736541741341384664037984134546510562276835059875945355010127954914962555585353479250518097678693619078058272160054349699792250509695975541619072613566905042823322192197514091833193912749768652174971170997648395769299468248370407238767320016323107880691406770761473225453545730951089992215938434879066035427939933182598603529293605442174398924339991611555979832026066126221127541087284817743391829739632601807212080314112338075806418171739509485938305800725481206154139604184876388566379818363703528126118467859351752838913687440033380113241353388574730062113440210606485579156410868279660292475224396394092048334608171251176672239027790094885434288227153193321506010810537792139749378423251760513355347061098773787917207950141426376502704359289834141068773422329014399806766531460523075303852200705199347976746029813442746494135486362531578870758669153801542488143633914565634799726385618758609781813033004145313684138909308155580083420485380668715156722399216666268094950822861868847993991062116008457367528193415907128925458720720834095455864750241542871610656745590488149321657797462733374591428806279793116867529885814235924029828980846565331892298851352807811721274503620306263506428096227046974846260168485973488034344096532906859360522632675438920685908050856782065388114209982663443244693465970009349889587394399947672729556318061519357350321992843326181569062249241334761889845646822479763676552136629008809943819425458847857072764935925190066611626865674187731271955519869582148985237969012299797179051214296721267281612122768122201065347498117056099867296924596892979744010409908276966921943788531255998149091474181697184848401977200782859003186895878061035438454687851830936263436519736188493810028764037571403179389607049931309470135817260063886821089062405668294450127809601599507098837188610274002310524181137942964869609012917748158846072717519337219616072349586285904704988282604599596141962232513755310373060236819057244946586534542350320733218944183301671737998028291076467060829546529647296795210340757497820361980262766409843016529497762036309609556435384411438864849349424363255505910078434928781870770449918324470028226778675016990206423397140917607218588360454313217677934061288787902135502763691184850529152896438739113989943725910171243114314538486900421080809057221192402957379262806214618830650142366694020404419987650553354161152597450386143672479401104127930426406662068143476137084548947001417224432625587289293781005226355638806085486922530307731437366031663227317747445385019674098872549946523625824590749516307094412834601991538557825668783653693314943937789288008838211661631840015939112800610278294905603438292376732065128909805799610959287010220578617532653926975147703486462238747498170423916403419482984494076652047950833312661511906805096207650672017262461278080235961443773793797755577242070895525935276449491827568706509145000525320722517798871989736944858066281237284578157016511280748187827127142929427713257922171934825619171961722353492818727249704825042776824071806296224571164195395433746687263435234578323998275676050344839257313145375369249408282686228444968185505790148327294467915097386275613938309562910785390300121066852396900474330739669636668112900024269320481733336843304769514123513642507122513115759666203706455583553237179380310605337986225855386372040436378673844368594325772300332846633978644969510141524410982281103706015560793162534563726834676780427206601566848597804783857016846048490172749835320316175760631415752574759375332220085393876538846285668159292906370843946893695297581896026940929255309304510251599196247840597135976314834446184576984402781847059322982446667337499810814340094899459856617519505058270179202452674338399654691109594233954626285354068168996532848787912843331443127547474431984920467323400041282712708422500404121009913740490938017968799959432547598722845822479085810132102340890031081725978216435157240695955883615016179216481283319856691164116399131003439729653301825197215338158624132583513635258774625192988786099543641257595127483560226628314870083587518984131294311372127980059314986239715328111504402558693559437871507024053447772530358828166270589317918280906376268593591654954283391139913196713475908404286361983753494956715874641791684607838677327055610125100614723763277363689467197358421269464705818235250929641048878007463415085868361169850522291639961795847628175595043149920457959045948887928598030151688592654444688951271979770951530913023178220587447685878838000893665123194299925275516381557961138351745716140529151054698732258563230344398343703897794093805285330802129285080124032995457625970587129363451654245695534284612174700030027849382397057498144923925094600505133260376862956001870544118681583530160310368144009910133383503479185567316560187335774770385912511359903174957084982300334628413178422591936644699630841724253797764652784297543790421044791228641369530026757694092618391303492499728387450364060187865254417421521978784382215908529684079867588040690404138846206137435895982068523686901756123701223646217660755016418094121329674111202690242142889783838707055243779261836096245404118445934690735090375090135963837975813098930226209026233829781082095831978919894847208998399296510640825271771621563079754971581913692783436581424801666627339051315338009012413974385694650575139068621858573778387702686381885269216422333566029224188711703372196322622167714446455587567692699132781133824
15159377451059108466669068812944030280131982010993715847847146170530556773600389326015529971428091817342683346091176055300033193828523653789043400756796317615913859321530499817432484287032670467134463556203842709886163896264414951915939218478402952147798008450145891485340805726344849920520328444879127775752798478378867630825427842021692294574199380846927635428740365380213827361914600674944828300334059895951270971732006930019231209014946643825481821040501452911382230080393440140665512507462533827066376546870980606743118900787741198799312698987501484601195509451793494875357664094319104418186680310565527317221181663407978392580681371694750559229532601616091965695210691706189042302439952060676512200243421212232574023761877774634595779955747733099756589177529955752038290611808802956450035340992096417518247920522299600449045381626916365266580772495080727932688073019439662701999225923242128615100030874800629076587284517369049865550052796270392498579061195393631585918381142182857455599256685726448048966100267323189045446062645180605850505868100562147334109504858185064153537454982190585457612321638765558187414923785513778040507441181987387806874868681679413333830791877846218104834670207270351205579599194090733659115231274486797921839745860530350796891902790446827446609911624329056508969494603215736895784997249758744658921105487769031994251739466852552911717541642121498029109110743046257014949601439709368173440788692206541847867298020485066161388153127959754802032979445343709049723919086878856879937742282103009261715781487059581147706738286143544205562777683418182251543389264322019353616258857977001302173851150483174633734224331062964542918522694338845947128360012180473574196132786638364471357830571521351293683258696303768922832612813489658771126804817615443667850804149328614277912792307598425170967112437740802453785549002716353447637519213876673824235976955081551915497900825713229339492402059241612479713396509918403672192331546067901346765781181821390105860374748092047835469405247566758960637704110383091447406750436330193818488994902548613786789604371315581794361089084339212405561954599242495210686010125780002602446880260760515231704460318094927601240602224053438828329621024958195393503855183227225071558747911257632597850309719184727495102844752914745311282109401517241107562140247369600355664697958363247956348639177108160266352955822322907188356537075901418883975913940140414254419044857066569125357740072182515148178035575448766548359723726200461561831149559975521139191163325079766533438723645244246047496500183762439658609155031261778668325000792058714402805163396892486827599935001580065784371268673201466330326074513530085585641826391698685638979149030028181291768980555772806653577746863629646305064989601714055493023886721545148606341706810650464951460129121249986398684382017933241720471544800034575849772289911031663974394470138346779212902328783781659325918832495197455146530652486035487527425177385788783483345886463517450941279775766715912080389837349230677135621633448164375112294430888184001494239235326096176825705918483629162365487163374130025653420418836623030087536938753584296844844417921549613396553339016665627124460589136817262946881857913287713303696143411297107211330554954341595471309474826421033718630326168296698821940758713573665883748107206673797411246631721685373745719385726550852360930427332183677097339676811417201318586651551971993100987000026184542720918193491418802698340124542802196183863323171419283673165196124458482474670567353067360491048589344821346713537236811201612025372156215467724519676617855288658083934278249770782743032575430870847616211614834180161991636644394340182642430031782754288273681015404765232843853413964877576083995213238282828168084843188676259472349909550634549984131604560552115554796559409903545501730003956893846704076140220613235960769820911227025206823494996456170328421658683537424391848234702503021206151457905659476021221007715647986705968689406234114000302252123601202340204668727279049865121962250816016739767676936905105512888676491457638804854875487191879045202207786697878241623245937660321019747104053927677640471519768647499767470407199621188859666099938972642543582908000424920081469933403426208551897629225653150037215129130901146007418815334991801923023556709670249730356405324294371359951633378769249165921322262657864505428376370750549722361555461226800965822044382181837557766258332803128790609900983159955589123021096463546103430704442674788302484775001254016719393007337775014976275375591243130073209747032151392994590167522980077195880436503305172105952551680191805731533912102421849311314746168069806391177427632380682448651161274707061903697142470052023854945849901461650104360744272703424300462490241151133890478431732049655819143966484149362608173342238631071526518732527354207253005664048665371036243836358537558505748617251311497027594804190772122045076812785034393854760596079533207829936129152005493930398703495556019195180602367471941552820157046295235194962365256608602632859383743016813963519950912788108232642813794128339996197014840515706093916143330733911533064642658237675968496403502206399403905320243358687030970673714318935135201962633106313979928715367411214090743973937945394987094799988361133637628570581061147304763205077520088408300636484331413028125839318834859544593715453884769579051407142808968123111380451989575439166697298977234552708643646063073780178044324510219612634271269510458642715190652051469028529519552543652728037582770802410010760049915224093750727124910207111057897810965123539862160947638852231155496907633581565780063223457134089410622014498315326641154659455243779591031346795801960614074092899331183040821598806716412450025544538830781259233275402656452087509928618919757385467220707135282194095128952416109710335343341269451631549418020951951098456562303032065103788399482855355460967385432439136198517281997480771497257130383533134222054526142533160372218550180823126957476426179710964266144677210276840333556469454253403901742918586687254353592144833436827909988584441296911783736465405994575299794481660224379707135198925178859437290092429899062153466636838523339440758993208353426599670799968066551880490626610243746919188640143974030308018433226590919095703592666356315591229271338751014559023474833030534483272535914817924963741871954828030318600460256753251617628954417887836891199956995522925807829345906518850774309008978819896090318830032384311136504257531901062531135566495377404569688270463444458853679123059273863716844248501648399817791238469002172296666323160874421641598677430733449725551729980325089843192852443078759958208575243209555746561630301501797402442884764043532229663619488543899473799623761248461931757109144918299352513351682699896319186061415504013723698989163025751235648325592003189409787156915217877450639763051627378059636131198069834931531846037710487753740178649874295097655763009373532640070324501515566837647205212587401889567872566629635960884765484583529753957851776490823356827869997018301790885015475835040798427270075367734759736041198904287632750058853426090900135365158402237014837580705839878079799235635428728895330794290475487544887252927569410746406073612778152529963747903337213917154297983861314458735224430657881106156776442021651422679352599018141892736850640429740122558080077619423832308168396662075925154414919798832918010978643740545797322569326425751202133339858914171935921681645748365334778855024367994633636538165590467131414011595016894957766652290010291007231672315718933108360119757775480225453865635974882690667097060695580695286317251057084958120955696502407350883852003155541811550618169019722728425111308860572221552119655577850745403338323228246566362119540585161028953575261042096414157774228678245532615450164220944386242386356031863222786480142060785661291500759341874633490413634860527916561096529066121508921681760104545914328440201585488355454305508145129939035299124309257263571579769757249960214771840154126754219386190024728433538412433576239644610272371842977443130391250473715652315136177356648578987160659432173899862831927391060362678961225760632973517819499985053615592472595695591278844583661645385449527172367197524643617692224589009030338418824543648372929926082238315632824969854976
16277257595004677856815089151592037882900145325219580507005101202340095077821237082026045803847867192793007649086362647922982508801984531246591972343765458473394678734779561345601622675209799134971890952099840587122272454337899696763092871122134890446161351176827062589575906002235164006665752493483598117465872811278949892977053516672755731942846146530250744061262701945777248501603291460946891038567513282003967908305777560219489673445434052603851188202869607923717666087709319054273003973657634683135951722508068209352983187980704271638720627357202797278395578899377987258801190897013503216030224889171515773114898210703036775402168883206343436692138370326727934997320956176905094370635033776103356883847624336422895144489097983401211806272387210222397814019499674503832885879365660025715253511901315576929909075465821005660629207126861265536788684902197011837692240746938330887589417289410087172820101093964743101042266572886803283782668452763671638620198576149578377048015282734624705907144886776111093138101815202488603154074198254488535347242137001015503883477162164492113776322964895206744884528921282799556533034110278548810345605780319853728749181238026928656317395378282983419387002006792924964599637815851914380636582654849299064515618155982308472014565233045066277536189123985883912139977495615021599984280858790938050020205678533530104222220250311047702484104135607492523388021664256483323604780317946563012437860806368426828461363086467224304889593911606812519727650257797862461975867576773718253299300404427207720563596583500787058214646584454403081105607856299933565536625603815143184115222782220382328246526099424302412536317964460727407160660841204786921324612841607323912741154952071280295852552754548298193024221870833070901276804929042158014047293940158393814487372607166874670158524525293902102601739152912895665951371091018038305494998371542985863088193302171231622497409900772428971916887021231445040668625365795020850148092153087688419928346386953775054482071871339895962752171086717503328163472614655037949497324283417978176937898310589250816099016901894766075498468708044875763071520876395825825833260803737489417076060074298591252070129850886867767704028894913596081003070152567362245569227215470254854794020505389960559537650036842337093534679592583507947031499927352670834281552662554445888042461518222029915214060209945975049678148612452418281408659682202015956668342206153395217655505285164477222083704477623145476112314195519248212185953961906560187042467308544913463345677593353053463108652119076485676543682740929417141724931426365799248811577375266568717963086862397374738163127750878022717350796718357402376998905762917706775603162880513885176400076977470290151626701368576027145811906043163975684075342373485483471516687403961267962924402238141052863428870505926477555698559548248439675172014653686840736000848553727936597621407661862003056587030842145420502358697679343786729194010072265878906426759989740400056148885754234137229520263326064541927021418586426272264357468072491425584895227046920629812043162031407743704260003000207290937910341449924368158270432360479570326598792284649889431940690295302970794910017549044916866722187995880753471272541228322383119499762968211738103017623543606981440433975168603404137007629201661828366249321481056481564382264588641468205358436458698713559850445422186277442780143380758355349524530127061609768794436339466838669169197608403438661764624034260953557211847098975596201667243988781206319997817539993781984624808788797399648524047995735437774329878145579562527863433293609251538887095546088611777555937024032407844411520834560849827857111282038064681515403297218202986975962118792561234804064674884719405543871899274720481127797469742750545077998112163222991338269447133362057380640136893947002866029649714196611094569604202416334411103035361018379059379949374248123668636763549721864494150835966912838765214260645691355403746431882025705910107531717942587594572249939294537708476746503428449364429532544365559163009729650335302572678770475220908321543004883645509058054060910296843982797037715982720090456813903983384168795525582098953763905856439624413363250892543987435226358179438773890846711131600446463331754893753385019918959066028520912305040633409331277696196309713268421874021376408772384008394822991149816967827375898976474526839206798062522003522745688195507891190148414826546726723594332879358947647587919230540536389154117563998023947232507247942605777245882530630723866042076090199607543871707928682253238513626476912277487312880823358152068608590190003965465176975077525679414098543414156030877098710111296984239388600284473789708653620435434779484246822125714156682099381525468901068294425652449106095909370128219424518315115818363230527520630476697819856691285403695337441803483970003958688234089436389916331197945180262093226960373636042469234772901073210580223384722502293031387179909349960345033517765235643886701119173952310847232938553495944812231995468040791746507770855498280747885681985149045097637035742821087858581553487568259227311223799724277608735778210403361929435042987665428167465717764330819934294833899087320421811281408080498879595684521668329809441966051416358725358228580947175849936093137951225843627000418062402775056410221336162549127708022481124169982159046958845317202011736659642195865370391220373630370095286329916067470201677231161036450597859689163101203169089775259774948357752451113510495877834955450105573123241493696572794362191885519825650064872353668549355622303763792652744427361619645077765151298950076933404499309687947372877228841394093461068390182742976340366821975543754829197509572302262727972349700952732532076580873312858329649961319904154826737039717401896634153972342673309811518373388701204709044654290007717842425790882482847359583210920915470339648051955418188815552792027290315028505370761766100827481238738226870780372467497366992392082175020687104025647927739239598550464997792554160704308283204202563929007155653886084709691918810334463666158182353074607177970545526635788845250477176166984236285900345515816506673562983873716007934308524388058435477462808411132552634562141643957691701311941020313780642557250921169548635431386057901603991068270297911562994318341938771657206152926453736846156209461436254456421526036301543763950202282107378463331457951494880621359323325744709843864071875744210971531373094346190715355354392484320790367640550452595509409300518309308693594466069185069719559960019821951043018638824178572242370704385178542851762910069219827036432044925359941784766950130746928395238180463367966126213955429746081193767365994243893185039354085072001542766648348209882177485142365911911681801696071073725070248227916664031799441898231655077745705220135655918373727779659301575005584650863503490735286943703384410682345317920257091258409145982187086091280288918809838761919478618431904630642245601882988871157097796466034272645718529215500649221993465904664325654061492466849096400745228963118372974985610896990422159984633305926327343091291344630017713302065968991667178635450636604209690329385079492301148832088866897992018970835718141341248824991042386073992144823935823736520832797718981451258925662683204873489327605475758483440806630770349959932613223954778899914766816558246079923026808880284998078358670597303041496448481141723531642864331092915501788957637612570456350660955019827172669904922837496348845031322405633926157571453171639583818430496455005143108242966722214696528509190590102768768196249426844875733022850351107104584637572282319754764915822590558462916574736311524495918487392700331055758582185685289329035262014285220442625021130777374393435664178978178853105070046413233369140106872199036487399280013952830562328712112616744521627924081172467310364949911696364286460432038366218953273550276127114828182221033129508543328222809613230731231594559526325595198846242185560742767117125329958716266344968998677456770882121424634272596816540649609504936547390928502202723423837562513332197740492430399064945625679484841377682571117288308574204141883315343728681959039745207523910503522312715117009352973497836379567206416719441944056365572198728505075873375715013758365995117067879123010807900820206588045165941432971564411055727743030277197404826945716224
17477572259778176090509044656353047260262300451366345574106502142305246757193197050391084036931155138099323687575942963106293050521138925400500658168152278409419057816576218437146180708639529305858340379636779462125899736145733132731450235320078044041701463010910836717493396697292533077456433240685626756730772530134667430889786233137819150722766685126762705105697381330427211903812785097680739550880736058563166877101710347248344682314464724114571124245516494846177459646039948223133050280634396616196058842501755013827086028103736281433951355444947231087606704680954032504713950767131475095810159711629221195069160966334615029559403150210022170084245180215008328875776838598814142704417793205054826032985504293057509067804467616811938888677247683938468874478910352069151817875293927758975383210491324295572332890844824296275558329848069814652419821629446281097953258530264685822755799883428322884942858572498098649004539611065705103457992044057722626189120862397051183402495665263351639676201325359255004772739326953231042089867782665112136130836245553128276992123851564845550279804548339667259109416753318945615658171161824706147693520820945583046120347101025612536552109236406740604894356496665495641784350538132210660956554540944648822654493515291960410471572227896794539042597935997565142073435179460625294566520100646468256499698882123750259266476872898720927416291305573132370129017041530272007712979073711242503505963348888145438802639113989587141349284685267993645758403171041947063223098695867472272559684834173607693104838503568303401322988807107440809137555316252220557738119914645573201333047136347668091108791655659455822364346517404028622531478632680602266434434288641271069825504558103649082883979629724913997873732067768993949058280453401917318899359017569820623277989088186995480715412492937808579725026543620907505480319890570578467044068774337595335038530949137921402666848342131046893216483046578978524123283979841412897756043138576461795957540598831556230685279226431593215015752242612114196308317655433749578682476859196712842097493666738620686071646972847315181959047499783028375693806668275332568216511775272797903871945490910944891628225002008113414541332277773228978415488295217637820426237948609472465531386721750818082486016947232758231234785472996192695364098117451524272873076085443267227136012420025531638144510360273214191299905904077728718690679536562852949790170723491330604798299248534145912446609926480043408138184673157930202461285234237576452800760013337386168054945001602837901447800836518650925841887921922871817012594376020934976636772923235857981447026452300994164166799200772785714041680916222291512180740719879370035133298811492073126634380407529356253216890894598119670217589955703509982110705873530792260228179979567196687863212033291256470858538311293298820550832923508895621973166528004436696671053591627596642086364324295282398273333711189479883449624348483164685671770424869136629949794593794078442779007005318978231891394188688847990444452880056847222651797956178707531885667938254690637612001966331296012736652191688048949770520776904595728308814728009959357218462943917099480050320657497710493945412158983498494402647039967904718738510019614076110758485457055325688944443007857903790985723849106926690679717680908035421151486485831967961962186212658499752859574136951257364207350434830743609180806784637002976238626511374084633521556356191006540147466804663545956555266469221594764499937058463165197065658401566968010954784281412116416829382144534550665063170202804513177247463737732337005790133687582325290639436901719462075660794082213689433970334587515369133153380679346530008560328220450687401237817809587229377890208686624685604236872725149582646496318832264165781049043915222695640438289637168447746744281202876116349416703903722202547891301803311260580117971739040476372828742031150132838936539610087335069474630355942237795144779067976516053692250950202498034278806441142961527531075780149602006192336602052176885474054206993654436418469980444497909995979995576141044904110364558206436665403489252429233639531915898956079822408544354491679783095231521561592362947939657764463479586987929809068933031684467908373881324514845767424752187616739685837462059439738800480400558374111050704733764343453593752304613210920145829206002288550674340328301115914900639491537866862064852042102647380731179911692903489766564925973421722821946048397841561594965272048428716010277674965497112084499113774572931604929169314364350441837715128240967693338544508751528342174482717221469513967204007417160772683364445812133702544964420933421321259084014576288822951266862900368314257805841962166990547414356452962055467875898459178068428880288346005169093093246591246020165438754525993865580587841152483965679506589747119394268407965057566727506811889125118530408440736667869762906628779574477563685753057608939024120685945155439393345963704159806081581075203958706380524056720909044680927538122880795310657359289320325013853436299399508556764399098856318217876594995048848449909782937611294495103987237984058388156536686312829697961613843742347094286342275617249741776735665295104583051364988094682889643205807026680824719972623789050193878801204459409915152244759130929377632860371994204539086901511731613949734892660874820998315271847129502539692223826346658590331878575848062304557567835087907797686344052361414558046120916195431753138061319387373035707180826879158921399091590887010986235955099077914698234242574767236831796056781662641759355241276539917098416788115600041100985300032175399370624891414073618591077482969203824223900615714046263562136738894316257103634702111342384421291460860246589466841566776046454594461425531942749163334708839032994523557033015946960067592713136834451897092535286996394802311930203613286799702172592460774000496872311598824657492741588054479675360636241968795535002563867614608563178757529436650003549608468437764599808809776948712551322920604042777933078133433100665989025458608749820855557284403111381468437066962413792314940719357586172044952498378101100007906982448869622476383036724979690883446412017382907155182348328157226795532008971610759410129490466196346744132139879475314628522271365064807492659437881895324258204585040210278109992375528037387273373252807775736048621519766177879081909815119715643558939115075836777417416645040613187190870906101363743928690446012908619547802906157523033552526496850471995219333927807351501093582512839179113432886954247479949050697868169535717070715461238890210706407167314068673272063339063058370205927748509480448305245377500436805177885131531186717390261077847868994335011369365325567087062107861075003773466024077988496873931472544660745648335195402860376006557499526745989279697717535331234780713231001579810848571712569273204581413172474104095457292099226546261556735716738691745195833328896327918929864181369322712884073297899851084021818305087923178523820393957127119350448956168807444996556083135521979929516808302088017106156350526073356218288772000591919977876484730991916966898447824633269376513440157188962597609365278972749096052448429504262569673143172387187746801433642319783738635284400524544925010237794374422221802182896925937329873135026119867637093301793205507754650091096371040175724789511195166145924548097400585368016611476493333893363337257144281663143827369930863452247004368750636868852407130471077448571184547346661754112585202204225456957439748712083538846871799802446080822756290425832523482109570127926304980583284613274049539371434629292369676782896067509241349856432513406554846649150679317199455344468197208359057753214065739711629254126058395536526654306277536999440519138503682187492217931265975283509855518163664509928329022655938468457737957777031371996675594774652251649108411635423853493123112482800703381918871312644444431931469824616483642931536828990272515099885466108774273420606694806779869738401559149373426473848523716825863386020848119147476282391019008950481854718305399798011008740266878869452779338319805020874885042610577911292961223556804486866382340794654145812342421927815229307621982187664806479428129996086823390494250048548472837689273187928303466435520961536833276177092998856575558061353145247140299717904433072336916061310860462872448733125167066951097687344152576
18766400317306020630816370697809974153192245205086123188955442780538743217838708521278342487151741880409739709464199135725715805945091860316933507214672326129085437920332006219723769428728220755373788284844048037148802500330238223756301477837809822831688860956803933718407532477706460328168403908388015884355303973435892772876993012939491178279194418814443858195365619021756461208834452425303735455031622341984185621835574301774111000169033894454436383925111504998221184948025328381972440403012088899813784163159163151747840572421021056041868263922729971491756326878756920921766846094945949317185775646496073977693020702141732136176927454857855187986695653467271755222268492094044301824437854134050374924660539545187400323360908734224584327304840875451867073050212250963213247058333906528046460339531930485303351842150914540842434407709460125664231185290156301976133054481029962958112753273411314787739487099408144679914070146265940781633093084764027453930376803746662749887954221771964629939315180482463924105809830399294661826995404877673086213660412945527845043500298013142515435721046097730494349225760284842719113607663801859147288454439264087744684737619768353475714728442546620862994129672035859208273579161469461428247736457549389909876488388905761463675534664129647852104838321496660855208749431539819139968392582200802404892086533142316597105259779560088775870940233761436516495773873499798016777876219080539975020819481112305655437226098268923214159326759054921426017037684201964220176613312632760940207661142710707057054821518046860602721950014875127658375394512173556145716026191482262082724865263659921834293752134783764017552913422165449438105157364471495886979843449493820880192868625938526147311771467999673774320073192133571173506801136339321707092187423956267243391324862602001380543123835079429702956799419395928789469728675404733323939022294138694006818163331607802954468140203211166338151799733298789360548962941384897915573699266637774852257765469143447455894576486537967909917038001714422021640387065716837783773754219631669621877986835552374706706701615309154676979599555719668492361225237497318526003401780498892118886839413839293389500372643538595360528478243326301541653503031957636910275853192397953228817448307862103881380718291416613575757052326023634689775723056747365904335010436474633600984444271964868467710994529826658144109045896472789472184113137388472416951478329912980971783148987218883158312567245075187708653470855005439815655469696794522589769737965307149351479687178240714091876893910992262055132757472889033972117297316280860583999365944069082131203888342269918470845814414079513142156256879010514477748666758234347841494972348988530760533782599890434316874910296774776761669713515921166011393756694572466201662488627460764502193003951124902446271449772341946474555300028007694065363082306835230938776111811475966747210087995097344036917103789613281339666507060055124882885593441308241726347505475565792867548610610799977388527360566065763809718561406114292360539475654346797495249455251479910901785233995620152368999780155956723318327883360423437691296915161331477650385619967877956100498682914566470941592887808018719659281152023123338914156494727502693859240642198136059074161262869921391949349525883700372235884723862503243929363805279608567436986840443007589413738988349673268881337432770102355774198142622727710753599891489577566380727807465215325054813870235818887541699476575468035022623012865039433635510599499859440690232242055849975177106725080665560062125341448781767894369727013126577160379796706908492107732519105185163945418847043124532850600834621889040081065409842407902259462302437465395192258914352645876359322217946917034324119841847957963543687704592240875415581985046987318583161057274453547278837894560345115215058912985650598153070253752021922175035169110257773110390037508152608452322018261183423956796856320115187648800493420526124336656799469936163408682940152655792155333043524860056651003018797909466552179550068892240070985659984091719516643271393117437616436605367938033533473650820245867761759033157883559700844402546488376798843124598259663839512136190745169950778953119186419173647895174730364406836207344106409393333196679588283204303479233621557711397371799236473962257317560526024214954559592707894100997645369056575382614106799023700841426410301729542670637977421393815119572053297120957916757829126816184058777236290676009986360425936065862853553463932006196342520550693464402503893650410407043994034153789850562570401430332050004914125199045856887887539107104211736962285114503069603102503539348155592049218846380386947906506344481399404022981650986312923422971449581589647640866240617196648735622735086285533375446368396966284125178990045028908641311207551290395439466805095091677147535513977039962994875170254090535056958621585662161417811127471193483079016650890599266464125322882365457732748530742346569523156493379793409704338739388336573796632795891561291435879602338149500647813960785038422443813426669939437187244516893021503705702966874829554174114326585724936621699699084453594490672330563558755060117133309576463598881154019819093276332128006523090627086512444220285400647694297320546402977640209643736259256525363684764754692298162375699228248923715060560852187962131943734404540920192681221181760809917720451088220067377620765761286400251021319031558042674096774776595748680234031081979684902844485928645470951056327848933236742080954269033322466020846198445201489029251212679204750014715348665832232058994062829583465910986246924253735272008143222926749346496263846688681850049946431511523097457593439357794881135309682074729422937026677619705782063905651429129919664990191348308377750213484191332209935906139598571109990232163092653385966024399135843872436458531353788421958947333456191640123745288582151218343992431619518273617992657416252079868836708771889004327673578347711042267260963071386211791881341461169943769309166382392074151890264926972891074670959908995535005119319091483566013079414709432324803001630454886684608725105601859316778896457756985255175982918775738679652147921845800242435228145746478891258216214363561701027057603169364275695180905171210964492203386080147656275377011442120982046076038106238497361370485925567827351106183102634240207789423319387889393861290290146253476309136926474879710458957813868557692779162865811035293461005433274028698579947650079613368703000536556055407726891708949921393361282030443599920130939839493667897123397441268822080657956335647274579641960318481278100405337929098745443380116296782817855611880404887575988435025592776338815191449564576848490320774803062396757896434496035413152528291495527286884433477381109950493643495275263714950606885502727375313867073395023344477615264676569652982120378448935137041571736309971124222182932724300772104310487976950205860317315769135046573876494175763387376773163436681472285964442701695114080044537255924250931216757415591357895381802424231009921610769184942330496107521443049365063627128206635697236707136361763410253294086989990558791420883994894923412224857914126468460689707176361842307335767833732165405481021524919408182807789542977971424550435948005329055384008430926859941487669691544234319291131925618952703324133295583600459060016011766766117508074440478634191721867669069285458500971241213258024153806774530688077110635369438277432723232419062620678874089889708618952171886736370173862660714846152214229841814983014041294484277759989307150482203161197015504047431780604568012564271044032353152846031157275529799943851067985078058654597099338460888817753375830380495162718857412809813874029337073467553903588419439897228006749999283852342714204067323034930054789386049518261414510114058724695553578021697544650672932975069619977651420673883162831462814782253839595877784537503260120027808740252484663247227473061883191288620418562570725470746916951668443144899393692965492111399160002155411862042480841561480380508451271831889162712364136246168165572096854100764073285168597020538438557141442999648165814382543155017339293418886241551973706513833349920651744284256678719609828178778907378609675160308640525777154936138040431345275999055630793205146287583609889354106615230085801356203009391424776964194206819144414147382052306106772801749611092102688538624
20150268906618345358314400482126634452641496789164427989997713785903301845389764225441750273851007891448343783005319242693353653181112977944257402123399423020167057564416055043945544962558077754149709234758279694951774956120350592730611280307465495332414442564241041001178006297951774049351180591761277075408637152511503053017360205348904859397411396508440865844289228115309878342159149861186856661499124151161251248744303778874460381299962762149330007767713506780175131881534061295058056876061495429336205867692833444871315124292551244656801850072105474649026439386336683123161694628714540801246609289523473681647039360787424170418030472094751090276697478686820298756040096118788708177778429272541190079488870312073649645023731954583836401242112845637444575222476145936386348797378083196470113481712674345530826200304883062352278017534315377385980804451134396928947910385152485825296423297454635842425569714942970589066829842115538043946703067596313447969278758262231694977547761713929813814525291202130013883569816290069298503581218472971196466764985512724280979797369333175220495899270792165223262959360836033780774164756150987015400589723756318792673836476811490318490672221564687890467770895344305259698868779844610034264369667800380491917976257418493678115878334437795457196731338548923036581242515380528531979773153560359508492415517262067474561274755698687639805590555193991226082378327223218386166659414321762595683769147624260623314682668255676854487378140879639848148215098111753046155174380448982974094529014148118899771716124782085021040405973808846704136844980220824380467535748873937352351035718356445386051999169006612621792833274430011709450806772334656789694234956693947108627576230207606777286234192721127349843399749135003163475013128538255972695959060748663686150453103746822348394891897336062034132612001784325556579338460714182297479868662885145811858803132010479196963209811683688401094514234514955624987637109991025373921901856987106717164583613002300988940402108362789108847788072638158628621916680008805269461348459115005547960659890253994865110718825445798066758206037748026479663272053385203989219884057997728053712779801810893726913272570952833196811785832933498844509044321523723346769318949961601233777136309109568962071212096655838204736539545408060178909459025870772173316083613119309212452725388205909932440088371310098319480101795778408134230966903961860969551168861457237949919730926000156289649416715849687067431958379784380477584127787812877638748562182870947264898216409713597460074399651443325108964235571089501886819191962333716139753184403628218229564670384521238559217275591739227722290830554281297130516260858554715670777274496832509573895650942425817143553460161895330117268051476142645833280737095442450759551432371228977765019168062520059604481568477678826359299377440940232511776931218403388535662694624082148667312706795056325243754894359856676960278678842372467332297363484992748417481279387184001865607835565906121820316124808113125737000397050857165031674922213101923871107781416730418231040362006723990415847745000255976560884714109480311399003498610901315080940289887680097992741383102284238678068944820409381873101202702129744102656574070155125469334646408757981470461665664092870128313475535899649554037821653860558342632019440507733205817255121271937102951192010492925532689694622047076155684445797139795999914762054221093115123754435221119677108745007507482442675272037988321578887115098082907303720102278312563590349786568657862217021298030780385595088017443837738036845190013456602903062943448825117716846319568116365792493069268061542562152059662829488222252281027494613524088773878443739370616917377269762508137117702048231611851046180417914450724739615245893816083758645892889160352449323640220458449637505544642080507509496669759087568685463838862404208309744596638409728352225432196669954060923124398037936353702626409476125313217455719784892661924851489262001277597195468713032193481854626573191312833573598002604261266471679513266032029162453897096944582972938512478853028137975245205162887669894178973941711422373372797563130456674498789097695994598676664604383587130702139383343005715119541263698675780186380987342903011672088320042491866776817382441854933502757079584518333359562679314786443640033476894190871311204051958275960410521568922514509960703528559151469501856653120118211668808074606675871302166791612907936783991192904429453155796858866008266964508341243870545240120144859084932423600935293688808000602477408610655741768960216944297935701754587861434443329747733407668528092238054574809234238209306144356442728141887652479270925103791030130148149255848575037430953687773660105077421014140331615380074849347417025991364660416734533983071933097427182497250857747765122752854368890256230867613899882484383987009767960937714573194694233914661448542946098415797978176474853643280826251954756300024020556311932607279599936863439063300479115978744693157074307103318824727274156943258959309610272943865991627624902766268271017254965357102711722260184262854391065188020330612687985810468232875192332591770859205646525589419400373475788692132254676465485364554995155525587228045175677655787503892026056199361807409850429918607761189038427905142668714220787621131462615391675845982879891296850396194044903321530327965882251287572770447073568200059449417808800407991925688959831046302754508501139111698560081280837560398525501109366121828326236191255570073665821392492426381445401419142016610877784186456381235150264485317246667329015560627807551847504194411362595549779159847038606461697706351928761609828323972473473887682246142226472064288090608835780074890870461964042864776644538729422166674060037000441656839995242904996212086530781425368371434616504982571127646935040356625023369146307556177969504281762945187435760021851873605423028500692969336825115914515192733635482158408434884899432340121691678160748989881972266873257864979972083440596835459531349147182993906110531098861070516692515739764252667018927587036908298606958294438535411359603978445085221203533040589566087259124296633765340199105496837048995120518999052044071069962086277094732997105739997335504180141378305382413128507093302657697548673954638448358553531853690824937198886029935817132697485527175693841462300468285565954402867686921274876239135127434418513471298891230488793240202277633293929964729008275329195246797565866641579199620997803725944310394677611737736397418365721564364458346934507367649662092198204307521121664917895217149155950260827773591739301708457380482687326869608486654797839708176144469102013844356760827285474347263465665964672751086168675082133458680635403978869585286989317922011156861062879209855741387594467022597043372080707146657648944244203880714238421974941464062669256068974543329904904707199972315424309657283445060000163890661622700583997632603852735027810559097607009556154354991742752472559336910305661599684195103434412060000718379646782590665224057711401426390592444322682971281701314974378937365460868696474862454453680350896567981832294973047132339479495532370881752982622834854989611659438481572654243079075934232104009950891649550226795208561385285293429216663474806411181648222233054784604165503728108223534679058380838726604636985748019066301398338917943652913594518184447308110048203891673082950587509166311867643837544542628137759891826271379569866030280864820230697954383544515691342226010425831517622490441452051357888789105651332025717150869541333552880255003301842249450672168782621916680542815308049683189349048285973858237958065743322645719482166075428788188111835713346270267490040922757626330514200766618775873333257349634672307972511628543042308212622585955654323012741975312649892332524909935863097717543554743833169534997880081000281790275670566616421543887332471400558681235250377746927225118287481845102847103789868377322689184198671018148895963053250060993985644571280378863468751345252782195864220729744303278951907358516031892490936606655005145119112117279626816295842886601512353908478456981232434252919789557321027032644542466109052520838432204102375830859176559340692575841477008662101435411190677292081108281358659463048538423425009415285366660581016853835099516618927618508024711093018237569976327070320221361366021409668022492566904217805324972786766028210176
21636186489882867816898437939145131876160522380487556345896798956305756811091371430355772144797280717602138655343191685351860224243751651287938713281480369554221765173929092437770489604771122113674532362798999438759682433422185208958047696752313281775290169882871412540263658631046225331786202665151153019518655601491867469128429050556347660131840053765360526687786415780084911096328061670240122276544620140470333633948986449138755756832757507362299762918438869079581613145918934893083440175998012038463120797616005654824329346836670683051264672502997063870031408850910590814773654637566953815252955732348278721747687367451682905006342881594599136499689815461387552346535423823723508189411526914953370551081084596585409792184734472201933658387302112488580180898286742734225666126396949469001570011341157595688275572542354495476840729102399775905671381000348366227628527697942172648187926892085035246701807809962025296282972332570769838048725110587260897298262469860943730475803772709832364493188783869506233792489578174643921661635768055310587193686590923766144668336134498205224966869067540649411735737215741957076694067797346076017316545300661765871971083015689303318734515318169000109501576534381107437561857054407006014759726785314254617286025085029226933272612086181320508749332234291482134534362062651036760012003957010132512744389727670875816146496755949063260771109808131168812933689279330727365112925247520621092384464811764998868329284294194037364091859989965833455013747501790852671616213126301360917549204332072322993609755655433727573015003888018007287436284274667551893066881807781107438775131780517199950975857746575644504585258950214373333247067301998167119780272244685119778177299838122159599718082872183550803957138160997360718995430775060613421901453279317596951929751054043574262569494698128443989506701068680192977731314079520598442764544781366737566531232105421844720061332164091940094838867310562052208053285447931852208625184933470323110970952116825600780061871187126906831461558503479940937897835422368678906092239791989735482837398430804964269750617193585308829336629917939378804673940640410054305997034645503002308249530156506787533406015180144064534712437904951374320005033634289725165631473036569534438716512750039936393188130094554104014202697410934581360804008865291746101664855747287237403398992872103321818437937258531694239177899233904783449865595240743641423880280514633097974348832538072616838733237025012532701613601986601765420711172484335284206518694235613272472819622062112609454382053057445720135124257052867323423204680735842343664596823131360115259682819904634616057313089506184757706883921857828930990006495995924346408141774215977621052372179028587615884409562155744827057197531488919297021212858552924839165590940416096047707067124910412834836304757911603766301213392895499617532179463607570996774063150774416960635879514972500972849966624878879820697908404168519221560761385178767110312559462415048552386797160229228111456112436108075037627188150618111593144579648752154176435272410118993423387680131718720117733670876222861732739385599981631925253654008380850644339007534499086383547224871452529457004641097609221722119136221925978520117439713087679468384392239301334844598651711012241249676970425265696267193113357187602932556476121514854232938519586924587870944936088692320901000566404329479818165271524798650018539936380452625343420706822073002414885421034910711977891646122037765777702812810855513479791519344605781887671618168628241394208845132394417739372293133290690150399716333530675477345978500085550332554301282700756158850282713703246745654938785907723359684747681618622660475530148002163734993186820869926930935533963603499956746883402342070164544597140036399184234592095545216800915666667419633016634817829987342314100951288092651509048326576055224626159979655781120168670330180263050026040723199371802714928155801620567234501465678266682213201063534459405389009297665697542999860466119999927497639537309742875923557559056242433851204917701428235314439784781581348282341028890411860792863453438853223779285618462621692340819716687418451699629304091551411437877229838547071241383041542172954174194880614527081118601947781308489593207881402651520974538104897138022890242649095661993877422936879129785866164522744901430361165841510385870001626545218206202444591671975078339390755203934107731019692884065934100232628777825978671669986519397469137938710827875412258288169550129590407988066001122320138078311434008910351396390952697191640398802003076329925206171879836691170704878437307964729015740941154928961367211622978110873215694121066606578776170485311111970006784231172199091628491980486769616300381861700938969460663068021994820767176623298725005138642773642567237432641779010983649854828233751258592581159156851387572168113728260556194022396213452493845811244100985086046662431502720303241069399724000983595063283075947869230705473314198033898741107906064924872060797285012653711316199655824317139473442715199884519461814691884075538995393681975592277040005831652973369308744287852741150635427018278661465779547902689753518091485645862058002174570128661585540580128382585446605207708912330886526561318585431156639029254724189516187990069039674530384960388085435163239030317612438468497282400527254001869864516432430363632821404618266744735072574068581320230126313759433329194466536185650388948082182236615872951639848074778350022938471684803135753227715053568661057753428433037808998905076201737430802210233444030883869617902546961655235778376192884665841713723554907079670994157891346794300601481354936374408998240909066593643776306105171215535393739671808601014076179850776994008039459659614968399710637237614361713420958568268133691478882407079820355016114622800491010809356858242036163076429781598235515444143875954701169294848689510622904378913938054159698670331062971121525308763888929810297146537446853604473943585602026446549906676765940948342586641754945069018477112338528006407699810179186044297563177988681767949828928671866972058162362068481851495733282489250525042246906725902155282910256256373368059342239218798073169868796071799046722130013068029105303985608779398344628119495341290124752759733860213553500834780801043075294224087500132617336551402890993048150163231073797297332052997740752835980985510630018383211913904975034041043119002641265293663714927427488456381011263064304748548532407870004041510290472689439965603298719240888995184900971596826906209482749481586767860556062682386095014857620702610790093514489366253189148925343945742690774657626626602290759516681075541107987312880477421254194335883032734282439314360734354353329735174092147248285964175473694096149316347770501482182534387973993151198567345049166862019480944445776305984785982255329915880937320223795964619126126855084206713201585352341183728365416257947325324867483243742705136150000451924344476010607554377367978666372362302125483571665474333534269672768794272260814632323053095721433168836467607656058157753587763788153473971707754777421181994211663484640940152607266465658716162100743527761617935878883001247321124257142019612155485066369856883399002384550214429298700915162252197727062315130632813989076957466877597512803785970897724007526019400444260954300243934939996637240386180323004208665892351769621041973151174568954499067133963852424116740707436882782392029523583322218344286789415024371941722332855883863618422764654875350448661030027290833561185203453389957323148482744497532462045460830446119485427732534688316318942067818960388710353784479245644160742519546747173435342573337301828611212857594836765380611724442236416806036744789051442718880044706458138777604694377893016710529391555267621055905186743813567665666528911319969365557525453270087280208209855594306510314004583977021829976886480418336063713008572313698674649093768616512727616516816450584186384521226552997403132654955033329619793399031782292016271984036454176096061973622694259256351001815412026017485390175498115763249580142068328415768811264676933036044223187463734047722690172164974032119585058571205392236636856204133225307360247725964519483807285858134908594931430067847394549961967552210048598247302453936785683078641049936411641150195925654020782611926090436073651709065306210748636914960039993705641814176859582913192812518191629833601024
23231678346050988036067426775528494901429141417617530760146003827105039620041672590291695751683024307958149266089105986211340478972534918656923263199069757425344145038354300960796292001599983760863627721578827402748797713723495708332435273389827739392826025139304216858439174259412917016067122427713060278881068867573694897468223098998960951368094019806276279943344464602130755315449132640188115411200052847015752254004933032849530835432105508904889176270812114518007162456161375308236658038770986466553349481964544763405389792449135409306790814960130712826452023876866481842372710077687199911713467709442896597949750301709328234291129337252800905374001917887733672027464426057097934154977670396287124970465688946635922082047897737137781542683774668702541262607976365618466213974172475070881577242841155243065783548676272033227902714223900618158146840579912999388673854524822949505788214915886036908897889101966070412365019132516073014990622701116567227028913016419234747522453930775536825785149360368385401451718197170232754995477900415350122779860081422826505125627116101212202982256332150276093501657484015450504859196246702038022076122936511192894431181152521653162747251849486722517832422518901969011147634506426245876667079960204984165965118504509037220642060790660776277793115952030131374798339311827326486186339390695277270715864271956189470506628077942830036711759091887051232451334317837820700263066321248443169349767756248366544237821550662458289244145849178535711666683187648353414136465710207565645291596269268037791075679381659726155368223454087546889657128160864054163276286626279303694050378323852905938733528076772662284328952308715506413857665887498270807849695999224774816278569323580192383420404188961524703037603946809311757600105288079316766191347992385258026461891216634670004170824163926764835574762065707419680581212561661328417505561916074402007616566513843011839163424189741947061131018372136872403058362206055004018187634602801743387043304536936981671479456401318690260691594413409262130070692532065955689097806266496439166619348886507260123256855730566050602015217718101198919157536748501619818460310118853587095936060757390603514499835672099576436275844391549227293668964503663598443803839970092990611058284619147137375665803982875816110895726223736974935026098585530529751346511646789081341446658406255219485788547582773380934185169783901124823783696788641796658879169557413801309748020661700641048874539772661290485890236740303803164454541720508779491465775438645680943574331415963434568947830442766544318881846234590624282429717818641020262859037093672001759782064705865878698919045265446081021187599611898705041179700782512504278285997097259980771954903037010214823537296432150822682959829789209641772354861434871517340568254400254289224177272391742513870144612179883858793534601900842400720304755949334902285680683403709479849705470250808504429697642136572197752965122876835032337712056550615963098216807281993677688359136342551650506961463095767952030685636835877869458606847764417349334827215578044055472291923760218794160846512851213787411388410763611829918490117623765857524141224442791939803560823611604508577892908612287771128622472235268969175720411740801624310407656158859761674112836123004805756189635218844394565924896385380282990939653727805227169526901124133530996692279435918419033671596017857156927966980492563703644705105991159881833176142501909074115476733032995556280023781439357223035396757458566044247933120808296805014686405414427492530108409390703590891562644002220764309025745047819846997541633746642970120662038332649564183136303927393955401598046588904375915309040640951167826728448482833244758237044613636609569442264493571656341319690746100290414095862487866686472162960566703362290632797651158128692091638678330833255136356211753112321902681921211614822734671401312114671267982437896134764213626372595101295110039388250018288239488055464518030866838230328796350272828525022052988608637178925031183232485479368565166378030037469509592112930501440791627788049542598509060123350827527518963290678373332969050313385023491755998592251111926179215869099113075507080759454908757784580571308160560738468424842504548977683615740654930722496048588458722567574802309756313077922893842568059793420936664033683808664914536199948536207189429856638999373369629415205820969120801730298680320541409700810917586417256776617047581648217757093504028451393249893154018964531495202966298290377405841046010158277466072172137973992783032960841768566180271639361750198032105116658570313357599757351538973323697861027402867170089568855341850517081080852150980134973385524984632918574143317792753274710736320109497236415674152152079281951581372658907372790969101306830933883891975664655389269563565860933858500229300602914774763493766701111910988670722069221929955024105607083174079350140000700966488540268314005959363898968970233912703157326965396595636691171723170322015648108506838973094549527115703734659069025659192974508892676780578236528516292405613605265794697139682548375029249182649700560584996710788583326483142165625411302544645346929470448625968796257744211648718896365005537074533067671467273730333266387222190566974665765949956020981556911868033369983624546058621890789270603020010014161224479006252038543785232273679047736507035751400088921261059758210379222452773607876223927886450240095658949270942251255423203656644327010446034262895393949340396426612872064590340648971071833389935587943478895447950523712540918638999289659523158495704863828853350923823713106156922512188815677691876446586987598700728880638887151374061864693206492582396535177165348876801270810593388928631742407027925337363429360078889395307207660699718366154764385332920654390964388453259396821587330464478871206042042549235713343215647165101211037534575215486030574893583625679145904723992638985296445637571650238470885910694301284827916432105113468892328826746077420014814735302140439854949658757595989279427705504304623967075287281826252990039410285488803812873994054360096340063088288735560116135925782957515119151819870686228048259003294581025751845061476179036578173100382934817543388881101396809407614189582040541592183577628617716361065215785668820261965507923059952172768989508377127996780842725209933748692076093630912588643588919458823829239396211501447327943491414858855725691729460545093014086372908792019082893491472567210409998362540149450094418631006915381454205383227214576045071362786501749114885646933524894030536858044398843578333490528753521471317091378382549303362584106448129113827048852989558910602701786496477791077278301142520288294993861516218760133720571004299622806610319266659730451152047371780362817398311608116594873377974685919070731457487259929796105153792822450519884086216836469577599764205046770767253979952735433499789826115135914505286814202591327615590244604016425728799583869822850069947675953998785334277732423747761473055807122121128714271084946648292178079707036444388248778246600568686761532250956417068033973060734318009009652933970700788992072559064535364650490423253392332027254954279661706876841892859073594317165399603106768731188599800140167296660906306161476785930735464544410028475966884208386855571138135800502497333093289577798492407167402324566347409319824358583724415448172591860376762525397031901209411617601350720799251937930756138328883639812863714207414704720757245592162133159359382211868853812499323648589283384512739222029406467415957854031759439609284909306469295903883003771070005114951980376035789821650262229557604280232048108105210622132479963271309080760048232691539080566132281442038087238392312820538148560818591334801778440313906510710394892281393039626308894163252240708441185363000861280200928989438154197860157120650280889962350120607276399634094743848593807199967325324448096186036963746715104100503061328332670173939022323470154071787165732664306920245380125326750190779545752200452517819401189533802782774671621728243208273507820127550218740391026928194756348978626085778633769645956848847981949970403730252664391647293246160717846913392911738801897606251725680527953018368995309826773581803181992794950875978905177723822170138832813010701739969760240045945976399997719583444831169116668055637004498018678184432499225847769806582926229954444360644930267149090884176973113799063579998027776
24944824681870091090849216612942404679435226512506593212775276655626745881215812483110610088465181590263320908634778008163883575377003289462376414855401236441126566121203097071890363066234577481760091445025014295208676670940496113521041048811532299941449668747746363900472028762355874685992549341963929492467707564938193613627022852358076906026752568230283219474301302082195311498908047060293522744744454772851086781947368099689707156781112797291983946646879317803861891460743035161814591426214221726876308466074065397588551687175316081612060145241737238868694791566038167617892154206639035734655857783702317816925959549301924416102456561601733593245132221492273380228987430929661463966197622490580140393503774978977493640299987371639794092954810067977662368747951539768062800675002242273202914036725152972956617779544853118478316868065321794135856109064113001724905549498594047079404936441487479846691341274094770430685247797142705948433210561992709730968647162987331066488939164586894645897716506314383452889740144963557356853389552543668398432270914291734246849136208786375359441226153718587294740064253910000669269234241107800290341368508697764454882375893183022066463603051855246900079257881784474683221137408215456969084989477224347112254505063407685849776096804482984085773511016976329765335596484852378314321230861248195644844193889106670930151381036499948491340871169571385992313743701668977334885422111610273325817960524570508490230495201594816371816928745418989836694122485935677265491516076591726954575135590035458042690530901302506509405583643231542852985971526047934933311073818047945881899591169343881930356170687109090434511375867969198953899229046424972094066486100053112297220215917611441980044732152672788200460655202436629386790182914614331041204079526362485064043831341438889711916468345357999476969105108798692658160768556089947245275455581910663331367474021191116781836929723579240326730259169875756151715149013582163858816119952657859454783815780478190072988920294880406485806028086922271178036230648323677749915055414986516680270899587090674473988281092642843725884117948391099144043042051683158530828122258623507397333248865015408098119864002260465112314244924122237500094697598355006875453496627691753188332597097274192610125973582999543556401763349279971562977204582831371022897069871660551942849301795837412380190937159837881022918808157515679603941185171299185227142025316182767741102428685684133261787821482657879380513629061325619923938391592063195099180254153065813546075543694157080951366697220458876903133031216416868810314776362392910298263221943843034027279603999762452093540082491658639209341755853461807654154287029989203646574610116870637156283785632702487571256774803086316590701861356595496275034901692346200234909386676225066575391649357254449381274375025801110649128282852124386485958942488913709567088546079465545259913997489880861021055626036222288722957472446156974969393927587449532540596005798424373837566842623516098029555326082158567494172899666757092193718409217455806972022561179610238475175911678766266681347884092901732709052430545781799084657350223316897606895522366796801097173600439666492607050377770023180184541631945287060093337811416599351309219858907578914260167210240528268493416758209776619393391886491849231992327719267621984137742172030094787991948906088240734368410856925205080251289502245857769587661108449061339395179014963283772722903173956409700784007389846072770049601730917246308775240417366712965749841727737690851745024978416912802327256259581207183519847403150605049738541277335060376614137157126857061798805845019618349239486539059207162756885598821505036037201520226647400914547883307815548432268791740018066554629771308833646716161006698575153801456382504132141892876878264177444814273210489619898174809968487521517062196660836573583589748562738485506000424443855666562464276549106964767678076215973451418804847625653500684757743847182546173912866489798096408816213289306653177341940927174670717530009609445959299573820834010602270230425069401272088817897372382541307621838322038779895147419041806738320934891385141185643824598176226910477222619572418975337189741711386386572185873456797747147595340860285936268566545044164294118417731488517156599803982165877397366728859733428002850155132338903446769973237620327787617696696762914487151542801217326233261072171037919680008928353342916401149219813746260850767954060746883481563001435906638964680283336837917396152997015271375118432227070174675416647626361155636269582863755853467353758520706073496840727720598866423674683724462068578041691906108350717745982910080067733514089165052197321960244125284202555169879088737419442351925186321427133595301262763198932307623133564837430608113574169130690005731210891463251569394113647618009971102965670282366133100944450003409330707821118518114655670940059008017035968102796930163554262758693818363132544918814789325482331220050734124623749356570283195444828533703553187096440793753204666817163926986620523464832511821320900357310402916290322273172142070728798632976356875276133939353996574169939232744503336245162398861746029060874643941137475046228015148508760029876703251515325578493845192658971781321462870688519188908989397979083870216156679942400216916285461103739002161622771269722259165803807907180135956541542032077042684953811562048142887580077446561241545685550774672105003061664400586208749403448791883007795820363320855994387392511878181207542393619133541440943438103787692392858937654074694813720735173419236653264620849458558765057639608464281178164671525740950638894300658426676975246549292884524739754064925972409684852572947805684503950570452916420314970676423991986259483211418193946488714761316577397609070693027711576847283488350982788220310378236662587501964651085507012396203484051307254941163516006005088133259362500470072746645714719603026657745764008644800167976670515928116695815416414038113153811921280905397466994015942022558691383977150184326886790041534911312122936610370231825108937613477058093764996995064694219958972761440782121430398545652400870074636217582221945439906577087674824611286010303392907529462145576335132939081112019410102008771139058785797581364244807380657632128011002302392844707341737925361720695144928196024045046239787399122050865714728852285906591302173820796253832545970640718888449457081252680224207194759740630528206708864731482762468223429630873343776978033076948278296294260657008385322021631288544110673807700089823026465755357655821887287290489000630530591035177378999152658762470391811024316068159055946116837625997955560786632966807728024391018310872558933228137088999609816478188834881763466605561361968342246309852898935042040619485784009915580684570123580176548933781381895929305696129370087003039250353972480359496829648941167905709578155495031509508870848814721525039517640545440077722754688001794514824565590984145163407595858611822135258862319995869193098531494600209581073079929776237450697431912807320276416421160612292176769007135530328199729398390073174928651827730587111110301936152322709558629496778558352321280567244893557398114256112349210679528737924172612837408538688781830646670926522658925435361402152979676622413510098398578423690391251602990724313425543141722077245321709876300742806145318310556654616250968498321234655357790781436250064827814703513669304881668451831296423303156484179371287295543344128962261425727685217541422377773202592168139601963498195881960607152895187134615291425854402916783831065151747585723817869081376874852379387256443488732926566478852638037312703805406388419243057495698189601734361828500855326068822484795503216297276329192940656260946529109375654947398506483629257190406273414710368690568390646904573920579613800423603622003653620668900517109827476949015265822848801894377997248634274290592122772784819749885224036388267784151355683094379561242601778273581269292240096983341693345839977437859165900108796335837795109632751688115521894767208177662019684521906443727112954709387890510357930684047645541107324437680298047337899844747215014795490178094139275079092161110397961735357725556929830529020844989760361841947605411563987431052220985216508677873161817795104064989611876505194505021368573222899383626862210691598779899821560123640372298452478417408728524705401241401472125917955850009566097879052260604903424
26784301553271411338934587554951879607442915405391988208311345658317281985681153833257155670141405441220558832734843888320975241148944999681332031061419219868150507721837218524420617566760948037134407318587954574963438949281896092396993678129767723974047260525400976663860590624272459422453067180850349395449670581875334457961030773180644198209441895408268756114928601223311391693085700458797405087327397281686631601630457295360239996548006023714037103451338882606594341581148250969942934547798019851756597274749009099102016690105901297246666320749567863791596041995417638551653256693125871139330560748957124205773777879417666249255986679335013789973102350626285621193718501759488716021575309517498942764296821096812855676284108347601478380353723311963899183075586082574168288543325338822518803239908468739861461447479320477246996058366425974382386642348043627414215230946342657546582129289286835883749601144653002751105243539595991073366325451010117221232824491598442148223698814408568463582048238924913606141247654139194489876377398730782345783825311973754398335057765646727504795077791090300304557422197870523250462368321130345264378870605185297470507767996999967279476878370511019390461448102553638221243686276051897350978828212295676925521285019000604259957576174446130709221422170252259287056935341773381061957323746881728508403860942299050575108520470250465268998395215364593293595009142498559567774531969130346458002323225612334602907578098183665840019771265184217791489409208127988453724192728604924603515471233491988943434000517492917315181024536868002077299320912790773166726750760789445530684155607025592667141275683231848050133197273222830860578650108502130215432048362341675294894064769049943434923402303202326077528301557299395682184092508031628068722287506877510797839180280504960223808023256782960291391852911169226703588952114657866263205843058951737050472427969786364385926594991955789316957704437055120263721844830275513395632099118569643658915219881810635401189816409215505521930794708247150000927251034415768289582007446348699355680500536763587663090417495039040002777768818536596660289614707082976910972548224469404562090095372167574079379593744419091932784662206009752892312880771986124481981978296195591978198058325884297001323983744785745289418276255472225752699274519190515406546245568252246951961753067388938776546398334273705913843826874956965126535405754552539595505332570052261751699681547796403936371124939775455774004694125167178995060349851688199029061666999096461829007062327955922243236132766351244602961532252964387460756097985507848508325535962098844926145267756702630877630346791704012049996534769458758064908785333000150223780473218977531112230325046882963054098579349423142405541678053225962600541181006800495879700833324451200419182463095226820110765218884663731609620826439627961020314505297157306289171905836873383512534609747916097255438770305595210362842987138766332093959379982271980578086909313114763490406901320495120391617541736371714118420318659552752337019366055529410817531421810146289069410362126821393256100903844452891931778418085861064455161513643791092966449233163557194247444382980734701723576787886673742013630388488869196108218151878627411351978519320446430821651550868656301735683041952332521940014377748559155492441119292176373390558347037315760551368515737992311071836961496272734443085968493519417961626966479956933650062572333199611153091500579344648611114324802801255349791933028641244641593851781855656728684584452379568700816703250936584819819581078142877354503690860594012809872034225037587935790575279566100923130509053226322096275289272880342932443211437935067819770492183733273662845912358273020429224632901203132575321566289849907137582329610204303843856310006428533573084431874803843454537058265460402532914726417173874969610164053371885553873089456199862210458687119769007516202236678537920750393800950351662002904989611259017237028876598564389741422481824285429730170538033165477974531122844782102840061292784031967754156804959745316975757514314248480567619128466837129401217782139018923350118470841899460211327661123383170722838381808956293697725993747250670765128299272900286787967432535198221349818509225150370558395941099129722382327002422646782767165853252667208924242763611137553002770480535573094677972593636178154510265860986696990122131793161290104793101125895850378283066403739554049478978988850399083374793934565471808927532705013615645279006933151817306649598244042174653635514711531980479182294297735635982459848353592713149127278481124375821220203189206088811684927014933799572615310817241304280858542199914226964029781783407689507782567944169973566602600374609084018999472309020709710455708860501650839792538504165004629298327521671581132400836328417769092098162856655281622285650618370406791634869869337540972835058863360607421247122753935842823464302995295415372417495172386754633134890123808519128003989420631512547947842602262473478681146098674393945601792573784793573869469616744460964061097526665638980723761512489951143682093011477253500739980133936559710265663238981837736243538233965985330026705068580547220707501090891353305459426874458105844388796450605836509939275770440636673121366729758138846182723428654875347791137023849688006310209769400960777223086374530090899128401221878544900073295070321068162982385862119922859303531930024968982619241039027906957117961302451829218017687057185290376488478612654852598308019955589092281934410086378195510392098138659280291388443841527842411728127480764009545566062300804177418327083111091403376409951290500331732183461105660032687447739815436654985028040148688866848069932476840420723954983268547268610010952687640440725549194888550983231786456345936804876519111069918342227067011216281779373963990376919128040075879455090139640405561504957926358541098285486662956331936768396059604810202399408560374915819500478776589219677073849698387728822823292404909103777847655134474672380418433684709613241087634180702731431957115268255310035195319671797063339753190900835283769741004618035742263051265623455756180213126908403195861669473770471716574097002331688847893919348017930087616877291434103669726334923986851538305520308832627859435988240651535104239492640609863871307869838983463145547887675807673663305526895173312021518895912838418653506818722524901079615947954972578233969068828962255247146390266755025453751571597188967371389590860071442443974776691522611878587622038962333747216823699352148919691540274540431267134557474977701677388963066905909407090089470274064541249163912443377613053701538949650874624109982156598661346205528490333700460511874126064491379633595735782379528969618545343812033808998720874199698211448755664876789690269493148884177894183676214175710873215539577189682058218667056707010301589471369295766862462951790755957528329386747328347993343439437183936732384999597757620924097670953982838050032680704007476425539637236259863025418733475186363684721095729112168970614173541034151552240548039558704884148373349808496080533779834341361683368374385274466266114926527998105070811211369311886430289286663006499895518476990399997466519119074998884859764867171176615540172209771926844946046937925011480441615296909075660365513769838184179378690381183353722460628229377973953225352491837700782991334957153983436775885646269744484328336005684786488356454787632592361842207348280185269193944737396091629810425685252780763659464615609636146330898920534267005671020497125114743156553888467346298390981603900289482688558991230810035413574012735987345016020349060488993395922642388796562530517254767846256464087233210483583373252204356535890464904011939652548177385746132370111244414296406607904755391947317353819709523395369951857155425985659282412125743209573321229341316049363424553606528470533422284086111215547185696691946081909917752984247480181022755114943238525074236950939909118723102085070780830207428410880186245747448701420776086990689155350767736239601999278164070533071582456392844903622243687543480104015385554886626214045521474617554212234923628191468906696610800885948933462161334780572799605209531989252072241727033326552247072821547044986556931085999917451062691357210886470697011760397330750293296421450788633542743982765504669575405808939241683278871779436553229081519638006591594280996768303588740741919385216105693232345829605376
28759424804375678378121906257941731441924159963263292853778716247056079130027623999346130190309575016379687627360022185001016252890108059633512873781512929169884965667771579649497982449340342117361918247419579449750387670714586600428820524071525704636222034178747243014435105458623609253230742909160792030907426590781962961501128503315115182880423674797691718873054589907287005036512288198946762584933798842410845612350728590274210830971209691465697453863517307052126482757421167010876295717265261019213338361822430172262396162912753212069601673161010045279371890003340334860224886057217181138733754437528028642502087591616777016299361779988880813910871828900155465245516361421780623248424296194683874721807670761893516240502052039367237421217572634179438130987689730172202073423468452332709352065116428817785827121922125771519740046231176686094321106828024007331315865604907211243074460468882670821005948692332203021048762214170015678204076109945225907580344498280783947792192725009693783315466049719224534500520857791139841450611002625565520908923300176068087796307488430881730629635573627189997723242023479584550785872204490314665923930750671645163965597015267571394605821147378649772413443487317282561514311250531731780300775190053019369323936727125583475189018004168730577461823460960699427005453345725813576113113810135301480886360976826541317985271767668072314782987531618451228082872633963079267674877577280329899567353936506551673424298610566180446069321394341689707447089919817741947752754293339788719161178894469218097510656539269788945083656176405403797715161830861309710411437471483446924065453209387487085097298217800210740240862683102108766681209462960875205403520556636963342355290991893825010911479289326266643528003925756693633886071793358614972199466337087070988651536693054227631759075117572556155398659643578555453381108789841394457402706013576577668542644869987027786073462036771874548549879693096458020508054696705000175962443740521761453353662057256416078272525241456187308200043511802842684797228216999473817617144873024034586196005407577513674150602358044729763791566557865810308771679263840501347737549544469739886692540257245169825648165775511545592331888596304775832381308178806909403974384510885467191430151380093391475159344721072596636259387845486637661043091945712347016125067256807084134297853116815794039353258168073610703170257519856511656470517375473340169110117995494523308595451165350053943279911633766388033211132054519091079090587039829816304739703332090441276224419212901078141054536859248151204654071443132810799154981070081922823645140169721608619292365090050271104145529361876813966681258437038066377389869557080028693556053489728085671462937923952998264232419266458338274338069100891614166860871081356120849974457348116215737082542512681531519452928160978080805160722129673552747353397971427348069862113622840673269800438733855610466016219148246838580662730835987502532357684044073804090007612436386433271518112726056439152395013574407891459519184956169407318571436831787834856861520031739858132219944834553722117027083621991460464902642199347047958666689874485134436748770420439192079573239120288635488769284029498169042620926197867014326651859788066423281471721343955391124729954922139801854766675351766043162391056549962920990353345641383048094083183926272420798373675784684570188249614067625655082386751999038072021535700995775817378865164131181686235611211070962579724336961786288260228775348190659094263095208679435342960575658830580079237148237238327378292763788337761019663233087639386345037951363235382286138736167182690615133770236580859744172466132709990173154027082625786062514364071538739508392235330966516214445664920237068263365939595974600351976138269545829978221952485500212025364408915187255618513085082017549728815466078379637261435017162119606761744934941337215208158406582584626080589116699164093008679695288550723527000430696843894308104534826299613443622401863988615084815097141338792472814204873388124403986042992785724523130657511339489183225008037201487272713903918337272022834187609215184800328472397497871942031926388316275334782843882540757150331276013178385530212572335655301827705835252262940682393709868164373785557647956309976112923413420945745175436148430582035221775305502818623662876091452823622751564850985312920724012806692300786465909047774357394363313695545535864019208749708664429186034145149145903174910779314924466347538428450500973607796817893311078383756706947425041745521165797539182554049590707755460849606469577950036769852708004478436865138478878028762912564566046321893192350384287231608706668059387716874703907320282438145467712116699776997583435661609375841161529744052125388498279224703088004127729972075052363667631230033269043054068059498400758418960305372754092628346673543995768496072013115505132915846650555092185382237821940562975052243870697057162720817200555909748353222707759577745155241893079785583515112403972618214799750718926401127737245025535845338835470083044195778457447761305723851837287832526561958922688096626281239108394931618736805923585564770794106353786167651552375842220116269047721863680602791815671484032434170175265580939086466038236799227992094991934505118628085783419083545492891571419722429889839022295501726448147619207012287974418697486944915929538183697507470597582496751994949036275464458477687869744187250560941008170741480003038129552056042776690804965043325994820385740537010911358392660942630941308575734511721201157022410591020534602679182923672457953518593300072523009514847363114127974133248302878092106179670412980066719749030224460221719758054104377280082700520398415097939740177239471105066824228659426027531104998804749080815075921364209452291804415382559856845725091072712313947154793598856282965673137631592042240619904512612621903771710077708891477596852021722210405086135150250594481625898150124138176235876898850448197234797966357848689805435654816532447644631432018213800003552910867843141031819988069032496449531764837914705894876126740658460148270122907683080718479302306162121194722553756037880824241315595372328451938232451426458294681946436559836538075519249663036982225636088634050137048442116543322757375245674989148504013624759730251226142960763011705569813426464690023737366392368852192434438317704448846106826547917268662292035531561237170646397176661326022924646723991475976224535880041387591877640129632275098032344704706839380104494534748174615758739831938015305033347202428803999349223971754503430519690996615391758407484760928185203147671200135267840414600497821928574961047700383405174282087166617433700269833019640094873901139659697778892915600053537017594262496099057461691440295223954165130058497810524590135136897294360625238400736841259489234442449503086210755838007171785756317296674815469087263414306379726988230368175334927398877767501279324519715413650531669338335534200941198764281352592538693838730591846795930270359984262903269245416464882759790259455510211103465098202548733995197338755387937383183087256364632209191652940111532543668776359484149204710603798672407276479255334482560539667509195472521669818909374123769295617846462495427289912687496899396251253794619354486933620717216602230320334409452461714871261923168065614018196623069504392064723198196137960680667628757950695344173089480024269528133041094238616646917628857013058414525846152364452919718328569394002237232086880437063779249499770718243826451228149587737670314494094909172219892524507460526209689757220978873980852522342343270029755175769972422475554794138282278418998821326138100861932201446138216447652797899935967320816282538018733251894717807593349250241765000305006234046603772028690660316435307817304872823347447397228270800715205261894254549338795739727015231202872198530867013403957519075859658258487096276867229648492328032720952099608491779287332636975223262624482590380280919110416531531976183762103377731158480247912624968577812009975507140965244683352708910261151738982572465444933269293653747364452144035422406193189809767218144275452647187022362264010013035005645115704695961379623786515746589566877612884162780325868444611753674160997403270068750585675694664123852227753484956240652791703131958958480884551212634541242513618653506019657548190413538830616870180686085114330356467080740805017382466345438536400760230091633942899961228083466879269626445824
30880197246641184082961977319759369204169797588622101061062524075492429035364194163444088637884470202752355669551782525603456633231869899507988884621643470046455088906290433948213244359474686541880208167123182531687897602260191599750400931685195916558982303448078406749290808464774870729027255784157375144551204602732326496582663497207961823236119690470056337212448859818622339679401890929150771736841772088299309925187868244249979797807582385600855217543568920329718352674657953402466941601819789658606228977752388137277659462576540786789472915493354771700595362746514017245588654205268544440042378540119439525724435454430365262482554447681147584847264090993468843136289345734865959734619908921996122747181260981067013821850296032493097314499212741076314642061872892421168088414296940414180394548256281051175517655241333711869012929246107980593191781287221351947716469854751932350892078551673974209338504863755194485759208332785191280423441726527411406097374528132373820252309789511439020578609283635594839540140194794703104398249863873643511452257442207150869738599343092633847374541569281745284149909737484419942323043054280331459723112049475861503437199212422357957294278159804124225288395692192979844323768764249662651658921621181475674325213468244414277713714936564972374008431613337934195068590333386537673099657652814268298876822371980152206384869712951620193838987196369253493696743685151201081529807288805682385683187426638124981772858716029996264875606784402669185716264713997115986541355095954495791086747976137681751874902211913070809989160815442404037215204896724202179486088661092584286053229224434374305528816205852747547810614096687592245382672275285670583686350818504868325041706605686844881552911674659409276932116730321152802658018935595830326363164276610470450172184309202974508236189645295370898640184252851228019798578719146731555395071857553483269498646924484114071357200925358187649659124376645951042879748056731793678858235297445218854616852014438096635587268021847206976392364877242549832759232895865282823968476469633075292421184067846142953867409426625649210160645831660236708178506092299077162194174721169307618742801503007857863781223502052141497369602474761089662172224107418249047226208473995509397218367911457595452883645491449261148633419642336252489795503288388884464415087128446714934482437764933875763823495205730257322687954891920447044295914728964437136552766553337513239381794612385892519555764860199141476671893509324196298084855189377627608636148901017668148898095719001047974742427690724341143113059960375736541731567032875235642087963134572549611093105681064502347059714658467166291893009660800642549491670897341182123391213920302199972904879714864065646505751823099718158696770709029401821829432069124173595016004186376508449512513636124210784810878565709570107752662392672845051503448710438300600016625309884192578103567202090373734413745161822286859834371736654265810298358685899502794223433951330652829814145607513453302437635843889489095738151817830699467241843658064650980217267434292893164391076735833091811925802225677637272008451017546270884154248193871999310999837380999624984607322914606874876182262549007433832484127036267112872533299741830694767403511480278393040900953305536168826535753086621112806448501261244333916549887753481083943220601516723230628941286870631841658587163976268430237356821364882785697847110868322942447473580384274399054020875530184353788954986539027454727831899652473395636243785253117536440554068002748761258160076810666361877210196090937445329299761259066548361743245983645917255896489205511162321416457823243865195917155914250911544480872644010236197951304374072646401942071709230803024463400348164189519056361255590439601900710018343132409919538622331212501514693275025149376488143832713445829023906409478677551600185125610270518739866672754456688547164918023042129729159109312502445383850892660196401155705214754117647381207062470109450038944700135476403277107278300831716994753861453757474886673616162690627842386544963798824290332279384799716612623436209508982150253076911736001769751223018055155782906424449766855941434346554336937746510637607716585654527418464019751397279208310055917226719969614240322453773758146060886815898912364229712010011387891880661261048753706112946135522545646643553141951258092708968911657150453216539694775341649051551766139244353689401173948940812798131138338724674117156091218868466918232530074534409115411615866159674703181898489961636427112040394056136587054186112998799478617040326828582662128714904068076968242632323080077414200629664346138087487484471673007443152043049507440240152906007017329481678541292119413778481799483097991190315226008782265722850955593999571984628309195335789859993686695285882971609568825953355427757794474537979322225911355462560713254100197994404098423621071315295620470176132247308419462829015078309332115063695476347176170346507987961552796593436701949972421124206583928014708131685345268652246466453785151503095682865306247773999865609124550312075188510077166222660191854591464017228107588657730568324768937062605684764348960147644468358963852219375616953089795103651371049772741043916064561954334937610434546986023934221020814613057206716875722545924374930439031443627870865948690751583066068594807680065597579336450217708984841008735733074600052961132216997459374093004836561798031814849821269650860170921686766772958321266009607193877092705055537427800835469862853468754106279507056016755271909812153556879306845735861159293717781574361587934050188518441562751754091115258851777227067729360980952050115305020535443047884817429852724747100157727618343433970955259995192989149747489168165177594322898152129097896703026504086825621843053224123478478707745890980236604878627689179469585422004188348679459328263162078507648378188458438326876172899026462093821668965633340587375785326365352517951779543915611143750516403724668567088907698685117337935689131057622968886837786108995747317197395636028901190652993761123001600663987844580569789960634872215599814704599196564465922451330454043946165169315493623534729911111254047730636731191722666662059169535053488880300714674410073370150662661844214575647952524805743510959494906460770364321699536979174436620471882427871886137682363087098431033890952799667466396933439236412311454547490252331372367306461763496782434113775987974231975163513789389084708393664897606955513031028614228663101268429272338536392595288451086578008566422605961201236399730560416204993700470278622188573147020022451233513037591015785511537695314054762625615276396086760682971164686164810795171526799798683783293435659693882632397227897079539334923183504496194843597377227780867033759146208665772679808554298590547442657260842018877962427898599352471681566221920469158319325353654365496641173833645799862892964502056775676756178589629871584243287152214036373205109269616932985277906005581899625912976147534178190724273142639061051855136578642846443347045192780920859667264343799088893997755156133713416795036600115797386594993490319716874271580080590066154113114927839367517707921009034650053015677083437959630881501062354445231901667591787689930225873662752075320011721507072502690075828342681866623973095449083016036702564226630947578411245290124711587012886234683656900341240316834120920720869996470727405190859194728129698098786684236533831530142783189590780483684332426536865661678326962779535691234898588916290481160378482294156995543105003693717528348605367020392086392571027213666728414868415195873856704690793338600800069983721856491630664577623295387054145111886284609515735780615034257668381271583988058885754690563874223625192406857950076571235183366489939933664593754392909429117954043936033925885002440734574927336531537914596427553708489423267273797795351028343826484598236787028168599031151860126790450251648980985965720506068817642963651167687718015103966897621877280062881615088214461674126388682553520207232865046946909440100644861384555919263259019620129650966319542037897305175036344522717665825640219683816221860386146880950470737236833451286937190800967204347803318538043006844460009298101467361932331021446467184859264488661123412452934490359270398711514012976124772405247152475624159139799237855977542075649342532498281385232981086602080325491533470587250592601119369788154842684445250716989716218571621751190556487737698942976
33157359317088282870759360849965056330374706868517896440017609978863154450622510345346609856059746536776964196921272231492782226071287000828404687545369009405370051896322455621306010539500061609306707106866542844259500970176084650905473441118961657243393462088061197757997423387402009445949935371395690290762674091535003636204198870270295835403916739127633708901253914248367860174508561595315404415724132361482790097012525191252650820061064711745333617245148491984542465407162509462471859975239462667328189600333504658876476465797794644017723752280432612444900846681383610518845817520070317316876162170966304174209050246210329277924256780832467978167096106473029207716329202681121596000961336952617990559486298024430924887306747916869101577879886335167321806965422520364460799464560464477941372307284355235345837671283032819974924391728298927983090345221150122332087034976682354909971468451225691320864084045841374016613834380040770285630761811799251909181399647447994379207563253603068602820849467594216954332817453974579816855039231243437689512511794913080760716310061857486468244077875764403551306522370961882240451919046333494108887676866960589774672040551797746091446072336071443828383748916569032738039439519479658766976927127400434725561584678582123464363966825803317731377423551884736191004919989679229058158742141908351176461376405013975121881314451587029090687907674542168423840314067354732365072587988650708186368137153612286505868756071444346228160721161791296761939576820474101650128474072161875331721807714126382879389672920841175180958918954202454277864417986342376473146168221587269284180532108534270435117244397433088627397695986737447655725446106859466053590526971765310268210106926863041595923687334059688695775612142195950716108733300133205381423699296779367078665982294227781834699029292549364567462430559352554774618434026504195263928261496940545303344960714227562902003147077128588260279261186422686474996402891095651623528911805700011833035489503120836216583736476955091868137062802963951547837793682447190837683782843004898875213655557248857286650340051899818748102051188304859511311344849140323465651117007283023775365992272709598788989194460045134154491728163404886378088347715236042662854931227472194827978390887551549040233391569758106069185983114119555369717565087872678826146318746417297980559213221686583002037232956256061749652321268480383672237704276826740362135504631226814753277956779496601225815762630705331172395732386235523540439680117818199293289736673314306454424544887446776710311440238826461940204462040075211079662304904257723482765340704560686879745601927810961011784179054302072178368516606037703231463196982118837643486275100359474830119636123538741759334825189026416709604992044023003181800057406785484238405121644271548133330978302476882378643304246187497661754220258364744880870686960636468725722145690559618167580186708479094506431106300726237456729790646409199028530597639603975210962566634445302396595402285613083453498210757265679276085993759266450969152085458533170653421876651193451256570406583657390161696675834462365880456738338994788903549875153036826162719708653177920274288238830086982072491716745818131392850817014969163926967784765532019298739102160839061771525896205625235213776439120442183661705772706314791609221340263418041422690801106943568158692084553379485694970566710865556996676266311171411861407469696883300044597306393621414156768249425857115093613838300310786425539647498231749941934042486346725264066992547891491927077335758665002057479739982080842417782606297074652175322404762160641364499371074721866283357781686748937412274204344260161355433549325891253689859058621795941656128317219408280076472048111080051905673260093380608815106702241990828451700521093580363243507989519926037537382842273312086193781321407718926123363036895510440979925170622720181428889632769106871730404231928019421761710916437628987495975162625296397994209686094578337266364453353358599480363720746446410668522998809628400842738451121911203315487189313302487363562556887232712445590321389820745820638396180864819701546719906229637327902942092210010860273300952445501858646512781660312603155744504159567846237341125768115398105011321710818980205863190755086275024760850361584163328624333895799456012764628957328474733569729355750308228479674783560089380362043590279153998836478612475781063404773670312158745983676991201907872271018561420360771078058210884866655698365432394344294930917628991041190288394253187272125305075514857376696583806801061980509878010478482968862063870041984053234105145359620784987597743530077414683153785851343575651013304641185032779334875344157266491508659616176317779327783894231425001909642110016106663539644103877994100677435823296750325780680796183386598647032694395920954469307531474721133798876682303960198522073272598434454413798919598622858657840490161404575126850307365101450270256953565798397194199024407741686537710780307744207601707979675597408143454822832433142587642080279050300166319476803450555474896265695267382135954098840670344534138981348688875666313593332133594022860143430151641062641435080759264133432098823088335959030380892211083777753974099265654608600616754191913387041638134908624589899356523189907778762103869478743074343240840206698016732248005497915322843184486704766448042484373069905965498188936982707784015831704521358850686907400486877376148910443094403710111458861752143144829877111152943426779027137386134437313384761084047760148300980222057665257531674680396110183390791082528888603063843441127335301226478896993560233739425433365895598041883547347023066084074883963209037056721321262069140615254650397063889632751401662078158845920523412200706833327059080471264818531597567694210599424582952400235909624400073944993596468736003546586933150630650463102402184433567546717179317291530110740041232886937965883336437502107109763968903028536511529836411565405684277246021021510122553800292089091242278787135716848454048794956532610638158279312481167517272128832027051869919353769521231628975890785066294978362508064173158734112951894931546706086954794550222103955788137676944431197989803863404292493565087897807043004638304439399681337302162303618525850324283133812050981896955431926183615974209591037874778816707459795375673771340205868277476212851962502019052298522517261915278160508018094838220923291788936485652854853906011193994467787660481121857201265647648792432838077071437459960495772811675645115275837052836398234079613488802901885049838149093851466625576965402838699071308423338910757855547951258011269413657515175999798344877984944109526991507822365578880721558272714332466352819352120974753868838560165956004456452423642546173491641130015226775471363587005063371655040237342663353125865810735310555768162273262301673336989537179682283473926159865639913714721641621205694066719013602098925799751156806574065053767598753277793404898063941334063085712716673921841592849300925251477587466292933721089384631368970307017596258776449600996798579292273252418232042774833155094897096941459564019139743945067094844628598081124939870857470055403488785627126749812165674964901069678550399757810199548647801606427162318636974213894769552384057938686926622982124520549593634424496766670262258179863027691673539929917006913151177133721823162589600219806902851386344877352406656420219874553166145160546519047883704884223002427742450134817339892040138813453694283278762979660823318003924554982428108879836936813437289618996229803234640665244038324794809956150696293440852406912172009321795396272675003649156497989750517909426773786303759197463317204553893779650725651333693678030707542209649062609897381897987290605424118537731720909368582023459902060850583087910686284053206905643334958794382342994835353943924345402811397623710607152187391894175948712018674887525290903233631113532849318986835851612151137660535325479171570492740203935392966288135772998877340080885316981154562190537973764935074508254620173376485157039280238179728475911369798545059307634616529583328163834115275940645395451061533341159694696283669303059302269969051086624066546960591065640291311559614974678800429302277689275539712793426931835353421970776318193830873413221708306094543881573994944669982800173234304649287175331344471035245483931445307776885619690887792845265404802444606816558063874378429299932997845681771475813761422294718510496593922228224
35602443472153767218677112384115669920439284356467734300147615130825124906205132193671338779061969699376580617984942030243610230256564058296980760215114602911995194918131932390980169018846020200489359064360644638169344501046638734241646304250630490834584107932109679104296863975289292243759513018364525918542604030162337764184528931422766823326205336215037587399517413772182095206753781230970312192637284162635958383375365749701570136367463414971468741669323596934332006611743575574651794478486215481196875508079928300734525631078797636245021390101715872795672934614813184802211094478771459124081396351573159286554039368673528046518994409695422405298729950147648588298606192671293192855863331692982642758557598143760057850503741955767229497474027206435235462206028681946813283593575376486831976866286592077064189011971356080371738950636434203349808068434547415730678266662614709229648120322777528834525570859471016551265144830858885880858175178310873466799918404323766429872076642519133453589990452564043404397044116089701382183515767746886572767510085491485257470838312368410348467714255521316063451942913693416071336050141110466476770308770252869000772105823889278367318176507769293090602309533634857034058181973583772335351396699690023160617435357111222982419364739413544646140736797021275275488435182692236583821169868998339833046184166670268392859464890764616310576295401206506288329503911414329184704874519334302706922655522801824701622104848763726633512812905417186092490294993003982450570357584579799641943578875543332919438239408787411053106359706953515721590742993353670402770653684857950696375178891508153503512063653153585500735658462196946854963164545992981992048374179784480747313849426884956881394971002878947465074286876278027487328697476014567389216498599751394932612363315355843138663802203611384320708081240272552422758706255642278966342492904873911533568251418503046141471592396336319041137240655681899410642768033723918332716495078987464302425109955813820371599880253501094308581057296057065941222975844726523473730672925067985759207458907748124444883626977547166047856492981071827319739192050208935749958231723037495232796846810469110025997448775819557469368645991086532750121336108903781039355670903580553383876883664184579160485651249818292049513227704187931536749532702291130442552527181663502998797166144658667988934854230363295954128314804652120872448330751772545128413797277893927430894783291409846402008052855044580699572252142212403539906639891682648209572432816084195537668783697816976727850525450104520863141718003849118241861612571941833378472089492096437048950911269945657603986029912108902027781064364741212880521987316451576116076814745225765559774748229504777911333144225186369461955342476854747734383797243266555822868366165262011243986599838205951403077920146688308785327711499914312425680754125246818130475852430975223992001087342622899201203715809679682731446166483813552415273471949358466980669731093790840223551918640167961185623387999242871718503574519927375965623927973649283021908477676955468129085000349557894703299843645232342799836984177202994963792603021794040863129580770011843511840833863165222209172556163546104774031296821543225378697392003381762732231324454301675557006887055062719118869343669408545971462955337007860660665217114167128271707575768590805939782360322707914334299603926438463788387136126466943348722891719556201705025193112573919202147762083806771523994853488216763583433381289068395957364152866983427881466174236567417895861293486569383114162048851405211053126465720894822890896246677388653239727403544624696995776685352923600687117144160754629584317531563976445162595995907490100549648800109218054850013956423806849543212282240692905235363149219940121533000013420771453919666824825698267890481921248850425950955973505454367415021076250364678308829200087950783449066880584190983302738276247710610629844772776451331269201563775982382922932649785659980367273341992398179132131193697716010509472944127800227883085121662575781814006062101898720245488610970201014973795652445852342650492648359676425403769910653332119747320991137055953252169663303179770426298496805419257802922637259974269966270634197292469628603761000114425572340063437935826274222452360631038439061991003688060733837353659979325094627561075229629680845809974749026615584872970464993847483887574423096734314844901331068151981290066006759968511052242492477354205075400669733693376886342893197651930523117448946595847319391531448419385409428339780698754044991283435896089728864988657415738887664223378913898501157786224357620895018516269522103093928092527043770201013173693682617982818558848051065446588688068299357979044172469873359669662602395903038287611756408802859122629576549594388076342422055721764928420817468310743811695220862604480096553898008122745984493059981492230626717302699054656143363839806960602898649280405164665158230994270423675019575742686589078223837818032100546795692591612230889309625635129693608880106887137981898288331378389662688929428302538425027062364370069457661122794820102843173366456773060439363057781348103592639671193912761592039575529161170451123165774070450617476488542362772594261039992832321170984726252106494924744640489787049636229876759809870891563517872679021834832465503266493043693626947189776722879675415138400231577310902506457892433712468157179289792899295103605117878201930465194780833243887445081518710016238728419025212218038523043442486583030087412980189659284751205004620122526803490109103136390819002521757503381346583244926501622598508887955373481629237005534287198835062868523982907947187103259244420342567542951624101058336010541825705098805180159196433909780437767651090809305860405620978665837146573969945163266285049749534483630402490303432299940660555422582722575724221378558018020295283224439309332283682280856933863235229557262423437609174491881332179417139917940643578975853394735818264308378622225381063759473600986850815612344406581933281629326062097874829684994775645327116463716292149817649387002856023064223581875530988999942039996511007971989688055315334998743705900741506605570306805436301172077133693971871470085742111659955846773469028311304133582991031397746718346763591787694483027905523128229175063343239301718090248029555093342720467791573539761046904278458897540897766960189880396505531244115776596319090289536885125046201640293984004037688231809692500517554511614955698232954371337836559909699043098215682452967540239338613451023148682231446546451545112816020959622135884028919518613812542486207313038385703240115032776030856385704498461468611332701567638841697084662201844415866576773364094878688873700877077772354127342928823353931168252329135195695970745668260397677999441916472803237704261803323257198171137356960280420650229167111312320227870797778531335447795879247831126627719026384851360598510816665465855600851801927079557444623869270417710436665890984240741452051425345073732604409203461176913171993623121123685794458913806994201002818374724689894111157964884464295373247269701962227613492155879574469298220852507506189992908824824341314323104642816060222506429227004010536197799911880281909169067230475231391157333886268336003236521919607380757114986702090046151485748348526629803656405047423820056376885919171547554523309562311204405903446264795438374877301429414054388198583767801679733992199325392622263315449520606609987816442507141730770965439266111662244687330815265990825220645577506709356632903065117276838048324167883707115991083668050608656989220099512665781090929591748624859777451954212967054405012570879741184618741038388308279013264424243786628282505960644382745574886641415291969455343486157332296270831884359950163446029679064076276772639731072495914870372098844937920668135523434920350820724812472292971737135762255298146973382695794400700568686569987912711686082959298624503115298293196439356109819445331720821778993414459464505090718107790163073232389679491625534144069218921388463411228283202590256093549814269828284527167770278015352742625813769814771902648824113545973624858470753098879703999523909337300907216430846706938710120765373267649328987091010693437223249799250368999616050991543038593448347566225782792981905863849301322856726409906636118253497291940085616701699654204312775728594550326264174869009425516675231782173888906383601542765100184610415827991440073875565319027175903840647382040576
38227832592647279221853769518373348047354412066168331224587863739822168241816527559793784557151932354041341335638198860088037212980743079928642455166283786099761432070630511758135727830124016105214290094357531967603771985438187783573676559488930936378741622332436315009502400962307015581483392125690471556671211073056259567019577967406652564004965464706067715322917244583505523367441462177839028303571796867195046602553556496751691373887128901444733754639004323818510457000873606657808465968202917769637370811146668951419910090889299261668617778326831946785377836120742246468775219818672395799032600843005109321787072906287322465184461908112166137915925561554965264510770469976569785335838462866740190835914027039939938734745407206410832320044365365263394263058584300749887166113194899430457678821932369483570850874794881713491841578908210822360809825450827766781144774803474310497472007593550612556996080629289656986889626118310591612320503701271042515274947830509770452960811660806290309357135696678701441852451769418623709721049323193302358964495007134023316825847556331538687544199109834259980851388920493043149227284595471409660258204968014512502122098315663896528167960831806150934293921097257680741728862434439759524160948373272745703083610006546695936013688628219184118652589289137541881109054883969735340151671824952118465306865263360453990718470407473559871978341915254285862698391442857156238521444868081137454299269567976904845647974619030807980505427256433388875897962048086163355739405593198948341095045286913767279956860238140076372400183537744373454113520563198789935365776341251697161627954771294262853733033632941234247699859259040384763279211752426636375341174788036292284513655784084808239990387829058350302349041086034031565366452515440077839068241137390508741487556071180870220766755900880907187682096122470432695548552366813550908837422940386372260068211506594048113499869663826690124676631815958838636968090760939613582998048300999023993220825187356090890210013221575847388891843312916821991817034874224598095862388831309914353097441722010518874028333098607101118256302063739261341309791276277642253258959654108942951654590915721684494971188067895058732032714074879541416951019654891408493694373860754311521333337257017353500452251898807772573809031427222082047056566274905727380408277751848949064157938982196846023849322198484401580437557068393371951051142007163543839305344915932060518172598563403132007251963935263975681673906034967053572363412307006489117696638272059700654189140515555465409927774796153649222235842659946591241808161038578155393704703704334861900841728753453606776583429428346372149946938723658631206303972733271580546551154788648808803948919193089230851229760552006679086017828037642694615377125968031203367444500398188317391026680741833363147196245192431452234633001383663769667656317376138042949613411777190171107979808933251224732468620809063099391804308958137630246295343229716995965668089806236491856129204879393546309812459207366751698024042655546745016862797720470805088236240781917447115697595726374931452321112934546584661690230293089083030685483526329045188707290404347841354006542549915992108242249985788436848163472482249225312965628433754148084441285909497685758836790887065032461094441889273585152586485611989355008120515277521828551305260000384893879411945735929624556546602482451597931900753562568910426962385825510772489265660818647357338942762777384723719725493751050630237452535007811770736014411731609615231217945719073706790472347319268328927555158565284936279288972205827082043027888902133232086528411544789387547692578427522270734432815672839625186309468136681640921921801220804955826123305188683193428386031995954883652222322752324407091277977145802683265625110602443620418835005960633740238366690360765014263756401535442246416970895411509650352495500606897234642830083456459411975835740932832666881843315157852396684220722112475651231536154810007756363360268137493414995613284928282893758444648306434305794799477281236032503196897868350005739656668914370047464614656060479555632212970748309573062843840341225861935274860136990293235043386232622111697435005528309046958036385062415134826651849240637592200481604909522927522756663664124924898630740179457077004572535069371609059373298638199276329394370029588463792355917865044413780442648330115380621946127254771991635231664954632321145376699609347178844919239799013162940582851730772650677520754661258831483976397013403798144703691548973547579192806478572353419240162796318740560054459939158370752886599548314310418452515584027492343825088117694173010338584390393394828747143472731769883591509966800038557689857763512504222789214447843524372406260711560161163698458082083930231671610747321200709104713255763506688517510741797987995040259166338981095787849445478561551684089278253939868873954960099732443069563068294849969685652535365478528966587348196401258266068302493658452817190542299013967731667804318661003895796459530221315692160068566310498823147095412148550598355828952844832318645192480470990475744763598114978696556447515923070223931060362105930501873522512146328713717708867280350163890866904777550511131084591704715059061014040723460286955842077511702742053013728200047984004355373460664311917892466972671468838243894442198818906695451102532577565212778663077095844205472370269200970224650631609317252271372859228246275550658019412487167531542132529728382963241872084767668983769434931966782758253505692790120626347294247858738789033468359314360672398772621572501366373247869575220598187882553033414352765807434050683631417011079603613595324036775922857448760451178412075206032738038364063160882877174364784189320583098688156170441173710725820849485321064249289839840785518707021995899604206511792549711198799956544297063329344103583992680758936726428006065379746503097683804449357561925873666988558825218046934805877255072352796960223420876020229501250992560310887602496157481603469394771486360039482647262978257807709386149655635831884315108411161351462084120192928519414365497946845985097321701920134683335922748561705300696722104482381748255173109789508787136319439401257215076983426171367372658674009149266487340212140445428657830847668203542910494961120319303378980322529485305895268556715866891834302932208657424413163027149505860554592682893361217563285692344145863229708171693508023149445576633521054280722250726766674046384839925320871717099846003589061948051325525827332718022454160869380839360532530332282389804945382777053360121606902534893064512665597030963217735143975247012563825262755155215868395703022500451122052084189257074940675032279256792685267997851152449976085383887077377467124668290223850169706777873369188577904478018309740485434375563394845679641273843445585406489817070594420464331912101301755146086043055384164872204163249941949221996349974425897926735970106905602579229754869119003703212384355861646169470264003808981838105991819299061146608566791211935986058606443919314545203204180737342188830817604024737281611967172641776945284172804858656814234463826615008103658126244670134276468632584722439847704520184999807899169930196328452243702169373166785396572429103340763333158018771653560052949375210378007146799237910766940487741751971197950790224903659048381900318291174040096597859952674274431602760247440987520349413016854010019551409056168067840618905418643745155339055636066994774644754809495024533356998555957606282508899275112033839681184849587476828879835554215605998960192166733898606045745469271063665795537988191266890959449699743806429185495388995729448745432599342584220447747142716151782003463081833274918867937473171744587706710946489540775532801373092730771951425510009961047638033156395874296983018136651239865462060972471936104971135612206122784964957146057804935412601899634185995020015232316937215499354943125052998600832132622834666114071640831584534743075541150200235755313725693391759364946528438307509991670336113393756827161906906961315729518886337823102515292208946650394992099212329191953870443826685229324894098835134036827811426128283044745729028897543444107351425220112972764061277872168446630698975174275974788921734654725042320793891336430833831623165545232811964206001245844463529794306042123135317789876626808028793447850605508068477324041423782690229705141627467005789414162159513693564217812675766324620545999121309844254683381760558705325333072916250624
41046822695595738580310567143933800245353164786375192660125126460260116363602951375399247294259348090952963617134755848105649877645819551517958339654083775788383686036370902525234103239884923199018167756780588483033183040924501189988916707371689211437337984387949303242141685341646890158458398086746124188680265545872425402109051890433431673808968363130500772518341911200147340974631217812059890629064806883139495102790858810509211170882631756760384656900452964200774063063191596006213806091340126928092442353324983851421781650907481971305914936859480202682802534285458863957240263574102247523703202264632243724495054602017930691843340625674877665516881471112252679372437152077979278569791643687889881442262412101050430667493785709434311588682588628220343196447660125944948413536572881781956189213067833613931303451534251916908975386055942216978235928096693428613432999305551747690697940822440885363266275575744544117437211234952854436332118516801520308732870345036403775983448113194615467442655150367299628126081501767580441645526031479541979498039620198979208667115445481369099090274432812614649529575412423591130362008752108573548456865313321764312499385716168280029102333641904093718608058991081543517633621663800427809593948775887710820717157832934101235508725316632124627353863645641407606298427734029771984931716541973496393602674227602894237462129485810683408711231336580790326031184389719434711002995275768879910174014347787213798840494729343844873181653904222102706107987407394812750753590230317240786649168083733391809892397753413599971600276329752416398357031872590575979792490795831643753422022965519004637302752742087667345936514685345311225385229048332812967843581639208901855770819714511372170297508770040513256075210860369121979070149952338017341623111699333519456372792929172021424753379159574628490476484222684729788587539298901899220771952227469906615268643787508081248933109076599537074353074056244075706979791603448848642463499771154793044700692471456870769963883339598966529694365177533511205776936100121530545118208236727935746778627124325275482985608608977960614068961477414358733030661834049643523433745283345345499621544267820831785982882303468676203519933638431631381320532362902951477948489487784256468780672458356969947228385778733321148778884032338761630284171303194161145486326017968909940632038426824744976695118718564331388527505244720791948232091936054804628319683942982017320861031128288258608779504983432559169932183239190131882695206321389195605071739056909591217323040978164825802424756617883247500139695055868064622561519891648642938991926672872071324197904967046522039667452002567910936066827488357450624800147981069292383416753852070106460579370897216238928956515738194898462003435573656807576590013684791589992674800076319450210931909412401828449724876798872578517383714876289659845665168024577356312508244856503255920354340999160664294474768930287768072049249351770238743694731082182378251977096127144177340961318026869726428526499047243570205191432756820565711669171182121364394191262120079225883432675467652423805490240836050042427613690797881526607855679051882501005100990200862148705913614705480408413073638933604450259455857993264090810130684723765442131754092353369544030472239965383785961394755070450625356757531378767206315002856885906154388493787453607516656126218661886097406981540090510506755113742917247240007539210935675682584273131067979746681896188336188379196554116439553705627511838052711664958757936942985506714306138777931193519642964032152685848105039818498270560247514439370074501478411912645894111604342439924814681302316152030814779011711106010606407024268145550426430817356428192540016981064562205356269940031371458957394444978485597509109907349671564487073726582758469551845683543255221744439486044888811044450951815676342158314415793794067602563090761773442943705948362332610953596901312393611209224494833699799280338486710179646738908937477187644101771742061079081262205378760557526183532190572075589282440281760450200938514505922948303847033309420813879794575621916255511972379241828367748565897159211755152639390354198264836847328490346252552154516735598957416639716423639555283980713975080416615223172313292133998503168104541550872020224518786062760329192598170145691038045226409976676807041403935690901251081762200505606974693623224745368642919462689108274991002526390590943785755990546605640527262197797674485786975830634840521382867795970907836559853713443302120346668421957703328242305433268475981295676347569094976224974335657354406838037072710664164583794011407340582104895404785252453668002292522460918931840971125467200704857555815582666052844204237101294476930985393488754658726215953645450145333643544967044340968043817892846669163264188218240486184364991839837764669324630830697536964092764180625539233401544293411228929991041224951333935333488807833948776256617259953553422325420334307726997286503256428124575560948111443692411113678130771194143560743596388722018634979774522355299956715815648142416478434879180859620242796238182812005692512810224288780187361662474707506465923825203461722298298911479497061147970826540254577104334878367277081400074023072595316016916440943376018528107529279763365083597804465214559759232359362643854890530422795723096021103135160175230022383520859479336140854293047909800682344380003733634455220791586058946940361848532036851832388230970146164191379641911626915320288147521852685473119510860819459299329226258870256970847770514166183160550281676347513176489017775324570048519365372103432281811470300628107191875060086537519070340750844645181241793258834429118822488240324033387371131055350767945027211154417585987570409416807444217128992813646360744855591242823598100752653663335312912449263919485361541578044809836513272691950994265577093450505921238240750424935396237323912262893728658364712504170480543985863740120922913496071729781501344179571951378937639085571851033518642461363211087288155672670111827419914809688498882210792117546251579390007221861496158131477203270057390300337600221568114663085475021734509717210776096763738826120566863288031154235818392341139421163779371509363390009920484435013339292612360005326086378752292228818739521166258723018967977128296140732272555694772917846133183613057942366179375136198272171480531798380871943410577998906971271237263214730706014906321383261892473735119918043208676365785717532743774212978718627362056582788800638012829922549623515719599341704307603648278408205629192730320219312241059523411460242303057338806302734779229258075429887842640884338120832654047999626889644946117141947428615051500374452851705100950788065942269517941524512139390676474650673310686941365339918249523665218914273569039120325147806145796951849740609232256541042344753319112157618806389793594674241059419344959814331230726210597225148386436451741741742882416992691298908998296709241261508240720309350020237651949049649614385211399106430800361383252317047013920421731316241806653992078508596218907669339466747354521556831149878835292180504475830575905820130229906142352851618546996657546374380256340349830305707095804533716486511173304328934958390415249659855501040807932243373531795714897410756101533067347398718051665123289249476116843918207278402509683146558329425090883685896348145776914770122340081029106065711031521977272461215850046167460107405621740019613741884793098018529284920937108055155525527981179960161371492472639286236454964803891073019368998998877223017799170504803515674588858840499368411886616167614847850931427370501781372369608630639167047976560653323864066506435310887167581737182113710829128669248823804321875278711197561380098866331788724445909242964718174293260216051666518225833459812613120983333717263591072983545002747951381230462163162619601558943096232862089941880786129356299075803048046072055771911863758447454510666814326942000252398443754275693178455145221302924403059105140577518258132447086767107816177251354331505088483285809278665598841448853499658822858284108844327365513809137073835309856994974214154538009170078290073095987977414619023894453552703698197006795069571124843704861745478150232986720493371998557803049234838361408477160006426011637041168207966653192234023095574489459306690782816514483516148722521778003820134521214358037737893558818877423982786870577753254751296144122368588012280620295315767653995841168972417629439179654874070635515101647120619944254898176
44073690270573565109849838851601949210697154681895069715234165353670360858707280221604496517965097148230753052467910398139627444328799111221754556376187442463826137056536223217971072039798346985813682456303577445565443010888140554028869965157351819849848949061200208482746326885173995002670769389780893611284068480029413722564506823744641076015014717786038249517253517187692234966850461540862476161292553156909956318109724229722630771424692712424219752441906552207145844685362371557183127486497858492161495893074020625396168823175130947117128766292343104520522086595491137262415018616297306418600559634267156065951873407350326981765450485665444375548958213583873500698247842997574860805732190793392968010958593056021561740900314976313131733416380470706969177659700904164198633136666056793494008893728580300351109578747883251737339672994811562096814813736876450408201339576133866891797794811731736382128433334386596958705501396891570476473740806014639062271875333034897536824954970870944878990489156558378572658620453680581047479192682480324823750795666216719178452305147249737814474428010148782303995007045281259000945125057793023607958226946848442711801196417758075289391112807314664422485160002183496269359301089014986128253731257984237835821378039630549132415792289395555034370257844318294653114347683469314241404681835229594577324357356424122806211676045018545321956135024626215728034278607497672674841269016867460117187202323195213308244961895748046317303117746456161860771726339785137331132617348449414220903872586310476851660524407483821059912428905212385051979390006101540657752976208619480760717569180766265145921916169510213503931112266445460544992810941014658755143220695977076195652344886234600022878085689399297257474375990397350347085272633776935804938031076598112765425211103743469094381772088965248659486586798372723940145118830474606466375854672764400434188219830405195574969634593898942655771493357158592438806570967427051432058682097703330070159435068365168357873304511184205750108977828246916143215366705275938829186939207716077520500885212688896066403448353554098205550566758544628349794671885619649543401536403690628098673828251826684427078437677303777913632888765288536378674747947994445054915906880658293259272358301382776954250190690632776659867614313567896898802539733420155614504417065592594134945976653256892199611454264767807846457976155636069517219239970755177285575619492041023277300916814209012796374608094727965864110908387550240490525704871584765102882512745818144276782822417121444229737821793642029189843436424091557611179077920671096236437912067003909182302353816295192467728730266669721372361942733242267797862850528663259474159212633280782286856677803949480909997575625414096742086363607124746917304780994093082898594786472782585676163213152275107500542681512196723600838805719163193715024076007976167396090516847260424273860068830756754148601011513185716934571124416800593777570249051372000724935818801783124889063275531615181065747048719321573244394303277481862667959513949659229993987580793675975024585012337837166534928112409499657511503312324689325715823489553926907262898970522479849924046924240295756525718634514885857316105406209172364580171359093664841982716087442971466753327574521796883198213597893378902972505482468374734980055486117883834105926923953104850314459346800236417510014029191113876614400151647432132544660926101593154090482465467123641197277161042746435486111671500514781626443625572311231278893631987638241984983320345812970676278416028650019549043292398306961972205668045595561206233320703707731009504906217765480938763527640506228365022191600328885886824324090868412359803638102065582941026239236484140703855245655407562453849638666766227161528534107351453284167603448366048047246814261644693398915603461457848060110081100427422716617579922850027955400149624166101134754314220830579997516175917509905739554708215399147704534057588053257111734296657419368099231952320572122724625652971897421233613067576046702002279308539729816887077440165315230419762646261078855144373582294568675276324740528681287919799928448379836417413164850943551512902751551606915045929520550269041057063561492809170289804425137083109635206740595404405204990349067517111786439690869294054342100806511296640931134799941328752251133105429527009540413318305144155234652842506854062200748552903064122332636275241256418399102508439097468430833989523785327169503829768739378751469596662431363671211445784539284099263716066022517763749882803681856609404752498005801040577521915959812711999031969164331639182648794683618532151263335297901956272009248748062591056014190484937007837641605539470363816245373672404421002178521973150749184634685165088351611508538740210559905294736189019099687843251332849706246866619852517300123385956279808532132387116506731957456135894024164133370148908538439610958078320807209648140348108772410606969139151326268563360453057139074206662038248350905562804158627483172526365030683982746193318085173298742508551591160943684180481322323836875834527447355646751008441377087993593683941112773213264791859212841919022160814756945309209713039661729188120559044357170604898235295911955268986579033860274154128846852227973756986521913240219048874825947235154381868690212549456500170896520626422839005083643853642515199390078190009535493188772136899181358079470098019080338786659263350462800971721726281398018031885455461782657130863499739725695182359205646561684096362755525379708045899226799938214215345927344290875156455987351862045426035912951873964778094932730144718252161871444997428393571022462113458857539373678771784036043171255384077960392776824315378533094249434577484435970692735629601410478336787007535477143241157667837134945090117309940810224024948365601242953461672467590903220464850701334288734164681593148961912398907438026914431975479727793599261463619386255893562532901749700666275970424374757825370612859815773995611411786592294467983799361807485568752823857832541679541661606977080778934575217107161774735560201084764053610186845764402677689351578582543417743652107503622918594697424218316307700849208917992966725122672318700665098037479468075399052214832396380465157063481703103041101952858738837945248510297462359326980162031029616847060073909195919611745253948318169921781187053946993683477687228098801440641339093897740953051945253284711193827494440219753658445394973624447536757079848087933812126510943594853803832259736440211484282055269710782514998371512486528856469901572388405740780360392023073966747746465481138037860880078817356272648126186895586356260102927806811156201712298913235191866001687991836605003312162284750894133255005259487206485303723445115114601134201254427423322371401655054985279678440586429012780655683914378014738116665693542182192669679829329036280956619838036246717020126211272660167122932553265755939505439260949959477041121473909787919382056035334984413317249725843510873526302130977709811512505958287020667020632739398301712791259371303769424164147900491791151079198530917985621467813118486488085758848976960638754548500004420795747391643312474791590540414658902780209725378620170257718199488574287188625263991007600668307943652909329798133679244929910741176056635717783612076744425859189921986553359447599959289956814666187932985522362363702141752500144086026843329372619050876086282332825172948194982713854986842938929026420188422706192427786584093075208095918360669173977297589249202385803041134456314108603395186465803514727682045631741476316909427118525002656460941590923726106526017366773228641511935047745146597465498677158449994377408151011396041077169649924781507189444863869638780619314035427014169183979879395660111595135289950485519535663059425910730977419175308567495468733236670328345715807437216779596052803661280869194647129289088932515542279073749045199962372559234865214440412671680035693218765371477390592298785132106685705074794733451480867880436568528800609746818576506380574373324698368190524386069578759432447833546872540722597499912120029525948281454962771539260259843608589405887179457951243834981530141163349033599587478395506487411373168257532783313186230331429641980815518177146523909474847639717456201809914712925529804782593500278639904739936545392118853047462775803793544910208734071494429746663764032730859698919017408713578593388154118926892610727635743771016761695385186735911123780859688175094482824422124698806955032688432513024
47323764581536713327232926334625142267449323179748151932642693293967618363166561347224736297801492180278487155450461812367009778754063213412825605843678334637003730421959195440135408471248477684732485524788203544126699489879083898451329385046871390055296216689456199485444313558986963951534596796066703666530102671887690264117043514588017419185684554462425951770422911015528010723942594110127525686582784224317454700767459526559372578588076631677889178763801195404452005106481698936775531609376745949467374302797807873326503034807998574596393383161610202281688030693328603899979868734057025920195072429118789057547828848625435100397249544660100097572479393553329909625001912544281658618092992198013772620860331696446325887002919604840978862590786118094879654332107300131715835842470653100333848442624347972629468239508623798859502269389012509222123202692053975923947650915721365104572174840326571221633745010726666539593297748732902813633463541153388717425453003993498336843534319140835222970707105615214971088983655258694607300138952933876820366657860094835229967159625812522064435545932973844022470521351693149632691236303462786583284127517714997928928922966985821751960141315115808318947122313676351266959051262684137568685859335753810097084658994466450111561750339220719120097103349108633737404446962218516121595039395899092340236764507514655739541723566675318967823847669332437794037014246538731133639023104645953392475840371964665845664019624751005097177532409966608772424267487709737126020828537618117597284863079488608845011748906088197275359984692953069433102685035558839395065840415671685793945790281002155255449824429424989834340423655321922802100614886692236102485051171332975256506729668022611920475557457763898901558734109191057446446373721328931060325069695155141315705350306118565733489112115157836368250682612419048835339886717730550732888604865892970444471651120012245355744624193466549958879487404519350502516775893750566791600501390624119840407039781115980570649966746746357482113302052077402461991113070951856981763608541870175950988017881887203206886463755034974289902992475553476829710641015946761870972732862501175346375688328179115468603596662698481899075092449230020937528578564419812575133186020652186124938006915308284649041764304507857324950879791578901563964182429195031647881813636066119667348595113129470970982174993544364933537299256701181163609786134092370716057334563314081816595544216961054517218612282918370850740182910345094115935725067701111452180616893398022608047948594028068356752963814492144025363733700432106612428505917179510176992378965576387660535677906202160882730107973737953031931695578575098059173720428486252509568993839262750276836380451793030036153976687610072991160269625041345150525212708518040057320373064176099899359761811824663677428779836757188245988507182875919373235287576718968528407562028680137362828385827102304499838417150413031752074087789026405807011329504554441760921908363160106970802599120731054183625500014501210097985536976372553348012354866460545792179734034749009087876355990691783410205471127453197183776867557553596827438419335678423767143988136529747060692405895364979911385029534802895586398763439297660274706189345790674275193348205159678691673307936530113122764822143639220800817058595592710253001381285423267053011384536116092439894552607134414568428001969255858467656963495790382914713984253853842579027703510686350532685922731580299608355872824651558562539265155186505369085101112391431401109370997689529896805699958433508248225402234723451859934751310416293055884605941976102657047159339212448707425182473391573928019465809414616932006607316896190831199702657547797194720798549642848586430175302005391572590426843794496934017990840473761258392912848357250249922432523487586330072399682766463475177460121560868047359995376826768295282347307325023911399567143343765761510934199171959726857541346990465744311812064717344900294555496294575435796729483772143777891398339236157816276025289339644517111836908908270051516532632356437045896229443437590130551473590384274684464630911592970405675140887232855399654836988664817122502159985641239092429407171091363835342316601225081390901212049963068179298860264004372062441431310152522760783652139991943501642439975310731838469738478877427425775766690684634681188798110858073824595291120094213249241205359496565902404008906112706743559487374371908666706105752466148579419799350871718721229807400863364703133914086368321908397619545749122648721200241411590631488714501477305171890806395442664012080227272804821209996887185954990065632300137547092829900675450895614442986650763061179707320691593390239412437998908358569101472543074157074964456476159622827707780494517778488348736772437293196176869662643312224474703374758685156536826039861751865867662591951952038880278041754841376696640242956205673321983977403718390439944615586308238566003990584054879626336512435038885760332649900342066331057083839459118197765876136435601482142417386165147878038521091253949013229960229928525737027023501716119127477683631534049782509809937699709278605891548086354515249658448572979081277722969441446608200187765272782614501013682593928060003337288531394365150127923005650840782538522551698400760266802422909279957313801112702154741772668881748576857023976503314140826243243457217849251770594504695531047360000466109771325464296422279159525458797817045151541579106605272559259980905556593204774386094130242010140336883487286009791311504355341218888264817630360277049337234909282452122658262450375158943408314822889560042379788605054438622339532014676208643283245662005470595076446500469689750339943765322097375063751794196807610782828498478006879982054167770644972494069906135031410875202404749818901982396679586497465517083309441637309749402919938358419164636330206992267525731088114186063281275526196122766528999589440163684583935984736384861175770838206526971715328096445474019565286950709006398034329197205491446334494259829989547087217866341841768551570281839887467637527974561333533035808751876405412648469364499503927262978332384159220073929008276726439655075932562834510604524799235961452379902024413828747853025377143851655713789327680485812757832504254194971547580080016275095091591013285391383412796834837097272720797810353504155269116190231397013810547600311111088059168484267640409494063010067788573551421591417254049831403379946189109853960999580963823993179331499440340188759447071946078761355768067570121658784846924269774626315436794816557575350708210491142640637735270194368522434074611887051040322099431791720236736131025730483575475758330372655190616051433533366223927173012432452272128404451386396194649205949467041790869723711989593783208818535358714495078928747917829620545962191709370404270946582207728497461449439768112476537449767624128047202162802115489178722431972549939223404009973621461604219894401464092010453800250794614966833611290711303903964962091093036356134346461973486532430843235649143594810968600802639577441842079826327586838199045998275600623215134809836556974924662250232513994691210793289335746332694084676446725981566609061061630578712215712889596857622285414323010186020739452590411564086684065608548281985111387570957162916524868591987803879353996259507646593612710323975060902582290664546957190489078036061271193275669442788755344837682773426676274510338246823123644233247173434957307420230073506555086827959710090947540008726956848071241360277309092458151959288743640108611979529312182968677325076971130317040100541953216808595903514497664190854763515906067255935400794709998326681701233975587972459443829932579064667676358331063641678817642523318102028202812893451147281596105908204115758203191431810486477397781140867368108397025411709360511822044607793663269910406871720603577598665365819639230173697451275081764330311266042643120392219747399841402434669621821560998170949335337900732313671561736153521786882579042975008415363241861156535044625565781318570110717233814829688064653741577467311370996117573479600210125563059117100164660599015190241530744376409395899858441823180083711873285858344699951729196920864029502152494497346207753388308147827495034463697819133786792316266771489925141094748753625868439731319554645711893592492495970639463668347031313442342657375402022607907210028994205396580719871372431950943649674594494813570724288176037376222788397816350350057869197181360231683920052430520684857150235293515776
50813505300325827290948191195398034614510532098588260516784890637737358738202357996776985690320381403573959626253950408053298837265224282181188631012496233902418763398078756165463476298903391986427955959439682887153866797362637084572161189125026011851389220568435941203608838691254594265543005562913218420567520193819962067340076052841108432220209528197112580918909925725202738557817681471099986303318251060017048965439426191894037156828744747149592907275705960726956713683490973638992219988821842698965710312376846529107160316136275879276531495057478225374948667875622639782937897817786961931565535505854119275322646715162894577494165850666505338790051996236366298434504709578785468894336488844313077391043833004987292276008932789827311873863676052037075485103046394207144001827179015726423721435723026738941867303640058581517211086465897657210979388811287746415031635974761928843153277752699161339182925627768550495662675742899560755925527210115538665229426492534258188343342942440878525196013746153041565209192576303657939501414914776671048491815559482165192804397436719094923507268620507117024978994582397947974910818097295149982058226991119894188364364112926848030088557710990206795620656872637945555049322636103969008867679886179724468593298831136412049593317297867473686604738807188413163348587906923768586974863390304549529350252114157248160507599186585742604292975507167160619335840000592482854079152425960688869855996716926178768673786923051939758876700901696662282397233874117350724254122295973330204355146330560355848465448571853145647316860220823508719498323009378453071381052088016234089546241013444726731917880423330547855906144332598108696714705259958474919320949777440405363268403782017513796735568012116211767911271605533821187036111637725394140683694367403005399303222684250707130940497126670073269939023637503914548802925624249374684456347377519193473825081389893591230612761659687302235834385801913633251867679538754963787846950242483278935833243797016033733478256160190779948200384320060533108720428420594088331785991772569663096814808922642182133620920953241142477833543923759065620675241076671889178231914838046753218561263374754554041965040613566180716343873679404870077020125999887431056161644200746379999378427432167731081373303856500358146424518377814669605207353912192624133334344310017707516221153760609124508537451649055514628657978475924170485568814187870250717143588502591105694636533117792414414281752159409575560382195748247569825496492900955914897491704360562406353158641402809933624576610083578792359464757686952239742191445013107120192870359824597223697954671612082009138964076235438333786532669053951961111036050505748890328549188898814748297506800095866192141506756873407917974301563783523690017338496451632140668052241926288914563144767080034159145188925692014085552359060385578291233494594463790765203090931468068151004533900796968577068259909736357371066841946805725340155384536930885302603674061807420387662864697523834558332568875318482555780818209198629710335432092688848622862930592558306280400208934767918722540686962783170932418740236980254024035254341625168219013178137092351811639206502609037546675773919978993132587421357846655983022295364812238645318435983654475279609651231275883519895363836051546766940608049186746595068161204615929843377539548724574686972164987284048461711876055647144377393747832990271382072503429891040303960214070514095565512869554292930093303942520527853396655383728639349601335187229679643604554598051638551855617098684046965119329168588158645635335662532393032780705144070717658658631389063322904609398617157772512300055702465925706487156834058520495861961744444839773019127041593405430066789749358077415020004987473324194466219094885133865589437727341550468149286976168556286483787409404487430683857866424754612028184195639820545541521401838192768659735469785617304404507793499482962879326770558234072959598906882711114807957679374155860562669737975209140080060463360926682002860400076281645677659315262974561687733799935714821922131801789117319182856942737378827039960614077258500618788967645727714384469553633638631628061741900706922237872725256247126321075208094691784899527214724430338123959476717260993176002300504348133879507365354318176452760758500494900660171013370363112834396580096341454163451353318571920502393547603949100963586085218458664418393783486507761702488406664225863064066150422062589894873921224216719015249748240921771728391120227427356415501742020928310714399237612814682521659396004144231492349870667987873471343750181266235994322015944681369538214973905663005266341074872997476679485613230397980302922530305544428302010507865234770938833045169486363984934840231880245930174989967175141474507535370132692122085741858176894729308965443472346159821577115211854156292147374099056702587828662180991540644921589143599431791895215196243368933330293998621437504088269241001911766083005299797334707227206350746708526238221049901756747100724567694435593972702671990278247794811178785485660668537628730914614506340552023532882139176541818314531578886620399012205080014167988426006714804077947760755844986511774755142287482968226481462049807281397361366472764826274913666899620389881419096088976500554925775130211863160222229647892762947126041201161234478436757223865111742401667615763287297429159420953193373036156071440957285121556047226931287334698986053104004921279306611561766635805796959987737508122920454833191641749529511821250113960963004674038688024511468717477450401656100700602609414673375754452136532648185156734695673150462391517525568545646896252744827038043517545761841494735749084852741529244115838634376783006564967784152818979036339834956331196479929368854346422212450196937417410433266445256811484255826630749354395690135839820066516776874165538936559593169493122174886974465485230863863016208544384641060774168060732493543716105350082040004858964421885159314812799035811190312642897537686623053050646823880088403597980667382906190363198891277388083948912486954845455860258256511867634233546554934970340640166245818193954513682286645389668597948193563344064267162688518922026649800584855056272085140635397010543343552372727187191544174655378525796717543404387068401126737902741170289418381667064376579539818379411568476654883624177636470240028966991211677090570796875387159276188220851517466262133601117666611461577361345108537357957663186116663528457314927332052451338963309725853459072996262841838865803117793697677805547160026217675328855503423044276358086873624535434802538392247634091806548193519694266016548591401405275090765134270840366733382417437529384095146749919931414139555193532795979468097357841348378829297436332393280412683684887757097801697387041074596241287977755326578886249319561057055773503573386292343761036091140391227594478517797107395812408383888436409413686095921689672826965157990500068461035511715442425808490549019867323865621291795349711261659227781091010734006759127358068971728769703973267530246360632554083896992768712674586313166236525248344267866555595119797828135529107148604000765266993954978324015668257314498357394275521190719242594000630070639536040528021043823784682308488081653190037733129042718258302290759842133610473535854572143321296323171835885372917795373098332848612824049795088248821947365658102518767106826473842321061810655762485072538113250255296000822987136533901446895404631526573626582534887131833311565217497283458564017305580128399010747800728435869338798620585008054324806209325895587921861960335837060235538729224318584732392027877896657633668054752075482963154328157750391998601021064983977353241920484766836073870476296077646367541403980587758144952537033644389172263818520237730613363372568428295747728774789651781743159713837375740581732615075404591023414903791716489860806682028661738156257419381166557288376885870993626981924964760920200572073108703335803137305188645417442835506089227471039695428159922327476938551372688336176399064986595753404584569707511892338409814388211869311980266439956411005348123414960393371927502973648222018803567324252124665019268565259512414412443746902419855863726693631031367730480272606104170922356155655993758101534330408777468090183418622532883539966592061141128532154362404496805329827068165632672467480696723763271220488303524519283330987955225517920480466322112922816099321481969450187240005437631044637365641894174977334929393969354908566922913428245673086088804695015424
54560585865005521589691689503647426092999675602748706672279791089004634804499738356560306736346505472649183527996274998348693382742241092518320179151420672983513761022877521740755998846565297311294136676480435121234179103653196332638554614833114394012756278627090724335119709838869480895064087143564585900610568248069079597796544089276332150193908148468547094169217939739883711268866286762229902579699956145672639627248242440797677471497070440434822689115679389158634867719557356722667423812606824990628524704267124967531591409308581495181586727896463654554380466551141258376226702481596192147817741269592564708598496872446614880758294989853165058178168383493677084413193431399715381075300124801448375744912566514726456305262942934042586496459241451459408347000229863272601834352574529120614891651261141489472212428576438340785142919374914664251043761768637296624525529829244891441805610365761818419604557233216548459048945540901529414866294394751089737145969780567656769638716589273995919806397757323439833375533378447548853832330901173107324255594487909960549591105378923685558795835085841275639382399204590090952437848061121903808088767923651106988501351899214215782398094838127889490866919322504403351891352097254763937221054775634729742724799401121479066945906973622972506526976613874071061679522727004669511532292458856430927142881239915059862684074316465491596328049751452992116306634510808333620427674966225055019415676532170326864425866031745137443434389017290218853813208992549350556708342313597471428978587564762783430820358350519791667487666199460077034554033713031189307163093068025559732920360158119749404311063943960834609719952588491155890960710433450207024129929455441254906055198478471983664052014043005715323647313443885293655057999663758891915736622597113829160529690654065530348065856220257483519077971609312568014771790376317862204547582881515075395593839148532799813868551342149911172344091572866447258327453634590233506616733386201238214062366154444681818230472633782484249563306177322796610569863118390135568989007983527943220639421522809291543494339388892963035992869021081176056079525465305398135760597333216985398175841591753350409326115252644630027080697535749776430982610575828954016917250282948440221929711537267415845255263707784928812795121441316244475852704087891244076272838061282434740765811226300900700840106905968676154633900480891558902861624223600881680363064788677602554735818086934833906554780213560376425270600999848390427995965993075455405621515664979031863469747781215056855371820538878684955768952582506118901665931925569343143279851953599343038777874166077956930455956687514609959472414705578733131740915399798935987352365361933899275065846187338740009955931233577554941768946222973068066427628805393022497938992773222732674011225380571032022861437897143666454682065001336977723855695753690998183522587192382494215915662911572093611957967986391722725155697882890500381463036105564146752460936226588303783911437384450402138246902790096040356277488157350243476158507031861384772731196438956611867575791598802065824587133631822073479078873837370207750953837080527247790041372958463890679186020024088734252130625449874127867891648230825107510872457680238540547506513916390472490976921074013017863988254465624783556111386402859005614276816170345729484233635679661698013721470675311001382903958452490304174107164391021368041530733057461737231754679504269590224100050700557788688665428382734748929347224209136279111316771377727459624388819553224858168888186596588028892879136252968965854953139780154102846133400675163797128261036505987096273678730064353134124245267364365932008411576061119968207255698424125269303456528227012851419267300244872736785151738704271909488797325592707322173700490131070658669302090670158495768439402209087607559112851664375871554837634273759602428257744778056284314398685105613397259432014350179618972618511227751718588808584648386478969888366013292180850670763103128851035627959446585864019299195276393367651629221057345532187808769425515634504986821453293649391003225896694724867830647475619373923594791000661850531375791048972081179104333082277573119621896493656810749703580773921835834008275849488618156986632477351096852263171734885202778434696980005060741186667944899537550828048222076317122793852007768720276650247551866995423044170095137271801080723487244801210040231063923440587247110499633754384617210843855115885892425322772846729748491748134616954314018401144505078942352729010519717780458593042984787479372228138681673992177209397671001850050633138866157775043799256826780983785578999204002671540252878957228345731766059616376110220970551758037985582383529136084786351758677608311843871727678214634670366536336534295770530070791961198775147192008261304194814826965859206215726244234428199111398341931500516080667929697674980648243464027051817593156781686872906379004272536035791141745671836488327201027446006056998876646529475154574959379328636707310436238709037834749322773173232515076054724532844717478012080652886167063368294963894915087792096441870009321743219319676430972880876478681734951338989978458266810696614478408423063633141494672436250163546849176084062423598950887468926139326822338866083943008893998983013972927523456095421107475253043246731037234014826968372370198101412250184726391403254977616147441065670988554638097687783632507651867675342385427787775610455105879419094553590796192460137590888289605119425379500809153694369164778659324652281435222826326005901129623178273143754186992723732070962846822813201262697880482038016173485314711430031936839925642360995590393363920962323156156449620376113461011126281842565396088721272483057486145292297296669870019256461739904834717714270389968741784127972143208044911528998569128586275650744195456170053525327467524255684517854509486159517986956411536832825370709904011949450180950065613450393697954696773248184458233321106076481217685055257348805908315062760743377383050285052812879760543924512458999261472399994960371215170416559271965413505189458112631228493119884791254944873432448059949105294251419111543951116416014210115105796488475051195408733489218534897211339189147705064956936983331617829438079471040709699398548267825740427038587210859238786454701030321864433937965667338101582824316161132225883564450420829979418129328500638111709107392860024423197392161794995771786014653381887803934380705602184238557773840033236215945452764369706454114833101748356408979487281530924691800271492524924570854528645108077897804929492276836066168917510653122002089420946512453741501114950098715975616239179920827577045389130958588902206931919460806699010573105384052577358813941406818150110903612813926067831195658452546421541462540942657517399888184097344275786529001232904248282434311457758315397787209912630913916790894496028282557103505339949261922751862079198394030463188805125167718181477143278112519254593316791353752565470936745575033687967320504100134575535996373738101278821853615220196325166702434960415822206043592357342226344550021835579227158979993301337218493481542714833498835395177936215399509046639187770807913533285281873531414780727989197744274670295238705734499365176523476557206534198803555676587604823851238494961559892217691909398132087020528988971673805969364444228649565018044882531043615633725958879987515060874942105302190261046832559846030847689993583579709110448377425710906273391070277025896252568828423996930489855843556362461172445308000139158139259010867304835630495305408507648112939008772430767217337624105224739961942327657167896671606451078260920025396862538253109597465641292865806578318374044672014576506780666683957899176056310881505637160022632193507932875797192402707125041782413426436415763089377738499925920453750210659061867065580399191354823103455545506102179914020072872843275006910238499866730470622291434560525727947726693526180080703623200470060145154995700794614311612040210211505069745436895963603413318086828077869571917790601859811292845839998965781135779360700056653495316339244783233376167790556681666930947438690465844827104676449275773693178424407611893201861237096398646048934995456872803788140628304095526020178460951694654356556249131739384197255340406314025872183305458793594871533867737761425557021437776738759849227303984964398984493817197082964006987802765877943281382865076101278529702013212260556324224964371876107950402882382255138765746391869739628001035131838602139564702179205625073893376
58583982985199646521786934285288041946002665313103695715934673122246782919437432470495826121084183882228316433461475381932523020802384072528373862578053205600625587689804615922519001340452918470131262115509400307387648601899268093637432364854525705027911605880504610161072624500738462514199265526425988326726274264358178005339247631315987722979048889025080563523155835269824821685721841160183789903269336284574549780256207939176310223208972425368969867327654534314398428215196236680015581789929486460286255022388843345873311737453726873488924144425740567590926389344593404050544937760094421788252299130372396167048578515479123604690954165534998941741292637071632325084824284695949266356647837351734816814179777890043708054269333145606798518385915457746432580468851741809594102843479233993910149763187509963227970170375134627458172950350305811437263322665278076872047085533419818279406345927566402059422994642306330129403604090364274798308187659541011120350794146435595535237823371586119214701479254817979644642901286747153394643036371997175998093961467652786988285995943741729288703899208674407879517223555432713431596512223783896481249779624253832357452588614728136220921717445616424807193877294606722303091534250732555622641156845993945471700376838994284578920316263192250387460127774586488768073387236343447897829872739673949097840408411161777982027587492313210179697951842487882405220705882936687855998535378313628971047743933846561446084830105705665781643937687750767129452584378953142076775430911818528973939355068732109208326029391620752453148208202511410930262559185587601775562595816343520586246860362916428135807875262569140338403030021560015134228498333148655903266882466476819767676657458956532472337412789410571214037816669937116855957603384755859301821895451024620058451538849052075571459587330061016103424720034003492166305121142413187767291582737989172938762450410508215395970078814357693703630723241072647987556319254880346817980567375021413951025827484429298362606424138179688657377375578309047069414302504170552109453535268183855708697806912206106306059387309104975471031560833688796430519955962171466911337783407897941689218694423464305826620969602208865869082797567228270152595478391972271398136855175877574301849773265819359065450888599197992463160788234700413304332006442664600728086392261578025257710849302968005891362934721569802821141910354586979602562079213451794543481222168424863515069097150797599127961175262427428116996654811153434461620529190046810856862706083759158594836125951421808084150642783616262099128714468509630600635654384420658745147201579107721959659057337927024400701220085316935324532476643652531888484722796809798760318969714437325175041479405296544404151859762360133888635202104013012808522155317497645013810050341042995339657210536609434085789650026941764809097933814622128899860183071357227121956229517147818245066733724840570502402496757041855537410929728767784271864816176566303482991082152684602602003168631641564029454729564188411507326999984211649436934535853507669401038220326067577083550876929541606373460252912764377620888175834003766233768110766644161923778992835885294216005795975965561453734013656808666627279209405732523963720292540942139282577602904466489428683382775914776801023332264496100395144246383374627503099829035659718287011603216831431328190468950870946392145818765597156546220640264683132943888517065176062545432980291449845594957757197709397843974185197418979423579335651654945797558369140912075471977605992286524292403301528272782320004744371807422812491103742069625391090868988273207027264967286069171673363402809302171614683756003181948438171829022581690145680743660314192266384622123180265154365059708485299043560724033096316686464147948235441208944809103029808112457839643189365615500405361455357116318021167948384144881077448951550848832300020116629894405033608502961812179132292356038803284406301850609736682035667216896586065575199491954511537096797825472618019454161575136204698289137806798723762956389813400329588498646148589533901886763221853904712292964201029450762638343572542086458707525949440596774811110366155770327557290068263435756185331438268404409530279522163641836607341725058327122345099848605422549716546640882061926339400197925449472564763638760946582601208332181814631102630807647879996221416393202270939098830518947754076181208433873585786004815958615692506343566606298764906881513273571323049508633857905185272580590891012206066458786814464571040825810099133156957554841250448196112353498616572185587733718549885202878380741318880993541247310693915032265578442019501400376640504015672785581930529103593780424858689963294962113300514192842136822715987668102976716799632099237466894453003474552612579204443659009542110053111815428715834759323648566049809266034968944418110908034856105047193397713971885302280409639460485003964991452686432711351573282896636176109821040221816406203540024548605157021776395561922235998828686238273540861941187141689968748417231764948713870498643714234853605371374265103886989796618302540270691005766277413780025567171941410082631206844938423202135278341787500113196045540671068797309117415339667981774327092143781398364044998170397303496162060350258015064703481890690675568308685655550681377988578237517295865957062995152064539087712651726489292452446268919202641325222786071034540234671170980086111810354728772753743866468872778857080582646401047253304403184131357860841171544817091030163688285518794219526748834017495385720794913685251871682544834949204254801962944583760051535088325349717498723459622255464916140240754555253067071684927453989876700968863044746755633657039618159974249235586044943559154270500880312476575360319348352391630816217045799354228106274583058469395354779065552509518318158596859386520545326462745176795062936569661582294223598275385532053521096619528508655520433090453504705904662759981182674419984871898022016258426178892289566496260216192255395069627196759756327237844779116738126036592228027696246339796294179547192484255161976362219428252721563316546431943757418805920675013665817575471417661527907367440778912947874507996449051553922243393995139355854438137841860899997935548925051764346292206810886688920047251040278951550171071661819417177672478024377278758496990418239068306406794125398504616419549694304643852170351230452729421407200848515771849061874069803111612995979159856315143696322693075212376771275132128335720170818385833200126857799579724652255816590980261356078914874171758826058596239123150589228723870637198179994222649818026658212088519115031664552664271716120181068453578166216656265250116321828704645667681507031761460416834925153983922786046536387447511014748674215750407718212110602880339443762140267676188730236238986684412716856368129884744837512526387324335459198147802039282756968868451701980510860564389331488314916064140255912471478134026097230837749875701662148349758005708893443040182360600979477570465077977781486523994934565418909671867527763822592176579638252733976950681285101907417992904974667466193515986885606624277403784959232895819094118036478725732442862546905783030864023271239758627959431169038234170039808226410760608091482399697356184375341708489864728899353227526239040128555067915867193089310349522063320916754567466466816456999282105082748508474111827003946791518691331372041573842091462142231666321558919896981173309642258234923252998683970464565971137468018517525509514579026957267275864430603552311211914272416337095716173908219252768067202737289280061812905663504930570380216661645481413104046414239790938647015987753505701163672854663459131449342634769799440386413132978221413168986200506800372618910710484880972738328804528042824561690980159524803623926881481940327961905481692888658833445331271841825446373452790301698134637157791256076219099658172053412091121926932442357620004595533525519836560289591607175578681440037648429846483367420326816435673844879373712628348857766628788442970706088185107658891011569876090391301675950316522419632748027396941557696331489944081562381348437795984867628967634356339929575212724324617780875313690659684914783546039713855279294317675472227803745556779145881467785394059858253301312262680597725001616523256781293265674191396877820822518706754436414605497980772007290371418142340674138993918429252189432087586027780320582789158885617214277843004748910828048630993266452686492463980097931705639527632998574912936348461134946505883917022737902408327757824
62904072747713233460458758558853318524489411362153493339168681783125035670048793794747014523639776459255233671714099210327323913278341817585164442958484191350662734067122754504264995173956361664242030903329162175200574484874369987127259422115531925171555778608902146154759053627890006086951945265804960906941777677336208240769645490436908178033130667886963586024301212798865236197301724483974018745969200705468460145031099899934452396658249185181381578345433785316612757774517871690735635139540071623251067029868957491448272617894173808737814654633334109595876587144597886203601109664490258863143365440439670459657349391817766413222320082001947699543365292247064511393940182168923850669248883403707071770363263775570402525914644759027501427932190399510449448445651644436210632686800979214743889098838125001934573618556187819132499107416598800930447181646916223727804052234538208637078311513440120428402202654772226479891981888161597246372665531689856283169745226642279448532516740796709418675013950566418251633740656283835512771805702966590279042430709663220499485671918289845791367147332234215338672795859826086829311738267204017189604320173344344594481362492699822249972951851268800776835202127943207368382984825340047610436171449287626103740103008589077449344972335096910993696144323957557295586631777009732836264813197185383269598314588305789449505341012315972277644246580417099551679187857311969695018516718439006015432047762613342223247203136430514383516747371387851154977662072571053984047999225642010457474491576884060308715186785636477055295831617696363753073657098840786042278220258015460804858253160351187506107267697995467673068846702476609975694112633015997452722149938348439311064390422203192313562803151942634620242859676155885818217062325016330161425608544720478210468741939388036295084859642067005462184631536000251701018172115995699994906151588935408643518233806488639966253794675552187425769768195308536766668651539461544494091050409810385054833518674240446422905235248246686938724494309786611036014767782515856229091686602108062396009995858711992449006108781600828169740687291131968927671186783221665882135477836513271915227322085149192137169827657324302067240308266858445418012627302748893648458497078170627431563702120427315457448172506923657364532517564404961874947315699326439806007210856526273958532517395157995259434783373931292224493260586978710245105802007884215209190774800873748157621343860730617142477841727462505333972873538826264262684885008366105334830764947951455726324618860173387605653856673252562582380534684192721322692743098161435304295907372046805669449170644146347558901434933433641753453533418592867612159750851980934701977829362980692667130157372301546849411011074228776706467374777771570092757941795021220472832908642723327878427032776331032530883551300250099687899827248743642555698986316013031205511552329904937640078433671432628280450253250060206809084111924502945956510639602851008758764397526357411694590028340318397075199511047678390051539882327495387668462661495938721740659766186625674964952518991125523911329237154052935708877250420035925178715781647610540782989804740486408466270713365805122116516451434702647723382706464589196336928736738724807311736926764189546106031213340300915710883677852238093279169303854790075810498976082837426956821994347204848574861976750723536367708870715345719319152490584248709949205345966217272278671291127897408813648307416417617462930509022790455058492544471316210119291458027828244940906895545311062524345430326589604857836845910438236347423407715783065102426623017213507923785103705044242182726352347306837916711561354027535119876570920123001166026067419502197217194518044094330587651580773257913272218347278057475446605650328544180225137164441619030089040477861577658613390287925548454444646692212943508329577288363122505096053942093715266875551388181575272125611566922331674362053375613306168274177128685350527543941423698311655110542871359361682202534263978934077461481178348508059421254108937630695489534555705737117101159121730183289528307299642603580065139593486079920016230938319595479678160634198900021404699636442102394266021353257060570859952258685317357837212121477075655434670735498668903710264823375473161778141668621211586433132691527267612055883568788099200899541630025934602427816875896745900507599090171197681828022462245698311607387285284760188322186784472778512725720062146214244683405272642822335270453638620850313231348063322974990338092753883802120856770483225824286686911188154537339695180639714982056372729242587350207443643911106619579032445861048749097677210968261774067821377902987760977870748443264703438825669546188769560203736080629232710396839725968412764186712389583433044459814760323803330139778653237017574380682392158775417645306676164488802162857025027642649810909044942157602409189358405741483544082017154551939959539903802047102131200544468041350512590113981215824077956368594690803886627540775425007530376039262462243533486428515548326771297763313491248666474604435600799307165914090325201374085214271877227962167387261834891283256422757005467696744654461458605791943328408427219594452178025376980678304764728291079908936680292353559063460650627680084119966194194664461174604508004730833624347244289447918526494660396326097480935565759878652677361994359090051299152722162491522274420798577211168373529372318228559481886442011099896793950340125729407513273259902160612045096337708828801069101997678260382891555307709827818743375429885350324906599829640040137523899620450897777438513619738462111104964045206390933893024429147595293737019145312757754766286433409572872575012165185510043354274167248765606643183358305004620324287984662754322388384434939499536490146908943336658040427216417600963367137976301024113078354091352310783474179133351707104730435325751076055715490358207906732774903778297495813503130110656162007069290508912698404188501729480180693157298665863733712906642575902113248827648603904334957683504380872429666682490062846196700787585952123228901914614373580314384359640055215981956282201167588484759889937937659754789883618900161969387991139209790138578503976040291579089329484621483146318064912537226320743605961778106696418332125498175018906288313998196692158970978628494775758305013990190540071381822010197875073706747638021310701499779288906958034720232485819672557979549352568696384213884767770107400311311630555170706621764191177320198260568125177276063969325109359981530926221008607776472887544933914811180255856675631874305124722050325216036476937477721212069272505364032965314533879172098493423651613879520047677430687715612524341796490039211352376440876132841742178118964769729540261181236332354001612312096749657626475328084305913158479128572103200462433022966152261797914831605283705973762435547296798383250387119501522546540458143874217070238403892661116859375283909279605298104241074599591675995000827751008469658551605513164321440433078261356165324813705740807033547395162280747497511336088750858750753397798481107986096874832206558118944084192731711336098102222046630495197596092328159965505148935206895901027708184643239425170504897021445565883477669837636495068559497470714936277388859706697183639521657046944310914807643913108427118449476289597897798444653401431775138338011626734202110054422272289907190283124227360240404342101037974535426776826670045173654457123155395144645514174820396046185193217476264944673616552713438997241334842184892979679520096481395950680553147158512549059101527221714784389217822073871714383633414211790410053864436298606492695841519038847610873961881013505629513951872924258690271234686502221590012451924863163001556499708843169172020090947445285680161594982073560835973616397059765050430804974594428520876364737302204111681494278645384236434865382699384959110530579090603437136524144912030835381845764033296549944819856427232060503797341664940971253734099090919563890555753612869871790175215136646656561633665485933695782347294004580243856750745135269149796160193360277069594000182260212121195794796118855178611331644326262950741501946120455804324264139891638781101843664969289870331405661510093696989943337268167935663929307686258390966081205050524232130653486128630274766200163922860208699235116416464629675910527642302452036104704153623567079392959499132460836803248749225756093868774469268435024489990704736174522287403412852625604118436244652888240817487154292416416915992558630571370223796259244805851839475772030976
67542733809158299124770819291758773580938249224685016505970831021488248220423254018171540993167464694312976284212514092613820415682304562909369744322186771896025627686059324853313711697435101069766913839605022266391672413236866440828880052023517188063937814641262773049725572522924432407174884310053583552468358625065463697687830312735100344001810455767286506679314092556065703844681577525767721656907162213311791170596997743281836396828999984743170426772624974717084200034481000269808444776528251025840241522597756897846132642386945224367168245039926218038892429559535486078799090859573798581943723581516255121311400750975699184139271682360600894460297015995656107109798113748952571534702916775859759604408759988974090648589797931870229849390514667885638697833827961565536256389319704147025191173840164620317232605850801355401911689275870724387271253957219150040684402560904331939669020235281395423572242484152772765060315955569597434073563271738596087788542741270174530585018648573593984406089142506631766656103672221162605199573951276948857279688523587400804831936427410117980701284230189900372955305565709310794887562511638240797293096581206752744962958496916693827161741271445538860411646880266420848137786056924944141476576167534819153259911426390323686936938200316496427136950508173434469147697154262791801363673869365105098037578053373267433271820756306158537731167746362819153409593432748806077361905855031192751756979112683569085525667098609421363415507857101196710586221553058063874434165592091439879635735019236127152405847755710007874287495100782164294392794179659853890629557335315271504809008809849248553373628757701934603013979135893620512638392164636039726065235040003740773415581953384585813387704194919833640505115471651670146788120928784715177315347359118151843860962864983807535262619426857013575184089290232831925910354784975162488687321915924003895076634144637575312644647941848893933735895506087776510613860307601846762942481689105750342919282357616998756704542674601490435543014753667896784589026449735010776346669435383873162197583275565861062870046230298490878887947178993659341108984168861124120602716987289334386464158190343576877491188946541043061205579244778865932941320895085797280077841441013600081591644686980293358703795133050860487344178316916221238256390662898607048728388742239123704158405591188674598048857508969859763804411098369830987747390920928459619525044098663415140480981258352094823209825656028901368909762400100647808521283566113277201997316286528661135039041071027374163953764776972778559879425573900356560551798565783270590092682617396583732887893562732954150832774181642357079315755272124861183270935459191562840126570907767647021187760022342109992108032356526606094090991590376040326741761613471919389205749773263110403532292424165466897514240704728113695067391239350900466160251161906872534374893051783577488264072873427086982964638465981574569003194107235943484717158842571877744875660186212095308868027962345168416280988156242345499323887259070262906722205430543811674044472308640976642099253814925759857506269366321368180604591858114140446921809363891067301953861115453722873782558247180771049931115089505037864134394689344595085507980343854186036952944351935301117622052412947837944274496908890532759857389525852527137863448929318233916084817453685423410416099464567483259194057542875497452338833374074035490506695528317176316805148432103581024440409699816980120381257143379480784295811391032183134255267730419742481568142236999774922268706764937238019492995622280892535025507501040581911390309024663215395523470236283362601978334862263925632362231970161435305840327914638229576362956462563262411998165967466758953244000215961282219345536732606868862873565592477227339523509597731958880917205108922014677190998581063573675775846332292559042759510755993132957286254986096209591601328551816675885450520982682478362485227916388483793165882253690997524393904430981982278853224323598372123857478027238173909248090181596351401677771298186285213321406754507779380700187880805041152444779550763716168073025924361971928001917316513945291783132329723687776721229805479895213964909069184558233646386793692501822988838389704788452418868373762298241940118974218389590708918595743293906645550234517671505008813082163105466816270587980187315558920663353578875551972941162271150592492924667241259036395576066764011648337628496078602121871242269437781141879978721354781236423240188659759999003491278667232006090236376773303817181408257973490702936095060117000410864097051673336925120793879891067316590318115565264410574023734409058282668294203397058426015747373522054961069716203185223746836545981675888837390829443398181966451196983687802722437754713997340154595452203418321560106082978754635569582121246814548833375504235530461921247104394669228158733014290278506309776055970592613088609505127889914894862509194590376269559926907829406811843950558580683127989407279620481253744840839221960879703803571824102777922833530472747561291227348377151178009416360492783934264865973082476577564303716286656161413391836961753325452030822159662675684143696301083538193949895659738595621913740997521135715307246128544351424997616563761691970757191958411445936172917229609597026903622285924847140892725391991641768980211746807981559605484050544453151331407062662205813549318871511473216807831324762564541550549841906973243205868631429747990372021083353741334297771997118258111907197817763670729029099068672916990297231784823453322001880168744205130715785960698122822055854681984375661906818710132734749354328657815359471429497735911002713411041562072897088715649315259613139068478852321537422537770644225518216312861209355428452153069850985187939585147561958084900036780215850392585095477604109987912333130404244734176966492807262434159547801220147016654985994574026676242276571146471605764333644769423214754725269230310080885425809041275251086839203789320302188397291972346670741165193525250765273587294138970048808629953341615368908942349876966444776789572473911315129744744177555756984871069179689538940421389307480424000429583399482373705580786906093769510957982054495626424754977623216899754451263112817903338121857536048501736898567478834203470207353471672499342308448949539996555624998897193408870172708603790607765673212982566017649956693903499092549268380086491957759028069347487707076525131140888021436671291532686165918024723127159421960732620497112344046004108724277963822973186041623032955209633610582559044223648817303516333575545068923351601809217260200797381262333610751474262626540172956341132044646236363688627539572237731390261336185164004962651500629022186360967035558549671190120841136546722177094076855904902931621241851227129468241056968770980578940605980770477557510219844618590684510174489747373687236902565391521714399670789899476417199156263569719910554647830462768845267733918786511553576285635838089203670877652050621858101833514515172920802283317669511020862333415433209271996105818061257472612372956600314726338689318532625023033163659397029915113315272663453322838802040967490068591710887925275699080710222147614860718560689651289439128739129028437484674733594063882079866728842262527284178749138976762942525088438028088668184403540043935004723037599008667546506301158448596908932622789336834484109914789603285316884304375236836785088507070934699968309626150922133537146666618052418223489506923033277607125393398401108121987120138210641841642359133245882843840590070149951177558921681553609157640229684997845470206906477344289577923115357196944338079997544125475549867702960557850064225912503268578917481909739939686587016963590112150312514883591700590836428733396705422218555789186417791610800912514193275686055260362261024519209295340243409951520149482097187373798259119210419613214095649673506521600520795851640772377884308727146807159785434270657971991594275916625716565664915326316018368880714369129871257977486010628880780415390259990100398672292852398690465942255393112339794903023633058274214856589851236695156412605639681765514367680273977026847800831832802452126927939046522465025039387169430346586970209354366999473774600616885068614969816378102105842100304451225155243067901164167280507714169849080937559630915785737381305867075099696698811448254408919578892892145125213749145356614916517686641119381936009773115276921368821367289046465470343205192740203259355231645361302466563519908146508632866922304674416645226278283605894697879992470664348354740224
72523458198192100006969023088307453712799647353879875448591226991808574838762018821486839570894405078327217582279087285428868460743155905901829415958918468124310495822374238840205597242214101544275877320988340047876008235399434716219989738936946236407123617715483395597710378940209161867044670966065916341363775092363923110161115502598677072191531418077837533212434896810054811110032209751715240452211798553585279732223915525795322758800758259714103985585696773620675872906604492123048611624952716644015572065074652709801888134782498279000092477144049330182502060255047149414976343549100498351984867223769076459606244714347617021653013446249420230153830813536932964524813994928559812249162389157031857445839380392139259981758152659157768329783816507794279918817079284353580795473599793249967192944947839443879692796838512519210920910329994670791789918606791708132414144614095688466401671743723954675371712240704489323413387124149602507807867577576007814501334009313397277268701710793425803051621712581666725225667137743849267107582418466998195170208433468602763599311433019383676653393728466539492835310068602067226685461246160465901836703785713102813493533868915629206026188815818012012641283112061176327431093404084357353567172947403766301131432841050787891562072996183112250963512336443870435247120067817739444128476867833225669918567879571381526641083106677234170736636877629582803564152671578124371328857900897472482167117957182757004722341789277667958338334276370170308607649639648678282443447930770302631146414575135274255320180957482370269991817689904904916128991794924555216098077401533999240628849891119601306728761495793729308968945854872359959204162255283609591601745814842329584870417676648648144751437121425673706932522967861884596058624707605874177811064496573107392336233469043979233377829302411284343410925170273466336812417207306358765299504399679414587682689766243829935136434544918677304792115574980092254610881726365608009010355895947009302094775723438696538429667880512442813378511092062278183728356350522714787654128895874130109362680914697982289776662114285025660744507495588306265356998844260067415946357317287834719867946125924051423121613763387618067401422297265401983487875582858736608005020330856731360414761389358129243029699261884353624450466941786873447552955490037319459560877008672902530264682804414725791051447102797393583811557552009465751355605178678764005379166864179291335009265053652793529694275734626469152569265170890687361503245759099694853490214832602191235414730270815846288734190443293704449233027635792015647577254638504712952091673362656501948719775621566740614823554068776771806003811737828964802672132526138626249368124637371769080718312092863897934934704267547896331998776932219030386333255091822521697746747672831118596602139710424810104348561880269810223021040472262256442577358358884004633195200365227024945494004200782521508095107833963617828113503502529573555641118259720856860887798021547554867805799719571504452884739519406053042482221472324464637623442720294817658801005153797653220829047980277343813984761760829230040417935884507026363669998771764674342106697597949954986085805871714123964879430590559062613424729134872778891654774780966140905353185870617508152024741100502212731141708667634482461901027409367387644018999116297007561515574831427222054912483238050112845816492116048094839381652013110329178617393940787928548935961930077639246114434090388776700629910620545313221502735078566873561277288054469234577769263425847578612626259419904849196572556674691900590906272310692996319557636788065541884494252366316608741101603283490056277892976384352253119750991547821768925454708158145265097649550210562482417824543508942661083578844697528299647750668200650138762002640486350219791889038606636042713241834012812613458585941855979522448200291072487685513031057518900038726372305600050916078860457461695756729775421795998690080668373145647402414222195438204275763231537713501682327701482373006638535745254820103757585782446813969389776735956386831103254422610132278299475421119654114933191325021421223709774209575374930868939035432720150881929383158030859147882371551735940369750429689526868898602539360464202842374434372939659443856732776646154262613470407706060923035089678830294632362020988094916874729443673854015398804069899052540561738763044432642221705219762033639298222525795868231457935644843291789213815089708297967532022577795011141348670555918065156161634816732246907924245983250509515787718475166527841805118451017644865287417674569964984376751042145752640922271541822473634147289799252037131603673802554561804924184510584717637568780598127246067170456755776387112224539457081268607427268662941215056248239541742480473072102348743762831003207626966831171103355644938385785343807854085685994778203790882410227450552919830148293061708833054451369390202738689843659757870490414438851816241548523591595319427150987348276136241553013371625098573569153792233295879015829806626948127123930330206258167548752394248245165745799579412090963360415453289053113302831172949615612693616853769046023633908929199489935820613812900344427491476745426730297403026272074629341923741505547178480150363973940004826091438006981954542838101983695725522035519572472465495994895983339950728220425779399180923828297569157164834509319793133047949399166103849559054350888742388264134892417762211175452105088479064991815761335042388356606702257513083463321881208782030703574383409523114583073559148562339958787110287945158143816830606484926443033594712330280836112843462717034839855249891879899675338135934068384786360950355166921028599961741001831113111208045477754143797154226559964560424362996928998149592143610516333948996243895232958146486027092112350056054314245436493336788208317606527535883598217571140773752846501152763097310083211283040508369506373039511415278193137604521879288542038682423202244222335504643216654579388040709071452492992000899919048071801946146781115746762257480232002209689147353042060981318720648667740126001425308412317727921650918267622098366636202225830029295607089883628127310514637662920324598479953111904440789731611638553401317339008426232098689969651373861013310130652045024864007444635947710519027687573374886361774449074345689959862590503775870439321037023331254620496382520295840915991880694032952795616196240299595152485509751648369940413925801893056305117162533058742199412386500687651141674902700308869195028871991613100533958285241883423655325738902295398622650732397345026920389627198204099965265119950640980286786411041513704793985441676276119417199487843299267882154302396926721464601262952135200427742474161743429719692667164509982738280602742369910531654245102855515644341939502481754633513302581336063725100262253457801497952088354601762145895363303179614322143357280673771799755109578946184584848407017706375807928064413158736184008150386304496782134074661769789670224275665793672054252531895619852247657651232879232192728823934383403873886810781982106742376439383388294773232965110650537795739671160131481641236336307556713709003796161443355510951548760081545104833796917144225177797453305560873446322029323223165812664620496004228316957015104004374332963856442523338935522495625209590889810052225438831812108763006380147283195280633365909455238076286926500409354278922673207812543770976837981561611229583782322128865520180049230946147433569987514870900462808398379110573175304316764518523664881709426667255785851394493285235702347159096530903064433824519450707723757748532031250101418381072167383356015399058540796489220944808601782350335559585985480448439324009888744971251166204725931929204188608641121901134900263666584673843388195643642219726783715590233269903854313723679826626169053231364511816387659605324996877659689316011912554685629395297877565390895896979238598687672396325798314913665731035524271642408400526395350490676968830524061955284116763819483085132517257425920379987137836241764615433604624013514905596732676112247184474280768286958498875098053752282685286777712978436476144585682937451224028912541654635560870567978440284788373852452961997251146337385245567225819884380377779831245698773002844342768428785137836892413817225374891551864699213472658804397970618908208282568048988345215119093315228583080770649350509765912542019719397213652830927308582295958561723785066623603815662831643114687054879331049659137405830831490832766049463612878033544638686275504687391854781224936970582670053592048557403894190167163928576
77871470288514538963873331562337358422377065496311750941063162300582572206212835991305609512847535820197929475641217258911601843294428617919402682028583825031083010526660495222894002517864339190671997273838253725738632408516810400762974167547440472869720119879301854230799112506991372404631790492583459116607346515200607272100149093634980259481914622200203846887180425582080034421261449597557309411756481413247219999228338633089388909703438226368487732008455762018379595887529689018795848686844333883100439033556704296789222044485317545370420192577329838536138015062012231418837232039261802659769225353247624312533071521373969270883154152872378436867874098314550292694601072175318562497513166205669209040003557513285444274823205563114512470191508662760340336797222633134428504263193985850242661692868224709330526980237045865824369258977468919726256031429668067478173997161338880644449893734755419645626950179337165411110416196702508645608593974296924129380916029593400180131129513059253508977313063825442578503914644097939956845158750235085925886767593812760178118565463234286856325641197793822838005020764666348794151868632733651654127947273019292155660078868615244605786231770864832270507362386444963869401483466015906914687029187068776092646597962483375067322974468142799986346307493579743114761916592365623250295256842409054658621985006478787538615501168299199997761883904611653035858006990594768220969501186346463339991928708168567407599343886370426836052559055031426766355020624429314538180014958034330472199150396965934425647732805297186701544386791433958991190910669163325860121863792016296742647436189112962109239723841754527235974575481567887069780442768380176600190353632813169240867925079766561666079624121380912366510568656433913346249490904476198012797352719932050080794990946341129798265232116331740049076689173856942323291563198022115787451077760407799634630619242832783583299196917117590500914890118297933021154160555116076834463787974603295975376211506155985573355957685735644401132734102395182498591892468332243129527517041786994538040404482877799912944489731224099908854612676294659922435051950201696717561208392020386385121537512383424660532397336123325442706958117660022937843489410223802979814883531211190213609747290734171882638448571627159537778455371725939314832678764463485224579590318332106182220615717193702923343423689997188889127718678175618621126097977178381973201372440344232541080243315608608387269329789656764946559457070931838352154242483295970949829996040510131483511025877453820762169080297745550783036386494697726566066142576460511117775337971631005887877926340771805805495524383970992407810306966329082467252975652585816225850808995590901898837283656792939152406622681137462214883276308969986054532893994150801932018169536293440525875901694974367416296855165097775641000458787064696639008764025369757739271465388204331939068232651611886871421271851116784156397511729836492923576259809592378576652578507000062866497878268671395689664582273331938790475609971265636179825294411648879330708400926872092696252456770526511172703114801278229216113948198945627828543111815272361126859645481439203327477667817204233472611751742388285070268875547984239615074096251623784617954941160927871209489914802381013213972119867262458963937619678008133495004022801787137024843525523905157932494757912393354370472831013967101024562642064690356765489062368108178397316173021996124825736897372941825963663062178661296493107662784249178123663251045379207287417838762006067805504709219825814682772751552227055978506378643924192572187103797946996374605255853325111631164779278939002113687455339723313323311120090366729392924258367114577402913766155868943937282855459259453223295765153336764755394359970984877980165817088629932102143836719095803007058195806022654945229017669197397740179526053503843660300343468992642055725636318084085123386555436395611964089336509604989388827566120520059529108943671101938342611223438820085809614755410695996425479799109883000539411880909214481259039418577180478388336069470273382554356916185531617470491469477663818445006417621343755088504850329564089518064511298934949734303367406658978971060799616333908194361663936626646677109654568526173185553846276626280523962722540329511354820807750814745009805844083318330200372356869271604035969432032170774595364042832898304273175057606845809431534805942606509297998568652319914665340422111487593326701090797161012043342686557275327838606939988514532939935880075536411261632323806308606611338131740653837946138142592617940824167187481314516696887539755124121219633705476185403856753855951051940026058107782022688073404888960176260432755860460434010069694206411070772895401484541459272247322339495121440822059454812010784787907230076889160573182716838720770732712351490332324403013865793727139011561946949198382565786960798104688334056370628101503251258733374088685636913136305746589351571736278738941783677637170345123186563941383009096150666140421441186569571432826804589941038695004724477873067077160736371398652529658212374689110660608006979728072521713723116752156620481888547183557668812263210555802933985088081047889587892497332773721117873070733539330199607642229248536223436399728605912069760671466583033770978534285291446624307841712306989528250428698149257401294721580312074695179677981579867320316426398960614438414273040848393166691766625803127342343192630126800647837089191339242932607015941771473828228942466079961761816688022590402926349213885056156628267399317310338017306151147448724079694271035400049609484264984817723914882926266334577894606531221241057156730377609712879086113521726731978841594758685784314665235805592485413738360648871635693136425753996188349889216301385123565920398130762114261620964164031606817100638804190685880201817985544170152727339785950745618240874829295722561038967069411109628566995762313315186950915543645917632183986295567919915250067634744634746154578263688720128960304622394526950683628441181953995803655551860154506800393034646962452850760237254404581246129186071951472042899376522395595569838591878978813156096201422883166501043932481810750367266421151239957851883589733933823094716023970813630354107964005134327604705552981510661324775961537684317884420825683052744041344716889382012704251615003231892420213552744173244750952745601328650870833755001229605491349374304707746446820005525312929991202631950954148342827609441335791137692440452170572847712744937163269627743135532188511034206203098419103892085119261141962828261098479679820982106539380036142282084090128665106491472374930337990665595048729982073648977705123669899740911514929274801889784408703261247238613160645856931609929012411669816975238874083148976416249401092411746909025041947693421169390174906130087441007614479254880147841506298744081874732036034335681228814112617548233975811314686444256434153543774550991751711026656894994250771939880877028602972242468111839190940554221037763010426162347595546340166948679692390875890178588333628921976118144782930060830334838270279378453940639773177283617361953370761351541313312387019009567941274896629602512318660017213474961814867761597286981856899127618744951911647364824761875527369206600255394542669161111198142845644566504318428490077950470362888476854342981246745175462186877886178386575607903476810112635885112571798728508276074442810032173191381603626688834869645913591094357225874707787458333838104830338936728837807898081717251424027693468574629716163644735308159689527283928772364266810926389398533042916556908897157479556081837995215957205477600748893617791408670500310761916734614223577715704935062502054762789579569763544345082340391530935479167439555543044731530473251012845528431354307812048835447932209033586525348998424926597638715712782260212619657447943392196647453495160080391499833416603743086105365145313580911525844568377240229591071734134303780978783506878053159755773972212508974567336361699985293686162476825645643154337179883105695386623552089165520596278713228560173994449732414826054663442664616014854563619918921544555199837181212724365184426689086464063747994326750289131128854394952966040966462550055947125072168792678636041792253933368005076274903870376655138701392734685498038763936194244908449896524324867146023647633519745774082216359280771380745892730149532368108382651928565316653893713561620389882483168617482881119495321021160836776403425240403413496916333913289627753528422424169560679955535584777078470486134103969923426052453093461576199962624
83613854545151407317588421136700884935784912721777244728090876387835567343310674649517333299756664545484660836198364189164023617980721953242578520791863616425771928418307640769373492822192248147146834138534114036449394909586353134377406874327270339870555795888700232808360356040838128958012604771892421864095400939031543778252478398471570494020104301453517771728457832381598877873468053271765251352311771396482167764900714916383067202950341060252224913488382473332924828812659027141194624852640239867705268183091972879063096621586674002385237733224413401879418322208424486473972397488948207601428659449863148453006006275682540751038028030978362462020779981326620557017634830189882201077137782545690415655250708810804017168299026018865523740614176140864088708093424148235844099365153686432669746408715255391038429858640937580341917511783995852770179731878293118488569627901386831985289924375362456484180915109118615099515408152446494418511541284036988432271076768406455487775927562532474682807700503770959131850056501094032883905402042046981590858386653644604228127593368756588108450319917688684110012367517010720105652827958719817233283959234307560746407345008370789097223069455735155059588636694250408380745246645105761903590263108464464855165951083631582714463493402529079949806659303821181661495901647622528783668837620516778903264467507357185149021478659123713983337641141413958342377313831085977274441027252197815442632065676386881267702670965754630850601623719617160553428461676832351151295126901387065455837897038488526496059389003824438110984813490395806702742528354128490062953618890319135102175516722621760877217948331101793434613019095204381442132067897648140348130509056901838591910221218243893417544814533325938243201214504436579451859871922843682618846204851871200609812160948787810835810062368373422749389453749418206365273880752055539797956916545226105763514814672048771971728935635521018446937427784380798377563898939639188871961293761799808697012312428829715178052911806748609601087649581212806024850936050558924975910344406639451734753541295142985647632057614753834788891785565858149706575111202544327001408984730492076722345166150231000982366637126781800549797776706747879641161906945858390459763068225150264309172279680131968016393721701829140930033235578739608108021750751361089006437138941578656329859240290582634738224899931302392152684530422463157730576301376018226233273960763398547436539655388065394839848268547603591127658013959792049491915250653352505379521472438450126469584954849768465980940498475303770785662117893185703251701116434692768671572370215875536517004784118477964333366553575881489751052390848026095592634630346635084630873843602801382962662608432850240475826101027324309073339849051089420387448713065278127397547913359040953029489509883606468902820752590435906755110601802859674975175939836586105949403459677083387460956580987798103949401529909817992257104565513856031133523865811049613269393463460409444270388100304333186464446186518365502514341635278059351780246003622900874540110737623342931426371190897266285546934621497205883370000280930977393301445040143166496093140971131233888325952740361310972229403996359707175327582470601321596967542718004370085457466081671947369964914787229513188671338526271421030574663529975282745945761114330528510968793420410628479881444990231291672527229869315380804530106160092799749668586966079182234901651664325337711191318418329323364456114134105141194374714225266336630989003076739235376804466122442454297144550303718285387219766395629187110348511543800761809050187432501284935342590034699935981827850485347525368914290623662393050103095583805313416847272905872952867957593810186912188168171834824753602993224274167219457474716053914557889958840680263195872956352077549120103151543352038907915706212825529852242465593842392144738682821727184222646923493954383740249745756345091352540375917506682773054825860356067727812547374018272122251365930911978070231345052264211994588311392159571399349425781096894730735514294801790961251641884551558002055562564974332067841352435776613387075675946034548447384919740479425713146604025869311787022185059213088568161826364466194940870777662439550988516010083259544419226187996477351280311016135409408459323083154005307513161792923824911881831841982099943990621668987579558467074193519049295410352436785980626079694305772585652300352607905942654131207004286974418918619811982257135333279093104743321069090983623793362326133649434834315351724006479232581144425969756664655961946908886782983369676715665339167136615075794482059539487264766599529878104099327520007915764802318240179857635501320811362617121238566306957475893803867824314055625481798151223854282604552467925438934969786178446294037165838962365546627519678095863683554193228376756558548370651819354647786000576082006223506634037891282773423794761208717037733758148482669023659653541712706492964532135613378780123770635839563296571279845858713221269509407640431158388375935933181746636494862940828952549488874683904917812608730598337423051778057113659086363417951613469172665212425605609898767617583274119667413270283896121700064945020797454298402007590292372349969911538384264993851572749433882671392586417002968438623993621728704089668335374269982944697675790184012514839132729066311694311216449572426471443674205138194551938781721851263677202514580186272753542572175417471852088655708278892977803159283709236566372514780099490807373119756271983304151015172443033142577906323960465527302705157116758850299481285939803647943900817837378122384097515183894813995671599462824896595808320255155929530861866906214985889924824520503363260113892899240243286984688840822021889253651011810069936442567857597309379796304136752527730703077369307258125932697444474301176885900818945531914202892355812396434523174289964610563677778087931836185419458441488536026569508323577054304319208534994548594101445686533038254069886549793850803879319495352708845530615644197249372987999338305458122048893053674420938724660183489296936217127101174945192532568830827782795619823636724809029726298095581932035277966537726609967152321922157316940884572205564607476581777905013708340449150220481651163799278287290091441295895766311197332827004221413838552507099275158607725568648553854301648515978062251874593048785190886426799778602409508224495789398843081893387195627456738031732439583619538217984618185781994294679099513372668916162125015648627956976876454515896715349811302549712694907010980129532975118716103490157270629815037917320546956247836599888493456133266129307788303312987033771001668699835247155656834823463721703457462762756778375757967801206358503458342287439789888434297424988164739151493746709600916615167873781685122910602592846639221219371387148870187008368843945170844728636120959381380115882741320990909426638907655157166412911260643977931761988550226664491152883487053303293376135711243411855587449080668048875194964867986827694718576427363941567383939847299537999277981123095839221790781218719407580394683775074784810720522537778322786671541880524241872674967397919585256154716432392480853972020476118668002877426460656268077350481776273359981256404528351733256594418373816391066202085230880087760724494947294036173283749864440229105815046164015005477958763968581290370445191070344188006032043300728627288497709357151267782627631141197984158165884633368405493448045283818288735172515699327601231340461442901252647869182596302093011460209591558154180577780587116299543445924488637986764482515132425494095159035700513790023022255685163715461819260799149305997392418670067304360800360680266770419812510284745570495431043353793597602191300813827560549778538160547120660125742605128126233260366765750938587156072472990055805353812014708702460284195540858806409922985975603400848359891555665228440254986502163827315029419913342969989870644207296137924210402758255507976357345325128139455184701968301355833265950015755781427126482858191117038702016149221558021579596722957873154407130118557821559407252577048632824220049550235975785551363597541859458369191882368409533980817519223704746507444185671297067214151037388221324763968122546651086636509346154967485736233840674407202889255648206426281554730490811554628146301704906639843217929105757148775367479330919576774790489093340579098677679734218371734840807089412701787813828008623120635627062022067952726779477661693977478399704005162751448662744354630729570325769774137017695446870290911799505271220629890104247875302862856625586176
89779692690981562449354338592601361533363815057561903276034681650433093491281237996843302176896659745224830690280996790289259754749699586911528975378277563860244711027871081192843857520151612204178062083735088291721175773915565900014513961630302027673710504171304688964873491144578951076123673662762872984131275914287042609996667688095462914393727885312946023432129945648504243164210828725754388686849708035929789999358496813221162061210477391457317878667257999726126064944192258092651822028269662371347373353322340918923740777550713117414505514346007047464051657347093416272826450605436268271488673803570893570313447461406818150973902111345835414503323023052331496648011222734014380929700687329924990244987051255805576300816711174920125871962368369748687545526036807332401625431977361310538866698511367820199436930513182478586477052760489200961888238114829399052564875413836389105466744567623744686445042935254180809307615865712368979338401703373178042733646431752773088819334164285493425151761780164748536462136161987764864280566632080850707062705811181613591667834208499003527584156321802577540444496160273441633797140203154013261012951898187043652838224076285346353571611932279752654605531453757763807486287612045741459270721258722544332769784139233352167834902587443540518347230808231525767049960003642819319669079118613506002195908895738437401416034310624570894123264407039265569604233449210685139480857182208590362187121560251443622054498212441218865971658950063394554339125894396067267400129521406815792558775014430868642951137161291995153063948073477399970954188197333642850561693574692124066712365693890391586395839886574995612152607857431582182466637033312559527609647784806299958631272575120700195016162758755101715766227661008988912960939070840563042037020773125832755849621994532994595809660884971038856052526955263943841457586978270607051962851044686857294933309756987610233884303782862937537552240923069317160501701523999848561260222021194748113181063697789488560683018291889387582535765245204274473281633403034496323113129263653242616034231620706151750094266824138871877219320772101401791203024695622779115345333834506710877398840259732093016152144785256809772344067592248181394033651443364257417970195483909287473412743513983035898632256642270405918566942750937562430952463683439826192398161308472095887092206332864488246547366574454105245586774192399081554428698410659520092960232121795988763460613824712764886618867753545710766361732757404577882147354489947910841177198063227166528482829943348038640057000068341889797474755514332254180204287863423390313024173743597472336747323916100761527115947297160713213132300068720446681233868953961708033948847543962688452051873075286398727352145623887477463947679292001423433921967873164367579147469617530599796582392131289637617914033631507375474326378901540235823892568361050227335169722505581967452426248054642057878372002433758526514161333133575272142710703223487651106373140829657388477712868008669670738066559462073984168425773622606195560778991098764193199893664577673664167258724215082898056870418095159456113235368527340084386258979239076814650738060231582418621720801973352462352813593484161342542126199493889428338522186827929975530135504952569738658130419644389397836019165720147536441198986861938770547530143969534222251636254310907052974250047566609302335398489545978616310743651251678812475891964460487261331695918665323843430551451461722702036924758306234913825444191716223179956147087559598565855354745657568212052627434774225733825898258496788995502900060725685877439087961315806568818474688742932553811067034136337163504303313917355473822621240201462089097263139377804724706817932401204873851524044670157654028516491785386301277192049612299728917996876951204736697425752133781669153006307233331104378427207416617313275496989573310014985296358813617608929740387032970051704223954237962323330271309299092929266771301093451528980147464789717874532641148885316578204538391550316991931603297397493395684851547604468915939980478548745201051280113187311168935497861657827705665507017623714781454316328061616911451752235985199706535386142658023821900513945009723851627767753220942150160955566299768150183720001495090108947767904496738409885752527929225874597111085331794863247541138053940637394471139769210787949752647908453550888492472969199826653957423535075472933242669847497210405056083685886243344104671732011018944480365832129769941331352916616543382778166014663155627611935566903551336261599009798243948199489943848913348539256170055518342968830650899909928669465415745205655695259513488857993273808506695967737196186639190425603515362401656433172327325577464056648995335933885636142286825694929129714023637613962298035075596134913245506771717940649390590027754545518434838239885707146379690295912582778016617820227344136007364907945871078835844111901892276796122300726643869852615549086661553732379902600124690172992428284012465423898967706773580498838626944996088154367677846601710756975859100715683582497634570803489894680588590983435995075817488396482706029918239790132425316131217231877335197055999225143682598196435619540753714985090776512922811915262376580343859160343366707397536509245832146983068359470391944702558961559344762396737979812374155488573531512822893322197443085759335602255974222701219553814654286835190265610222358436517464375222715802766150303909284404187930331389915390446687155762252489156424321083450986160980046255669914793096657802710656942604053198390445159175128435536755228888707982218870323145137913819798120506396094547422913003853151312211024663394616545147273178883085263924515885582144303525206665049277809370867041170695256016683442735141236080390035123406882660307230954792352255404562175703096933096956577796255269974866794813785217669194206425144205659549416009732376505842093045592403162173401491512056097948258456330140808493266758050601414437487121932494916731186775407448716186141246790818777119140977489643289557534990739622895673124393044633302640890008859199972376771389713655418194129951635818570928844648642255209833629985537917870045003396137229534999466714226532383507051500733462644581748955492892317938477883536989970279149559838078458801303844043832862775773602589156594866210492548657881348552572135430480082323753177706313372959460331846580088836759347356155913110389433634241986940971270222375282559558485443488216513534745129420326329806166281913788023194018586325621744850094551976135315186055544359705409480192312492972116845499694233812919227595972925281479200266818229160200597160760364470205151940529624930056804806780405781741412654539698803173294542481550117729400584779901270755731932284984199021265295185429009107916560886518442258860548361667694616982279749662027337370638034137587065762459098810546533551210792997265266036120948575178054895016018870870874154004279065865119787494344166528978248094263454899076662038353801692167383633937772989932968095576900839419801162130392250479945687405702050134150494932816373972172719639572414396552005179070548623947205216621464267686489544583195252982709278267072448319875076028994910993007021860045136290925522407279389734517468882857609954249780497150812920725584521131748408646557480394766186282265023673649003804339055736674793675145273435020409953414635455151899880737395769176171336793767704664969469712831028174349125055112141460806562978506524192281647031062789961664654119684153034702462870007885834342465005142938350261947471926811501482046371909994205796419184183314214398151573837292563150794636472918811982057578590815448810273469974274866569721587128933376687522877158730531161468239684712156925414808898913732771889286189650360559470175551498934184786015403235677966393528284944229824533254302391078026437008378839678414401321053598660970815127521097367422179918816064231928767888060711951414802534500967035197189242897251617423900192580484845200961492336388148340287994084021047010441488108112782858863349733381412542611890212707546493209395973745532105611570664467740908899545384307381440756270397753994911798091180988157180249492995552984102415798552360749500893177396373133496720961367759501381096662856667570333482174795117706976263380149047429707470484078113873032413906701451731480765214967893227518369827102443527063885963471576976935619654630447825907469680878012553818125506415280658401277279870240959336371812797969990234546307471818779563558157345777484186902415292328311485949406229399001255046223912218053844629454663775820516095007385687425024
96400210988174011214739635142733378837717499635505183016521054562595360195290844583708633521604190094345084995473496566143335256674735097902431648651522841397575637105419209556856259320883708844654812802574954435153739374908711351473785847634386512865268393596856305188895934310828050640483796208235768117461439255653836791623542597337485435825477233735585474013561948045645808926879266756543113084622970320366710249848151198126277867003737642214142517187992293704522101427119453411082728381557646838474694002005326798235013539390480955193377315031939774260905400990091085887175954708527043009581575805187228975498233328939126527463025029433928412772594116833404468663485456270890868221687631787687348808834603271790170086610108146639919008070463872693862186739209800996229495591896159860285033151752454167995847453542185810602284812365191909773120431277563240387524881205185439275677590683382410965333808477058138005811755636741338127235833758224623144281575465801314093446985872025421367062460170647584114042184589509102111055728063284029553673199420073545373180611505163316349890646322473430576178307077893001558630881367718320751800235058783618544966137496591342938155731510786226093624985343647232964811511315546598805909765954136320661789090993746689518325402435103946693188061073379512691415223153438487460803916089220378285832783223048015602306272863536609331073224805248619452327248581877292421955870003908152163963620533414110973377963538031373837931620613346994184407760152414464646124910810151601435134064711200627218586758758439849072250042793056909467589897055444297610926672283419001533826033223512894718050922705822988901384737727195319007807627667294976429284161572455476004271867158251277647553810310066574885592358846331045435798455958677211373943819360462021844784919790120375645486808035450257448472713732754273461760236260686929981561854460962371660689397976824873357931998948781350493569411664023892286351597749483177169891326531682615498267593777124670215174918746558675429114903119621444925538060315873587216900784773902809630055127506855499548167010231693559518747777533877247472243202890995047663260005141352149877738871115969371306500865403233735233377743892079850550712555618178170456376848076529320982242550725548314470854878352307541152222464575495275994724772412750437570068576657605054890909283684034266754674331088050982770684310871622716764177025909407454147579769197920615130761704040306700445441296254506953945649684774736140961126957446811259451594978955618805114644901776052339676197282717349545406747534579913172745484176743093293998970507271543258268648613808792854649914502710341214226609576629103217765602801021203816410527689484552417286449914738474507091898371532506558022898075403560637008535717257800908696240268392111888601396406693334182968158029546692073211256071253054929222936549132038761654479797192717431913876792811667814893436724043756319434867951669116748351810578783510310140432714259045197599135998243900220071771013790211778583952613378148264055131536763266828952342220009675509839715823618616079270790098457139119977873295143858336077215636904544471039193407739281168577218059929610272321601399399677915051471382282756711638522102349090306070003064054933264673984269218852103398708871899309489327479468900090171664022495480830276230893298688321202155035871106257833784978233931944011342494038891397491170018193946746767911059844721060469195810732818357600267336105334495826943415264023583167637193613808531072809312724769413371413806965806918167625958494516765714174411708493308717692486756479675585234330537188668667438073268619820930620096872134865851718685582915060031014145836683490270222516551972378421047025332903992557804140245903721703677985720949009203763115513083890132978933663200698621454113527412221333611226815942745001866411552090954877207779445493092247450738131019247211454267737127962195095923270061676203416405999426935839182732398632287447046081254741575389498779697621263554694833007791999011710606229894045284352697313561322545088048226268669948188373612324575584559016638988087655094518986765862926891450933862826769899570237361950706762908989852176586183104716391836299312306323341665984355373449510620780625935030502985702281587550951337933497897321894781061657245385089074030383662049131151330493644628514052700750286728536219317691904060764892466285002614556681456535236698119180137984806809872450750669544902740778296981505499869075567200399358163959227469187904459777493243875166661937360328936681848177989799278488655638666446844809798244376528245261688607175440001343938166878985374798877406444611582186087808757470854886037175599175788848890588109480731579773143106358819379752843271289868339030730885759413686571789098312200868773206400396624837376329255248836839828742883563654888276376618550320601812587272252073691391705458047053293197922338581235309303114213966030847073510775279604478800227453783765483864734662994210777188161479833817177575647367735543977654513109715679674769457795277864619739996385079903091076144519139963288281938175957020209363126167560486509813896200838746308038148364415064499892424258936262867503178562099637102757667953297882026195034701905144544212673899435917414426320699832796852276729420720050093813803484760554884699932864733702227039417434594468276780189690737413051875836383183364628193208050406106659272295750472777709366687501552811532206543898041385533098055359271838106318095089472494167384651864187957386372929789939391032790449384672741807501978508498801831049387993329800316424841224309546225826333108150601718121459094982321600967011451720202254033831085301946926298365034506968604916599069248105419543500654233030099726572606944830971281832258565788001851968608448460851783392332124691749033952425906420387479964357615817166858847915712964424843701237635642752102131895435921780475632601285692523349737888394940507819447035087356280307496761672605910672327704165625850807900197355898482872526838867773900585797072222293566637475788773255095853537520584127222155206439247880362475616082211027245774232480264597212577554944316908654583395216999228760883630661928995259485517829070840581033016498849162452667182157239837549335509008420843081836634028000851055132124793273890237134322271170418564588698708789976895556173057397083214772592192749664019879248427771535063820757939915382672020170121508015716794768486521749717922638897256041298549989408962773699822771174550249403130811318337798690179566102998477928585486981867922827967878056566366203571103846351189912554692054923777401284054973142873498821418998435066016844360471547170320022138073329910270133385109758181322328237829001177463426723421668272412840300962462046940926097369200667605359497282099913534434080368616766212246818667002950590783482232465372154274281370033765469757207721885787746628611627312882595011507987029858602669495052584852965058965999876311012893568986282093016412092672708558800678547839585748401543207100865801757815932347311582197119665010845946861228835106814237609351832657504157762208997446160336515543757689390685795700908209929799128399587511672616349010896812737363346965077745042811147662798142772444556715862610340668582656527186170080609252000319920484912243025370747062080653956821134856655574149363097560460607185701909871175008353798205105188505458447039257627313767944395721019549480211296672463443712468082120622404857544751966695790798776783376557779334542230150640215278348004929814356298883376105511174627219542361278507493583754932998333120525195979169420015848771781527559709125529652921665588987128307929480135995847058939892162143258053803746197132016292069128863731063045136978079333188069383166770266671525628089228762372361511997762471609070069536423305243681432793597798599304252702336100627994760645791295685777489644085732728892354270198936673450729453994891274136502177341673996279688773975321064490438039335035431970883403453077968271381190486479328664591867709470871591200568721080348950183460446787783754929928520770484112681215693716988724861385716321579999880801544392538013119787384120285038770942344028390675096129926737259345364663078051621806269249896031287531521438635996512983390566505643579036611144000196948509528519304582605608115062835377775552821411659542347606570278945968435371258178533147094526720950370655121031572245519267155623708390417631010997345699815878840811703939997255524966028859798534114568975756305990094381763465816471846031371621667817429020862643254807956248048474587601487239133003776
103508938380426805231110991523253038538893788055346670373613139260444664230028587673811828842034826477944823648474743946588481443945438238738575532458413276099895573763534902354217071589022674826744591349015383471918865836835099560020967904224332259444952751190238409799425785053092694045077439583075357480484092036030953029236170549806849155436682870621721880575226606831524966135102826514953166178121334504088415812551449590503894979247422670768472785001386196340237278234668244971498990587310275677491651315555059254052943418449830869066599230962617631473052817150551808486636967817675215514434570681856003901657124363392689702564934587662039981415870104220368818312481716013778598949298514113951794651722294231368344974066975498210406106937850599192411377993987744040368475719442542306978036656263148934820263669192141853223015832996498915309833758051637404009051432790639131826107295056300436439435124283023067256404037098036925816938948217716881856653514010243152616294673057530806513038219505558488227805079294084194565327228016318581323030967045225510823145710478989444715420604782831513538403066391048941570399165502501484442255035675647069797792166493824782349024854348445878079845286534861046736189639976151644558853774075007433292038305666927542997368399036202553351942517071953915801511330850140073397964725367982435718600086016912175112400796031135501993921984279949697424223740937206337309332273505503226433003844981191920463893270010731300713966578704651200280483380745808025273113676265129498241481868327538594699629393051535178937122468732694980507532844948284989247155247427848563663189162612099335262079963471033391524104604412960316235705232372594173137216582661119050963615106434386423511614857420480889679088530708122032434061108997453737567891982673629004818347204663137549325150182627922216093992677657637422130625230333220923691362511977736273742314543281097849247914909419230569856148520350735889283126694872844361711714270831908485354200514982340892872240389733981705878281818781245620463862781064988121691698132270161830410900157829763596589280021422805305206712800845171577492945806043779095652915735706724835236044712467761868274775502275646686367820084407686677883969503969164076302812989285063484700954588026462770580061311921304813845742410767067683349959191508451535693283561305420675110185055281428393263666576788463766845187145683479205738202817658862418575618666564074298297706070605587086055709749925238664950285889395050213114321572384509504707292832413047750852499345945319278723387639728770577330611919687339043865363267699267372900622846599952121428281844606124826989966079584254719026054516145601060527907556028016448508401134109648932360761861935934100222355893071943266903468413249908734476147044617539425932358487725595766478948186669946454261779736565711039856195631278329165276026792901300916777582395208858494859801878424870288045773113703327566241521763624341261844222084565502061532993918757777998968536707578466219173864819257431148483017416218219718788990572844113181117983944385398279583426416093915109311946750238508144506796511568656792177154522811207294222738705114751478396953604514561045411733001192362669519883935896088475302988750840626909980323361683932879809318634578357312689566263358146915410996338259334094687000629474618457834583215682974815099820947027062184262571352702384254604766238028376080077919229681565633442926067443948239408605629415159950395312357362917679342611050382123769434458041131923740878948249280319892831850550249425945125434423650726016518295482004561594330231800998330681817777538419860927106606198493488488597400266542785633619734992681719794770625520482536953434977808385012403433272970726540185899042982388470670495587896657744153441395314941392056400402785100119815874425391226672534643431188228075297870924144276812903754777128793461449178014910946957479933819132648130648765340506960068799153726809349221042695037755011327428683562698518427807353930158298023990402753757161987231440343693432195510359463872783234405415163143073686384221769778090858668190264761593418753053071709252609520054405175732374981707992843481133900077695034309873578018340056161573006733005737271614209240494151878705864361595341357771505413752778574182527954422970576017353224507122601124751855184708433660044824272803828481356535739040421472980242540536238702471912717211198860098527121772510225850744378148320066476374086365118785887780535409695452960719591380363398871964396724333379220229826198279892612653337712748170325843730678293068769595562745117699988851180854804882388576435045602618647858143605870259548226595228015831199409929352172869059667304415246640453106552419320016185234744719302366603300910063070707373328448476990157133365057882290927282690346276328163148955447642276110231424658419844392846513173478775025163867126193177342916994198480863543924838561173184330024984212235776976521932376623065525557840656052233162766319429181338474098563302073132607502613161740198972148258026015386684392592672943624690124269101530755337538868947092452886123307323825206424969498526415374966807235265790666147286389648049192139427572071191096333275066561612453093818160414662143472340566926177886565116697514535679481501847423787185074000958409981103004470104354405149815606856710703534166196118865067820097725598385795362567179604868862333257036454536905065581351780089200001928922755318686919689189819027329795918332317518760110697345575639085116957402258177642878342376873458576997660932078187431468231287324302979885509698041639625313786175100525305131082818777216355513269342187707243576919039998937905895197147240012083394800040369335410553884452491163021724923639821367060327311972249377874475846187374468833105848151626192164986493335603180314045466315721984680163523692801395815993531711556236681978786681809952496054522935693943927689233336858364235124710150207091853237539322126089931755226853752437161358486215396531499148026631518882414158379727454837642834588416821825227704788800193233649039072214204438308964984573174564248538349167637002347791320675559352613658339587371055932813760740413627696304449438681966728407333215371044590691610939696393592799173834454957975687199430670227410309048691246100885489892236525529834796399728450347844384931161362594624752342753109200823309706886251183820092316466584540314706857039467225395912931231058318426371882148375582957793739780433050378924394183160370580546930797696207173772588655551872613738218194962157560263122531839118384393467597867145224474392357674542401276875546812164927824721128978700003225772285647920930486878336832558761459234255237103607209353651046189811959454013217524387727503297125611943492025776142953813123608038407126256596418787405003708705536262761158909719470213704996780729733801358960713769276274549274277085321056444530454741855299298542776265509886984008718492434886921435937474222420261173961375628281200365533979982322051122947051836394948060893078087607293397958659685454862939764661196655014706765782924288985954319834836255411281643178047187051541526653758733220380414886784539786597428081383295630976369439180939584402953121027442264074999778986214764297035266961768960590745321114266383849927605274099160005004636305992864226681122614709942582735334726904380812858922639723075425359058493022522077571217714786880139884357797412928192065326198540329594496028625146810037978889007006562138347525665401000351598028824060880406976219520726054520099858913748925422809585096613231463444451608158289318526627993792335768630839052839569120857131468345355654494196138637073461878233664595948877491155316543005651993924579741594742244023160233639079544373172751234061354520042802324850336767274126062962017079875360184271111407845994208459266122731115790401593427563293749350639758255363752970052588581725472697373973737595106611478618062998643373011872878820507978722238320584970771584570914584691829044260515035836065926966472243761698614356249933955737205481008410161132326473954765769869936030442081721496513350069509104813220098446210679879633931632858060738196576436317503492929822350675879711262309922875851218252899278572602764421719018476445035164287016118967908425468584163042848659012537498127851855233698121738504330096770733144451149070901571867324320805699632945241960873793099005737421769990000705731381144491633742822692504771131243507254030878858210696164629080639702371101365956718292703517002387773306067406856122340129202372126271440208335851588621878791711491765544108868693259395653041127424
111141876296903083747345857584626256014294110928817346799290133619875864821418451301022630133622282453951970715671606383142874643012128610942505551383667875225317479582384510741478932539935785245827621497226398453197615783654606188798511555727291825438464794656824761132894916595539686145035388199181133870547033385751749226070371092924689059851443382010923666069553986032612477839443539369721375926671110603734031051839435577151705274121569765809891449861748256986788499724488181390576154167377366659892721428336088895874886858695116649843075435730798331432435538735571981450940257450379885346062074252592989334716437336544105469498090342596926705206402468252648912927568719719284641967984270065204343837413740949454124748315906969611750189044186757016352719965617861319550376751093947639891765007234854561257567024319302999946421299302540130938802424507139832367303797954434271532740897813458213314475135877319880469965946474609835546032716355932873840355650669368037373730614370276785121500737593610749288405953357694595482145344967105815274883603763624330482576216587486040045482881106700633231405602553917987795069824374733820467734544679554357104936672023991106535844951729434608694734695601744339909065510837896383329223326724582394236551535004676316493832771981091971669572072223990936796657198343696873065824522104276531728452407086356173752996635749523394702109428314452514740534101378019402086881687575865908388058562309118258372963685882647126402506976493371737072955536843690389410591176912265655038013533760939120103176796619168309032112260888426876805802762674680710026060862184349425143492853120148144713493258011240764979998217909170459194542950134093115076126735749596743662821042016812214702197822192167085441167293620018962720335934902388787531765661310958804332956916200298617775276726168838313638885853150755653169195501078412762399328396656196393959036123684372949373933183036599412753900329856300273501126509775859353012451843329883414465296547018878038102427995039436391652377842084212129508879748626433008323577918201156824560578604950018245690573709049282043609532499823643271210232976914597590019432212976040653652450120110690169639005181003969023800139072335743453131633875552225475044657595445836522018599073888702695550728571094214775278707910771188493451639612615850063350907395665298216780121502235421756308318663088681147170261971427532689035409159914966343086436268964956949925699011267915862372302752499309627739044840200503472400960365654691264929745191977312213399460202674134126598814635741424984980504293681224934666411165482011632442002946044304789175072833013465033303890607990926823687643279689615132307569862112904576523412713062563060632697067664726051916551222204217326629449005969342772389949812179846165592523503232362809785783883556480791781375947826306067792128194829624609595878472082713098353633523341848581228658293218546470049673818597970335845652403009697037291076624942444431026197126507884362799546723006256941298129384158904446926569953513918422885257808804442954756066439647092107686370240186463364773769088591968170121583266728566645262286828453155327740828119505311381720641559354839411459741023701281667639789381597365113937210093979096271625756210484317801860030562889354851851033225387041034213376917899898375854608764981224984619372472287222783711344485734245127091517459180805398688202099514206695980835055802959222428722835554412000344184889824901898389212211644599058979182310159857473186310425536458822160265256383857369032755735120222269271907866843119291900608720218537142616491152346752607250184089729171549697778382020104381869575763855736820283849973438696463893917107983868588528676137374845712325066381877813864416537491764196374308435532109609711041499682570224759738479360808082673715549674527640964798740993666500898345269407241424248184390842984174215714085031179383691754582354775701752995600063924388967568812280668332855362551714814727853935918530725538771480529581739529015050811313837965233351464784572782427617981634424374067090032750501512984598247902035353824108825664156242598299010785895694622822981592625920848711106871138379223457658007855626236870818757355189838958661861340487824454205845299574661559115977379396212798188783151310866874713109293791203506934559322723315508533412690466319525536439856387754916678758450162126572341437774882491584869747148857268913331445485242963630220350722930714143164400016175135810931402502982946549254401286073687622593801845347788013271281344037556434520315374208458334121717475156867222975284249126280713846595592073580015538129282878926127616808621069594666240325439414492930525266313234787440336275990181129990816061072287018443476663078091124145003591981496376007937218773433350426008508396637559167296037936209922129006046154050111514974850300676171187606931128320805096586972300416539166831274260450748960275579630522409244513617246288827864846079905337883994443530881475461996709655809199939968115747468387373731941053328258477395771276400750565014788735523023945467491744474428226720814148009858580104294796635803923268492118556898503540250687194671162340671071057609515423551612185629450481863587163766070754687963926275740653880508317268893497562113806999547167912186953089183364060881249345551610002969327998002969991457453098857739811898731035435742262255368293624751467491522516306183528949520432160280738624492771965037650992594432012189364635000918897897650740635478609750345041219173094430997381180211953840602829653912892943173083278573660505465161150902494344919359235101339998421424489605424928909739211450279683908926096293334308788545138649337717087140206372707461443837395916742303102726828271135282513701529365994100084381804938129174907935890224979394136141407106289534402970604071820773883707378838548175786413210863112168235453483610341033526014466936260421850058670761508279906443479171144154676784230815777011391361310892803481923122082443306798728615168656561327660693819942073441980248241071496967538903004955259854254250777389246547592298763538087732318086630756369207436670809735033544011495648672861355204962105468909711319117086857599606151110867402581648290255594543751887959662554098178700740622657721170139611522040034345443401197673932023610361827380704913059381187864344143315910677754176055996654963202866388948706637145211731215719367714874702864778584826672925223124277505354440309837082164765167623543023750170168321606391672400392320100488648464304213975426890921863168654669732315107272433048610575032218767023000023491421123556312372278655091354991344417320928598612446617800247641708757953456678027116419090861569179681950939135395356943561166196304744843012605221668525321312686330750912051098032620329801356130740656116908912247185675310044076035275577273041254872422905624155546964622194462540153874034772357085298069158212883241129352494340243380225969565684256368202721534512927485668772659802065397922400197966928174415694233261115288596734761887008827289127255570802612909444038378189989516897914109681701760136459626639421723713543382791380840951518663980660654412785245461693181813320293935797822523999135390628835158498610682579935488255111872028725339856742011290998612698099416905409154963252020641527315653400165740938062686302979721509218916851727589742249851149862114611321220694128651588798976376452668805490462779998129245679575679636355346136721348077960961555876774810398612553854483808949508784351704815232508272808799584735467172191429861527535106320707374093034792423614853594498534624043285430119107246391327203212786228940442385311959313928132979129080921458370728105653452184263214265815170173387205907281167511891427656339446577159289730261403126356241127507183626850775062064522936916239273567765732484488636322716130341008619418222905875554749596033333897549683839663482121340530571133467146483510695963510244863280758560863205679769363707603263267904544083515206995880462145758042793405230693862058891517152389885512802277840767685754358133507678691232909356090200353996726254143985232986754127819093821302238238203756312470133978453286976043624838554810686713975385999042015812639490164662830608697618884114387793093045680347098002990227605613923141709284076052108196236240414967500875690430004703516340232282285759101287902221473073474754595189963235925033085716366371819533300444125654367758384758664083163946867100347217538190276118633329517110763505571258204661640237358860064955327704642907057478150711989454528405477289360153780119213250096311809125276839993634051307262181376
119337680977819082694099896281760830491079128741166672115110349978209233746927282167215211944952953289149585044639816022845873071791191828835992269872825268154636801505872302832903181483003602892727238696013484016087186603992486235162202166331699971226586788374604473067198894145622652865757826269536825988549351505405978825191388609673829125757733986033137965130289807829127845440483685107860440559293528547759119712474714111741364745745714318083965682616558121285815027596395437352760096186584974973709998350785477376082847091448924811495273132131182173368419868124355713046426758549800487584391562825202633097870973948522569663267255888976808977242632882739701336598464816996729459441890379743121111084707789649730363711580262877765233219816649905075383367363243739700233068392606809334217878921447725932979419750494860761571142308185559368027428547665918624629123017977721723603676487337620233712065617999561288687283212585533934507537204823693997178905361158434057376969679558581606641216263601108976686939710410749919387940902138089418094260582092847253463140187017666316212973831720283876547844465770062958561488011431486351903513823152034190905002061623529982491576479851155071228610691251501745115635995742574630958923447340601045625841932665920996601689285337953787172242642129247765035511417252290859388794894428174201378502360282094603519203533135556856958114914205957488738887972747835466304157749689908398852010900512610290577089300365396575451786399112718092874763699201443321616998455216082812413071441077156350772540121796342813503135893579103335192085952178550784200997677696835976006925477840191960054882208268692271492778610014542155182466118123322185967682220098938014804977906640712586079817506409445164834362814540702723945921508634836198681506519116595137753328262514323787194704454061276982847701373289888522012203357940528886523533489000619816951798028726748210957026674007844112207701803294105513560798444661485052871049936969191251155315499096951867065642534222307383104802558096685893541788765486807672971165736095432927713723669774408019961076753961021407395746970147918404354602244097229908533469339805250359750934054036671544647054844596651850854660738983449115761619069635635588833717127989466600358066731521966405314355980455615848655509940474685179606575573440796258332918859076747000789435068751881834027777587678081968717009527758434833344505031953403646124239869098187467494696720833808530742169324548829278429283002734677124174140842369775152962531834288949382633013638634734454714858143218893255732139284737110135902993156358621009407493817498985409140778159052725361419940247720646743116896501395269506021931392752538653934196745228585086838774743473774371445196405118985612787508347784508996507201550598445437882722227123587139209152636399739292388298819448746712413387380758188497542766453496425441094921856380623071140271716833208917379898136586429791108803393677615186508316634189464178388711094400134506093463044733961091562114372734778766684646415949629976776020062335925837543728253971854596003167601637131273401364168539557494736291118585009662589488817594466100163754584308123020696681926391869532887868829356641408949309225572186851032907787780326248567038918824759319964859809292562588809778191711684546039117737025335131504765174117327840739576944129072043676576517604630342026357771548643534576517329613013811655475301861011220088238567438646392497053711393829204997495382054345833336990791739579094839100048145733474207254836713430655581072258774448318693437504904080030334948033957757750124779342400664024985568288841580325781399208658035683659030810788652126275541268222417493323804698031404020823086192050141406870496057798564403911101662171273192844126306833782899061812808858374141611556591860424804018131164689915547960119947443041122286888155102805680603336512074724825514611123869648316380419017975077111141493076612690008122813343758415659156114459559493707948758742296640043872223013582958977521581592800213230107387430858946464585679575345328600855550137743231466842206609535614127583985643129135348484079138643316618056940284384581201774691940875056263799129296123106444239928984895974953549739847594970481679250788803427123526667873378895629548619367917228998189075633449826718728691110375817137441460154107206053337916311509864086015499618120332494881504763347184827900002693106032803438659004191881344851478460907159343629703940005233519829077203262431074468690926676936707146290092404518299815735241837164057370504779994957832607907854359787609298123296416575323060021665607223445748093859277746230111428528861846191407869558259670519131257304729258476006438964155064492606719940664252859035020273114903018077666597340763693024152347763273368428853552845324928247200368921599237433696915304477951725492499075974980484317312424765559321557791812486730724760852724660638250772404415134377775078513374868023262421855316807246896494202713675790375589707826982539522055104529829641009504073661165528262398220209350066648009843855145325201941118416914485516292522049111521783235605173437168276666769108908446974179230285659656931872265221431250170640440626338392748513887000405167521451710937045515296648609678631472402534083632423277743248065890838982179997186679719691392010724931660629977356044790108761961862145560365274182531467965505388408212251024091195671244853014872753048100642730120044555591605463755921012198616586980899104693271564889721546319669188030102186063370207664056023412687572153718405919394787239582349494924102623983524063397918008957634749177452147198003462613712266944993110513756515204419760391687479672776737141892134367333469115639051053032671482763961583564797017185133032068597842673146679027413262114845233145022155378788233886541956407434458664750983524836361719780775955449854673837730684958921686600267925178527957096291451650477369457847170678130332809588430450569416188629071801069879153684132577354618658464132187363789530255035330129511933829918340900868335690503499741754300933389467347545997457682714331015171246087098358372410485279732451874248087614774061330836887904977067488723102226912045429370375402391070161344105523511612599981251709261877073211186323397256909120810326682679099043690754192328283400973831731235754141376968747545007743339352845221982974438088098638498077707009205797141764251362296275385485383027930510580493068707281446504783593746432819615768831663983036844028665604381607708100290544693356805604861161037090400189684704493615025457926532999500783437670307095175721365559484213324250154058395037658866391066847892300499468770460060241719080569816705294970123022493881741265752393525710431647187398787590948385706286701896469895120351595409582748564420389689495054569926532678149085874078491722511486683808263033964257984260635457511098553090564493946762710121547272361617645831629262767211842603687758093626301240877605822231989710041721815577201179332483799022970549674097660248071398252144383672762540117528474764707758729352388594123721162414845117924966507352932648410171671925404125341547475641937545832637671794217678382326159168598159906839692852147115408756757970081627335779264956961374398796178126812798065901025445179926829241350461516540877615319190055505645764577146899817301262808320752595678319760967045037381444291257098558020244447617510863785199252875230719999302012843731709798779846072994533664968697061801006104154660410645011675599913086013822185817336416940810069364303078960947976684642971284830264828905523712393593572049812932547391552688714751991841088958515745584592194171774002750982109924613280050311725664372402460227567781879201668843174729147655685067843221681962530909572493515346989693052822033379920597686590954874063974279692821087765202590880072425870426576337013844481793398473843108095103956026656623590839159570620576610761309279960607368927762185712321244873481082716486721330569632025822122026691494247910349194731660987576368232718573045334401629667493160100676462143318221770435930356900834957236625890538153250262696262345044002941712195341171447786603195603548809056452526037721547950726956497253715436311300368423835128082786011565085827373599061470531213962837484443427046473974737161554345373672050718069721290985439572594682214374815365193866641472880418149879669016991652751435087352717439574729767884847615490206030454842061772459744000119412412392781216738684991622895550416504716946648354891293495348705892048101008292559062385638455574095156996268147312785698972603382017602914598679720774639169279076885069824
128137859245053565393969656671788692063246119422871126404888525146880742897068054349588334674320371658878274854674677479394953422977557261428254136703147651461648833306441273154881829300963313568608621611940899856028301087199257852437955889933750916125582815443649802189733015170703788903797635520927587172115583799431761564266378754844001330555434672270012083122645775907057213092455035489955706183579413494266948312706955084219712798346299532082393497206108209751444253057963972728430357113799195359265725676209390310505930211085463329933790740272728554108891373197685162151290864407670370374953950598143668432110750084143106055403649137704700364924079122075305030374473568201894491815669398353431513269000760565509801839855601384771130561231322614645068994371871403622309468080994383569343330926526433963929423917357976696755427447754732646286058410800474406644845872843783714866635444619809253565299627478536169314874042286170962852019540055254790948728696813635737751668079321926929167790064457519561050608121634470407651460627865957631659629961347675547286902461176050150593879294535606667402273339944252965720648553548577006523984804480478621452701124371409484719193394110878494687858364610288326539646084988688318701961331423864915986598738316391193530995654720030955866031616730437738977153453933299855538652155105195203977896438717601414123266420696217258845913399581108305624953031589923145641316880935777678576277690384292708405413877985224785408954752241681906641150177949545095585654550708899073135461170584494384811691039490787289100148964091496303413633760656973892704609629069964779906496399208199295699464362411573521687359307545199160230512222491935420900606312061403164479635981756100444837100258919209342117229386362707865051462238042400769913507204904143731880789950662880849389029803644679755332107586763589782382047383813988370140467867404609459384369735444663021621734606565835927349558401117102062579228456867186023218497596116384445820350571295831450583268542427842751023617481890601479686630089276513118713254996881412789872993803015546535873234962802106350880156441569099457294880156371452875336080533970565326055624116885050267238226105065245502629659380777276559369068009023750372553629461707451320255549625418114504108959883839721312378675191135419890576532058620166530434763494989065280614177450651211003901451173659783657911712750160720449340464853386825913997691847659009046441696367354912372665856964257907926485262186368529203361816481719018855211867935407482253152045986964536643161177182601107675671125691015679997813367758768022920765923570870083711360205413280635441742105871558579076413995894627375224367567597656971234905809189196604248081464386982662589760018704070702548904216937765365048854052222075203096036672862237022728277377469302264860933481290651943969500754008233879820287389569783263030601265951207596254662637113088101246720557126112514257553105538384792598331540093964136028485756031510236610418134124129236977198935695876857221176442675456818383388561421193170709532930455180074398575224290359558719629423446415907880551015624664468574166462286231485322695996546043365790259245002391839731013048264306144892959161211405907353096890692075052417451449754977885008580068187534088303742773224603925846576654254304335678313206422748417185721694856977495907604694936088363894293125249699215813541996785066286664264142510207192781942010720348719185570806366697979752918480606958610162214060499393659790284804272214487678413154762405501197421136307012276142307624883345715836813822432927016745569116798706809528999185668137317306047033811576635827229134736848406212568578007928411796971009879084008962599514549161133133671052568885439967636979032589214678486755928386089714858638774130154008488427074423436082481270685845394314872658671626275110751330338944081479008587966960913058446140286794486121468840194244848083857717498165481510868364415738700245212448640560185010489423510489540229778800761539343147841198018818126221284437895885159063602578991510838561762006365423868598861346445107626106312197457643290856624170769287223670881970396814178937069669761633283068794302260031060441984335641872672596882812938682105618224437324923230617066597675004056436377162856789172545541230767534372353451679753987515218646852119094392519254895548679953657710375452231829264540537588461094582374474981300583887768059191275014321212399491711165968287601089121206009127213524467821492574292026502344278663811358651556025085526422471317645948246446272504733987501656364204699860366268071226251215856924708618170213123344984086559728968991825755373569738987439812888851023113793317822194614009116529567129173983746006636457477547931374128213818705892545157300729417941219466827421228061019578328818047019350878199066804902203671253514263256155690123595274437745634438309665902151768224201559968372483496388530925572039997317864694339187057067273585332711139060024427207992902527337957771308402563536166369941146810105388370232282391015581941202417155655710978933267405424829577752130285514342573222978947131320670261414783113303186210503062487629840241077242769793871354448823777966288288271017674317144933313509119229464000765643379243397811001302609181646715784093781954101633616253675540350725243974694815683560180875358230357079227311678610540111607011447350679324831262278993753548382383352826801368985769143860611436380082199849741648518438068824381525257833320370612023971997382081032040888170070506364462293817325858466465209554263355826721076944885284693039255273780772120740619074307579968205100727105163216920691810150474497727477406384613468861810216883503807166833725144473941603312421409495760672202793571422124087535986740714329550958437262064984018114841345636831489163074169325447162807142325555751744334521187254540069698021450025688561936843328040869888134287565726930791381152390712157174980460694526001291546776993707615107737193936376833466569333163710333437105121768144820557704300060303825129952169948165527291094792044062509172142481234111600499055169745445913854186197705740985073107447360223999309961260667465573615123512643216063001546903010056128121636353594156463833798285251576105965582253560740088424510195981116530295725013849166098406217825750565459366156425777660294579972136427320575008241683870098090104792842577617802217414371933835746487560817378297748749375949926413113702451404760674569769227698604473234101085966542914334769852548065544388998457132977046318723177952562000587875193789000470800880162297793105851014120659571611359713985463850942090248379888516414561809293855708624822403093326466637948489091677919676973609706985043756662109772678322044003293485558123811561259844347615021576395407522494130727989213532892450743831404410365674021298385572823995616360556318826578007547041460639223556920033951261093429927788118625839601495441331271684602501921067468753383836316396382409429498358455607111412256813373815905348227268896475641487922436147868944668198865795279685006756067811200042598716041598248632744047313653088431166313017481357809478369591356419972443436642639284259508604911741413721878664206015336986875121983964407888416266987644510311706112877101824239264977906641816144180772012408101233597472401293325554940300925774324685309687269136373577395998942328100177048784258636427102110698569220535389985687477712883821997699913045980544896856387719452893686041653019310159047426563853059946971217950323011173735147649903916793308492344305254478016776153272087792064954620748567967441557052225172226172682019427083976462956996719968866162787029620548501822765815844524083450835232906836085198608147567514403625709780608715544594826795838500748247396848705927737258468744827535170352228379142035766455874482672713661094731806216619734180484087133178468463115175866087213678075636109068887985194741970586254893029204460336293524974552744402226985495327033265543650415060404490301719036766532828104859349890965494897100374595095787746619234024368095633456856224385136555673514106216683312061012528595963888350065078895418308673732643108078011583279109303054277150627700717024395329855403361851489403280735502884275059580351000677385708056307929391388761856981691898402809767945476652589315840692298154340644119594493563173269886488481227844666718134501190820904218100529311706154925580125275772900618504477276381665039481598489261274101490865108093934954266592588465701734478897915267576799415054980567275072380291493273685226692671901022739321688731214935958081436149753628902591376371754563560779611111189118976
137586978709239078283824257755420159558564211630035470582919567507881596788772896929458112122327201825361864636431723123337259704782965844950418441879183105821747084321930203586205049898072993268241770511731241991613165404990514177923053604089008947842354305317519907820443121782411157661274633691127977622106388887626709825548474746101046824129019358116044994634149291128338866458249350444969773636764638294184406624199688329616148036852499843228495711975825533079890338912775813803711068304342123594790315588256704157930563867667610415768222268694749815145763717675147178586062816703628663077158618831256673556345816965355972172954559281375072143207046338057456688670662652160890591897709931568996149716537079306997766117405109327501079551358664030181445494622698935218858775349756689147502338631284103188645129844293179159323667549651831336255539183783442689456154527706156393062397059049124974455283325115323947290125684494606339628563703022570340018026641397816225125061742533702504119341705859694623998159320833010116785702890828978574924931221862502640304036899973261273814146636950495536003078317778314237730298652350210747589523343711152487391628835009408073573286842801365533128515351070308036904587195610213214690537272380529232021057288835940569239508274835160247888056287789809134167764643954241361225008867524183210195278577791741563305695447396307669413491188612260068023286528053693698420725237497972751452978130403737713673129228822768706135019661605451619264666305529469130904395065512073783820379476384570146865463033267293974994409267375313743716612540635798585873027836325547406392559993135244067519858220318799991886688740626959108749178454232784564128024744218724233827736349906826014766599414882784107642793903139494668599502917342769592025933548430917035827846352185631692317646146955800288386170925975775149722662622750859949269413104160415506927027076826749923901472754497923044717046323210000806267982907789277646317935959393621951140372398742628105345844628628293263869276902083501401255821140473046036447098953328562480695157094390609637785408741739705824236043182975754273313214724963689031893407725556448775510120564722543072276060340577172345001367260014503470609387373189210184346413636033896935002402000918963030282810080416890485605152478433294384313525944217292533572774468118173814461738736121901291138015299452396860291514479321628268428930328683463034466348776295314503558807767137837666386404999325388863408343329109572483014983761034241961085582983411544177747107607375181798542719514033294420095514923604436653452441508882368923817010252030636951268596481470623323095214496128418420356999331025709673744841278751494420083296027003922939941140071469805985505486205582992379821863096047877551582399142722281637508864289989681504590007661825117879109822543694492466957539978176357136832173880857656131149571119158739405137028478457312105350405026888249088131077317649789218394207217222182809810411639292802932741944737119169323625831624949525952053564984176444204216365241127987373997262935010203333181864330739778195450001735422983190278821641879725874816176494845405136620827928846303566732163161731098355493619811116114111774254516645028565689267460437289127609929091354307328775018065727226037437831349004581016063960894834097242340299507650400562109759392102435582784000611639083273034043496272491439002227528599210603793855996705809795602048853094787654378592109329101637013758690224365168080661199065299157255863218730576519044866220179569483353154994443985375433072711351416145206160047543172619265927389512490504888166513820421766661708314631969268912759998285367698176316675319339344302769822689683232733950533530812760854791801314937957893030836302098811605942870388093346659954699491635578475275169782404007550854032057364673650598849801413683743935448564356281275298955309062524081377277302594641208638029332977484164290542956920771318073431651966308683661870821413434940372732861522059244068646227843359324909623070961173104179969142452787482765177448928313075873368709835202477706455065778331701676811618069865754159604301946724268782582589260280951568424933766581395511589493073135630506731532574249931768279031324242672954974636750302741734117033014765394554797793856912500164191537276953490379314910425864097629806214678251796706667369094232665410201804229225364335352174777049915287017464054835917087164979598762884723721646620227955854950017390297320014897799547278743122776045283486048445091030439946813522896864547196843856348822157234120374821707522362737442221986871436897196432059662342604181529180194353617268110922427664994572931577537781493606822470596637414952529124735085959209716920783518545956840754881083254715559270380985202452121750663315095582762634559145334495961570675575253467826193544311591244771438680789941287975412565571969827836142607045137879423944085652740822118608704130470121039144684961185332606430222164905319428273954865526538758068641799659035097599168028065748534341340881598198212152165968144149922655022536632118180604005704722192653810972733294973406383824015394066040642561826677206273053642097282878376529283532147230558008093397157960323957529155168405645522078150724439318562329705542145929958660491929622447622455372360495937621400373323188233821235409715426877062917022420846152407783125062076042667198385883408051669149819646572550731485258020476790571811325454009418536594123608954589650528954602248019702717310616024193958912259385706311527712381352142639390072148196939336962661744517098045473057063250061270985633052380555736212452086406860825624192354131287572832201655385445250204111590647306218328973418260316341342113577610163806088628984438493667274265791705226068614419274983213373959221946141478787934705884754595492018790486208165960869834691652930445769335406718640680941707683350003127852833980231985887764154553859362047225232304038207030500655442211792110544851168471691129887001117738398813666024032405442727069924721782112399393939189211879992901238727461900966292366968512997788200760939414808239104711235140757960186940583955163876550902067652545398423942470708994450813876713379886459568757351703512172898517218292603654099626894301570160339557334854864139361532796283035772828867381655821162726325371214684483825583154676595636648037642078240671510502328036617931436200527797752284051201749955145362704322757248651335719482484389564619088996014425808170889344942879046096591812091528095170945303796168895148584264398310445860507984314182863354836654595806271048400651092974166764505039998414870264796624101668034540531625537271924780571629338773491602515305958295342352694479134486642226423998185899003846876787504609190497519443619433007764243317238160218426168957165585991133424057511688920067683330618343373219321884078987983431575409501846063750384107951085076969013559685079402778837387241148302724646864643127690487926321366578484892755302344366813129402835167846748428684048816902871440222462811910559936334360986924953754819569299712574665621368823062563763362128099487704167275313815386745377020345949053569177015321445397495941254859258781628584586068625611250419708261957539284442077188070986584401965678130192609200592395789796797285381325309126331225250939600097954355340387410927149811999972649613232068669738585074637445090559084546850764989463375731629047927899783406213391223331901628438632546146064469615936550348528447852929197397313901177637055442218837481371406858758330517145042391291564464359956009901129414075114139957100959795614748670082656319684844796130511640583888508514091661387576842826108309776227643891829747389776428037304851000190172914630404078895341833125442059150402664727707402848524695581354888216100989518108179238152422284533038947568682540055961493575166397847812493348128921353979645111765656533264557774682325711890726874687238706639678170102882510427462905565817358652993067773992175053515548285315787594358108873220021005190141615379491611875248528821412589771786174807859452874400227677049803777956584898831278722752791741482424515131228331870359998328709099208713291723238724156868318716510112823882093976022462010150248995328522928518763391514758027561365719911570810372979049417148993597055646958792833500666313697041642993556734308265658877926035962414788575692030601833185962209752472556158516831341818987971756897319883725582908601139650003576295044866298762620502738881131567708204043941819335537049205360664003267894590490927346209639370506510843014437703584746581014971071673548791975998648487582792078247158075434496538871418243252224
147732893477907533568552248217750988010783771416756299368402399661203920112009553070800352641824120812780177994763295237915126202575363270486763487346592055675027733186511139999343151515567909876981639942255717173860112924368213396100960108504306326008570376245886724979434462070900287545168599344443607309391696726253634439203141074296474905249700456914831356204541672544449592560973077393597056369606776180697813361025855887273556012944022400627879034553101551794973790224182079216681100450092898908703590357270386502764747712617914633548369340025718765738275160089533571003452829785931908111149748121194288876563324283151466370281471951899799191178723144678334161694237451419912205608686683345809107645611606498728437354827960236230422519444953593970216336352758946504755260642453985361440166126220656419980037807728194181290981401132767943931379973299104974376116930605066901516079163995643155675569323946112945514179409658487129274737472983648990059256118815085103182578423540756108246469476929059993654777761793837482207933639120780327096816313237192262204872495540595111373765246962690874531802982546138757265700495039257174901178398366991800954024547633996882078907212264739497232144499470232903787790769381555130170721086385854279675609259723197663570827907884598263899613706266098588333156330802137691737983895831590844225253816306230478320468899275807447821231039068456154201687751107000241679575435913906458447419387971819189096975517943873043255536001728100390012996337650553470368979927259533598661875947345333274951270159944996912254707396554073071750544088483556493291925541378966729938416627058464443743951721706502164779598369681053977001757231949410618485870258374546413783196130140057595146139390013573353938585866013080331900305787960946654953661743595005196042465092187546559901356161218893049031493186432997789077084858689132259497087093870706535005710688369342595281828551700904094246114882975999800763654600210482787599847440954497567783902339465164808387711362363946227153910678404208194890981281989288674010678509655501549319582766497513360947684102941136664938632413831152141203125702086169794874021784814672723178803385625093452344260861625394246484125364261855222986453989610751240459494425413508620817488568847977040324431731592418670421922165991086174541762335215197937340012094137837799089184928734984978694487583373922805941283928749215419592841265489501117264472201679498957704888743151949075321641992778361807705361423016344653772717682903287089753370892711673188070759533067303556698860192918503147362380448290248466770480443000667009700193630242075823936941899934249289357196938744168932909323192862325295981230785237122061346060507967145472687842192979479839802778320389521221288028075828735233564739341802659010900474758901985559917539198982077240530392354382844040225248706720001905777595964717258378625323710303226194412507928398699006136224052709757620056199710138312068574130408454110783467276487765084291074885063341537374914846742490187903693331411812146337669508504658964980404791274845449185581574730209068708937913364196239382251321018322611649445117014281231909414216976709572207400698592742756545751119756350351842168627920942671332655297860193782665495254023061436581455455583526903571898789319284559404544290671883835750383843222050843053890358337877200377500995814758464903275463877782962158738636526621128558677756257896234201326811113659105340905151078023037008008539169137360824816995735010401412217573407174280196130805393091596544590354279888994722846832283011095076736711145484932886957454416266700025501300828565260876184645076708896571514333417433167584750519740559003210026620077666977060297968552599148054042699947884147081354898127059260993001997466890306937924924066789520658775337099704068162172563781139029217318758747678071966561772397479750094842396546418847278337181962163041769983988562171756747197496443260514462418555050667921637472542136175036839890981149422595435308962329381895248227815867311366331442061942091280971865628650197695953727331321311522977047821848398902865861035483565290729014306469110290522467187676488822976879689536249189608297861079515431584017299687960064590537168747472435045463077309936338007498461791746058742413681348251127097222934699320721120033923052043791063932965142201715161657327094213852522610037931793481179356808505591827476369379327615374093953633885292183298447986750616910287000615485511101489564295108070459481451877077006806196906735984406870628014015063145102788073209359178283360179206296623909856286490844530796240707496597446033920571926785169051109927506459318881803519333689653092614929858833898422619826197773495806174714638631045045758712673526017423551237014141212158988226197950481227301160617769894190582147342783897531097084907806022371246152807503315032215545319403628755309766486213745736012761596984157791802786160940894454315327321742071989430128508234875060876070666470217513469004140446495318163168534923776148699337800023188997996813017383429805652185825432881062821244477392225306507094812553382394413862410275402060442384228549256002467809155322852859715379703271984711689220929975904148011026744734365788253603702904994773625829406395290432955718206679707988361201250086541479694876958093606192658286321075678551798761229775916160286414808243309715044500573643280179419828306412735519171876581845970757515176017378458242695576845701172661985031560363824530482279430983175983622857224381649572230448769414468078118900433223926870315896579954887639041452810854533075233950204157219871911457785458334421154771108349019866236851782653921381051389387406006299151641179919555094150170346975169687640838302846088386791410255806111519259446373509246395705021233097536169074070781195814320289599933155982433538935002962519088928393895111785499282877855099554951245595046788906407161503472470270142592478857644063995072961706982619397407716016255085238127443324926169489494050467097025192771382855181291595146309017898298264759569445146046883123084380434054128626048496812810650729275209691266520768613330348913644963595642795026676414966615494346530713770142274822770266735644492010259772231538667734257244864906413261998459206823150026968752079640596270242420116767250974517702233225555483565416905532413247380154366121929004905183825749289338671604862284476491412894347321240577303476388829699935281090052876106755473475124502640666483798858297578084828941132122767134572498622631856096402302332513688905619072740120656515092644074096768165068727759008226148107387357675406599820105090939906846090151967396850045429534075336497881781048866562796133467607578108828486621340593628527835924809499887470328498518459480611969994867395159602584781431112795337153065399154172148450574878081762354064502872535061418827431854089117403901559392059123858557712772010993323889011056990023524579524775704906422066494197793035449413458281760155007903522724911898054632148263895113810284344496366331211061974185433013550900980639975239995815613130767782597200478653451930481388755798065580938142596566305763246545393944447790441838610124727423696995589429387473894103983611052997140578314742158041828490782268132176615296576420909921674363260935866333706563592772958670736229098743923008088171931719475555370258107720745824695948738361941220386430236756621105753855581745839276708413486533923792499625365987411908267582164639434027008291039496771313493080156247880951031759920517181164407300421969280184674181089782726143775442158631000756729064329645728866323094047438316125627463532356554083711013776872144560310201487130156266851360683702191635731659757780792980450756992420612230646361530124245003615777398469247559189010072877702342568738064472382653378357404492712293812752227825437555836641156185163449128619861017607815001774653801179939906585002939540781430447647563112495118390688949139251334404083039914580482730926959651001977803689082428235046187562647930721850107431176124915881775527629415790020124398121431076173858465000543371970739247385194462081952684020972905591474962819320708422957676142105059749760766547954450863628650666478907457960950346753770623749434870298215688493558622229482407432383100028923160635040644834955697264666851395034269881133752884417677151858428143640546840146095191372850529837923000676182838794294690470959588295619665087622628311412832662975307744612976273561617564636901469505081630643221928694986509906265243218019233341709944720011098233461384170617664069872756454099998181457132476778809805991012449305353048591988517109854234733365906169483525976518689816576
158626986507766138797238520040628695044501098390626973047318440578198079217019421819665971785475450168710950831141803077009501565943464055515062794760130674044413829482269803659214074310234251947177881686108908432688682772257099499550679395056651786343180995422624684576804321792467292070873814247628083177525972773302406129379197803644416481533040544061364433063458292561888026592476063335494069227332398019022223711079473011562246420304682222347037579812406285081565631547506634646231656023609970243679002585564316464663601251846187473702517687384891474434844277008427779838480951752308056555066325284791728796704014667294547968700687087037730648769966899357930416059081451376727921570134269620239493999211351957514926006042709230249524760319499939584935490670008898652334338235823954078062063243231181850866675839259032516445565044402373918285609663367252272754085055105165958475903206877077010028201758132346191826407617189947187267980411362613988761983533099670197406489961515696002007705577718134796192309500263152570105514212940504424720252172768258164258546055049190460931949842021530159567933280487731193383566502181154950583478313211972397749419257917302696573718742023896558642885786292734911817918969646114357426067490691208742057094814846475994395079111002112521386804573861560927600668398312634708225892558392838349900123899583612856356212732443677768096353441814779371876545469752088458669468152103793027658712301733824796699187405520398971089630124593197664827666071294225157883518460115038927616486638964306108534070332656112724238737472562261734690712082560751343114315895272439211839390876809683366464776110633080027070394511448761195508320861438551233217986449454436741508227753326326817677269255191421637815814771753504483433159722922944102056643396046721196488114049541784393313407424620812285727996927444139099831596372771651121289643618859591655065751644945993503938804383158607064604891299360196574295603083335994572278064773372214519435850935815193245818831697410188573782158380562811916457989722873037169294767338435099845201234758618006087648336697267819847244484016092584128116949745859284560721738001442642191749055425418463223690583733493462422938970355667188840753401834096725086941240142461332700756294547013976445988076879243522047750489556097299636793654253988466065760502294141621665810166964053212783636020236517267947686592242557068603202542717749165182501592272228641074252146092789041309290973260000833035137492028928805490354566366277629095347436172488740275050992382101074835731521562265305452798623171529109070123339060223864228212111601689308056740354856617426312025100428534380219386190311709496944188226613105459714660358905039009311917185858913946677761062994002700906632514895503556481300869242951746534414311650089378212327519829106514559555990214030689354058987917207175903593112029490548655744437693291433687073064871453280470075696406829247289557042859272182492791999863987381932938222500285195290212494008502697875905239385961872661814414006755669153964177970976029556011964841791837926625674551606993336876320198426046368239166656623258452918848530807763999381424108103901580234132405845840576222746777226062370051902659410311716157810287667769192708455918065324979032305453007161794362721187080321190071740554814735314733556521374909241421963657725873421351407807955120224682980158576790864447001123367195135533145032580916914063833385283799082951638729512022070998591455044994318585145466710289071326673155073206303680568725367207872860544337294215711235932168182417439932696193114121202559282915319061755842613266036374516230338965458030521725146805778842760547697651175830886355838130749161613290498737162449172393859215925829027818284706282794654718015995742177779447362742536077736239112063651116008671496437116558029393136407147808758179304502742759869900247860283073744619201447072843455490796329541439491020146719220057306055678751548586597308834143213440439731738060530634169522719215097804996409067776903048460654788140022074405227492789769932013952604331597364753593238366726889442788455570652117290462111150237483002763831075903430698807907671205918968535590890817508545169944614504870592601192710706847795437047555424056896051924041463721258890412373425944419427979238681522656420547479777147144862282605516089013606393257105801853694303369593120072832250711612883033970174256981625350084122219421835667817877662735234376808404360535335685653883194613852284132232660889076546281141853783468826255794031464897844333213262857961116347669935809242011100634545965797579669610447015498203440771789501873087122785293400837945351258975192761591595716256372605334535040160298125778388558763199170459123609963742459819685789020298937162995992311934774680106799041213000482678509677535372869280669990510299086649268511330368737738392411114931945158351921218200458565124422922486474135860730633567568024229604367235470014904986513768277183155368626994588953073226572057331980912308463102872122196989046197005830355472227626896943517787247301968741631105054764027887052972006909547428035294146550712763888471311013932733903720259338474407923443839632429298202491303595934525829003860316962622214530363186943465160335716414491622578470278639210327001099003206259236148439000276042603763106048730246080363800075329217011398623781609228802287112781985193293707494441533185197730494177928225006804581001451819783359035343693018743248322619054975986315901557493968200844199129683815541810009646366189162640044249438175602249956122891259423152736873342870030918936945648035255049057032677372708116181178219785393249124473104442717878567567832206572853120335260061295638271831583116983976187023335698626355601560773037049078322003505789735264784877656087565151706298569433075240457182654700054845098420650180791866327793245896747960103803834938676297504485708590879401112561648679988337288173616842368916337671288070341866967748872862435340162849892982490585688811815460296241924687888048267391745767425298975017485784326674095439153171191785663926880245494680678893851882990880224759279557093561699599093184401662464034620006305576675574482907710622937697442666649754549716879419511321386459245765236015473923882355383077048997087103657693098351961044844415116192481348336732771466809091363730170481323856125397028115340101209002741836602594774801513611998371416647739282935233881399586083447313640811163802092482046889852557559027586653979194124975003128131302216845456527944312702830487987013165831706593059177103455002066028829316925175273320249304931482432477712217501451310927041909882299633990781521964649355719778616269330889656405834795969727957846327938256980677679261700185267878391980382389298522187516800450498328484383215053427408879088859887319043440089131187753128009036351803794620245350779815405098073894767729676521087180119644409505888635809084927765718577107378991329223710657949866425605054768709062906672351656482774525913172847342302018172745846753813138907758199961135795755701507944808810708949406353499243030539731407560703705512548140862809201287170057812992709925181789555148949691423232867513865625421807594208198151710391344086090865529191987719771100391998692267143211038327941835865064174278272876029860992934055367175999620160482790073139146673935934862104449412243739249538158511587263806190169041787376358569383732613177134770835545259791991223422554353529814194487547683872119272260935698347804688495696578986213126809138634001264577459112049049612133309929509814948095475645807127142186735211175819960084219845837726009400198512621667825514979153750598646515374010757400278319748055922866946846995592155222462351730932928319037776805291419010344682111155636406077042238829654724805747864437241623910693065728491565348874802136921075726283605495500171672711396660080009447482027506970667347880375514186230925565625611914296865422957797474076325346451722306014866441267074540629295379447594157763703403104971007747006832430744223395371306430609367945807577221201729327523601210972034115765932310574712422375101904370125427949599903038738655625170055337109036838795539231002625283877751438194146096826148422335916603209537308489447283611386732358186491830407256113540299221509340155195769241041484676819010079897842879593624725534764495904677262313591987537867117597794684483941739803567366827710401453040746770454960549884204662063318042774220243664481574666727355747406953752754802147311280719601275409251322603885917440004472923737825004436962933104325754464403426116885633875834923837315359122382148590094376728461749834094319978559173740539674624
170324429828472204037584054671485209123822370555955270543426540695270020211778925828073539615668946571372804074204515638556994676746991375847180784720280352426798362279117354641166394556342467553038330334098774803164127464040714613597033674087345872400985451987224679684922540572526779648520786584085365704660453812980064060948399837341949600296949270046401814286283614803327282557165752922192925833338159703238909184070522360393619560875420125163281691944318702372544269993531716537146373065331556514033616706724545230081126754566008705459293375044915161801719063150990507696040962523779248855332072552269590338286293896983601081168170662889139663630967614936208633804357009365815149658444914586943741603550251612368047156953333630789760691278622687897818436674350336935188614195166554594670598171990404854225280496462724382683571007487245960950017472895979437215116790519761408076624569399642012536147647217032233411140806249027647320790863692763469701207700688404251561684600715553229825261449074043813941398657585085920615382703460661624479194257728152650593862848736522175244472563248709640805483732501200101205367427677293295066133868292666540997114928936851038579183312523724142464535148797635382163851470352019464655253652601881495461130498634197414193986021271706766567106552669655153889073629623366913856177679676752758358909253764901308893769853066098543984027552362879072916296235510544289421103346749836162836748196354915399704214664121300860425502717466047318624598813054375361692537090901593147969930336193163511871714645130461241273710985246152868572209267387619737966015389902021856249549955114588718770349132782789143004534779122581728605525048938281265072930159844490711719660978864032224432906533408358538541420329068751582433698702974616611592342431388760806736609973875021938691071491767493492039188588740265575162896382131616610465187171624258743605479011175311446411403002751917630848141823096747502682712369881214816891949104950828249018334034814312522677992720326231955396813318202399813746537504410949450578360275626929413408491456770697575794628915890484699283693641378096634597743305435284651564397718119137258347988522765916665082447389626000234081949470376016082823003219547962987278845771388451223580909886392040822608275150571167103735825752856864833485355830302934828411785680467809361764927113727039127361457720858962693645738134867477266095830459193905797536552569287085612108818781585778462649437774928520704667986781927476373354526496855993555233826029571638602395514253367313046478864336562078648805139548886330442049177987495217824728824970089439114142284118151653798459424467917687063473248145706083806975092642881198618377933311191228649730944081097267764817904015359361132414050241605158134719017233712507467847701762871418724730410426700997233460205562539462779004679489815994040612916264381523504379780606649096570732877896344570902722655677939082041236035351761088542271348786565563389657732706774066111108972664278758326195417389439341146352344045104980519718033285216421035750197295049439483647429958272875156693426512266024956541698474122639212060502545449248710057345193553056464277079676510421123126623154868833869557292936185678866515857490126355198989784957687056594138909412037056190142141165019069309133481394181545878919223053268190036718875611508291019434981164681572500190392937226052666857859737534341126591286359739973154899351711546721184978019873215281208442285090370826201707251192730837067013568133380139390042271776533140851192440974359162402431927100604463666682743647632212740193077905626726911687090225200494023404281764909178687844830757904748366319680114974052400631254347559355277125322755910504758673472840907409509041751761075392192374372700929382202636080983160330494315175087365153402786532401199034319082431898891694813610621335826423985500694835552444758873931547203434392765150466094330322673603959042960189188750748245822197616341064247476759072918495804385541060049739458965475240585884911504325303864451800869572132683243034415341017462824559655264116514317956111180146019930574965288922725029346733032556633020668432126395597408504235712871603972024176476426362720357436606983565565769875081162954319335767945046571318990707694348567597954542689839219464376029492202323962014517088840819553650317878816089513946084643368302438476262884853913725112515010793788868289295137883963945320930055391026061394187388821759396610764955566291174067624727230709754495410512479533670884203118551035373913432803348012472642098621988223335025778433056623584942727334809232838747876397231217377227485259983730392896590898569873132719846582957127443703972875535784213631761957068350867128661364066302403933402673036130209534953814656702089706821934046890917313498310784103386758483089181540163552591232084319619621634795051799102338304900430196760722734862377353120655738037353967924720459516117580371588073779411301387405988951055978827584941545580603096705046107073758315273222714612126545905771593303624519318073447515592813855361954995429967476637947193031124147319998058393125473293885631597688518059771423115087231647846544141038640728488124202982933667236496748209717079776664116452751471731129266139324595242974860126260115853934433796493707270640438871626909134488866306752669047310298677276455330874310987090354870989401099850222495788178052804121703630740941479030032859888763216054623622303215456817408841441641613924547071823035178548014284972448713325912643142628019146826923422153767832457646392166391313229046673207520975230244393835752161110236772679707747029775140487982216181441035872198154203266398450550791397211480098312873629729930441240651876837979969827001603607377358092481687651096934986903641064903687237502064306909711957738231660854617733897558799062276015648444389388315168901744054670350137559065249215828033132924303317914629573966097869578530752977002320709314568765078316541516023921255423228518901129224241540333095125089886384559643543654429252822859520305180605617956993655090386407050852192601899397427026214453042823228462307898558792559553077984070384565409402764867284717441401003201525182027937299490449023931419365300791494147414146959449628795045463253877430441369322669677368288459056646046268188083073686858049062812235346749220674280696447635210797377692744562652499209240634780076628246463707959609940807543135330101680591234085734756584659860421556689714763812244495268560161676757800743813205410153810884018427633291963578133985604992151114264186563002810620301563627339911769494583024811862142072575555767093053241993111241464034315794150579818662730979924309227424719211934338067203546241711272126209813584086544930270669673215202758902873294128759346362096935772788846451403461426667873490384173296538444113330130128180868112125663630273838815453304762654686119206682123244683526494255802554518566110070909653961762009120851585915329676385531810973567330741112638001235744034745478732596921351685272581863798725981657377226678446418395540209503741898068701723465994231018906024317387480602295657841685554069125674308243253767598248529781833353019215141088421931312455582162519170944321552810818983053330140412622197391790840537046689511178177007662624366606601478028821019463721668547561174423963733741520755475503957981219990418320514379493477832833774427814597797109711424768119612001103123930780371283606516829725034298243531570150195367824730143009700690685592621121060871216553632787816741386245707536256966907998512734869180128270501346076522649851492414252950108636437410886798733345610296904476632890567455870144231801348934352846596341153932787073158816804096040708657851318901479674944876391818501099715773838732423782541968018045997089503141757644948554786589585499462422146316026394136733594381883306034778124170266075381817330076584422552857072610316938407261469702043076237973247956729236934837306292716504236801888863762497488399261728562831863368942653044938833325389246794649656106009459724065432169618561118513996320089484967317720724452739316217026204676500330984252048115383979959038386750277955527848392102171516256960316221099414622265205696128589217893689434242092843813509811056735697171678985070142585842187911983609218931276348341958979416555694401063895547200270991567197405243128693767922720690694707919078562895292102406415826164462860199960221783630418650680708902633170718740501264610024889997044023070917625792766586282413131255640706010655861607108894479943813325292865118056952672811828717888784677830594017717235180643980072967281647452166964400561671981092132521817768104099972975140274176
182884463955783751496615667416276249233634474012755306255712285016149459674712370103396392833064633671704380830630987970780712192168604906414421441043305155406113299993792265482460869978430831879060193554849747853314691194607571319467134138203968292350705378614227052262704474013058908668648788288710549943429160977816968860439582011228848275538917250855092048708663426740238037641894539813008762264185235608559045055074234423881830425256452641959130381734098869922808811983603213516446510370153576656137537199995286260917808709422906515799740426271843287758232953203315735140233060678998374039274171707974285269564302243147239922981883618313873932217861629746534302105638354383635442041091619592109179694780732041923007913625086735604740205177009217111186293815545424795803992389950428314277188760364043018674306787183511226671931548412873134847104534179199523181852983025714522353003196910386199487594040656124714169672071222661544260654695104003223557543491540013236721198071685029830161667429605646915837354023706561591598280226471901924915093092343352723199088978408189415863447615980624855364864932138166678857235820384404986027280780368743537554012962534284814980306658419585604002705825982084422131550944640859302062435588127406582768281982705512640292734040310785223126907208265867594387854612742094423105183095444204237157326468788003998591583864267404643181153970940373285644572919241425396555799411631673553185491022582837012644092513941152943126048703968950305970285900797240012044404503172330431207134896336980605567380537069894171166538516547041270083556254474486532462031414765468129217257567983856619902297714951010210217086014006518024861969442524679388984435522856035013152926956107091408657366426803407834019438963684961545525246004398399066231861306711962881725079080925158404490167276084829446050287834753958620919817458473003027389587562161232626006895369853095296237858114573921056444642468142586991997980473303618260825387442865069754411672195982799429406309268181810174834860976074137177189467453670620908635806417280801931872483673881385964786103101551391625252964703950519354081242403061871655729960859314680289084928423165740884997624170521060169167579389797377474623706546115302233445276655185322629342797992994222691949869797668159607774102758018703257228022246518507715211997779642586797385748698320326430732459920493985449423128074758963037976270356049621980731072662418201684789879565025371378945123189026251291051969441634698716842594279390484785329013107490929171604970243828616852505212570188716217599485959795745617512610669993764378401640828760579797556080344550388258174350818172166789394969239175068194798299896936238819803402034908829463163161006879384211211979285308884437792967829648763183381635292013902060140412645073572618959784799834547072074514952136068836308593459930414865540842787676283279491617617303227479810865329190302493586750873754266511842423813128432823603939149027094729598716652276042902038734971308813609624254448177916499842616841666560054726509025360992157678386051946251321349209616308160860472285592090480010066604051662459427251766801507319209366620972723291888727862373249629531754108929269496159851425789802326428810989346372334621835174657834662968581940301451436269193713473793060474771404171658556059170409709879035531205152474330027790330936125170836035542672859693819290832022663316284703904342718413518941052664443173698266377740458574424789425743391662775762208135809708984533381958880283866154038236334438415054008284146820744269099479440838068320005657193533025388810953582561741617304783175659349218391212191663520718628435206963946929113113493748768737325381794556312083524569532520052160338734548610383701353435028092303814155417834751721341451603203070286549408797729186819168747817983098550896810168433471751967617608578903581037588865625993462083052535445545357743951985065098576396726064071636409367898914308702833926848258506531186882684564054688337278057044700777394362537853526893532732835660770725425779167846875390008423037672549094876240103667832284310770516780026595916598064573768061214654818410522911152010616207306977011166064696326726884221895935709042195914346904828613337633900058612072265941755037252999168318780665464415009336873829774415420928835117108012374293451111633191358177379798915251742362628670564073150290686543296740946472917102547307843521025858946999131703051981356392930749871273145405982181425028438158472873964204760606494283298549246444619949299476959474331356368328219149477073561521430269942421730080903377822984012724360317842678889595896364736085988044882393022154812214568975202150984553335203161151424317918815373748116380752742710495730879600135036560672290069087563500705245235626414608706716355085228856042242040702631079650941602342217629464624670171520334700784942626294168856057854537320889397448116064984236294629653126840890954248146655576116551664397927037204830693432436436650085095908076124597013476555976637215945856209919682922721219977183711419701360896390348817736998884942625906806660919330713819426895493054755440046119094103565355908878669526028669273978095343350287527244049441436729525057792770351763348841035325775075267175804219829024253549498115407095454876521054398049299526482181179261548336615904754379727302395723608499227506194021638091983444221620784029433430620054665952774459200975170965233756897052710597651845341645668117804363275056089646971273124797830310529924372871193018547912626501432220864567611708680895599639871760320164311904670975502461981435402974881882447497368982764082681341657422274882222812805863476983648529430205180559485363154502164253867716139370862369185035965277509666308310344334522447985087098573647331669270987518720987732666529920816459778060586644417911414052377738633813221424375773743426738042897475421321628428017761966478575898506906235034700840643765721941619901890652398855588619106136787250436430507281853716968896816533827127179522770509837095353330491604974330228249660125649789520773178385571588494038762764857796034402625363363438687198248124894132150579429977667644139431499241410432854526293035488532609414912509005535141880206994167569529791039643498458515037877143327234549021580983926917569785632445042392665494604053366429785500150735780677380664891674151728200818224458268576779088596843677317673127863334354896171223399088022220623497085627809915408688948627688933732535488597883623157852536819376890547892385221019156998936582916096927152219894015843113660098034928792569172359272013131376181135180926113265554417627172214165786796659844496636639403252105148510003205235171795048829310218724511770320843406214156883444477064127286781668619575754874203409678702551419885728281485145555585880032184004723766348696157281868369156637990279128617246583580693309186830842680729755784464296000939288040694550957472624616892123301184111165927327818294018796283530653924781401496773555716898582053864729710091826588943090055987624563604420982766429776518774294498017889960457509865866320247587717533035139988336673558238211350060633623616963049536115815475573264066534887972640699509809038770710165199044723626557601101797507794240825070850349539744741651968894124169202528264027016961459762206008516006214581766177568968777470840518125607161974510257029992126455555084330504042926202572494963473344159529240236758301534165605456882679035655745858569584334654728204476656063016869310808031523468824675091396663416552873803754522151101780501963253225661872313722080730660673628854794002126247028286458427428729463405222591394293565296292461048174597459210432481763947542350055565337169396911933421692533867078080462474238676405736047754820883172034560207592096246373830781794684584253005602716632273596732174843365060872519235033679533576932870481879982345794036431241817561891489555902150663508585322792469206332453324262723940540378401988097174127388075221631555989242128680447983579087269231871776863235435363273275188239334645372553833154511199648698578262171432028309838196485715191382496865142795327634509419148157101597322675260884475462815331252838226594222634860072741843312975896301125367903531212632827693665140365954754967030234571683668062267424764032020838483996916754410291910967103784934745396297067779651160473824167113106774805469075508178660522489663050659718488297275491362293265399859063865523218726379130443816810536674774070825403940465172872474640361131654675983061960529388278308675725518401537415466326048447698786648176321485089117074383587192419101636658167542088457014709108002156297467559886026330119705326860677824649598337024
196370697909145500681538836558529827140001282275736481804687119332448190287740106950183911435595347268547679061872352094668140613238156347748770178010546940554363555485993695816229774539267162079659439633377412305958200969294672592774727317607796998266811640919850747446699629099742472413324361552509904504300724123110815682359598230534452028796411591918212096068337112430153564731788501994460647321528624756203939049133588925702465761273559127546815589536987603587255472982547172573410730043283616558884939987990791461200027837738837629656298104031666531639681922189434880297374742358570392633964496765809504410438305575844208895468187235284058800485659111703656399221475167320243115288247998571945446612617626502749654984742235083646439490952896119645777181925303663975101406335267492167753233901145586454885816231606003167251197230395982704891327983648244038881213105693871750134602424528389242382237090585637507364022335236478516669092103755136290964556517565502381781162996956366683332199000746158920111174996748422684131080485635073057607443102102551987283156914814305919926712778111487680859206257747671309772190625377687390851626978873278078601458376911206639772456995490790803766007054525429918741517479247599291923886550278434288571222065456553597242976142390192052352532329282140547740507175332510107445187040756225947833836297559910482767020689467451485315401427182359406968876742007292801657747378023519977169950140923720605051178958743918989815131797312456740897892872923511544698340860230071863535055545406920474074543732775527782835327274523474275142794325086043330829216822035574281279605833324790209608367850242529773761117372644248211904168417448712412143353305921832724430687780789196268466490018152253617115921644323760371262136682811449036055695566383926467243782678896823192726202001088436348130945655413726120846969355607846525386817707602715301936953671003217155428258109795802977978877358771283248866584957721410377178359258408635783989220950604656531956889750725642020748942523236264411861629977292927989651148134201993386511484355403620525477430114111848473437442782627450656998495062049797256477388224529152203578898335999426472168723212521770176455745255665843080018972380466584734450805159923307378059011838261155894716443313110720643974489675358433061530757790889360123889803042597381215903292238940093038010081171038106917493049286777297332745221800821850540100674814021456127826158340890668870705931768889743845136496547053102941913026702444704741643422974157218352173929757074263802606085914622160175703652955933474566787996923800966632291204028066256611125416451448082348240310357520074714477178127295729978807113843435329082075312222368318221481753309132346550943551888457777979641035811780384259868243566549779831412524369633962478078336313621821471383149148621855248487546568540154570802539281336777130062031293113701435259041713583155842575586185418499852207801745689558606277963875461360520380112806274052057137324606745713192473970925826669539060707120504171392967581622043573977835285844792926643747910474373064788408921433100151979044453795917839417743307392673114877215553487968561679887059984274026020749922841208515794239865496542990579114917852018398359987650664461966906310427272739575027103812914683936952723353498317867088179887648712826430637029335985237217560628918668425796408518386202937606864362492118565426873548871990450214024436399273271125366072912988299313148813621919935239816354011956641962061333416808996082008880847482977795759913530917589752540421892255967566559490045302871685220182490919179036781547850956982032408354524247826330681886797391285877905113185096815541769932329583287807276911638662908123217253292076730060831108595729321537773395365368443860309971230988931879764868595384113251009445877192239211697786035503181610185319970029979023432481139345121789131668897124525098723529412219704160023991664619744859498467297446279974583131660026312516298597824725891020468166353062253640798712115011494890358667088203964479300305106133968355527834143579861963103174247327081933317532808363867998957730307500601567120250503651414149820313797755623895518673935865824614255362746413700734036193359429692541751693167833383252113131461223276461090565191694779218351936439846322601855192838810811788420907859850507870417100828015627263626978166163013262547899211697597121316376289941370191772888136917567001251260828427339524072468592350436527994808954440149864744847330363100517994557004431271739347607912711942631767322757860231241612130196753136788283434304860471412002945493856913617775960992385586694247424154214549093380477648770807368366877693966325665296287320104703327544199233728450970390018874973384802962951405039166448963075305668816204532995900159845307344230389833525337063491319416415429666302236825366637034711318527292451228067554180429607854918201088979876410242645152901441610999505538577799157020720866038747230770377329120252722820635552594355648515269795592545635985532080887234944333781806476682879768784172448155553168735004261276524238110871677515693441401369992438069042560223989910156808560411571238822533995830014844000427475340394455140830208114651515499800921556746163531114635351666113470146476580721777176261225411723764676915487313522918765884022127558377960382296983837189822445091740091580354183176325360880073921480554947999842745683068662650921934717013957701266822534104522846509903898117339399846450880622601948870887402708770908791701534972278571443491684367402781475110889647052264052244226327355872844437103728424698643729409206754130699950602007776570267308196578407671404790165306191268191154334817547657895520582202307972741701910862673895279516495483818199468452546021335884239295994888632707515154984220928041091317409486087327619995019304617665876447525121360678333716550925503885053798950044438284532942185244377403132383927170340506271774970770155297175236472664563535783557688938062892159363019052824897238420755056765892707547006530741824812459126390695274185251078450001012712166594257841693014599441708046521430904412391228405262260199801101135484056088318526654505848588539883953735116647730220019729338552247415043468564653245666344587125101632964094253542249781045403154079272270533398457972398018419463658250860603312086594670663118966090291098798622262713512662635032530725945771747761852948078220028848252915724804177980688803696211377148137012610587783671822764069241222807464901000342329062927752774980532600657153521219714649658069759232980043257443340775215114691835812362243558174866986996754257645200490553440658537374987058078186914000921723835059712169084152618915096221773771464206761746651828205562197877119953346833144804059655429331515041891756530245617760276214402431935721495398831941624224826153817390005830612944511702084990863705799463817627085244050924456854076753371937602386209049684646328883121575623060960310611762625505107540844421967830428311117530381128180989089103451748912414120351815000499498874207181081218614893550772934517873298042812967423917931467171958592515267281511607257618207382149511349583989464004434827971378886788298263181349050556163604604355853448108465697642360206839783545843079395793853568148322007323627922777476742773685847736046040361012644412420920590404745294495205974084890092568566026371181509229890955047584234310681933232673393151050536436975521337561141751561594260951514413994272499009646524392196556638681858914613768843620084403554510485198662772429405825659099496062385391047192814844427315245542987296362426881466367495604039264956409715475992704167563315944146318375372798067771563265909226483443237199359574702481618191666195852589415240787978812479890431294468337756071564990449511570619000503913343176092589022245855801714759129834900147763814365144676769571193060687406004039773980600885831325218958518644154814659071240782788720659124293451000904686036787280244323871183846967626986931025331212720209080623251414908395149111074046530668719112349516529339221770649430703626769425302239442219539551265652707075552955749061322732507662562851181772536726577954586722600205919816740490599519996941762405205785408660293304250073721061756286099772103932147480496189570241914511649519816244206256666880854263622033137242795616403574267130880665451308082686381610311745481867294843825160770532950839240325845015613360760577899391589613284438277791667511590805595974412571862128566239735105521595928181942603841375555377108542651812348887058741838944463778199689705009977369998176587651125163786726081139656604319352455648298775904332851143814758536005900401315611879263516491776
210851431353118876183188753493193699351709680193088160916307559261328582225057147274645550200310606702043802746861428193299189976746816543228942784693849363188461895226656077398219726916901482234717160010760553969799604776529029743248744931110823265540731169985713579371182602529680960259352581877027456640513675364469807784904599627961235016240359507361004714851279519747646161195212656913759813351238860013937972830601525392749966067807419940583966416501080384941168634714262921245016811177846949393253718868835770518752543119344475552106990019310703375442545777911509881899724818271621435419189203108562398102200070868476331199257036695987422454556723700442903769569338926129143034733045691750990099074326671695613155558687819668551320510121394177590979025218055387910508474623395272568109071350914697689618790032253436290154077580349130711822468230944707728705440679440442638611600252827935004897481358845875645359858774213555913825085359910037290428877634521870566890050325193235610973945752992158039874043323791845441981882215736609143248673032427812405880241710190925459756106524693536057799294014386198723907260986568738747954826865663003068976745286684718503430188919299841492838138483923002575333688762695199411331462413665033740874606334472367252257434574318528534003311554262374202355251253126617209266631113162752388583232235059385031042981362154518946474068343714989770262320024194087994154059893410191855186900622304492807334036508512116325032337038846675598892798891129491498489454045037166422403209629266541612055745299598163784104280199383783999008901839074737122987598702983960921668653021475200224082231221182372761652569507981122778158720309754573891866243928176938670953096059319103760797202674968593908552647325817273707577923823939274736057484323037790289220215466298281242763335669241147629750020578888809759634669300762473756880903950916838195654495367706490298337629363954937757119671608679380074458652865154750062244019443450975924052256099841257807516905090311056186930015390970868932538593807431587081908676921312245163268778208718547759229974281558984319880335363314034380915562453180342485000226646962053428244425627206589043180330097964265148976393766097988683237349358407812663819763170684663764229740950852126518741185805812108298215623153488531769269940102491752121618303093959261804387338816244579325362645886978512895096004248506154319852189383699018497983083718438259077828036411860760577811807345147220011169635331402500577709459340843682528433657741875076496229509702608796918867434643467106537880200808367000604000553638268438924719494712252009566481863353337471381901754033609697140539004448775421294855831762425900674627791451015251606946253780865801643010238325751299074846800657790390482611817846823425982979296413095221083559392848273730632885306369705277940774991493789246586095455671774200233914290713812984418486461362034863330083366768600462234653335473447090795659798782643990086674531497934459299701583141727224787467864614420096858716282910299936791093631863721945730439795394549337956756079588942039842376369357449651160656401595912544650546796843601514604022964443340925472818435901511804015343483999378494113239921871772736398833668200036397136611748641934204324609395290050736766587297516367486847118175352680607539051841404043981503827613361162297447056234525718183165844335181139078660152735502884574065714542983164168523387788719927674412597099797309049795158354321836357646362289381828042549258674942836643712705069305375038387370749020769733214576461236320454089802428245753348075726272589412422735536382279029830033013373699704513272341596293592437740247277530292304336411595327923328610102471575984739889367710298104472883472425499520480318251290438283859342610829714949581040390478696728055742761452257405674929812702914522914979923642442643615011302131039406029235364381537762555934637182542794433033524548693729601111852508001164319201923565428268800689244486156963610524342710273872492209821849963223340304540395213496893704035119848416800770422737116096918873930623016514808079677814048832462080896103439275776807776956203127588089407473009454490707832206377957829540574649597115896484754161139770725669539659177117755061215005629525666138587648498121261889190502506852656710208420542616459040619767685171820688108013483865409918550960391744048941864372186936340069459395158631999682773450701881830129565739084215322592044864334533070164765373229272099414604485667105606132486820460010009800046753090232154068017205481621555030430393377987191972772956579485054639423898187946503222961199179316949968391359518647987230863900396582398061662891156304316314433249047517296021896177925842989265641148858208350149787320046070117374349215387358192251376016086022154191865634534656080551768767973118348518991639075104149142318396882468939990363056295620913312241744596608080038796028510089061152807624107540090628432765091228495304106242333878537828473942395643081911366141488682171647111986345254142375187445493341704288488792507015586813089095126503248150827703809377669245640464395144131779318460796548536774689367749675134692679247264984528532544094454151710163142401204535325519377120513149221545134901309315592854116426047310957484261760297674059426068338006041870958661484138891700893417662287300735042718986428944853267416543209777706608828817705363850397576301462906271752041593464655490775617085138453692567861216245629222173218193488486118872206581380283138216404139242224734182737849074101487348723758977251888614226786346870203916005097964010635936568368342004102573417299356109728076743283670564250012109772034433131330800443236132500329395664271363448099661417290633972881834613031698882715981652067222393135259754534027615160233381020400070493814138105824546309781979030899055384180799324264095636115922090089739429656752422750000044689832330070843678583749231428164573905339096832293233552200457790174591076126502129580272853909746755926957513394464414109033176789821358058639047218320296191680331851606872871180191408945910282865760744063168979547398074393730605789466910465297038770423121507189439903001727682126640493231875762186611903905495963403658728058975897437929300932392233543564245090306373740963291809476430848355152713182069989951700505511991713770060301407626496648178783313114996877053014275824836475841013057081529479902089285268448855704943669520107805432857147945988592554122403528551900392096428732873277763616086997032436256044828658639121075620522479112683376799598060832602846114300633051241580983074357146886931789575279198683723519572546142173682190775717266351652280829431881290493347414442528272318302877887336519070983359910375001294027706573423525525567137025501924061764291067349840781925777196282336697449225549416469056687420482788907779932978078005786082693018800515657760909861750724775188705675001582431600354857453698773969866843423259411987107880557364883092222444143963913417480576549807988233026658038805573205553829913360346892832277165168045967698554772767319053835641385625732610220959868214940779815838697794653966611890119481357211014488276904196275114585695156878964373772324843323250295852426448673308027940348157166460278735688216510258252487574683013604100419023903396261351088345925211335298456247530500348110766699621869606618834100930220224534755575949393895102542395001673096945558278110510016557324343820055844301070102011062444501278639656052696137622091737568146688048413663000190506572171804337167629247122479427495099506507573966083090749661707172335050005020804772329229384193102121914648386513434383571836497355950015257504877272713956468769862761447310905001372906870043591242733900593843737083567385511515018269114092452349267379801133745550410128832239835609729628641784974187795789578503517787557627847258449800534838638016606218282478135768542896941719189312797630413092224054748727154601092788966023235287305389539479091684882356669898943301326550329299889773031054321000319276625320901102399437830803730845498757629388273810817951458329973551006216123446245841936514588390958655441694212342556999137902802236136690927127119624680110983455040722386740287120047488728880461109387317411280235144860421607944983014201329408990624656218198855465708808847699698707371521696016378153708575052448021323889618210216190802323948091554623262845296086228238247181405998461832940986813921627487387211443765897052742250972812239773003236757993479590883317052055311947995499629534432938788399714823457293342771906066260091435039460565005898615009016658009351266881055507784226683430136485605090280145148570545171670957098916475974533643239424
226400000494108650201767250312068174327212369528983154095081590026247044541666839818914542025565076206799137289311200183518096823354644381320019875228813096811217531135166589966249623932535693963008799514053896846783068547229392785466159068041689719283341032754114152655582380677286648406948754323748804991266066082789676203892864470516817887630593239849546628997012760267681608828345658302466672685658766211046424369992524892393664941585646767736599725208613750497352542529682387873192701744764971834347941393006936993250781853603586863642766506484469865070635910778203531185035111469039327504498419546894259356070442507247039962718358026784468467414293617577593101393857673016107301671155834136049862786008232038296842447981198537493370322146356245669517744483376789948056918309582153040258598503277291565659865473904823512457832502161582167326675402476623719767077033866180178150192483030328090312070567253169050325871896606467692436533971305499916133120813564318670384436643624777957388918929294853231430620008743278721199712385278188205046907467418650441019679059461283691406560414962738447711183380919319258234654818562357044608492068341195884600688297708252558799681306873600607430905752492079460795492380704646571966770720636135853948243160858313691036765917389440385096761770313956650607472576510459665227742193782524158577716555888260831550387430197797743429624512081192052062804461249884172859481606955504982778326535099961190341728937932391308940398431073988313891446261826557621780559631082385222182776770783020172700636347669958848594872027493427907117832452925062710757216560722032442777220618901892659371263677422108365744747237786433329388091706901721162995239519469631123285313181180506670163648094318457166084608739651761761481962548849611720331481785870002166076801692456127029669690841815250551821063760413606484499131388637503162465434359026252316514926729920717589575350321088934721136145179384411792338489740014087374098006970302515743271954935958678268697442582505478197520719686249133938488922665186697068543460158916514595143395716080906173626705420554233387215710754736513960962986818463775540788836000322439306828622690789146944042862400310248747881544775352283731470629725022034505500131314138974199030748003615456682511931031055602965411579150123408065017852634020240868022306595892661151536392383060455434927576856150406284787904256902747414623569239246419989034096632980598733611633775209788296846943947514973563322584614154965448470808614691333376957287526752665817201002870704867162110299288277160657985811909462257689948656160564189812660908940691827899579685219931333009150989964847433511769934979972235427506942613624321255217675313704722912261401604633742155388010150566906038995516258860253686471853578803938020893182684833520171944318889237990781038943244206163478554703340125750300939907611121975075304357170715815884389232342176838503634428306178046247079788438942982838425363628349137458303829544937598560915340538285840853753757292472491503334691910605482517153583232137321437431438229130205795679706020919796090633875328365696425406921686871646637559560240206133020086255579280029971032129785716368800965436496007479135523496260214752094354854365717877927853876166619955439494780186276087148299307090455095181520678746739118828409675419736905676142124551981176020832704690216416902459790957463644718231874337456839818783429246069095601745790919461766271860138513472649418760157738366853688721391565659874861190619480944513554118073089999806722125486617807507225812712875352019422892719104224320216937218054876897876313904726646766650057760092714352342076274355353583611819549986410274111341695982154272993962812656906009204975243462190280456458221609559231662275241085556670560294393220283363214344690268057925405206356543755686907088163605809950820340135217087970564189330797338845707777476336989091688159353161721052582462502063182039260632939960144770223591633451532683214361831748120857466033338130571389328799903894565762337969919438221024064104785746097659171478315002110405432474293207208992150483193389126192905152217661380645828599326338714330939841055148402434097618804362212873285977706266568087830935121173807337922215134885176757382214231800817157014462138482243584314081096045184544115265028893588066462696359444732648499050033507182239816452599647983009651982720952615894758065617651566292684148586335412676515778073012193450088730660520394084947035152383239394217746752678779830329321984256691666980960075948383509692441814277219126976090706090717488957483392735529083549274678749515973185044236688027084933177280715392851823196513507580707461023977223283665698532514358527484102098746024723188031701947704468151261863310238339091861427817342990851889335150022058768746383052388159011144347123349688878506649781181252002090040991057338113248598970489074682672432332372104104073994838416379030924663201030336469064498703450419210948606471333364758202398610044368732424491687093899670340651108550616276577489460065921301417990578270040448981116632075641108411394365798012926880682696287849116799621769572558518780986038760942954532363094405251498998313939339629141643291859441097557495609736723656661126053247257924512862820337212400777784337673795475327525631010399255921543525810577840644255760710298182303281309802407646493142768198873841529328700709226720875309556703111954848572076816290605666197026263722126560397350546110440353043972547026312008276523917596069654464925887191096363899288087378662442186931573036370817388084701921746709444023256681175466585930868124247340912664184923783284969266345388181072917194768712476421241165215300373373609365901372425419729459783984070460158507633862990528146220213041192743018698887547159081568519042802531352901756573366735953378637771206967304088087312212213297506033550460454849138884361040320004143985342080344437740661384636512275554557301605171219158697197718761257074700534193251355406528574737013087094171202676651508524618122817249636040189517821361049075093147269661007637135756110711624464637888477984231319441902853611994825007160430652731111152839738903218314987458156557951162195053935831642894079599959369681770939564759687039134366191737528500655984448610459447628464551483344122729074050664675106400572690168036616350464623414642021745373072724859868521207293222199022071261293918537580459840690575000603975339021527773759682113143566963644852256208284011353605675934571521362026763778087936290692729305349694643221493621738555454550539279704305261938654360474216794820629409973370525810061502144472103919691017525395021732840319834632480716945431554421100605800712649204250290623240687197980489088458343814530413451669962684566222333016344220370457588278548723124887294570239353802224501267588817841620567110267044722446593026479229947030984616838931974504759110855811053433110775675350322992920263689594517108968545494412965052204680154439106204989687388877930983063667749162456135100580843211358955096896261357300841982461809401086943872491283875086688455435777611661514234934491927910136971441027459816527558685996979490425750249532869728781695541053322055185353925313837990420994277124009824320142034512393470953731313206279491031610737060977475249083597801890332301457898304938879386748839995607594939413089590090446381701069400286214760613638003514072732621868538246424954166052574236678298748531641492949890041691016485224257336701696876528754590928099804991751149124662686816345866874287740830361481221561037811881063895178942340156971997099288842176918931522248074188691487497898240602904930853592035520739355700748946635421116611700029049033551477706112491031264867526822736620483525170268457427086084946045308719671888493890135441451370105215249255680404191093051243604672840800196769641542558379628571829828481288238713814729626503108370220740234891984445584028524634222631518136762574156659707363617624862683772453009150799915588814876155857276038951770210264287893310275273964324666032628935013983153021801344050898206713281125839098130810685794529171535727381176273328866341517171802552269210940465078298182407740689229417724505670217783897449247249816149306563497514367547789554601719654997859591333322723858953317553342834435317267101781062462545864996412694303539951536199412636797741256434081504133431701148146419339462707180177880339649446769815835125735672949696438465940156891355681409902867730407688761413188743389841394431765356021826622644173599929680916007626294500336659835618872139970963635542775435866047899045504149638855322817345038357575331973481757495745326622559381087722810888165304366603216325336547931641264394469376
243095149484145123321823535373544650714450982493412392743325975903602709480778596587477130054654899556987506874651423788679856020117421656869909668544438191925165295541850564854220969640634928980946856918270544834572700554219118355878874327993224027225342573323446273776619469210692121231323849742109928389142329865039121935537320197157522261340300223558121682992303771761095178914602370048171308828710222273038556651713824544324177520423025812609200940503395708970508226186858741295637412274911923308721384441972369371786170196914416331910223393078742500593978491678889519017860482092809607042413501209399495576116142410218569908170101745964596027071908192609323278220457680220710635476105113533483643822798200747816089463535957235354263837608896150178980084161946932118091500721549737683294412988592629023491439717545189600664559793957461179071217650511184070224366149491982076399632622680073531010119380099132405877249484652568030273874990587531141180624169168915470455839782938107055561772088529182742528608057638904041841366644843992550702352429625322296158874613200563208192333305528287672880334668626796657175205284893534310817171639350208323472436564436714122338237057061163653670368696652937945787488479835909615458947660965638952130184213135531148177989487198771037433059399750376866680198312332320516020065278553808949355302620474459125456669747207256029813209039237169190076218624777787951554871076346855007049488921465832350846739213129108632743410918668122491112486047171629552451760226019167402737179991245389988464376277907839764095197727847371429001204000930150970362838131072681872094788492990127101125511354180162254560424017519766645551562393247927470293909784952205234923541047571999705265681883287624234377558726440023798587095410301471190280503137382833552687255973344128876813235962006802598529355523726804821084325063651285520471403825613119026218962750211426680019520039205018433689655877241025515072639198848011962759364359057337085969544620982074392860354102674702649798129833705852793533399626312505410913307934306348245111891257738498326442799373376589648110695547247201139845862262945251227093191165823080569443460983415726639100609007890144656444046023024431376394800163373777770126649029483099145956214393486419052873349727047843773500837907373878000828579679816097882549614756961016893064626359767040120969849681423122862569227769944120599589195508338743384495530916888846640840245757413764068510291043030487981193771503997088819298024052693585497166197479067856191423855397019880232322016446980620302446725845786927431163496532193030038528742659476351110788780041394910659997192656260979140646575453756791537288724334616305955339396208377081377226149323755961153872013446800224324347660755610264954415012186365868148936796085178361085764286590568054191327939534066403405505512048205515517499765312757592203839837823631879533352267461048750705445861678672845846095806711964751024931547230166860963305877881766387044977012859160180591683276602072714496615094174571575742368599747810942938701934359089597104548498862686204012065286611267981818846708034286718714496669120956811404974044703026315987870706198719822983005320744179239364618942069300166545500401429900277315663161400616638868401846915691145582197856493241386890299624691241695502969347904436270700816798099679450754273970332926330439591606029325720293442258806039698708296348779649175541448903126185514015008785000348771161012071588521740260868835207529849797066562573159295226391462511021708629462481157892223689537322205168761977220255567289467694894244207729252421175018457751920626535389027305517794759650773441781032291631561267342936652011731131800533931571450396544520310907789936266772389003450844345241089969353245359502777603753320292214624970693139565762242212371686567069989763318912793591182313088402673482050961131673986536323558428195505977347463066526529979093197376924846079751624347288332883940168333388118870203056217208398068022654529128473740119744538775745340722325754728497693739765574144101440913454726812590578444456421419393180861506550985100136154001189375869010298232028102367518284568825130220274017009052581607238366575950001048847780480634824912045183649052015722033984174412568218863202970952864817833699224951475638814933138367613952388288816948346861191720845245262975280923239555567034704729532012144808408917415008879387563595558978807483074773512895317769339126621271892733969840467912097414176018451391389941112216708059079394709736645219995839548684152675890507046995239147294906061908076565555347775246587437519320164844488222089921137552691510705945593200749924070346656410294211463058476548536090631490733918509784699025012254619152548245685821012373992091225793059838201830922968570131999022588935532073949412628167607514647926240244532174758399327812425972673914304269224017461221844918687077797307426297048767788092140400272059992159627034411488488217128597482787690787529562444724105203682041646373041091304569422642760717136402010191957498425006989926487996242763114081635789715032328715281615684442868677353139709214921370946684302634205777709587959528616016978939713183782151158750031622558520635711947280870701818887267238307631846864895636170662738286557173412493070681124368447857060021440946299240929107344515627583105850209794772346265937094319418267993349588348595075192902193759979030856875311425556191987842087130123784901202119897340148020330120639034849958031759937887659229526016219266137386046332989343243436389354090456195262019802652983707952617064423557527265531956028463077632798458713866619536365383611829638919533276385711920592564100481082161975614060354006423032173484275734989701802835115315901971615786445830256518883024461009621657478261546417997524086681919795890788883507157483091063754599905527285999381141183115476604829584030523148507738793250379834612991127912194105974267752340968538054672691763274542231351191921855838436078844678253346240752448366246930301472975575012097249642865129230171188718996444028919226430201976076901934645590663309873859372380175475432068148311681749253869689013870796884029625393004839858146212042598237056838247198005668461563927995028198458832483069293735800187581546341938366628992774620001829067823958795828991756661113944994985614502938936107992710832735924546668075685370361301706506815249812359712690649055496101847420757313582171993607063380409826947965410165349791598198260857267454739730005717581675901271945164205387864434084055675797409922584894245146373346912606808509121139046242136375492850659811134514864785388379846582674133616955939605719981658214657815385711267828559962180456443855606328552262973019470253359435433003843070241578938072216642504864992433086552849926040987463466274099868181871248551129351265410844892545727369378538837488661440472807000575932516661544370936761512629826267705487649407343020626186620983092797797958904402508490364047593475344838123586927100895717115670122822888098049222581964475488408568921786984319236663442696234414572137369020259354567603797965220525883187506979804924733137485006209769440016540335609501878690536443068063260904794150581852040176275132923012695782959428868076408316107550479848025828954073354469838353496865876632284116053333521585151580561243700886767850978498580305939128222861906480613906359117011029168918865594069426544930091765373689940786364199465282058354098073964748085258763121755462148099087742911511737465887183815211316726923964112458897540031611426180696867462142417869982354710975558482313110501893064232829743759852917959266453031354000153329789171911465618706972126395732758763488931962271000870056562069093979885369014143549576078273964047425759854985631371303598232954206884511039344072893648408919557201497396033549751004064898993817732808168867159075051105583306318841787228286323110484902443107821581023533308779141188364056527829907055931917019758605823368894999868592423380119121924299857735568793598040004624092370608553677834065836197091736230900086926862989314647521083246757491656363708641865980799430954989659497392854978593841397894255728580193194372199372212141968647837985759284983689444575821085824992896476969963526198055894052473694136533496960853920577552343907572396561591657191928764905919838237397219350359352363856215763582410012894494170233630520623562387622093880348936495212962951990690814874514084722345935370419189831996859678691994304098098983676241927867176914885501609714664161141858492019455367152653745964947940395205801065370926529205290792487484632793455594004880323412901170611821924207259247182669397442594969465673924111702181433442389983918544583803298381824
261021429212658643796279741878118354603577501101068690568423197193314421449233303239997869183170371540856557576800759143054099155098261024024598938218140489252989055936605693842001518040983973162112339394490833736147869753693047039113263644006218626633564993705170943970910757424200398553350796356795044117067067064896780618422252608567957568212138646750905345910106029852838029645371489050246429006206617630897845841538534692238611218078816987630085617038631586743766664992882269709121838298703917972854614438528634046863416525209324564120672670331837948214099549072059654444720202619852724750444318150806820324578877587391843491870077550977609977531344081892878096162093703674994560312312213021169812792457672854878211917124280211475284539171415950919756002027722410283683751383654131446782077331380740680639037330703016684243396045320948544825119865960873315962454998599377508088648885206405921640926145645391730304146181753908403110357751941438519188084908861915861349071519983727148946166507009614155191989987990293959247721339887548756833556378876725198865498220965267216991727706293892889475245880821772217952407610176023176703412806556962860025276050422570954286017802593245941054525979096628284868670996717996811202029058605778769785712682468149974253448708637633064291745477788314801516600960565427525024006112793434903428286259780225486781289407331937995486633453083805614749041685191673629787750905601515351932851092802515582076385707157573850816056163792225494262544557464615556701856697096473065976362236416129077805078343663094772199307317939492191781239282154837999512763756674732509914792897357430287554339014370117443827662002785082194048896090175834926173088508586028601769151464958829734859435669965008762047163411594828180098316448719130065735238510371166285150814330373420319880515289187578922552849917590894686283076851653847414695754483554408341541452886800073669046423802500548002943554151561098824184635105864963063667059959974816043271783649782681229893569191491818501851877159432139058004047919677707953923924767255770539485641203173789308055638830835436407661896390809887930792975225067601664717281300371560991933180461205636071753277635642794315034083330702198942652983271536458136666440839925012654151867866997161313060582976910253908625832560191970814563152656735072924971361119636638975654024857414741874571347045937082858231183951971252430678876435816249531536164686548622597392078372173716553627900867314418652537077912141057439523066745935082604827179712318521726749143651108370364914985695138970536200579072483198175293127208694618793656642419612748126562770760382166876382429477613068762503806467070444997636158881684098696628185823841491437779237635386092260231680380919799829634224869862184125276852037970715197582899089215472797559165517815283703527306777470170129747300148694166158620501926492267522799167268610684634689932498162334535386726252109883398057734777656474389215868998061513115094450386689096767563587825466107416683400649006078644226733044936258156165014373540461878161735191057134974463023865282610235551098853065661750967301861130475891478588743860643303200833432085014848816653949981529194729254097560053858298543922440695230069380024073331903025986691904504543307095072222984878078668359943250431880006922489294954210905034999978994052787081389547268212308700998205303833812873017596397994506209077128307456565471200679825971532845509735980853096182298330182583699433477910851359538940488519455548280746714195098940061894612069527395584658040828259819814060653608713242323662567547778704821262708642392868880542060214193039331414728612482209685063078388723421419372531164556434247529454857089707859420335111236535839177461975927935561402851901599253663441457772632048157320439376618744415507998221628117903441770100482029144127377716687531607172080559871093830266476730476863499880861215616719967674824829644142211617491299740591758593620184004721096653159198855620648833039885529676721147428268524052276479479107529106691533404353738455929268913894720007441104509172713864165720623371902991395935442690417016645581978615012702698441829855357801226281348859754544803107143486864975330041188658991728911628433578980035061748087232253447157420885127846606764513148087526183934466783763912711506428886187765250390548920072520673154072470394437805431644383497198127589129386756733121523056999129798538011496204324221556440123106022709805092891439304105123265004948949163041509054646373265084156794631409036448575998159214029415458894105153860925521801332637100821835051831054693147612844937480869040101459933349014251981878814717548888135221639155523166290598992986117227886366484486172476759363584578407679897121282487570693584763976838194357435917211978815367875988204551280860840427492945199097320670494171039017626183351770453565688193763862902285727583573420193031636194599310778200938709741738500313452211792218903631088702415893262168303730263710949988833319959898169446913420552125804318911403064792813588351220779034489344132576416846999809612913935697752299252853714058698680694237413627723499259280856873409862620116549231517952694342266581697219991094203839972514463665494130985811953947679172131974835879292373201721951527783896642534060214614100511401748050088518699480787633005035174792006357588787189335821524744346884723792209694100006863069623875043953381441302794013579830644745799519748459066038145600424011236703283779252817097325393503345365637621928201699310728406298327981732488786769464733035268296092741300824734765619326352327676167895022014796289740894094619283815838153691001329825664470721049415090445155602938087476438093559284684556942374281567690663006783034992265090546919207930765540256828973349127401088040050611793199921327940317778669461483360575898792949447953964390951095750745169405159929852299044766095197152922329980221732310171427780256611190859553462971827977437667776888183188256058798747553427404606092640441126649077041239798976304462680620938122896913352445599728007383465261125638935834078481217047575485312379713834972418984836430496041660487681951360678940066390746591486439521733590113814977310196756593891219349495616258925937986240744620779281272574269867513351717933429479795433103301670826621517228334265200878268637170751524570146506617215554308246430533065752708979621859633358940474764538775648573464592261622539333653347061330297364573364853454632732599850826828669275726510160508075141606726577551208582320641872676184918141710648263584752003141630570064498927203163402452476469651857478442366425211069500269776287524874520691027489987919879613938937951266228108880255590493085014319178072331845650123977588777355902329443776257250953089605644941446329665848848553206951985514977783410514476419761998152446986887658948704303133309003234037819914914411739211198370830941077043506570895224148693489202603484113013960831244578782733868843577490191096618978887041027265515804964527870799329567656662151895347263096940525414127107651309269882396573292634774218234258958190374372326481633336503376024052964678508471047141756393340329165142818610126918698956603331918374401911301561590288470916994942750598103545151965270806618036706089832404094496380258735858242786668881544658507724057334016747184029428312755098668529774213250399109557570985621964611796453803498451887952146850986949640987254684639725878630402689862151782011603703813795520766251826337644008862872605809849683584030842527968278167809047135422157769662655470406502808059887050711485048395177888984217551009416214242307769746157090101305118979896373314332607498983666659943712772513312638211260590408980763656520119939238183989535436159576719652712652927993357891278247322415146824415427008648240733440592415000607983218808149548314074837850476059997617148987881523398943527002235910743906185920060970905412673724648573074772441893270272747549632231191163986806600612249456481139142023382188992749351312276119167930146115438997390041376361712416039458220294350504355893544498608420744802139205003829231176768749724521740987129971772658889869527349282832217741687905128145570797591888810720232362880372485660683322514468389038991388417450224902629833372320933853856054179582063845745278492187202792072496094754336444310108149555506807835317782946062625684787726529701561197689904024941356413495463142105785104828830134108514908786583407084443462258203620016534810561673670795898279903477665074233093378970319851249569959615931889059970859449413080119632835841584991557691312521888038878205975917246787615224769803663363078408064472868861492298110786299998992857807297024664936680037123366420252028728838274461715950206976
280269625505886976079183694458459987759924102957623504160230320558261107492404490422460421812850744841037010654875067206847585357472065691164280684790809478818756866373409026074696277792095038097853550994347643367132148403044803063895275047708123855504299055963538767611127519617882477684201845391997665464420062120592595592952557518112516787246706169503208779768868188527584757527987255810407628330610800935870811751564401206731565052526810728060113567715225758414266239499854355294732432093083401720119296194042471397707626338650002139286936029149058363787824792338210840800283577530690243284912026981683622326953596052558837433683106240608151920435104411663264299582733893042904162379820125266827425401512035093992218561751561468956577752008915611803273287252194359383678948649847310884803546644305808936900361429073148336841936129657301955930669965895463626914454745714013050799680607697092910787129112674572573691289995959077127884642805862139736776873289108267301099483154573779639227776503044211888532066399894436330098829979334580557051395290661929986176602790448001062220101500267340831205780914922056320216743692541884086819796773937432461223796592484247307224489373052943826828483208250599526844878396471879909686250313888371793210187224813284175260451054703016681495328057464176620866633081677674222059081967337972528432351941770557153307829577300474076728721571533623865642077321309741432861000390238222911148381457906166352887120096530903201989936033796706959228766128013329123311827034126982493828331528614173659021862737187710222186148731100898267636945675801386404021346067373019459908007810190811976911440472404132115229731340525947235027983633051869474351997394922602011779778320917165924413406839878890524336503215591893559065366802976881180475794899200979004025139494180494935387167948672158470445851806912296946241498719026979539673103824227888415887534594282776624736279434373954173680169203739986698924265411345878537674497090140725972367107903851033347396484309542630479255381958992603796362908212658147630585582936831986533592776407305379120623359531706468932198892205967225904045234984550897134778970067782051777205582474536100914764559206473501380281527257676174293495085657021043842163865467049175110492107776516521391107905388130965916151030786699116532583805296833163087231764436361326950948244243341844864891417395241495137436284870269140980481570342463958700830786992499106292411387874488757257151416094561365865474784265012450760402267377854080181697807149080684787863255094379121217291362345232426157022267803144337418092714143727788642485562861350765547068092326746614798919252348843623619288259962895215548253524925973284326313570896302505703281461127948909647733447154793840666786341864591984211298611612228792994837182459262160490673561131016887218902885613048382580705182720734345189316251062347321251826339448679134465540741795013701732124335991329150048257830197469097256085933107723621556401437090481056084116230827700171827769562643386570670539459409230931796335499378431552874859847311050676595694120665664080189801706527695031640250664464728831885704245934778795942192247927687143966835478253829971923857840480873606179347716087825586628162795753597663307312514069965268742146847254990119517712606980296554255215626382086282184608413652971661285035924753054848938304501563860883583664992427148594340478451038913801105530445409822437426378676249613534121839632570828445562401674462370338661248184221759170331259897889040981852227762525393659306760553040271175202169673060827052451939105563443639275113663140214760863482756386069843105464739816991200831636994790095344162867546357730548127669859878344351977162248601126205030360887399778681723505622255162199625051145622312986004912669297087528732033581297371897079731567328622105480237252436489437853025425942601262230929494185473130635783804161099704347154182988387451462590529217559098487593721711681411136444854931643453541612828130051718153386288695179001954177679218428195488195152057682947712670888436818591815604759105128253734515539389100413764148332528028420655834773665555259612733178594652346789541661336772261853165129177985115016118652593427905833893002485449081356870906785343813270927981096716332868488739539086099482476385553860866077220229698739981539466438164709799898559870161607389509648658730947655637016406936510308176066185380880301596294956997267400166341392136730645369811543125743472375125742311249253701207463320048512504636298030169522546486376474466095114350944486753490754430812107114671391366509067580211206064078117368999874288223670733897088991525018173461778987955484841471121264247123076781476718948530813784650537974196664384397733228343138207423413858649571099736562219749710303127862462394580557377413055090789214725210800250249314192802761106262288440440929344987275577986210904753236635984221137293482904128335368710300866257590749626611434592125406437834437909904642319360996449782668605716667316189887353718648206855007621189825844448224951907193547277476299644681904501422943271123266499952984138561564475024066797674287062322876187538042989313362664435884814768779799725818008966754186959891790082569394066000645552785034851796628999132036630905648174282267858781997796965575739231845748090489429838608766019469069765327727016980598625278352517456157692042383433933423407564896178583642583959752210980437488126100450792673034458757134910576852998694279671924533187220553541799803001687092209689657801061747379775255681189965392129952962036575992117507683411552307967199585654196931178687523134820112547338389991739232968100273434570804014194153347706349062561806022195601428989331435936823981181751964672540364850544215374187904215456911712970299939444452651708528959146394323319138974808175866241330415260380938585882793170878646203767556285418091319626920604710348618429523293166775163202617457004888132349063156887033108152245061942860604195953618446932678873331913260231492794990177344974210486538029855552670467907024893112724551807456921679844127902389781142403596376999803713761320150470497222468997312032347985894686985273081341864432443331912690876061335569279224008785121911516481863192934257024032233733775022937703012024617967374080210919487209116455624175666399058398490758568437716941442729925962397099084107580562063313625672720354392994799992081101835483626054869294410870583628689457337833358699397759565870051551868088926923483611341944898473369277864886049112156585420157218102555366771081946763924394440948138635214875741167890319368157841066093890747204282493350210438083038907213217909597533770829502531211060415422879229156235322242162662140381566399881650585522308920056464382809223908531596171600640124955213513853153820193674407273824478682754689360237542093057764059002671680883008124288137667640423725264747644459921843067701219272789023290306994313327770580262632440405110212284364038679665003130192222623188922578908672723440411290908467952795824727875227391116808577683195937361171431632762098583348234915027273055672317784691512481236340754224498166509259301609179496348906490540847274938822555317370158458512749423150024956004683448585102427802784791512337547060552002004095848553426729611700412632363815192687753801563540747410507719367926622026214902109647131162043648508624322103111206056733776223700165311345981784494583507709800005837604047780611206067093162981989750098180558830585113655113117939092997641900996417340134128237430014042664354890162693613351549477856346587345023064930453612566579322383260433663607055710322656610730915907703234010951213516419318634800385655949889690541376435211043685055911149464823076256376847371376134619462027840330502782528762065898971493155836475628330004825779515599495323317777010324453602071530841266074403930174873207927660830280302356374038880463024954689385091188735757821032612303450143414035984931433642448390111876831276636248145066963953981442258187411252860153787014677394577983618314266890095573361654725430649727442417079619760971152283287469082721525668261343755407471695176496416243269738321418036833357363925132091033978925727449499227933051023001046552715955803065554437068220519645477916159979682011950629622749048227268791414989967589056875417814697014398045623209946140994669089511607880141377321013222536814944496055182134125473528460716809929436899410939275983841412091699694250984845189998713919956997651985951773163350782022652040068137085897914478944121927653617046019018756012060436377112699366836043886180071136206102788867798429084638792112054498965621353784130163407809851543535427435835129789304979747773502099667565231173101763867003210221535502545131587764224
300937218902488004433107068518885519488358580411282456062277292656331979827154463692003183885139745405373669872072989154803111591727747844278555426135252828223341363112308472755507941562494818988538762329547852279125974675324013995547701174707807928227098508191768193829484185611100914606274185455369568319508204603558401552871240654963046812368898220434428569041838827165184731862698767102621685027224116430982832438485395005183751737874793560050034323845694018411517579622194463188510059227583509547085630592987421172042416123572494994641856751309827095415994541517651733097470108255048757803745191530850187228270278588833725973362377532776379912317091884609760282828047129222508825570900242095911766443843464919775216200301778246525555172239872713279722588624647119447142950153689388910944014055525998501702894987112248924623226899549731897079765186722612908088782130628420555525453714326104981526041289166697073695660133174052104651537627954891813509679806463990265362116247849324092398494693843033625834905658711765472532183802276594833603301241140350870717560266339126437702149274362191031728571318932797571100254447770417815778462947356894392791248625419020394926311596890484353188355695180370585047956694485911498935469679755072861631657246152513809774492390539540909891220595899961819547495065859326899271499707374983047140845434566659827288996563811760031211413453406659766824455034132155835088544097479101263135053041259946280596443998556148076472114346572201775595788975562449509177162080396016430539301438410891016890888951305564604353600606067564033930934219723893299182681061316332803269119178320528240129935979306634482543749908606295703466703837195261016000634900867443022954488660617255092590297590305635850697393352491505029724698686257445028555353202917955338367656622335802017145379859401581814073579012387705531086976779061692516139278863967828299343551974128288544828896198838377852539757673452400939838679580638633915925067223850395522253632038285825170718326713715684656553667986465411602816033630204139325326242010697254002123345012804244701989642080582289783858570848014632826429579590820292110333945157421703909719163749190826550067366332914849979730004711162933387239324608406014021468997013479993180835197341561434044623219712271171293689838856390464324885090532282501956973705856636943123371526303443372360753544075911931909357967200386390807295429737901555669690719540681464708783680974725041284786998561557277464326233482720968262184517548032737260138454865054134407289344587615929763371527744014782965786400239564673794574321485796873936468932160413430102305251307121314160016951245763636715744057834345281063654899868444019287806544810149167329611838856908959623968509013795948821520542931974558142818972641182124895594898876828957899436564517393575457227071677017928512456210100814578423022056728526750442449977050867888231770981241291046202843143922118609757186050618512748671383104915829149897856197937754382197205259116939812223462704044392157928889942210041583144216875618547961843004456196129048844294715669626243634279950565359969789140460279569919614345436554553969391493302848535014064300521928179729039391906754634263012470487802375989579993530081407409561731611395510171275842941447422484032926734926818754226910188184803845558280142801488294608504657749871863071059538976590837621376105573672718806181409051217999777825476941875171478325705550965515423070325312091144329257879757879746797626343442959712040213686977432613464761936197455034062075651752709517116201233509816102248288767544620520956458582467495765081279789834526281527455534098781558172912223691795471975345152296554155247124020215597882592056199156914699843497674614896978910112390514512853641254533193791960691801402491763560988386144811492387176731246533813506945070343383904613157042164769985598612540544302107313591856781549597986391574061651180912952153422607187199237864524121649200500540211409718237123430617978160241064350905400152081564778305704081985036523233038373841490699867661850103533198925704621018918833527019996523994271336375203767518835306118280470429369656809539767487683007567736126714823145976765358042257031436089610022584513509562630075250962384229042528641616595425715664802251316159227751359650261529816583974174286424038279913021301758712973754689960527493183968616424921261012213878701934830495771419035588549761675858768247461270345309799592420556078600852090457384161126778634749387773252667681985585214987103521830168273406666843914394240671709329437001029676273694590636926493298736115246704483098622276006074007985933790078962050393555205998964812196324485552589597891919215834861617330838113335011846995191350819059218066569716722906736893268649448822237323542764352103945592688335393360150174596497018575503445202355076129124382474327412453158839141762535897568343718430575425321639176858756791575948882710979724205545349605080718205429945301691971395758310058266842447166992289751191286914377536394508442825186710264652460177333423142278174747636097251300039151681703384422700497613103182162975705943927232627948198166754533264348735742534884886892063731760411954528840010996065951225525883171791002309541024891601671682098579327428903445442556112181545156732877798959452950412441326637447627802048133938481406245564986826940518270739808366600285219073659057544203027021163030124665017481606167776818497440041346989855360738811896867030997865473298369854794730650261780717872173466488363641247869768187103745187275930642490938491355860490862322320334717828110615272381646139006411016823945558464409214953428939528921412534799759347352105701921458815803711006489563140011212563344530321036030063077054068248833208529362791041993376091694314806176136927152600950670923743938016920020804730746144268358863932037770989513981257484051557927485976134776729604872717228396356255379899935076149858670160144436478767081091495780882505520128927105291690609541818657673501450749735935611084476086000775271622467580916281422371144261897867321291885940977929601297562805241317999560887256053799014146145840794957272710473377287475476179498113883252427984570110010256390033952352497528825334073841847699693049069182484097923534771070501607229191417375994994913061372490317438535740476677985952417943019100418022242249216582878402964936807575913879980367860649366012347840761936562289280262321185893413556651495374777937618057770757300276872411789024001276407002994290343840205571925840592602651417732203618577770519971767076685119114667580491310254962441750308327786209758806159849185021122826571121259694087355160723016992068040875180939430360074845930095877527506551309047162186036883829391972512898249388610323571125234925888327336998876674134651047323991328315163196670137498214851520276621318075172311504467073979963640815334346898645018662099974672955262668988439434912713593950187892704737355602154338259240249571910052169978306590036938426472182179485954774810252996680534742893050303352523439260400499931573959778053273890952149784841869180543648044442303888921474296526548366792307795398806527553076195558768099498240818958813932826412507892868055621905988558626378100055790454317917036284482945078729531896584178103622012801426964356595460229353770294022881835360197658232586564807193958610299986717265159345758142466197172364843647530506162376353989013688638720943279618053736628237320479198210953419724572320091766923288466182248836193642474720572260847258308008350516038239546610297153243489579721194672020383060495695104628203056486085108992442417671464937731871619927886137617591976133533139767755970123071008920693081014123871335615579608295753736813167727911016176370703672015254820549508313100369850785151373586894605455561299301638561938699618691045642491655703973289199795698736997248977799958526283404558533755286379405697701251399460856777822698191398482448585661914074177498224590192878315653667800818478090285872456829892484186744189647220425731840570880735794028475668956542125023849123770039675371609064038851769225017855101754152622228521207183263906511676549242101135948319984803130867758577688152152168887425955322209679422142537886993212828924313198363291049335659566451858849078994937811558632206868740774811850865114866247111769500664304373377162448613114395775862536971094797585653653052069348098591313125979841094887666406463748129272346077284965294781470666845642068816660407113079292450518640828810820082598894071370417471072677190807189953137770600738953796941671710178871291037974239693248450396780109674707023554210106752385705521223910919805841524945263573255223245064646657380083364881284958787947672173320357126974583566233365973959704576
323128878333844748018124469738761116142617688896861094551509477810591705169140038574393272878637356726461543690013498036210511401377295281727724067343563642477689234602856416387153403219798596931303445758431200001471281173660214578580916538337704351896225838413508122227655894437218050697409085734962790881481354393989994973904398378002976536910366536079617404120693954594366203287205091751320203263085112433391876615185675830226491046188850720791577386148682189875072468551600313786731646837373548653409138877104515218325041693891740171777617494898128134556592017783207100092838723823253510413127595985564432305224433296962470959354294665019929951168314306556481534286543202889340328224596267270105883044474475593439454312906380724867871273253475092684798354523830249391521142886763524778682399213862122910639733569542362653066982163888393905881407345083238965977193278879566553528993949648086893679257877329160755965440532278389616319580897044918925560551437048611897848162720465769328139104227421340495097305124853092548736928934559726289142185167083504183924261349208899423784928130573935435044678040904987797415956897613121158756062785011407764291047750294911723141378159637541397635925259703759120985340148610313355169545272236907807701275267626617160292452488092047000709218844227991925651286206646793792236044367012280549006089361813677972540812145556971608563240011079005871777505036155043263420216540731643992159335810859201977469641586923531802045259543625004082224261141339515961891790751348053324461238830165133781941637911556284119628473455726491673029799199110349967445789671988055025173217189403265249200627455423931964587822186666757246523701701417838607476614903615467453683226523438488448991195019317578155807610810349703555121772185232472758540757033065367487369424804272523198392559443406718005528593598969293532124219149395346730806538725441463835455963499339309352122884772447386516587242436810777362321698078666481865753644328259739991186047455413859752152207515813005060536749017677778367318451486540734051525928491631497024031220347029733061256694716711582814616867620380458629740772197400554106762779522445947493209786211810836623936961249180182253921658286092681256404850729557959227981696012704560465497546636928125199129433326606802647502967263926771220409045698538144534564516446544833815073199682723264119346696430534072231717826370675056770202227233638258317211254715483758119401018431235363727602495286971887385019744870786684944884114096584678917413827019344900137224019753271256235578432589525038144647618987624209806151233255721925514042211337254577032145747143286824055453629101545319560036394176211391935081472291280441311980580383587300640578625066211501308582300987033703251430118221248669981864496185548992301591876285101876590960225357199857437324629924659969441666337753775869321726746783919785852869045387357027093009908148293632064709071340830149985025147098478206925664471675105757883693527663389428804420302626615583275038339436597812625862348843864640601119083078240816780790006436159706645458099996665864238140143046679445177976573212784955422240645612163054600862189084370381729267695699315699258582433809558914019905796319092946585427246897809260429928741018274276716276007087280618104125628418686875681010255345734530211962018834650511367585157124843150020197710993323739289264200988691911469988328629544924503073922365238988603450219544380637491467662780878114566344612377598477699141468878894001164573805604913541218740441098426992431795239538943113850509132419879863532648082142072839559618062919103323510648869791260907703227611262119906450144878458724483913747986856459847569826116220508943704932271193252852022369707680757979707033610236053329940205684119770725349751139757264350952404981946219971969257619011010592623036498313340071573256852445032877107961153312897513939860292167834888374815911188427445227230440718084018819116063995271610433591759584416471254976904885316969404715842540410745936761832122330594858657162861000590556110954939793545382325859040920258082646819254804352147268670270428841707346175947040832062409438472929250542760650079586792249469332598510297164306134011012197293098576729910419859237225608197480958477221645481077994430141927519209880176329351817102289261879067198845300119630053901254876331824926771278533502029758851313855634616395530257225660427762341170334616601890584422347789930054059440104458931166291561924663436977186520037410535617809721054210447684672006748700114605150744964971833936160587502378694480246352969426774668508693279670681671291854525793340413807114102617816016355884734024219559498899213099202763895893671173995780404127261054343654225680257480538770812321057217182253666372981194983755541685937430268778289934308790285137385161172735822950969860788538544873960857949020655086501798699869520510548886588474554432636430180107759147187852849433895479214599677050033128356172458967652637353705120985687941709933791380638584351067752865878982515691420127455316897353220953578868917522750852290409998124859417003619312801057115877799767920068485205411677084468707530485688283401682081518202464671463047201734011095911293191197156089776166634792669937781233385676714842204015829374687116160915728726088623828313018036302356672802580644274270901328932197940866095084427529487664963850930048390266801633518860024878567424763259691693038331118358209326552304204535869873734905749112613406014944113909234000790505496096936751618450928769321007677948634616879359365712199180249876548045301112112211280810516329325549419301312898237990822273389546502864584169778247772357076386899546621947493621956682076979362918806758217271527332532489647191087788122655198090360811160828240613844830413771729434588871117531684580915230646000989539193827674792044954048259175027108912739170719100451749375635478690830684654528160605423569226146728145839967859328163502922338590653085806873302905198939927133104169767577044194667631021392399970666853305566003779713915605754106844737349759273943646665598473840837853254369549012538281373561195578684437665191032002209108032094090148242856205563185076580953778293354942711420899787556406785856296236598618747665502664155410837616662828341203578538446159652821239521696868792373868618850097195619347656949686364865243676270903569778255811298787957037270884628086541977062183314164781404511948615036941905303976041626332971566110317460604688449625734310307583561462775380569495334615270634411840511962256951095603967913609423027671840433030406289313277256469816439554748467126138899489493902330511407109107038745610545423846131741423338233988347741845500124031265494574525887627659070974247441376957229824933333656490203481751837415138236526036393837157172767825306177650264163664011415270992358627319686869102660163189099142737948808799845466757266475692787208598755193756706375157670113055500981645193817491989610429557918580927664958417482493415930778661544462286270306557223320129354869645491832674215643767040098762989557476842538406697316165486321962853512440452837203921532907783793601400933328317946291030252358348254581740090653109645641601302542634798790511462618155667558944181108914420774900345726871181304474766523961031955538511033795896785775656781145439636126330551186114333970649440004012924972064487564994554506410198669611574218782433226506633233999908302664057631042497219150396206841086661674099860595245663594625756690181796438888010341149685938921040040090322240584526273482505672017454828978594247872555350005791357591713744055548783923765528594992266256115203209869828222941384341058677231746835769600025260152285135369845188611428688148820586663385110218909785060953157466841621738411554218656656267991297636157614740455951315684796304761427840636242300364283592668133989217922400405062975135894751609949166766665429885734284739652973222106704633707655176354843865338618243428235353674460017016740901357567589373227890013694565862813208376455363029454682537942223772725017718055943801657644157585879394236009505553297738169525209436166035305823639689251213055281239491305621070218166018857797998522195059346740795932611928893186594618769198218549392011557873945956545091125068128800620744612549534028748387048129650004724414453689826115510859389561171447518151721641032535620610763236530549660392108801872368386444736364454840002379910306201476669783203603395353995221336041422334467122180333732449315149528201706425567180576058235031043643420508172596624328131019997779876203696660626300349313393241791614212198689039966136708522903541343797885832823445842004849668809307821024682912699810793773479688455112735762735935044397849088960047839190539029693935386624
346956991209256540669801353196330164347250161410780179538374248657632264027582653530299392514037806046009486987570783966021092560087653147988920311438176860134077918067634964141645585341034018381658564546142980068088576131022779557836864655466492598777791390454049477399538183337369963241560503791231327653212357288993231841030941116019557504171340288958690200722699042951927947241558391079149909459755760491475272103572413664620106829054484821406463026440438349752774644514777959044337585473685305500464272596171514009160088493275366750578572331346226797384512544398381228223435220655812477885394618458275031212936207737646817227444110215851968582119696734527251641647151437325202354184636677682194991533304696545143162107504763980758070259940388760357944442258616143448026802097798092552531635648588481938582496529834447320373620622828991004931586650396674439156225453664686467515615600380100979329660424169781318499550998092128942409646959308567457063506722462397715863587914521717287959336298877500959730843462244307325321598970352537142644281296649986542758467858952264624327377714631367600883106121134068208295152045948493959335728425836668833637631678272755051524806395002976879173107676281988018223435808429268927191307369862233949561008552987492060642118307997292826435245935416535922106084439470969290227407317180691547089519778460814534384593547611696190894907348845751972869088379690302100463735786920165714659806932180478538472659862169527585650083912925319455254924134954213672198805891978789235456274398801136968226032552701995189272111290687346414119828198406486351323582823520815908941856140898015500232496265931371400908431602899232406047577124112293412529560523953656218330463165482021339022736699981771604279420224587008773135736208283981163785864035024435997118343151170422052124340644791954165109914175112013757174461664047488095848649882182152583912522119458012818648684567709481742353391949231408827877208969764643726197241195672867963901850518126636445156099223655564896621959309271545988392256088013759230784360441897972350433854368365618559426867117333058213293769299873853223054397386405359025206157619740960602767303461719818059552074832712047397978272521213869405302756104803293855170698115294921927341624793460270908213600952197176005537865115381020732632714754447701446118934934991048358373576120843498902741075513695944012232449540563935567740488318709217641705583231532131485500459317812278022179342436384597797513691133573139407633208138690945311238267986571876358440769266489508637161359903737657751103510249028652463815511615848318738239821614257208694844681171475583816469856858912752643056355389148197385953269646644920349850981433651647853051261294006058184855546715934568878665305747419182463901231055112417435273219345947632996600534286490826457292913815429378168079075099139364812696519921352164731349004427359520810065876425221266980745604290849090919114474131388297528612402228424391862939468250282223306776395004934207332563560256583667683303668020535510408150060705637829321455269671733862968799101605994398985596967562562504608708570350765258154835360986541554832541358880084743569560169764460194473745750133035056975192822047835346492171223903352056898122710570985439213614930337333618082971274183427081578589193737634745089575204722239994478363621086555679616592727042596283646955006787500656395831789241398987525872887007286105818983851426783714650371272671356979056147833106895566184299484028062879913107602212841289110509544207589562384550016097061698098085339173179338530416635269331117889603655622104767030786200873206986297159266003751570458487926860529136071006422083583222912387061393445259422047294667505973823701338727483882833185254284164973051270262201930453098844826749043941441811462501621302607499547762779589806380154117538691983359362364828461205870053679334219342851016417463947174411232143684092729946507884959404152088008621983666362382246807540823820962470929434753546771782971037428051339238276613044054539564241035832568795751103435731602245345248964608552211938454451945837746578634224837757053157160800550421169192300738828100736810411881267476254264216387106159984096027372672807739528389777969576263201873245472556560600232071134043225682433833352211779353319844833126466625643281506723244278992281151726801428126120059043374514540971289884145585686076963840669807310156446745385920454677966077702321865078201822180483283584349016797069405993300413181736751083976769679128976796297368089570685143600693647673079238168781715703749958451006740121267001519681970139857056284314867996382974165480720976944298381507444920369992824567065302668651418216596422450619431062412615118411107227307943344274739573649985637192162012292619557325699966491526670811285665560659996896033548147341605515440892111455467272581718786337206255319115278727515002172726677805454086325670437553823254169589194748299277238344665513510501582737750492499830577869765313248426429988076282351845893345309790126049662614068804184443862068238970794039357784061635859409094423130157042815528633616730808083913271021509375748823576432094706238543315151042877471403617632293050987973036960030893314815123448968914170223280823188048506211268996012136757649323535921532072639595335062682829244190669353614132890150793863051682189354605075710649507899163786191694254973339432620720301513798365172285229544160625756941903567666082747981213991650767391520263899981338664126964686451614813261149748495430452311264814025638571511837584513291299806852807220472985250748594233330860001831800123282732516948786651603089118324518639831459221438614623978976848894622940233868134262323929550797532471740118061299289973036075078162945328120625334193947272427420627861453931482729943163839389379704595343217800813618900017072889169649773990618343173411214004174310700598585700048605671416121877027832447513473056370946345101376397694198061168673433705500651998332808840226326362028243831494111033206668858564241373564658870250820913940704479578959166731448765166843931223353477522241591095526780253111872823516277363619036520010494379687793758895394714817131133291377612993564398543266376582569612028725131316922969736449998952572487090252251883358096082824775198433591415484469967683472212194980740464145401603162863282513638336259163585517141815670362560389978432875642655205212303314873173657421841941535704039828783126509388158691320735428855368726318852868075689046774317456545234984079349291029247006798511447597826072602889196456305319964419999018296548310028779616504752701366953224420015201851525241169122139158793950539037035398591380191551531587299075468429369557245172713530516541683718033904731427127522211118358720380524627368621481975299609741009091501662407872768548662677174430140189896789442560376809939139566874800970440281507979373322394078670864425001004695885873799315494224994782499837265500930427372029691682943010728762584512071805968489504937787029592359089119792128131029413676432633792715103107755866726912551138137744949597230075433969191445590692618520805313766697279794339207767107250502502464858006433156501813962031795302183206632872904526619196771764526282000678352538072112822744990639001268026901435169412058156862207739672131858474490966985073164176182460457503768430190292174487405379079671923662571505780306411711105073186824911787437516774080356735249299996689985605474153456229670248018877873684804556183856585896004999888316755436926037084230124623615727352996067065028472362367707905083844666585701056176822863962962828074108571285875621911153235734789448696284158667760667453382181843118145478774873281989159020104487417259466858841800172693202260893231902795794477005742444520073089415292930934008739974765602906459757358592993342995414449140128099101729244755216259248331701390657757282278465693754871319521083252442475690348594528010156026509551822291723203898330338309441755699800886626413959078699616892731390975788128425188133427260153828836553631032560341921975017706831633373061309205577410987932974136042597220419593970930316123472702255390700190290924375329709388885659023190419556771027506757710679894513613928475278305823530202774812581180652293458150882876864742645450652517109958378361546116706184554401392836877423511464852754938789634860502703582548040619572911624455824072003460128891446461108099168868669783569233137172070906462721673099991954644644833756965065837942398808855636205244039697301024706274140012453498309942044250806222330175923396640225451447923592719443600007070600872110543420182048527642738794258548953021479605808359503100233102087924508579703927606161223923508744491023510114124917267462456700029979708061286756343771798962176
372542232590579083662722686698695780772436157697505523240581443748275618698226184712383708984114899468800454479338518904785441947941346291000965226994276085034957708304064921763625125165629528943171595240997295583105071928487262307981668549601723333894165898277627274049226905734314031693806127947155640960301875974823287880643440754351435294201822530391191076774916988582257458387726675439831752152753004864623795119386160364331717773703818727517289855398716501023094195862249280699264335898270763930065740904246416869037106126770904029035189310375629936941324928773198842639991613372814566206623280583172299908235056091863806997590461761225926459355896958058134955409206748717784456951305819071780142532635141616148517222439849365388671263628547158815838158321429177581729947685376750281076134279018819622124625798418109883809883769040416841714834845210975535833782539573147932018333843234984718849615881148674678606832831872463050666125281284035000174411392013036694844802622522904808385790995386137033063146408208677681107375065022855154570618782634041639996931270316779346655953320445236135386730377292059346515248488174067713950126868326513519514023193268769178529459599817360879673160248079423353033377204489757792868917572260517709716361322964390374379386723252806986518696388582737480763709027535576160736761707540542279353282858208590910675824193311213511745350009060642018000053470025869532462962909701734076841084634847311323092487974537497147034237326417489687668108625647359544872483929075252122990385545213236221536850237421616442968262009593625552416883684323614548301288635142310976035446522673436161199912964654339786832854606276265491869434092025008309592674770908394519339093754069479431769195681710168209130390877610544446770767595865685844785076394383137792117108518995636709097812598736248965769516406868229055941599553372425090654816152431649615696544556987192575311219782933030428129229124154648312934576407224249405277182345209726154871139132308639679606785945132910199849234027191009900876183879418998373559236131556974853456413980839267170887256693170819941440232895881754129630707500899723003099721658652157445127503866548551620211585453860728639879644249297258829347576612198623905258977225670131768201391676853654556519408468020332571835261390055187656438867462512387063363182918034609687992249297397342930371201021797619905096348681673082165124147485981528676217931410009125175849092740745551093129959602764202004608733382735450344958360429809660590773225566502494028214669388163587080929392765359737051157621107594719524759361441894161069331004609527159669151187357758650138561225344707889679816151970336215267505495729152352256783710932759255346340945267326665182456923907284793852431720078751556271378121988961851621999668478869898462252443484151198559521151382453939857379004673182882404186179658805009904987149994417087378366091712975682811496758031238529392231811918637686240626972957770071165003382640648122968193397932742544781260971785838055346880334846260268402418030647782289939020063591739399266684402447981755300578637679494697812563146612863008087003794925387568537688973239340789834951807560641139589634481860093304732487463497350140194175931674297637287942061424313986978668020934041534376928959281317105145191160230537308638255523703631385036948083040723157309079895399851459298702841033943335199657691377243325177784000887349284551932734457539748222185172595344195246877972733845632212242448142551103864593118308282641992029855566865851358148523703288388756375482991468234832763037434034325782742059824746627270731439479627662196254796297369402106961342869203148170026629163740530225745075494597894495982247990553337864357329876490383283906622664983112480981776853659061031500096566482431939879829610598460419032520493982076068674433519567105520786459393087865382304150944626235782808931728341684093291962528046787807637902798826692780216151786296468418151758672347061123982892971318247562301203559053867168113759349901106465313667188334990511777355273253095117369359503132992898298046030658973244171219392472006119362325834796644309430176753602065832507598555595583411385130347481422058302959079422287628337442530139980007833357483458810502623322059718882765321639100148982915910397119190646518187897293342258374484575322736845775956515121945054240220646358337035531835229856116570558662844282935916853749541812924828628882216808444150327188195778117368171148291941845842917429711662596743193848895842276510012458895022843019510724917705456887878099277593924027108191774103211402754090517883650713990908952755480082988147178619232890560051778377610850317552708414549841416075069714002657838797179197852718256109213696170218826935917915652514277582587745220969644097350728061557430324157047710981400352918396257237963659941404724034199918696778123650556541447150357420307506080288587799578833641920279105670307299730086839781883889146662612603719127473666404372855841899296760065205325663610019287502395895001754649814845866503584882755324968274548354846939016105728608080002612559191810583856254789014980684441820349643192812400782017317678313287614758353428236696901870351170768282986484198996874881052820434992038354156698059763301132720448295830605826515368550539589692096215406137830715530540041648905037561119440265927036793210898836350531860215802985394553753297316741255817788307616619005718849240180198777887112752281029129415749970690292927316143181410430014144977336446319286624749529842497158909942539874925587055552497940980924431033325863892937532559213855520405577026080452701093879153433944320468254630077009117970384260739385884819638956557058304590594720843170905462821114843425552666072227623485828518738358018514056043532575182763682237473672157236795610240785008587474883841745205475157969593765874298686876505226896467985603443301390506742283091367246168510959500824122594749195285358170717620416514984367287348909879115123147940240783490871145235426053853189158766553627582197280895785632039055748082367707745915272794667035094114351474686591573083269823524001578397750102215514118680734387720221212157346287706209507470921648475937553309782109639181826695662894872391592312621160133271780503905557344357333139529193956046389333036626773672507775553663910842090118592616990028821332051239645027555836424566878334445593836554109772247752868553167811588879703744248216849926241958613194637220179428400585848390161884155221727140276942145921350313971468482850518426374082228570185631382673472887610559499944847983945155314419317919833670234679648511428464943784889634973098179145242091951409592436075597554010916540124526985005683566504164621286311129647432826560164794028779566739572307690487467703950421741325909799269509577892861538461370895749995784888075485067798722226031353047526718773637517949451242865564358078853463357289983993063429110828720607364151858545162141310783542687729800858027953106756946130959580007556756451678041624814464154160253233638583322021713952723269852886055992547557298225427317886544127671182593747049633865679552745847662212125822568706358181913181131728541196335182900686633760827472149850866589952895129354148531346743491544579865827994935584147069518028067022252332943305055062472023686909788362076240075985612448447970801106140986527032916760418372635038289146972749789576922339274873551282259547031638163477268473169099106555561916947950295026322314523563645240364649894389082893201029272606880011912895649108464563092688915229998526302291644703946245232402504378028248476495575460491744506530115708016041281374802899102574550226749066852018901329359373877085723171905954473044989993229026280345044871113988012422692562947061269271950853202083642091725155388568092446532437241801248813062745727753934255676376723143520817608339719760550008228196864022962629933780939507854737933436302830559084342044022428958527090038733056917128010917067186866600443062931000224286190502616088399884852807753929341688894695544893658724344925365121194965695278890122610224680247380793638579202481150664875686120611314188533912124254960124229412582760612012847002539394212594625460196591494215175412392850867002587142046517122175061667087538196647415116169416768935711837917746008658812215475523578772809299185620755908979400990887410158501656467702486308228633999546496102613107176821148555462753929509863313618988381616962616157278717095765466215630380442497112359703956078171699173549708410145183859341003201990498087928149386635352626228792751148008916919459208491336718399877195965621617471198127628773302735080410573823119468927306577945861066270216674944607803506213700715789741535376822936830614234108611211266416713545543605102457408165249024
400014176338840630508260458422038146067699728889671220774416310230826859675761889137635799072488719181206431084673911602282802765828654211515011188593408041105014593477266615708892138747571352515701861019058155738470383516145110591338686547012788886078882714575217967629764763553038407779701201324356273536603647899828535206639182369213246069814241547906532940308823404768900297406841739700220947809612938064822026845291993589954043183389957556249773800872514103067435027988944795400716083485557928508142197078436956994424271456240565722265193130308031013640383209997604607610953570287628704332468442174239209009743341748820155685176746016500978752558662664901393325059240320761343544045744589351947197169971636485421616737317977587877674351544901084776935744204852143423426623103121009973995201103622592311387086460110917621274452667397451909343206054555590536665543024860624041947193782276062552629713737923945164589914463757823811394849774538432803167112806186457052501589764827727290734529719068686362195171131529034145940323242169759095356458148474135395022256336592575713483891618753724340120858820709783983443530955505265896676319468628318454003646857118712739989203588442203137806503608617092527954254372428853521833285746944660088815148329562837607634165568226852186824528470379041317508389844231315771720407699707936420981911476560825776898880542029310995754897542247190287018418245003106478972809007107487243630302373959326021553181358477957743051338177316398762737945262332729018495190741415947847799568909780494729455845657143919496501133624290964999425112295601478091365961760648175486983520637909832700074352575309198332229680488069879157148143331818716275957195305553961668106761802001570267798339718292399452218479354758506755908714908264916377990508815684293727751156922792313608068042694177240059423474110308618394176531141915693068143067649896621493686906783116700100453926497391396161746979387483734537608894864160332333453236996926089024071843416882856100539765943504574920414321069358940567368852876846751373878527575944690139072422652285455782891802700081444547497608856608876767469208318426550218443052787653472916666385914234894401244143031160286611753408356711549413623771641561891082322777398665506907108907498443261624583060739853197564769004592474632654886954893692302108009587600856124301512868658450141450810278382215640155756860329199650615682271308042821031110547093690089922960525588193287150622556692918349702333037788708052562857019131953248935557760790139821238404326572403734002659961803089768077470365399569654395283529915694706521533263349186100200693632445285513551556582837301678211996571001290001674587998914244256686089458150429664188461878297223501076848590277637181438574021952816119673668183698122406427023282559897070233553733815129423033086413651976214978448432337087912038248373782436988995718969131566993218414185455641794129661977138548707528692597160342968819150508847274711185320537042739452098044273081060809355832836865338290916772243447554260173141902238237657554020251853590253901273972716845995055164974677415764227590363159274948165466205458107591748583170870696968234981812802259807832412740045751497833648921112778158698750179052859718980445322240062938327187249888187940813642404257143157600997341214613390277291442199612398793218942077449549208090378648365715236450949365768362649923853715030320068218917390800039319887277021746379808589864488279690112194884748661675666006361398808234276781663870183198320061130578823093200611273104076109341291702736140078907391318774200296644571687037740563903523317641001016847462470945085868220118115389867581742626654926846351587318649120587245382675539628997075767763303969352478865721006865978708124526538389608861266090235143470983735082426586893200621923782870525695381285235509466723572289722823236097567861716358054297407687330197481072373563098009404609097914082882746878165716921933278828204064664065653751772304881643820034822028847946893791047344182603859868275684089738931764235138510932998796764969670154605753509197590440595725853163602478777063719543265458736871529886778388055080737164787366944967138484812225782455926996053626536247984303679629807677108934523552333113017957122613341990107678620714063687587874468423324110196178322014477979563298342966900849455482243891720864967673450983259766138705569773165864028283341421387583437657374265374172266863410557062280574445250126064842186168311164122057300978459992390699613422899002071996173131876666851985435113360699307173543593807976782316184575280867378175850775776133495737419500898349599010303364521951068925390742378049619635182160024349178894861007188275640372168677981157957234583672806257331592577713312833867008830597570076193611228701720204316544659517013299671644193645016842520401464302271199641506698459082130245411846119428594824378732916219540158710303923266468043349511524502652698151025795769288551317169722765117263076998831807770006527469703925312558632534438002972669296520892673862978419734548528777147855683309551539970130412488803143134071922662172319970965680523437328604106199599570905502301083499554686907243729271524035149419877621271655255711178083405081438454212824687870170956507507966508520235262846295187639391488615220202988713683335147896987192025131262633664899272995541537257381333222497582958229331162193506731506892061757842629066141583913623614332100724451079312727892378015999427856941666870735004252798016012373765674532548906837363716225332122779554500495331709299728466905102147783885517882778486928189673232552753495756120854018268597443739238174024260595333030794151574107199788606093044235032544045452748802917145975381108037693227327876456604184858751861342717564308305820890680157809526621381894089451718455133574312570945330423624270150904959746708898426767583585073347394019446951115624445743344449025554833969018405022898085613768232682719641134968439037862603950618012691834853975981864677070834055280481445555551024882273925218316881218458608558183646004753797993560003359734626355417007070664025459444194819562567679192249072570890004215130233526025319977961294172677969037795640008600942679446543076463852969629401995572018222702495324685991192266666838993013723219615025911068891090770353677577173697510559219910012879806936429646807717913000334064360078352813693954824767701549526744981510646993532031214928709869187337306106664120235813749058122451519039885148104476424031267724904064846666697252734428374480516758430936031859423456774757509159131308973683993783267891924078090854399433848340084794259644860294708629806491004733482255153408415519533620041705078792017223323065007024056232938579135000108186991681046080484878102639473241021580817846100538566327117081752151224886958539143114322058033807186382963667848245302439297704740591637876517313538060632977253573973711109642729721155928616537572248807272383986786471994704858792455699411835670063326282307587925455948548274976206402470647495388990612963574507203333539082085425604144580141082291486925716702144470447008068485466933964830677249783855642423130354644782918024588097012081403156876986770869695490070820276681690273439386015173533071205762447826552396884579908542257567667468562799658411199144662553721079349714446250690108153630137078449040474695749350371794436257698898509924437355940780879349564323170904871164947360092432918283535109739410048628662842901450008432919420478057602722741231432870369846304578940494303395386713814506876903639997149134605964375181353791168953032037042677580322878045683383626351256195586722678092522886360656449156631984713195862358858279976202961365112348286389391482328001623829271778400372876571530012382707819661155561530460132143653604532331740361639177201946015827624166716790866035096419267056480750008307341809078159109007095872148934945203597608635689886389100874161196188531166839298011601463183292847283583633956692404413599678966969463288290475530237603243769225434512153030938298791004711633366689097863525266183668947086289218639424584055629640576040522431948396676491833482690153235524837356061061930498030651939581773686396914228327549581487895782651894495339330619974387611481561731054030937866191720921454493217767584192961306032821918169714826523938511730145021966319998382855162225697722652264737932439679701469898028688866347430571717542568335088060355936625912205508812528320570787194370581342006140776539841469899391966855786556462977429821944168216095117847600483503350324751770094169935641188421364591619084176212858501772131996837354545025503840961269428836205722951935917488410787034547567329430238281901395494340362182676684070387517540506772143216092051631946477497614248324325666980443979776
429511951327924380647249631693155400756310334382301071354628461482597893336444619432330849943791545553052379833388064289049899205613104044537409917020693944432365345146898758485572898078078339620356704890798002904701256566605184495025719894753773689865267733830065925760356573908368180711432158085005520773035731661015660680024972586987672279963175060825744060843279165930449303811764719665048453704102600851721033340240791009873562403907899529730214720536266084493351681954340636448871698387919247813994201542368369272202675063294881221416905883449214902434793947961803007006989568939950649624701367522606134094439049541233503813365649030142495023557583116811922848990533610068630085674302134808890761440972982988121556164556734123198894347105839308667965619113315370129779706620905693342199799800250535276037146185725199928980972011693005346090456711026363292236399045464323804578632363462558276798724825556314854302754968319307633517737981118885596174088681328404879650720756985854946927872240335018875827367694760129032820244873196950848688633302522280955874158039448470191454295181338936579754567330595412429028642729164687045502226803851681434854735879014514001968045201361276515766878543779099048542372078411732490762096061837561750824379366215354375436905261945896712859357967724721795632821646648008874647038181508043919941149499848954316633621056756661050045119943945615157658239927984514436398481589695222317032333252686616824193176264854920210818867180152545432613584579989302951216755841915872184785183507601399850428306243364190750682288835813911465202879027683958262919326432392623369665773707690947310912680269831595981226055114197362285655830059320465651484766233309748131939037044014692910209957753290927153161670868884742123605746323096363986911002390440933355387286652389245986707001278555743920691229479619553117483059526313359129212093751355391774068983774221697970722382265270968956620800674007187892743971370067747468168254911783701221893281057486190303723095668711683227390327940735099355514226968773078188662836153829150113042436766763903060993592225833575216984937169333769794893611603663296841578641940343324689475965211038483078839274007594934982866884527152301709250519012170139139622593160789076552323716904025744897289018878312761845427429129788088740588281461358898560213259600031038869077153552796687894451034588067990622170015310388073312245404998760764524050199582016696044603654225065333009665226758997556692452933050708310962329970373946378194791848528160412871558200463344453412426928238219936411240003450080409525441354408836600407575821465227432144939546966986447521625083294931399201610256828670632751035172402690647755645890221614014009426536957326776181921369496538813608073414290632822275006760334789018052221302306331269444832092148667545483613818144291442275575340427565357520300366630187671729331214106728439276535677878615091119415743836191589934700921610243879805449793500200885817199275468930625252514684610812333292648215294882778866017660871948959657279941920114984967541083758213380172577031388712454257627820531042214288086827663462285360693137258947201152371043306405830823899432285124997383864341817563056734634241131266529828557483776544187074190780634312945274233546484486715624044439230810259071614349374929357131162778927002389173246305697591028234672718726746857697051433658531764873222712149085832085353184790502955038607484303723245521072051963558261083222900193497769188514085283959544898570864613725406578336174139207683866546346297732823478941991411968839045526281702375270660483482938660709924557687110379809015649083324123503979293258714158888338797043012170588121112821575955344808329611921423603425544370404318970756200724987392501606792744466864641342414678431539435766781737513756799728982377008378215997569584240204369035814162840675956985157803102067858389568665547933606855865650235708874126801261949807811091962662024304415296415036607802315180437876300339442517548770575116394333450212984857564402732769364060276341375589621842069828223832936484743773860221536090218324179842695973005687586610300580325172554299939874042203190583375955646322896742875609154054252353461758845712782556335621339988150402015653116227499425588641475194008798611322926362770492007890434225221509309084940184130686233457689721478911355909220049247392295139934759587155487198381096264942606615456451302419330753523772312133210400909225604610658497093591248510000363981164985128616940615923552798457852564950259641044808691179120053564044000056982958892095993830970582743850944635804733680595380593039947763537030991729415136628786698775633721096149586707076804571759470362084816197507980435131157182633175868719609945837587218754271318971035189941903579947097853066204120499336087256819421689837563409592998576625492191565245739548511672835895514083283482581244485380348270408234454851222162493434903815573828499000951203865420367372273615420639391333630184578111144184181297225997505066476204473204126791352595140153741871574478411733105691228079085564227149536734623599866485711462786467842647936316846636871965060364647751333691372401593988152707532800680568408761178211938921008313766506772464196274594370218864545948038032196273653389428952037700426418342471235781774918751681758040106220791669702695779694392750162506714082504590197876352561160477852393695758844488550962986590838434280953663278102422373623823300017113577646596726850068956447383375687047098816707413725121169410596756988011206508519110799269266373028528206759408015067786793778639190742234536754685169714755553464958013453141162306977347238991884214372360479714335872550320762830636528542724773405458072840479970039533786663480712560834296269405961524646617237590472976217247008959019152360182707333949586246019472968493345016522501446729077790593788155622709115204640087660762129427271447704556974270037910981698857352213035661673999800752886441914947397427326190874985906014944419569279208335718180978948974050782162189731555166249499088821766118188114655728532658260927585858823929452675687588006047771768462301979332365844575802429321625343780378543319799806371813439258215442082551880748378473416868957677690702754738769805815539279808410032345546100672878426860590499558372909461109122886822386729812116046194345427392689821010994809182452010875323923333091279231319672238076473493230088378255199399142488964908012956762215871017357965037946683109405457007676210658104330839970820813474179828206854110412065116660200632876059454065713285042222357952911019484450726955194478792440566524884022019303015801885065621716962418462121870520054151896893936812903367372204290010323161912582951434038840383358404897780679244687883818345767212213703810717483743567590423676022111972133957055631902969207116653981971151371241105066240603166767176312092679187005937117475590803029051494916848599132978181134849390966102474046800498338119313421473820125660159562058157872088388119446225874925005419189311148160006370282386536924408493134373690612010503440399876995271291204267868409284538798302183167084843241338220763248103766786056082483763700134441235862144453918977496901833216453060382781605865093372521076400797250039987206262420748471916821785071120083163769017911617210296969728211123396365957987636095607983903810349639752515025636140393349328837147468741591297377125129966852860095135583289633730275405937899634310298469139618028384299578280189132522324583536118736364474325678251118340789371923276554611667057882778266591829709486247150519066720789784640190939793581701631661450132292140588358557230364762635977554805288962687042118453432099150844330377262813951019584484932229845404143931340174770041501966551280342032234585460493847207651354720549869000869758676731384286042356967115923064077239677968751534807940346671042320267493950704068207720250947658523810109785946341837265495302962876161856528239497708168428536381207239322004169699808227263470053037664691260353084753120271745606817375310393861805168012780896122382138214256591671013430551194333087740582161253993187321291879204807997561951940460000342092629916660621515671475187026671495975557077249851586552752481212358830349787235215435470552621776875366355901508280641395059423840701104410282728339391657317248971311670636501631283952216036572393288857438459770452632063790418387680382319789356970121762097127205481935377206895212232981333763199310542106041416602665788560614226982679802091236373967846326406512797995177497180169287809957968142678461332265083697174090556576332099946716242652903300510374620712759349874025730201650336375119697331750655959065232933563430586238402166847883956009637470775735405409235905671188387418663278644150385233598491174501351424
461184946048644746610248120117536888323531637949701865673472915074638406249631491344256771390117031597913551089842916249553702000051165375083375760537488561640562610332420620879634521267321930798853275840075168454451225400918628287545435406706004992639142890771041493166173854558762059220654783074450174924909276530873505191135094431102141899401898242642345374047029549767359292614374402751997795728622682921670895877914959538144440904949892769061262981940260603713229550855121599697932380169022272712506146689526226102240452820141561212547536387731091420708317694748667443072369760502556356998011761819017471656151573311230425594474187568569033586505642264877239104822372117208395633373201444156792257606379199088386610049849591848926621531044713020340040414236020508210384778905316155701238269209955845404268468837215218934508699349128196888352918257890488233492556150268721968854880265369718279836159675066919326377334367908235592830459516200669780883293402227316198486665388520652632913756735776289538805307297690416190175765594273142715509281130317417754200781967741664337381764120645280525365990597884329147577485392257629064626732004429394649327861277771287586946708444224104329007892926383833665458551136760484667630956175500680346042802604348038583888003452876984925781211279733675910735341149138516535031698133210090149269719836624503932434857813206704760025202370910942576186006108903721174692837612949767614775803773715580849198268410978829122539114979630730731057379394095988051328062437061404254242107987626644940352216726980454072921530059061665821221451857236719840766869128368668101089954131267320593907276417657790041712734174642804076588900004128784989154601203567618516168814292443904648208708260981542124086939845643967853570067513842783195073731832380407945275985396547282943751455306406776563079912082249269790431146624884282226967245227439340835723426539559210159460549331137302061729395392048907317065628183900322170042363967875590443466720336009870831530750734248982478688297483043069482811070523400396016389449812825656226747992243349735850070442968878762973926602216725838844365172409264993432530090036467140638302156489861005755266017875750775341664897341381889963088969957074243398112153852075588336567699226988236268973803785569978946386853813449395137793124169344889258674359191922838131897800052507995960946573357279212886663727077484015986136102698988101039688153166758644809386313044686957184965350209579644934497819368017426304651377679187146201069626738958677081299979887669118547342314193223381035368855406255631870514374287974653039589605958371655566143621530065695945149996381251570533609140904325260705330643903819518628888724464659595626443202986563462821616007107791547410328768986331752703833588454207210898561028390055544001929477997446369457178463205855788416566976680114966863059432693366444104965332135093125061460659166460618532487662600989114989945808464264280587140426413329043503775280613488024888095578040798364871344020481072132845786454800859906377310179715918326248780144069480809807708296463821363646101861930145915790689211805739652438399147104704328085041785964603187673089199214394602758945726551749631773261654045141947168265719919076963845638832122271058845567708404241553737930774436747364573467738122409907797162129485988308203239340280992983062732985048696128569900445798326890376913283701186381275884852321163700820544390616331167636995735510773828785767972652336247628406113782490279681601375163598573494564282505414488389680846454263288946949199448879756667905808755046248251481219692430430791529473351120505465234691272372354363997601842644859390712266929694501488316413948752846477044767897721524618796660470865069137565625758085201679200572233817147556110145383454612888155061447910451233400243152831688927096344948998693341284220533580423446188880430647200438989161518684190456316088383036076437897994291488435531331420461872155211626182068288430533266254417412844827935968926283006263902095903549445581987754361537401164732672269632174297292425057492404927917317793205592851963087600407132581751621102122306609291568756483444405506835613722693425846041658915578185309916962321657243777722155192813772200751046620653569399232190500171256865761292970546005778873781929697237141370209569843444239378890684549588366818256828279114096264830227099884000113819795998368150639061682594676614026907816147909709790610666848043159122151264510371365885565073061799992776934028414241439026376439000212770256249038149797721077028834305437440986217716171599159101205725438077371990450036717363944915216484972348604071123257002640850287518445686936607702801848972552595858890986616963166974042392511247380191778527812192108024298293822845128016406003964526672257790005101272921120160442283871347599132045389295259750669024375391047860076105701965202494495857681922236485623382888171596933384925181648198802219180463523373452315789055158848831867296821866930357730431049818030128701309527401043655158225274202932922214437609554201662927906084018437349985328693894189748074086524295990050103882140130686749803169418380206981634536206855550789346522576807942581964580005073676355620058742813291974059082576963938934896775178165911797598593509225279368972628008832121375857067217882573945510318666594150578104206159434131866255591194965167440275725487523045940809650202745269058114178534402114135314867711514258273253520014074764077422396880422815821589985837487205057359660087534239063947166776791899008897981568465479942517516280761295891259104875594987896905450825330770694675271187691593537448592330144973904751076509677536985356673985998740812947666839069238493360126363242687261824065714360201672654493889928238068352523947879748120235818506215423658201565906156485146013205859846261644708738809902180840453518820710064137287923541181256380988386622081362519601411618664631575086638961712081035347942887439436040861406625671377670131633079522698778992326939151523670043994298777000215507456266194114565360390717821162644705805563086705324657053971970212505363314471199774257489804417802527144804190122606723433079275370712514664859408517784456829455766685615009394387088964386985822419283715031334812502953845128558670605668412584109387541036712878522276958166671536815091301856660740384717694686332678579090466097970949738146030509589720330502795994394900108526746948939740318960137080201824409494803627926677040773100736643006962975836433441184578409721247036929625642834181815748189969496615750294444140963198542267751641939584170933663198996485933324451312022311191462583395816892999022065238938970012162494773636543955648027608417972721256309370701464146824088280160072112920673560084150110681810668749121737407515541743508612808802824767573291352221251868966747465269827378567188736525297600826067144764076675986607302592019347543144322038477141943743164888810763935575021231992653924228449681200322800980389974248932295367627656144548594120440857971182010215553528859483878629115230257725539193883655351834271253239214278235592505737610377159224287754257007776344708573363244691103090130475772410885767343977815433198502446845738328746778095865790059675234455741092053035394312119935788875877119681180999785200447819297036007108534174059857642195892703058701151750746355025839965372265608392213956146274985814774522043579224308240752926845649538167694728715241837838394100784073272860238381172460641602145001062219498519046112501864565791254935392937279033808713355805166998411767914157869495761153118313145247558522080125803402234599803003941615532404336208550406540248418081587719690935642652545433012241202376442439340781979140415304573232990591483521995730022063142877264358743989035430588234543441520872373714226623954952267993382921340058111130159250265964208707339887987477357517757308945211122537952281577953134276591885014711202274650472964098866791254317947858185778012588155867607820471613280509077618392084863318038826294288380106841950275503528075400674871333085034669814714801124311195975544857168848536728588094124728646724772237937616413758208871957829549860166359164423672143735210734352088759388737603315542364546274446321397483901842287103952138715105470394684276891653918665606995421010343103489288311421082834889178205857118316901724502553806314375951292278023144847761676430457775208193311072841067975448885654336263430774196090972259690559908490272850411777023369712082490247071472254640732627105403158599381431867428417198685429025989827721845234076853463316419781020516371639759446024226537401196554988785629776167426404406790557769651919989634572031321882442683172545069268777365011241476799249466123899449484829145492427801673763354534160453190281571026709997356983368470757376
495193565171613402953305633587575152855793163053820501504437796246839338466932316843822477636775277081409330941525120767275031171487386403167668041196910188555074129604534563798511255318941041571162493508897443673389719681017499213047032296470687632549459861333130859251931049695035888649581885252684458620991149616780509777202864924863856173370618728117186501567219770549103142515108099829840732829630728568088556867666489971373409552741108490456251281972214479666384270865879026201455762911347403398951777557623451710856074297684743874568443407668753323582100413530909401893942470644458019425840313509005377903944491147670276862106998480793439193091830111780777852496101033138084515491776591368348260671351475264823375892102231677522003044901622784016464094615500226987225528243630892319315578240101028403841243114958628259298707383000522936731186805950235228080835131211955616987110327439685340157420510661601279565250316455675950067498923683464720547307788834724157587818133947834219735219592164719185348929438702618467358457429791288213563248609795805838365531292269243826416046791239419568298157012139170119936214346416062109767721101595194289985138142413112988436717315697392046995231061172075284062070493982476258146096642746164628000950050464613279886281839210431841828822424430611406617826386738246772979095451370397172081301245346176855507776989533218458058943079711040023313221162649424214502110098264489499065500895055451038237617661245989607419468829574423661618403999276641041315199383556197403951280768239203169254160390871302768606992694487700787356779625117543161602007616663863831314943736983308246094762267568061287197667276708098997671201188586849125158681714311290012887276150285987594649696740830189070649945124440032497689689204116695277115016632187001489024728743086042890267777023355691152801875856953968967445637123414692987314591878766012678307356372116314472618501094857346710200281602675788839832993933886939361048926044138613887844925176885131588652225005481841716810813666897274497032295511188575900960341736379878710905346779712197241572827961891858190487614306309645508678712344798668547592879810640454105035081772556793826133831639125242884773490068108141209534443275990099809708902233696268406379327267469738837990886684936014073535018623274509266950720480250866277687014260766394283000696409967231357691406443194785722210615586815876655798937624262806564651053972466803445398592089237166916794600510832830225240049092237558584141949953363293199291171765688661789902036695749154457495566794212761592363963316705183174918636066188605220496087713183249517490804827658411203974761067998460747622132257683214919017252108381650499384958099717017747039547407194900061838158099517060728148888851058487217331209059285791104173597598854023277944017224345932083128692976172481735362697358672109049240993480580518393659523183500706513352880277637744167241506098682636533450154041573767455683952401185705083919020692038470845501141851861182713174453882839749397405058692368872642042264581937945461392269668147107455925795504996301011532703718671036207245036501417228078332747852249544218727194377850626168317112479163427822145816744680880011550322843687692691365269022582831555998294048197117747251205537470455247159807729445687864308231136710749673796686938009268492820371941870078164980021791151709912383416169908651421554916731141335995128048545296945921641630653347912126597570927559862571894208196501640389840454825562652167592799809070630707851506782615042639562734849664596450136272651579944681273345352838527801902255534294969751202620465791523982043065994873972581973144934147252306406918152265053790835581002472923901454023212156155288247630899095358193655821921187787198432685292182578499374849848935735463741523673911448896014226804965008433581032449271043961887173458144897121803214322121030499853823005302572740528229060946367372232015116484380442318208555241530391742602740160111958886600695800925366576933430114436686005661812900109773392272913821124570839783995189070639060686742615199733448529328464228075868207660732937680939814757149695769747984384407945421771505316346764269260737514023998782709280244411795523636704037481942931455154922968369599678842156427169357659415053862792446520922475274971351175935394682785955212032982710724883631436616163296870750827510395096563676470629075362595719090692856717717120235395983590513225577880955495274192506540937559272617323338016820070388967491968797175430316566221722713196323037789621209390260292185047714171002433769423207178090194836231124396454152333005769334685100073929078179699181711702836359404630980305536246127178907226361150213460454587257620247524839188350702522341746257097883508415086329429660625849284621422100366729638286410091045369196470530746552430063233152682279237143453132844442549414515244916910969332187831594030232600919395758516245536058646468308209438078688752477322732364085498954469460615460800887590445535737846538478698843140174593793219814525557342048180358016928320416043059154654169802973205021484963099170151731396672284393798624947189106286772272582569957801408143120409077574919678940365645917638041738504469154525495491015670760009955880174180680631521791108176632614430112296550238604276890115902156917819840366067126175890051109464264783702839557929802539880238503787068547896284590520749845497675005830280059790572781109168870880025480330324994333142852861201644837104151490089973277679134951386046409013514974683494544734510237910959242505314514173083254329958884256925728655389681182724732967129026372772766617994366663834802274464919823157464712214484336416299638422197670608326518602151513970138689575172537887232985937003887191168401572619075738800081679282579072996704335690101935732677190109125988038813337970801158483956917206414285767553241928521436280501341134109174410840868202055464399753951721520676778196053730308670607046744045865281454070284120010022905439636357794009648894037852212598614417180647369176863498111475033146705964483927075608698066045447777306329740849176415062991641079625348256974543568271563225090526853698083073147131675872890005447019114909091848330694748906328266671153198826621788951241658731619667056152101467145586067246167193835634937148800085695053591948719285182105489929877239217577958168318325329045490270849241177726515799323955008121473818827307221740991636166599371785941229578673365971807544018631555098805933270375079968792125942325111124987411597373946912389093422545800557548284988983937919648716744395204005499839306292161775638138735570029547416647523176544658782782545905325485540659322634969819993688266265071784103993195205282272481500357076098842498977995713328933333289271085341772721994769100023078077033708322286521910217473433347764418706201101627871740508928468053805242765451739749716724656874782074265703040837844572981691255244426859017741786478519379201813353384253113713472919181361592880543270061492415107517842522101911084835079247218859537820806843110210545424125741265892161163839847439528598831432231772273425158356783294554551436311488169183348568733453856273361283562374958777910171344606119735277146778180277876755092135087452778129025254885160710463208086337585183504737047108821840066394450021365029911757196290540153751747184606796971550913313367525520670757314074330121447800963797235564278804586301576938155885888947561709499006730666150602056474925147882097455753029501828205871577861262273670077577814630707358725545755401001499256783212546216332540817600844381290419045058554294580784868387492949451270563066078157914467865844038578956945953208356331485433682967634439448780599868559481249978732894674355773639274101639276206440687961135939240436351614705858836623123349954752542068151797890122520510891894791048894576135813515629627019816845296162506778988392046472996584664691119294273163616147802934203744774438601209185290614095501442081523669854584036440650529893148301901701448048366037925790568536460754115930167176152036673470089612599015154310402994330298903806685173130169820639308568747698246321077889148982351947953971432647389636392235346927591242715960239241418906057189656397727424593774774315329247032658364133966295373765529004756501330515293726806409195967153515188997044618069704973867696117616650140751362305761686663051824767737540707027465575951765190066473701254453005503983042854224053543471723618656658820612154285277807916352733277063332715724467427769861103925064314872349462964588861023499866283387593882089664822649830306337178495282550458365008736174981660850724156853508931485563424414772286466370943185120205142649398863354157084203802879803586902004882436307009400805957496917241868115317199553147805145281122501199455115567693824
531710041900431048309929377837798608364458159864138635453969783436621625520437269572431870269910295491497851495772820514474171479729723069530051260381277489023309220376785341204057843770689455725079841580631701398802737873144427780935685055799344901107898801722623000443855720821782478824062950308576111496155561677378805575823637802448939879268628381137107919940965415038255489808304118668467278097984379739148315244615943565540192558259262030324381843707183892716194358484439004956894902323741711223254281322764870145190521817875535864851947637391022781469106711775832941568350842980846809269729210959891274896390654719651336428503765031932376366423509863721616299477966476209971311530296454216352917280484397595942334668223477435893055349566222348669796202982955792397677563395679750701689499411140788182616304988683119191677339026265248091039581118705739627028571933230804554790785227474324987126689146252799204681125801807694709778409217433920207680116543472803551505207283325423835948111481931481686524353571959845746717554542490449745741104101647612828436454748490254965276705464494761587965755686052702666426609555975750392639281071950113226563027161926627701722131759129301568583753118924359693374125701425325081458484667662543176674021580918765910599718774611883805672959285780226853177030575411654500580687863824553559155018275471475448259504910926626895746677041921109507569340614498593428629262948759332189155437226530472578939953333000882993755624394178386806174903902152195232295041545023307007022713019225283279261542897682705584020322274933898588982704693439747008737266420378549945123736006605833653716030914024906170659411110237666933332047316504211362060687193360051442230567399999774441520538019545862486984536943416147472688602672021368695701663416434808087916128221706435081938354749483230419190148893267317723144475025737405556599178745721805322412866063614194241986987421738124476410849773370744789521122761952697679310068403874499784766341388572163830479457779044482723887734529618407939072139569090633895859600687683858123946275742600700861214176924639966304203510434665413477282088423075439279063809577289855798928656286454284946464879252303248059539709052576319771575079313986145175618889593446705500659312096065893244707975164460509074607161024428740433000569526578721134583745193469319835332339956508466778237567183441321608655583692350509752556571461938172576087596615918951310911768676929486373831490585852974885131581150148700395443434817841017374453698278787844326408517663008630153649020361531843276262026443548113052491247341301537697471391406017371183157696678877948095097895999116855272344191953134013201329596566321559095340115788153724519546614233135922715895816670575822305361356058508804395417896827442849477478332698435539264198068024356618321918722422971429077135027963460572588458930155410634398873526458022335316936202024964377833379255806906618148555805413680388898417926218778318739533282346163129963819218246100164121241206942364234817672608587171208191490160257300647014527857212976149860049763274185729361376170326537421273137327507978313061853019557806508112584792649675876541510947363790100983843196865403390401527184717970090036778013010558786746022366392199517121476280420002426963195742770904311396356984598945393715149859637975046880386677073221999699888221521590984062041449465628809290760569207063815713205645958587689335532845572060098873404594721727498707135018243947421771179361033389243964708646556258350761078888013913447373641865479907229580593246445468766283889540481738764419489238527107975374681127892518720564218664927888353970293834160607630576069571183031788588829911229695025820560439135958889152030256965273409856789347457875358872968961446846094778941934136522381055619309494164860352089102219512820411648680633883478214020920111152889491857333515297158837672675647086746126307459395390359668434490862369511123644680042517445603381136804726916666779111640268954743996185137577651775964234589310510597882445785992089106424726878760319932849867429708263091917337691262675372934739677246157682410646731564031376854284773237704477265385429599871682974051429893354032720042231361887132664709706554025770284565021190636668265309791250202149250128690707693007260797752764342640159393415592854492950950601603974200912606495979566263853485780521009944938105719145807266988791032169395852233797581392782751739928117351208358534842100398225563488238014959948925059258344303281630232596094712329334489648768689448805639784013965546078141002801144019669903332458639970188795019580658415470167948045819003143251308799142431245658520648022840174566214710015819559802312939017860391164322476652315406362878020627377441454384865134144479268680100392418500915521683350728510205571060787771682046051287967728400698341000567739916518906051271551731152890712656351424206378849464055456078727097015519468829852414996216626316613285029285276995739322131593541042945542183954515812528058204280980020956017990922481613635067405073498069637640778513199258266373450169782895223466675651606426620966175244069839486734657288727035433857097287009362561094581451752718922595874542824708089919742131943383026941934436556284937750201726851679880240558817596077497822682106591482194096353374474093498049743766538328301729383331672052420910899843130840032611357890231187979048843048952391748519415545830358675992911726542739044416359281928058470483750272959192394498941525831286452849443404799362821609567969255157282618601187326637314736141880265208105950227036316518967183703917332066038052820845134365931582483350775428863311634930853599308815490603067197089991008927535705671444096934658198077415545945746652632964902927735396195748474840973347273661859465263710459392598351219535582510967697442597616308296494651876975018632259699709858005443884614925285663784613547030399197018634893758873272673551537534674161983636060625558205068526966766799095217796892768534664714456536677083786159798072024176245243680766791061235757421404521896651076847069371700911563301644302684841992807517719589590250674079067132563376824640024869010760864264526586019933706600052239805353875410131534877902918198242443891531539426649265711274827779145467850765977657393886219718036213612277963425563151596769559735410120917720018933566489665845817651434704902395918251187977247530921417314286111795878397280544814986268777338690673404607491478788164891525735955748383011754823529836720386149883620346675305603055367787833369230730614202112492143433408546378556386248125717503488445040461876773849896017205977045599500665335938882550635747918158113167248676980704974507506855844954755859103307841689151199663541677949141351253093989989260421854805334705908108291917618296528586483455909886492874160994370993263896090972720371892111541573618571507738955222834139416378502644024559443711573720021862287011000461436300914174463935043502734170364511196383825616399783543099944906751457959711364342226466322116636730093325167339510124872839304067735627032191118115363360633601167409426313075551620156261501337467733326726917138933349282619648113454792787223245706010118078287709907566118880727119014968213859830416855945502126884522457371785900935515668194691751069603000289043926657869417326187264730990130618634641465186566903030753769961130434931568661875512096181503327656601680946392881035020635651836110734416350310021613173749282510817537138550393059086017190818829107195522509772672896272624183509605768189814799729201238713051011954009200968045181949906926019165510275066205259933986618330947053504077793805640762260765283295599165267359179411118192180705535978951235878681217649845964619536442654412365291930117823943424839204944511979302738679614090722230466357406311988894043775419506756842474979756938935363775275996008224697823614227350229283360950807008119563635870827634459455452977776164480901736172238359219497948983828615245581968834878049066567714035582786435581530893789782091541702336380628854365160346417159086666430075519912392893573307276803438590681190544332643004028705982910806395462340898118324406050354134701297018495560847304616880261861194557512537931469974429114338142185218529976869393179474061150349149760861892150414485918346116871504968144859487045391418815548377782572364007420454900224492673399146901739732638883312037920505619658891201682153232987458252128791699364701356440991810720281271789783338843609818826223256299480233700863137322198913955152116768346839529018091045455253286880695953926197638220665306416960796538261124536880538156459591688405947900748780893599900998803727415051651196191338729122545728041419385575512891896756161901231724065852098006535872806393660519308132186768909238290737467205345123595786362055294976
570919310229285260198535687470743053889914961344203810621216583308123092584159263108282696499344852997419879557152236588836115285533771875692076063135291826514028020803387459520907425371847133927814471644418526132173803180103978500938154898503530372120694880169063562560938451268015497743790727355151876800709441783213218237926243156316876372832236823940325452042258177064093479404781874725792506469244998624621756217280929423544189902816526277334445072534634554868506844817591412799161373797396263513738323243314684392820015724237473684503547746124727402600192040352825141798886454814192050049859150962154448348935912615232634620779278256254488044338071837554439713629601971976547203030212746010999272028468436678208337425476711501638652319976193193450270948699193193440447640284352809238297362979365235824000076410688911758881031625528431393085357886595061386394738527702450295648565668540536624846187722978483383140061356806456614912619748945910083264907145921063379786879213895925375184001991964452189111255624777080026839149027273181012572389349876989203651157989737387612641266390157372545907486959880600321178571306769232326361217832244389812896310035808640582616049696215824918097180170679530895195614445053707952758181907332012927000718185711079304676362970938809009579344850991398044464085004946279454311316846077639754592801221858076507785378428395313893206494848931296586761245597889000553490798618376463881805672187132330818492969478251247499325744747263996030639775778921615634328581614709103788232548686691502735190990444012073667040966092555353750365315641987354787260096382991214988552260205427423876381635411665489933112691368272457566500438883277537211580566665691862324314480068630695408426843826568522038427952957419038978377650417067498190299205036596782413409015875792943997418078484269186887713515075488431051636675629657728787370537423333363443460498888212804957681405258482151025640430809049090138538906440947007407902959909540974065982618816372167946965839790202211857083704445060251364475400008497951260656513690305320157363292193867031046398481185721627962774016161320673896811052185922305861103219907907878742238632646886490411032941800307845772574627798542609490738289015544152231597826840922084011068762972615055436762019600434526989737245161831824310552581316507452510635300044786980368029126351089481789908208892870827261048460621609091189039881704727839997075074774153042216745593602232333418420970570292601848987374424164683433832954990133721737661604993411320476065933124615103868920499378804340833535724175431583940740159664284263621287691996115016709888783311617150261007740308654034569270869423564237851235720242306247833554285826743377758011505219711726896889007985833690572458587433376694351595229781742298453705031872097017875963651457748751783448828194191041757169601619777160563216293014159218048443603844349161755946695653917744589837810213870503968501813470674255328816614812448455015039847495076198568900301405821671110240890686255636365492094179227276083814385952726306041759295902672567619227177548792397159254404276550966322074876240902008419477086039906833459877592614324768686480776338363974583535988732249318905519891704658130053534250773053122939901080434756608885933170910908892011888577711865609448188335598411535524103146721023306503831900465900371514685431572709158608731315112828102994809399927670935168297291178672174011080385616454134001949794626488456892756796303529381612683437747145891716647253781888160161432633423951162361102226163158224040652947440439149644693257011384019599288676124467990923757197681690326972770458414515669660420943307564346203067112112966390529352614909530819988295662620085481627114781417081375758328572723188851000916276959322204855217989149837406451483722825885094511157434827702144180188085191019522100987085134307586305857326436491503232380378664263303071886305836012381982400885443071971835890528276749079593995242399901011323683403537722019317391916878664318759560676606690158551741627875832259406703016357501932783521774172133142200187201829840333918054827614011460646903220538569201423376751114631679190991901483241589811042507727003498084570573826859542693909535380745824385128353844899832867904476651182051296104553412595210140448254222748286308605722736792261624627748841500148584136844563587348146878907090734692888599981201980450816808999470436409779355552289491475012288969590353572511497247324433581842903288488729234845739967362699425626831641274991693254903621578011962850122283174121406919099166876889488967053882097818486149822388686651882147887950121054932008896393600378443761507972041749706402699205791508017162997012574559838184986133099804854558251377851757949878323684417887130297849482757067858556944377922192561662276932485771876842775675161940017946102439539723590093520617913976953475118462496680290663412354978258556327847124320747668830768876877728842593440326750169976666737750379974100816786071208797268265341580719267442824096208872981349920850430980545886564671353199428577542579646382906250475795601245995917372273050118377648871194633873694721212661664862350996298884461427007324521532412907409146487768176737979930362536756079273823996357667723628058557672532073599183584895547757482713703700513952540504056368193342472314615494796609730412944746536252485339044622047268338904173627562310778520471862405217786547593844919334854048328989835507638630816763738875872180447701119236221040015428632149051358854038190112844127160008502045780335208669234111247061238754155422582031188613317154426387272077801387289262599795600460834879511240802074481571076857598812684159592232197974438069452472432783529356652702420197461509741815840014137397609544500585628420964831837007112141463921109676086485737856760798228955457094899832922424500312628180108636515208155205546318596075413852353141693123530617254924392814698803985348584470485497933980841888261448128446190289370243140706912902818820697729000860374843552047537326922373665421111007952718177867680427983158066745336436224670764442199015764030338508938957144447167171402887063137050027288308446256975446023209194969536518483820930463886075148343382339719096681103635298310733297498296773084890944865523811414820646993358476008508969702100969243569466622703859577976220622253247051042217439082438747822896258800335233185468856634351059027706750937574385978208829357098771933895589433251537904498461480239605868067652060092237657724998569602560375898762654973982090581499046885870166546016571967275857715125699728656911024493504409340669289369616822851725081176644139017887024588502441400329247295152600011482848972133563913087466780753628272766368812450138519427581131613728321826454506225773388143252052275773753147927450377318887694505102491664628565564039867502067518706357394177860709035250994055896820255306412548903383753157887290496046739731932003143527455403398556359835828145137074316996873591121451027894773317458474820384319798862350806169784089063315802655404230828747430242408581071719328597881789697269492713182726764195337846432739389467071043523385347958655155873149112463579108148895131739571471947836020432932915887592775217397053251876392125583268698316866580747343639407983899947947107911229476486230553025742932113637516597824212176451008316415456846758272681052940602305335850183451619087990818100069134540845938303158065202441934489038191557305572408603983521856522058334839759179959871365165619104411864276367620999130292068114819057052921283427244118810806180543643560211399381304939374051833960640328956559912911158262924876894081758764613558624478921693378887051692964037293551693299808936725619429413353886599369620525970220134756711337192815923859654823830111446372878044185388189218294972089344068158306154787550272363565438578689114118168374057287906042976370747385877534200169891170283068464014292614100952127103610313447443362345993991110944106155083837185391158273111222297914688077062010343771482610190895534522438730397984353077632414432262615386708857208481065750040833107397041830010937563284961886622110450362088374599239255367815576223884440112355805185240087844812633560436679002385381405757344750588141342727890215962420042301637780263434301077011889677332465987274592926918120923321843822952832954834720500325541319588779476784772610236274317969296946900790757920871054788096711747080635450392764620682191914075680224695211857566564601706814747657610778498250223396385911055442700337561024088056305720940523186008145190574637273743958135413447549280605666390211485385648521264310218519361804242151398966962470307624674936092636365009610269900009884169550601598616810502280737780963067859245132727827764591988569127908038701072254357272012747090342207455559245087107576816388276224
613019941522414613501890311193929593319087585798614891444175667260312043447836040676383372046844957262461488769556954760576428463763313027405511014377627404573464008644539196164705305053911019832823795117074227668551964511621846385254120151913715572200273668780191738036120163816254073407685740264607471993017040514329173531700990304131199958547390013337651918029478820119714697482596924490211945741818924726078855830826565479651607010852599662369016910211150810117938619710925550865708479171562070436026036257978305025930896187451426003150839891395053732770712544158724071308194983161084152906835055697195072339900235270584499282041090536274233400913754127498735797410686481784094679003758961009899082410519879125287921279238828277291265530953069316111678781750482126853131084655416864051053461179853702675851985021352485208555967096596582887870333164845366362419455330738303509719030163922495213501149325117323460566500328729279540673141929851603570144853274051916753431968418396297058517954634471544236697112553478401501412236831152131126721644272575092563156701839612795856192438831437472844490228783558410611077264984644459065186857318055417131466302660718675054138579892489425745222316845722070822871691891032716155157876072102474533829329994035385029611849706101895778333359213028511944572899735702067123285958014149332155711386761227319738601022434235437732744082987738094847753994100789306003842219675712224247120142867757538222420053978753822820201463935085662107467912731810316324230888238310618330982126563016938672184963067720093857270935614942538356882494683763233314207787852688789757784242992298256812647167727024694038634059227317924316416782543330945903790391574573578474066309378503168070232664260902824514525828301085313244970314919656416237968567521745415901104918764518873134117538882274352035810392866606445648282602275885038203848549016790225823836196948179589295417074893125816313714626945054165750895178096867788021503236188269400496344873480188172674209436082023500288259484131515902089990304808254205686880424447309405582671228390887747529224533819186423564998376212861938638871086957471403817586861996190117744662135261533848134901020652748390081354970028528246056305041554189542369689521026607836327926209743639351674529967579694320202537698900800478216460271110695033368362926468876853991819785413345284564310825009204142659667098260238719388302011390378700342039545452935475604957417018423676156471488139996298523037475967173536866626380402416084382505221240392979230219583377486240926164153913988239865718328845288804927739446947979812875218291632658738955866461030156559310936527157132506063367957684923693331555682906927632515396627266624782413808304227598790392455463360259633075923287835177370272172359335547097439633620480323586679097816873943403673683597795893315380803453120572882856688729767541776613749555552964881036701247838210511821858582203207145030938375743309545426605271750223821993830833282044948470357199305636725356638159044844738721364211861583278332786435650320321622060846551491369230232327091612197523110242527937235007627249079480385925592683490694500149273197110434005657799952926490975245215572911008831304370612187242089860111084071531470274385628485586274221236490875983055206664271117104325931769376960962533656291308724371184271935527795642314712455978083107920586044464615166813108106507610682857999393280404446570020702849462434826255593992038671114418974054851348095850394775981210880565939313440355491255740810265756686360530050970890033082011345935673263900501889703904265968991972204431511604090498371866743086898950351318203217761844274864734089448755354589026217683402272129217638448243432979204078216713256138261163177104867113443970188068893591798044943419587358626106645500053376295794822572423058026020746139256072690080322184992554712697088667571681806841238003648776762656672005148981779916367862634859147202345724496200133513577631021791849318136472113121693826819631752153412308608098338341621446196253892125375733394454610005961390504066943302330076880379234228897769941257134274233711910083972557556686559948981018652302718488667844130076368597588326830087707314197578825563964298210714555955671397131540159640878903817205627514740867275945405509868204666749447233876535628241594905913002362086256437002112947310763182552777606732002642285172622180201672382784951001424712496668259845952412145580623026777753411315313116433934852258437486332065389191185725350836306549843523266300368711577380323284510538958425629062759759879271703329912311269992567739429028904442556390506245310602543499428397891492277294762990890649333904298723749925182059219717588358816649891859969291238577431548705059782708851850969262505512138566893030591338707464216720371238485705480397549089065314671212970248040767122232528082845158860560689118336836537261089241782552098490822615069313261314362974097721181123992423689506879883503056180432222650084083775765917527863673445184864549456001760774466759978981996197392237448755647312744902676608294907172456759806881636733052329015857751860150232619788067234553155574054827924177467694181450777892487493110140310322640064059395779792940502863197739602564373304051497954319493294113783404889627356604298598598660681185401138290259364182735130879764743241574240949743565357053425732479030894424520432417552071452248983431478879655573244856077854859739052626553698055431869386054506757638704624771736375541466373343327625547445925613516017424018924475468842143908630287924047293438449139586331022720958086551192084278743251202731497703239519510065992084089219927322676825982450722337391723856470496484602238068936431286704208569819231192036761639971109128872075095885551867981728913018376521287291748016682495705152377916304190222054602115831487699419333467969952343647889992608310078399045835134111380529053704908022291148390522947187801846658365157172717180820750157451502319198647159492681226129309681815277508490041516453839290161664117713805918829461785630122061599613391736783867451288525537660411641113757474689261925556148936532750255056594038779258279798084958570788136174187340161765791427600365670200457983293931779370518000563698238950889633355814025484909980990971983981542135508845915236660648294631347758179362169161995096057359564616478508691654044986667455632657887048005092030660417762607176741513288824831335921972686795982724461057623614632560381315834986214361820064078400796870847127654522444133087663052494846202484312007257495752454303613918370047774203541215924376713645364100637492880148516177549896170209157944027975582407591460857642640191244219094672015200055218087659114052705808916218130374536925642902830400166908711718396272967881273595595431902332660716381362387811870702749063526706923072271235756140388301306918308820423138137443682655391809736732853089156008470887715659283643091109017940099304903758923821704776922453110018907155777252028177032218408781954393797897531921829773679544614421477023161431237782267376297383796551993199786704744955405930552925407529881080719951524921485363019250210383170172001063654239440640624565152087922338767765267634281432558658774782445431149908490894888703463015996012858052376296042532726912892742232704128368164890304890389934882805322346578044013705515516307101776431516195643154682882989920708570076095292477522020447047989320296624405890780931992348375808402685843378514560424165861212685245769610856526438301919260441595347409466146862218870338055749963763395590071425187739207405147947241797274837103703834467443091021776657654508223185628891226802461044149092578928428601814905974785493369982218602025426571267193668133852154696293593743103537175197027438893209781310890549742530551692255293171308439309177501241390707879971392010561939351545162841616922186261499386596727726070715198355375412712800055061236528867584913534484457092910374946269564022080507108504910905009346212360928437643133985032388572255615547628058777050653159431578331305775965197037042274021585092335233695990007807912772215216087586760242039151710407912106073701250231791382427071040087710244711091459687196588349800409346097426893948523779781553575453893335958110453976159242811675117708367371146942595910891825733483594182198206561858860160725500507922891542408549739330282623005336647397940338257140708879762886215452298534036974896759712588183583788600213964870137672158504966624009951276850508780379982724786771175678042883144572810187938189715617514319504312361258677095784438634448224917298474165692887416054561176063735586645243240134818123002898580810937998607654759573287190803534148708731568910646241988220796129985781275544996996959821644078299879510844422002550066779151913149369198631212034734617518582759893928415048860804973592576
658225150158650803985774730189297579258015318391161250212831175140504536340846719168798075624849917856197445681179600276506817590086737634329355384229923874179097186640339284129384478671062836768996396839609574760222253813492110535950565675430990049111525542415214931868633842579243449628198382370509869621811032344937704924341143151764149378799398943360554698342071074084710357634571829958910444767409685313098611027624751845776551396364058156613892378256965295995113068648451553714750601477939066439195071483131759790971407770268740068024212572118486899603233460944668929839167347367031784159679974771447828658056426597466533805225490995368233536098857623548021132805844980042996594822190649651113922803397931800246177119538312806081501230473877105880186562818860591766680350949005715086538172528769306764322991150847696414767904516383599102189079007908756355932511019913469277191313175721159005175993502447843906546666136266376216208261603569740866732246698692876965526200029479235158458903345966729184807845368705196372730713751001269297493273461513933065732712231089998876367710965876100633993406604235309020079057109543473468147071077516571723821475613456123303494057522531319900387569775431542922407431369043477888113484861625266520867454492493463442237721515443713502885560801444438979371492263181855473527497431700121717255396438569674774756665036800878956595056192461271596112375929066749268259695962807932162199808949966569880691026453325586961935943933129096427520280638126831871996649334143790005276584287172658672768020309706409099757290069374962790508972795414237322935035243951104418875771269009548222032196143649429070084861223264378683403309232287528890381223562956866172951095729022298073510181027881410680978877375118165423265784767686293824659587745466082533290999089586321321451962829844184023349164554746593640543823835175352135310024841041743701457780788361585689632004836489519070176899751462007712164518162535667397054236046695193492331849783666476390432597656723326810380264276672940595111602027130841069902159815948193042693187564752395011281044248562916634717939031836590254277518210577955562936280478225458077928287379454071134107619975143726979017593909897250956017782018791274065755708620796250711440950587541889865187261731681844736712878246508300540214318325932191036686872560669712436558257469013959789882150548327672927747161318735949231419565973174001756010965414765843730374480391690879641035005079433992929374765465349077599702654419808100451809069944183099995450091376262156866962947947022471787965913484572215209891141962675077391815572855814932336011909366945223000089169817924991670171770467764783778641235722050098373083682644713828192605651367688836336188805067210347532512601564220360919565725555333768442737933546266404071036592564645968333349327096244868166391154339182419163479287300843403217447991258629839972290608796876211859575997124925578555352308002218547102974002617100999035907235675702849420547349113965910965823707400813687551481036612578864804945786417633568322738252015182452717527134835112296069112673965029697674606336338703590555969816252352999617048874939668938666632441282404557679336616530671612204863200301925951095967580253583547365820605209499763791674649248537403490696391424910116524268550365407487683767618905053428653188165625695678250934517426660322238906532380992671970965390668164493833801531794813917804573195343792189824804583215044200932341901864762553297329717882136760627517830686755020389355188085991509152951458536296435024899204173664797048558253566116986462926567676143592152853297582877227007066269453909848327442271869297216934479685728966187781359197410201770510800389433323112341012652358930875737538146215053666943471538716842919144217181324527778537883557748704361205096318669906424517355421405773493323431849421571123631167945408147274025326572455956216503790084578405088110167396280535106700131195299151412427912374298937764035189011847668421863578851516565520860068910410982301746756283516097800176660299404433009634313413119119548480199598628772659925006257808208628622028624088687116861610275904225909101542750180734286375893277270812051646512931524649384544828854231652583655192669100648298942048499147806933070742445716215531036585536078480863623894345956269116026944135541582805431998389847899474754466264403718775196300100779494632600392141939488020397394848171249898902034395491707828745790487926544770897583761145185964166960677413645460970015720252131586543795632241626265465220017048442995118195075046571218525046918863097576150978082214404872201965032123197821596115590909408671904392599486621200330786753080116784847798655580089276956136455126179358497350516341715729114846247405512090603413718956468680031822354430476062711568780400448860604022529430202174966589025716185185655805383984508195996619946709908565926698374501608563521964974307631072737205751895263509995174551926866661479052751767856675397866759703283401911548373160478525825538361187591487202330260149005081667995275887410246683872707157264403836170976377853008844935227406857103687195537805863741091041398011312447861651465145220498396749269489701757570878612468932774277867807163393534505268909162003403281408377502256707118996560598023499969763773095100399459331130650288739717320099099598108793148198745756611440570674331735999429291090816116152371861911258851707697363653363103474531267758583984668542311926249367308636799639799521043091348329582884903586709625007602081861376808157818768523174697211714318863610870657677804186978881026857947819502974111112126128212387621844700739520383500598451692927230592668532976150945097562395018622041469836443858234132650415246718355810023338152976121127357973308801737888951485791469535581045367322480461789780547871873503447160879008078858762302206661560214414593381137774474876504038348424210101897607130331894773627286025381521308720680028770610091110263291756585619366090454394641437613195703032272663712871411221050484629372677265942242640784251764609240938280837730920772561078071088120319342366481933160411573528335494600932506426367518717498095122762486453232296343002855948275180577788022200617387836912865569750098375276716081342162992728949727465051585613239834914123381161161396168899952749445819254672597165919684467535143494379376467840962369492449153606910963078289180893023828949922855263013215125215674398499206435305429749081038473624200178180823715671563338950635156887272927771012399646077883223912054978506057764726912536439058502442204040450492445818098572698938562621167917681151375933364810995712324688408881789566628109812819122276640168758282663014770160889013176367401095518490225081695162857768637866464562000988491334732125977677416878460972380470729894113417221941285458164293048200503532199734713552048731836428795502742511677565221380493476674407156090426711192581466012395105850950388494251320594337962227908906174043930918730442505969101011913329081368783290843726608181425778293443623445423706909487481247244137782089174572763797872362532315455617077846115331983560777150477591868009208879386815818043162326203949085609723140398846190873481510324867259828508160423369160446565188733373912100022932611611647073071775143342161305563246363512848732923408752304613053322669137628441229339889205579216410995421762312923176035235405938378142627973234978603468307817710624083462701884099083951774423968224546520402065497039507730550244856900166526249407289633797353855398090766524003477579779242285316848371362638995517863861263174921821033832376866413169920492110575221386336256252964472209233591193643474892366506851754673659824614249305511621010502520583293088729928449385234979427347863801615243611799396729944907484949768485163415468090429550122693122975691655525239804024305480367934777137542490092339251581022542090066622595850994719268752542201709279533399627858591323463331383668753499977531028948102226139107914646968408946165065604650500432352910704849577663799425720655140186606027073166873044592415242248198572469442501671262642439551700537800236946111328807257458854964101754724805561355118139573696955352934221291841567225298434814942485410019657661585058453106306445829277891066929383597081157403114956655930429760812291269290643259101339538332078690052016099929550303222202061254533511109312643399245777209598132484208012929387509088985484152002104028424149429933547234587139975923567278156594273173218064001037693243166202097872464912002534624505191111770679130643638880654605850168506256262312803087959157941071400706260589058173517586029617301388679446947965775892681906502849929222782480800679528498988891177584151343073880868731669590161346827312511444954317461243841354768380398093267787695913506699570345406503460742899992849854453564387098624
706763873334023603650752228846564248031285934589266226281645734199428797130895041944721009609116290525163615029850706472487334667615017985694247067007259296042210315856466334919939542125556106370956457791990220250905405455089974576481177962169063241458859015335502246296662630519165726143833852920360711217725568053376408451835841046020346571800533551547634691449585171025356029918237482159098346017209731263352513696668315434431480992761690773124678465969331857626492601416825586061310286536019388959278501146108280990287498111096129930822202083350235667700080772652561579801635574203118305389589083367368374664140979789685829786980479432662262628708757229024757562729494226732610762150167943832132027102715688689023933869360134030284509423867265188019632645421413953405274742452945527503443815216667447920339706643447064694591150332079563583669264086832058475190567603421988823859362206254069785611696704330496381082702838273691348261677178086138469452423489872468128771687139441887729168591907738018838209608975703470071534060443821984721805626074296764291413754327477684901669016467204606052751636811205266832423339405001377008983841999030289112962895475563896779862614897403700526969647477599135284640045829351561082886641154317901278602354649006925744545649741596577105921771318205853744367044476270773539849798806469004113707821645792906543734010672771602895657592465475860812969093839049825977051831248790825241508686714388629482716645124426066610379719009919770025557509929374188397579016777931938558538649236998510326227353256213204611263590596387759086613234337714462018697141776344343825538130671793106981340807274007903986271542724654765201744187782712450963210631043841084317868408990879012070122507859447580760287341898231711157111135773246897391089921924904799189430418085234756061145920897297095789022590537889755313384325756715857961610080878305471942143789002687526989917766761909077963294528341799962827561596719922175975970347639705046232489330400008047767116033556988230792725807098036843886038777044173566777050856582315717087165493088151354727781409028076655486121981581565014489568566205619190100338148596465395639830253432011194463762464484409660068608361012904365894100277041291344890648430512906290571263903952161100500253284513341462555282885652695744253189907510203057304048613460149047693185547657040672666250717074803955679114657205201783502115842877324187714878416968451593579951258778826399549929391601840720455589963850336127378622270014366411509100694861610739979088972815314398616506921069052964226599061194750766219189057612445677518029215869807614452906008449386449052202497362944528451115043215367092137443852685808029646494305907572169841551015412250305792056844761246881151233980106551223471712819445667493456499068319958877097155856471107799952496746505494588295620373557619245421326804132627632509070074759177260112675427747628309224311563019536346582279272156911938812977221394666800297037276729227050018815853715994541114265149246991987955693342153801211639511892929184293414485591393353682473711342527347416026077072604728299795300366062277075118916204591746354100681360474868016160054045440141968868524105743631888833870474362667321442719028666349180684966611894432178501241893898684780956324310358800947552820653535188502328826178315248951299528124374148578834075558446262040629231263844282134532738053616907522341142809603357489844068498309951732979439913624881344549715294299899145304372025608170942373642380114119508234023429839315591886402794072223304348332756905579251947508755754336957642086081154641861924116786551053384894629397052316644474671214251643083309351906245566924102683137826406125276296221850046685026395835350956341204341554386530420601771634873909535523396275327537192865935144396703154437114959304310578170583529836523874851953535937611123233459772952876478472581976104526587572918468328330950318291853027592581164233490679811063232522901291912156017625449766073101439000635195222228583800440630380726309280477946035985324074752110902013450557257190188953259185944915726254749207922470400175069155621409197242624286573226546776946748713793037962312589997166099474296108998334864131121641943710524763708239163591558544088532425771428661915224914697550250672351964240925849656615565010371424877638629242522349351591059080346664591502558887315270062321228262358388606554921601372764647647949123600930806886009126003740912584710828098160321233704884812305983830998302403279751265488772197509623548978046356995006933549666906277938233875468322265124986468345642397706330105380917046552624829976181021673439745897906286132040063384866111240248371607282214695490890827312838321723125320077974544095042584095654269264915168749819818562707218942057096241312890153848764258248168633410003684892487478964037392439530879587567843109188546218112360199415080022451357362935192269930094535577188925159923976703311698182860954584336523701308639475437651212281380272773218757431036861564857032744665723535289635502750582787228175462209954731096910631431966858935825322821351816802921048884237693536620446462208329091254558540760176600400874543837301482830714636292539914390161010634981020386498062094502439769494376134099845733587016548153680818185152026248283652398098572255228378590822044423337510736527599063231002505385623583216228257623457868193113669974879846206043624934871205568768482089153402459043940988134359355188657428867949132821648198760880719135286954025679995559257734914018673244032049142674404375507385654753846903531143486203045072041540763257445880609946195490312977424826944474551216786765465112086612339572475840511625216464288380503981103744774425824210013915011114821368777381735456590945371327734286561536093295252677801242582775224552535590167246521270031664773888624809847577904543272753820008615311356589281201159954539620879602958880570762541357974419610629193062864985920610080612527356821540292010960406950315688250691113048774960642834780800397161361944814562026582463296156691766259280206745012325138129446891529221119456559976422135066787374706407551025069656747421551139581242080545373640496123068936571044416183110242047523484843043407942122234805930269853649057629910466459918081217972627385790452298890149722649032675480781247338703768955686475003751832637675653759756645436562232276534184308421140756501278879891541354972154171269395809344653466622034640780397390135882136574483424589861002658287641804496385239314666595850667108322596620778902330328209375259347237928764541141255000620973481540470946333661554895092791060941241328814800834615951407690212384390529655436160088702935398647394186241693056651493742469552766946441621920005389913178877549792733127234302472488763467498669132882687070796620263495116667470760248668754003709245328580382585883645494324258933924529237741491010180684054863664479393899187485814243638584743127565072542275326026489373207635038012621162791840807621100686393408172063697741161787371265507226057438105421763479458415509834491019581715475447744836413821048637864637656257672212037867878394086872411331963483775190949795618017717226866311287185716276906865196483944190126497804126144279371873014563243560285477154052294294104220973507884349125330073736337701497719653245925269765997119423488892020385669519868214951556538805632957818715172589807946753041654578467092134749106289033562382065007555569757000786999107398028190742622389367020158667630663120436294603791798782462090289862775068578225765041633798855269128774041188198349360500878966976404384587174268742046797881408051133786647900568500466389477797139785850333081936627816743511560896024836824145690781197013699607702665019467216632393885478922970760849925821937832166910680382401216961637082662777231622092239937656175465865250665210460306823462478716698372189250276419402028128904907627588661902081998300868300297723918385337805061726091437016931194872258126039332085633066210005872175492233195347417091216747402951934311166357654143448764698942055878935579719277093278776982595917535376007624598076104052677759407366149767900568368308534106072639813341494788462921347951263906154521921600711510560342541446739247895093405915394584983949047686035357078062422725603026051756841419680068478473349107410479160776916732004090367982422015721614081560318548002540487637621109767721045331529080587162998216127212023852062893832431317894054545407206455751564691487213834576892504965431990222950635669753375722206993989601020339359001821236879456035105711394799561002614954507171646218098685150090308575133114637674881319518199215038402317220005296583498540167544201941363290166617369964314168756714576604198610750647472305176996655149056926124427511011525035631866174511476481054926029832882693089047400393833372189679104748304718601650176
758881930490979465443011757173775311814301368471423408629251028361113856389453209090281244028814052816603097900585712015457156542903383141752146752035024817773318885539338284651530777931619450669088807614150591682368907704807859385864527526768012961255387700085186153894675778006287073747964647587655836800857912573068514169643232113327954869117251859811955296482754785580117733813806884958677716247901912237261952411645619737573810804189268648058862435463432316869178476567807289067340282895148100400501159544608396132015824506204913191262025084673082076666142613775290788968529739628143595716806412985366180691790123032524399262425951438421263050916775751866228926562961549609343040033151489916642992590087378926368727532542128026562160387728426456875903304504734266988430713182555964874189928432263460731410563310959768892616304691825316315453012233332748848825778806093634921438366294819909099025992175042615883049140440417970359495512482497383149306413479236109455969178228661674872320701878526260061485546435898615637738392539075667406491705514477367207560672110273782705615350385782309884282982728649086847052938792897253272137974894566588863400121432253325956957410589347822268178150475234294661352161992251537934386117258270768794738424451519576237581004004807037373869083936521237806953900061440105098569259656491051476516139817020357398530492390617248028587065013328707817287557674368522571482215427616858489282777784552214065632347011061951715374616822318727960902647328464352228536130659263242655701220006230988762966193324018705652183378711754640252932668220316958439134591114518575791316450209081476040772012368025714616636077244464737358012532171208182764748339873204949841605821261844429783491357492457580997938237253918939912477661495877774007049734115664870108012738635922554441289876634423500302407835541358886981106977551026265577424130219059239472338294474016846132203532492938827094466071910943987529598186334401654370487381244570991163677421684243290824142297091125750877914374045318227573398524598140254163776388087458084209041043538331028413479033603097095273488223189884023432615781250686308227739826690751793867192983370469959931939010518225247965287506695646421372694622309221491978297926321665255979062906214954268792989274175346214338937146476708958951457649108396729360025680801371389781944042311709778310846988193207943813307730732648105305614972990395481556291943373937764546243554432273070832093964009770736939459278780753976424618214812246296898116372700373343523136715529002097503951217937308959761275225283939306945589642521628506879124483133336974471752059613003617486194980735843247989920161335907086341235021080446812666472871230810517057304778277801755285720881205626070681637193650388025039948535155773683321489374272173260299291954539569492421620969946875385258668471115319457676199091169458332043090598615735352012706559309718632420548322820887904413552711763155039388422556570761354023184547311233006797342569089129156550074053772097403660932200388878601519219530383475046043020946924418284496439648974802784365526827503181395646624641683577084231570102421498905597415483639086289830957906689476920471840289489136180701045316121915647231099441359714056689581619234627702788217057419988267905084129340201023878293984871745350674382068483164655982442498604797153484308083479908009487192884957984751103795545404828080277899430627993787669231584956268491121304767353982546680383758782270511295157453951092176968073658747436008925183336414402750543745736905805438546285945758745261762673603659632260809224247943997178889157307980346730618133416594974697263792991390854039269567472069992021000084555703768708318942809213577782065395752395739541949116057325988374848433452860973634683884311344995982895708989410219424631861509701096211267376942471027567203084319640900117663383874441047456041846905011998792797041209186148305470416074834187180428152111844427331010668476154949714850137726580643705256449566771676511804914821974468710881771608517368452451509255443907778207673883151830601577169061248975435059103177228618069988674483071764897671172011834981901500123114817790540154763641721282480496145191974889974942726986514644187781253723343034462132405224330958418530732933277592014488588424454034497259044170441026792665594678575725685753542601079023190190796172480333308539769389308345046724103099876434993216688226201834464892683575199035902598302131959074669114365904213296075324724810624963401183706072222510874471447033040831316373903722266138539310450200783945203175114558496768330564928303697818084358108296926314486765822725114514413452482602499941752278891188742633016889895993692303756038184087404161108209202179453604541205553897152498699331654870307644811736830290846828505212754797395633097244696463180749560007140162225696352679463583805940776144267477464951756412881406153863341705440059123083729293816262446747409647402606913766660788862369737314826810950820455325133446955015073947885084638485100259061621593018567779021385024985359863925426342158751827021303781071587125919682295556954545907563848980025918346435932135870610369476554163895032053412556216796248405270095331212887919035179614165816310050547030987970436956100341211132717074031937506381127965795316335105124712764671811638523446945858727644494347963481329289620008715740953556580825456238161520246116761661140489472488427392118904972179926492747749371111732891783821957015134803623822603210754716778937781272109300372686893379106969560912851192270881198406829845214282047681376450008095382910402121427409860487629230711004506244451345094040969569660243579473457589186885553130759836544350709596447322453039963700169415408569945202514573445434504893798714639922453056678780803190520295540593049148411095744806138596272071719576177391461206391573616199018300130352089215782400503129603533365464221048732228586890258058359546968796648130187149682161363459515633341255350614244478112444985581827206165630067258627965196949375172183790626028338406909021186117486636896296164253421716034104608597848900300586637537429508325031362963030323617523241467750344407507827448968431533537017467909289189361298205782554950414831475853969469352195421181213363263417566070511290991933195302538830266456806334133462454930674153370842658899619720587588393558267175607574117487457676294236046423042827420536659232289068009451703684457898666593782728677129341693174502944176883804900778621227818600088268406620580566132507110476011374888884462053244871976302993620471534186015885198724895603735311870551733062123025943621225788006357254003988656272562876440554114049199891649097820166382151207497110223363843852445319137429904969455207889618587100089981784012177794705096585712313954793418380174760607185622855576072281495750067844773379328384542164845111435160419502073878197751010266637027169428415728043136160089674378864363185670235025677877371904582776441981182357112081092713751895710072248180656779737451122790917192093920082668607730265601679576325477290891656288757337557831574013491502129197974947655012817877029197398860740570167936381839317550959491654885654578821912466514194788621420628542934400884619920504953515703777182200102439466736258674193411419410884717975709738686129032316927319726233800188522791361707953973724501361708389616287113602782290753055188556305823735061206632741559169156768469336266099291252241261801857063930683531403278902182430612551157977266798643676763340921824038689944811836909219639599311122905786340729869267222916133447335604480208868229986324951514250542416512677343343602192327725888584308375641906034406176204359315843561584782640860561261142466393169762743987663724695069748080585864180253667142312227125504546398880500200207939164369201587575800406904588129582203987480292993728224247892828889412316464995072922672429662638598562552460834253139229545457823175499749663134206007973340820064637887252294329369372707044472240423878569005683941211844735792872931599948434996347834258388853949758212546273994098572137781756749388218952673845502856336009470298488687642732930424309205820645749672316149050671324517728769699721193947532977046857462517817398887265754317968171360388461185466583637490056163248044692732909310446026224520878605979699810806595828918191167178277015098682580158661203753279379829868741422897011537462719698703388689893178854525645517786353153630285966341024682543260362691478255416626826533512002129941182206000451278119855031951236611444433606354208883191262214585869664745347050022207504491303984005059681694186271553858126187002998026350702334137635096443226690820836176993143760230144998735565510469878521730379942365666226093950233031341647375736676046629294976781024978743855065701017719457837878055465950121332963407016915907131769459142589388161024
814843268246025506771324412201214588273656700668202262657869338946338122831285543091251963636487909628131747823825473087815683460230612870395800609445763259721191038692656313514765861888436016235305436705603144523706019599848044506513697603490095061874001318916632736262413873765089766033762076988286778090799499811039119681482569478620132971355639281821881177051853908013524513639983481039288775672176635418725569548281566578632904947521092159392737010819588101215657666811458658243661214184512322074169245563542828628505216202156362807747347676350629592701211809159208257877468201226567986198882305333804368163916308530127159788541495762425870668675183668007816051609276385119402483246901101251413854820498906567778319197350803904082374544100067840455789755826540788471460580870258486706092624277288028774297152342377421441376291131940273029931476741713019347872091993475521875335328128980050947502365461439985655996554738126554816182647292771508257963132744093166293915993119024275856300597548009012910317842779718478633940144839735098395063753319985786672163982662351300581707081365629001082083238807220167567089031524045854973015397542958136815645333228489178643089995536523245652661424448224538377033732723903640208472941865173534371544717473460829361047284587872813077854360123209414097576440535884410515289456653890315052072333132566464798230025819119484384075479330218151043297400909781655474088484376810265607432374270171773354070531993058608211866269910097594870099409228894040680846849783979636665287231968515753239670824070068468017094490640442197665647744524069964812568568844797368452050368608704325448630838928194490091370282324676460994473317308371754445546245356427011568754345610710819639965935282187469263353943108367673689770164613838369543389370368069024602500674998170755528529893050180870403171940926070718745703659614765995473011798803026187355081317853579968972719566118211403324832620359772162731864010581792306312384692506529046149574877306856543149277013314175257961021381303238252335108025680915983513636853673159114862161327379710972364484803726746767128057023610425169668995610051296917848279568908371715078231807724210082514527109010594362993100096123795601343789707553294576816778983824042462672385910729985932650370581665472340015785325879256651101679263612401877898668327190506297765879558257708433922124484087481562001390558270174432940995098540417978847611269954836649366366086484352171541333770655241584903199183571771270741422560476125156368629016187562679355511403133479837073718427955027640105614264962387909345053291516681352426787670042646478175940492964623238358225293434949191274781207647191151582563177947597411367484884401887609583493545151922435430891580140616256195654043616408856314152013004288558860814379127621988957788529175842426967545477307407159268345395986654428827932813539436482539945745954911551971405612169981465302025091225841003784545739048716347987716680375032481337563914118577624407583008486607559125658061832325946512553618385888018909815949610375915396717294020832078934158030196124471724919458484199357564472402204670489267407720157927051710172711088474670536485394395980750193336733072753110850333996439402313432061263690960411348310769633862633552750068942050936839005691911199363905746937324416258896630632286006131006920320427032350732248916933660693458987792934608710014375442246054921324010161531063515032629430709354689890317586158560873336760402174851157659474966972641720889830200109825495546606635176006429239458539337463647773808979824560201316410610310146618890540160012415780711298061693747254686351222210040000673872895734431913043073005151502288294077094995594216544505625716671013280772522459253745601368390580895320212552659217559848921383603868559879947111372062525689244445505941848740685722669904384207162922335797019117341696419354517275920932516116338325663693089754700437050313734231380640670341149521287406634846933045916213451466769189913655176178545589429729323366773111501315053122095280853137815340819493223467460495206092609459076486784581842601771554993321651631468998998795733964124617588205443053923730529529015842235721154950692350227175363399948523894317970034257452899241885909141201064907715080252471981344579834351947964811362058561205245849088065914992789625452218593419944659646944294728373764390251251690839446760615308508890903687225377484233914443241282330479934026289053973097387270472825528567055710593393812971211410458502782320236317068074560214806573176650484119636448746433008635898500850919552373298097449274725366221067241721134718861071931194510617558353725109315174758806936554416985692781698043042117979731437466729770490795657119373518410121751288663448734600458832359577998681382613981298440764472324143802336844220337531470289754702046874249264130811875101396194515817367711013121448397096195002770978139334049169534479805487763996664505560433266502077272009942825065822359766706823002234437129997319300376885131448297011722121372148987698097685542632914050891734065873587679080607186284309187208745902635159917345531831470007879342600273569132577181670709925006115069193175446661569663536725343199031803373590410406492398079082019843202623901250807899035320188299064012737146995612355683981170472572312771840831414793790132594590413579467318584739999127901381212425335588983342382728806795729155678340583006259086442521846905316249711143528508891181632364983024755601816680439648925091823944026010820058045627680509532704677775840987447043944229510680064655372058020876727856120262337151212193602434936547195572539619350795407136577160529002196455485001308119311400169170697870977397072987817783651930643284968313697209811598193328047477882809757204358146325837963632649481713974281642775446634336576646866781782757973888436541219255117776128712887809856591343690036764924303328898206312678411315604936010472488175413678410089384048393339561084962663347266300354734618298386310384755918284845601107674527521871087980941333040937410025769956723746610436433579796654742249672631615669528642660360685146044459466428540342360525130224248389683655974691980745653939332630593239154307512781640728281730484887899838650705536053135662538409943564271203636569866191306202273118410296275441131737250427217435792779858990064344983887511690087513460483647416204941126173102466974573172826681144644247542944503579728721554057344565475576134149477966433548439141573857395310222175777363063199903879926355853018070810495481961917938599610309933954482061146705468856971051866253471879764334981095069744485083189103176142729783361509874083061410704103967201989891917399904661379875154518581749605963741113775823830886092834049499205698252377153487604892009823498947950038912325080538594723972893122838191522340422289088126095770717186703513277485698629872406568761977758807002461541567898839624141259324971215042971127888375580008818980050885757153064335797104917802145324926377070383190750933279092193257009696367396471884128874821651835887151885747265203992585609871374322729779766037366104704917277401397985810661138116308787101802919996952109302082457519629701258898192062963290434225658631162916845918199006989723788986986355305118326339862977715764255306260672362532964162511407550659332486358277461264876005862291742255054994165611250022694785467546668348083811733111741879107112761480819862894313118210810430802354288776535187530412216744575717968010080626674117659822602910302213936097733184709987912721099696018239986954252347205649575318269477383726769539894722042074241168048495622939407295689889765233676720371201380536053040217356219894394534168545257914700843441155978202852188860802190376559081252718035111268764793521837340075198331241528570626579843003637777630822322067335667169674652226344067457162963140164064213474248237474969189041751003305580473273473358857391859527394058094573971530573314837107915793053515509860082957784861401927020197749272550101907838672941404314937015037467776355870898923956895052135341282987498415922827166083017362806012417102355384547331159436765519573067912874317058662860597851584111000144186323696412162009514654567080681819074442865271892886380148301414111020290448067661836091805967127686588397272808553587824898451868881720467220181827929116573410530626692095369334973616587090316081847280112072096005792532384264981286507006866872228416597273045343277487135475140614448663021340743249411227386768649424774292894929994587268300191544432622899078227925415133666236314788831151711098449937437003864326378980931924059607851174977413998938649254764194282203187938001775501366139447448693889805016603734550726803804883418460981201795528725328581314518580297829620388311882004848240202895409265988167037450604746979134279565582453173077439975597684978280747407257405727061915467776
874931297120608708391166225252660007028365156925297516307187711953915334129600583303631481878624201038057344620662394130974124134394649724096662548326605471565217397338307365478460547477021372579790472805390871421019712724920589431257197545755883437669983034351950938172515215459433232904824938127431471742298292545392799702149393176180310579785943875149476738158924557771970027944508742260995345652969766564685396802210705363718734784769921773698456170349732262727996880521719883803141428556532933254393949016102384713690609238417725734396398425166886682415376254976948181209215074887014146761194713290444031131491028104485495503287999959635425036571391375221722853511422561078233680151657030805301795053833688528091872082617668151835729889233175281534740683781704533823744256047730854867279646304441929789478308674110204994880087910364573422216630431660514279131470575770202957774455836849547163984118134881171864803577222231849311163940421289141292136396677396721602364678554392575058223365503489125090764228926040149454911919427041352227535227086087594235444244770977461615374422579246894529174030556692167093071819079022496178365023737860988180072571837845779440493296803538328405488748341474809398514199884492783037685476852957392872629118637518502510683665903629642594226394645047741027103041240428064399851681075517123579946801957697549713683299894588449236496721729702735819137654227328214190487353952151757895248905505504908714514290846877105320310667097344507533833582726755120743382698351704301051842789937785215456298059796578420653560701560619333488081151346760895921463193236482299312104619329782524683902495293409756817457853602693063438070633646021858088440934165361469524703392463971029416752046647761927956777599230770935610290626693243066554704949681221985834589949733767063704661771402226131316609455235579422699002839638233977312367431620282355130410749900426720814631313164256911823605442279801298236136485642048972169026653521639629921624705584040352347439404557234826538737618863538538168871150731665570128686364136638967834322612242952000059455505973839071322183190107468987095896822584472286135989859581608734218108923920610622958338844526482426644329396626539618790057611660701096120556379896093848923299562219116266818350062633425228190097524602027440318048701974157221395941416808563027646622641847946115899725417499151427949742188573395380424229761481848138330227543044262701512690365953450048129152614296156774534611954803664519156692892440384933851536936220559077445513958453341955726757247294843968257417813501133685175704166610325161781525819292301387263810537831293723427547591975777569986708459100017775576921873284689820899401554070111950957180239463651552926087751206427475411572873665658401708511499456496517013542193569920363206043714323546264268719069607005971903451690948712606067382761359286424694585498122667351572447857855232496599589132346600915337609044857596716346949637981112380570641836862260890716985098963817480107771932512146443970915761103463337283972269238937124723740910894272530432474819247033768000951445605916493370904794740904512464958789194054160562223166159163818119644885928099748981481736415739049946111816346053345494361161355276804392925505105507476316373459241963523222422765979113251027796480565132393562924402565049512782553581477986175182252687690373319991758421979341069017122553578085668026619165836898771290986944445944118585783964901170305351646080482198248953796221919544079486745182116209027909917285464387704367303144800583968694343193424402470559289929847370036274961447756983183027333198170708706641915309240437661436525512210050741914678599116535463373056188377190606036348447735279641008024912394480082480845272598274960678090360004313125010010863421520941747632388169558975616188099418603504755990870341283404195910094009031800817343144571988282486853359635666509999239828769407759852001048765853887151660688589243866828330247849527950782551264225364890511376992890861432683498124781737577403537975481565040473967426704308521590636770533134393508440275588802752507095089845498041466098784421105190057917452462193311448196775660971331367079470872143034195774089064923569552392560380560939961626070793281171504984752381942595645757823123850678465689639712683903336316368248632196586879281342017345445776828369163048037630330134626808805031655893972720659239142129702319009854536945838961628495156787272764308035537431873025477354505002166795090023399355325453797605495199716710453044241689886165029101474693877492186517408182531912242568628050913991091825276727352300092379614577995996329284473155236070675136400120119791969474349324090553274268380028695668363081888304086634707394981709290763841966420388577894683504174417362778167289674800467723685559458575549078936566323022288387289903498475717372233334846072537256901933911935419944725734995121592668100601637577235596923460076116517757804218549836900155121889020635887998603664360599576646740697080528479774195060259983280636850708970204725094895439719362414042187959937803228421929253476294248003016182280586972666861659695538645019403520867887442250969205549366412450408521228989760993554403588368320698775728955567624232044579389315038354983792539408260450529143447624930789054709564874737087534870160997184800845317363209731607605567825229351238355148911299127088355647735106189819028041374890364034893367079055963025261682725426932817583450874306730117048860168893758747734409145362761372861698140895194895708368363764995350068085149072240103497124977970007847382180045251245544569719619609510036143415193988756309650977463151623322118800109222415432441639253699336186995922200596798061390042295228931446246816140459162329260487806945604656785164153399366720448217391460203424491567216838722542156428518633514224277014174082275267834929262781567796350966596880678300431956503631691439883655288012555287115010598795231158368689770727229114391662756624596087653093169157961493965067291730867579672061901520424176367601310906120336956749603833628025709612041413354873889066665990379894566603484292577047672863774718924821994967991549254265244011340891804115902811614366231062229297913676719938008282114261168591647213440762862437623423405961227689054571251108039503172567196179562465228752742331822454487660364627412935889422684263498848780642629721182628177960212387848116722187868749604472446906641647754330232545732529160326169075836226507870356287004864434433390492068656802319292699257022577145548865930265579877689605101310943061721259292346069606942510865732748025704850627164259381275687961925712463591956686633437718029100802976951830968536129505305063809715018788661369444607278300855865638583412992701057121708838137950909678433955842590908058457601315430788273335822059141777615739810814848557839178893775712180753498716412067420588862887028132967519905508910221251601187736057238201663675727227725657685701152347108131928360245592299520781265023615847028794752651942092163214461852029254702068116958419123967308143146730955219441870674638385103254733421632859206091053434265409086921321209917541006053432282665384935529711234304440975988526315887210726226213575296533956560134770443077841408429828259991717602596065046546012962012534199981631164252324066524791958756637309668411828149080622655692781674288340343212252477194578915184002921089658747886092460599569686774803208487945677525139620659086869079204073517080717622472130149648533165335607582983799472015831332423106390888470540861995119844875478107064049169529529443394199613429800455196282210630975431152969574880939827957711727408099689163729424007152274493764108659881320050845256704034751269790225998121794748057667978069766463623121009363651753349035071972696663508359665988625558716496450087023378568080339843033201907364529967828964679535158571385490534443164006751442535154942491131695873905229820694161862838922516388471688273169455459883232081292315782016144602619553908576581842914241940971446078525576892119129113790656376444057496718310087084546729998562997530906131865300072773465667421646693642045542281322974939394890404634713282886201640017091879770549587141651576630273940828523754445194550889346265166717948495300404770597766238326024942081932192850656324469267374731130245532263772242453055912233568251688238066099010842459231836975216784762788287859749905899900142015911714981787833132925475174981612590014588186895760582138498220347723099373700041312372740443591825048468461556760424371322981579988387856397735666295570679396294414376854698301105359592818845340791666023519314906746658463221755164825342075393062141912723656893532444221709218843145661845649228445643088578705899983498090882039836973588464758526278647046826488635637208888650924434131281674430892454758092648773758756570105151837662883507275303615463424
939450326844968342538214928189986016798489623335015186902349478143783654809886782707905213176176896233146386629586627162399050944867332330592647196952697506766816663174566895681476860960015526680807807807882791312555178281212243951073225905908245741095157893354118458311867714115164837505443547465635412903579826589775667548652546149485000034825856906064627425476334056540468473878467787699267026496930228168019511948569490009565937710771103225628295554335376237693206586357701579651853134428257358868643214831112779933227872535329899703982528384069420410777994825665237418045065120117479163857168903867638415757039960356545518523244255073970867653783432481448441101151839665566894038424272816879308938291577562912801241969564573695978805559636547588106825981170774643976976851998213559166272125341006336994234375164174113088216456254155205571352806882825067950852670351829827928730939190866279185430334113178787501371674408324079230262312950982331002412251425175495424943252664167166755073662675135091539121348720999911172949730124932416464220137755669898458137788830691801897782118943187345078090944783374382901027712780907615183590689926094155306913563737539559447136971969604614396020500255652136693612979873875870173720664654404250817341389521361511719570058914369900659592740855117394017521252937444452409486209367492038015965488957024937869900984187154409212527397360071450536230998957132707351556574881517037247250960731484482724076069927992327770470479935759477075760212829480936948339974458200769720050795829046343764278471013639182351593539788419049709156537707091100878586049854604967407093159237986345577418488734497207464573630770480621248141673211915280247751721966979141906775433683252107409100998723300978042066972560388981328380010675705898757802288452543513618934774919203361373367727728497323900359757960297399025694312014336850938156023786157251392742996467292005585840992084504428106085273849840564325637172806243474474095915256941359702730288417270473219142267978759235044027737535952677067737329407597523827975611352002910551902891474192011688287863431192860723947070208132506227780717197655666593107663872660439133683489801193681489063026931917657089028445590600097087901133009644864067285531244468739818084108035555388001605872922528247884451534804065817865152753378563975764449963081170724124247022897512393139886570884700372698960757888549513649886357888604562941702836403385145857403712686084953771084115648723851278750991483092302683390368136774730135868615100834770116103418367151610437775572315584828272117904598799109188402352340570436444390622710010080718374296081394326872846483254879171815815996630282484780386744526199719566756745175676630104961256218458000139289999164447637972137408078685618411421853751393578827767827624727362323599865641499491944280439943409555450504970535154964090585033088076924990002875678181417822649431038370068842916632616416667034673911624293718466784321121979285062903126763194445562320247942229891094002751391597024904444892277580976492419590338035440122185061767037657979661021252380344642934438940333560783759222835444418623955586394055204316870367926795632382591750048709757325318341881722869797165203391364334392417535108373227973751044548108910065579639191655570766310578441538208061156067742785807065740306784306542505450397953905491586975533309563795848886352983459369764555057910471431615160543679070173189343156489574707292371974942934583402913423859406347361255247048200041156498755668670461593261493783660340730520844659115146811022958989502714848438269419147144352823270444263831681094590059570230042371058997351589149149363702954154756020251389153577002870544162612241321134192570847830886021868071889251294653248061448975532021019987847822715389082750038776846300548154658275753697333796824666729490312047597144922245757681269278283618718886622397744061182395728533902298012356311563463241576151760901707714312394910696349064415200324219412238821822849244603246225098268587660832491203722508250616049846842924933151609266070540631473707313717176122886420905783741453188854712148945232236542948500270868654951048188737274986887409130162953796324607209732326264843484509487991776851347053637817550867259530852036619153114775387311970462863272805399387115163000050303776022684342020268322334015986872338586504790040076553324811316476355245613950577334619686893918922541812590671084474900515869246400023932237933632175818919618112453096895643698512195969026467576874268651248167064965131590424795213190712430518893860092896950069664340389543569128565953662056224122532009391787055857394411363303214820582213677313869713771244527803940164462157813882102637536859289074641008994249804739993948980502514026271974782417403545674950513246699052992556621049683260615511362509818868703978925125622679399237297990970307911224685390533839107728993181655789873402490013231366617829567890718324810520528613793091860596508075066460059343152019480408023633983162299159738278124756691312135344361960515961865360783176811602533550246570702113054455765038850958226594526611466953063473935821954182837154949365622851888707525269250340534407613748837955129558187646543157552206745850920405775680795798262145922795935393910256891701817456818224250610441653313363083978846531890139150272290866924727807431687710900854669217476817008116351809938929458802359794389089973399053022247278850403612967101936821037286909206022277513813992503131355776614868932580008300343304092538173263861542215560153393218972921614533624272152138996494951752601476043342455626884474929298164039528101473954936555982801035416149344667316814452779973967875568115634505817123985014206584230899838996607989516259348664014316849261156932244748959533412959396134210451822858967039455000848424621656027013456244960450923167550705146280552955772155165477530055919233547417897732228663028964098154990865862376737846448887715178129723706488429818910796795752808618690961886419896138693610118651816346105841872099545067979448628386645926077128743367434928731597148862957727679539200248936415598109274444872514709067028828795704770223425687752250067712860602884542245851538060192349537981544763543848070635812574179764473363575966790124402031865234860873041101092124760170702708357200566087988409232936657546796373055525737425407543446183103775308065350511627393128979246616916795048755432284246903461872905523699280560574100047791999009276741809218420784175837866715138470634701237113458057088152324773290118866793442352785094820542288133487321316794252729532140618018989414680111699961652725198058895815660068639092957053156761164434783834746964381268336888944295670304926476891479793194331529345790485966436597931871478642928131760591837859164173380580929209959018504504563463095453946369416142322328171726835573750416778009444065035443861279406141952007794060790403493431859356097444909218937822240280529515056835009898024611055044374040085766701990167431363647798001411484682664003058234125139181706001972176310045159196475178282325139561992423995494585834480158330161183165800777827302283399624589604453097073980426747369434607420649614002337794546915341824858260449492733823450499200952461711394815874101371689607870172771890253083504406018300960857758981182750657412799534039429427459015884516989813351539968371693379291378584136462053509994011425567301612592112138251492769062876830089092685874322899073798759222141156016979553782366460344895182168416049008959871948858301256207532515691752336595898643339115425172261335192915551019440116322166411792643944208836718486338861655750345375974349164913705559585053363752616495866375909072260682950658195164214922358675138501987810873360595516466933060871959023041904719601166848512941791026819934593674180347006657570669269997205965441234333092281598343908573869440559333855035656636568690813587737744940442222328452073042850951860275470811342304755902480941627483138792381366581780441982127424966001503064474991861348231696019617275980844273700162796244919933082931800272930487192287103760048081892550347742646401831822447113764538696297914779183660216852244532159079352575094083258133383743626160418615179923910263466114844887167325311305106787480927699394110881912046319947091065804727980548230195783481432766982887495299419380753656732114489575655488596219820439384466577952238272639913266611703532364920144787139906024081867512994729155034170451475868863628106406306865332692899736918114968449939987622460091780855339031414318429817595478391534815133475747954763798061384415896383334015787136798570025369204297795545080092456087200546964204764307160983441456492061202714748160811700461796317038254392847834609015417494783493240607842810004199223392683517975179725986412311687319144368074369056501190290240561200626319791879455327090615556689605969096434201301774221491491045376
1008727107503912473339239686698744604211704888604812169852229638547554395776954207298277802814897013908037330438661557415362301177410772854664720002244476662636054066590653088979046687701001462686571241349077509922154351228314019751158332341773972158683746593978048631339852800200727638683758564584781945570082939132109425024507793644792200598033979116680829713711382998703081748956762356689455740493870193593865449227246798393621107405833748823978409614523157989186961192444532010583062069541114253653039541897982888275214694063724630949891260091242472014491593423172354038644758736273721171681991414314918727107434427874124875398174072840646734357436023293611295309907344823461346798832404780269607167260701936239465958501865617846102704146945487384316624035872897221716789739070339871760724951144008766279747895472280611640923810645152818009279325009884342734472488618844481177801700652033842752657201175614013729831224181128017615822371906446590682301879245214535977682223212115713072504955815160272635623124333026511726681022684652680731019361451304263112335657022393842551571233948642932277866793489583694771023907795919855102718762270662763514984649737885983832925283860480131220399710285896391562897330159850766789918023332512349905965634415361196557168531554502996944929912662933070386499958087816964228842917349096787204740125233767814401914157460510332717501571291375904069098450905573771001718565952472687460939185561576522707845928039234030678270826464377783740612957110155062212139557946861906237411310886131813333987391510116064536068656719033644511056410299136776391540987711838472503152759338117908787391661305102483265917705685798387615632796804973851546692105843965051600935892121446156061292020569378863463872939847150014961036695628071924219761963434408209752563866158774869867971008993932093343891080768488248812304833448699164476751760176735873061270405390015674418359095414785346770704867443067309648198987891179066869913188798937644228249717665206071015664970535009734293019063208447093052395251631002604692933995160614711229309057362372979556411529917671920769508887644736256870708626755838963971619288835009323648042290177819100939341570588838388940579933556335705501740050889442685935839225047244854603251058347510299165872004920947691574975132220117113890580903451321445838012297715508913376569800992544722072626893774843471875261927079673543500741875312027052227746809225744366287434706363928797681119536794087691344350822036863994243623668387211980213195334602724269987085576210180471875994581520779957135630647226972543709530301448054769628276061797142047128934446989152396999702399002079418845123660270177368843344702492983702675897877329234225243074410701338435536953497767792482748694481729040231435648083680482583872415209082292345524050997980058594575324985952359032848454348783483547265279274655092070091076869495935752575797708595701691706398874585489124405811437112683939978267480376115764033657558066015620044754448697622169890595869740231927793872084341613312006671733102894950053437771087291677955769379861233635598653053180210384724368497504152541903905641429742417839889062829268640789717531544653703677084677792736706478522675518774526259060335916848707477303270694991716844467441402910138134379398246312312889277219726806395320080084916900881524935840240552350460215763779183786799146861021167505520883798429215223682353748222796478384321218211033383192377585661708875495724386648884090972851795895104928108254043365408561086070542444232115652450944214298955962895575291265841894313990957518475301791757956469136966487491447095207461795098172627906502306245830849388316107459707528295587186671325035820600882797679789399162000656727397727811115340021024687070683620408092178996850506581713572321675718227782611104469949934939363062315042248316133206004498028948085499416352537865182552961739153186245801099305579040516065312766929826651411525880661817219414954565870689452743073520467677152777311758058129492556846172463548961598871526486224042859217287001885883610304690299072820910317313728207966697491411475093803413337769224977018907003631565112886657901210062762055423426493308241461538555376150131733381596573366362230096052447424030538450073564258794205722661621828934804679134969517217731325268220684550777082753392346262989464889019235042368831466616167409162934297491292753127600951785398398160567373335628137762127985575067130644811260203408895444461448825375177202494591386027926800269837440257226780992386890302740547037864425004830359798547980611838315917625382443576497589395729679880319262722563975908559144639520546515778855836741886963094018034221426576457310053621406984038160282348309142686190853164948527287709847154854122954866012477088675203246803139300404709163698875566533074018129991826847121945524913904280553655993946440023765057956737255461636554651158827918712948831726241031148111726752272766783218386012996448308552589745342264291306176843560988189072387811046116295549285697157990079600624874426929746338204608737262948475431831745544480131258750371412312213065498096891625924023523996250302471523883062663185130951758035965946164743821241964717733517284825846515071708576399632522197532593297070849643357727204479940199041343291488734274266121365711852567792178827179692110298506655221118101068375684490210172009074396629527445701778661131606433737610671980505771868998523486085636153338017902196752042316821507034587663175385913189391138345759162508602949966725621988560286154729216260998358635311310131598019101630305631870831361449999547866881695654111775901462071425250896396824796399489429536397531118939229913517637193417318103302843664896030285524192476161190691550695735839607696778721162231509019967243085679340140712163700292576909000783452346021781008025382104409751756253467746459385215790864953257539825886484001248668225801275583454927014407731470415860618066557494441220927268653268644764976179356153908238980109851433905946057704380701948803740230862457164758175373908225381586177482577575129053311756553523708354794240944335903293754001391180460872891683763345201985495555447810130451998988052465686909956355183757861152745220131343378233121915609519805473743791600624604283401702205384313626432021252877433200579365149219020631847550760502961224658582102159643263891685680568251369554130306675243520594068771884826790795756589503328033196540736598576672474668188827001671007247147200474487734981669871874544033260949165328805991912918713207603823118319192622029129584231871568742758524819333816196960755315513240565727208734520052532809864504869411810205690632568723766920113206095484581533467428514391483351363203624322780458603123448035443722309211634696897530211302411194641117213109516275494276482189187869406482695066472220247036557658706859031980063559617132116259752524496351769257049454728733496684727536018564256712594866582033182961487194962999871133910582739940255033386807817797993919619122137711707822889887745989218869989352188397478757993632299588982314348306415103724376039287297236063026445021604906310776877827757136906974664806356018843917220572251803766123780942132704606797116505387890338232985741238775283231180801761198901516364067284576273703645230127051092362733007548368227618492625847041359119401086246001177502078848324359049048668405222230242606572057165474668262795855338698016576384138227200463035754504416468590336118666047140201048984262167151421990327323653753965249173547108381767285938170775652742160218067247170999400254716535629578689958535134629768618437350575025696008396329035932628663449547319010147795881933069921044050928876907333514925432476172110261422225438577019672929238839577426740466560311854272802058765444450617806302964469490172413267499881440073830867548408236551917625930003727423771395811844038713730937541986971175473741510285997203169565656005612011210588377171429446196966604652388331273976176725857133576941415676683417591887190967363589205400458717393693583119502768029936960679682425134492660079143054993522991285779008382397023430089937975608077071286281505062397220552239164582454516522194720617929196002296173101862000466845587587506426715742624118072962113182504551673159556313202489223152477144491272649657693210392432462689353572595989589992031381874210491413793310320916269503537158580677474507746989766093448850588752389878087694437486252348729304185312368962894602925616850230374018686048040995367576904865141015000277722315983020011729203570549160956262279178560921053068712350019598566689757236069312525061834099631655696143627753372699887710618351142886336661130622063291002437322567441890600574390819773137549552446487534541224970338517261936007519194321785043468845406265708470554767198575743895500398376747120413989582344134555739946751036794161122672915098892891201750227020453595541693005824
1083112484329495066259626591969098569836434089240247834434530862560911767660764707708926920053179854085769371445299180777851842887070390842217383363659268465664269341623665309111595888233231677171746944992102706221192111097426536012380773881454576261390303506971777353375557109579036860887511880312885568878689574894992150993406243050374785571106895550722782922633858190590036631545944110006274808365158842488710202663843367805326997830839837703016432476117232549549779987792606819869844370054290861709813340861664568377417239595585657469863094212029098327109157954863487291828189733526480334149238609158840544456094886545959286113808155241424885888596823614588679773062557701740344505274867379073007211537979180538095879067701495908961268842073611652605120885800406095010718225853870798204286900603678859377206199544567925383161165487157003568023631361602032196753637607417313992186466368416807626967324037038735422230021864397304012317244870834319637796224339384399131990133644152264653532115506009597992111260897922670141763870763604346214614382544038726653215205271463573347692910805946584428745165670536921424098473104398804975808951159523817385460269141558818184799705548069697612351330931449952951763590010568373900805203183526369090557768778467104810116659346733603353115471974858452186720849973136139349220547483900429045757523514494279428404776523071572622937013881267998704802792710925232641943600140472320744490769857961639807899905883819891663358474373848472538723299445491665422496203892417198279474997989106229553663142953074137586660073254725040974669298161487507908133358316471027858909089562343756108439550612130960888875954336964331614668570155593995632050402895300093898243024913548825127040349962810379402745888535721138265890830494618773514916987463882775500292514325814802377397830376265050839207868321687894002290025511222451292543440567378938707040948840694861638559034197661654810049154133997309216429979573228524771518558062627675375903924173323388028233638035167607957541639396209273901576605055211711711741907875365612996591589511994992037216027028431618040635956603870172451287213065349731825156779427285746230855262684668765784648731363084085782279725474578707181765197415883011940207156472975176356309587719986134485149085114355350160303231224669719362488075691389784464424533083481573737216056981051980279835461393254674805836442060283663923029926550716496196364122348230783615194249892109315028252261799318830120032263749761740419073978063656129908768267444619473025001723044010187241311123776238965077453866543790041080590792060104169592564940569600019671316036286563802968432581361668534983623052484056580825373711115553668113492267641220205535725561114180251014754868096369428880071746430474331871094911993186002807400089885361949184232754440128430966185955809260365033575288043509805114611180237555530227528723976776015557549729882569213012714400068970336371658888685434547247771444738934746508653063789189524279345603376699253161166289621743036332428507863645716736724806871143603350767169797763029508248405255549870777849061264888099197685167758248197918136076152661591581572622279949510947552102765534005234588408935625405166001554436889106070139341613409843498722052477206153709469994840573850628500492181017784115391231951109880605847854204748040955792510582863279550639313633813932468943072196742899987523839817433889165258510229982249081157637843817001793874451725119534931768007121654051405771821806085678178345565978548886885772805236739210140041626911183607856895171334773116344496319879445394184244832656345683726102105939588407561686279026136555201087768605008617679821512366367938635396967497032458877328671190920037392070656643673907033362512668555245844305047503908520636212753192373136190232000426409348322796218596330473023928379126344025797242237465807122125451265309434390180510114400554414978184709577572339889870233493718948690423973725025948329221528435122241125909565233064999066237392913982659366182432908429635540478269190982514652310144957736440107580263357481556233069452861306262413095684381601751048134722255717890639288565731348285685960109304597283868339055254714981144834295912448545241437192718547601188043050096742651787084121821418898493281927957398673153258116911601766238335436567064080005453026440064061891722719471005477826379713038701803963385780459304861211950714189732607605856320286320826430581352818269781005938666546878412361326759441000253729759904968314237460218945285285713004414029707352547175194344769397759340669181253671909326479311893663405605169373844285630106858061049448748353177118614101329233446776279924954391607553808992087347555108987340487473107173028462183746826289448004556019344066814276435478101912755952322477793124961342636355619545237558256252553906493263920886938349693025163090316808583469424096677932773768131596216210963603140965410996403113448614299638774956751339522387930894112346972513087498364437161666471738113377042556268024259299213106363531884244280144206942500553041137470755055063628194206122033969269530039760933571714424558024943149986704074641568936325762259266674700157819529544732636817835113077141362831995344431959437139857619784777314099135026247027953288675493032711960729574997213277215101821416624815634560257746830103382270327720453262473160574056181766780236377287188688251805888779647728996211557220334213959929146363661256429583485507030849394144792989110845746988545836502331882498336811785816699747189052708661531228789740894894174837662085316948531737064971365742842458998439725799325760861083858851356315128838967177154761684694416412739130959452746569672495790016230151933428615781132308329137987225480393411157465427869442539783622985121860405372080011068722961804695310538740863930783241551034506283285732419085885294146801864408469823521916937448425554399995748447563298342705506505557554237031868746528218572552797482186419232415098698191953574138427843057251131051599011185964445110987700908882653508435849209311744892099929827438223330573740566738358722424500236120807416266715271323029261064645570819348678485461521554419250424786277207337877608714360109460575400021008487395271110158514354222880939867693502842901930542142537956650714175534233173112071380373228245392084463388733621643515036742766179723626649697360371921088035582035549942223155353446856966705053836273102091873322696434786201005659272106800814865881194678369469053833970126024846814792419209441928224751429705498706588283265419704437417700184900180905491417155590925231060762268205384668896882421194724993032292971155083758651339118897400074994055262844953216199453532739622033737632321583758359146063753054372074263190746559041642392641468441230178956411731972221802008717406910931546122095975190526425109683013382764015141072298309147778139232180161726733441317430067691406378635729940157297467598882863785855816828955501592982472215094143090097364086367090573931923819877654792745589425348343904857019533712553797585879348300478609337325745988320512091901464374160721686238194280472594037733771509482675655801106011512694910965318466846047722259975563127817958582008694555538674435699199286263046763714592142764687756852120940977119454199655193675264845519591654753409149990668946727448207551733944304756133362617037229906391616628956422678194488626044343195048289040126289333051013746103908939904742351593655618788355039826212829561903189458063075006651360732087770857020127093880218964703764493946781039872870157714247763732047735932405397569864810907607999825453321058880836155539678924993653946462242206999070288265968859846503142941375228721184751767292365090953878210028617176556889068094924334539509577534939080256415700676169763512577041266623766077570077096327122617248621850388930268211879502363831898610799119498035378932008070721563167014188599273359001398590188008767222395153565612217250614246840785346542332778435423730168186570316720009824247075666640031533304744593399193651005074035830512117513398765218486904653594147991048225677684849128457721426269429995506485976284183655509929423163625408291567863000910967579495799465702018359001094613042177559632742560910233483814735086053704491476882201840593838768756059808083839244370646924764483359186188284878450420134277443055921438855311610582767782978660568003563106193882633661754921954513123281870464992057018657261142571848887158188137059979439265107573091496619026167306889992757576290170987463609562066129112260422616435908768766846643867585225066641999996041370200745245576774262221085939458923891715317248629883424929234994532524035259751200464036492724399839179241418627469201846512063978659334275187731557902845625422286654484937426083915510157353697762841825726023694089452511463145775092260064809263189233581640094121121253676408703613682393379600840753355928984295716121504382976
1162983174521123449444612314419803650011964120636602483957783176950446712511133710490210052220603513526107857339009058594116376583324387479315389417402758236828033934502273510571008788582450318460970725982248025373278964824161410483935418730004596488052325263489472931935363247855562911172591265188827441431081778877533480673343431385896746142729199727610565453704929777721485568982957968480194164179256113583556392415684836597594687567330010787100834508878953715585751142891131380481886136498225248878826735316337445325740707252409166199930023809507966778825535909559230515728420739094796946289532952409436551929440411396931383701578240195002717333013814188534722029280096772771925483482213720963950192481943610585000370677037223704816610751842487718135876851659823740397525887378379188324206941273500839577920888723092333492811368716145809585504202013310169613048977723223262655151018146538519013637006099929015330918673824237841870868036974264286769686337262483799761127102849075819582814301746001428709556282887475365648967877171012803518807542569469902683260709972715712395909572240646395611090832218264497069256172066732115278145379093554018650907020467588279641031204909847276793414563003162691447140821154735865068964573934970210299392719825561521042813835459748387706466722960905396592786434028985549265150243633641857317974262760175978031021022154195248470700853521986020362124588205722764024584860119957405897702557178451952049365454553121102562096922240033316803342666177900409407548804600519942249573146103219255050712968996006570899527345124502082114616150004715443294493536593973170696379860476850346398887024868009814471694328519512792050875095674339460673405832464734403849670735965951357804965337090666348946036400964845904156973817320166784058549857328054625487866596865746516190906682761853441995543787246880978064737552169426527320606751474053056546482350050898386163214006111075601770600552289495411209141537035241137756999519784015746391002965190621946803295350002036643514047674441236004444794460387710644039527918379335037965838359105668772628905812743541465414223758163824404427039683304665252247854689428219472527119654835035377409437520013083912533237499309293406680910462613050311811291811129145772567545530627145913296793279562619162265282683888270618265846063571122928265798061263405849254988865704922686744482558736274855822545667143479299258117148941152359132773074898348484771927987993465259125826195116526122610629581817518250722991017597006121037021793079305531951784147704418330723066934194988594222137615938581694582908488064220968688326016125653924072314761282785204491701414332306376436723226502678644014640194054863670370071826466979961077584861154163374989360742982675118343526514263122998288450783680683014225686893211272490217273389793087600259890590513818620442056951025163609505647137719065628327793827095216012584215823934817172586516495121121934777598557042911452994436291009098998533178772496192711281396833696077615188708457785762637890880056383109295178678221915869465627785252697967786423952465704185304371971949839248694788415408606487411077332433088361759799540832235336026512732563158499927114612506099796321123681531847900601637480888598141788217872358295899053908030678333388355580549664859343773692498407868791802026145300040292230956299353678782920927325356987279439925815757692694408291653425009055291151718510205863799616024526089951494628366025822329796055668295511649811053423200073869410387493765316119426677899371544493111308087591915541773099163352245791800569903690868643157659790038678999379618591991641814890544540417757296808454692667446031888683250198682702466685491210844332346982147879652034733187510150001456138999209093205957617117632521719253382077068722064840554141500119121021551438770552535926601811495653448484160711033934226376876943172798436460006520748619486899964149928970270732793725297223634851676510218248880837436206348076441996020849501950232398197207940035084464415772215409427854861840888362593488569634878220860624328112379988203862610236054563433981005226060001634429376212018088472587922324462230630721802251715898955957659166236153039634448454579985070788245273687291691052819930473911601399831388460564605968530336247389071213845606759201995468527242371910383355683589937062556074612492467243307037736875288508394772257579736277126037559449786810452186172162988438426162326420759831155476535181397138650173007995075141742188832824255203442744391535704617749978881842500040309162910214939223307178009495963164059904282617776507850967039176546387300501144447927089380338453251257395535769513371945663369726555111561505119045311470131144664585767928423246915064589091340414243052365140520677584739049070475459860465113594341789490651971849451643153426315374876636216402646126532881374938678694494246786273315677796515877055172973193225858428034192329524187536473594048366620763187704413212105753830142299187080434365427774701140243726307784474092851001056186042591484732470610223607745474006943399694883279481240573304707704720753425132515697337235481032044096295363029208853870375912163826455360194962110229516183111049111830046696019633072486689880369928564063768005280674626159904771669143169222433043432380390228252579193961070073608993463116448590991485423787510947637248154682185831971688738153614899498153955661426312200086609849886539642028786940584527280604796832699288596869052738324944230291650554123713593619615767117845253247520516207112328230373140233657700971063577166191383863934581478030760760490776869629884333827900437167993220013874680358347619074284941609095561630051312577662143529888712204347952940796768482628189530659014751176016897533798879737475666530459909373071253937596589758870782358855874502114037900375007531640379863554683040845210888391963557656551069357381196392366360709662660530331784317952787650121234423449527094025803077563517104825453294642068001336653732818714740696678565881406960387413866492619816415470118180107908116995350745066061843185523166289603162632439025382392585820786439494950125919044331980924717125088624528969011635657441211822792098776598887869715318925037886108087291575279410796108131833458282908371540415486704353441437573563370769740783701738663280380147896975616366881080059953633713323604776621958694741052773731867451390431753027805785444245392886496991776178078002266277089010485632517847221154468629758777589341251527047775241276279428888235802383318814034121682078589964041744090440429568173775246419857503392325872989091855446804332693226941002974598847160273196881545750439021887064645567447225381853687083939495556667584047085479576034866418699269324741576624887042194021888270227096794630574502124929156503949582852555021407092397093843872279459104134591217470438851425443779138586902336451184766487086349077754841974323875414154121563297515907429770205386523768370162932576295283905316264505533278140051687893366426870734184480514004991157528642619780458613332147006317988888088087202062843577779659949350172333985382351772537754425181010704087784646991161455060275750019006032855418651332158808490471563348290399987802469275922965591129828956971581975868203182788224234832864837433368585018222227827952138911284571110103810929270457839289069242129379720503262511963670968715596283697484400502999515244076106967133137642024411098821938984790684078663224438850221090945657010422590406625999051560118217664690644204553898408110834470494765548680411707396853632681712331259264064617569983235131312294111809497350109209573930580620320412294322553297045176899166294472967297626907200698784644723604963155502102803599727634034743089109982499353924107741904260110439213847834911763406182146268555207643119230147872909879420069230908339716189087122865095598632715336353174443742512667414472190985517839292231081031500463781568768540779501036645365985838300565827358806523211095588836490732239742243672474784179201045984974452964083409988153207570588550959407628487695435912939134605045887522864268619634057511120966000355004111126419278815446056005800100618219268938978996351732801038380255990412684718641110633275322147804481921811929767474185201177108129376101622635379949237455385682726045869385031495173320161056607132510224964612818972408545386628921219757206760835518782263943151365021888143725236709896528940416566024612459212299448725049610069421075149603106821944320519013825087476898602989987829228590866755627349351057264796726681618006943182745060473308146114659374038506702630757453618807446144933528353523107895378512567583231282512529590883853953982384943645567772444190100459812625625343773406357294498031614450370659265792825404963076631346842637514492409208616938247486449018501378550805558826758819819053325457090270656468903723112287573144411847673787187630724424098131142441929308812149583690321800644788224
1248743675091621419135829813457981472885703976714901592287760847415287410706508330609646075614486066994331722359919372927369393860849615795722868504312334971842757131166367691387398258172550579333663580126783186384702836551126912163433539205358898961465297935860467270734904783854996208789208123890319281383462919545127472159264524194711620078959015253584871711932518857322582478829439113991258189719989922362359017199277202657443273841255048592481325717485831957784621660578008041902258419163917351494005373758529385543561101156251846509832012437584512791627535505307627209994695173035075382018553144428213598080988066632651491938576491305692333394106668263994352319052192515692640804626274032305658917920713219494684005051438063496705825214181364123168814290540596570532941931400879447834873464476469674353928165185234193084987569933210939834295965829436133798064583541869113202572937220121368691961279803636907191944580427698195740249418484045976334142075680098521925963379709002267233145947410037958769204929418257785866989712151011247577638029063500260020226848993638759261443354236731427762478264815717287197585776518190791178134086685084158628754923411273572262782911200817170545593824067178826083202184891543873997367907408317770992533525077819389428725309778986112397000755707345241228981890916738612537604282233230995639349432881166629212012440910190015345063545019054093606128795855261647882079328547987923810907501154255292489846201214457357557917022550799539405191003678881894087608212820781874139431333118289135190073755830227544153643812291860372741545721965920768683998059138623499710594261585278800717372785651710217440738664674996884928039326025539762498639046842922334465098077835503012824780117304506938892737602742389001008438248929598674699241446602365139942978769587299347416469673762501872428973385990333919698135289347695196479214126114464417608995099327458125997545768624053463247062266590730178871333679450383371535035933140013153574596941033186916855001318321905229321611319577490928227025711201796174115217435179550327572548529395287796662402602499452657293501533634959706825203264471933615658031594313609893503587347648821305244137837552885224108494893133559442640734586106820448008025213078072481398565501258639516857444669348508621508076600873807105862377269202077486724339167116633141031320785761694731444001324553674898656237204961936332491652554309752602757126819619441316626646181824753487414397264251398651435585048969099281684593693970225449341456551628724098531198990810427551289621128796615024819273904916904180714463079199158852058450064061413057626164759681902365271132469488550390761997817808151308110126444668183273494495677961666539178894974330458127455072184764212781969594018017247704118590022603526013260506992369564941006917285863092862494837796698744702718617916905637843969017295954848727336391413801157863026182852401433447999569019277440567174507708979023789808736284959904759281588699698142994866792413480651040178293923667111776040005064706022617396508359909022454569083442312216852088097157814509373150356335897231400331732454906835091003212731758655509139008847566847702360693821590002912843911089352806427871831537601478882572926116088509566691679975395820181863083188801649693021419976068660487007626455582132462183800150154290653560046132309077483616554100252972570623643836352895725433680672545070244838097293883006811695280674272560105913787938706099495146361281161649881369757988291233475447272102359158009802961931690637730491380996895161477395689790714350984268172628537629048510742527588219344366535389417275075243655181404441864419520326102927701716918026581927343828178567067961994310812359735308259724110482481077117345008306296350939470580366432550742389600678203250942873065092001222957385175317397413654959197047101847272756974713462125936760385904940348915504640516533345911611879342008938403751216395847821549105539697191396347399687823977720237627686253534092464164365240554216815854352942239971675760303468231505787282905154884761615846161365515113922960262297505126468132783198488395179613074513037549929717038395336539898386324736474769672619924726179520236976854694323800939597928371785971099352490611027301815908338099192082491049841604856562820475856012279398816175818105141388870938625889594161656697754964088750491629304343530042075918263855640281046976122526266072645285865231166619225691110052570813402474873534522617663520198565711316375109146853586103442533317637388085100551046474001634107127337073682992628208884808414492869683422842364247668809304375920650534953604705970255640531343846176066614531585327015500177666724573994709049876586736791360190659905878586583824968746358994250625873496688659553621112957824817814596559155749127116679202826860719357083720219283145984635970329950843502284749576191301799248138405027258674181176871997437672483206406270110177531223401328719598981437791015216130998471978508689462830246701347863380178490277286611338579234295127855522503511145047889628485787959994653145015977289026963002558653715193356034846567515168520864430404614741724880031726891492450804997910315611848729765091175867889974317389294355062582607870748891127531110302913205043454265198329311038035917772955340865515700716428209165828734903890732234493427527407014993335987323949084355528238582065320854380724512984715014903314449418193539268280296750090609948454354374291956981504577376401220322531632917955406955666720995964274385171734602549646353086967547795095406032316376566391087643145285332897364987076993891173402209513394717495158434477331104595389146130879904699083763334955709580733091649532504359307631721317286203842904540467514420970642528612762310778473763336031774649116224684922144463869634030304929241015018911153790871037279186746076492019003240966647377339674310760944993677641675824635119542531257418733222157325848070966283593876685299567864331990481422215783522887253017133175427011338674071206077332677511650678084216492026512204625778366993308526992243998825614966053812081123720682872512583287768657773386993344337358059638972576695863386327393148044365955375152913173458377599600903311899098801909607260347857858437576089960917942882675414411780212949857420067909889753099094344281997203416288362401299144094664644018771980495105174487343917212947114644182193526643593706780656698461543904920266449222967668495243529198185506987795730532267970528789598373095063522710032361908132602593168290554514613153013299338276711810727807874441782056907265512562170465699820970996019157128328078474335191818168962757902046015844161792714537504298805250674470634435064656147056390864723886424156010501152215268813841976479374024207197847806491186472079513308375332288296141551746010436992076218592569456206881915341089678410021003421719449297250956818128858168904249201846342279153942601904492806185112656612232580656069132254401660317303092129147037760162798426812901984688544735463259600176750588676058807208111035770244400016912707434625014014225831817944115001656607801635729654321545357929963570742142979485812634914513768375572385181150965012228886225623049724881364592601112033484357308980765066683946934248469089633295630444625691168662941765008145328887819304069566820570776545996389673344071306297825081783287546693887684531290904958364407637216969290084289708643262590350225774913016745857380831610090692412856995259643249539234015501907444431380690913952703932731983035623798511123742692466059771251911416687810009614413640123456246539316142193238789625229429287110484484641890961337923221506502054113481106725024846266209157047099008715568994041623500172685315671669523872347145464361293004364801484353442918100316607718810470610633262499421583228452847974116125198201797863672512736200079854010263671328631035414270937852720734346066282346179069976255109437667587114410399824897486114781575018611700314018695780114595647596594196442010735533358581673978614345719057127128819443488294359460671296971892458913634371591803490872499121492071835124511926317863166761808380131024061607549273954617190285462485852240398923347579510072732642602530632932758839497171182014101366853487627490825715029881523338297872553627252754941593749784101149475924847985868895109712938652153703697215757196625723081654408024524661701254345168778986691975367509819716057835751670923083810847740013308229242806428951855175912795061337940526531230644404663837521385493707670219928272356489443831288296349986046417705046559600192123212869418804433118975106750253707928442695093067618697732525254723742029098862825769603116698658073260129149499841616670462447337185763884384774590021630109605749156134889156438592554794134390245781905897814747791151463184408679951656437403983315200597667629561740947330598082934978615600614192728462411834444281572476887876800990123016767352486781371299283731480576
1340828311401340949700374407655952774054502331481911963683564665179476389856243383579996409224740190397079941227801411979969832485923068654198684226332478418365430683207582892404974096344617365785984637127702329801242789416380879921852914489137574745515454718354253136771198483082789380738409162461609401135048718668750422268797908707321786097576477059628042690776425362775945467208763339153917488684880028498977760070399275063020788030840682324899531361831345900509150660978939249198799384712421171978422455085285077991142528210962366674835058968322680919033481902093773321571735025418677456666098055139285505865083026388376750910448417738094227641404204832344209384757731142998964760936243117771713132050052899681134361887556320121980730756900288580419443316242326107692185721508463173522329884556163753221472849650966660350242740357413472714431208105540427195841913602046921979393147103770607920682998713731454561997291895351360815644440817998841528882545815895027432487912285948683639053562830262233758082895943351373899022954914261780418528638938407781018592653732202245766479080050826131043807650823583303823867600075098549299612803153816378079544650312601187644436330388795458992144987817027691252756289766231561441959988099670236197137237598207533147765832117053585195824603562583289514927017215907949957356490595320242671131106235189431698037921013599647263196520224665257223311470840552281794149595147811824842696851384652183119700961571482458274458009434344630099289663358553355238203258231566514644611429945183383778372381279679157594574043256575776980827184083084632006238155631965465428516954558510391030804363353628357594255345715455522416951054670393735169815487674740868898892474433986976947974795553475243987344613922000168060338324797033328559546162291222148076389280049942528528969835146433703305301193920717189305745314982962010463629753860711056546580116758926061492226613125873135900417600770704883753152086285685958851299162755299770903179839529794564636825459057367140086925220902182018617939673240713856070695155006292136227545750281413935793229282630109255243971240071998985772999002364848397283569804327923515074987629207767499742901327001450676996904080447913191553485731186222446684634158928438200581101792304925890588991387245344538937807800153961635672830062009177705184727722494454489589819621632875330271872136084678871586163285432491368221457478438812820673184780297497905175656598275146457926695962377906782543585308987209982353105425662487675667115156562576384349645325299747717141571343103016341775252433021079263433573209839961285074986326398218504512935259185367505476140032334260443692700286777344067638153161568650182848270643214676431857714152042019288529233685720390842436146193445328413280107163178511250309784965151650741843219763139766744456588326411451315607426560857340014466720030846107094134255578232794017157675735695037930669666389972850196649550433741198181808625109747831903097293980031672308721092323080076436588538602806441367217074535146682748988581017599962244425964789356518500244611650920967147991560238356249920342268611211662860680995628458561494170568029538565013862980489899580307802334120375509353382024833404936520471335500906112007580974102405783084049678661407619715593859556173999860556297132327413891754844596478141927779716027629694189015768916200305629403400150371915763908963476372090446900585173023403776594115203385368561273503848055487471843933108997486782471347560786399675136613163011437024550042225136068760461035847885149021513382725619805488824302983312868267183309165166944959732207833593455236401859558908256289203776456154832402181651493520559151597543597201259843733969286063934047998432126236751789462691256097794542291254556991875407105963950845595710130244712356120948493432415862077870758394882930551404419499537554700458254805412514540855730374588686816995957082104756597345947479535096345936563087762966697591163878461148428263312065270769422888656500169194883534746925046540513832839204832772423078303702585024966447203844608006529123207147518841585143243572505741483482990550241876850642025444610486689444342106979198738518258800834230698610696440205266200467496793436542818745830028487627329565611931167435199580298320599709773021228330182586248082504063636906738664174940754746457757013509231845709450762945977673069977393223107268468059252771485800420751465749934731027375307040168432121071937016823127642459282796268789052702050763541653403651438403660740453091732904046103283185167518309759198902391561827192868121928872745323451764295050388772220984667659272363485981210413470564265191832649334641259637040192908186701861563793217656562998560155101741881058150838458499845472538549927739269220159632244854952712603252017967836670988066179384996427181068958765142001302758091300532481775177322875366859177959618419498535118561005143249778432656036953138703339631894183405794877555867208980252522243416809023668929295475238084335657595899991829465148600573937901941393103288049577041012322241897898176791963462386439547845507136090621537560963876195260355559372090796961591447610340954209588724538473482131110052090702692964054866735838877801083525814670605252670993395217297044581974633836186644019727047085571480567187895732074770464287316099526160568589289818269339930874057968719034755378613991301327997529013719584222472040563846869638938911175703563691325924446594624597850259176486180864940983827023881015239872138305776617170776865385572325718548565398312919527159989119467623543294679770345663886017787849145386388728542596395216128604673986900187923756373531596540371172059666564430625084928199978050927861567482571244316130739470747119321559124639593253733278580575082633699015081182128694626882941912085999438402017056765354382116925973968797384005982617439478109518162002399905475099441018360417392055557917804141728604271070066218788590427304631985059616001072928089521454104800966079033911133656578958319355074206163580336983441759428670953144501195136493567405305152069671572318266139019815694057220642360635487628328891424654914297851195987396245689991779946259533848019293269782826751876215594166179251518636382849551771411496740973424120705171717470460772939888326763651768891131531213977435647559104497554743962949844043537026916576906653125878922583534831293581299465619284904633583491323916146325169471754672687063110122365456963763440533441129901532360787869354526032270535571374266421142255650238966492161570891127739229556373219194624682047594079070310799829239455205870716706513913593051447806050230618411857813302384443183060417411182206990879983329252743533449273141357945563065442112376070333724376825000272728163130456771032616245602454781692767203767841192881933951631338908992498608240754265509130955213443549372092347282704705760559642916437316548619341035726547071506160235979508081345556304271865874786736938470777729440903590383888794077719750415883772698096161917848079294899478105128782901491142471466999945481329632623303660406604116549971944529082580978542602105595122451948702221636461891040735356097728700609908439607591590826601388968948036814601268534939261842892412738263616702812699159269510474341364842320632700838731965625340297086990934067300809546329594583345271227304010289390546936343103580132039764881364604843113064878889287090345503045339073616222366916042039448537995655636876804031141248696349544291367862374862929345900327803370463612767807754391142491768315178076877050128040793158288838038636639495343319002231211578439746123821221031300063083987636095160232347543443555906524466844875199009853254543526846948860097948996683445827314219687905567132096621745505101907207573259560916569349488033823759753071199729720686769681722153058129559958219027164030704571390634229173340791388727872440171004659364657231285314026927797896920809293905919392554707353900241722076961042915807177041348859672828268675458917399170056332670770704564946991243498472217786108176212854675045485565770828622076863739004558149294813785620702874296000461240303620371134898378329585906355118867570242558800426442866209130522320332381348821094945673815827816057195366156945903431746522289201373162526731051264189200011886360180374438776190363269593659967850864763619336203990853846030547014505009893346988087783669450337023513357273064159831102649491547999774764523348167362341381113901691384768445434099192141361163985087759143007052099020814344736264309225753656153043592686559855095282586910035001129019150020891916454340132612128813849320908706274655839826331133135382430074046867647854280101977934656699459528625194851155127333785140052632986118677313341397019794736672872195713777473804683633671944915964907370943139895824372723814919494869729056665530711380045402244316581507212115998338820546766798555388922000921786679782419694008159642807565508114163733479894810624
1439703436754915827377172269959422296071141208817640774893012482411760266209177868473116994354422957963067900367752287609148259398409490060436520459582264207376332640332876225522112632881821182921118337905477220529835990174792701486015325863282607694186100169475102041234428129891347412681889920959840808350294881512246930207669284782785176759349608457499171320344146945226905389285269736567457981046002443021664362233424886014445655890152242492942183421197993327587617959410331855019909389951192824656329015565832075202191634085210188388794211115794353630573007174625157585346973313037737095988337084688108993124336946665695784921778544720015250271552568817950885580627684035585313252519405632983646074012176659800110228122220806070503492335767016446465943751446644060876227927159253279374694994973044698826710133550706705247658118874127554114567596513766562803002501526712272139739288184302969826343010364671665867572093282774987283072189619378128133109293426122694947889607795866549140996330187064373273718303433416304883242899427509207720078424169963394446696253931415246906195525471616062653841050900469438863785771639138853304720173752131750360203889916094569405903328843531865301142960891113091464243383601066010389058187757158213212824961077020735772622546102242898073904107013365079435677810692288404003312680430058003229822946152110073376974654530310414058141239696484963080387634020457420221012178822873018415365830284813360708529720812317481131620435661442411367416584238959045654788320976305243811827788560589426512681572426466152810381385709370574769610593666155060316746936606662471554224736402580061988369117294483669701379986830263797630849913960512287999410631479325779298841677078622544220364410083615598017816438669184254181414214924670995996318388910776888464740316894872101677868107631111031682108932829808586233304268189260158037924897571070931793292075530862237547799565399117362534314277013240467646817486877797826548182907786548441676362448296748918178430865977894713634598605243111846250828503867448086879421688684418849829821452950613912717640896781465029044943244318450082310049998749412631582736886930387689209108713762983950141862401906558100564690629693185047292301162561868173572901834580527118963230098399160289945848046461106580747520769898742247513368018023767573905183801694561393537161932363073415490722403294339310031188739262115910578363388837331550464210333885674663339488556229591011601349780937089005990320649171530439122831231815135925248328645025546337070913225340424460543426880169562586719566945492491478767741401171094778325799794881882487386271336791609259440280586798007786501649301409628501061369947694089148549435635690979895512713702084211115508561655027655217150284217280643774754408088306760307512149073529709904157691910506541111127359038418139110107517863401007270921682353218035294555055285453854944599170040045731935426433131040943480629246971505265279680676744272837207677079687583427402536476778256398571081997776871799872584715415312351242448333137009559562661069265883443960742393760231530545328535826938514551268162202900357730100670128237122127166871083152824676327821957301188936534159669869434978029475913433512670095105120458882359768296960413948316815847272513696000920112003046101071649464137551206757335785397858984089665068557709142235075992480843419315873074909262215110713963813069149299148009470349505165768653766149136613894067784682117971226853379788952269226675957656739661574194466834309723601495118094621119046851712237586452871594808217101476095418700831000735877125725362272745570467390789725099996483879773986556629134439719945769932828053985089364936238975978402039708867151978266325313540060365648122252934089271297034217056807272768252806700293859196280161824235011616644799948174228474025378155184910116730307155094621140569820150620398435524954453263059832645993157964879107910271205684217022501660238145679941522792709141787826498181849245043014015893379401127622858066730677863696212769998895850676532997512439598222558559455809213495584661563306718037998757654818591110947492146391476490791743971950474947451689440427847983555094262111799591963043461616309464495519659698704714454248927182276930280029282647884320599153553224869145554439697970724411053424415776904315291162524341093398209554634195242850952236243805680145433205838144437392551627810932218533877646285008445974283356113870493572899970487656783760199050155397469951719532115385807625612503731770331731293303727711279919379630300855474239230232713558538843017031362219827490567370185478612193680608128500918082228463299087677844416298098799330092508333114694548253789379702821885386959644890312667232944569931353558972381401684509725831128881261097759771541064363610104465720440814061685557261954884162054264360097833849183792279152525656587633336042893501280096354263531749917786398381875954282674553848891241549065128723996693518872245523214246936513333935313850617087508834815261112148555005602811307529693284571825530750254445093690491218410114877316644170992969370102510960199034393863624009034333208729067023152858899927937434904275375774074879089514476606122984936239045016562820248534184595501643186933320072573404999258760856999164354180411519795405626592885714079779342705189648769785184633941156333149580652744917614111321759626797611808057689070684187387558750624026926262804487910373928961224471093772702804291003767033009752715629626783122492862632107311224854657499670936106892300956447243367800735857984256957320012322572426106854251463667621586404022218158368315095190802201221619559887196941447441790890231924364213723552900150960353469163246971888235136081951852821788806543076537014360202881665352606820196058704320272006940771408289483169268681852757439810343154260621076562233022189012202561759434922103029584366882260860380434732059947057868000661214426062992963333562844155803014951286652833731631763863601417621276474663999898506322880305844291881781434793403135412566710347125195248836038532030039301259886529141962992628574475480826052898760414285171297950206926248738422460088325857923912344503333851361974742687536480435563154297237068636575399713640036617811565222859950891567246149945216456925534335511467229990027749609066047052734011011034322630753963822982692942383586005116535937999482120702263980504276263076929989630429897778238365710978731530125065901548954864858542892611817092297467392917802484545647725864287013699237745361893917168446831344804137340214891202788117097203721272555742455546461165517918864639522262781455293109172859834196191683953735572603658493284140930733024665041433398610027554275890305778594845109094734085501085339121639635335866203281711731045211776172313664981061474987383577872161615703775457929888916183554560505745186023824491667772794416726618245884083852579915925379071817780882919016907433886718000443572256276866531321788649908454321346945613966171202572375800668855174225069534817001999517249043107547111637156844477269023437678195977230863685750275462867483951546528038446567947387058751877892786855792568439557664737250033000417249238981216643112451744410529115909419490740400900689344010391314973525637310684306402284442828549032626390617658191214887532216887309998952551393101671549380126610644973715786655927951906537984247574413283456121288922214447233230099931603152880242028234298153141588587615981223688157176855981828982116001366293505850144897788914947298935586681289348555215724715150776028221954792187777674446287764960374851669601189963812077088727720055290827115949574265585453115099002960117554530643821237202827505902804035837876292574357853073225559268828434392171875577256711923150938458334563996285141774904097491800459599658597222610720244085843211737855462018611875918490117813749416953519336158793548545414858705736655082947686238830143113754794693972958663493963059060703817218597361076708668848005422668446349322005250192372824664127805331308841106077700338981034988103991030266954356441490660218339318214211537877667912718476408630251157004911651105942734802251644254438524601686693208797140740995179772490306403435746742736644983915999283189440781706964620131370348463737922836100647741848017501863682060796218894522968428316100192715968891265954897342375487954254711072363780020440454283109353017953041963126743577046075690796287421861707248470351810697703467919953864166356418054138366791602060111239302285068965665637808482481238334160758532437850362779839095184418664219506016115081474362124480538786707349077105526293675612829206427376634120772369405259538729693644402904693566037291494080196931834714930330713104209598517635258894611170742564660729482744596406653153224561861951695686360467531632029631952124879896834581519689846303965227507408626179860998606586955906143894059583503866138663488910888479245377843205751383869681988967421352121287548338176
1545869794200291961454434089108450502169695195317418489010396627719571387290168210034756736483515809350739851976720612077619451132873348556402979714485178648078177663661758485558348570763969053391559252262475450362156342511127994115481606484395441813031817391418905188341178071786444292710733215498635300307680057012823897179583516631443199493746457638840986691994812648691965486566595583273941831611692091078537963820314350876142968904368412492062047153219693620703758427552407690454381064680921054522198890317780924505306413980194159103967517404114104476192482888847103221977894798020462810278980144039852621388129011903414910331022191931734744134393350554472107825758468521265055159371559199755734697680273564903997831745009463240892692458976496678266340797559722232604008012747715754673766583346027845751722398718019414181650800288314546363634516051987750254306458665854819810508046179475118989954507198613459669765401892944962626902737205584937047350487514716191721142572425378368135239032752364761364339142390781885756673337866342292474151888591302181166427106470284978114468740420531491341633570599946897741857821985056422136678667174210869520077981770402589910389236680125715650571552111984436219095521487740306339550288164505528911719573899569249314317781915346379868919882665621812771169583129064453648565859527299584813787981398420451636566605157145367276983816761324970646508076780170403702444100015485847713700496237289937426746634783228533857351710662791821252608217328589537542671686098995453271276682462933625338840670708381872792881635227227094845050058612820181531333873458450132758981383370825514065424522789048840643373282376223428469315665286203528090900482369603080554559703433619162038694739627865404730501007353834033676831326032744257840983604193798949477174827549037986702307562319257478304869433703372152953009414472521379302169740692974871937109024145253787237295592538055564837663874389438091881706796155262703381081539292352326429935032919256876674935115493004213497971575901594877229372159253824763031220712073168056196254576485522364561216533487125989678930337130970228232543219188392037964287911884716238438533507730160290308048394180168772462306346722469073049161711446500845539716212835441463597043674786813849794823742633985325070246234948959796150863240056105070157006858286772641576574065038891079394918128390927499627790093783564751923832800065017618288189250626053320484728373593087615570838474645390378542393820186303182575269766893350879184068052261178650563041183922750381198115209523895561146425988543216378716531924453767043356419938015298366559791977725540834126696096340283200244483499903900277892021303575835876382077973637432253355150625665693444767237679085853283306062257581330766599043292778853884118895848371700830681145295617338216592877190213978762772583066760780390516709371092945486871922330624062876045331787684857251759828527937933671571756310930539567008199984949897777026254346739179491371098802418668941384577946502271409352079924558401552795139448292286390248338807340030089809322270237222270052776738066308950129217996870088199370793247115641417334916109197369638712445170379828726082808842232844955158769393054165997115028425513260061979035395648528660739577722494281009009466740435014120761250311676819637022851593569671271223950262239663644965932944991098114622387605559845347258373446914863406595505334662351594189856656889443403827800085904216610608301065795154344608390112231294410111818278149379228400805217230013884954287698955509199264036247163960726935787273873989045886047216227809798614321576719080229328806994655117033066446104846112620188759152164320323509638881766941590722319444738828892499937876314081121730040438365941308366012988152678649297959492949709413034972169268777917376256467701551492746162638000446014052920791549396064399087879101347767310992163600616526443439724729421267067432726050353752781707134816758130896781087804735445153311492065508827882922187690801424404664511766121594881550706908691452174745194356885317185576893032294754490453407646897574487354018876408578946585492058985275846376583107807743081171646536834257168917491857785796854027067170112555882519232746490535504407622741211591999472723750860141135909095752078508945572597094727725829693642427616574203939966450023547885527148452830904414281302819700918035706816656981332188859879487468932389714891792635832467886548855468745891280962764480649706716923962830944522350000935543638278874157882742243949823578709046009257187686225670016082429800815028075956917935122258687150857839023369831257445325802167286572167479460744587944135932524903507986333771725444879823473936549162512994918916603245006935408987125199896371868402145559656240944370528819408325740684112793853211593774639098768907883125872857400989640935671546033054350072711203034085901410302236994322674757838635817440946135693219587048094702078517776810899002268922863331071899848398239380024991974055067303910653169594658010680292832874757801536703004397546296339007078932311659128419509737720958822630001185384102593105862050710717418164521147258400946023257009911997907381940572586154733385463823413761835896102272824245228693926636550534956061100780257794820530574085900133457090335730944317708012059564752953791427735988500237024749509825182394913438445705618765232567226981627800959981304293475127802203810030537194204270851004871588865662776950489337411604894960090669108770549197901749580345318311114078591950335201998200532607653514264988694221028637480182941393180078902868753141731927228417461892315514116905583562916814467356078156997348684304210249860883853522768582045285664072557357750319157523195929047060080346135425402638435169411865650272156110787925544908724551903798378187855198655472851528072521712646120775734758262435136921048302468204901844058043969468697323114998831258620581205583895991203348944888702479669458493801760545771016627240673365655143114013038157994005032530927825132390164405745785208372089801880302841341890316216822126476059833920498645504111822625443066235494573555485613502646167753871431177806207793586494003126063642351644455246082569421895762308768238249662802052930597435780930688610166861841099699154218534040669586710796445719897675853864298872441169824077708150239610519449840386878544794702630629114843338237087356162034516126659386078884344539210305285360018362799209249379221886885347495248608637858989052085921827775600430971514548932524114527514714953015935190367350428845832043266737477108978781604045892696128608376106402049736927567119797497897649666156432582115565341136699652005233238335560878577732998050050818453456150626169144436858765760907326008127899916227829731659939934683119013539812936889873609083619892100852068558903884074188980312992600957198520440617139227162294593055184687256688438106031483172465051040857795658474900683995169914083530518118346010475895201176023751520368836541346336284223636974764263948841239233173298107008552263815212416363107167764671336473621330043032863584001776488424296636868759994367316498236532026234981937401935480688155331177928209958926303460114720973155343337721687502768749173597419095081045493431929516736621844563775409549957565696172340792843614114797419343840728750622282729826880323216264871894020821530939492710372731273818094708004696732569534691360240912261844617781928957754798314080660324367490672673894276032514362113298686630481090889253216163102493622970101677731789449096969127874687558517215409245350666435214777436180955447027064314073646479111971529353557948355363953184855672885378978022256152960509564100664145447572155122658675148656787569217572731949487314961003824674776606636487563902747615937353484123065919650534575731959087368796838458502749423133636227037596781254427310191238608375226412138454586297223399955292423119918661177493144112743452046442016610108024459843424059337204091770005469321297908530367151080679134747642892777065556479356566047447702914809534597630518478777610232330781803897790243919402612233468609657503615218900564213217346569306117959808759941501683943442542254745220875904121646619943978574348103936670415733114522682490022024723324717578969555124005962553913371443235033375315410968108355730114542669493595951235164080574135008928891482027432881150682490665334449100956804023836250391597737844277665668778047016726576763140254834255496748105831779755557060707195823905999731336057319159615314603342076894700494375843380615170286140489827312898695926122380976190196776248769341895952256004443051212183549909803910655818760214005172309019896702382276567757945820873355855867410475813332811734716390633379052212022243896813249615972759471823602478692535252849926165620328907353193834323249216208095387228467484699281816379911787698100710298136449270517613999956121538780371505381169165518148932929498206756517133826879203257561381121267073024
1659865052491126112024621751727086176013404476544161187361347230011061541887155631109534801628097611065099664410973995550619539037290295639939902317666314942553316579176235075330898852799897204868206217728386516827083211781067312699018486785004989229610650575897057205012520077108779633329612587186889736863156145625373522748394460708180156776811198018667854296622236331944782235691063839054906193944639125601043480525670339363125749516151820797211088031472121301015617737655494089140114513181554151082669284980590029510734006625992776270440287774245223644393481152159477870682821648106603327233118088721134082380471057188490437647628212149258947651036817357830292413954572173469723114284228668869702928747305506399001016749931563957537070989172468716451641925777390898969579833318347566256946656152211962252245059541141427450817197632634586898221492535018605783715480782855560742526243871425845626890790236460346456764340280623776902622376517717433292147286831340590540993325080077872891675037703519879180670239305273862798530049972774641329537321709069594540817888864445994200429746130124010562605837235619756284483898926901783447951329393526104799114536768390826104705335542885890471950045007233220805503288872477470167347489753481778671754510255426278573066324469418235512250915723250747339102122802321293874174560992970433992399407496018046459150811718921073293138516627786846638728041592672216302278681208666202370295000619532834229440798018005650552838581616586339084057512031788137388384774065090822563207391836419163262259399811801324181164701224985475281145047306236451501465546440261433761670822962633455858346582433842869377500961731513198316176530476181658287558721742017453870671867481713301968779648307229280901826380069943168713438294554737503139704037121143733500905545699389497287023466973673195080710933826505890462571314984897103690907584529281862979917856872584842451081690358972571602143472385822143112143447536947962327573459092498056231521850448222923485487885991109003440997420208732927985322128652020280033510696328022290118700890923912293316753600325423740675659834559942899752107252330175866470851749368246491583409880475300409927733404647285402371517787976560364279396137719527496307357150812299128967919276373256314227156071174321967330159120443228638421696074552392120366032510397348771239728872265953538526828207509140678502102656388295877952803739812839336052896083624411634258528808006395330134842904975119218248160401813169199075375176796121386487104862175045288645418467812333469404359530436329791410866972019396257309763767517218028804609426354513408014131643223589586621680113578095408107068959124717709097885829548375736231130924323680422393989552597022893609217040983170757013440038712935925675375021843332598163307861096657479917888112125179942709343019628352507036696639295234108176843822595232160606425937670612330815600460393919362684225493515311859304474568182068691983554874796875787717715638155655039328195888993237200774425809747523323220752956389120477822685329543713273795627123963268496846745506648335952939889070996088805059271567652914794233271193484831554379138041976566851873321888743628069151751541302423174861375257693353128541069359422455995135722515484212827098791372740775120182385251142026615491941178180436815575934599760805501844403067062494767292209258216433353357603538828820884323119304163532606908711528242083824874724489067013126770830646146150232765654935928033036341337364810794769794467801936653797170793197017271336376143030497251342466545737631946018004398158325444544285704034102570892689214322308901141041851518184943614018234153815160204110897476341610851885509734489756206523644758104537338656783215200167860530379655884805399921869245506747563383047345437936125422140392819894347254502913921660987451187439927250615942712803245772316286298083242572632530832300994232396627923202865026697765376346266599154357075292771959781235940480948160792716368641130580976339110928261191469462062586971824862693905319984627761311319671723996547433659879616749060592211632513795349571227369162085378127354704815352365676431536137065074697300623809543698478238543812884070115336484848607174038598130684297277191239400881652414763457649438496689512168464371027429986419437128910049115747164981432808358369847562547089149557263581261433269360057738722006866134334446500717958416319481295076607465146753387428521826924393136123588296526655209535228795294987519406575070898770932332597154558951479635140536533881258627279733591318290598690457508679084932889191609076487705741207459237651501240941557707093365437129817029662430257264926293230818089244591125278812473117702646758022375587940245672178065718696021804653094940960407738738792964591894146396062281588310279093683404957528030853843304915553543497830516463373032502431742138207459771053729952982096341564306439040415120290772516024989103829547981134524268889359597776013373788407857618364449030296664047807248643343787067351949433044069107225069605380249486888101381355489983281692293409015414622966263929239629949916488458924618143422506216928543668743808031106337528243694712556467935068262180571541620838306540376669528912850703281113924451956471896806207241827800814251266761541980059602820516524938236368251054482713395332804482687527386871822797265847043718803676060029444518501875049491879276677975015024971430201938502604736012148003052714394841091723578844888078681776162254231743893236761567191216633236230219400104637204956284599913360766898979872265548364206395345198279081630213831008970061276230165705351711383950530630719126448503817780891539448802884565121175133686362815198679542319005655448228781099719164364872508446003022844927791310045630566170998810173251766487813874767143123669455652209767182233776668016249588261734276906174599296148284314033311779847693649519374625416206833499478587623771466620971850993270877513607280226995062827406879667728706626772322221399551546083144694937779370005656608685355489949667774562755002534823915742587369565963178406933286613114427925807706747852756951569287848090324990651893574348105874808577572681641277278738366775415066945672981359287259331459504461264644236105139382005856591177618389135701866035434652216176736119999923564689009719776125019598957466977945436203659093515834354329708149304039391472939122252760580896796664235061483990576112716699306613545516685186116576524994698422072372276866359582768708077187069446540123813345695656758548220491404552370826079516105912934873617200153123736825882603249409696342166154961867326075093791903258517851798990053796908183302117684264394875851861827097555111250009098906866277361599280152183978505380122929890081339917095633974453197093071607319439474929776146908991467052092048610507926504227041972766250286485268009530759435192540372411738751866199731681350143027930480863748034950120918651821350737973346884057893151510821343590688024803607700663066537539670389197222742446234900647858417515110091348275378893170136623112203585703894805712105436629244705921019156788528004970192142801786681283965358073008024164416680494312704702352494158841091746966873390791532743580921787856985420844751215944580019140218866980152692576518455713207919021257508366374726436748427254182410993368013682479941790014612251604609443336470320197811284455977710470196052386332422118211457005501751233338056086513093099810781081179854197130311454481729826439417180528936530320835953001676285272913191785857334784235856262512381608924009288097763092956078982695753575413958746040812866210164158852356786291276557539380694166792873234275040539326892039144277422213014469583542210234552202798056105585431090735577270840402392661818252783748225399775055841037802437921499885564747278011866090474610458358171827284480657788120154332176037284182519968031946059603477204854161233984359476307112015844403183625175687020548892903878213752557389061119026458352781584191051985302675859391082795981719337574162967072357706291450898989468376501223917425463223606075424269849929298780391947091736451092929118613766893512524216590766151416503508159807206118576169225959582082332237452731902072676112684785986209110626595777597527634159318708419514641791448697197112045948206271711294040774867882872998260132814954691709564226210198999844309036371859184947696518897764474972794869307188528697655920054897753042930233193558314760337224360231898112499823173886010956068288142842995495040526358140863964764819813040059185111091467432396864490936014596597362457448273470922639393579125633912695375902947886509911871805604544060521315537507530787136876336197734389680154426456515856791082981401380938805527998890337126430021890289589151531722243937579380919338498052461345359891799419017850704648680981745698949009799559882059418011216614840609052280440821861015722835585602395036015140347373067927471831162525375933440699157108472179930955776
1782266529055677495339345692609516660837817971094292849867378721849424760162166889519423041691631698555082696406427103599090108175939286057928317964952856429775653360974131067238576737764869131767689423831818875154919020417581505004222473010251152984502494759190356639542485250431401689905389412579410014946325318200598186997166561312297693258139216664189607922621397078021459945033720787047257412835014569744629523082941749010461640626839973523718567775937444930901762442116963706894525148952433997338276892843834542883069359853421569403446471877802966659218983826029339307754609041904670403027757089790824336963773254924778034326322585787004262699144787760951558859012945378681024905506508145345246841051273849526107023502926069358938513151531530810185724809179088321820596370740858488458694755247576893983344758326693799353004128076633543261582847750553261648143609832820277720222923462373608964160140557298323708158079871073646069190820945348685139708552638934826052723319643307761300747309399046206291712488294161250260819400376578193722123188887971183785198242441139530562262857193616296447687657866421474883337204532403163628256269486229533558616396294607031166533121968350326259215862162948691701095850631932862216393278889724835381773985121888118252576352508768968417785872594353536657250659860036457518496219614991324973070541941293689941965334066154888549812237528574177793076116419663730566531246517307772740233677383298315453409396963868972066911507002566284381598402289914140620966863718478514544678660200719421989772198315068810551899092737730938601883595903164614010471154507923018924111610735479130736764545046680801894791627211349179840085116539486882325028018390382278358931071095301127501020250627482880461735422267618025550706967706653114462431539638620581375432226290977834503411628959115616465870385303615734372025527481961948569392242027905288966175075008540184328177084979046423798056134349246299684821941907970812462692011459968247614488837996130099421920200233997429137558846354219354823820427646382916768172556198760756104711071131066631041954020571987480885985983163931326515676788960631285105192800200251835554371173201171049103752174091706304590967435310397194787463254533520654303214931732641148371624881297780339657783710195390291164353464194948006667948424263525498885051295357348234395105220572307965557050792465515208807445294105614068244724873500659527312385601313332279095573609865332725444068386741443184019233834487445203035812455817389853652072927191101735512738114872100229134485195762488266095043835957463500702559080743049637654345865061488897353549928371014322566568803097871329946908611464355836451865325163026059258157404266114583134412788842471298753718648797152521939071899682258433229805607838099786190529232647463642790276551741207228012945475737415023020555484411534745820817600636536993833004732435353595286834245998606734997477817434431127738417894201426801423716389268489037805456786426577037843048788476900035624186181510982672557592834046646675613081694322307778338328071308194024805962768772388372674454653449005890410322681162980130076617292779059949531810868739707456788398461758708271348599832752875195395524016344131020915794272896779486776765821333886924173252876762143756718453552231937741174863577960171227473255627651877263259644713418877453422792309907000135608629748050912960102399127022162295625634917824482599681883244388282732970854927988065921507818895457969325173405868691296191008771962760733380630693526892116284223437367651006283446477479304351158041579318542603610592180626701452673405425251562883402617958909473070525453090709576586676414247354524038083201741061480786538508019021695204704685440119461612763672067459122243283997157341159918933014468867368887614106261795370509859908339351007559261775479112713376503667451924865268687177954610108583772906137611107664107035157709176215792267291922086753766276223572166298111558919706368715419016559579383951439714057810649504876833435380937285864677503451963597864391453016164005277411120478135308557270567838489380323811327293282818905554195545043418032324126591422934167312175819685597279411729878340750056146185287615091830911689803243947726569554991123332671962119545054844011214757437129026005427650301651849199269471948049992589780158485788411265589336224990192423579496951709120683081383604097611711317979495031212509438719358691409895679696065610196074421986937583629305458758917362517144851314219775620240983443393338477270934654194228300437871077304576171911999943856763576486491358188215282864676139369244241572418786851649815687942762327062215999968708431209319217468157682056991084613439353006619586632196608031791052582337584537354071985849152000517177107017359267836366230940650233896152000686117626790380133987630214627765023878790244189111572343238976537944977854401718430365134985409150200140978193491725741029926064234358901677849527428707922943419958843095074939398545771315807778358725483384766093034192504635573897816607949297626294061113563407062613788931739389341380068521847167195508358965560668563821975428016194156540628224025967595536036277159537583597709398277104462450839673735174787020105051180746049992841942503081436738362191940202840366848658721769561216958109323405389022930192057573878572276282078429704664541012817627636002230601149251003005063061500727728009553259340229012918136122637996722282955779122467730017426852717938679625852018578744406624901629008995504550208858662588538943308022866574082231820149471785696912943191250418309822770670692417599273956131145968286593142924607085196225264503131375018113913925563889414657369067839053117205094161094322347296708987309181432894008746266691259026435789539744887350600958337257107759847343664979832877898885090825044867035753924410294539403551888556991110715374973820716987254349021428150033633714684562994441724092200328757431938170883747541265890612812799294460164575535390591400494721286309873335840398414787259444617327467845866969944453033358886866454808268076677119391499497961414280268161773303716696527332606686796389540472215347155574414812962077733736678076378962290360215172339329015912239101174522348902374436448786619015809201234893478277126510305157091252103403250947855400808209759289266145350196220339091318900441792550545878552499843125621383586768003699768638135167426006012870482572187994079258308742763626192574174592354583389074045910868569517942641951580922376736742663032527642797036801493862394900384554319006392600331876390941970188160477119156822889494273723615339822073145873969089281232501727209261721750318299342185364707452253431672023701451094107689876855002778333518627693022663943647008084400057430946274806165745249346205405786692468700111893752459832949219290943446571106687757962591908251214221682407020048848090667019646440296703843843489357470957467837910523758584213762278063535247546673038714100337665205196069167582974290407073451210156055415843208502484154090278916427857045103824587043603640029698034773040332589441710406601622277978709349056042331775177042458901620751625530124761032936842409988545173477344169063379578539557102205565171848303252094900576919250791434551232665573517990482523925622186207163091861129331807006459031695276909037133608736622914682969541024114745690680270495726287331061929379544354543612206926900127595546313462785028404478653950946870384872642132970748717680756186823305558516263228918077594846925701380798169606482148341808272055004054749511867451350120410395033633750541798767802881119505619034615185407169631265555322411173486180775578385038339936771261346370800790361855838489020273109025133198239550055602666465637367192728240485115677990664945900514897097517597648457784042645478055942083012391496189629957259246979463133851228386135940043792200162610145339391043452308250330682528737368456931561683240065086374577103074501897293747790849908532855595163590950495975733682909723177716369343348770692431192182953479537525303533838763887391531374742907328842265759707283537082531291543499024705192592323808505323058415750951519166340308979416660553910272986103936227614509815361134816497466314504629795391641881809289618733148267659792631576575693808671856751730850775748798811715524464741937013915071512183835211705153585170496087681495804100733602423516893004799736096879691113347742227115697412124144093485817458893996649941130614139652631342297717334405834572052747579053810528468597725710248522462449357084972134489136994871698405970378467780241076158649631542319285785355904246482573789678396910638097767311803996562232523736122876521116505334891392548242695790465093192755780227385276845351880014811580562107890312839471343776283836066909426613121315772270292656224157150818367304169159996533737493664665173302159704371742180478061033066511887589106096730160136823784739442488204351564919503701070037601058318908788913484332320648985575424
1913694113762392151401420542949085739166388036462765280606757386897389995327287611744991780213600665542752658910275283541523977493190361925097721792940448136917437950604093908951816029571620264665535186210686268246471031555467206851898965871817843703682752455283494301352858638291310037395695215293304254292334609262090695197430706375274358789986905346938145092680349759983032712523447099390837748654989555184173718319327976868243277088695656527469282226402695430006012369413363031982728809050058169541612575939191449229473113167525248572199206600436862533280978108787241465823331257061613232665839020220931502035072516665348149372680224475334432526354887650537002784919918810517334396227985699853862452840632860713663691035242707050617149815173454285641017935370006237328746147887069624723521855158766785725931226426543388006784672360534112521274876070793356171226965835836780063498723525101434258640059950089878610540100361104301568663382285916101497912356138929893542973857401140305012421028557224217403943643264551349405172698694933356605817901989266710536957985040343372184427865850525083303864866339779342794004677201683640017574344737579642245897980273678195007978122138710949588565536648577113445548321456363144121770801976393839600925735140525010416449025442032568143511796880892778551207186343319130602408644586505363020761514584713187557976311944962486697992106781452489782837843815286083525151813988487695471475986939770280371071192914724732164130611575524294872800180510258186153749452892638542712013794097796678279523709563311711327506578500156371635618502100742900019859252540723084791162118490691343351228026456953209372296217901842101862397021348361213051748945317594611622394374968142310472202045769690612595757754511042394890094703994850812058172020846700763889997027446055294763263336701372023450948101263487152419718184453043949755493416526492483873787899343006753097833077820404308869601801350548774848831337019486620312452852335255209175664893737605237894593941381697626373473182591715240144632144629487220053097785639599880799491600509265227480522730573099361031683725600872913543682359973051300260313749158685971167498554686045321200656424653194270763804947914787890095574087255798736493207449862641586990003129888462149055488216782685767626703972425402164264807103406643725843344944210561825002579816209232278826956893962567757404647174873178498277151364050767426059378733345514196874158278183066754985205199560494620801179788525063517407723603631283592379469846223192774059012998697090426741680075399011221615489725780923645657791068824805393257516410677980960800149472964162267442751948059805212334499475635044746816871562442900698227386018135803253887744025060641980991466788742269954913059078431973190535553684525509961118228869788207960783315994131034224968603970730839751863093235325244884617021067678778792801727252805768531488243206484208697094876467091585079500225824594079037163187032671841445177236127010851270690112231860176826116778649051197610864384474678575702556326656722645197802384072396862318341055709417754532111860697799623475755923984100508726144224311698529859215634548223598065878376146367589667161732524266167153548346358745153054093107092988941769857468413819905858971538235907831451489084571632800101263537921150120453139452408853191529676539100178342752870664058012715595976657455812847726645589265424784231729096457822950058438687134584512465927830709217294552792046291070705298547741933740896865058011207294769935696087137950133990242176062691350082223281735003176263572077645332612222546233746251880896992017601108789275426333574614665624880640044938218445627131734033815303302501207330075878812246582981704671662325820113489986846926651408962942730857734312041630827089620039883467621465669982646012787964767561832919526896420958762476246632519237144554420542395647199578377037979345745918667261470778531482206687123961896875240301986209636565633029928985888910551764968972396815205998472048245991148028250113736153948239728277689952514183411586240509713042500076758329086507972415324633518885199750476919511445655387593837222198645481364088241696842037908329324988486564895058814507401365793312450617392257357548887447239037071032151399899213238388637210106260485706411319134929806772196542277016032286537031131539526790376042313170243595005229665930591159687930771507463472954328746989413056816347740425424714518766573253915605947504000065220282983140956705094428343922339139011348284882062964006034275917779319945584579689221860622375728387204658917353368742301251613127793303055610521447465576285957690506035476428658268369288384933850872942362512291451485679144572705810707599024580803034668374786639068204892757387912970657888562690219862539909924410342219017889680875797961192068454030721242460091927897783015791709022060627337372735746245733024907576154677025239434322189338982624030526081224450796141690558210811978838875144519195406189835570846483999440122323968285626844840438547887554294529572328394236971732775855540445043839065411935116863404059593451893161153738109962927865446377668307361289015182075679371523069395757849967451424008756971528000602950504101607971468773779122326427617400109294286961787503989630746511496745480907947866357168776260036504708300910642244569689392950450950831622142285575225606877233843153746613268200485892890815568000353606109122536908439043001610292290122382386299619810051460623938835381613983982822906799219558952690145463541559481326018366482589066588963686720558133787810740414791381604996752098896682979816014118731952655198292676029760306141918313422474736323577666978213970848628495797942684632500683586625167513230329777230553323702546549888350262911901628879285795838508800501194454043023040748390290677530318164988889340412807892011467783116409676897828363171312669234208906882269470200876902059526153298254294758688463925173404622847459938776914352655586092884979570206675556070162805916536333989624834233966780380528024636177330122551169510178721104030596830243334932262034494441036173250914783231594207271708512578958555352021801158328175619683929002520188652207053431958284878595056180105484481732636419252169239199925323492226888828056569937575810986196653814171767567952043280279986952058221113857574529768808384801811258726044739052743832643661317418565545859938557428325889250630545081294519432821348433564016996610162788868769482089266822944467727395759258466533096469419276399725234823163602507310757031145732705347209655917001858340451961352568147989053906633712351410531905550006854932655112133644044449435372656823110805567243316256113647085008992633778098967329233986580800626066732899971637083067256190571672686463611609007156377653750352329399888063326269121053801860425517630020833603002106640611833223959333299408604008062417654717971723051812639289886476319433215453898542699382129337549342714350335524589056233720500711083653328561585630704485926796750004367970266852565195469644143993144393990788021030881468245739978527382026419752740153785273664207546115894409621287571541491755492746471302406647681127859069729246101656313675959950765877560265415299074357970571270585209510366559928645508378617183781291213197519880021206552946940120448563434356331300473760440494613924776563824011888096715675795023207173442894527963602527908951143536560858614355177670274632894006552518916719662354499134144732771555262266768196197738940876110591213082626183264471003393097545209125504183971789494628282074136735666858909552077191974444654711997181618045713125360476828317192502552484800258681497032184763269806041433640818828832879420983780708044250032021062797382120688065642108510077099972077780474798752936693233984080188148660851171153171824948249393139226252084659720742320192585892595235882174111970180574576076879574114057622838045744717720315661571394423905760484930697715722555965883851675091649416743151298301530679559725575442688944425723792176250573384991311448811289019010825769095862577680058353113500469676846334062245120844331192168787518992418129174556353054543132294452586977013925237202768282423559144466848437167138618482938011768116575894771914758852948568348528699055362795190179465951690792381144188826486070198869024330201900459807888631138614282266582709443531717760741107820171993235743468378004317849189786509391382240244602595485225031198326258193378288156443884985557679078248550807103878319361681338769638176609744822710988276048726373944002135344184045302675539265059416092404526665964681284274311368749177843109545321114787544365143874272224516100563703999999221279548547872123910410954792014676650120172731110973119575047895801910673093568932933529080671429300184579862078054080200313774367023930597472657707931451982356801880556659225968973984686027530737064111415222924250445628160787497609742832562581125260192712342027638934053922317161692925508943675496697595645181395794635505455333376
2054813408289294451249045449977221660704905729763308100482571503332677234422073277207671296951558688227489189959168835291993135333273166792674579176196427105911131562488461695665212871704669481617334500778041921958719086985528915857343293478919441694139234138676577608228224101893067482902761990217105204990811192567404557114717286776995518507590972683336716726991247800242143753796593731267427413128862031684403344241057436336737344016953484020682373201748411149531120052500466231935305567926757166269712331190285939780857855091456977967966571786505915973322378139033283079441577365713549472825154372062395873974198476016521319502446119996875036590853225137202675949772993317536793018223776085207002803558215109177027193334753952551227318768225607681044803607140904612160744776465235884865629852462038058095978559161793699453544698475642283592814924237627611382374898614557068791667955219514123805888265730278855223219912986875191420582681337688844333337545472752181300958572030216290783953297858990019572282992312084680451971448531700161880373363093808466194433286268583006035618441074770114304443807833190875289155838363067007503429668974133566410377953856975244296894123417314276019998408864582036795677979360693698775685059024075926275461430938328221002176976181150455985818650548407322790001281666183373507124476831681994275694618539192540525355590936577008078677781873119565748765670314452398406112858628907493137099166188909118986625379514112410371825070247338970133034313808613875511658481987943785024299597987728639716996969757756560401358374970757086765250873813799513222373310046352639342569072187899050030957853767809196514063236078225391413723974714756308313037518935390297576001335425633066337996525921279082284246305990830889230618567000171197547222819769702502601438743604505473803964023342057339762791788779993399639714216940579852962627855081147783956931604829688472715584939426414867023105616335823904907149484079662287237888575580459587805779959414582425528895218358533089558723600291113369241495342783497411844502593203024982639828689403497774254711401199020273247394605317796778180587800874088693987080959833925940124601307625958050532658699404439383716277797954249345684333254777176489899111930825901327072900630452146264481799795098748427750337274460097023791241598220006247905189138657826894043038856562085832707333275692742091559255363624773649417689363159959044656782453449222035969553808080985503411575323990369492481247127482835970897224893850907467942804452836690520321744500860723498302549940983391836893884164813268779693326262050856079401362972511308353486824994573178279675956292289288509776752765095416504768765865431170091565547029865234465534561360713715431280750878179547607288745816295305953524744950072341640181256146295848909502798184306629983724215170266174488217185128780189675655349742655839387075444690778175020721987695085962873615316158829594538313757485311550484963764230114210626783401522295327111183518846602257178237160743636488792073966402478655688584911647129194916793172665443954997572393811515833729294055877689280497371385597493427238938015899508323989152658649127022147099119765558826703701791583605678580939889491422778991461103475853283947796546354677372524520386229509417238606457184035261438958095912148898513173662155843219621296237223432812472764528061741815059217223238027686520642688419412027955783238704494753464808862516054107897316086798078191465460196077266694020229116975016237743283270819533128376414679313165516491727032327283348586308976505408195127041387406369064134521486947030847757766965092454655819027909790039191165209438224139404641118121251989751721447140870120797844174264599548542932780026838170954625482755031478072040076238724724718965848213837233091427271317490040548378117276614769578511796054980099333450027815875063406682415180454971553735778591719659975549350340980718663093746031777480161257320422292983558012359905270595898829077224964203724762011079735118296666535971707280651265395127727430151188119052682227152618201971970621938628280539324091772357546699332826681432426120846892750433750122666889489234116736520024823566674205826343189914820076454804007002517727828688538571962576769147428653679806771934638752362138853767367741528018302185632835545867791016307784589162450724035423995237319244596580225232591035223609201594057384151059063355617488046884315400855822674068942059702595888957872138193277325745612113932101633121582240471741468634664108537911854685590430475641027851567341778433765343489811805708727216871405903131864562779126317916014732592808058495356190778015469216534951521216020887155657124570817045537840634572256837804576107314012285829555978521443923981955042087148667459745291735022164632155032062978712476354574357220305852796163806778914645353868642020932410449424634235814864648043894530381298251741815211484245835784512557030843306133513951247430982416855430679503199784304478454694936100784953545651922920825927121362337475368693895107216213829954997116587187711157967143518057866523750564633796877734219110340702609906738624820131761213103094152765632074418354191079611686369632646560102581191434485174055780024617821116638179897513311167491447035129132834233394845736152462733857118119254637297299494872075607733864695712383900069945568480275936501071632339868010822433800964420190920318852940832295713668586775819574659025363470180769144046690826385351188864212263167089935225623052615576011006337046496848439577283492899484515648601691327249096668871359933379768614664029260112745152770297402184256999411074257859646035909399621772713251705973997338346852037321289188976459313644758053675549769369961478427125047994321634765922024207649904806301415406240932048890204647262839734247202915775981599641775502980109005258929988446360650130803524888310499689937848154872814174193003211216864968418171182470027791102773890996026263708429252346112188255163351385916451868550990883201779715020292966586077133521195575255965982833238236283192486564229106792314096814009953364012036041116417249015656578543758361892857903244084850863508608080471752230652527960244903177696348697454274180208935419819295709136652914855220117510333749432082683779956217426598033889125350757716870896294776420599194892988743751809902613403590699448239194416097195067555645003253540675206075181019389590394034625703405577001040133194570430707198009856879440334064689291077828323057316050742689959442214062201126737852004006610825589443243844855967449254733967985866501967084030306068673743208000094873501075460083627892497265303488053873812806656973041723881193048648318572349838806995459996432608109274060387613235729736355149838675176739719433094418438682918917995170743750812484634511775713155186011747888716202727030887973860133062281877895038730932588910651038426677163490076149817376769836161027407654009148976451227904142936107640241184250090833620739712258941593388251444825124021072826962072361508040092062492239802117505099043368899049028041978924773712010992761496841723440248545374081044578778164466295491849223743614865809769470859597774746023895337339667541382486303568520056947345606638950134400160407083136966389138015863697511066844333877868250231482842000060149220200185471436518987599515730217765386432846939722651378137540868592742457930295257583927968106787832667015583841055524754904540994369613433074353184034902986046122322623118057570550075052143144234853711700728551369578414747202768880307417500816506209796270081780338941893098387099438364937510048473419675326605299047147037128249829685162032342458388654418329743055177067770124559740659188571871444502094354374479620692591737589322816107704649145076881999011170349586525048185006285493906542898705342008996205881862066330969189517579207591876669835880072441923754684815438137571415987227294528643376860311435754948000467196611878872570720750208669758363011902327414546253653862419256315282434652311297131524220147446424979198716103063854737055194315011527544498526073335673673303708405590492594339408426511353684190555752919573114356518825822217578157593733073418819536351713348455392813070709973634830957245886827817143285143556737873040052324689241726658314367295335064517551572525925668921411366887980561028387638896273371372684759771630271352702612140010662853732284677727264798288764495896521445797031439690049347742219652947847097654418038915990685237668976390464105466236397273211572981542112253176367174969635538926664359044594993465610648516903433389008169555601755361605424678815760829024904457691259110505583485024455336638961155259855282071688765646318671187959379541070244087498157823827482032525705508812556428717781185837183641467234317781358218444927197461172720691379701277441976518504208270035537412638354293725323268167831283395920684051287321594189732959880909206672451584851797541636068887464474263183502664763869310441088182324471528731397857042771609674317824
2206339096996203743757229139717442744417594604024105528086131606198850932491632546530622605181212265540431569767040430730380281728227578002222632483081569022984059585810330840057698562212449798508931216883544152432420685163456479717406311734222266873726711374025657387136530755447424132047100474013584698806727513146940212102268716748262249282166488854940140624610892445067987075871761477998053342360585864945157039197092907380972233973679120855522345126294058976799481589934826372728622050503032138115512194447549716061852473610628702340852240361069800803985905643023322970427936182098381672465519688539851587531130000575999855737443269347167476089129483675102651531990186230711767322498062573897746607865711581512100317468859351603564274692823997234953457650853254343271490677480254651605875392691439635257393985179276277962956887806766165156474370045332080878474385090209579996459026239751415689096288385426310036012076523648656096285599402340779658929920083595869450069950080159823180876403973927238413338840009355782030956967542349853638527364689360185598253135444342470796087953887660182913941985528315858173134717304208742870954259020002384417104356703776433934192693612988143914952552011354085186626388875385606028710642126058944993503483297370575529552614375553045028644635973065479067492745138585494588013112748295965521541898577256813950889230460838064970862217016717539097167576592022771825754313574057270808296340772558405990932166604175293253679969136305876936925786763449449603597111714805905741455334665810479226767170110166367313320713618776661004246733066422925697703235538088207514904276417022396708107942371772719148984700757976338459685919242752318203547268562120516271158452526355065004473390248377482224932715059856886278026336779030029966619356633943625080633581582170042060252548853679223909487782616852847637107686136509910937743836948039289559473678813076910045406406086648213098106874629071756197805237676355545602822401052524536568866331364459705785740116465169605547139233688427000080148705847857748093195418798546047177257992007641172108194060517031815209635886761691212264947746702692788619466142247750376030304195323081306926421123467990457568952021266099160985902517208302197834190020585165117375276903912437474739474126792156396929779361693973193542579148897424661917113964807443961086027276347848411255730889618219756952409858220247709912886314664772828375071045537762760282942314355023314150703111094810297290768576458180824083997174061679768684128380864190053413779007216162819027040877482599504653149677571315838910166301241588187457908306190354092099380229641794547496443438226977780149932346790596051870119358577003120571837483405279329210745050492666749000340104026109247345053627461290737175718871825465044679373665134915651717945455521289054017129109890072760480586868322115757404143628037211587729430007887273626141264864627157612711991046718362544749451846572077425993076778348788246722592803473761199038842325089083825077462081453439868557057427912149880129139010867346113609029448540734008867297703223323513372921790468008946495178776859922391548589014879068503295731912363024767914605165865586964132669247048609816256128576878727069440325671215445062496984463771832906006004235257924290958340554963925297783730564277702049125976031974870894203211000625443605956134683513841118754569291815034287175093915723147904781686075191593583734187849353167096356979743110796998744463935401984971730704958663297544090622958451476091317656346093408891729064601204187675891221860490141300257331037205348140974082761697093855691011265316590776415241764864138153216667540802765169628236912564639642693792957468452577538942644977882065185535407986633643387090268044442488314861667345353640277254832732698702277067784639240249479886278255232570967101590336141999817079868426738406830264587010305976368919133218998806154837139658806141120347153513510472249363585318427982201139229716853975652843769922442133555742662995356718499454022587920569613272526763825369326718756166675234594560984132474797146004277554026794584973106808903997120155743387046583111647872569664576668867699938866581758947377729163989117313524400708041392157671111590934153452439844386967512020035264651022742407281385442710467054918894184587433312117588701134370166380472735916801259486478563434195203573122407046391982786883219026850219192282261759762335506222199075343348935382207344527088822429660283935711209950619701346528650134304988223029528831448001328815335859984814576718820006875063106737053678422374561946947873175568159421601725545537785073974010702451815678309016778089806142064965396613452855264311646092063986932516820757705014167292545036789487720022050101749976651777157396356122974823732558433178081245607532517541065358776219228426093575376042576041139959012576681866514896698893503769345115238600313267842250039870979666983937201715785989657541863618374386278482115325150235497267312842052420283851863562986115038573782665605705936455430087013000149904441879067588009140792813149230538760470590922951543845414752883281802822000905619949205289769015634304428098867368207866781334245296127391871155598957287291610721375904148684796031196075797261835843898947164968055023372934968077943768564751923772060789898221109714068384943420068249337082280728392081968832463267265859731809566789494901211403818277033277701890096170789189286071834734868670451612549087074312411627763776199163821202348051896556868588415864298853763266166630983552492286123095205425959586258036227711237007307924942829425982737785643785694632413799433662670591728248627143240315743631598647694051211477127803064116494710600592274713566081768656077900109510453756222927314494163540144448472078839361635425513685278143670266925683420858189797775168379679025549078082694210633274815399203912215425299524448169979411048996049853850751029520209604465749383409177650417146193829589070780325730474335066858940946149187936449911252089566956505514351740079636070181289313911653258081066570854281070127493987636079229219536742080853303133299203174367314089337602119184976951707880026878020616914082244361824723073568544576514853647018774976325123763166051560744897040098963963425000705403539775959022923267887230695031760068075526370697329218527536968133378338325774988146200630817193121001487289942699053962740748889558156303617721931987260869282513541001164012401032895709212397788813395174309558423792868932471717968949746287278356380624113615926554663790452419506247405491419901904042636394662109456014293065633261646094030471833805827289561979176528678028854417576139428296583351766318407991886729289176288582124329120916481982738989085017699572390016028717339046818570629516652241057586433998733432647403722150223313463458284534475919757392243595177249173164167502203237964619027754427784980571003807399739107722726408407344534662474496834133372933092904976612603857613582870151106794167446537164027412951659091956265630359116308339550971048987376127576769775235221599256084321934075780415802366036028123312543129842578005412107941162635453134368097108660299362562136834127100189933437626325248680434927226743630892826755873381394030005932499746941227500917173620982087248235240808993848392733409924793238547797955737401680715323232469926570617744877516855117315599940318494736716649559596194228888097629919885235608354793177202457804157915445844411900209930820463247703139446269825074799826908774710416876448825161689999955391724148056236867013973706007450302806525475175609019343579685466178057702676969526949121642282694053835226342938262877896043037341517157390465157483132364099521199913193563886156126973291595606488843492303370426314891897851020247539753051059856538437691952257590121167283410512670103618623845240407178424176303052623649629043346424202273649195095132388195929770759715510194235576683046800542205440701149267323705446958339654138747940098530664898697328694880458733537997808784041296673299443991486961955373836684732474908166656088551295004014241903969382867315304488478963270861571887297713555761110529110328686202095797254401221849204889122996295641061743035168065655301964864538997953369459394713571287906208167266644759007893505099018866233505498055715036096353736633451275164259167537916580335917734192111015865850088779592512015548557550125479045570068530371452465221671838139581294741211964868319508560946764158821134104560217709864809845039623326820711110145943538342284145623608182339591116334325625032859012362787398976133529533098219571988262926249192504953053827143386170882773394435357769252180313864204547689593985386748886615751026337046798635487578396391218931378359919242413874356351713700530211990212609951206670446572549167766294204581526215677921143878339543842486266547191702860360952168300357796789452556958236619871670415446274350871135270459862035028551415755330551710197972417562690636269433922619096119541090796834187118066297470976
2369038566371216728897515829666157817006513847817400809695686179944003906957666395249555587942906708532555339468845247174184175916500951891208805456465653063520802062592669154247005519432173322159412285107076293817321423222739498676386857710616420054410096748267855585663052670386215123645870516878611035275226223437379563361636886459418456374576136414779098005086198944235120246854971559478565664275551932334830579233926033868708189400252987218125003328664493246112249044631040510576934497513745845510769986360354704454935571833588328638219754279781506506588492795431755680808390256721912484441297687480692140284971183599595135723259201125350895009418278373482944443195536913464137863122665944563101232219541900590727272949992103390268429209909878502029882173133928474880252527236644353599777173265222663147168927133025077699876333147000461716598035501725831208168608584040038967671828375934546388592465602597661155657112732530087131974419127202698620561510278734461342183985126659754753751711921525481417221312001689854462866158794431529091965409235466799077246852865727335073258211671764135894189702571355473202946979155945458447005422700705812728370808765459535860715558807483039737615654070126204138139599197589849320613161244645769528840098306072216173031590063574947577811023677535342365363479271871921738875328218272962910941509470766736328056448736976624450444103752214128922984026923578234869721246832876213038162067273652431995236032029839065393941224772680776924174227232021268549162439693787461036802323458597774403263090857408316182458962538006892635329558908782065394068344737368453409943824945413812890215417631154125572470560339963696206544509394829572928105247416109140448815355408665895569541826204756650804726831745643002251128569973153989327132527105837128307251648963692066839932289706798638991477822612735069761462096996635664764370617929346299995253424368743356444438597292762354378301966511158830926714700699363525208089704454197215700209236251463373264883945843283644729545798762573854756907017608318244930120170969194721244099047656862054076950215885524124329225379427355775582136164809239340563912017483342948655464705961057591799479250904649279524681149082748102481872607113433789845692042265712740471703915312013350412716873702617278532649291742842506641513957001488345389465285388216687554295948619490811577230615871809945462917242360990169773685432612791125285087740565304447105481236702344116898700969389416245546972109648090537773774254887833523330794087519282124235168497941191827583076777110726920387769422140436558951492136438476365057908387913581294056652517045119344062085810874666447665659351519535150782220571176181375136496702463154358176241870914968093695775359917344286867545039328102805529360989945097046722272174379529537961775486943939779691586737696863165331140460582636392894266684326653110082534195149215569720015817411877295008858853175043813092558048738470562855031271356271600225678818811189885996393604989553828827571076630653095538775090719140324051243077078260038065870502945841872980004409810022068591129435506465739858051667071662061199824153462614154149709194995682364457804827036337885698434855314680920771160349316288630339029945364896278377306092630029784318107542517568738627515295500137403442046013612089040757063110352980196106266806468428958268477319065814492097731839727863186133925148439875110302065928171622844065443592523106858219127184498838603525606415900745516766715579120973706846585916703964153783810888459512137782984338710817071549761386071357853756038297260682375444520761271594892108859216425584117729677874006198812822856072463155497480292504401284687848741523630530693064165706649935528329203687388152175870219842462688590466298253003081255636339469811222809025411716450177007450748143726344958294425105600829884006599004278206107320782356059052645864464127011066769574517256760189243628962956126804743116133038938988482421290771394129791359136060303559355018594732639251626452258305217691032783674217496478669278344649181417114409191811581638546321580627292662988962542346695939397308686775068483336123268382338671209620617848147043291990497285682929519669940373669884759255882877074951757179791918655762338658185134589610711882897876465686502984399440521613821903332031500994437809491540552273445576496606508796038732461856655770717263380216564590872881659330320962464772659932950987384450280912145749451258712769605635544973488453309625348054156928863466483026894245093339565507956602485472703415907853729309722800342950705055149904556116800576455227733673421788813136406248829180246133838539320910952751682787239071456612291749509988979335257253632776031059243965934538449404491648522077396472405522036617824298514436555540675780227215073478823953523855513235592042154106364818953441500072318629449325327219429704641489519047499321784895575184338102075138432294245309671763978128534135997952553437537958460605166936865351506603989659197697727919850048192043757947052757017281596333817492670668848932019368215363547996945982885170391395967834152191610797404262068103599730016110475187031385862553598154700273594488938841697927245884097385812210154586115868119110257980091604435328194177824616634800592428302528817824857393116228150592738521512784196708699687906109882000880247685518947383762680371680259007043721361355065202079265432545437346248908326000109958599623508029623244442611169362198044707032407033886097217948652619070326255631397853955402787720878677955840214567067047742134399724543098989153800742969523112657768763575577862470879466019715002526671122921873448993234278765896902909116010943941760860941543177233979046632084531253522182809923113149675554363274457325284384796948997325883946047965417414080567515931846463350188758832358801300437903681427609702030504559612695380004496850126642047127310627154862194771938868638834206907705561372288468645748698940915037240514030132053153644919876281202226514831002523792456775435248359646095570682339252649598591207144187507159654500994447367306833397159790699477876912981182773601554191749876266255851239942545524779015233174882714931920347079394121308375242612366518042991605324895206487660217712272546528062706598229544621283455094792622887473275712792189793425779855032650427030252138390963532276006741985679844003603552304389669415890537685027679751800149303523590545976805430547231660819288632798643680922811493605174061730095943202597920085745115280393675942839490375853374012348214254734067134705851268567624821820347813376173277270988434806363610074946246754338411293855723255682055920735010866958661608617490621093600349161984633908354371559720550945069179915809298656062995811142075850064192008557393424810038415686860546679455649660604421485969982605577455783959164964379985121337937130495785065257228750836082326145913921318114189668340566650332740016271055644916590584164593312451405751046694607463444758171204564788146606236986581568715657223304386170307319944655870995110898596198337478489136869029425022931297736217887110931040486840906982315838540393478652428852872095562917676862036033943506117613218005769875755480702935383791873750967815246549367487251073441280693099160212037633767676717991033247248247328290377993039918387194781179688176948945671936792381834981081162191551604604410186263571871679536535069289614294784579441040254546752784625265232122259919554914858752053938717102078024113732759564111971976502579912039168088718544171770115474662228521238749828163629560576479445724830982817525148740826534161800317986449618942658767027382495436998990128919379901903586533297580743503733138404385793861652010721461098952181808125077717150381717047076350922899009624761376160854265953554575492760413467167185734546539898328815172169730167958328522263868509337300885538225926164586827053033877579304022973701431438797637049102393346541491551858881175853192419085055782872246468362277639055848260044936768483222505819740511779723981313677089605051002181710003742760559929097804501773015172339423945318000105485024574789008083910249774169384392460527792529420762161973966674959976193910596643802826876885263200654963275687024434016581583190276373685992230441098444584237897176002562773818039976203396371916482324700922017591609997538160884138129730840625384448586290813636761597828317024544440703299264184503606042767536414483813426786011710543128333308937014593714790430223179094881627343716426002503213418468385170321060658114848174667166637152667014990432722095869257891500849348468426750654379176741022385438795421050727120176660044794719692501249407206185443479345319631688597094944765694149012668340229143556684102432961531013815842171614295915054333099589477557956809201326269703491727062744947997115525828445556094735896759172537331801106949986079567581160577328132469800880044602037808120395508788774254305580279908689230910964316234290304735453078135662535520503124627372875142353501709809599412357300224
2543735791381775311585732156014613605504432398836714364341722963784666972919851006018762752187209057081582333582217086874539362760520603781402792335686582913776013868631214746709717052973169227219586965778880135030570627765460267585629210327825739033572476526501596097118434423708565411319902538861062599602949747166283482144247562092616875326901807940877729249056016531609892298717387425742639585263002770431925564877612262287272507810365108557038226934126284462116247197924390844844768939688932929231156376799022381648423446703080156457113515073204401117852196271577752212233562748756414571812370599882500343492048838465668166693019893841117122647445279399683329999327440194122313547736793667057867200180058488784714179543870381879863407029463511818387953387085908156903460530175684187873525708015364218093778744255937437567206938527691935892422145714439849149375085480569208730179026033790917543899886808790471827409216144000479891965141514983113634563999950883088933214120333488516096686034001741315279405316560367555413252449611806551090316002257396566332644552694305695848219445823418112572811122240984715949315411574194856997403809908546865446363288752179710233278134059126103936931913812210334341482361209049061213400336553232058807780387759501291669353239124483240172903190490823986335849856656365949142285246629687081325878685936454350143414393641803776982782849572947642828336024591788002515714893945886728153808719722022269472600696342241820502545729236212242784299944441900988098771511669097349881985057917872762770100222729111329330522203240707190222830927423831104514714223258962804124452102334425327887534614280197190017309583645734679258596982254789441804964749224544315448583178355709184115433359313386403711198456140307821289962896781485995532991812344350999195550417985282429623038812786274395831426917707746599434439556936032500547547837507463399284554603223940540136533654113132112388692339544478599472958253056548667196004218816270642841664102514293205078629323158084598841270492654862993741392417685155749883745984915654987799810460667741988060971161162116448453265235413421065970497547418637261589652078228084547306857020946249651587820293116511767477116990034525874491424820097613772412146052004671490614125982415062743984501768765025910225562894068267852025991310312235666693226445917424334201787830906502345974175918354840561022693284173739651338866663615887428594622630554628788150350943494550717154480402102759965788837710690668732146353267807503282749553398901369623246864427926715557682946370186913373463066326620498334964858694101106475998168418063228333052670432986217534790907587813083386908125614263242844433016542865034815093890218272772653341707259941410389826704736051905743817137056930308840868613354898094162804585745942722114352954053629674084792202501188839414221072322146200103235070548771332722235293057241890678000368953096680086006998201166719735149918360078326281130267924883122021865719186548492539800119726843419029111499949311041229115050628634535203258732811049383524019157225980865625909126250517456589409292430300802887308693898087767160304298815018203237684925920104235654137556126018001955670140955490761585846825200071348906850691751926724075515660404106881137788051388930971809459287529978216527822486364947773315072899284993522239603020618608065908065614718276357628790652171852271481101892297165302255267941460683251297626896978404873520091115014771767488031197463715369094132915768414570624645494450374426538514445605045577112973240920010786530936179297445027976048733812314539297294452533013630858842049701604017450836495059367858100587048068136064756660116677729363448673978359687585128458701434896550703670602839763680313308458640926879899071272096707541945047173422998295314633349238772183865103027902009339792372259941919227695566954042890264829122556600101864639682535768519430501348729863193161929039343063740027300165368133057012517830028689311099945066698192454517815549929462140862375381814481563592286609586151716441719928022547312694919330542298133532897636042473312288139585932087018538341859690028906711022242603281693854210354328556276361284548841146196237828113845654795543635273212563160826484466234870677897881621345418943934097227081240281992899126650498810257136554094887181503225467418011265168056800072197802564930672568241975993790080170162139578817661705025485448742360531621738510896780633863919760769641529345128446870739067523499615957976305311580096748448162467781625475319880808865594394068007929479234224020574627715588002679111510763808007287681089886131841559880006422841861908516741331930647749169695039484509889219003939006672891337431024887561773033268043545179261710576476862287957451870899270217453198411597478522518453793047437446457231595846294040741062435057250712498047364947537094098692417987299301534222258944664412076710547960329954857325344123463510404695173228349632705634993479477586726424090614295369102115902344074334977315516552212966945882922743964740769104907463310601152246928430892080849352326092595638608300408487903713775102946818379571395073406011012829821401306113780390905942645589539709179658014887219635634252856618017309556897660654115033475785255123584217551529990246146516663826089824503858417593741244200142692373999560537165444049926755420892950401368405416959251015554222289150821719519058121486859039022383968144691147324231225006308520607180313739445172962522355675287835041511801542949297996747403375759803942101074551012463441793942172934472013376004675226558226288650923395310119971865735903503264728154806773152460174260606619166338141418609525585131818551988056599182928497967936308515501510341914994788288813091014750233474421061016650593886023665750641859978783116231847511809881245580828652953049530785766697632396565418330469478852270882401576057235262677572473015845663483064904828758238558673169122824963377853017846444980315657461411581714059648516292032415610895803701645515935497001967579406652542775873726776824190589361724935620483107587730044037259530470085115611404191904469004311847084357893903867361048570486979257013392983877317072189295741716628532099479044950040010716718241091622916915658612631294166917769159826412346286294504723800939701815108386001747180070165213649073841834255813608263522350576001257580464740824194766845375320518262358347185759596637749739866290924688889841638652310963681890680133616351783932879561813749357892251474196480260177044929394135399247368572970097020957880157514444584515343529055261448943892877008864271889949489097559691957405655926844281395269088400009988948014648235718497795935313636226252272728671756908069302043505048985242775121829781160052046394276044354639224641137501969679856225235852593682372468810199532161009946747663730370260253278257934895870280281255828107976561890076504023104414254765955088321846471988672966578236301702115939529774322492967776988763187961988093672750710560311748357117531124309626913706156357926373974599071340961042349920486585937303933793493457973664967917185750558403461006144218451591445964018513111528429533115685167440226171681175228024988917943227966641146826557741903708124927551807264342798688304276498941515638349191418025654544976067081637267896141273877662587159254868395680662317064780797053092583596457318066191842827406252279502639938996837138468016095463374454628240611446822738757024987548601132759904485405251802195396702923033730286765295458695903023243441621013098454447036299717979972102174833707531551089021582202112374846386058489784558550421127595375917572738596194972747183890124818898076404781082316974570839569651900698233645329196333960183435838968154806947158379654907217665962284835603705776923150789173142265151230258123558781563320356554724400108131402023486830782511994484074629927684052783886297140445794606278320079024505519171993181394680925230573545664359871584291360207442993881916870284954240148607876727755841046796738792325054313912289554339538902695617278857798550413530787280129168545127407414155025693295682691618773955168536644812222882517698959953233822827268110418086739965446141733245125627143005947791338262289200468913531955379535092545702900763653368451442521363685440781433881688153551415376586106988128261650575405853260377339928085141442153598526278119628780471505331560784600529820394743326774486938636557674269847352902671763938647273217985550969938012325581048416867608130350194688828941807519179115086336658877480550194097888250847140462573572503759833946516076973700145658026290821523751765883235761855734544754158725804028195010660772488302163761149827192322444727093895688186990302744693180511835538170952032607191573445255120306188681456779284287610025052052050543146185261922909207971441754242485856038584469608965356213781697129849503726626337202004637621855896193430208155485208266498542313623127586528247496006512319683152161225583800810338249814435094671283474908578678077965733855682233368576
2731315508412350903420232377574583783429545684011629159735282174436834258735519425010821295756753842420098331666746228824634354530279068293824731521213331830165091858753376905467789586983315349095429757162040336865091201617710351916921584485079246984056108181763008132231228922137223869173942399578908238275852937302664057418635808428879700646688143527335737164859557468824959413268360435031566382854900114440629023863917727273102394521355677767992233825974684524695558166334224439832523198160140836046324765653413573488002318387332073612466443449753987181110256187049895018183700779868166314037993793681810104501779049311207898683699228881247465469099603242805603775871764407287807027846815903978363041071109130174382546462098871859261083534670572921321437809476601069089999901582846180335278175035308595560347791909799787043298900760179813755220422517416426763934852744062298740179151260066145438220664535464220453782984936869321936073973994716091763176018751997118321903543749435447556709022504355739044267734238826465059846759018649258102865093000245106625350752753647912273656374910706146108567547202521896459539821574986697083811530115752384493860691831404126041671529163962586687254854100533517867473109388431184292764130612881263919541378944314190247407351877830797360683147133036802351206501676344915443528596244450059252085318640131642015724432616804390147582473496374423066998041930095305242540298889422972785262727261428964592129789714188860595484047953500660418345060908145428988577215098813872895848820829482342496686705815962256654419609380175649479777446455676031229563884920821945648743923361200509557759483600355377888860583916451724327180891407153247979604702088064798838593080143376500165657241779602904737662599522078119953350793682476502274050480763689157972452838491479561138593327263928791944534335142213732606532498282247388461205013772519363961037954693270196033746854804819576709207509637315780527059633312792141059806535423477560922460956629020172091933512867647197506134065260611193369983278865028992604261201796011872754866230891661540221973397797608875062610992628596129455186366752814064853638162002014189851478945378032306855270657715137989728343475141061635451617558690483670037338581633894822852810512524141395800363956924985148252856153303580703954950004942809934273041012484412557987813249618551402426590707471201583221689992341261546129718733483717402957859859923405246631467408307959821097959876726070921100284202316982944234592792723989055705493201721756215363281013122748101235664049218675586552226034178473637974130350106380107956485577870405337660453838785490982667172571953860326922828517480134787936455428558076668182416414223965038336444448563532125105076987197811832042289465966341655677590648039038960493548854412939042590477465332520072330310174603866601068825734417176493516612951806411756083808924457444105804712832370999723893631125285472576516670253401590843967950663272698426572665202436374644135373150919234510714491054949144952689196367842392458539242512464812419155877690767474846262566878476894782153152736660576960883303437190429222792438204678684137634517894757600261399492661652943276716824291885753160336302674933775105382267857375556223188898942870299643839737623756475080781395846179264894851063257714151784064901571237240397735912394933833029238589459283302376413989777154219438661527365009821673082713072719258534564271233052537503951934482154824566302516133593914227967504675615822650683672564526914234418507074310421572416541768643820029402045586429662878733595756525087086796623727879476215235748974498953423389008530812632243897512463456094451998349829597946887738127905267475725986520387377239603867756588347433828564715855737389073457723607119060482631459757254513160025066302868256223779095127426401773697571677038485606509377948137167189465102243336614724013828737035295085959419663388296154014062789021965175089357880820111316885647526833229758462216318823616996309076823750468511875442177863705953816507810429152863145212078664659341037509346107051409071729533435807588612565323855412081002359123712904618863677418194344829415936430311466813754455709402999067496759113034641370009849995908021034778282696454090187897839507470903951292399553136569329863297713603035327712610918831341492375268667986314096975045125000214860538796970903776936373355016126127102267842569014712218080703289135186741353113532921371718438539545187744057274458590741640502016985414036901404775199137604183771554835803173938695530757614245496325823076414291456415229186080266926842930879986184643155860984563317593936069206886972283403155694962837219849668196051224932209698516006988136959973089415241757112206876087746357606868247606251594923557073897102579342569789649406474002284890191714430586945638690716253924462952974077162143725189632904653160863281806740644280891134811686964165370342174760555390859380373466204103131078572976882370538748792053734790094459171242332252030129761366275342364924038757555785745105866187006337959750118631783520838339035837306433893721302149746815565252963904541877714084343584157479979833032662592908466779868714697922654995540601222365854538059142240377227195925932082509150110719668702663171392625717599569773863020506950612832344857414531490635569929178306374443683938301432031484272706843728377306719115043011654258724215209870127313616590781738784038568444572754936028122423495377571484120764774237823560311722483997506252393570547102967952089270673998180764103542725145300917183412119303657810292243137380792985764561264249943952129883459163806378972276817597941602610137275367587739545554106132448694719021914555069672225421261323989282670156927724007141255926595250727400033703049862298970260519904371184523187954220603429853350897253270389548253287154265969643613481332999166763811957776170519344535791068224903610796304021217278725016859633802556210069100586346385079778138375281364379453442682300602605169334540550808082001617239200300963939014404678583024847330744893528159420103702437497504167372208332769471840012216750582441266553167526869137020906358627281675675725374937233025318874082986245611186937179174433949979948591483790941929219732888035238266845915682959516077565487703310637208340970589143212084315395644484906242841801342986340895961372243040940742037580258152283808022617863649962248862776119321672939556733590095211096157681275958991054655269785280705743994274215983822054893370417648942494785417610158490837758741189072740280467502967034524427116874393424985898411420105587467546291691481857591222879302806189269325495949443967151261089575338761773947563449773648592003829469359754932694600038650623926442135331440315120230322583024855223928120726799727641519342499194135641491307646755466509481902979321586407439709698654557565004816586865883289222513099632929311471904363997309636780529881082618473206485292644273570173583341963448037139812946359938366462207054325198689600381251792989543082338927789061649192136530349635525744869521751853475513800904896710366616300508751389150748650168327266254892202676638140451354743104194697013860553482235803167518332147925349076146999921433008794423329345386511886824844641314973797070845585142116012789916492304583556937179373975084979192937300872058108077853204059187961455551732560638540982051420506511597322420913712639289588168004201812107532316045786726517643502944012268938085996224816449268572460200164369171635411405719055573504527402184121062369541667853394500840458320312021610203875220049062078020530286250991957264963977512395671700225992953589497191521046038631290228961001647722421854896729406900788267913940352080520505772320636820325809710187544566447415366434588663182072801036193809227594973613201580823487017171143400133189410808840376040524393776259208232090676462931882350500188251673674645253307596696853802928306287560555083659487797060307322774856580858626790260916138165573700252618427708192241599668122661019919250362092683616699350613806689252145580501814321892389248528749265940706686170904623971859266358764411516335369091793543088239621043697817349858760711837198417142629997675115224320317151396526992871100051508622542031836028056160744795948320202572546900801459238193488824237213410491986010638086930420073911902650168599395995369769580101496946369714735801623844000717044099702665642155793510251703764907286474284780547237706155104106210521403876786959737920399447803938300400395500298015509041581171758489934220565012778145467951474383330959669290935065194427914829746657371680422686537957006034944140021830333100658174597296838583980043715786769100597408981775499634220739399061963139544343699659308153355588538197022906473315557165876392928900076063693137975661779022280353651209110086501357071102776003028333795693414020170976922560673719516056550572243888408521570363129090022917170877063343558293885465254015058903663900425746945270412719200081956598769395503046943741279698794021568458522624
2932727695922165003166488151600790287660461358241974331185749239134492589760364560998550477843900331079164956903209055883284267966404510018831935159897897612438723953545401284636459964375671680504923497519046254867097468751352063970957278589979091441206904517427535887628792932617176735583166285394793763694940948055120145071926744534139864048948906790215268283780889940408935057128739135000227585503702776217289747790982548268155511232128052399360229966136556339371181670217805543651151713314783065393265702369068842223365651461442679214351988128531698547117944823390239455833080042445867377570512261328586457229370847652402312775842409086344132968168023623606403875725835504779488811040258901329936388253879631136494953511978789538505267126733548207664689123849970117245046514485385744784634519209803515799846140159600866814683328679430459789510665995901385841069826202580857818912863960755321363484335652801464756783049946278590585283280236015022731943994407827589469704530217582616429797089261083979186260053705944780212832128189172904411617144584012813234978601901474931978507783145849454450623820160441958504405430218560768902507273218718896458787296048953766777110287733382382897331144594760738848157166745685624320992707606049366216393749471143113065334181276311865521434308288687306815711957710617647161460163927675356498242165840276148898078988959332638928272834282428730410906151746449013544961982923034197105950361088901261287584856452449585856276767812495266302798428760903169379457374105040748119692874905697563408185097459382721775272649037237311312800886471379916925512888519409451500111163578771645962278101274343670502594432656155938087012383117462655133145067619015305735144015466927264806609108947239828928716081107417688789201676120469996388879111083280509450365652555818672435672716010599830468640803846227872646786479020857177705570824726050062934844758405581300814112913432390136286652388992469024647108692030048596074421962432725408687954350139629010914786585793234972438724642421463698123902552698036880331781932988881864177465971633617808588591081030682136348316041427479362600551935697099531128799733104050207885009291907804778693706020028731937502604787496462177746242901218746987308106076749151127314133643244046426360588734972490984257932179257810370795792032136101754511655170771819911582340368416790687079285532341578415440145208739052203002384333497776598552515441130541649809241670793141532024437120714666539175579246314222292719341949156709937229253877236318459167506177654987482113318570059286499168857053199080625574258386936983171154513737012263062878871597525335032464602262332509231271354199598335810964742847954650931626030565336379764775603787875281163892921555894203125345869536322685611974436138350779716647407087170459616791912958657036868980559177364914201684321293611238665078452165174640653872472091414414244544801344426243488237043866447195845010989084293966357303846742724437017950063603005362154341266469988646140218325168572779128740891413101265422955770630912310422762284652005576401300088143017767345245208866812519574871214883794320909024054971298975639863554289677665742537968043197846168910459646656916997993266087599470760858948506435001592101399447469227335003030239813703285048763321142547319176548870677375407234701547480740441391444045240462236126088377198026826394291962438925109364684511531559701170564037570221298830607639008560707321757339197416780221672609074557138437380283124261736205601426453886587156091365326975601375485646435801324697886057304135867116501917689906910335853078614988443511849693884635734920758281426315947803727901574080200804988591022588677895060691347198593896490600155623828342002413960190744802381304981185008732166132795879387787023919537058192677318577762697869419917775192337066246865836874042453331125751138179300209212467106748539747865069327894097976304059348015132663244700734972063164926493940560941275837174883001064662299585256236047894309416489954580795702944865908054250596857680444818048362394212222805184253337706032679238449016066033027109897520155660880127108833798535857796709798359606603622036437350683264716177561541590169804269244118437999820235232572671042113200698078253130613928918411070035589508253521644873349874957659152764714576595788280562389903072053675305522897835000038704746833482303896376150658160014817128844907816598702979877060128878814794241108352918077717538211883146018726503037635835398585387993597449377717671484631974343272900488711320489924203376328821847608674568370372688078904687639861220435203164582290993542963289855452476804206289593050981418749323265384448656471734622831856145118035067436638925763320019636777682625983795798758066154987112420221336129313094377711858395606785450027912621958162091162385548400676614642355300009346811836796947235271180932703032705621795714885099215438130657419947388842231525508634384009715403196052248418035514786375719990657573899528281722823270178308859232926109218197138010996984643167703171832736110420462530963907622038100165470350777575979733117924266883226308484268957661105873569895950056789403706584086106585259640200283080585834477022559742247014300809058090377415915683173493336573939025473267308742558164670950602947165282555700519773397298966860475775035465507725988177191283091297948403559802190809876790041949172097019906752414493304834898222645787865114568024392785715839486299227169174050217004965068879439282908549293174896476805119018724689878104328515986330251690559446071845389871524815147095039119382735243101246046435480811057709750349974976140527755560529115032091958943583929939680197009345047054021758030332658302405964302400907330705889940611596441164273194625775838965974233507845160852397307821242968404259659225151393044928763138038732020563017311626262169397484476711455628735596317176029144734878716445280609572200375558515997293951128760862123229623037011367363814399008702002967668772901557573673098437226634642358065368775458368835551641855870835010235553255611691104931724391816120121836262135891665011353796053743547921668293278036194133919645655562601829796608188474118926039491978729467856731740171523618994764046036552421758474887991744512917732232371156511282492246002334434686301774316987140631654710590878769657942717463803280715358065785751019031344902934824085791871538170493762625059156064094744851088876510900296053388084858854404225233070459393337563689042226639047712635677754017306022004793333298881222358836298893017427448208549062129345027772375037965734556926603759994696045247775032907900813126965984534785270460577074791166220851627485059932458915689826313223669415295373624497080451191433516020221235568504330885870405499485476508794086145240508196946365429733798286752772362291862011800007794471697921061863834985761270330766827966340900757463755249362906716552031180489503642200153854116826646753036086393175374215848436727722496043334382132710629576805930133923196395607862402157182510431342452012804554649007148495158927842826178927920796644320650295216398844549258666597277625897461602625391119116205825131749436022789983977665422891196111513951202132858794587767335556732146679468039258356990253682165723379055595812842946792652263254805511986134834427185876113626545356000463601503233330756685692125812246020217598766643516452766386129747985555922656463721650093396447033169947507246043703032853103527959000655291528302840459291491894854161175705767182763052117325079159733345489432484905975924003249847806332867725990643881285142994499006382226003012472508454711141105838886198334061666685307907936033917963534092478688174277565000090581827714988670140282737374089292298195192493685484858536975641103607894840493485391830737545858100670935873094371857662834624572640899369580694598560489814810143920858278702347742779479445695462466376839440910336177417576134435938925981011022121276222756831246469545415910021530104939118915675771343406477237876327820699261796216506058563649677587684314100999991521556945298057163433248553249835473058142706673578293331361537607836545004335622386989003648528878106056191869107611819472640401860793980371866498398991040590649966193362320008780282833937212554400057144046296001592105904279527155060080936058925796445022864539811248381166902465822981366631943397895436325447678779313688419221376239503178064270493015865027099639216969789069360230732768557509912374980189701901408409211669893593505055380594811383716258595859208018269455629495130989222095549647847059830974885403567423943905808825344171183000534246200893539928645151501682028283992611972930596309318988623049142301409765607735759509540977456190475110132955093715162101357597165046966439253678864388702017869986368610146270746214468243568814329669696764920001192396955072653468689714805557552692204550262034957898589396512618408105050571468667284858457674275821126907508934752670687516726095901577081126346695821027851486882819022930387047877263319211994950639026176
3148992385514782812528950763574221083314028471480254951728566470834882254643777566631542851436181128767146469222133083117435580996751949309446876408038500236145200546112330442177495699051708731450501797206560200441366113682859767634340351339280297765944290417936482171807999158386676441795434670975110415933630873136993957108675233870469367895030424459731727519676242380957941234138956561635326608073861777689416514129589572129617339746037662384856629756898924236915175619615033001717299260355340254799676392578405099830484850019157728051065190711155972439800572017798393577102978804313823059254658524093321085927162640330716577301751531468925322824939267624086229555602527938825889033753958930146241923327692890212947284350747311328386763758266119214489814080235628816036190099428380510948651955829697465736539613454329485845579147318643173175547838573893930557118089298122163781964160246285283178533837559267275477819948421600275867191296877321920999599007621306595794723735016890275436022694573087124028632905804559107949005477527644331434307439615309639322297264606659561752878875873220851251217738596920921170652598678382158656220637719133578826925412087631610830925001800006825501646747929186136574407935260184626389001471355618119915234603259344241587810154973173750477827585278073427385950189330809456629734658919041141366272795943048604781518923701269689545577078252064756141410640869052949326768185554435590414918661969055466450831952322031387585363218519813157231332521202066228976879509001796820480363597821047529726260323075655369593065772274555034569862658388596395796568681054339363856568896983832634815018723657570497168310742852466041789979746959131157574546147761844831463971196070142692988779471896024013679367570906410609090381759221450697659868470050060230120884853242235003154337744756255465301489151522674931495400221722392920033071752302533294890975004047248197716438284610848685616038723010731212788087443306598642357589077688174057615749550747659908862958857200360606166945925787370207973344504932246241106717257897727784562432572079813045512796652936016437046857565650801254521074018842134362063782204353856052002029059350034742910496239265431162981100869277583692280263061901669213146710668834117521893934079076627686981100230003215059260667384624576273784390068110484514138944852323565399661940873372676824570725280113257398833731279256330652482998430598926944874293689547672413174144403654235315286073526569474233326153916193978321725928144567240989839464564302796661391387604726534301741522056108530073756143056297245866027165247837014083252751765812603651503386280188647123969641248591434956482141697226777161029802185253781560607433345104035582186847761894513481431228532114759614835374586797154701579987300564282564775190050648936307852489648677643358134434631643742488520027018004170951140662330931367934233580846824407890829117045281886916527766025527024466307320719413893188686068123749395733026822034006989441382960977955650165888584224728443338443375569289290231952660628561414977390986640651672863303312614044670373691228295912247834357922834421262173696826844758829752878659894121521186455032195956966138277329033679793559641893868616399516199355176021594346945860635678200342556812735224723185483051057387896522498937762426265185296931235687592846410214227130432440021144828117809333773538394937710935528635828596445947099776364809453945490025713337385525494393880275220989683425871598553933817973214983481215286809314657598035982116515316837138624410866889796413282724424113911368701494389599858512294223337228073085075334455925530419589395492561797807395063591035845345934634718023784392204790947317842035500653084209954213301804567778018273712027421953997876957531990899273753526442386895350099399487493116005049471856333865041952334718557968420802093197840000478717845683376034740179778209139646019462839911429462942019325434342725503043691751386429662852668674295285880549764439500707474401440587152082299509260733451382491549587326823054469228062596757374439157932936834906563504809099177441747606973222811745016077353127191049352740480043800089316202495570410835384376302623337237539280786105781166832889957891050731644017310608932032616811199110276661049521805623507399385389790943727208861459879272313349419088884280323770116748455913595118592598905462441513257417234997791534793610952374332106548813647429838540013672126632378643892491003236417107681005733528772642548640841523993025616578237536941524100067046300519384672299787755046267594422388269264416677657626175228574841936961119749161329505593625214434238789066152259914778513558006161739533961634309738363429262564647668605379684578507830180509486425316950695402022887968528786581511939205741824208475780128543395889631749613979415452354138930982791040227687488103262790227144442031834949314575587666001985056110382005507371248413443279494926429943611235708250748624570815682568143502035932081926358294289956650120550902159748121321369170208959507634349254878741614267494113532844920842648254692269166836261834250777225073209417058211476685625905614594544053468904189957919779957425457915097582235680264572899920289386789278993904802709683803413712280912843664747200076448503328805550159878860222389026120833257699235682469350082812194394398954788637579803503350617646296190097439393141754907540562744059640647454445169211636438046368205182239483586226966635710155190419301253474507010114894771727477743247524094015902187702538663550079363050375403516600383205612903966642180677304655605397371894036615346572421864382104636603366769235486752578188674379664238531816922030520424713493495869151149003176035852394123698538837816527113472375547238287635383631787546746455447423715581323226480072670890841564135866032483444202724081901671902406539715129159148071051963035843888493626003332272062944788669414734397913886290945685985667586149162546956009088210593005101956144389067480538958081243160201596767095719276182267136770180193315389549975972517495492293381622329635442733965143933931492223570335134452255688005684070599173643522347325522227372980595637463834911547625305536232438565213274348019036509370465843518518993240907768010562113690451450242277369129797437413939803488403284158078534969558126566377441088042287895395269537100788612492594369904292384574989250340966997296629768871595661654046340161752245222778650924839766504923616213110543235063900189520209083188369244432480588460479074765495633610930439380660854926470090797713412027113002364252254045640630077397072654203355381963161949932495776189443098031599820336127752673348378851237064413329176784627752937856323803978117952267974328986246337032796666285570362859517197294025028637166608061714098003672190076141646692912406865996833344052736906449892450258042137973691017246320433514657179273089385122114175340502295772428950643672853630636572400031352776408644941629707462407670159573344267402642513089721465987947516015257173730211764433274683451448671192861233864332615414230802351840566677016040716405934288851794570057813458519968751465530058172950648953236110636389679746081822965109246436924266318697365225128492435110626968305630655047555822971841958138911340091306598845488748314677390944943047205246279827784557805283398065370667132323690898464278995257872078523285185376595959713767389288843902671142047154281874399573271392515287938414620182478210023306171532360829920851639539140644254861923234792294942139340940263692497916469739445409067795057139334873511294252143255926168025548903014185079038989654841725978016962044104822716727641135315162547068861134400031461944251321376022525475821496911945686815761522303767607051133257896200960994329874196322157313986831664064741690831754960659586308163383362581160426798982659786094025133445288108087666147284879819359218414321089791554817171006252638204587593535808248114273535451764256603480630750291044403255330065137614148240953470604914876201242811810120619570316523027514229184024910012075358996651120341089764204122321082403811839468541353007915984929288423173794483008526813419089980806645514052494270440904029576367324511623190101922572708132275425719683462532045999194179099436905347631709637216583552500609193414697662268893331742133871538356155531566292681850452511197102082865673725395640721003561362048229066373271422437183194403268526588400234175135776042571073068230116660063767510542211591400854385634533475876833632976032717580886980087459403173544864732070611101170147486257216581161859695948105151417461892510696852320347793803231434490212499992800274822172400117673817182338737106575839041948034496351279495062662925799874536552840836180760084835809091167379256254758790151030342558973549660199758286594801657838164227039654967856877521892101294406481471756987990821265359171964703824379457093645794585638518128534693384221009169293047925003718055903404122897629612885543508721758299565199475627243622810326670171943171613813708044498981700977937931801985024
3381204827784754076088685645686376905376860895755140931854062915299489274926442194645234357235246144796814721137733037837258886941952176127081029505469827505782978363228449797874390763651936803624387965447850054387718055957625204435912773883839669770468147475740840683300602394116574859911259858485654916605975476664828493382846711839704358819737008494886559657648164383595882688029174287947084014988961471900116593377227279549834886800938176381812147613665327493783108803085775713084128040167793933329229284376876754902886893663936853861246703017104470996005196394634207583748437097177263440057357124157110529021092344573359580939019687794237275449839121907910494456315367768045870509524573428876314389499145113649081765514618073828837866695257757922767740199933086434717659207370970647192057521393746790228129547998706682828814335978284629970660608389590427778929313386360571914072935725474649184475440386607352475064862961795001208541164865981143689293341711891645431857392813128435154537403376301469865418524505007484084978040426523834857533806389312430450705588768965280383576801431181749577315216862213070681536736575266048404587736490985688629270672286925213653655567039942612026587894125152545120917888126344555315684973392065152725234728291604631006391931966618253906983462973994109127321708265208685358060185303749103461663603997468809018763250625518147568581663134962743025393463459745858962703643582390122142631680914293048104087106803739017491158857955974759584769771266025265270436257823813737299986165707574000158968979998083486542252580074049351607427386247660394822433588536560591662351961829088551817004106934231697038088812029201850609633078422955942589324596669976786941097022351816647110044081687393562795885086751498660697657491002769292031379702631641042799858642814289726123584363566628178722789671472169358302946081682206595600996603640198299876965381984099661996761078501483797881367982100173303992813136847523817480961356519377715853816013746972914274187209367270730723442166864299523272558272106327075343070367147384636851545391821989933067905293464613244408674016010091086090946263430563717975441908441650138710097533887510559316087300694004477085768524906098276061664379286123209568793893154205301388752712603498448387987614490471663594817089024102083440374374460435875735304435169315750416301376755331045377098579271719926005226096514545838344204863860429230232071556926607511876087441619090892760483670216819726012626092878865420986456914040565031077792148457850175503498904590059962350508269062203423353775576473539462364468046761927556465497534042845886954306326666333026983516714888204800950495449406735450525681516753581315784192027930428635778207824666932601144557454633744566154872568550823207284671246004728990353110714930441254853357758312251967384753078589920177809792870841079356685589651782338624519077140520704336418849008510463851914259238894617811745449093816465883360954950582933893278036931718054871539281602990923600227111006237544654900839404485720877322232904964520213844716756692959768894601551446532384525981083253228733603525933082736030767435679303510698961401525389689036398870364065558246820135494471498968673339909302589172836613174325267777477737228202910312854376929946623323075661563444808687591266471090056645568424926609769837073855276469780814057074646311383080930223919114450106299263838828899231156321383942592491874456783245785461535548986781153407465766877939021096660085843839507249971795316660639250614255418536824647137515775139671207786850350837420776803879097414718709132725790778638298374096796115526640897402847240683210431576268834818631125765666904583928668703613311747614942343995830821835947164699097500968320883574786903324496507970446537600386808680735926912847787005523566705413121256590203115736401762959661886439093266714974179372805418710019808001142197056987652369226718269986704236735120750322769451132827419515039129505605482175982950192039827292854236124276307813673187924827665251798118482750270631040291804628439715752415935666789360367225554922583201729259063381041502185806471882221328485582440865507793742180347124850814983952281158110402548622921375327019995566577220005871981665780809231394002349996295639179943297897958292293564913078896334601332894072673528504801839025279772235714180001847209035113461651645513938339363435565318541051287548792486867485510827407745979777294188209222551769749718660408426207506473642293691477625898867211088823441411620859468545948817012136245392816378916244571227187406676177901764119576900073567701904325736546908413601117340519010685423441584222616365703782265909446208875169759451311311281139705605687918731871668776302505203623062417799036469017075753900539354280550337598696140415045140365687297518825553446264518229702872164144934538777975688729823447498724724543979941286364874221768703919930262849716607693045424103633461345376271090677512158848168523408169809427187725388588426838381370145569853487168180222997534642869448093986540919728283553374019989214720753983693653897728091250015211067766413006060705154157434476266586752420054712206659267777164653525792115087729325163308141380980778961930560227743856029540696851118557141612503108978755406341743169991818994229038544567146521839365100524782013316658484509098445249413159249282303060657999475311721481004983555194793043713582276912897291151012770393207984075510693404433414565569483887852711203494541553561762725582954000204192582300029314234030784530626468289656650509742293766543079210235786656313431198342309210085015064400759121665465356199339898631241141009844562747988724183895116784501121183666678820062366018529239061146950717851958000165283493704637128253467735304824024337651476469147221534278329294883925970257777538416628035181469826577139547943251223739236097416388887594210398597191823882930580197191909924891598060968615555181951809478929241030846135819029419815696444324682212985353213571022386720413860798199907271890870749579138982661739887109481806873526288301889536215280400042135951178227439558050263353598136332901480888411002067758172006913076376860831960025858435031516672980044147454371048294037086549273161581135978239429815219280711566588144243349993199369567623839705179485550473461127293404970666327070793934837913738236436616227465233165610442858422441502525601086317080885547534902574265804310821601634992296737794730788653341287406848372946049374985844047328102433551898148153652535653897436156317712216694147381174582414059255852612708527655077549387813593963984832074749342212927914691597948401624660800725786106252501964495170310199573560193144658600515207771218082826155359692790868212838913840278587626297119851181854298550523507932078000156977736070431030602411335620525563413067205278123624884143899435896730656870479559570498730407381990496057337366366756138875350374543263916644735529917722387328482588993855623272023188730653735460857114424901402541852727862491449550162463848842684902181111648999077028379071017566697274248779820972822436091974607735868767327172408402979587621600917789450137269031432137382855505333753443801490628448562666899874240823638101645886242732078049021077396099606684771806307683923873987591382786878627724784231082279242871499796976878432675629171362758089223729233727213074915952263461418444272694091114486721314905390533874532629227936709246646385218878513943001366070679851131613992545369015072147394754750562322273859032318670403356612223687946417672918280880404310973649230826374897015527462465083357723650184640908919106885282944116728175880791055772703850733448146204808053398927605407000128700616369495041992642929150488528907464112467199085600529222528604612777249487285935161342953830997202532648579672445612777341749148544707758122463092048382287387057383559800888719504859557691407514674451849185182773623150605967850909357644464626390906016903425337210487994548416369641862900626540447771026451682537056647819887655717441759692901130630008938537801657994518983846685225564264209358133923229063746782998147596096730662520713957186712588193521352411452545580142829692765576926278598315110193340737089126402569048882629433761794729626660396412060120881425986103312706710403876448266256293137504486235920877776224402091680681127956574598156813970387652895190389419039087381589853697453521974775608580712139300821364685237423615605765645918681914309657683081533503144696103189623371777051344416231918458978453536960339089513451603246769260565082696242838665019779269159403834626781717914927577721508872432657617563657279889869353955260668544808899098406936166671223807231695073327144189762382684245533943849401991822414527197996394065844091910748112016800555498617086779897468667007417081005374353953109245517305041301024775048776412906552770010520724745320510748008973927860974288312826659989908121654199204557442069512907432127455110729220985816137390286260665062275691883840111648728164866268654712961354471903809777750673658651851006490443776
3630541039103207721050900110961908070330826025602398881546041216484431120327955507908936971645240792603099948064480827272439372425261511715461240417000990563024785735885450214662079661452383524656380144903623494276767588601674553719389872934933571142900130004502966026580595154957497958713660638588368987991067997613362383132069758683166553859854902701602989239887955575494078756334468565154203205735490830703755936785530339206397610252472882419440695804054256068732023906615777642621852307299312324029061044321042350232626716068409600485796477811572057885805716290252757863768679605872380097455701303111850322000712628534635618245338632344094868830300679263958174346265951306492381916564724846343588082978258520770252350828806309256343034785634917142143084490634276906363396322332900267366460321334240700733697196976426863261600584870672162975862188137188528536287829722538417208699845274905913081098771843919043818387060474907806911741194742283308774547922000781817856363824667053017109098713377493698627175521025395433095055292127521440419403129414123183178013760971782694751733174412802902266657669976588219190234178653333680099214326147862332866689151451069330260065832821222261092752821934260178076376673751009145277132479139387504214032107983971960383650228688720591061779549871532899299625459267481049557005636469825556389291392230655850378914502950812996715390040067488453868129255772944869179060158231601464029012129225099005141802231914329542660924816015405250054512176819244757561562080751476032924743980741616757545667642542561679344157738397415805860976413657115388069199997474112060378052987624343917885508503995052990416292878502228336337762933596599757267500675356485201247792897341008376381503060991426961922312192742952406671059866916577088676962307140275853409182286077579943792397923953910486151606172214887892021114870319105498305444469410431562231591784836463910070185722522390399843587392715439434145349660449821833665450532222630919965830123961083771451361410303483160308801631807385330601007168237735955819453801781182456802555966233738154041970545663949104505927439372080405185433670781917983887172581976178417508433133254277398779315770790416833090239300374463391661707047090509752931131008315457513583629070715828212753287680872407874688613298115109751035467776076007433047063125413990842683928199610980358387032596335025144965996502403928490995315670351168963092300456832895383933931791547576168414430131180822488087977387997746368180526126179327506460085227378010834563847032196532956243606076149933073250927184769349750055203273319869388235126315270667436809214679849448263784722455378548979058141917549687840532907030642076960542438338436277388482324529108944403638021609011234142413221538243325947291372990925470418727427503123356026111093211934748589007293280394756239735891322199096962576331627220293125676765011659405383951084562378616979440482606779558672966447133693639198833763019020749301839780714202307691498673916045118161952504986087976575034677841303571716770854595129422589698496223094862830211507933603429521035996303721817674308660028219558928586746506098030627506330179468307016735725456251296567518894485760969218637430854386556666364236283782442992677371690803297161432669331144407549560202137139920603545292627138280690875962097505040401079864187268686732165848170834539341280758247638378121894765444161384284373986151924723573513984405451502321781862209907747548556107745077029873102280881960811677845939451865852377960543733501613507785592567227244417409335698923212112340894032333553751191098448682497466732458928213641690117770330059004557374976530093812511694162800578704381529819709472746564695842096918835033548937391637361843566631746883329986956544349817803377523915058392427825731871853674372589255955491584336714021287132157122992368392869108654863472659266282780395719276216751337353800411417944749648262900496359311819059190840979707291310346721048656039421932101994438074289662207133431838900942299232173127131019436388123866833939793992502666040619169525064024498077161986665816534580883291109576687828029821042419812447757302477138944511658790469808755453099670296025932624285752223046524128537645954272304310044488313034145945308872856318180901529102643217533231735606221749494512791263053261919393558284750680301577847745598672008360791906737569931626302811601409428370188933846589938689392542360054738975432369916359185490937913780141017403500484351830879287839318768306307995270916442204197710589253402264594255194603589139578124434309037588698572254793258318430238989850020901581010141646911640042056379000641718563030213896461791147509765822892246566842724295874370633923652565790899913107718448953387483684914407139340240848980327217039773831010686058589105851494424095201549790442412935567809412028062347044416871715248923405750590376234326376412508653101870385054148227423025791888957812417811287222541301223810209383674947676080943449154046218734165587723320002724722427402099594937829790310431878599684766989021577431874590033106490193371270154829772759648495907064944606951204877706969569797745960864573387129557200625112056699116405619139581600464180511524146300279543377952425719151095985483235389440519607255244478686557791941333320609833196835055718039422796181021170741875109197669020541926850779271702996812250791594272395644861758059533567586527426525147511529296338032601805667581104242182745228481581570985464221765200805622652491487346115766103591119117377454065847924014092252061220278831796045775053034424844730606576867608683270317148566281714689374288930352283966131751702761507865036648454120883248789795298724275932682491202946847974395824470745068863800007509587349000380431350943891330288220275217374748091820761300539585555804285700258425287582589901494911122017467999467606515091658738445229515790253944643646311121040796807504259304472975841587790005972831396370137676383142567643959498727591249644824011131062010556928341264350750967487601351923592720961398489083007195854113220733262309233412692733074084880037910643656972819869090307301423569821902431201608587238341861102915660323196526209932004118488181326168031469635062430390375669266829678513533431205526251456629721568278675190512990923043062347018214413116836373928524374856720998641648649995568466518355827850988250286101455139517118483872403345364993754460181528649478158010925188963974597597177634737602058523309491360161557619033460853916260725105895240865807408129439060257059187219383710308623267044820064717410741121051754884463900275063050509415501472778591418347851552606097561419263920627408064335918543960938021574486532006678955539130823913346485397275565039575346004099834954612790227879667561867899998825560655655207265232966307459290297774446429914888280592459258772326651144826854047943963377306601539987270232345996989519216019801167364771502287891461806095719382258504861724759026837948386626154198645970342985447184354447190224395423429390404775925208400343916742768243477827601572907713074745751816957520247071996240454509706561088229447585591267318238348300188656525685856625506151513694041309265968135375392712588437577151296367648227666253057733162167389472328587241635932582524720265260999826790288724008318183189621583134127391266806656436393841771504380085496903230065991993980604906787291164968446192419274774452454720473943051755547925254795567718839223496274107672419586928996651035240813901452944009224880724108154944531523391593326385110315469650722309341043708809229264613869350140834236637194266327819695454667171985780482433394788268762098356350315369276826453926673664580559234570505864348137013326748323520177243335071486343844382763165809098257570181464829686117536042723986303505488501074804340635602108841453753364335828709893508271189016168219330502172278339405133933852694744271065123500820278625520773735835791444449963602458753424204451196518649050712097676672283199438676581855208152621451794925129943666425339854328066801883045205258995718166330451224481374120587964250877283050563188454118862011719842171918683010672481921219854780665700134831470173234695687029745758675695583034061048833179690123476654502917173072048489792882826039569638145606098074232051669844942749859140577623124253335230629779894469801816964470592720406760609562069330012403673528996888840419643948163903671806016815296017106081209669565263674346663541447579724383695729764518417084921231895137075333162793877475045909632672797005910347946283164974623535116062788544605220144754961043827814130594700718025107450295803819826839237623204638762533049355419133853127859089184658646101551026462909967815680722770476008632458517674257309682211347870323001475747105298340236613394539495392638087466412616433131753014938610957675030062874562459112823349022177842380675178760033669886950750116380493391768137393751160856960493124017715689851072515711409297490080569408643420974994216477606069027023680021385521321192172553463311042951469591880685284938611687424
3898263757433533582652076681986041565957341420156990473846806235767171938743302425252988409835397129568858246289060913088537996677315599266356721286653164216949020393258825568552452959321184774912090590026200994953989991409243644765043666332283805997811350240872142954790680724689626500665482667794880102350563447465399372037215415583703093637274843602161721390289666975261981825026223831219336991393073186095126103214924043226816082501731333279587785772474363506203392716701230753167207838698172128748643034736620854720027434422424233204730396178172909741738613519122509649673325554081010517063382476402495040760032507062614095910117582590813820086887797821321427582269610144928313201196823470571083998921738656435392644119210398243613853740423084930293582809959759402359710373976620268292150781853053723660838166545155865161109601158502332379727533863055972862429744475279814003742360533995256540084455203849477417890847052325814825252797458518489888338290544529198531127863105617699295426859498003284512449739913958442652754634749857712035037241168428678066246612402941963194361205855313117232294740944251871770233849974372369350362891524936594993173958320083429423901481693538256535136648204839731698293500984461481490549213640767889017582522021275015507196336330243975673033270564958700969988163150702806036773624081391413879252593561243841502126749538459329376088910493498135555304962561404353683765436905328370427581872552281512361544107142963214873827225475245645292708004168106384286589460875325166284898656614524449956050937801430175211499053770556084271594704821169587363890643508648476490728744500412465193692124247159484906244834681193041923795052399603903566363431078504270216812221565179084055153616570518034457242040133257280284173589516202739032611254448048018702732006201430494353466824200085137333152351883671845134266927369959799798916853715468990257718873473720300508933185719949348768142841757680250980755625529172356154965460250498498082908454976120193774983927982474402103257067391038341550368453060661470831963739808261300043977651045896415859418426255484002515361147563027028938466607896392122237415298373891338564938527882482869967277889200468092082617102980560205184067715696617835202061955251598518029790654929838370832375176456669142640115074748773706037009058577075783797511438125159282542738120535330140442666077936225614241653502468814562686877823338646882962915372875786352746400217347882217852241396974655612179803113059455893259533684003445267879823695240320090996347356807692022913121776542712035550376165065426619918218063385247092365348670629125507296930910349122624149841032571921791247227104600659432524424727104047606761213770920097790878967731645379058676881558211137384565848256189474558471166694740650055462431766031437996477916852016835518942117436194009004889397226563830063749570060640405590578830898038551203719057864786657974101794293643758095426012436131780010553663376827086049204172699827608565679015424195508041510410105131198592147007848573679632880348803013047727529666944642988940341106834417817306572637040815522498207618557696360676456218935683326528786511538448547326341816377358499378772676919604525116827609800262899756021294515715541958133419722809096319330736820811856169664141840541316492065903372077209409245135700329927929449184942110157269880357285458941874506559856922275817004979784066014911868658588918393800520703705017051646530291659383015724518163696539537076447331612756930627490799418040000535626091628441792394792740364055424043242917467990124609443804468068544981205972220851915226804689769585200690029497489010637581060119951380121137420511695646326298180620525240416974666247498361614708877937228158503252459237837434813055388616138910262266255889158419351961389694219098581926043292452396582353143383220110118296417976239225320327291604134708974321891057436934400324708987087854421818549165210491352831981373537557644853957671038331203128517521280799661975742829402631316914081171939696307373009444696606836092712207619507694054959317285175207459381346056404306017524290236700527119856656347338372481430791392830671122888581383298944686270011381186437453504847301690289186029654636022419606564622550230402383966841598153384127173485569823061211615361024404510287050709242482122073262479380246518506852257068316353406054235059952024836227711981667305225720589004013053052816948396517885682440167324644062634239268194011013043351004050354052818346066048411153198648537547977194803925830224729062945791166192575132759677205920593954200173766759057505929734457629717478929301718313254453268345589053098984336060362720836297030773034189012485181784139444706581262399321218982734600875301723115857661167710610236805673812365783445086141130633856881812040837383512696053811261719616454232397774153755379203701193180851905387631726930999654691854820477617597385565059623456479566533381893966964550541630119390691387406453449054140819713390735516843883925929280069627061328429092438000498206525649460651555372087531807016527058258041399983166468580325243682612450489594108448108726749804386778443387127059107359645678348872911541759964500668557818783658279248429109189868505008616529758976905809535051846688479213862602009840110833687800499740663579089105423753829279537078589906054996412930104310664982005230311019767383452350511877910052563520326690273449585236783137870898527679435646434283202072536935438602957110146434717830964907212755536341927767491262011227301191294137625139766037504816432482421858641275386492938880067571958294472222354092908620160038313228416342414779470348360261297638247291994796737974537496046600596638828913037799317116102719078477865201644880822227634558017602993061052669277998641460084025685958507652143719909986778893347514812598839656654631475126194872922649609978848428801181003719664383264071944863820113977829942503000273353784438854408697142238877982938607770757223434068454745889507520072685870862826272503492986478441519599901772999304356838215047258832233881520767532647689386736586439962513026222727363669252025924660467782551061657160871628449716195360312676199312833593467563116197018161011939602401040695352548361235003163786441704454995107600276118924254129335685239364966369403701395033058505163161413251559807887115343740585343813379277156302316077750124064767098290559285280097268951315910339662683449943198934030811024325722754713659530775158595704973079769572111812542085374316643334234766549080171385637616324657260640560898553262668749685544186041470653728509916088045177543500301568983929725255971097687569192576503149120272470871864359392358526108041776036340520740285841903001234243339473174460029836224264203873268262264894593012889900393671791788555356225858164069297027901883170077837250247100307159571005159886019124058074429621134686538390544787140476060094606624871892151325563579026209820751313703552048098400249741210543437443653073824015359382526327099665184408388543217311250325988432200244555365399390684112561158712470439196820546151892191281920608015902546767841348607642911981065163488756832570591867601999434544073460049534200893342588726803853095931016725400573685763182564729821455982850900565336494792177294995101123662711109790081488680003324157190390416544205581747182649937354863646102504296990720820602549883986131733237135995492304317094127069077767332839101756864128431382499857629541946999633017576156201762467422572470959797790640350634996254886331063415896751988084538975676573598183215349344509960546698620674731717914010128468597769174901740618838560933637271633278467794417711214989607582533197570678542859493867467778823387865207691375052885497214061891500917230558720275815875598878628454057219021190628900194982077000817155086373157188727685669079949068089267512622416865580869229314765461298106388559585099287802028827016130556031467554888541007616870047298595237672786471533176668916681727476258216259612809840369147296505695428031810982969149404791975006112742247747593369248454832105594084517664102266516687183767502876002197981327209268372710668088275557282204697631177207108797010988716410618127076252353176705199795736164701491432192936608227380098735305028846655387850002199437483069331748810559241554625409329346889467020354808619880532606532515865944797421970677158842528163621976263039325636313837433418332071379525289869430616507418839562725443504733928519308223853645166728738365095642356086431411459998255625986936088309492725259052307915784316739580345188308849310270410714438150735904248621086517728153706388551476605733047037727160309173550143339275169765067957655523636114047482449888383357217190190315069209242857255754371893281543510473015779135073723388605759909833857835669422930816208057421505523262514577683377720373578965767378049728364568861852930210668793324611005828372228130603252497066430248977660670162982922240253134108891376237276697557732503795388203290148390115595710546311477354848670607773212078433116338053303066502608219944641282363621376
4185728837339775907802095573903560213570852082670117317738894024167217236827849813874767436627518853667630186967857496066792262045606790979910927748990595401678372872070928670075347880215726742055137589787969264112512009453505601590426037727273803937752099215536894127065695059529881392703292573558460618959200683509226098619694276209763384436530284958699857068589442906370363242658506424365719045209070703803272139576004806195816346137943484953576491063457872064389866210619094771950651521710873126988530809642994636143521266766774182663048581020594009093481787811253662390697837584584754876354819423822051983216631650432704141550640593185531076824502742516008895742470081256784231365896356216297006054659441698212247835852743846449864335666911105744760344461861237427290865321065378380231383345389924005213580330315011437022387877011842807477662902833139486515399814904740870398759065025837680764698212044627629704132928346869343852753180004212207670429912418324734852071352508248253088155150975977771070388734443539341274168160140766003460967639240116500000760430435355926526454267689923386588129986847088487109985002978024941121460346207899560992319873555906357341795246149922376585817544732710939141396281434401466793404551416403793914368625265644001956325279297353632804174371549104266064185659559845217835843522196243541196647595567180618083260475928616478474098488739461428211752403376934022725947419410884199781859419743622286444562917060136751103527174942649526024649306294862151689927506459448280639850387208429147788406853791818186140234579769870967420079809743424226549431291297509974921976201209102849129411494783579652142131797781162675331364168565726272292867175533131462294388830248887524600029960856624658943013918182164875193607788339754806562672003833975192841457578121903290416313168540086756315389501981463642811913295497096158242763815732788850614761293282897651534290047129069166933917848001434958696854334253954490908210239946369754240802627671081173307184688402586704547660679881344430110227610661413030337635543483583898577831843249256325279954468586772882863664466603057797013689919325764880350433263521486319848518637376412014447419781064980510846589246847942551256155124791599865000793412392857771665004304162519244322742920220905782182913335930644620883417918061072196680969578233371668327970987497937241441084441946169046711353408516853451657170534896788473804515276829286963832227178809111495133831040075874798793778410577338391276041003251298944217450507325761412850263988236270049912985169879092034958613747363476258209142194209022827647065955997292449729931905280247403254316759623818715319144866236150850681580731031402315066620406841663960236753375414051831635117830945588832418323354708105702014425178218876797497932647934137475681104016404895048816895726361158846782366296311188145076499636127819706927911104247471991798696775297571503976205366529840423597492650218820972898629764116314707077442143123900906870209820099818537098055461271604935638160283469818567400596097503446562756759599253469973613687234566653132858070484695221574738485080837139550899974376143953713406817405890789336336585164497987424866240997018864157596290840494561663559459756145602687274709728526613485709871813242483604440829127257550317552124614941933499912834469999774216755311155054694675888195093460372925442652680736903461982017210426168987881052721698502346521392545988566986047638637597906018664814608652945028580185285814488360603435510344408680084136607114220443814085140459295049285105077161178012131478235043269245146146332110866289522641284948553112318331247653701951690441050253682587434854883096619258307627364223483360898698380126237189095825312720415443405514521217071651191985721829342378087972075703019931920547845617166993083157940801739507230388432292031900451610473494455795210364003488355797556467141622707972999220064905255129914377686790329126039245556242478090632723319489719963328909716004645228417549397702180622847568842587131084759809517761750797057838916436889396605973587578755417014532426178766424710707363060215731436352804932281613402904079901505334634513523275852004710669776935884635388209934558409393694956686972768933246060190955923876014504853120289704483906360179493102623527732762607389444592122516412042335516240508286351197299003050893915245286996197636500144444742542106874229956951523318904740438509390989821286790034028515963658316683062571021255498161258548518963245622045463937460315041697520659170643306214913953224619910702758306417956736402151546267041436820974937883892370983562430229994068008040028476154252228936293548882841972368379228021860124626597861873461629591709492869782032424874851758468728763968426591560539820796132838670071515797014728219764431813153894660309787976906310562348147907305913393357315993786716984286764791117515161491372202352882829670191274258390758913554388282831716663112241910112327898738934895955758484238511911325578557534649871586076968207830547316769043261857183579554664617293662265090123941761679343635485438733269077117665012769673806471024726073610652553902687286374546565692157774664036108383039996453123106491790226702152909620836224570888105048379954143217806363161797856030878916367431786554926099555139651638381504316229729577594748640757075480492733027387043680431223171694452330363834255711120805147490191441490096816424186998349942061629431718292966341525926389365215779179242401721020745583150614885657879808742315575997110859737540254124600640043674004998848494434953195179233156204271957750358533147817293567275962710355763092135853873049602262374842698539469553647942029956561469713634464426309144019706198553354684422125240302134321320073531254861877234036470627024350872644933303939194730755326294319784827662020746896273219877738149811113031414003131577313360514224288103219553799683745305640790443018024986638983391100678349264910971160289113941587793434951272206339712856307064562339559279535633021605672569133932530279961107010842611897747944722917938708824385109551499983731579015228400151109720934003032040217257529612316896376963761448559888522470152571549489258335705220510223566085714459928215726073600440683189729824662211175372745796742837369546672430577205615591182188128254140779632606353471147598965800815286403089893844980657609581960747944029529318253692408956787992461204512768329869272276623119821098701458809920764549382289502924441536360542677859037130884826582475367258679878623528745847141555449663215039267595659219094395155640752764039376922638102464573529961853151230866529884165273322332726963301750878145358250942507534542575485200397669459761024784350166304176330694585777543782651441862719324790928765618291469398057159879467772391650518922701053058253137146928074279191055465934520478030137889425806364999119989156787273399709584097906508994316529952429244895594655171570676740228626448171404112015639182936878551977948711004906987409332188015124895959475294858610300747413793590922124112928241647629239867481500929275188225808902518406331874184221572747274196590360651220362107275964896809920678537378894322045383577983217600100676400206913453016876906119119997762479097996557341362038693067039091918949659425951586048987811066354763902121606604872521132295077976201005404888897026637393454818654284988558691482257477950323828335962615399722378839335893810272218936893782082904238810884686455897283622846018989343785053543740560310393340218820436954818028700044649075361519145942055769383488735389971329423580214141570545503642710496346495396189969992846605178418826997899881109503330257888197386713426100092747527615120971667095053060247572675878353370241773733829084964813148848060321353697030870877698552180720527002474011006165861592933191344463177449616564914197270293827136908537165345789910536546430161398021637192505651383620880500655362173782842138217335937757359923136491261106557192996841942087828413821583115971763117051474694235283337454876527417629849583625907010738360795907141400606674352913606813386972161823135941730003845888479395620652219864577363589890810954775868693628225469024772402155840734318988784247635538958176909343825923216073634440513957346514870180372449488800028014844833390428959710486920082650039545825044823617334681445743029697901208506267177292567050713919178831239160549292465580442198078433360749680998531152010120414324044180119981961043007631498813270372099645356572957875902365391953030032665474555632859795334385697612903890646550732837044367333750892733749963106356770203754922407236096850003715208533130783366957924712411663464574771621453720336996712716209615828351141342389629359103809547418663208765333772666457874470659065469275202125753009462491082049428378438762021048339264077373966833468339687954888640111098066812896876706699569304148214404246845488631027183898046556532663464706047503233863660207099566439797640938883738028336043929347052188846733633383309088572522167129906822365597315435605398825554243851303850840752309550813847511629824
4494392116574610290994677932545535543813396268480410559042947625252007916875775433147953294980236502531470326712328337198830349277935806933556306918733376065444148749009557607580598250337367945499860944229897890904106386252512347845921354686375788787540321471519553839290407181047403429104893658738315675633421123493243151960314414459831143013293240402794149197366521533429975047714699297214165210674326038846689164316721987237462344671170793142969776837996955297576620392106114989663156602910208512005248698626265849434960850760946693488730960785664392887507721355236475182068096760927788983530118279325319147881843455471742134200939018895474108838225702642141740914745659314087712961255564918640485806869072627860076530408577773091853256331537387128235850705347183510076361108379085005239811095322198992579415253442962874969279887898183765702346604545189959897468801345078848429311165817377558472216773010337240519312270821628793958138386919523143547114205024212251824379464220353454315689344603941752092573632110457557315483804352270185313369705762656664683312505962684186637724989641962603535395828826288801238875785710269932197249437680941557828692791023368258105375019035546630093670623012502636258435837134191567303025634207751193198134267501105075195244273730049928060180424521188920209940011170431241356735956101579025872707531949518831398167487290700751393235248054752774705732083838332897089416234246335806126554135467098606214035461446911952819335281656487597466442415101379968584107443213539778887896841848284981321089541244528175462586997469974752802281069139477301020975580880463687130916983970853098627811110455487300940378103797944763851018766764006391496463863246672748755764287556666864634881040624840763776849676566304477359116779792534257711370607710427516732338402751234933403213820943452170844329843128028386022548270836903015654977854306124597065957312374177472363744993749412690725785437579215527168525035924146774280773079615492722096951148659539571078916599630265094459154273348874871958796315726747473612100124307294689315992169335738573349635621737312217519769427694354362942901166947259632822615971563833384265195805394543210968286867814392836240868522089296085632997494920680058924105680069891308320157238519314205834203627841081857493228066956095092723149646693178203859911021020811192820398598335116329862478397233301662028189810369503359923066112819133307605036452778543521164637640956869524604366865078886904852464630425132217313961954329839658733319560365688421622659493610327146350139737590926141080333689605534188470179313085358408215398227840836534034445391371408077941553613352248661232115350792640629149992137340911323057455677157790339859675041155240768930432322254440197674880849906080404065769365172261843776708837621950605004584268908317932245222659240835582897834518037299630501617338831221429259920705584534723862845716330932569449834002856339406862504400072550830569629290022941501735358436012326417738073223496691018092677737838934442999520826777240037509782992420632558580973520431929887797192402609113984450338935357211297743853293694857668325879328194070946805009375436124486797794432459409061904940564162613762985664782707123702710808651018374639013648412978710796689115695557171699722390367173850195740197499123049330283110724827630847087019161315974681051279419719991296685009896812932387380485814722386506379635444436714287622160087349767798744974061627250587061736082516859377959420279048410057941102585543576244354973313987994435679025295608059663973558621582704020734747567911660638206326309211631339932152942598363164981561862491881653960454056663864804149340563351470730648758959173635367565018677902591269676384382065789280240005933670105214689574523138994701768676769026426704008724866832247292865705391036543800866418463517746833457098653547440619436546708809529516829255771642032778747525303068767030379620861239148701353705419143693011316017651156226662673996630394149760033956123898840830753804643005075009877096473494062698266337791633129201597957489222636585115064681792334010938833596342506261305963600675504256056897073650484078356192923834879786692091158548809899455311483227667136924756892671137952714158910250802006236964291446231958700970593824329891406405853091106617338114692566803736272902428064990073848892415409248397385975866700731280154072361324372231938612572570128019309680691633322539873911958242800798831598668041234914492421365698400022344093943175111059134860600486931888855568870868592244138454064624696825764367772497533398813193463455734391261737294639574997853026570092132946840997807293654121414976895901714581112219904002089430507122510747351814526152114753978312266298867820269984723846832317033606272806339900323582331408033554133865379490045264892147376651780326166057012434372969513958912922161679850165873499727847400548817281501188352497251088740780584147198011955334901332145293255002878031255000786338169735030712452978222543896318200056847865982958825898298721441924213874693881158864157841205613255351738288926110900588347118293432292844845221092523379060339057729765373415976619233311463543118217067056456529934861041079044543169903183836176019011214551100206775044633660155237053885327983509660691065026321541238124920344852372382639673334938348022967329943579571606235393894674926266415885913977360941270403414707180494765833603899705325351779548306425283343845920655144606740992889500959362069554504292084894047843305811745072554748433264794633737172214512061965788848700314240493146377816064051888506920908036101802413670358911973380751461831793445744375676890170842852174526407129091820953258438627502368293887598025578785220170357141478452017267217841263716400929338394853583550198409762390130017335292412952978086600141343812298246745913875617972569761820641021641536444738112765053052463969338555307630179819087942214031317655866147738377014565371260229570984306778979804369955707645967397407252240088164716473613506273128634815355740669690881333876011979659037082111533300163208267414467915978211466154854427379807399244393319456123663157181820060799677576875353766607733839102513787327796969662496659584546497262779752095426371946640000002811317915951682987456112406108738482130507918800997142747056275496795850098754286759481026309536141853075904546432014410993826516720043196181928215476206591982776897803266095853941237277073388414025191022728277604166143189433131416554206943800000428590787275404812705326364882342198934718520701967419787224392831482594465761592682184736943032210077443358853022778472898374129294580082184469603050293398705500457759273488007136759999131072897356057354222149632137631719704319424018741906205401060271449052770115110076905239346077027670558607543717489501733864706473346089140477701882645432184363575639024964855552068988920190849899567529549029836504472010645138494608573331387967459539474204915876772732812513653267281456732857701611241378181271145375337233184422046429716650013076231386969952167838185291043105094057635603523374865551808359735904583541806886875068426459179435006978219660656010668042866168456253573803346307321002861591925228452479711959820667672360225444698225434666070652378708836356667476200048939933125608155149223353411345726268128069062332388296134079262810729811434782643441189030828523212408012020488828119383455108396148567525568512002297827670467956116598130914288823244873840012500756632326455993653010463751284008815104343315724470290379618591027174745160127550550221081166562979887742680551753756322612651031302712621030624380796483276736665462511901249565179263450081707506002793299472950362098478963054287010576570183949879949449956932194369446263299788312344799070680528524340686036297877697090356607473327630384344904455586958511584580501114965924870417090178049260308182582188126142710547257246957207953259721775858193897393542398228338113293075927660614978768749093137087249255813465511124461798775940078035415915606640244191884448768121927364595107767425742113325226271475894224955106873197151473132045011310766840136726627040331370120547315420222762280867992993914620275673962321170415033598651288175934353522289932510850362466676058705076750596322913452009651910590481615295341960737497686884215606315213792635218874011077743110612593323634377452326675864081266836924428426133901801224491306331833812482780980480167960135934925018613969697415956691455614764743431914919778178746571461870121389601006231190816350978609988874391869479523923184984713749867700325565031745752224433328662034524157430363643574786904211762986263411959574967326674665203155206232744993906907265873025417459249146728075468793929925421382273031683821753288499439114971488474713753744434023486885222198604782370193581257200277883799302796272958149770000902553759118954708564650514500759081221208850391432271939648301184171631069952974665078087306218677505172614097394483707493641230946275484227951141591919637508014498996396880456325330295479198071603839781579973318389303481311595268434558976
4825816789022042685941796257583992297871028024952949741935634277474559440328635495002673432818889186179521566005971352070759149900247876291748595797624594986187943647888840578996667792328454073160153282003772836713128200264821132958602066341500087402172293250375769791065884672280537188430943204459712612242421952499764153661377174995591066231098340196966684455708464827840378384007668255002255871946795110921938879654472780277257539098539607644859060958903803287666383159575615110554658916406450995900841635236592987481204233264650690633358905279271758270885167542055364813324530308287096075462735160178509671228776328360691179634569044661596834968730986878654892156334432727991129811006991605891446830513709772626951790540497763325504634993764502779266084238551171375372114355793620416977244322906695813983183799085269237333798530798311362872426284244558957966795003739358616136308106248317430530624691175513479490333064897597679875531691215386521362492236439007627437056533580105055961628948692400974481635828596587667066512123527665727319195599451938278222816352514383394496347257588542032859884765805931116593003945857978372529830938998508518340382076969082260081768157143262559433831185608660955460941431151433786241369505192987561122741081783540485455798742600459093366406910794475717834811450524719215960965900190893392520704177174014625947816828061013843039142956507402696181593830955892486039994078454871873786836612251185549424116170774688919387635007793390734336995657581920872384562223488082623679647046490017047115512613683222913140590206422094076307870386538492467604859382474048605385716129161442568956677798867940405320558500421666538188642154883414800353071198072568959180108076635155982593418262583534621407307700690113826458944754163442075457493141862982905635971556355357615644885335561831734779150345817923064731627085456462250540476475962264479224866052894787089675557141059362981468652739578945024631053627462858883059953574636436374083105431200589174050453557630878568128104602963015493364804408892917717903648255944341336211666744272272804135595542219595669297161981351972168168668706849679069948525941758482590453004243801485866991905147602273057437803470252345069863634924783561741789596710487005540877432009254531494601529244945500415798086772261431672778003828665288732969584700188588152138590495383391171278723223405881880128380066404364651657921507651005979806984912392923188478700624900086188678705756074965929105999823168167362459857889508726732795852074321932392848795444400069015358713984495762400572878826405696120022330105239339804930938278048187401739983473359529571057297942194634232012929624138489794920020127134088633841965715590560935330507382737303290390524930806038409950347122760825001752236214123386506342406396025113065055525841259323785340893793419385254064824041047531005289332636346661725601434228509705300591828285283762124742071438724187084687623591741926461148548712873058209918622932377662654265464697242896671731248795271371287042729523669781759561582808125908178684521359524281665563472712456452408687614565868670150392892120360324172208616696258996364407817739117885101945327713086010692091939795975553934475731389636510662342337425459449042409856407846466204005464247894586237141099726489279634276836692828621388340165746070382431349881040994364894369819001663805024166687680061969808414597420706141340993057398564528251758278795010939002200893359764332453456739301848267099241653328408028799913625174772675588096778749632793859467847299448337172695795922109138382075861673749030364536664899592085036954313936832533764181715160600870192315634762670457549696715704890195735409411148159440772280173593805196844228796856124433469764551128989761787492695342259194376603435020040862113364636350426614310260684693618211791398200941364822941326449334007972961245487515378341091982083788805443750920156254403210708630877515975374426798758925910033452066513433168682525737009859289268202268022350411111345099265492319938082362251583273482534806859178188288087751454589152374148990580801305680310122699138169282401746085978666923572018295711641733112777137511734356896983496886954472334470402758489020718866446216693279897502926738918548443639737414520344701262672835983299113176436145982320857479097294717879085635681214884531232436404442501292080678294559131224066886488658276418495976716919700781627367083766691945283144526956059036764606097822658566084299576551381571073873388186172196100038037083152573534503543791964062700533476975890335845143242446248318547142597784715837588532907464155122680779504833291190678391548023583488679953234753123365139050830948412308404923838969681321140499020267397393984269257320062471597569835434028713810668660921003337421482740234436668899352744093392567857487482897620264856983419274312582214636622099052145221151714151042371458945668881807439777953339010511607605997877846095103487237717012641687382529273553444180652113473885280350906561152771013436731311049762636937707657919615475579915397158034608640017535839953231922161319624014507941533757339726256693569325794891865905199571143711845876929332424897257041209129945428968295434752215960498586515662955838160188553677229413582627666880357391218355851904992045261865099699515470310936495332862748781420864733727734746028946305617801613826719216366903283849958631786039839723516410347088626731763109105733213844437194657337938019214245025836400743790555178439868305999062897778014448492954827947922594882865014363230212300685147144002335441960285651215213751575596065892418420207173342013712876953287521117936275624810977045286688475711238350726957655293833134635286449496198637554963763498009960867822499125716981980283845313352583103203319014126436060168184804410748495057491916938065725162828233092959629352950994238024540651426606816335576402665748009430131860449539710396395477089300585412933121772458410419096304196078207427036237340003359412326991779536595891100351903478820614096744582533269976195544868439603582092884945374630075537153982742745490544091923523926827659309269937633371104606232910047954006171722836700006042574002658424904455676990496804107081827656218038183748138325210934671687664274378629626917838786820895254884225600141802978779826565072012575882576082240667007992944206482993325547244461758135803845654796936802545678827173437922487094676410642832340530919569701702701573457535875790692686251075704587267108053242617958709277951395853678689153932595505544055658076335521345112257710908011456168645605919158075714091750171589339305213391531226071037834804223174250758822296051777997661203300347277267927625149698917236627884057800971105047212389701755572679024513344554224253107399641044455650983937011970613314935484070362891376918292571052497915237136963119850799940298906849985808631345536375083137001513599271855989149194078733560867058423933623694882272631658561232787323292513363573060084114350873715709260502056312631882273883765374554656519256643588210096540491166273887327211254594526317137214054529354773353474681278345822140106968997632351089188087682246306705445931267805629906108976542123681326518166114933338470182263242732458419417902854041483707781539533197984764714525650456517137653060728521619202075675294982417744545940586748303367258416210968394501159572612083946690610745317318259093599676529280843511398277469891100714313161674125934134188033762899268733764435624906745227774306222080715878439389573967162216342148200611026021318353828644434970528200446587295037381835540141058289404712693640363826455745853243382495286526348723941395332469415994789223867265566529930226471063960461081269415538745755993760978359621503424553095826571760625498961310986271066015619009596622025813405802718996518862841198484318755247667822841152597542017545868208610048551097525158767923708475616107316034545050917680400405342496280733011060495030134256025993136800780264877925463361945063079793061675871902835998866704449821822103962310399414017517791342855864035672284121315443161947245837134362772141646134365089003294923417767125257907653126917655574337613315257777599100505105275069543132040795253013237118105977385655284416791037367986029890491120188245288852782954980108082508646645686775626017151510838541934163576654097680419880812093392599712689398754765717986155395537709946328434464988283670728732885987080135218573283941342718054334789797774784137424588557012536943476345775435322741675214770591971599062914192840748796874438609232825713947932281375953900824306257591017301897715099683964429519771341811635277570939651671126162901937439682084058869825201695443778284471493857355264141055624478247385872449398250138970446306196560666871385978286431742834123823435418226466978562175189277294699172198439508257523434398426485609705949589719574443061747596265362583505255024938504239601644941984831993807074106378611106734566610489327271812095784466583622504803717859084441403490555790055239274302770837355849084712488870293091461189532477442152758663462113062215878692979525812224
5181681321334351289809003471454609723117988948268097770086297239692455567054888235835313456631295536422275077730588074464203106678581572741628493401180167487730697419293377432537098165256807483615212429138317420574008438498186326336715899203691310743367899716921367740863181912188146240405672654396976754784982877454738121922183406231733143413084337326463527034704854236485173866894566142113019344058862213355604974256710092853253735749417234048835312336940558782636098957245604034728921116600126217705186220554082025923677399142107507283522506201208487117467325891152124123644500677163468855730598894919005139986826616102031477121533819468880448331952192816406970570465826951358491579091422443662571265794809588267088487135020014261047652498658925840662234671639585869928642747126426954088786885771480545119468477757066522425881731307899018890564877750295197602805798749185741080315298629054154788946243762232547604536815470656906007721491095413900312777379139859314634177527557419252899861541380181037279289109101051401811901456834709112513999713168297607194386308765821012241819465700518963863640604866273307148928722464742942672732166851891269762339304181690777546240130196125369877390304543526164514214013041710933854034196763895935889243497033991934031154813256723450148632056722665646391659777582497768033777438472771819474728860963245629867886569780127387114099061517011240500542395277727661508477778749333227446175731228568718001092646795509973335868176314329582231705148052091146937871071289589478612489811374403701960904452511231128954170896680195807394407934397425948376302624601198582211515060072026934462788996736767465932195788941464997834438283467808315079702512220305478595830790723364167274369175661355416757032017468248878789646801450685888220074320611450023178387978933120478394830116477013271682849129488767483416607337225825649482476197128814017093317781790929169759884292857305700000229391418093422743072448993786589351397252585447329167939953281627129619587470997868672464379302048304060385784983407923291103780734592095908822512300075051753338149100829137662493635503880320581846661076944495698381153830815070864145253763019148128734109626421453899239323864702282735592786795407204389845778596142717257759840406052945527278892164657124397051796106558262249180024978070050609625410812502987786462079659302026015554312686290991102297596166666263622632301263674021116192859147773257549089015794130158361989081668487232997456130939472265482504916937061890705989778825916615250702150176673020690277149568006787640261741555995831515902499647929800678702349860702879900638110628414916689409000700963513123294402246206096461002808345425668222279140395203674135884925039985818147865123911521149472514145469026360153126249308631699588377083012217271252278950978072920778278515763536409919658267580073426812315921672693593257558271485536043771159937982535379101402667316154012873229731425622407455667507829913169802776197078979420155247681444225195643348240319232484780730487964683842640193583364724154669437235885142561967871881178047218729873432710164794031737218301950922013898570199957988732728618899059994100385202126926721789410301812228979141014348306042361655578909499636292852832212574939152533843183287501121185993180965686500230954463551507931648921781900647933264215176051140308135402216785396353041429103309628067895120020382734707571479691422471371546742465480455567744175927250542842538717034363059044886378921861620507859863786937612731471323307903155155408881006028663131749577386910537228173438544619942976781848983484164782243542432451203185586494060703992031296284220453787584200325922167778244488655522512990652177648082233649027160201272209620514764791637979782726099027907083473691650704715243084151840136639412003776027643809498414499888514211789099582034456906687341306117950411076531568014198994422712787954242410254967911497741650966723987676113853890042920178722914703051043274861783910619242183128467255403193845553978790783868308122706243770957027755660461699033466779718909209640832667593988413342757752032636421113306821943143594647604687520198789572547034521337348469778034040045296816929371788331914632590649449173110141605687325601984773993306092850348119004642517434023960423319648981206587469262849971103841054821908547152652514901232870093040481064267157130836384931396332893034292057376686891178798794820841208599774431800829415997987311210117623837276580365088708077844846450576080585418540528407043883977231962045647369226521181341154493234336686685508891513741922933459142773999085544585136046203955261514899002147938161026130151496338518518871781422452851263881930753453436387902460129178292128245549515899661969230047122829066313822835441358636955643433030334283842216476475087862244562159342381943659588446900475749357148373293886109834959080872324933266847431613863622051960803949773216037088724036434698595347695855386986749716468554767918670116015585830904557290733771025743890621884386524483488552543994993375966127805816310152496936258588324776755318796521355336331959604941963531058522845336949457441979812398603866923522300980917011523788024734353057920879978281717353467664234749746770897569661809310217806661005748979335018678994705540033384965589793299593007882799646875535018216616610850092225589297562992119751700445111317649385232644323618486795241396166140015415156618479507100989890708045644813092553150050500824504060232627391270669669203223938150890781023179368110408584040340546868161006687644906344109458317710283250696851430166663393678549542284448762137979897512110505721611415705151278147828259486829964764008315238765963645934930047044532206154581691672257835752384353119485757539285108104493054136345112001082001221864360498657080334288286355758335186768217883999931633979801540335749960435824953005102994802689678729969878984399602228601457442595215821465550603361973606567541070099155868089356236395552115301519552237792630346860997219883220791549038640511391844924640927712179984073348018668695660632521497199060065784588014388249699573440386082942822133128791326603718062054932935900718628964431269438005877264338930869108108732944841201261119373201916294179122753796270946242227199717099015232292333304723754189083684270384077474579095652363867800138966491399281878352924066542078984860939596137271978125027207387999242063654309853407809847858707168801394693211964557816935807158689749005617351776293817721519656793254767274992802072601871177076434660404833925091769079268432917159417584509221988761578978332594650164534719731964834472518315697274023079611236254504105651808165749705327098344928225988444481863837483736143304689437433761844610540347499293993216436576958472019075774599921934436175177513108034395328966118964207558711262920835318129328535755639346309856533935899801640115675647102842967721654379858229373255410333629054361072510880782343683308749116180984547312691978536531719499318825169100876071513313221797262360078680119610522613954603074730811062290297341655068178914677188784855883666501013629694767498040446629212339913203947007081779168944972872249532854401215113094421130355253383516487382872946699704647269936028753308488059633251904112714388785611215967144070856505825572225470160177266159276958724297410753486465393701716372718026649611559461360695145351016766307666303402360002320187351240978975562354317123182874122946920131549044338458395494217948450773679023231496942541272434598083674279100817002400994641832124646059052704336190956256748664520277339085144955736081865357455042212007741985836418626204302904906293390797154459755730782063298240631963773300126145283234475986810712999845523884521036701887497669949920914635628163829933382035167853350438235461430263679481613437514282898455657040419843568052347103836340533976566035984013865861359995431452298593298676849982523026980282791301187479353108107999291030232862119951326233226824366300064219092059586395193741476195997168820599740912008795520975700721228929464818758759418667481220077563136941057616037067506675719748320233080533587081662233892055866994193036512931573149444517111059365192969444156337380974719339615583376256524923984690353478941134455646729719812194037556451136229976745111200193358398118532131785889286710934660448211909039760628363604990964405470723124101152102138553635325500983847237685058208551464823757516576847239092779168304119287860924544379656169408555676413770617834675025923367165144534010176176313354681765211253677522768555048833097971211005704560392763755211272567001790103678724619752727361767030979279654288447439618130917492209490629633694984620012690401437134818859512732396429915648224806626380498909557552973138353733297614002211043617399912689498637118885142147652074687642527550096274173710797388475418416117547510996905008641586008434284844062635030061603273407167685363964455086139924331832236196307797368463512875860365876835392775994703082605069340787673679146293487156476733287918315168203440136473812035975957573937611434317903069562572040272479256576
5563787953356276467776271999062004577308844420525228940662793435553542439608470002461951634535032164761112076192183419667841266471526759648384859234955156790901456667784163875532820731629897895873848307810447695458110947744434406732644567780771655530534644545096233062649192280836707975351929455879131440768428242647018988475059596669794112089618761826748230987717301489537717936796504665121076604637046276333124445681872939339462030558393267824631333344276258166846904422597392892231591105290336203628987746717406325160904655342422550074702740953536911961789868762768107217996447684666738195319366110042716911274830546745143048349889992994202403829888104995488517706646297560420026026022264197412786511464507657038592591345756924389163318544828192586033401224242330002581807613143900436286058288675549167697092381217376036678903154982821398151365588225938982012477125866727616142369479245065307557861474815208197977062190918614564734927431932789479356795753583572091598691671179313613341414620789007064418475885429497932499267975169957828980203277552804691723735877734839842542057562179980670005535550349575576900602966105282862956546871899022069844290250978939482886478121738785132384823721960481271277216228289766486197174028191640519547903374485417089247899842012653617626165255690266473298719787968865463924517080395801787778594089076117759574373404460817259592246822429963856403555064494836285843367521617777498421863591473897136175834852563198633779846460259301842962629076299642395127321698763317838976583799246568177855853923529130692888830671009108990908824262879964478714501018515278238250006134405207771987203517483266746733893766743127656006905812506153545516046480848813094424680312026667320385422267124000171500975723262757413197550268905425311668482714428899143172404585879322356483417481436160684408949973814081385155637714164641132781298647941676325670546213231826273392783802641553594043843107159673578338549694746735377116908262939686931076712247759089099845620277236798608484361206809192937905238911756233290641856499256976957122022049345021406523702304308238186073012574327614499256775153068187157939933961523961596356580976447043858673149681289730502501143819012158281479108614943646464293813388522440592663329191544190371033079429578249084685295773931966869704902524318496141351500562566280111285515920212255980836740074844428580948791498811641901430054840174848374715436517105143099180609357154124733011008818806444879401533394931783936597069600969327727538112841896284931195144011422811487567925642672420205235298215751562268281834978127502004706299092517256186564103670068018874894061894669841138454068356831031093957100301939779053408841645098073918166703266537645312220999854742733649193976421713699454898698234928940060244058313337587118724764980002601961476273095952337477545561688108107359386603401079149817484720211166661256589110405094418100871580962512394447421172591977924116719628994825248705654634115366834655958008645693315836845593027563030488513794199609676779810433915134971091619654712831228987415783094427689397141262927353609284221834668222965761685204117494935545251475753677549950776846034374977768501961352253249568530699560301235625328958062070400424398223496170902330703001353087770264293361381658304170161466954737644479180601731331898644948677061632511737228815224794896677652032954364478383302011384674743015907214246921565072380956143241397660587025502889176737666819096861697075998376314849879705256478977939668495640892321647431923735357212171747366343534650473968198852091252122958665732177618832968402744063641551699486252642505471127765537303292467988367811537062912246264766928050771646564177423847660300598820054229478441871366304344359579445262629578711561929041251830509780582321271611475221966809738433136110218341046416350088531315389835863651741630433530864809433146086170409455966113474125325550353055692189781577831904010707564180550988348423850445571053025204082158071210102457140899215150703477273585146939468618002816037207981490469402333657098787782050146053381154810377518645857662738335034177664874227610835694408888285158218833172731731465263075145292326046831137743177651935010173784899730575200588997765557029247800247927446148335013921137560686924639052032120502950061836463411385587610560078580879117788236961782456335843783678520958866601803613347477837648236356437611212928079931792536286284390386181846533675867607344673583234593692935333308659416841486618558291510389703114429757421397992177494086322427885991831232333391814831542183373395839850591630197886974877301539183198513404657742107038859402700529074850195911165006673839070081289647854787086214359073191175010987218257084420043824502673272433704021087739656267882906386875612981262475247653213931766736907053667828689711734064243977582511321779210159622453302461213684966623039950785189229319016409535897374009698196714035726658872861960463378504392428835148889534024866742504014915264977599580596073198635503919921656291709024434377787832434322672091778492708363510897648806278324933785211775704703335980258970697766005029561777936054731123916103959926821146181173067621367871943315565291576964822520439757281321666565838191893449561467662583557321263457845612898351793846561893287974741723671062692871435783146842876216872471840165913559817263035438095894292178180385360291642411239737787191258384771858061237837454417582136866137100152170447416493529587199415330528311746298030600654440613200994037546412732548375376686846468040002233261429710211041159886525684161776322435855206869140692576674829986596503085477718471379594380456980134110343562017955639561314303861974026001820263164571573175738759057587667576727242253743632155554543689945253526077965534867122421602988653234333466267726643886935995507008544772485078117734926290519984413570947302535745491861325768496441812993883470562329814078658018186072555689927803179482662568760253135313770911913991470740642396279829336338559712588535309182172348109092266728283115207651352111330348448626121729646121103525657777476587437902107963241124933279225942855957132608878791712703575047662368999885576531413785606045924102522682832465416063562322007211848381110890216334979246650180604125353663830031639114356037122308528111871798039649323416081333949945236352814802942389261956653668310257768176054813710416581884045702767459274361884970729710685431633335242933710111669483788547393761542327363800228040337043364710546280884306513583487077939679906957145115498560487746092393935968606163033765313314896658320309410076328712470379894170198841369319866026806166618061208790182925381093510614521916580879211779426416846702624303661322213726162349485770988460236923706118015385013133048139107146686448404760695261160610829214805218537961282091805489877509409992913023926650952094295997140312586923747022298126564068649641109499309369053152429391080253510814631166558261947344183383984419129054962094607483113024659379055909044717426775143140721100863358657469379022961485131064085272203825057043500105200606072597320216601865589425109541711607743383330482028179327479732390232687143350370028731791535999164696558984149595648220897731876893902003832828670573459049405707331987419198712249807416547220069046309929195516181799814940925771711146159049972917772434524747525890327277145862909775361798587434795922198543217428765973750202120811946335426277231790813433190926074961423071704325595125901334689059206267071325063596328048256366135052219254801662466074386583425523351566675055150036076459804722236189022718187581993378301328182397762582014513681443627852964385592336352155694645199946666509182865762334919194644534001183314655625990927778071536607680016523495424929963002664062143697612972007538986859496145439783973698844558555195306754349682437131988733924683171268012615199258060561155457686808643111810056367548377446568639952347741509072517417043820884019800798675085925043684212660912806035142581548266694580787747606735479152090466245121837859754177200934731828064134252985132732516229119499074188003997272686326843971170685736246228433493746940673980389628093354581122944691840607178041606911953245759363780782768219682999299035366668986154163327788345982447713773283178445799081510859386389140175057943054483712750874665622523358213624249209825871349418651684881116234260109927529315938396222237733234382934190672844809404068030861370178608580963833595573198075841911410892782203544124001171716602116047051557517471269030005309827978459687178804754089081244310921641311453664317189142883206999906398439706756242201766975943701754818878524258773792104645544373094786401361736122801034566548716291046229057083417178337962354198941948189593582026006690540388663012265545837376119215992493517791610624806884324436396032349285246462864476842333552322949108392599369307424640731152582925156561297875357959471283526555422356411836412392773794825900593987052975902254789825623834332963331931738715901014130928891713628615212199863741978305586385763687761437767314984653573333958078234624
5974071825385995216358371520192963083935947619426982360764855592426487108766608426292780438665426828489265004959021999576705355603607186969666357408923994610868516686723530158029519904245301059649347955927703554777788564625477685733467658552617389536855956929043279544218049991752327067609727775874986116746440102872924756847845469836929055619567700788474217529524896897734146174253395635951613974306708926722337073925443173622595315870512925903340159992635209403965091483473391461749384063816621644857824722433997880127406858117464133495942657329250223101179671990055250733279071362454640301972684429521051574227882716553047159876131071276942110513488639573759352773390692465372148951308617423939901469742497362930584847424479654654250307488216849273950781155441792434982114815754218028932188012652802707524757852904848686117496375950609336717277514792552646658780379886417691467879648326526566336299165507411713435643867038389438291447057271149220972576219248279234068674271025684430257241269666256764497579796521084133445992874323777229292283527130326766007201865453247920878981683528125860896485831929197117567105695525696597306904670974350301090863610071544265940143803371897199590962093136316016139036962606254267423424464675919513011673424695726806809810764531978526470117231770293102085814681998582858444917168223342853551848525360209158004181162962847660845260599374153503428827295035123152142842820964231841981648934188373159385817299313979976309080352678766273829254908221413195891739113064903440714455381891859941031301000927725307316836873916464608513240381720188552430117498870452627406068154767436948192516009521698726116597135724996428825699603716559319186466769615385640242640468852402905231835688111939178323770490875872376116259298066201857646685113103357284301974846508028230934482912270749312834354306807883983381460963090332406218017803329629383543110314071834077643890348685997774262391633851455367249841238752002861870836939489531047363271292831984242646754434891625817794659877674144045114289968264912976863309128258441082666169745831941290359805611460930728140487918733468366000816397213314475339800774286284344177867012053949912219705958613053902224014726312440711332083502103704611781990059707706026897964104041104345596295471052228722916319950281201758584512378203946403751722039186943727586632848949746204018550334177353260745687034529706207676335292509370172790388286832683551095200396582137339946753621185317627764062495870966039655637866399758122220548312375540600845188430767806441869337803459456705663803455365028000794514835481624107096998171889023409236624967623928790795177825551691101793907897684434186626212255955769098964203045734766547779142701478889442209225875135197879231716372863860858490733977998180610673125058525464320618433703599317354861511206769989860203330450093718305255595057039329893395310571667756025640123424903459383848467332451734036581481955129184008820123333506949106463245949086611472594764670634510691262673463777210631704412433049514433604101686268485066102959165605600017109495986199151449391920041280243925823687177284162095641420382931322403120754114445507191998240877916955329110745729945910701641366345873846729794496029586976968103722599138201684294891875138930475675315921032947664415979902495723824538909328417870800410320894544253570433476764830242384553633901727423780095272847049424212631473240248347665753019872108023596388045674206741900160739841342311294117963205345308120902674125590595412464787770433308238707431346288847018404903106207121078353439167268949510019874691937688244096777499651803996668775288644498706305068377295783291664742694174998056268028260112312389303200141807869297365337276139096743638828998851778945429204042882104075577712311734910652301424334104824165447156006158469026106553433160407482176067801631298036359038433341540778158684623076624075902363898303861029893862905438625542826577850055493821883554239372702530675196883349148653237457299557350948276084786570881862694093051485102928928149912934854677930829842941287438282823882533321130999397216833036694321028222113885449880678906309118018018522040676406189766946355247182727175260354815544734953458355220364924449596335121128960554386197268246975012410747636566889154886270599975425396777197013050423208274580437016475457452401088512957249260866036523995653993293485511599195993175744434805972248926780713501621187515986960292757203509492785609946928451751280700887917234154160682372176689554772906288453529416750600231997057170413332916505823903363890356708292522155186144487812641350595930880575041937205654105733508133935216614594681884411656230940136191547774759916773083451166239241757000635772047926099838281436292419014274678884042558209624522265070343618847995170013646557427629107923760267410607368344261670460817147860042072344160339527271349823202037180959315274154957461005439845983535429239527543863572585528163920508718549242963959838370477453199302439822491092810862643540400290135829163760723973429374212283035986136380134164648936246285306564711266067212516271447045354328095189381822965634837361742362360823247488905447844022343404087442880195414079683768942044916933262265363607389122916252534545782288139485390541979211695503874181718479343427923356444303470831862127255294959529750510867489048384488344521118359077724624194588339977782445294600314152900465614920228698542619286121851501308463693751462173767881850143157467268735032338110672624754514657718113816488209692103316745200421603401229702906201005889794759955633721134713619532287292823568456559902091804698024775022473342817617466452027802731404913547816809173652180466046234919817916690487093160267207697990703223740769048024558419090187473129506981233386279617359626603290040375136715494551278940557105586951159647593792790919186503688481972679239310032611189630957085723571169793919338525046320258399139919338717342844657814250713482957159620213527191276672532913499997513234766008874587327729664369669685341019681461121224511465701572086099409783382240036260948224532612787497112868496137895450437671114365190275180833267392408514420642997879026098194736131831455380695973608268465904902261008307569698991235145454407151275211300310811802979167645940998160358395885119270065596500481252688845149082447767322781582474045561613051351118747747173911526248797402908432020589388893569099046804549506162367652204682951125006391235208253308887964679636811968427647442517191399195673131608870214191347382065272315286148115007486818895937333470388233516541106668624276353802219721170951517253539236270374580170587058486238924953670015847592351241201800123597529088379723606498762804205400037992018047397656977203195577745932355997798764063743063564713414542666209639213226750628715257443157669160274633762154290490462954257384357835513066003965338021013662676636959088685924726861859172168667421042484409720735084505794667515985611135422509922583211966395714699481828295918646199175652987390128633778963516310699637362256262002926377629981067671616526791850302290650296123026886162239792152230717225780352941202967736490487181179720325277722375785725406250651504763759650164373920183169085542959001792072716447821041045698190306658345035477909559359092139859067190763843704397667248897532090365733677948912027879575863522981588967234519552354796144407875192861254569225884424791766723678145569287619190726732392738802198127103978239138647485353200370808753064904981197395711882837278237150593462800237898657814555049969768449611665794931332100330403754185137698960062204172263719573190144190378288331213514786235924019183192954555185161900324023578400289723033196646634950232970060590436697783360599878798919613113350288116419953546733026945423225057009435853501627422925482926085365382995530213350654947953866866911911739986939420258299061473393637524684188733193839965865634209207719074003633137050232037399648400923936713361686043544513132766182532409857132203611704624677625951472107788070279590639047553285764706419350873458016437901781133865094079964372849884938730950865241965305768215517767808231300238532673699492899499640190213706601668051468617887753531685504379531057225695971656369136956047665997402076773368501136480171555002492909790918994833348996145358395081009473107416221060918326130902282997188989825114124399744922968530461724025835509165831300253044711751272365024172918456360477175906718383506158362943244027467784293978429431668206969500297121567166620809190850512275872612104378717537221839230795481553750598626262834009615422384832411303049064089921486472625111048772754443531223416272044019537838905688639732475488546628303070844573068015206492856074548481221536986640905986319207710583298039337040468691711341559779841621021229960101740444177923622277343647761084545633325651629492988887642812704643354901403750481212468012368861613548494180055614049424771638064023324632233138875764266230341694729915103740101977814549871353502572302972716393363002890074956541628746863251208755239469729932665139279204459839721908063179873714176
6414610778496968007667912473761645013710049496051985874863482078908616854079544521941379626244135528560598570844069327081618836436385801916318587275693963850840131331376959855601624947828654903217023674608484027038386608067302287150752341539296595815422230418256369552750577651867328621819840422211470788969999541565521868632562085252841186739552073136102544507124836648385003580225462868340325964515974778415924551299528193253874182076660696875029311082943956312035430161791585203604809875558991726467520938138574603420135192225155144954512965480116103105067597554323634783128407585748210595104060977530333363709518179729743850203416590535977830885162868459206949983959980792391748053777802059699411070501589928788276159460322486639344814514958818246944987444068897734967097369645358002079332329016755457889772022136375926675804037026597003118239731047542460439426350714655044862590331006603182922394863381606138703353552408213753493393806873756227103273043634671253650221253032988750992811030099522409563969774302097731903759794367415328749962743546070547448594128147973009288805476134080617180562972365813551872046511914550103262909309206118749508253082413444710607311082254838249429291691799045839809542985832259250911011565027345386778345956325116346549661831403401129340855957934865264448240861175138323841779163737046994950126714191981238336913681546169291590123497727336841227659273951999277446485559127439736768255501123079755751570186696146808461588725647861784931107629714612800814465261794451650816615184919182263835481577829161463649340970909522732376452655618691513910233995771477743856584009168302044557225643213030157758911445186533227880792870570695582387475025322211955817540579601794282246530394621608689510426589430434562722286294762563255381740020897245150970089038491650263327084906718426349009506203254152965896395582293410194618843377811629527529574851264703989554708445454099253396440647534001831085434395407995036558412507814066695700469308572252886238784694600623547924329754513452304639755998989669774978479342052068471498507885983205038571851293535495064771215626110838093156016183832932801836960703178767249900186705952238165151426964744849007184331228833580883277568809269139627012005897060421176177213038959621151014892666730559268209359982782526889174541979123283255562614465497588435044230273249616973439954365655400829685421596589077725614511058614584666423146688771960818967757671471627513212935296090127991654737505966483544061900934551544599311906475210234737737568567276322209371732742758710553188483452941147751384175808645098987236702162008785521012432140340458245874528648812226609924760338147689739955985553921102375644659889033603653226559833442230247172076780795663617447194856849506061878046588634542317585595168121238810067757812925806381763854310553650060956229048358370064027331422750794119472006326269019076957816893840967502723369453151139296401883159123496193262151316024711850249015894332869336563228630297858746983883868112540073318488034710863510252395038495398908594151946274875026985581427942155704522323915986404408078846572142507574885681171919456583858941815100223640941309365045912935605892418072333578121520494070799061545977311969478616377680924788673504574669355894455462360801348826157189286554155253100651560664461266019627428917905733258477435753812130443508352728291469040760460473160568521772220681916791451035611789890985515981420739974018056800975818690432363937322022283272357691580049842089250995425973556397953658583944736118962228399042231802099908460068688136402945452646527972611469559831104998287388273620702275270528473644419882294539100824816934136588133687296896540749748216209301840236906655641256785415227216646451203030509950011872404647068646671349499568279161162299699306606507065665149765139154301675118014494978530471260129047772246302248410110485388623046827021718658076538248480754882491609310407599816396584437529978644586978231096601853086430103774330905948824399810092934311269396537673027127340327735054052460112055056381781393411498890086743502089971977035710502828323619191284768040498681940751218677488498472721740086575965251114393261952338458421054530187262522929442354555924131764936676271044890686655231324232308338804491020659173402706575187620711471242400113219624679891276787475736175537959488164455384949876925713286831830900542093862646015381986413728656023565763252160840461867904960693685421984935665367498980916134107390670561723588279385645492823608303945162815179445646199343328791890919688203064620743367347972648664469981841871491294046698310686571698531692502603385881650435785589998747267928928270627069120921053854198018818959452650664538827423038388385857562414429961789759575741966140945628408892025242245608607112593642959463663226337551202468193312633807385973884724873719271475558678712471636902107032923199073252262204082822389854148640405760273237846312435141406731378022462966773941403114661648349093637262651822218488941888531225220574414048834458790583801875350264011715518015314865124746098295192248860358073816933229598166975223092464023565839586740591979379299900340755331577418503459219973676837390354931407025859397849511081891821216717857195687811285573784609661897107336012462462944907464718620837280708563180534437835620523503480495803789513112384768352846033396002995752411815096876242285804358669508360839813727977270298174018054717272088193166472397128530410389208560024351851795421938337970780120812983207155651549293493718441243938005040985041482368974742968540404310807094751554240184688400504735494037315791908891129820168108365877762459141403530893955395131899977224995189654351137783615123654858363235921027378814502093460788632953708454317900027814250269953572917747532975572353432941144488552311166574129093528758922556282399617953066653361135724583686917438237153748090551667648336654656756705598741643817021967233526456230129414288491813484467219955835011254141241521553856161794582199584523735599196938215572534791963288692054691319451395865306132291305740656686579209201932874366152915240816474246580650592008179729842369804442027151515795453614019219081391411361043109091598044062411564276784249041601979785093120443448889307581142832251580102154473561083868491402059497782186074757139925494829339392069891093119288113985502139955908646646406607409007601205362702767655985626226280552578358245079883036853893282667214536550122927739398606760806140524532576957344244329474201241500358365088023036390382872051758942300670577281418630190911844188782045347194062811664738658868897951382690008518958875600379329808862179552758310302717230176684816795036325249901629857839827130861107443218755653678656028485638277651216509693784910749129339323323768310541761175192016145669867303645692003741833596707530040655547108752445851372491466930133279459760491332890637699002579347354463555514992319533191585105420258046104868087939258303276814932596808576361407205230169314498925513532935071325718828452298832904379337487587518444062054128668687188962506026211916514227105279017148883714350917095982837615990451039331592447064568531373873574930341778230870715547913383975865096752875506388011308828941439427299318165437986842213370450743215395321973267865236337908349325492410868053176298095807835706459093379630954640045541317256096669259909102307244679309547195260088935410289102422064676012504406610468325524939245827792206009432149039539816158650389666871076664897577375726856173429553582787429603588938768952193102950319943682122327978484158518729675197386572540094261386856463541686921799786562755115500023931150683172593168033624396589223268090534089338119379908494925298497795766016834442367363595730874613703057113050285271264389593419882124675815638549834216060427453135757406044079195130241395410610077531161359020590069285648585403929811825749245834339803070512663814711493873400252027203158127460734690966751091865541944110828956368314997866699112711715171111450589501123396501487187447842744245487794189105538315762803757454641207525094287352547558851532303099427299286028760281451273110818758532013708141690333783792345183772276275895026439649555504374435266837665650167172275762098332492428718993285176024729034430292345301293061505968820148606727149686092267995739415636041129137658614821880111165892807535480941145018722969392571117685242735688418809995890349365423541849233554735763164368448650960233995859532850530364809054951034614703914240761399853479225939576939793162429849712600082555197365548309097334482521810055349692893697170020383246854118837405196901907812805711810317701320831939455825746850783612284002427103107347783189313453106551923879375924455166203242872119270026762905133396574540693377583614853029567885012180586452200083090010106173890716762002221800436246538320366640374083429324773974129161312603202137953135142596029735143253346299450869380449438332233369158139729708432616188695442550230855046319604602312606075200773285805122444292217306355333729182587781631459055597784610687263830867041977237749216519064841948992897024
6887635877553394407022990325849180858261533553021140112098150998398650190216511976078544980959816351739861203989904218843070006307962550917330615266506827610991146548152245306928465388845444755246790468225296125067062554563358272564620582176675294467842233019446877143188469464969662440400241654334274758671366389039727266737415599212629197032051255952140146390121403098538960398477818831496013453893942035714310658358736972563839359329501764491705072535663658940261235934546711804370039930955924795978145008875104259436412599626428704026443148586268900279807345841277398698346140787336720049123159903820643161277513456464174988770199300953961973758198312916460940069253960519027680877811827274292602534566169765037153753274641522432345731302233556789359193245851636235613039709668608934285658087660619131916519001992880664258568083383501802641112416484257672189677491330017411401559571379793857675297911055596583420935838279675028257883038142930749021226634242323501534755226235206873662502726346380093574091950140002745680606034061933461257544636187202017650132005393294280896530934725396190454503423294930238431009836315966760016904593213557938057590767764234445690646349195724054767174620180353321496710498213936206114063219517556445477366670847554762956450001434268408422110593994249502242896495869523807294174646676211496731467847127624621025656422953938955364767064835010514562185268063735392612071466647156991407626527073929705438165463127141207889324912214970694651823220670084948200272615783812028627643478161220056559159225296681790369353070502321877631356129093657674639296022886474799863973308413605360305804734523132222159061327409064208341330191412774595581469708443918053154133433135647786292160363592445904089175113153133928490070091588556316748967346332006124977778773632430762514904456342712962395127784021428941176605587557268365550231873261780217301863914741491968564549594010089040618932375990900228129014227557717814737176528684690226699074873042389649859297177523756479885621244588746510120895269270110181343061969481307903559699870773990611482129962977561879590443209077553320314022733802292577913848736047492144979290291589707864332106425327917867578692917867930530061987831550154090018550881808412871916746075689086677039710303139494825187223401785519017311318559028404083696459802392165673845697334275062136362776155055593042317537931330548495579096624944995052727621081421565529814973919355938090285841245217794098152814627897662923467009878372680120082515603609648230766498506752344921102514209250260661268651238554846151224743457511263555216089299180056869356679213045387617921156866515895633641948668245557162766425608384894816915430285110579183908549840805396504226516564479584023888189229277007532379990609637431137489544231944085613061743837641206121025961264684138666308852562546100478215703627716952775290345989707635658383482682650814812298915684052386855796634660312145043810358864232374531160793180585966384595071000825044514280829963151334215598087075312617898113449349002599839721493986526334316847547424139134832665805130270064628332221054188443671391567893019254893441509143255584875032242594572680399222665470128758020108647908956960969481865938816725001878367389072597103342477818395017759642050186390258279335257917336243475262336305291753263975326742448289015025329141051895738587617711058371465667175531331889444687947531859468862584492233451549087471855451131860918415380540558137802691969881809506036537592159455824334622500503422505631235398078075573184108292205828217562740147184364868459449297188572578861368493527812796617161113703945209927336734895331836803719358958839325908007802154015321203924977213322123702532744545982950424122668976403677868974081375896697421009564930106340207931279047597639168127206146956185682053687153698087472299096686149050430542230354881153463173132622705459148483712679537934510529490976423446245652438410319733681323453324519869732505958793934803489275159351333063161707794440896894585593740320863311883770994727027112405240627796793730924400815715486154234322731209908442841361732731511739221960616658073472989368089121455445013994843292186653742013697410371251246734322937101257083732687246899446023769259311769800541223134155438344167914202531754444578749004955309538243706246316381875659473057316864912802059808737002702998790897103845292407630452856738022586148620225759812089618327352778899046719553886090284314521854351986087031027498270489528190262932564590881800090539625517147752855458941573459236672515048669888266851492114194479099162296137974635669822185294318187888197629552484305139187050814278171049181024143668274821671848925408810783855848471166176732676034458767451114871063871092386751378644877525200132589941002662841641791175671562099271814369407067831591189492026586680271000851645500218117547099759266955534114974183824828993631138149959950032655116401135893143485345782615761675715872898916303237849456079441202390821194134665804042987221522449294373668526736855854285450493213118820977682869043213358863120363015721982799473320528034946595032606109241317963581958249446778499862834900851265662141115653164152999366071104056374832685014475706578737483920531278669355424339780373361493423331293802331693997352678187584586195212641886288576433793078462017912785297921363938161002375489789170968658914741270633094225501384948120551391764098554040502394015481055536280819432407338440605290777349156961041764594026920628273905624672951732679146446821856571643702822475628473197994526781524971748342383472830674676690841420029597210005168582468257203550528096663407248023917216101182116016543567002131124793330688920220254220187153165402592386257682222435484405659226181423303522651714923818052441780019238028691206219058886167785705711412873204097036201961857406424877828934773561603626049631375070168810043185464786966790137204038993823864736847489345394931064795321054176862019879628423587484427082144224977772829398953804299818558033575453374804158711826122141245378565104708475759864804851925314381605356408960988847475875073591680306772533529769542726040773386304105535926094575174424388267508818492740750498643466906406162865247560420399961656457015154800499255896273332706337645769450771237968370934175682505168430617131780624042157447556175997807258269092312977312160629827484113684999735748110747051312786210821988717261214284997512637698158594832442521474643659855122056686406717037211925929599179102231285801991659287583271775647828081095214269114232782073283401288771151802466633709546866285367464964057204263187512891773722441668140396680865248037594212335597590886141397458608138020086631864129796683335492196741683126591232433894765202049435650937518291531447343216940588728314509072423058966489013020454487181839971231233223700388281308269777572913931891125996988050224964566914184515450192529133111272640193112521559961132545180160975317156023291611767592442636934297361140655750584339578905926940990387558847432973514445835819487421833799413760831969303446873962033888195775048521933972531902369679011048698713395134489398465554599814935733260650384238291105853901018615220601676304257760965369023473986914474614885159853885280913717750846184584968722254197896643916859451656791349583390943620840847310960432264945715506831265682063762977057923912771459529585583510376128266052652047909662009201990543067635528361961917343374023304317993173551436913955330322813942779216902231010961504594087873443909199487909666829184059999042391162096317712819304634743813123005939609369418432309125353456028789440415450248186703368182326367877384968586295054362352924611970622771070220091255712696294184752767685782393028853555865351267920832815938942787510887760468285282630414405692424223706050333467749662676787278219379597313468493693601090614473087234551058689114635372917756765388788421984733068259507117465389611693748816626340113755458715640733698569818067541762930961615945614142258633997681063256811485808582071362876573071315567902346781639669040857883400047433557265873904546887991640324899921690774418781064243357132687919579961373062229440178014354861259129111452921837539648056246102384201827112645464299026453597778878921833468656953622534940903697048241419963147833492938268374265739270042064373736922139289108168158985672588509751628250462289052115306275483953071192900832708720896736231627116357736370063982178140989862532381002181023250716393277460074840137879318096814720627468116806469457121848410155102453088425368199963836170287720801064448612720205518237441324424656183822388215548533644001855556828870635717295868755904849722651683133572098117519676524049964446367529096950261106176365293156224343744084930573472201262676069471351324805460146784801045114575006030019007581587079392699639528052979353769796372784020383731357895369174479384796451846498954529561062970953749349676026686949529854627775793526297823999425487541772664372089918514816732645932265379559474110865481877663799530342830501233833689076542138882658238472559324405154123827325399751614168583348213593931776
7395542710212022367988264042411653803655624506258119694523833120047987734381024524112421255121838480222184142678955833525853158332803215145667448047301287187479196142464295705556810264139777105589922367498043504269639869658959835149024861774325220937638028626533917334831096379084829453419646763965661685092952763139810363849167154544621437856850102027541817488555970944464475073325340015672078134712621223978157069208751083256934830129450641616541837454495802201030006508854530946026617846417448754040401285966050635717422876739463275267309210595323390340914449892212008568337410992355725887722871315772041956843243468928387843097293314249832069729767991464643529414715433886924768772231592546271887355172102172204644898809559561242643822127074154541014123946969216325011639016044002592642578652085065079673339728930495319455326501480385317075156063464854500222938383512437081270068970617998053484270778760226040890563806781387286968870875754252035159738100968733294535994876011323681543713237792135017471536169687043603512102044439066563657309311421062699888132933311773638538609481124471844661269894742942484165667399807847589223921408751103721939636528024729495679503550724357679566381971998959784388336340352180604172554193376093457789824239872661077116746257104833976964733991125108906049379774518150958855471589696670869910216324372168821367397078379877881918019573531070448965179371156684188716641741016073512368377234691146664764958503591941344464646921370342513781995709887851514515506235768961517291786125062532589595214790476486046738774799621163689122997129646603458398796253690069196535977652063339165990931973434703762414243727820069797197535894313821731160509625345320772100248185634452493474906465704256057678039944652452415693213426030143517072757948566967966212812139868569312496464338139152985350587915528247166385357189712333039283404735219040720012819718414310074807850142810852480876582538329123018353263844019774991673190006519887604890838153293103891958643094752410086044206266537870807650844546939059254796270128855891882273808232137428970931697569852579763664310864283345459611235022970340087990878056703728766375735599917024781875100494893718329256136197167393918454045647314467200097579017669773655636965307455241985498717461324594100035090396928668046434542765416210268637285410563243533945268150256442936011503994433099294659742365576049888563555146340682887586732035146444284919056478681673870294595860014585512207038209292717872780639590629899703905939334728284675301593024733539151861749698026292554906047734905739630455435874000210630322448438248475967326770444798239095653678062042902302660341725956355427845086718707506654762920168079473334626397755261296071491403605110522160570963875101048269079430178294967288242418004536321552181075052849628517950380399695293835431394697855324011566601878668217828662118232579761938560121587141899051644055359816617574096703473225183028693494636975438188939734907009136934597797037835388801645092412867966388689899267156995712135381262929664132644664605097817633405679501121656265008516383004736806623321112695502347441238727670331616404811664791929001903932222306962352430393004037870151366088283937233208868267068068542705223281626484928082160068629403007121750448554234215900684541343671059290436279862945388001818820827432404072672460318113415809008895824886520748015026431940472121705583893675084208182678044860100132807565620762667207053645891273000862305827851047203432210884849862195668481150041985799439132967705718960360549925486610973756485440075768398141169158398775992782989649376685906970251603930345525703441453188718055534895954472574878723394753691083539913448280992190934203911142548529785061299048186471898035340663145279749524410906169498814248828670831220471898478748992256746862331010110337152787817981549338036945158399730278257022771436250097663520850388486818989278528482846816452168172801288744371266178479506648828850823340286268396035655874039791020070759334157985691788271146855106117756761143876492473771456098849434401994531337973433968294307012813988818289483489546933917149600333386604595213618824620666127064058528563146662537406212890396103830830785953888141053780056332907349518151551848548690301249115259057067186395958101951435242092868218899102078394901439945156251143803442267077433684649990360418610852007650879161683582473968339895061804416616290632419004034275601906531136515006116870108553285579763879111318210587112271371912340251492811237797619382647059171428521692282195550774393999026254601525319879816796278664400727217040969850334993587187899448030828160801531523277818503728625731626570210411457955205794620896436728248490497582012049925640843815751912489645767240222938740665442164996332165096251588441480011592687513401387032796554811984448627498260638568289268751392805593932869301425261738127506605852983180109582660333982275011964247487969575755048897896555432832457872234559061945580808147085555873509848014162063543673646206762288295781469824373005537829244353823565306667100013046766853424916043462488003109423108886692692899823210316006380457424252830937366704096250897144775969266823429012954396030983185711674902260611585542385602001926207485986234889773852570959731747563595528565727315848422087735532842166842296650384395306382228394758710468723528817896326739117811335669948152417656228453724388721106223278521759131211610426549312808971465233567700288200840583321261680211281255369085260506049397040194596910867112573619278303096146718929512357949756328411472666613619806624663070500634350437329842256260763166960911841483314674615212548021267241485453807783103808334485822762516956373886248127451461186753243148836243530250748056093442470012840517677699028416672964531663396017060098412431997206593691699676091247875924488557150002557639017583741063253799545107195471186083679479730645492669346675089395561257271903219544919281867590215377466643821876483985070152306776537958700157296473481520626221372021160548289173018021670758787598412066032429750657021555110336975878367438727862109932403897514465043818819705355907106304952314180826896833782318344291560808439118704480384199542345681768190599771981737350461638534216829911130427136707283062661840128355954587262896661170381269544440118056523775626884390634152758350585494294262960638029972051951597559154977701694438092879212660530050704579476510828085055065071971056663807383343053082874332889093744357387809222200718158132503286895827076236202788271817705433595286989543171783961820968729087254961410978428738418734566340762876945895536146436631329786482672220195797326098830125067857368091240429114866618931568735807248063513801795267181697176092815978124612100289574008278200382340023665711815440774261417088083434337467716542550375613470385931887385454942680166697255214898223789397419767554757064413806533092045907382560036679642248351137031991828167508454250662086941721703234573445597202216709554426188517845289841918029759103903750018699144762102020959064881207381686418477395055935092373861143569693629887673970748609063617945909347344939372017067397176879156674068210998323542642544757243364923006292391307225111336098057526100104988489092042355015047684414759779704998816171841199402767171973602965689091831908522815805376149731991263829290087673687748943289845375752443850439406402535586890449331889959855872984050110144193527590576721346811658096996909066188668429811327435340751732387985893155379169936640292847944225548527991608400389015097215339710779844646108340921475675411533958998166837326820788864521056170263624867269243567099034678807958344520031153073211986204591828728624872552866355400938875977029763980245557886101703748168818027715385336701293585043784491733523936681844059568943918524893469767977958294575272120967749160185099732164773613486137969577980997530411632351256897749371968984866079677648269698530697583762207960188153731288778730200622643190447725666311579431213908981148418476631628145196257028158873257456463659959061687198307946687074246746252994297467899222177405667579209994533709288394519777323467535736792553038561382704603240018086911644228782959583969253376231744566903618628064594301763545710330455802204622059964212944074949667876922158263580367516355827403585609544523394757381700473986269067812327998075053262155104621307090033520018556786253393067195963780836368476994186405816086503639220660599384161028036344799883410629424441318846026154950505150046716588040241623569890303302171439830886040288138900766183521911937737682194976463074807135512780706081390330414599187675435919044973967212255128814465629884111645912364511740268212543826823388691777820866932446197422068135563859043804976742564873407397080905955319487241431223168020009658430055959483607955323139441950123230994105219951122433421698004880888152570498558868881740074387955450663957673810737846359950703917865182050482821603974417508374097945192256836227643798110689536963656809100242048281480729961672966480654167717650835821695231816726778946152822934997903919474235770827344318927806891489900493799424
7940903519132960324132517843492702513993728125208692855608343385791937317443908783509203179530892191987155926623978283105489921384424923263573391363734522382231742028063376725759936388639366060309563838895747548705834901470733791335653266902911839098782447109218743196966760157998340228043734553776187051118620709439579947093508401401631712073916879445638849346437187368000288168434884333847925762236847628855418907650698624898277065152326488047315941120701839655677173867549336208651066198963223290589867846485132811671585188249558469966534679356622663014517463255220325474870240326369687171527575053114352298945393524403254488026713532705619878245336270252062774783554202422698010972274190731058780728665028820297377514920071911925316084153056162480126388256580805608668574098316652608084771381953279181807157124713495613535424964215087630579096416669412630963986266552255718328160093117171637176650461295905567798132566281830354760366845352847955988129319896463854644608371823052534475141787679872786514159114921739708002617255270132388918811410977435895396248451768654187319563238686283969523236598937575074075134832047015519967296117865059672408654143498300165797510261969248336086014507694880004991778986415235204301660350334495307361712887960284632677139787048917393643287459305474248980105673159828131668823017101082986585062392365948205090959113071881041827910955350953704544370610472951070584567122153134386488507931897347896476243074931121650906482288868176150253025211895156520637042141877938782162689974142535856811409350797999956935841304870462808561495898333508472825831608841541629774755125749727159621742064615698362754332703890081287850192279465994174027123241887841355700008797695827617585094166714681343934267814915983302899637208486895379003478260404794370190915279231820733870379611984486892305385547891658035957444915773234512895626653324329822236838347833347687425757461860385229811346853592062462047018996231044691628755849499236009150479879605728979573172369124457634185102981264603566083370978970799101089027836554440382819472118601458401918643928069876406542406071118615806625085824456854863979645899966637153209552212396640437943772545570483804997716243538941179327354233526696713020947472416870994670783011051712327870774436583319125031316426803072026069142645544005733014128831146765979494598139825459105864907583965881882621065226983702618061228442756431769122964613617375193603363395778677616863258776074909714481159472483656638636883905929561817009023225704494931649580244483067442895448116590200567862439843508757338874305666064020338586615494230869950377610901426952558555290754646731084712315377291685221486683802783173117977276188840040275281110684283769640407214107271547786283887632689107752753390160523083386097747662361270177689418705527656522586458191862673847072061569739104492290520198683038902176982310753849809395320886639517634536158200806471259521049539727943187963197268440224844191407585128461076820807297787167383627575728041411301362585409493415870308423212193521149493260116945970404112377639493777243891271756621388699383660092483378247137837404268181140483370799330162426982827657152251244197941017192462061402979725739794687203586057387049201328340740887613387447373950100364897993316703441609904410822270956774058525196895813450925460655992776458785696356096538719329635647435239637380987498860439974395381303640979706981047664449092837741423437750637398558006767405145577627845832442613424523401175851345000125719849355699508871872809722871771728920574635057754539704808256398258021657181631646653858218142294843188825332270943094773719052109024064741171772477805603508257036674300294772683042759362219623448371538133982379930047191809206227921208700106982255244604098915930509977374486881810265642413314768183921252265575687635855689358364488784569782073768095310083723171411494279585407016158164945621505763617207893409944262618402965931873079670095015733617746877300750509712879507227799458469597736523821060866640083030773506593703498958271459509635430714515996165957316860755452659887380754883726465754562084009757807676742841540915231452746388930155368777969302149196612427015257866224609809635545481432467055079781718688694625568390291242476874334496646167840811344038616912036262677898752353137617932464426938533068149594397330418793795121451178296619780889116946269720756453197797175630467028831811767694924026443309816620034415671299267529082859608565046302314480222041155660138589746509861360513578781207262965589567494651373413182425009104839730190149937947622089525920708952014849827703025335438184057214637609601759797823298934525394090047984591262655321980211610728487690126512120377208077136664007624578448120627230396424410042374844009670652260318316136052064907073435701629756724920584736158928924278934883719667988746713618906882417265966338374439287540631235652183805585782577155016112920519870327732380836637193766632802136294403009176925679245705047676377488689151940988044538779620569126246914623230622550873833016216386563851328799259238499209999554275144036829640523748021401728023122244307347992671576527851754613176709861868141311926931354304172823126246339384547648330807215813145604886297539405314289438215407049391797179642618840408152005708840007039063560129359925732830917411892757772809818575096784644565715760330894450126391162364208544862724738685623480831213673235809909380477161451584643843568534938096246268595494491365840517011400827280642612038747802019218876411298166730081425354989926655512260424077683575852034407693008704791720595633742513869707262524626017377493164287304819460043078664039641036775279542417209435165675567825046032886316406129631936546931605479637395114227232190652680872356798895146260947715560593392445186984236956570815352503866425684731286029621371987843983873934202001834098493770340755884933421197354319996162927798822953001886866626905634079645276444343953882636459987016836014105836047428179943564602344815587492558221783493716856715822173632068059947551285269563622335522991489745734282255801862901539307877621890762534259395955994265498441398061542138034565251317948280490260333910701284702637378217580300519778821654757373607001758665360274942735667175469786830514617316799788829828488595159136082781420787173940977589036643699445988900111463504091118505957731531122881013656096713848503207213801429450347652261701703797452710816893657403894575437034934309359118706773291294149609820409223114512957520662826447436712867350827763314329955554198056499593324617110997418473591698243750929034579737043373422295332799624460483435014107165058059680662756509294186127896780339588928295545567048648137777388824658242865273549421647865095857398123831625977971274399024570969728319426236983475449696817501513013923092811160488701020981223217638134870238330785987777362107900870220566117625369732484685079573905971412010869204851929675105202526462440450843331477591337504677466560247802932519058064669736932026506218065518053804099470058672554881957334239171945470128328111118154219248709276771964468934141432065279835956804758479020506175634676314795774377756781619147787644127864326395955719541635424625005330931654336931776693662159112848110480538382283610794193466885074933882258128230814880496958689388480616019325410776127163363865400356822111134438394432428391432135839292661553803106862931835006288173627261324100173990865286349533830063091557567956830696284020826665435848602925945339374112474445787390743846224660527423380047536181832382852749004482639132488012423772632872567611837956509727738665319125833435486837183884662511338560958654837653843605981267354569271666682256876436360004085720878438365292520427632066423329003200404292501117164412280016866913720423748205122496830626503634357509731013181992464259628431617164036515488291676782170317826525643681591655990081992152832281532788807385136544281343581225957439747570626419144498020442835012520333597010650792505163588284469813745780712765859388127933246124890834158661340828624389473858924747755262424780692268948813094438604009655040806473697307373869826808819809241641401202736133330433499401052488323809427280113231657969181497898455075395595987717599255810574111896611381295446449094360605719953456587602255949355196532488359097463064531159681099827588754339376178603572206993104116724005865677519296398159948715473178534023839748776968930959359430050467682338953460003719728316579187691878697698768262029532555154453385626292655405747586784964721828435123748874036892336467993833313566351099012062133708330659839945835334408003540883710466685587003017166599283017074947301584414988865004786028293285499770491180405306064801835537732617278174051627839185610787636744236037208733359089934980863639140305262357999304049578253805867435072383872118239392509532576937965747681037411189244456427767218969226659923736338685936365229374852506760977484949718096704779139202025385886007539531005659537317072283913313695763253184409898181120428466758352325450311576982995045335286929880973682790673015037574198678081581095988135833790694215909376
8526480228841843716953680926984400928065011161721682247436671256678570459725889634894792942776099646571646989225640603838077132600929022296089326000762153514466335875910229313116621884061605791800485081020362118790932006548045983727179735035891389025121180938236060535298680319419666025432255491543469172033289040917828590186007209480312191098490332960348366942504673465946388650500891929854896746560783093017292530184948696372567830394025881119439216923218997472042340623707558670666240400019518284957246737403898494086496369002464278736516165571635164664945319475513249797260838011354543201865419303827901518048220119290538985509989549332815943117805286313806823558594694512212981302541702983690948670812837130518674355286865228921856243975040019075851271877153254217641224963805677900979299570281514671454844507344464257493526289691442920777837162706479123379909492158769246312108848947641719423122876522307048099322525513253423178963379438292887857365698293508590436172664926954633615161625762007333879675809882294411323957648447625563999161952334925641165841015359250773117745502790357913217840476126788322174370387608096098165992953944548158520910773425022560922921083345578540297962238382762492021001873878365869655877430796640001446006224082783661049922078048876139475869481910985693284928805211381701624594190315300038391212424332816901223892523979223792963321403308115590857029588221219985192225847991137323465291461833926111124964411943911235810217546273010355125981352538291859234311271384884773319705397582319286878085500336500329312211693666150819788983422045139947931462865994371436526278277875861407874588474517985819057650861377787777524534496904534330393256735217443980691960243253964943295393485779982033814752059692382318409000945178987324348366049671390885393724600151844513626999984144635215448076243216428253913204490241879196256301684363481566906178567595725193922714681679580470000294746472602099920296950775771052614977836691979159071716956403155835376556841090096423140637228730893259683263291028771469540893135608738691947838255344274273536249830932273892215408628151576256560850937308847150952776887504298516033392046762004115309905142521974401340708155171930916919664427801077281333916689241080750190500829794877753251251379829545405285209757236693046074856774342606188033047708926516514523676404803195501968794966798959166414096477644454867390638771805970635509638904512975678472028545118231204638728636806681117462319385619479289359676598829052120916022822826308072908175620545614773249574302004926618262451938659367665016283072613116099127090102762115777625245418060460242984624699744717510536500028476422269752955858111660580204687725556873289413801898888742947286666178300283383347623688534644583373966173143708349092691817275526387549040546372984797007480816630369374072252449331969261678617096042768588686470557164573509362184185885612895387019900486498721201709099181842182411978279886824659172197785583269070938577749078504270289580898925312918259276142945247272575513782424610440039469793676019571161641467606862814505506993634333979489198863499111248763704313874342202945014803741106582564808185268304896651366604844649572861635449750866896823487952599738883412035810014177377644562009190850788636917816963061296258541950556948802756727664869872760438612805920325680814430505251004579627037332535130118560099947606739549810018146963391720815652656508898741812042406719857490289156237944759507656777317730113774643109242367933288270660360194015451988893007841270694322811359775047704806921238795325238596813707863574237219785497556471363288690008500782537962275094546135079866877631988228376709619498092432958355706307582775170047625185667797009949864139294955160278357937540121881974771327867648440356280275539027052809404361075940772880003371252177935692427675844371500859170257211255142510782442522327600893312065501204496412252853641257191132282219016606699260301465140447123417650803212048868036958382998574043358122161359045344561143504974193100799221886636496821018092950430029000412016112213513756973127846331349363256377028405878582213067061055085291249454077459278434275049409505685490762004429857110360530686363380468255308541273288146653855436800428062588345325741214978140002914187916049567064241910130838982278001819462596095232479261793049744606333453589289711161736566360771636959961004716373372143506017509730156669411999694663715094701268425675059966541402723236558839291605415226395481585133447205196171224971657301183458719791437078075932775602674019447219122039461205366558870253397309509553329083932153991607588841365346432793478924660227654553224566943222546257988506339706809584341157987914891930968772254308821964770116131654389924989117023482298659239797263911588533176332287421352214654758492494909749847097041621426822384210911307755170716812868687789288771635581137857080549668992939572861847731836668972593942844383393466461225735304055848888064720917545722282058040526417629374129643305262468523921534448381919921430430802256703604487758818249740344594992767480446580155968181393233515816282484299192777545450253917213971129799952774881401086099758176227093352777914805126724087229333631495299568604968196432567774040434653346470116406394307521221836614039079068282082296946305232602608874405945439089023366992201933502520791183328363241450430188277214425435277287890526224718884936405633958514215468257327366983170983649373439190555994920173341109848028924553079426158142609423616106959413097867752613745329186731348715954162112185480430205779027050798730939612454141122788804774409238784816765206769382336891017350403301407375132339733984939827904802226388700640235317362558755775996554603670954251488559036642862925310374300424475530976780074664731726442892475648996556061764704502967083820011311369987610105072224696113433796262096618320325427145795007491526959655095888462609312279613618383012554880402334111525313954475362473820494890126610484441603273183556965857891051484005076630269593550375341463580225061378885575530591596876136062024448675526854496748848215297769692286546302927506369836735911710319546093867997152190631275745168125450555753156097922540746575460040149880614231527520551747234154490822845856968287944056402591100954866951329368347789937749331663190544795328208681243911089436626192229046787209521130195027738066194248097893383597104831823605573597312779384600266275925714888866133467487517051440391243274948663522577454511653400103879871020958666136198753547850490968931814603552043128391632600863978571125645903502719143284205926392145568512906955794714499433832893140910067415685703157412365563386205557555278264308237929748191296782545757870793807214954323753731857505377147946472659992813146653853534485182332093187216681071069706329519070776750694565659040887457919907527708612861869706495645965201817945451663045232497809407270940548424406207843140619267187552653189077179901078985537858871991476099481812755562321120393290994304802933011106596543903658232456097692972756146136978724128540102481590889405008486849960936536357139745658130680326581142944034429241703898412967865031724113418830570515931048924840523868064779867740044278147074636470613495965607751982326799095213539463381742063957883415243845381062791146449596636621233234085816308036046262810669624424453022590853507105765727508297873286595222099871346507318915020164270263975979669051903230756241649964102018971345087194544477732925833893556285623858546692573142053498162042508496382112486706586698426577039487373118451456118036287781873107098211415187735857895083714478539822885815340930549087125281233968861914097063319126864493734926526941319810707649388369292620769177522915002274440048503942567579066153749433309430703418421450684955890351121075097661566675843400632528388241726872982275343002555672106007741713360229446299925971164163735820739098169848501183545706626076251697500926583980114801824034678954074645833542697129371539880702951648684334854829233944336010989044381216070402533499612823364547682177333475381582683316843797134657590925340717126337498754843507637776266281262452094881341689592926860357589006332545837076144140286962373077340539319437324757418976621835088445395047603971332153144901904899487657671476862089575500348672525956076984682317100819387201234606249693035949394452481169713142962799278565109756893577498627742200403751335484389119632664293989581287680474395505067867428186432716182853820036224900227638923380005350858173170873918086316191716544839781726319020650765416202860697774077616193449314846691666989293170899682186933848386873423130345967626023846277060307127840116849928718749347979476318781424306393298585088833041300560521584346216336401671154405424079037225718873766393928985789164321076713720924740672247041636823030876421108981837446548791676764560880102577351826639297943424833695940357195719075949319132510340504296712842857441597942443932642335545591573774121425921829260468927305573016546402092436650531225558636593163659174038037516961273679653756785055654653354024348623941705706810220052534180841616783204941824
9155238433216578680164785082054241472047817875367398076711070719634420427138595276594629022478736858115595584895247689533558341011611392494739620966988980104791093869996487282924108706510625131256817094979591402571080007370878838203096287073274725517727198641655618981746021390966574819618460399923901164066793563514319904545671880384540504159529573759211775196266271215849677235801726214389276887983840965164749344902361870589503165771003988296393826636268834297082131826529051689628184262339447198891345873838110993751287825022083055145391283026373544369878736193900320173478482410080359928257775525816981158081464790840520916244605748921555773819592495003429175111451638162266356820269023997774561478088951303138047468307742714144731476871548480555499339018094439111185781870231042570954004506836489756810685474952426448143904586485242318947882373859439670555865063065470588130269028755581300311880185213188746514222301708887266778424017467276700854195296720705601254604992817609095063195358100503144581340100631692026519992540342904241557488889171504116849779618325853940400858222933915995351357742177406148313408106041904101612036329139567134586083875998634451806528407439537524194791477324230208341415998365574523023648084864018008223997360562000855213141087142070627150898501493036783945664007017809693862615529168953398329450454074580802578170191077415493560635088686295668529664673278621662405553572641950525532100054921186207640545979615742636032957105971986540683858967264452530778600627920565182534127008742684701242854790759266477372294849431222028299318354692510378027193964721063959989226262018006273662468591878319614161095997050957001324099875457197045787074124172663336446006173726996013446052372219115971675481554681855469473829452894209856118694173593833849899632810320712205026247818623431696049850362682275300121899327037305569375895342062716976640218212039941264325329377338212117412893761615109344794649902547614625041206272089219828431651511580053026033467869391758281718903626499814533801612788381475914183999038017606433431445961150338806423087823584911389494952261296811238194740052418111191201237993053908296446187621197327592668363872998524753776880019985984136335312944175045029224440858969759220440836708457465584633020586860692892561760364957923991020532753421386369252291619261778924270774794079145499312569498732733856646991491217932192797702595364062684262558846913124336670193463015315869322505747525839318450349068385619062087282943276822688503438896607148865390349475316980281830344318258296764079276855328445551321204776087931726600486534752141633166509403635881123581794129059345314128200759152325588918758852480299627057879691789848541512055541687462425286720793167255499752568685392797162143682512865625216878815656951298413927037685712485280263082193693702345510078652734176256546731622502545526426116660172185428124632724376773045650779933872671624276790600072908132623178277694061623107733980380940236112373864261367494372523602607625132622478070645714538586257346477740356377422928254592919398798708262229793364916737389686156161910975992262734626457614976104703790358367075977805741543739060119629118569870378581269005273347438556167376471760266469170598562674197940283331608835429688889902842610524015576868451209571536023346624991148637900441271154258648495191728416229455235161088305152365157580057971365564958905947738593572287535097651150310407264567478956729638643140906351784084992730043101359904112817066931402768058056660839219145302738405980332297799921914252779952246397178768432084364177951269637344631781169035033104621364648298205747738962503207739532806646865755841083736745958227733485302572131512234042068847233727279019525313269478755227795496399579208542733903687567510866938907592912497490868914163015235247988144552974462700642941995649216195466143039104562250048907479501099198908728926612470790174693835017968538059493335129658763554375545969776110474021487235970410343138993572979482714405174752483667167790706556743172980372366337793321570168661596280923275294931845526938861419012705014773684140850112227881187992582771606645101760060135362911742355670652757677221129786410853737885516783788070790429090789559697065690233342408351904396071203246322604166856445448457821013969433761131127481485348705086631070199986599842743296338644409183281327236179771711979516854344173031347270398940995873596170020205559635660512400872694497947319783544731566589871584291266433467257342579598885515039168917381658875644324417562547794482468976997900918668531826329674627527509949262169309480336995853560119197613134769673729139563475870231422055221251591225881256976953368232353348311156816215906018721291607382146355743528235894408775665037692943334194084894367542638446350239543925894983509839914010974705516205698575594753749346652708291262350902037091499357453318708354262657120716507075180086461283592567812717226201079973055987759346301118121782938985268056497446534442908701585549933941615061911751618096031484436545058647458720896244510060739179560685131816075421262595311231479575133416530508003590666614689277998542332474359194742047615016985864335390100992654830033709773373272566359799786306806220311686699495614701796154437046526751694149021053653554588304766057423592041235410515469519963226772211928848452828297855323382923110115137809537315945439634805986629045346740849489398862309410491394046815636788389627389287552413053620677559721657679462406940254381887859917357894633147362379313674011202263677232441354968248679926729730383445457867846469970015984710362605536659205254084575260696978896293737766743459037687988776741650707356664079344748440921864358436237454092707734089075957861247513813880095136590474004737067460500330874376339017365232421460398639229145875477490471836889992859833171042435331621082196942684115301708005019498040417105045274045822205237070172742678766497924617815831292183304082766610027651028665701170431907226332501850720032482743328157662413713517806245446990518655027727460427735476552957507189028855037310308653454588908321710352592971932527674957965837229320115400046141469045681898477419974021730063782207940556207522340071511942256217149646044107200718223430561587998073913771331972607208331677047065446981997715194523834127813834815169228089417468051471682065510140050191323079691088502150559201789644690940572261087023241491494850944865234930287421998164393275079441207491256044707520827671111477094581188619751083341762186928900405689082060995457452276373944047807667605897775189552326857364765605137641869700621795912122008565682257304116181330697992317864806881333118962512520185091971808341464345881492913806783708216013419648498886889415664018571484731748643963408306815014979288190746966578234312580012616476660105402152098613387576197626324589645644754713176514813838702979546734040528865201182021336701948967458566660782247726416914420439506135931279148023760689499490206266710059510007082983952825484815869587612713251895409231483210070790026336774759166660330089094971460095730328011516087405757070325296357545925857317124224152108732257972786080749850820652549267407118012732736425530791503007211412085345673901058403260428093457557128308882043193024576135532907492932051662397463275944236336424119841016669948169896723375119570171978711769190907138679016250436541853171446733598069628527200969764104641163452180332870529902034706925663699808617224436372374677657709230370079169741588147972426853843672652801934222092170638440826862449506154382690760455692037174634547636242941097344152180872081300802486471988216882558282052307897949634131434388674696550846712081322773568903776581543957874516566185020128644214436956434556339121406259271763703589756143580960634479890098883659190587065156743620204108737217709733533785322451965505804646465789764028650673945424297934728592563342780573134814536297008191464486525820052000460757741151972897647039937523219402522449462135997570961205194729705442124907251116863914062908260557903894772128734095376253239245196062337312479686391442228658453215295621189428701664352623396725543819460752442335070512889350751104538950911901855317665745836078634861887432123757996351738711409490142566094559802814855007829827654307667850414213659158673857249130096273998765445417211224380200708015901166467199860400371102612493443681648861512385053127106477261909407263297495405443896840131169008045248830301306614908973216131089276727451778251063870444643032803443190560214825802024480027737134456547245018579654039446524989778799645850839529126204175036990878684237792568472418659334260927009101469029811794569026343533447248246815596739907898293617093171992064675284129902791797531186668367276176546527981979465686118950907283229153567211727727377548632234631558016145524665726306738456720150260922728802080005198017960386712851425411563852429739575660530542925601416456899750711944632285093974713348194395253114508343531583255703866785831552477100409376151715963370345745848700285874496693332045935848842428938154616498838034569006437821831883057155301614901049427159223459907486799915646976
9830362414436871379079648954572910905133068980716794681021836995493255202618654393088501475199655915249068806171770103091548642288221621756481631022163391285618100270925247128759736536102999303815934199997767715371389736764340888215193489729685625430503746603901626705308995713079467169849596653886059097100802178719325704426375616149606342338132871510158588301516904044985130144981023607786957211744813080461918422098267136834825084468732188704644560034767082692502726105225755550211648451652452542489284496389807179144960391588204299911305021430438569637058524859653347457254782127751601655944013035273284438852024345108879421718634207007917329498780692521692928738985485248139885946030501998070229582283366606478624012419337855208474575966270279216090393508083092055501560228208010951557802219274832981235221844565724687655877525174629836629088981045284671480613646713793420717347816546726315577169998940267113538454696178378930841039608360721545087886015953111650858136253387486489052144779075167421780503836016616548761833162734183585787274720718744679249791501379226236323604799458461592311342382962089809278853343437819530497989228404583165660915186031763577791981907311944190945359532161773583300412028827833007159341889775997488119281926501028463366118019677269862333829680232000039692911187786451781172926403700597226093262683475668622995668363549892637261656574724424874930341544394551283997251320818284456202595683521574654835602576508474317128595487080122121097336934869289550759630778390972986205086476615034217769397969996993132315782598694085703215089708124215052441848769281386867619494826927915977125782186186138488564311445712593191547309415431583589870824485712358021813460346492885577518292799746080511094363900602451231497205957015550969947664242452815793144173950684007548003945300644744718455979923353527813223035605757408998107032406219525648893433294753785294009545295023916143849822708714828693839252291802897974340820897753319189317168553376323258189895275126100307979961435198125593185853369538451955907994598695270075946815365282997928226709235408252974234684479837762704282918651089278321075230033719802824554862214230639593277258052089140318429538041688907060983743596289323024961584433290316026196962091425275323261085895565350820363100606920826989371746460110421640729693119446056035631259597287766088793269119696051339742695167892822494202924847755742610650416031191834894795043615410941801462492965598878196923794662125075347094768434718144130478266311115507434163764317624297385984547966834700070595780411241349245360316026154167396507475731112203945102546702773143229481885041328672841837867252970402771687502318078343845623647493834989797646894235320803942458827307434135657378354648938944181342181411441239887271855110454645438138324447573662684402833074518597253781070062970257000841979553584362678187818703930070535660764040802405553271103713219041813604003819788338911307245348568400241164098832601010983958290981981929146141863228546962566210301506975130386444926344540408905655104127403507737652751108418330488634788795212930612104839130687552398565040558163132381062839106677821955720442846954192896227976724891741422313956869697261027085262082553009333278267857571614136867558467808789972396813407408978081311143009820347348189911702239922314335340894052266603002021699354846466728215890599369162214058872199801489766157369286137502693788215964249994862439535426080499271547001875177829074264983219252800322561299225254491053306696904852535813083368232174509565799343267351542995679404159270339885314313656843518243445320808528765656526906832833935504517474061884096872716844960559943905630341012074359894660992381514058645896762319682892982041484141522167542671803069612213151483692129065241406803935381314528241011238295412034963882662686464205608318511134589461890156957053035997089058006246752863841197407182436527388897037053748610830613794177963077276459921910583249732001336319943586811870528844575266884341883413770561314952507308486174055492540830738401237771442690029430174019234257771781574196533930161737042556596272414169850450442723655894522084512580094259756187995863435298969419148201520505914412694607216759956453687043429284201678968063160326660111112207581154290550440081983598722605069286924117125146604547875757323331605656490705300174428569603858842611716546869924489077822254674450427295580112577691625036909634458134894030087666182020719400294605257900586174842674167541107543298811372521285336664793487705280126075361347702934783375385140176582425014605276059887909143098909128558237538062482079280902543773947289811196837144682274419687095407125780136873846635568750740028128839393699706354377798146397693051008884204764750184184385449727586198284489052559003156632350731918600426305431218147136318833568347753312775654313687295199959920081351942174966754424761630023631884730493812771165416350065036070684857368201039007150842170410225322667038122432112503293235207613105940078113549266082997109449384253260323503530309299939840494982604437449753572125873255348067472455536565222499708819415422040920232370551397913412232874993497415643188192953698314791397407802805513548444318252332462823880334612016325232961209907818941420030807228870659993964369567729928574391296458987992900269022581719527320468996295959434497990217289710706780921623962219320637958473969190761988232186056603079631273394180130563236886980535653974588487796076127091401649049572167458999032263271120355044195459741953244200929715033720508852456638799670118967056948945335536619617566188732060855770324953915911155290686049631395944829440808247196385812030108807288034707110910915776598877707915391654620267499711397468483044397980809869256184698870963455448673225656365118948112334402825178653021046297277490172762891420664245410808494376865674999164865419882263625036981481888092112156540994230954079696718981385551671348073587745177868176466817386705954986260978490933001041367675503391360069699838999676995222734464843294811355498853934564510783481826363640955596393158867563314195591522052792860812413070639845361396297286989536033625135150020994927745720125054321144292840105839559949133523315973277601024354050150719336370736841388392659648711176781909602909494986889825521876800536467872276126874509837403147243048929785368945267987882792560806724844569359949597154762446335223384558049470161740147720788235329340566760287037132947032423729495278960021568909522869825984659570653359745967266479918934949058941740521626710787966948216342390289571861183271031254192955352231115981076837629187859290762159031249938409464522145526170374706417181046377471417245142341577761089113970722433346035221856633670610861377472115890255939678796624616305814448224154307816180349489048892758661475002539047890566646885378274235302166112581758747850174189379052744901920353645767310546077268828673878010773919940582750674254618200054043611052198798082680261146953489777423551536108869566019876115149402532679148165439220206785251999856568184770582818306917164791132697011203576696401024791979984291918593804452710875670083621003337868706156107895365120635582645574903634060672236602664666766134707565031645447379608089959857534581040458924992456593975303484128260044884430885379646159112075687829204553930369648424323494556415664221311635299827859269373245676649400452433365813799202889078567129710626247393329932857287525667573443093109484127845529599600756679205002742738466660695511752686485078467562357268397438697951354729846106095971159641839178167905712354384080986871518423166486599954488167952901985723557151545754046012419016231893617152657374602351224613730747155494064362580893720234407153456584735049060198981314275480470789460109323826563338634486094880583095318972208740658322967794480334387120617754001594587763683852254828652962900989162118354911923916512749829541158105263781246018993457445730749582857406639240318097970717027643616645086421724967903453899027349108409924347645047496245686366436110985589329571310380288119393045203211683605196428895156590352628410184995150223643033821625185161048099715023845313431678426985666757667831191961437774517356351478404032999451240104737301269560235556588938413199151502750402733427141956734889916929910748772903796571986539038183110448821059269977711085139486218814278839837996029875406774923887831725535036212737417132677651900971272949322790277809950776153581591434275626495055742023100174823251340850191730701071260924912504648888508028077634041343906287608424631617604279692986669688266434467935271597100633853549776207442205219704965203953458683475957149626677259640009654253340316581035157160305794905180072705237965549360076607373375070177162223716814976237670616358773828152749355961234027124185743805024318485072217917104013954882134009639198717246747002719775249285970388802453762412521600375403814724069968645561203415155714588728056806092420120367397065656113869646820806587328326471788513513511794695845599239192228658223872984203514580319640810123057936644521113482845118700026414556353135144629807253998391432099736264655747797349830150324224
10555271269458490207426377709762810496267072450072671948233885439371607620957243544460460567407569306611924554240378887802187478155278617861042670316232704185045283952318169019685242366034676324350051348169583902631188853368223243469961962175277910396329878117307138175125591540570127735902423716807913783092808443241262765920861427793602170904115214209675317132135822516095311694749308734012228039948829819554239049082995262744282672918410571267237247163408310785406708253197518696262378994524080207045881835608512975543404531271672741871407691931078198882046238477553529306458511794574605780974744998374112771843789086409613668872231508221474735817229786564225724872100294839862813742842756775043572791779700144901047964105338481523795391455649612082474189274246898007234154514281925930537650196355407122566864876428645714005452218201612959306940013965865389754834877661760153520244432981299295316630127420200477537995439615938422564427723137486801778764971073587202468066385952805921530205966196247300567975516523478747376115681737891110554088834613635502887966078310628894698762471625682762362325146170220834666888113611422773259734582439489738256445237359045145955128545732125892571874628399169430408000351785137995074676819367686494312616105331448240130652742247539633322555177757644465787938858643831258004666856127239615434720267866299086874937292777156835337501495806196262558676802821182471340750644201833924553823202758982313235350330639308764730812560855578760449803441989120163816786537556063119342576391478360186810126587686468680408221751509247600982493087524922288977166351460351504487402913424144817797779642022211944227646913023516793261989394017882310996367007672649241683016700194942963027785104165423224833314530752630684178856175189543294836574188230864663666632032780732312223523786310516570009290346608997151004833570142905239141457523081262414657618647531259052494185438489597843920355017332080857570496318596623919454618228410966448391617877017734693662441091082880774697365546879293175808460168004763441273017696585207311519752057310192471642367859944902933208175117445490550175913684464221291314975137625882589757889741976685713572141198568880536102472992360435108227164083428017336547449199331150251505157859305829885300547997725013301056571987970675795156447658144507373926173381034258077304917671409271413066230743505312491132965200249225461433677952164173377234299535690761693844078237770899159460183064469308727518786469511642119326969759951885004554627661254916427044560213112028421945480569724582360294442025469756442934209267139207405527268221160151412674404363680820669437129819234564560694255096474309690086394297017669095699109677563410700346767124168445250322132277985337580616873578870581589908540636859811385380836090163292462019923656641536945111434336201126537196277066085478609832836661636379319954913469739189905409045826404785362357044067524986868471431075162498316557215844987349863709579363833280198159410098916027736417126785778544455502369907689425223779200088732471100063955420668170782225378453771119933901529390826694583826886447411026886530801631556059852395875921022775127082515536576347924843670448414804637331742349926067383026642712038506818203231228949517173944357875651655428194264079858971239003047006889349673958998889562039071412730279241471493641674655152852468424709842637951097485075451879197744059431147168338860057233072479159708275586455858112292458661549095184862514561514541169893735454757781934544087769213966031516254965458869678713387486834857888165425395227541208121257557341959207269361294254809214831592507758447765172997718952839080119052703680943476842230569206228046729216925741821377009212088159688830780612134022425785086313702019661334216721950887892916955723141983586710797071202918611814369253671144354940816240586947718618398301115618712416536252063834069191814098070950332140097682780261914287619430729410400206655199479028815167223471086626030613674480480206493418859569680050936297349223820943670787275209126038009991526211888566569103666968732050003023158923207377676649752147083085304773591618668465591705808132494632819901356562539093965309472821409436410426947593944274596307887399012742497536926833725159030575516352463533664436855235961055497631778830494037127788280871544551434642810993735436014449047348055758450484158351104433448807094211644688945681936928001935577217295947176655418226251012753913041566186043254664515586978165810044755873693270408521824700162948396214909436071989057003108454941647404454530917115699295121525495756567576798857299700108372464344478933774388905718078006641731107538762097235863363331709257761589893744371853696999152871317594176809214007366816877965982404366228892353670477985109558707663212946202735917024177972298013041268371297279848051361001230145308361773565572064513631409315045062776891330035403623386787663015078174945625648757438254349162951679712023222233294315192394166211494058257791795459284378683515058404708344868077818651686909483772617705510704747001567423351684536937792308884950706790251722749477590440701803187228001875947492944059701881297044991108281903212003023477367976069841232163056224434763314642695950886925461244036741373416994447668382022093029090119967922003131170664425046856630349598508690833910397592714321498212618272727027880540246810310731275952914235480429842375475935408581194293991924357967300741709644375528122370562205595707492535560520745977421367095485507059066116599580976548682033555843445751023694716107280681444938225666964137984724272439455381966959701929891270553829641090386386503768489142569609467367142347378890188016930173655918879788575257007475655466450011872906344052508035391397966604960896706012337281846599041290801127696229080029323099298587458080020681361627178532244502153537978158985142066909493276594481072658907609996060563816742988386976900676318110793796405888344298839529072991731331380231034376276565458609757984879167999952027349651557147080272260019512261298190548503244914589251853608874454323445310547126943174198223579207419859533647902030662898532310268405423599435778395889658377948230056732012437735269334884554761325384522151139976544839675426582234186230620855146784516296371426799418338206994067231156854141937342901747711311191695167501891611919198744091929188989979805005478079582454243646074021046792997019839414684872382813471973700441227748602520267380870384374014686277090042449143429922382480252777216667330963412395365363069354442216584339895187977426175888592108229529024758044778406000235385238151527855200943076993120116007673518306988392381867666094871825663617872031848481675574752060664192985336229661461467388178690282284586503981521489658062225142796497545061840555505347441757007332002945173328826135865563967756681913240383820269987107385553032874526987044602112821585521703194661626331241905319442677038633276441880448631294331911383586549625685506734496663904806412726172156776118246939539470396270200134553507949128157924962065971253658625639261095934616871929828339739401114849076877317530595609808905096019371108153097386632809448648713232820579320310145777230549162342556660534733995904722553821662330583677600390676410918653515961189458183918479529455869774001432990540530688069476199359594369475784698206301475293371835011059826203162694959259952497912136149645641450302227447368000479865290349161932419058389327539981439502747126440755579319131908142521306148509762514913003947218387897943023388302543530327108723384466472690895985198785592005223585880668057843415697515407144245340387177506690442444167324244034215668982368820754721141119059455452015852579878605380947895623008289851006170714638044511121198222134627539999332071639181853617760604940778876922768819714354951359081218503210664220738571376956814215188455471573905980479446230639848312434337194107008545465623721227212187018316476237426773641845316069984550936727609128855288399849915358451855100600262996045441537657548845908742403403185476431229042189133124448835945800698962618129410963812354509440171742090852032346256870032288479060525516959161520339743583870337982093573040646234423050180768333672766928494406643001786965549122580906015123004401461950012122609815558447724645175731449783843530847544623484307729773730305938659310582830157975939902691227012506878732253721623177763248732781608381057158970726305090151956185961988207712397665123271737362402119461887311543879421557031849436772334930579672685054459495479782106026182706721989157097348541738461719614489787753666718764712743577288038606227705466685579770795807188330079949518737904112889985989359825185549535590989618458133457433404619257958314974827483019050689180819596888154169237588972055953105120274048644195644084640697575188675068003512094518360038036744741636596276522426812554982384766864437038372542882735878528483583626485176758380944837107696058624326226524273554949289492617588475409843463146275608666229132552685683042246803082230778949463275886106373978403004932683005626486369893350364539997581110462462871213918766118313313045676664109368742966730409372010388991699326469144576
11333636225683154767608137147793662749628151563681179710250285730277911380738931309441200025528278418687903131020451361439812133984409018370314935367182360600102956713560039831537124043988149003757239749077268080932251118704064569082633046476701911215863806235375052512379384089850738955060858727706188803092812499128473954343150789130346690516944399211647493465237967084172449336968653982797420573918601397113759503494400860802405322791009569973365313209976865679481471501624157557198868804159571893435742813854752872287642572577510929388086468581705987554243088955227309615154217434632050515344767192489096882021245936712752191950201882587997278806310441652602422971891137292292085538012248604823643528922307439759115540489952669288750363024383229582328274424251100492629566263262909198888393822508612996047537054378028654805996610716645898668271546454293777333827314359355202291347278395186063243193090549518475197318252636899581316011380957812081317857544507860761001118903006053808101844225239240918466934267099262209032865666144246690959732995936079320142081964575381507980953146826108854504281551329879533498026875513048315795045836304456081184758088918014077916205946848880271287752714596646384291327361918415726923186504238378223063394043150365357919477073771475065396051576906137398638647067280705541318145590610407840761935093348528569670629628632166405909356511709673525461736537287704812614245322234452182295500511903951501397064405299654479141249548095180138821031008242876072851815178654091716022027655445312523514486063933364821020397088062014271946566319866401704024597692568462888109448189282955342302335575974996901509579867617840276491759401801415641226574368191852391676939181489779212697418540426611531164485240216033763628572971781683763124792950782327957062556006814811304982623926020440292263999113713536815730733430421675012134904794851796805337115782096627192041618422118060593957509307037700113723228925715224087517230861797639735898817645580030130321190737431882538198082330300929762423328695424781138121006903515679070089354786043998598292344341616216615005896122317335243920649080423173432076176762789066201536480249940935883565692446136895976472767201727831658541472569287287507648079965837168851069206945258977154876321195276803632300744733550939486803934473816611803260939447491971274412115304668823737576792031336270387919093880644128601547039019385344269523796858814951561097470138622830957598843819017185145105140778039950998441366162443579157028734212636708093342389012504738114119581935492632241180779357490150739871929770495755821525156661525736373961191659572203739418324825429711635245608173609621255774239730062949775044392580362988481051455164407860886325022899733251419067308881753906136289216416599975509234785878096962106014723551423033593607339387408826838903934382947990342434894372159516755764268386759926573316296331743461597305753436312658565728562494535262038817074341758418299585675152395105911874766442374116044535116939801111583716201501005155065292286476536565367009958010042928994450184640042501996350187604495863910329201954283996086856623976049179664164718581516674510495412030751826536080257622135810239892243523907661856997933986220533069213973902466016174270340099910973688088810139445453440930671634735110885090540768892318393697971266852766938026816146638394808249250353104826583036426728478394013363058764362944602647934183636897147151136095782784978101384696324129343893574507183638284793393365090252591617409731894932954305092260863725800006653332836295619531877607540991843282702794139870946998055408159567105281992105289854785578246296260803865513787202507762865478411608053535054986615937695838432063052343433088434801816621771919383210471842783644864136638847204560168718693712467372913407727279704373108791846373235841455442216652073981957751798385671158663083053144957887360675531617091045514309446651819044920148169238773562463930827696249746213394860165096117006676013069316140210270348112988752823561950484306472384399036973498741631579297039952654793416094902337505292176446565636782787079556908294695192171660190695719433695578820714251146095535096825618786071738594502143843328274136759396494681402557928547615325798596972180226698036021530337832873884774122992373881819254246715109788836556354695188664900739639589810454563752932326273871019706785808739962951210348449159880925754982211792194669269638985737607116233852388664418807606373474438366405051893693454125784971449197361217308169671553882748925374557646078866297623873752008203780179301087476161129891265118095709016847536615774680487548111093108625776473926210564988101285958564215466615689649048023922877013730503390854698903948276395391621179356816100174877329792126683382406601381046556139537335853508075889994507288270250510285111207143322467185413200172332154312262301627076348253801762000271151538442786507379068707184917995084792246160609797851609371134791523512222954888799878883624668686926502344177542938068406670916373003522866028908936369758966570921536008617948164180488275298378059054070204166363006924117994343208238155282801981794262920120574562670392261047585122103913344419676013167455839136130472734258582741762508213319805309028730837321059530977352910474735393131796900475041723123738071660389375855031363766284676413229483973648370550138715513226607015529469320322255256276023753716156813329281101393838430759866430170907077462666541797969605599138408175637081521680190515166527774230755395083071506280547299149231831692193738574650925994969690062305524426213751399820018084697772966146529009656827509325360405666888516458463901742251169577001547541943086380221530820475691936141606553236114044111529695816206572301800677789278799513169342792236117273805930312527358126198417862364944362956370285185854556311796721700868431822529353726294615290251987004650702607058018089843395178056641887965040743195147775957030135170736674157708392589901723983038042882722267870921758912748735546207810889953371036683727449434664509787496089373839172260853711118521923407950323497983474309482887700177284599209750531569107150818065662355889475013918687054514084554524770208658853403034315933442094573370880106386221118422521657748194263023580393089928605426699305960990196465757461036040331104402382805466622832420600099777271064941633549746363162881577969075929797797901970508937310827257529363648813991793487583883562894503469225335627445950431591580693682475142772260989690023149866102663814088510877288137872168895107704452923961711082379905704644159039334505286974955495907630268506010765228813170961543443108382934292319330631134263064354475574805962210525965329227562928489980538499099502941631326799870902146600644869930324971734846222870865485003865902817446215923782089926903162473527736825710539473636784129140647584767426570206495441975303024645579822601719714111602933682706905012713800942903304279427390418585456950073251462731623061799967496904154803166108543528663285167489320529050895367500108823846782234979367233375161074504807108281518676237725681290967149528905882606049242734673001208059172746035636503681861705504126496172549427526095368901505914096117545325154409881553008971271428002053568541852180682039972355677264607338642766437876764166935694413024958490181058985683323674375396009235002437960506906654311387085261533261056848004497519050599780834483432133798730187004487319054913103777825352555255523676301373145551279222763287284569516059605471547876867781030633354092829037293148483653968843341621044144608590631329166767326677440425535164622890828842245567873367240894988719850822508921437903334676540300861494246026033959440315208295210537511740053978390837413164463664100392148359515777383553793371235270744455323287725299610418644455731146519779968456627372257447801264645580681790545958284508990197155414076567099031501406791845743728174332124076254604427280996630112402841723374622811617176128398500889443229708711902229884253537183529781185175148005776280180873576882321932754024512103120807644596498089196329475524700915225225889034925576851201000370400634474978273024360209375437233684389632455340713888137488741720319237380928461762654455571648140041621612250746330385782472613353174998031238469160742687425068558542842829941433817144544285982654080259790556907293859230060601207206782516918686459132186934502612776730000921485625432280245872282908412815600736362802980123154600772472780379581346138712298040333299581099531126173352878010580993647114811272925698449929568769996017773038841531994965294517688124721543546433354227133745657591791941949851559062077559340111595467549663287053096787822110888300286219970234412065687637037775702204513749470299777631381670373472217644117150306796371083357892296912999015465111661415114774204308730283677907287631104798942619292886107442835386315292186427040321416399037158728401506362996239400450424894973239210667166214327307243984067944467673158750855987075989058501408467951399683298578137501670963074253596579123500047675185737520424705892241923697135910366869510230119707136553147856635028929561684281075369129622896755662550776753946624
12169399233517506246245857298314125016426586781735482056555933296549776592864978572010102536159580232861784794637210426135667146961751726946991466155600497611380283329411002702227324294706091345678081461379528146157174936623342806620560414046570683653207661042754182208738022452632912333354900481293562501521253334104206034072907450227857829228027382116098541678392695371011287281624313158313766989534485891665876464779412354065144794880927386464656902824411854752489434584357941897930097720514997511916828115743294820159372388539428966701099168644639680108214273274180025760788427469554418689206430314118601986214205418838539102644607886578270038652524316330310899988657890485660125066349293151284794201070835144655722841072427632795771597474463405406739919547067926476963369035844780314760802755410730374086187227475451673335657166928709314398189061217134133106273597421235446372200206121482876366125504630837129880067260494837366147090380594400011243472683612031595855369476954599298953420196172249380170121283643264993381218456312698489057068017609390396618039027800673525875339189131605932257977888734494475998440477714401434401900526437152091939214231393582622479425092529163754850126428631954512951974788967387841816788184953099964033967587523008005678872158317566195888875702585272247208876018914235487941853010759576588323621736901659334114252936675944981752636839549422209673795431754744178269997980679488441858751226644682597917622482791926267002895243410894447866267044351264789469864911638930304224781998936293401248487156710391757379874710539995829473938150830317601996079667284652586354946810394177721354254160807483751421244640529658353420926061059400916392751559373967168977959095469902569199010143689087603611987225850642247404128801237965653608799122595359047582542568859491920827862902631228620698639497893156434013869606438746416664954808490514111440047634767619025430765648477048325498459421835636156874187257867025216299487096975689608918874738208487090106033048262014632318558594639490792000311613576944954046845885297517257316367650950012799183865098603075536175536673131542651626842654877500932825814144223547270494531906111556387886878230938052439476130141510617916607265936192498468474463332615859369143034615635842282651231614626375317036426966761379761474480532292328999133330270303581461542869214933418515920202015795672123681435427830064939515686898473990914826429250589436567684445028430411360455849222522638265050898530789396129937053660314048981156415493887742797501019034804396311297080061533309281206657941053022517465035398172014240063040175632394797120236037762645102862652797081380155022642008320903391124202699971059326276555770211021833735178906085516428020886745201350492159920617465839493903975826690801581641087832997273740571130636960725886413219333623396363704864665122889647420428084409894340292888051625141008938709752170733555565033180400621842654610581780282293877404206063283432352101282404198990489594979408774252046801694995343749126962898040813033209778774446904899868501739866904896803427132536019531084691781193579515532649746857262572310293854525178486303932366164406775313650857531010316182417629582007662699775124812800449908188802596026043990130584322258304974536847978751125464486073117855526171975618625539718599371650336800411638009773170080711483808530204161509841680320775420558473220293878743532499131091866254335658148080170232896482457275158046250186380860756756736924209953223260874870289654981505742344004635680216286713258416668100755935003161735323151919368288465820736575491445829641541754299338410318066675886237487528726161915072868319922263024567968542673338256312654175819589269292528999915252681906245318797937407657974898830509367012371152073786306781026681736677757929722048532530607145004331762610707561126037186541340434601090770259506937910805367092198947356018377838291190705008784601643348354874210497829588701416482999021140400920458707690385895245810065722450095350822015427115955501548256558890016915033030251103767978501196690404316564431524940931392974796031190665225374871290607067824146745166428934265809613728537863689489008402710333121556525285334393311928302245671302376059841338415481428464378150773339769549673871482694975688216006212199332649831869954566493187627993025618858169202841074644959562265689297553197841361869392240704139453762960925022551476501812842963177177305413144658912367408250380316674351289974379172528468668919340743149063529880680675649097969459334473235746977113265717410093868346262785068427012389893417796711836808127347929571662006323120695728692599717118092869089671364529817773458394413081894329136252941710786745070545600050663755334509320096223098443944519439618866234339503067247645854095753676525848218185217515446358204853125605688592587850466067600912895335845715746717041705097989315495125961296318864585034747467963704075790693074055753332767861053550161297458327497764000315753161876969699123482235487296147580977470734159890015603514100267000595588318067564931206216315434775115380944608945929494601370297055645643014500827084837298095648679751035762586660585832030849709297172718199803118631975123143867472050153479318095665077920794996543784988847841393117670161734404207416784851086938692676313617766262985494762869196980802936107618018155190803852443969329133827848189033142185808713754858626667405192782512995014209802419349019005396686728078397089272864493924123812579487222965072275125583308422407196049191494814337830676102312706769835160037111418524845441127769832214607442679306841925299489976373233408064310097835583916389491438144812066765050094881548687742950108508686074088624027249786007174780142762098196396330355015858813704123338253896505833800762150616861600254287035790015564325511381449916313939291062434859650292939324676310852369142312563612776983133457945997941900184031617613443012839343436098386495832673560905644882961193347933791473119589161090291813226284425989140125976263084159078811148025595891877556422674844439567291903397133090706019267573570810224040876454114836026921296335975522688922586494351982694170832916449780902043847476425599140583265654217026217846722673524966377225591750633916455112162318407470049840685274966287016936820640411082087686399260769754446874857604948943487968771203341486309429027012852061244254719878874624513804455583470445187460556429314448496657836830985060389640489825962874620339743625999277830731077077806136634947931673810651539454430014998194566823205332426108269011255735496780963755614212252624597841119452974132156494683460023253754020421631543471490458435321557507107262333174811615803986255602310005222011965563929911613269132525322646040586373633465435416491822215229888063322227704873622326695621542611438907899626216645028345694023853830404750446760504317730490209371221279586472514248032635661832257966951366951073576220749445746059814405913792619371863612072045445129959204120968857561823266581531529938362510450312097572128525383753380732717168715738653517542375530079128432591481214363368913561030641005741859248143113749187327746536360695659644259393108464344903383751623527042241042025449002255836548352564435833969147862351805501346702009674431837380823911163958094482854814438069719411779443823373009748028286771296365539201848506219771678312362380161525915598046232898762240763848144039926308865756967218482517125260599878059310146892352211903484806123126778267021975008848038183154409169679228638071740197411338610664857498872115823309275541446690688802435056616547870552691069149530238742165463838323070713944564304265142260432580512047168629561007029311270832656529603093498455095386070889839293011876186972615834348898652826672878384494825078564594997696549268742285296713471840014637404701504248517759795409281539576038999714690052514804944403204236594078691773922048432572472953987242437197326467564887431934046147172682154744752294839570933057835085835864543896395811883306590825585701893895090008090845179192185617346244355028585430511622966315012092662187602306181505154855717768403416904382588592460738728338652871920453237546527647803876093790764279287136671710879124314240475807687109346546850207228436574498225855937110149736695811091884878577258402855623602390454977374842842366636959996065453279792624499189906431613507313684505570762812604887581258312695856161803975651775944957656241437379682073521123201568110317939197630071765667426732195123086959356299909059102660148246476962150059430730727418385469793607001270101347842628960596359143729411228394152119647301649659642778462280698354334690127177735729556558887795319660880876908268426227729804654332733809585552904723318979051207191239387955414389318717060714154386978820186519331840101695083625559319682913132175713203691535758823482604713920353599523915105951801310881119229930043433926471347118317639190565670656811354046551188198980305648303574301250083307882977813163866141632650086512985669124292918279345034947181439298037625967566982939185704229428227262454840893343966060959399390599831535973222977084475394079148394052524986465120330400473995530714581594588789599524399447252402176
13066792929981289092775419967935520720101913253114946388925638975859690025615347477631042843603013634307357545289223741230728513835587357527212568182348746120551108579758562887158496050837232065418997705162240107914143607137032506158039814880560026810722177418820617588438712966443016891248586882122627679841433329727131593097249794590849281167982633195284627905497394115946016330359291693355024931653747792219584593850917978702042386879552834754113614372874736649161074031337178402369484950924015647801036757292688495967676479165563154624073484145379017942170511168252512964755953789251065990608201598010600649007663781134376937568944495899336790067311961620861012240903102642064948532810011049371242868922421281425939695411570562546134014559624130342684383108081969227272541849733095796050558474298943501043505006834994394951280690656704817207700984888133264134188998338119044521140432214056989254130091155235506484348321526409816110132677552285272258186867395757714079375262379157416447366692476428867646735457400340719308497432623661190002180253319970963992736657013881900101897897556851529751901616801445150376489699696492747242913020323187908564227585943303466955761301323633063327463598109880663422085034307858097787781619533190909836166755383834257984234549534720298414462698203191738254637445538829712388215257712879391414302706066835802038463372623785661630722996907391941561251551895206534629008796251110678948333492459698892589126566416411522405199751940937785923398484272815951752348743256783854267192329540221736455714476886789885323632132586687146891739310535732336466576622799535995279078099615626545507080612785016916101409812672539686499021788571056512314824559741047806134510014967243321754031370679223012398124152149568558299168524172186698955264152345140437686182048444836454782973103093189818549961328786241946575387992515701721703292572946175308715376014002269068503132693112288691156861528791781395282439964779698005203405805771141844338399229431503420410904278645135621220418454459083465433619200530492039305856482326250962542353946585662075819029022344006178222898731587154398691602599609170348174091153503590709971020070894419303408508137353317657370749582606988997144965617980400920656976756184071530351131305087968212350256989735389311423271365733151277842293656196056240737516463630180592249626245036056835839530750888921797387658071216474290194023326980365821445158786934854695317795461254601751246185015660439492007947241288726360417153002411483365852231201708885802631606820289591978510998551144807744358965818570356878615978964657784835879262633168807942947992190497795431812412435816863004091414391313509984513486817612649988208400121144107448658635731586587109405111643889921324715090863492976755875691885002889174293386563146700093228148611872491629641346944996850140639428783202200714171927346215105912593362310779785071195050513502391407370404077743884748066202568090461477462828024603661812082725841201423729307256366211619706996968585350592068694583549722668612721640435911104258339342418311863981128243618740315357006501651616602966097063670743655382039386817333855801809543357218006014803237643864511153460525822317141265329233306906324013632439277435832939625467051608367436182507468703914946698290123372163559640376838426515390433336041086526288316147441573468725375842317688175471967999778854305164822134213503178115413820296995583494417488160064084100773876858630270468951484925387649999029289344932898811011060577548172662050925572979730916410001057296558508293429120327452886371331606985048519347591698741516502309433531466688181332719705456356271681491209674722745146238207367354984692055502128809025742476940987277941899260090903645597558799536505536016486594584948831392688691629283157840607863499690216204335937451704383674686756138614062662568727129653527916048007932853002904170567273904931150397607960150727978314191642260030034070499490613428725839033949508644424611712157778425109028326383443130965550744067625119735259821562530177738418922067337842508667720537494165366119113177166151618276558625770867385383341667072791037398664587444946515481615686611015297510277519629587717178977071924683296210490400317726027971860840298837466914637112854728006481370970487631100709816282242491013225338347023524567255464787271499397159201471399032793402798972049387216756285274305109741433805327274441663512949661309907427195085715019636423237092916009919615568113842805978328640492305038426390978465960571033014837681962091118230141208084186008582746209332066422692785094394757590635428856748996590180899901380887149203875401155560265060657736950510815438460835205213962678342016578157905840127070641273574193063565767505118445234132550057899819295271709458680081919082812423287570248941345424872120833036360739953174181271439674675911516303032071408465478372315985146352248012792062822145144212849630729180135733023560791661220242096217511867027111131438473620573375967544708329579016763726894331771937129003459412993505690830408106516086994959324471797226673494785418945919252569052908673495659950782228042976523581803200453539859069005609031895500193362191130615992482894597040785353447120873853400816362958315627259776547118997389789300875908868206091074177224972894221657934450440425536386023708832225619039582637600749231109219688796549414485264212653816487542887041595222235790659994693045367138570260539168431428559465304250963490105632136355410925620120932755771211392985173650649430065156584469367233643662361250456385419952917579922218094933274616196694286554946454375504550746113500712544352708633751598326489116031225993684705514668329487151921921692651114505035318300669410930953525517288355715465705982301295791553141589537707809281211871204193511699812597025628724593027263920450792907576531010645704082089542804799270224213837588007631699187574936370363123636149628044769928827526172040038708959492343308083402228527018266627095887583074635959719760225857964304372323057342504688834788841832537331631514217945802427457241779094069481185438576143589975963119499334399916341007385832234874551357122617243263596055424303308027350160926117315019821502708087435543023006561355892853907420878945805014610775747292350905666541308316552242560073260687195843390646122282251167783819520704478150007644510446914562404757351863325043682565772443351898392767509317522540065675919788467022998355443622796278459522730249982819551126903820672838400651949955008151068802214300464822014602207649184508790887638379165735837989628409962775138151431094504456284473190063638326886531654864667999568256734855902543013456838938355184202244821269617935209759428561354563620532652854439291903790380960637664148125590854742684065058128866464660588427436275574336926553280567977300136232712662778651896437203718711368183402969438797279812097824397029850792963174548550627063215851472892469339060489470536522363305933307352073882082569105466495664734312878437417765628307024891909669527969544137173016363254407981654994114189212952959335229966298960130227541038085972258736031919375793394458422252455570091879812251761615679495310271885415535535524373240208887649221512066266101162050073946732409896993985447328568709242272252290087232957248996002327429584865181914515560372267096614069319217673041406830378633336319240092986734657223823618251237516212949045775740101459440445203707105257121881624450188552988401581257305902195659682287682932515479675734494082908657601861375493700452756186162422570798096909943539023586859363235991557258958542993332995379110562396697126727290168210851567055049671818710946944830336362028032380818340416006929505407614620861535609073715301933741449345545442390662141564025068291877254492287897646798418891534647968610325207600421504458869952953622819347347208699116628786833904302248786776581902448007715108445053602104864855917806708121804929767246462769206599069519538557765368179807880583489226681038901742556597759980244106077542493984286057419871168409931638860407424231315922453318096892297375297051371642957154331930425935820040180853474694434744194269110386250553785624398705842189913881419363511216890311595815549620128551584695317668373830011048663042964239472170036915317873881467192879934959901121563962401524095488177887596342485276097246171990352628031314971507256654270018606032941172089023477742182815248889210952417039946789491978157415445956441610162672928980462433017253984409734918643356813550987296249847330244155014110830282574912983774861212911064025471284485082928937897402885105958794747096174822017487883559909983753816134517192250977128483630613934444030251344757871337294218203620659372039828706919103610860259966114735900260998923297243890277062925374111134874092240236441287581252070424583940596936530248175903383832633139040350306017795838664677774137485840395631084009106560229143432826138559525715851866802827901317853653726140388326886982375943789931158222175658100841808484041846211032051378760783546879349530342290820200127045137103298139134030779217874787578448939577688640691607151567528610054573394811721663596996628930772633615943687598425717322864770595474545558194997386100839809024
14030362074468413636347984658737107532392021802289416217307228994305075536178829923025355141912446591598051067299013707453186439294632805382609352595839507263593471211652008794076269726722766285034281920192717909397689392125256701109424903094474865329233733538936061858216664972800975748872067316232823236625828654235603699060266803827603840870398522967427864566410071585302743060093772438171073149679370490853829770323783854525924145013364729093252543799963135853189859700207015096773616693145703047074426796866496647524149587781129779633246697176294347896554891180811824163360705536530151190700017253207617112201072698333962682048812588781714405357180628447801299734033624838150036964085545109612032371223753541214705809465224206532992020941693370468567674574786722779603489630848748193218058652412404716083398969392139348664764519921709988258183442360380646986517875836304911593266534245669910081678043610308839882067994207105740121598446076994643602842165930367017777658875007475063919323112376487809353260317674516142171778052004647071710951589176567678504599380853747944735997634384458905252997109492932761601206336869324368827376397515168854436498949281879425194602866991851379723938273128106215965159666620822131451823001071242436067705233094000016281678568461228924549369485548656619655264987231563678205117646921257186029203327300340139989282579878255282104419325138089382414879649054789721349271068198711942439862005953967335419428841990814851601976048733410078527911412781928713650862935868646796054605275279326768666406157635627612972147596348639295220892097827139656133403698000533765924612707719736545875591742086821783365582741230511077693847829476028573139998185016349639030067172817195144551992523306329036235136441307531264601199548828031836204764225340884971097319452293215058340363063858221677748064512300403133821167656591507915301633754080879329803810938120645929753334647616421096057341168040315871579832082953048694276266440900895570502636861849976965694243189641832170656585217334157213542935231299032289901750033215212471601982803860487369537550516360589949272324362621677579020744588787492256775163704705209479473738078062783094262660944520593833876675701075667040942366175067562880797501500510688244745695087988655468782984267027226196597727432289284950338315174747582329536084032888299770571513947663286612682006319763560512120382412476299003202035921010446409305783111853058249725493958226437412776672971756708864790246693357125152871195265696382547795834044992610958725365507268586699222168388367583155557321668785388067176067849057281425476540103513718740566665071762858334933127354674281411971234751268817966613723088143362123812466038199094898774709883785356456787532131434002578416077944092683873043568121865000467275634799450228937683762338655037217835832334537745544264836787993631555649067918320487318941181417869541284672943398140194378111824718053756614234384818214936303812671855336252711184851283623551066503255707091676514185270611305044407320055439599612890371283805927344188203452739198751831936541881102586793767372263265823817500871306868427966338388041085609145587961584986345343977799388828542614785048908453907168700278931479148143532696215323193303552730868845870584588809166339764550808684814750811931354591010539439925287962391161185678640530042568029739192012015730888994502980952178618257928739025979707899441317920504259541240127554485613619254342349737056754945302791294239217031307370652015926942447468711068362017496405619501389215266067103535241617705710875114739486418340992977137892782400613974433715831372483803163063437207417450735549123918516103247067608959517113979318739753165023286248390144893620178129877554257286232172355361577808828440010141191481166254016014200029712254188622900396182198026188142976835653980164918660475356841593552463552612306909388052862201402111797388376022345896369161974362912579045840131077640267642333838976400243343335768250010304055981964415474038625550843221337099728975412756277918465683099894128256697185839481614059851245509574364384112818789668823795278144552443620220817939389267294329287344371115674265808723944040588042673269319811750975662588633095384250371645324806780879336646446804462105854729496703191087872039187515285829599951110844182919750184239753693434652671745920621406283481303424136534953634048202177113896708866287302507368575940361988816955082230147598539481528608903432132093969890113485353814140448698913647869924343138955185225453070916031693907616142631472545877430410917569737298822391306058895439191406730699667902308910619950070133886324329321105502986748154109112953680700620296945809854596510882176469508376798293222137937237059401255144905808721741591356940657579375439889761203792265399418430655755626414305516245990012861439239310919988102275392479840377823393084623971788523116995401169727755724867372714739848206736876328966544295199413202612814114174692843335763721450409130340637229219923350166612010692557652060924909497812417616100626622474954969535310303864155390726539743350227595495610211556111584650371636659765649562819904381664021515533457024508138348555013071797224238012153533426317867802796254639824501164651907857581616591535974202363602898183185805383837897172841653792122050840888340118775307465228758846167090589496159463177811091865119333215539616816832795895572810268417793143221344865540852626118092303481935005320365968251144491623427402763275639544876981437763127047793481160605057822721669853748445578380189809211960113267251716387348235379459444687938466015886882143487037238432471166112672958267744989149999770963516239415228180222830858567489209303852375084269479856581353714007576548163742599884972150883905060785794043280477699916652563517243817701522118388475561491310752043674225278827487826963281718867071422551244364416254937787074986605886030314997639915416813953712817039618133374008964388770450817655666252984265426889496266156349511143525485873755382557103629334708197577318018605684116137014114972259059431601566469893471232310786498988381186698756087945285352117440676460975632197185378514430435705341350496527890520803679502735067365736472202742591447953539154244306103119621694951873536521000952651922698444000163161174317743492503897158327490711877871411722328409848032133757353830590857097408645985267136431108597849503293604054112853862533647331231941906546275438104123035870444013539846548076528633489862963881822411573267533847170063483239078219982037794329075662126581671727412297820796985152101995649948940569611623531267018505978029693187452740128127091010851198984461173701507602786943719045174339284593557535240911424666545052634774527484451786044316166329957705507778105449128638671249955104817091758988718178955179107873510243702238873961382999846595541542222388727402782670932230447591680295234498532172884125404591126859201151666216646583986884410426679780992903499458568420330098669909643425939913585480083221515742890939452491402199237338296660793462634602262391918878789797234982807651473303979533797449269285321908626847632785340812937801513832309414877195984064432888293850780181996123850757319398681165486178546070572331108165978899336642713974051244033293171123066078546442634629450989707762487684703222983749870500191333575014879222504515797576812369166626303737506078651523148115363460915721480830302671491004645652400518760542038165749228454029686964703703852749533232142837164692840055258084216299549238814099117754824652053157323171427517711811539328201333395112492117139834586294043790297749746765495384427719695791986578202947343029224089501309352735897503827710947450936199283775789986492933696327762018755046270964689569587436488450702489609444847622661401152398642060912471069013545333642055249366491156263217153454043081429898156182305943590538059615274132419913869186614149658501847829666682968858142439460475112391355984717742612134653315793418473667289906540848176572009499702035501510424949962928196338631781202213491177625283149077274956495268328209344115301868481609610691646216476985424316879542899795140204880127924932990014142786446845314232454285438147085453068262780819339016679338093028840877499143349929331608513812857620652675600747441288543479061176845597127734721679902669426295464163755869049800706089938941225537666624709789192027166555747658203565959369714777786797315341969049681146612060660111420067043039045565367478904193191424116691376334900609550465065016476139432097889370190108645766422483839701884097978236490319462635844909040340098716534629540588665456815932799991517359231632903237119366922847720295889548209749467990098769608063613078609650198216740276414879731570081745130214718824527059963218748918949410853973972338417812375722659396402146301469214817662278800907567172204223617436031347182506280267420837574644073040577801775035310590806327520359491781874713689174673479119124185916970377042179936698201738722154663911488377598259377113766842961043769892318585295422272643274689620140458477243625420329579989349542167818096307473013190760286884415562628932182376487010155650953561269978977348067090603219809246761215684526404693227394641027147984473241419776
15064986565220138288278757746196399378314748573038005145066644428730817418674434831735024428324849251565074427846789731641786801940284301861759984135715847340472102573290717975815494251487284613218413771517951359554141749286024366717456719039684686220765789572427182079018391235092230089573659502782616430764200864710402441570117963868501529645587457657951887887962119395973538925548428828802735307774152286021166494972960746540416446752290748593854852472412308623763876172804373567605239703175115487528052892621909594802465462432958402364120359668049942671337412172606401877934197932720783170498008362290616648748392453865710851371024086112639963455294499487008456365991979211046925475484635698029103570624838239470337391478586304091687568743380037255627589565369920128353800952992621553102662727180277440073590945514835875497476220151221219991360472326633981229603807409079561194312754599104073353016971526884558938295632991959151159035097286277873060345678830182938658023866900314288767250587528486995128733993846654400812968286882636603255175960138146437176974131587173995417081298403654022179396297813669338551036452750426797432355874202486473430636873976008704156524437359459893601698097851982953996168460888673471804648197295389807249541204476696740938319243881268818727198369462956199538318478593355894208112068339818675300104097922336217732507617769903524544433764634621145349186399116569791338018057838113355525960440581311746769677329837425330005395084571324627458542835270885051233451267933595835207427871878446434079892995224510320537479821300603696768555164028099371079413674019438278797482695280568799567917554227641588033893671391768969015197882000031884399459058536144731233885916983258333075200114809300250111277495378417564989918636146587966136572776807468850640223070215997719566647849009355421661547001907105296844456649398371331886413737286770815107441518848813492671521414614053240032688714361899269486278662363725811353016688162915813105021900852430281502522108745598781622681088871814383972348777568884820394001861456562823805461217833793949696211527929161693847733033841037505637638428602811884175640634188769008792222084037387106149953497663105228749894758329465490558138935692948290862203835801083327408601059924779414358616587041116913995426447401133318232011952820347790106243943290758983912238908605417905335958997762452713018513519149821648467535890339276650582242132269498785038499382007034712616665741345549060716848861935248245040196041648998427072066027071664157344162674841257540324950466560949119919794305196346447797465621394522038272500239955969169519033747751742404004699083832257849179289037359566917795790132093966420314911117793949831759452355686516666401221931264553664169182562616248406897185266639579883493392420319563016766145308689965369066931943444737097546798591802583246946587690517323070408773884338147453048029487767810519268336348731326357020092718228014130899636432262212119432567418446693051504351084871026475559254340116273402316835279496810174601174310998088560117374627285064090546883931667482675058090125646053862666028678626169572588791376455048904134699424705169464736629731266844570461027782892507303246913209195191545603011037879022327261294923295669856364334244253578192515857908031638908653641342430621449317120463128812988586160568233793896246275268000801442099156741029526342068106703775434946933329284926130639580577782346042149297399074527113240446490439356567737587527841268539650672234288078005472021358910483327271626533715537056327182876040690262336585431652684853243231295691270347628347403875567182218764704494801879882218657957869508073878697095510648123369601899944721876378820551241700016028379634004877484222832328316735969372479563581438520715234402412349804090007643593119566995944968456407120304852895139583310446362143540088854675458385734130604068554158878779713306631547526338955703874990577224561955704546594127715879442290241517206045207351895864672582574188058445415405216533181859965344078719624265853086295481235976538951959495088721522122187477437934669000475217876557519076476433064337011753310636673849765157877001159320082786614934972586035497908829241727527461504650974923128939105348947254665834942112879338328816686385312267635802141034556004696068659148042208449929184099260784566938072587996270275808529808666154778345109575046507925684300302301708170486797092584952119868670245002632542832153857374788169211533330801680522378149967082346278944023626038235831591781221858173444480961491216355809851700843374438387493009420640302662148147338209619423500518159094487026094020820504473428410821752037907142997635574015502431632378664011459804886678644425225908517681900047180547365077924760264096729038009608034553884342767063634271528562404358984707230949095625228082879731142995478471619690512939240553129822333353908807451595214015445534936812596298984782677526961306504212375903164592726878948243089182703190225158209559824906595148088684261334356549054871451216029300961618597159217543306708518077092457458147469233365249202590692549285131250020443424922035974127046714273518617264138478520981173221807500055394511460179869149219516978365322757333622920423463868079617227864499901662840087106900212803751123830691440605929647700516180099466175283875544100739587258338841502987403718106684794824517293305167120167932062822416850803657180071658869845283230469341054443662139459097509976523291660574622225419682739904597922516241507636697711730194634433089669192494679971209462054634825457420881984779522116273254159299660393810420801084750404490729228451725884385016780963673948164363327799608663132521741890698236219449715665008736921141267669592644960829866992187479287432210969369320315069099831171525281232271555846974785689975104167050186490312675135360661350493842184482788447857318030272148500419742979635326544860438474855534928251740297854792483659615149428978251886486414570602768466367263908193276757380992572338196682235118869486574421830325733199628785369724059151874612269222640656886672911630298358570213206900401475106183063014155001840134958955992214946355367948224765162834680052775178164222048754766298127943812434198733698576777994688927596283321390177206213115334262697048976917915853205264861890976666314804114860187888317245586111233075472013897494905213591012198795396197008143968424596930408202323746809717469797035329316320170455947982788155529211795546511632944348514116646758991433042121202688921276002186508519838557685803523085560911462133779970918914243216240954082383622063969481650604506689255879098973176405805370190162288307437604966320432272909033461434341566538520512543894676594238806969893392387281785267816172554776509132211723697504863154164415291671914652893292429534795650355526481411001487817875216965813640685798502647762364901185427207429948961660635284152570414528014035772984101282253446458928707766307240734564626268074038827928754447358331727675764473942109816432360791679541726711031561613481856553678735225579771791795680596496334101702291078342824949888722596152712597014044945477796012265141262613151934819103002227584696439569984442067912490497823575198847484367528014079478119239137738808071437777326288425099650984583218392269807418120485350775545250308310639234861828917243511700640726941293374734687301487794102373925435612524946599493102710224958824127815282202992490627288769190886822536231629978594407111227829665405752278480673076137155088530062062383614856206695722489141046047551672828582510634358900199971043347651745651979730179316187521114339000942320412793063151322280152759165875154794901976037013334460736385126588910347137857990206033291855965592190024018042588982593212225274586358313758516607772219901607275789989834047251508966563551058605935810457832118429119374353426060396945445272725185204575851823332473438528751195996745483011477060198100123085699576864145077515987184907673159110811833385959851619503547555391055904558440788303253917672610412433626854471279517006697128736750062100931804207894574051613839978110042697183527420194381512283069923722259470883775559461315878166749808624442972690714661382874788269290243638907121469288411690738990590792426475346936251903970026853372493585510453833778026303041044711036412259525254117861524238156993498946800137609542319812517702736075120288203225476517947435860550432493589031156180981645433586680226016995031288576788028869918608112213787270906615357428178959069680006299111878898138484063408355752652024647599746361418978153311960414088867176231952082075955681327332916924319033829036752020240053545463778464750263197272328342718266819117989015056581187835204251731977143716689956845219869702294821302263872375230768574071410707178287134398221618423579607254408598164522655683024030885085167489642502044921554265795657913006063137379234891836852058178903742452197841583165216092182956073794316669002885199238010166531672455497778038428505117155762807239865471712698428014441364206289878215066565763483021551832851197449898918077980837916829393738014223010386035643391175876677229816996835178784217322983579368240738674498253549453821560790351468143168624315110366221921262631911424
16175906153074966247188671162855050930704144178915224865785243390464865900138459318396298214354080899900517870851968398997522675334487605359612761216094597469064064438160269201621716685053471693404274113416404341550943988632926501227646870142726563367552725572298142592705319534313543944606504536872739641861122750376524749385551886419330928588443150337172028205063953723138405941653370170972832745558619655646137014919953702670708445255403544573491144484978901941731154147097107269657837390844467094989020764092325350686300185329768232670576507145507979967017265465654200786490091040256643004199034487293179538511866230481604220607716302970519103815781258336347524241844639327439606709638940018377282873007626630953828864621619315096827273300642269128045522284643665273352924352599235724970165935939365475330668236066984492017297024021797828581028657797501494785856554964769802197900995549706396487898238910233091351841056420020796298994059440185453590656031257638814808346659081076690594210357317909278109805953363711472626543651211517500308376972879684647433505614851228220844504514104227758039841436033296527708663397866733086253496312983292371316739574544657718240902930870920209810733245084918659040754012205876914555935527042263718427130796057965324109966376419374420854467335636980490124382041097734912128169287855609556245997521493003900769363873598151022748369079485964802156204521103417636374582909968033331081205242821621295289099444031086697303794847948248363583456268325891649005739414246131902974427021499201380415240066417189001080738243686504265669411327668150605956062487192173068931429595838994134605546206558006789953769564542254631376978057539651003613232314125922813643062435109516380019364900440347462718139300857773646465913777987629694135933886477996500509616687180605465387332950960981883519158588489466719993828327013935736529027247092954106083431012422055379856930036582753781985808999783160717722464393898707104118068046650488434321829319381235645293351549644825587751715272135528078835906141990984672695767957379765063203466549198119244386974411888485019942994446021529337355768169380477004043629110922365595815232577527385315551532686095962345821849237616719468776950878856365001768065279312851713147700495371965951171072764286183638230700321290332948785612969411122180463047525457972113730314061649750717957691947046667894790247251820588426100218791678358889636787329112700885013022236659106233156334485910682062735596044546677620522259051077775538857491155356362051022144226236770781802265866674804515193874670966337712993971518893447516982912216690760015767132499028511788054150498845177453016086713997665526164109755955776443543683318017954548517887501635937177588047552304804477910901529372564776458877888667508854695902669341702256505423445201806465878760683038216854320365445322737183488271497392017977217997296172807479016745541801594555445570616532274448526029559919265940809950383714080087394430784885923443890407877805794772619285175236363775086364538914454759058023377233030871053963486392384884540712310304934209005272997467583052901267136224373131004789254510314864334793301974679323295412487263091519811320492517676787721661711610938542205156251704354525010267735541432642874458259970498566958600419094716211487130239263264068443288480507656405319395229692230316595542359469269373901378947974939252388256824338463206313536192789199218205536182990114296567469600738654508251565218753282428936785503934464238329127670636219049810194883501020546225217758518256000340082101496660500323743314581168818559487089427963939575815543016175270116780831069569023362366962514920753229238974077105527409053370200511166715697293658948440071141583980849574805955206652978929480414342002657769776637571833786478769647467405618117716316151034005045842720183678856918358635142169284823941297615134260973866791163597286724260059629136873878339733936250371914011919207065071681337346128826664085346364768482875591595975999301194198941634899453646842901127872008943811753794939425275223355484036630682888991533932894166818285406517309572277374090600731515132350709201060780739942590499192458460291130923063105919752453374495717052247526093722297338726862162306781704686121227217474629096740601001161060842358617549411512509327702853126930015174805572071872575136155679515751143633871515568038766593656590302304954717054757187529294196478110063364140452629323653551342355008666240900422812440451791826363587563400538451752968722121389235555515992566943823585350324852409865903162433067207789162362722567501828367007481149941654135274833091236687742529511302449899181369169372058132864910048930692585217385564154348007801706440966989498623832899608445326985097164834220733943549706201860546942800487748113786779989864154241790330265271187782822127305690109569877869658725678875752692384341011362080442740636806614852855708881896247569900411403242423256060185637597166776135713736174430392722980346621340632328103938293952525244674848523148114226319651973306506059463362944195636434227887753667275617484337004275743292626724476350960364593964652791946717254714999153939715703147204843541686359403774842436068364292336748950195808113651103696946109903579469051749259278548150481917481887885744016494617398565137629648961513312475612244511720564171775906885464596317304253558187942958433033132233942559443024457470254726400839445613453013680762639876421090862553733756050316366109383756433069310646480559309199826034337730329805382651198907354305844782582715272602385140572732158025904314975584003422003913830559541164281077902613392847868847047581036662543742843284931390261712438115448857375532791854801974427854157642368909220635937225869937868777760049682482603422124742549938760205612332452228038448571268762966862918467941648490130161603416325561407934693764608445553572503947239559592564830379114065033431160210356732758592908168546165365685903666636927363732259193392526868602672817530007072427552867250453884931779332363207839371279906768125792025650417739197247897241022054333425307373195386760846126466212803595758725729494549867235572216606299674932917996907913766370323236063976754170959693645626174532610428300000095808060351429837189130267089082494591733598024527893176866499137339209925374830297128492683648184467566287024469346449863249528554748323028340819315378187847510825114521304227660937980216944533624292546292793360498688074723531558632426477594883264039298039763149715021089004276035486995169646282993115083893783516281136454031837989141935610586188459918836622693235907854613715141808826454934961043222376980082303241926722728359517181811374957543569894088381400296350110188084487437244227467658515441265615664468827973673357142896012022892471173293648969970690654082953080009252630550831196279115269268484194049895129477191207552420371925059750320396599004739251183745889868485198833807554431096451762957702410738521654960131418147042942354647090871646626845001464704388249084075157122812549888428391646853359071127075621226442319003381787675219527438751759006225597423029006465637573375309241709499150935908764881792767655722855069510180870477622689419515753664211660562601016208796516719921247855014211521328834776716586629949780796306130517261420592307013771660582028130646504569576993305611316114630289106738659169141953219421427274587093407242321579496290738143895590247715895144447947205737821007617656459709039647808340704494082151587993857519199778929150317696984403416875186078488126976366123917213424303035922571350872831290651493140784693766810261647348871426144838824856562647973103062625399507265760393651186989256193142548990047494308276817856800322602148840239356543736858403851939944785433257221332633917963635973680896838414725351353137424510302325584668414347910933927866651731986518739750366435628117812299088283138735788317413185631726992992504391551265827496663571978135335732637469083390249459485316100624627068695093126596333400246550126628733726696934539087874777655374224204609995225360827512367787549795595141882914681739997318391720394913529639550701904217079753668020061222613768462927715664060328480910148376790337519881509390244529973023299150877007664876297609024910363931092249474869161813934294670548610773747268094893790229958607730576144014898900597915279258720320970280684096168123090259274737005839650048517030431029655154620030596106078380632887988220499894733510742180151065005949628622211251307551344824509899553059939878428154326082839019562693477782406708880047376830553336016039575539901025675688834359811573187273558789341507626277248240011763944414672867309919261659437208932478427596238816947830258824667248297420668813505467668575184378410846865653483497869645315638978743920884479622922366372102552320234457608402414188758383682135674241253637799614270410538791163556188742252485344239367170222741049143230370866820174679396387788181008762215092424446342261736136743018929365178088162448757093557111413214058158968743910006107383438604298212154096316187870438612912677719141864753529069569953114672855863854731328207802969368007095131610792785632903578415463097051005020566453558867005123771811677355388433725322771613012197376
17368746977655537466994798646540183433947165375027415888758402430361689319530071161084637999528493807302743477193188982729959768895012531484222782161845871242978632122683742656880325831420548233608274055935712869218429587276553767886111789574942360483527645972170851499303498891276655262985943143686010718929068696677186371186385361770533220122168693563341308566684815707334223000243327263127561286663040167975735056954066302701200157380741147806405683527148786772431551171529212264846066175940738998881492415210367126447347612807523383644961209913966771816340578460583750905748104911491225287445510949425083420441209491961322114281427691626101800758002328311084996177322480156067136558250353836759017232227169384631339064882666593225698053046778130425046488652945936340655427590093922508335428317638201438884178714933426514638365946122937016219833042819761077654092106730228183152093423932957628829383048973861451773284441678520039936014330748469147836698356359178114945512352146021449642511072906223656144146316650810492027751050867474610589037253339431125880049237604599278489853097350507239029130008197171138394766777427463692954978457479955232302921232504564747839665184400287774640639409354919595850053303401256541754782362832761570112969832045851696838586473595209679587219395515271633318567959681124846816980212922863253555407971427377211651211768956984122193299308432460829067002175406630145514613400988303890607929209545650556240960244351324943065112562157754855519115509776476325629790425121333254444352295419439704750377746312673662973169853042503574403654299976661698345967798855700549558110945163744372416660704345874972449345407907286212967164051110601820943102655505309327604313944020373757639870023520397087812746890789110639735441413803168557218079755210292898322812751234140729829363749260147240440816881749945400713470496590811831159461145239287239414312711456224401396592916520752772812340897542786593532468044079852237217492295766612541959625216409086513151100307988861578754398815431458294572481657594202874016396883637703199655565455658974294837571666862469189910267232493026453961893851111734328311861697141279157245494594778476118671118272364298048238071179451585775300874285821636391008205637960450865116736711306398278876322605961368877712788295779668133996362654733554535937249814583929412737922864648651785045201706052000598474320181580825937394138132175797095485218724261559749840296760142908392999051868055838059125801326598734881399550266104759872955425429216207558668898205870538915122270959016345414987706702830795298550135479700700798533503140381419903276069608756552475310764967400530732005167249630019713805370932696150261826827549566970581674693022633374169012802099410496164075419117632887278633107805171119887177329497505428260165049235943351722767654258664940826865491473607408092071319320216916625898842862419658521720282084597912384072596126516168921228933091145629904026352162358656247520975518405163070567248210819163196921896521634452870988758817542925632956442542904834640533791556308358525636773838326074053777319053918790008093695066760814878941673366873505709245153506725274978410301894906248656361139401484508626290717850536091128659265455910036736427178497088607513533161415072589317475513746485925013684560975632093577043957413618479434612930736506634338769395123325796969480204627713812379148563238745629076503984667535490416055386428021803098764831748161674638995858688839108481233734447691350807726288257397805083006745508005853307165341630828583735104104375970777375526368737106190003291988719906833117086361967445738496038884942560874914039006515288110636787816946157440005640678959832444105881680901525222931963942254145846603521770789653866530773867467857693566567738898967740918540658547489088945564164018571912063948365987144950857753419983703347203634247770201111382971744677028033048757981476538190503786460008384174059629529287134683753809908791685681274835097378280140550485342340549886984549809926481415364548498492948121872746032417180464530027724829894712259591359165663676278426048946477467709767489971970712792493851905240585446570026777887980874197230488352583017380196914805986307868161967360974493954926815951867835159505153997609652920057725373842903586649118469623527568364344675246513938014143413801815917922272847671202069695519189307670341344983094100817633482127778890414814403959020275509367745798395575650562417915460825311643393001020598339707929797509409799767368633105569627199345395120000703242068277486019100210457038249861606122202781879235376314125554231583969204787142024680039512382079839721170415619438738918634216402861534771106034591012166358647427770504236443628041199827496780971201254650586324828483165774571849855868000219382749349976693403438487797286244594689024573946840771903828320519224594367951688965293673226577924979023058923656167370780463660277444460435238467919061142082780292184831440160938621787672043409244097350527881291689165332032625623218140168762391528811916863327127355243788874632877728708228289963210628358306401732401980784890382525046030828625680351560695889955791709687125138722269206084931582128751802616648863950130040013332161105735383172059277573883228576800048397215170280556019785402283868016571717465861270312415009937845846938748827952111711578452914737165951978527212006995841177257306678487581505040721735670258301464137837847879030651963516694828179381231837730723341498148415575531974654933200401186592481196345353132916270569419372030711248127676742247589061832022190738411354083299564724171563828670338248235838198803299250341646677093850590920335708382694466950665569178697120432897987415180965479632900732267456049676855087073988104726380399491446740863021101655471472800884149726867711044315542263041633730951175359205717467010039683979806155692098974497630104556204481877257809520547693050994942704661922892100890359259027957209214103022333289387433954060547862442242369888968681260723537932219234534855897173015937617100307757332991066534329647609252963739588244199193706655463288976371615166010105063732828703208572504481149542571302853078447642329687537180730960916980717125869285535858264787468764263322073121475646354391479765957838608229398168864939376758605789388221029771990874166929209696511056564493093870561248689164090099357515548229391875025348606669200907218211114088267566800429017939240577209366028380956950882960693071487544551598625088996629484894908902991824305917694143294921735189335847569622024135032841152945037876533754137401367706161002527208634916162108857311782227977021318871918537896209183953107512536691004506557485370860755297549945461961877107855954820606971702334594555379036707032049731339594254478816592591786491753479742732632050609454783087435552856404447613408839242330593364234304343333555453594098425765572047618007228618745308210429470939890417512815196359824786435886219021355577428860390156200912589130205622228815598991999237994361459375701188562135339327292097740278689629558931913321613292637481022866770934992503361998553100332492865007321481358938381757214496452373984301763310732664062440823508394436550337721096346536145311934556081328286736707694737808199047024833437956946300459096290660625917043986341231614893335175952855786619688115761935700402883999963719711116898587588805364744235546498494521950745182762908218408932825538139077086192282305744631194504900341653366740726045350456920766651937021073461685647782628894139512624387394680255248621946966786678767208427720239285056337862068408393309645876456281003141621969450240527987502116004909585403382695660238817825983537609013228176844582954385198768702476549194619722038091291858350118581710622252370394239094874053798540856052142165235260467220958646316354325864723729657113656785251023059475963775029739761259713805464912686674414610402017124901861133725806883712266359125136897690158323508414532384343054558442777411101254608060442593601409936892852782673767522513883987208813960043275962900042885481910225991279170762562013154810899604807884214405034603332453637449233203114320506656970551005760977796897681797281508349131611898205496274173208156554289419256708024760329409746256529081246115603874802263409055967444958175708344412869442959228263407789134909129329445444228703600242548727725344494631533387351897591510289029770564494616364750077288123812713679198747897907723422859570071162967818232109141135030925088935715892292565965522219452159364626393784679041678343963618177186984854702699067604453677943147227096399112088484961461937950890412604601438782157548842854931021199133245456908662681306937375532628479687837402849165374952790307379933363427113276688428945955611168934911454322956453075447252761994839412843607493878777657243383978620096685937040907190148195075273497097593173207041150446711904426594449482056845997960684460386725815666735955440253692642692801990500815620153597730244844873162564483093482468380536748168951456995680510053181044918849593033234371176558278347615244731431908888526875545575215613597064352943313418544474887379789011361820065571557292703731514882703946375632235151816181357509149455016090830228074273056731187780491138944754253824
18649550060382344043511334897248787849661012869411581586402028120902593269673537431352817023993436080625952301405517138693171501699949220058726797340815048995305023648435433615545287207943815971434526286312290362934870039457894035164106297206102794840448496540584983328495273629101373510697726277461711232626449548991464833385610462314392209226570915862399156194938979650696898781904022659339515600613359623347532147794603036079322783975084062517503637514407491828417726670067113246538986174979314008566947625750144942061213665737995918877592417942269564645469325721482308802299622252207946800136667227447660823216703164664663344440076618930720073555582002596991243214471267278979331874512817177327025411379032437411011575089568773794027071151696307085899312011009472659803244176087372685414738005602093785066922578114593424397761751369528120033001116372760362764510499744517885313934862432179178093976739799875323550334470878715729301448870788000548005902147294905908282476093607799385682273987362525569500164472963522828788214871976358970647562574804630868224817673595371820074778830241183210160342044134765489780153311649566893367254518815233574571282364717779440671462154647261341267541103927034030221379064491290603035712174991079215250204113517886452596958873739848279022436520828745183414938334095969451392984927995703561175158240304571890774406176610138708902872080014209071410955134033082994138246411832024822167654378320425039524783236281277341183430113256581074309951554334083522174549119807515789938934940182256033636692066014779493197572661067669737506699480322383889412937247388585020880328440254482861108400552673464519793709885892393521201415180346726824957168445541514479106069604521070011689967974177714070272347016966228457647339741102152983606789322136973400219383504320604518319672240890069148459489282660178686462492712379604077229939844946361196908648822505392084908885825570472816132580525037388794982298840872012942840390862362390029105004514223487282804662432306922003255267832104813376194185755231742845772408195745063188768803024110658181308007985307628025118052734544494291957295930187098045484993219524212667993960181979581823602366989888170178794786534466177030064014904452821197145927920670738151772822849325893510831123305337393492292162252836312364311930846259089081420736165455010168720466130659148486815290802304186961454908168930607245444091684950393461960200918027560218878503951937136958563710783076882891454357761883745307646376775507010241069166771062593594407729771641759962586368402556439971702937132674564107235847025420945449495620187062873862653550557257227026791895742931946406751283460042800692657336966269745619912015385205489402521725860762432463510290405572055475959343796931606948945909401513074899780459986100481989970766507651620839478083411900261368290621017527666224693018344976152133548549174583865194569079303310684749866297913300805982972466938860666902778200314877327701402167731391705366408317808545704825216588356679032886937506576244624167427005128569835405345137679306335589763180302639719861261932650784715931163498903883559139841171550558979197519304789471193022219838177027291741278759023668244600137129739103981866316818365129034425278325882637500121201201422306463146149073205488870714520885462614423710353863361477028548227776983002296943011284235096546184263347248854669853980757858950079236632824040187591064069829508248975571036602588324225173769954837000352783173779796195743605311898046248100723424134326070011532712146192269018131067413862541244269895616127876976935825305972700188101203915864449415873763809093151449061236086062873339800658352068745199422827192914928911268627445179389657252973591258197232894089670991392862977405684586471781262599509384933373851033282126942124984508302182336574734711523136856580086394521715539682301335536629643674183179243669974371104905675965176329877195152475905478347520095541029415067479018415258219446724082758172136097654495570006464813784372729313460835631929708279367517016620736386480921639272029421238069568787485178833937742717644903994553586847298405542028392482053518901376227955096218283451537648800312113244193236336782952344329385782361601219556640093146670865531098394990794280366389708228201161186584766513565655084569816148163879525444729286933148598222095537684150662587441898954219249506464760708975565666463352706862698934728431251878411052460337601672564877238397184370669345238464691122849364168041704335565689171791161116068025136162150253980421105800376283158814924124044168705223581912884340688855569565631889503107975409326998642417204992015837173482054241382754091109219263164566816079160497512125527267209472238708446135449924878954146126639609043090792001572083150883293843658792433441178789132496809759259874521211533958810503689461584573457168843022304573653475101385965746445111381026746049901551099354152019561006428786418378195067487669921793855690953089310341120604048935550389374620993800424654277064183382574694598102748656165765228435099761830919213462792150207873498672989634041347026062749181150972500650825888769433925742851590435069723532215767902366760666335910131763384888523945340474201108258983534167188505834538303672615062208049314093457514812418557936854209888978138606538116209542615640726322836982803162613842009951768001049868120217454026415266082567790286637326571089750735029011165245232598197864903591215597359260695403064811858901539596772362781712236309745196927623575104449561606861630800485875145190479581928210103304138853964288691937714195711922565338031834328912485357713689751929154279672326226290152678279102211166446978315366263932428037167554613105455164182065682675793914619860991778502810523206711067794695933115611842035358785187735740416037863428315181067411590211440285137402264256019836588860640779262335265614832143489710887861744512837445415567434794479186389511765206374803967240815500585724058882783176512504868258034416894663909295763911179074269257339962607710576438055498042320075203156276474441236516563151342335399669913558091470528350970177753013564123740462727293397837683457276375520856386563578305522505879628271587779558924236849270638371683283125459092914634088143257893958662734297855400259300016050208587994668292622535785339353050098410268311725988247979655071220659138584479972864187202300497859160846346738936767658208514176334497704608898547597509197404483306548625098883198480114769818951403272963239933812280487323598903295606633879442458317991919185322185159465467941298439965060891180908010891233609283429989844136508786158830701012419433260088771863361190979249466103263254302961343843208941171427468544253097658340122582781132616193155885171546704987285898224004697490969715073942297308787082342256290437827402006484121662134053905782829329915238308982094073147274599317053926812773936902276587829308715950352931260331732314316426508078927868453832661037785567670812793917229558307023406621321823210675775105367295485675136584145550008433118471172491868101758955459214644258352332729035986238458691311865895339947140748728496731599818580013571034322703682369486784459725965521613011892465994409456749165659215395726943467527902609377406907506428968082354125002088525574637148482582265120582035277270980310333978711729343988721310200981460336439411766660627634321460769182930321253401170699058429978997909986795234196204706417693165976994990469785109179928119018906333337408329230140545188341564741504308463195780748046585167440902822548795878404448568501891652848158777593241009208560180245820569834903795973541760023571242971211186111911408261712528075278266274462462733297065960872124509151283249456711327553141198501205956542256577435175433884822175575919387315948567607017963188924347924293174884278834738112112411905409797747781827958358425500329639197876516190526437905311240971360194721455799188964771620863536775531985132707099350471580443313862417021858971547224732700868634611056639431606736576018857749984570333530251339648377535569405060128304907800806917958649716747296765956068929765305247070174366913332981338459701751210826807664418394384645016267805775639271896255944617950280276056598398741593263261788862707606248361419391649952168212602434011188790221894644756905713183831961524710600450648194618476879801113316690768694020867252125049769464657593036221959013666997291491036201020292614426415604731748758064066334866401845324569401535801401197800936007321460149027089876912625140903537466277068794771212308306948851074572705402678183471923029806445870291916710961963894054177339670978185149896143002096539998195940820868827241641458177475294365483550685626579452978535650310644683500766050376124775359566943962243223946997801142796453376749733784137217467556578957925135919618614393452848964437810431982072428399809276294523710855061525198295139573093537405612784098722701888840920800722960900349480951176437471415187035359700706620636594413028110939854077958597601999550985752952173391494005162766326610711835268098928134087981768660021326927142136991079374733118631619890697369233794797401166603529988206568396437681433369545325108023483526670232517583317398766805959408601045111067146377867732740734976
20024801898614248230675396097246766047484053740089465419308127271837243023709387966073048538880963821238721085848157736163666944580122576253234698494405100354868183528634197236586511441261460250688440151240904887915309349370471112515827634891966918863480957653545410026148106281890408274281860125814467909081612249378072810631321473158938752186327884463443002988814679578838170969225003483176542116279044280741132154271614641315749854750164731840874387671354726555110344868651308379753332702633071785827425969785429998353181881103242044040182115569902849042112147136234530237112451791596748824473708518080674196854044403293607967805028127510424301412984784850066114401134001723722784665240731427361651709708472644700865406321786538547042027683800173464477651959046419255015266882749432730604998982617314398996821411091546024531258804432951621623525558888123975829667186462830168177607231805117146981447428006291524881526290571387109957627956362648025728856934401948935867602587986833253008564355658391154241745369499851687648697546339822166021876300224860792094419370913731176045292837579754419995740998933151598808795175850246404894169368904911217346208744311101741856275558677920469177296056925587082519974680502292004217625527913928580311242781220998456236348157942410392600811926798870844871170435699727629786982977390615405939509992433261337539239660590236474190374906033130794254145219198847010469382010401973514167572845979359238394612845329281709372166568384647942733446923302313946468044818279716533197832851288626485992067092289037743983757261467333491380044712221208585446461529208558517099121945157923451463272671150213869882582156604930487180590207126783413459238768590990424517761066629412360783687535095163605964694062758277090514961322358713514944996065535077396591042844084717776283206287015470230953018812471991834968161032577183462282712476522983053731515748052391947085229940155785322136613638780523512921455605111000927797049025425925618850620634630561178679482075769510959601045219652748073734343191017349105918616264971853187303870873405294093438183199950777716803775758517993110203815462186871316625891584159560522295741226782128118032051782439913403801520215208351790567838200270357954169332239713525686510939639864062068749574093841881823819516238264411211490045131824097886863185761718428408500461049264176418519890297156521110829610791060050353150754695821868825362820749129386991688444067744189771226011236429440568104596115993610362583661745924135701032286838920939664230071964701726816797658966096918118162820102995316462908349983260460334745927099668111383967548855425591384929627003433583242655369016727387933802352401145103137940338119226604805876348125363024264046352662848638610185773958360429248612255638119397402738888305034546179190360536603961316737608490717929947665107173452892302565075357800154828377910783271373854986718105137463882010422477555001276826969592711948962045495473533756182349290937458471778597855492519547886393660777157707354576264085188897823727553873607929579515067481309511830908432946197244818680414506218735915249353755277933474424930610994106543122434599858734791134401573186119132060790806530000127829392336190153614801944713250347419157141340889599310938799086178736025534884439571146852709838842722695123464204931199115967474165225194103315778560387175010315991166571330595119931112604371392804486656103182073331300439599556278075776283233950374641470468263078381486048490827341565999803933497080472027305149516895424934835375519441590226741396027727920897587267150750442462678994980485194176929789216236452556029706120868222823254722743770598558530695351128643819510217357275646015910186963377857785542693301407151799452642149858060993941650555846896137432620188483478957282380635689436823301916128405254337561466966786585928367331330451187618616536736732411187508591217138735263434315858801392923965219023436864372458733262879190972208004314928949979717787445486700319471780195138661220944652717068893705403992397607675979287777387803843193742153018902941829157028767804294118504968086756199416854407160599438989274803468032650782187114744803515175403050627518540244114602992720405542305310746752612721047371204926836274683020319360887913809374673607776523051401531526890107234260868646274138252567278035737818341918036019735240668337448424077127069460982571955378957050140135964622091671738162717050528509690522584075685262044292675582626794857234792405844884359033342121339011163136090683844757017780595573471000618430193010165286418307372787962110487170953841072289195737960472747633611184957918134754573457108990443541625352409254659931075274846257985266710320987417125764855234111668170357683753400191204074380548804575201601372619429909095142818162621120529909753238502185088698558416799162771131101881211397834162459382738985598224699300751788589495410146817296406086497849732411456718722120854975830293592013799336871961596750414520576899595485843133531015765191960660258024297630276242394009792281484977602735680683890296775860183799497084069626397469188648447181591844223551632222658976913713098874610021675052718512657081389047939514842975541579697226617737737557069722924822444362643307206611800383299595745144337996657978421193320250567516148270224043509055224358254323804410567794769724457955327413437525472119310361740362959271984941673746023445858925574621935391141486781457293234574487615985885782162373595226275593769763046581326025410458344836724305733518052662795751978371328283664633090373734353753377014479804884970943775334894412713852817478362392307964364789704006517635032769684539825290013888389300293946095629819462870693377029883895465732339070674204112158532029807938698611760314368270974864468748939062143046014501903556344307014330582035766212787832372437430514397843988742319105162512133921242600794347204471893965329013036070056011815431225146723910337242152618439427589482846388419345483010145050936052261577451252841834204097462793196503843336838494950808689133481189186740454190858714822678109924333507260461341981787465523953814430830125005838966046151408027577391891350561523873286550825661738564736242784776629799709225552343868314855598373438867263544682095518504361573104925806616762670872196980244853859634795487317655549402992630420997362063209588239151063320449945968304154662870875593567403462265731202416725989018584027261199470571933128300343477865971351071858367025898992460674741029517671119131481237324058449964669024278248212741297404615323308437120790182412303311856438977567653681590565041242093450271544610649042208830612273888921733984302485323972871667884744059027437561939698338506517226758408945797316252034419004328097131136460431111914238257168521164468522045392255097183087333021812461570186553227623520620537730773309579312583885747281109273440744048899562637682310393509111373168338141323629849855215213100253861111946618745438050341253485608351733960903222170963297664636271771745236543034250872044735787027309572347538192009244842837080750078443111889733474360979129997625321534157855839305707942971124461761366027640172861707147226456518929381889681012759337866811550128695183892698245404101416730084768294918687256397256152331915184700393666537259981539949846713580625334500249288140686092351109436008773055042871639811832107655821244705061130288646922592807532939230142353688225497561409330680340015346318365908473343105889680018895162704249576842860826860363624766884295260556924673130474489511624794659340408890292415481674815657410090779556800894576931299200204350916147031248980753154585147879669421855478465007223633339879259200494937099009354782417138675147601211203568212296229888371287408230949977347310531242512139480368718535933413589079272546782995240485938241167510996544936295061897652354031701174351906061971842492059393589827421181388956671631168291827241211121756536754551929450432450792286733802914324570045366555236138099499979881186628143134111665486590603740581822002978864968521781060432612492413682917867856995785730190248760738903437325776546970556515926747905899680727567405301715681508841107385009689786685720097359903446012646571917796744920917084924235491900277655160825362946550711789387468819190010609354557282013488021210520597111977070028577677040581200014214471950349019476169894235621480063897358618815555760947482162664340188042600368644890133559652827948205206730942193445295256445113715769021219639797823882561817408621974759659309848097607422021327092678337071123166612753611227516056719686327206149286811979555724510061684379906223875131517783676387059197997635974681751866206395751827180988057502038286931230355181134004722095102013577789078015244328136102346171666260124826412489898323055548309482218344893918149898861913482554697779208403178715705071965707802658384570120613580601850504762361698639384855548036176514898635880709996332295546407812555821933913969442916379290788648277532820931212926193013203833271961102785653023922623372880042147039188534132420765463939156072107140546120759757335453649913280059439554718312723925512073873096308203239088602174375619238771751164597150063432162132236760848109934023295722805581509461247465863520338246692583781292230836224
21501467315856725967594172557380223953926798473797684522512833394886665155408993480614925255378581012294874318145861474668086507601967729169727311061472586249939210661602439169588160328736949190477702983708245077760699818317302904092053993558506602408134050460184608628304155333262865148532096781604896258286756501507954765292081710120045937676831690525838551349247325648957249497319503106432333645946281098979751311152652896391479008967176943467291342773123536642305418220534696279662828126204084102037277710022376495056062509219546244681193474064206284633274149678616840988580276479821160955260255624248280091279796699369470226891904178004347568413104060169157556197666290679249246876814812361909423414435093925775211155762456208838147216609862093507264633221743675511548813810530170035125112231113659456760310792147690459360142573687896759905802174911153649745478758105547372981250745034017297933535455507584145402031423142075197655992004578222096616101774179796999553338625332102825069269378866025638860997009990324718825390774631245176379960282505813637049546635545842259612537838037021256398289012426064251773471959359844325640507945132888253071378616601352007750334464221449353101365647551287706255836129876348252789248927291264588829124311615067829500400646208123821907751902161974062112391588643100261510671833600350146455989892941516226838062864735301428388502074847842463453014607223449807718341336001802014301979509294748254985082428317692823231108025969152615628458845233814680301236800893411372558797598589770553523832569204807722429964548301179579450697486501955598021743456718226898560746386192296694826549866930182818637822430662831708698495546396850221620669185038403968388235088078850760316022723379144983846947882548042914266947669558897031830491335080457539796837725469672475631553859188258522001195678009990461791820209045148391574074898209345002034767725598499776826206279402283775943395105687476452439171310166909858678495722378255750872994183760256326138896995412060901350016606456422363304000149364948844633824223906944949995871953870673571144741260361304775859441633038093458969677826127934236367166355201736022248221852277039896057422571339483788599892849850688191637976584895171442842687203932006308105108524861541117748381086744929357100414012471647488511370817687127312195022718238374693756702151877870645479334387948744991036692444002901359723935494068338611633812612955234400457422773021625890358360021248242762896225256370294763065882315667606033249926353314163946864345027030095768218032177186859020974793986374058962340440055856456146909742340568667712056480264833786789933023810306429933824610531413952030796529122696322732000182255315104113588835954586274335433388328754354257217697908901627350827872837628605696997716524380061997456088565790756189859281470221357171510156717578792959031783893381790872904904885739073650039350193984124239403991818060506131302519262871065185101637080735879088807004256293329411804185519026357703191674104902574230560932545936418533798854175306043767572061592864361141869200368631523515384457544983364844614150516013377915779682345322246412862617582573028036964911374341333048340250399485953447975764887872436753197633515152585006479481485992604146756569283163089210072337393774340999400521701731115788064360601535533286103234841777287248328519410219441783911171562188339311080331602167129683309977507891451622852290307629387611735236575562493993015846634931893191797537093397002147645859195529884709379609046864012386785217249970160551521880147118932360303069429622063058683995996833016800530770592977258982800798848405010037879955615510527133808519586309190473407227571837611823901737170238362219861212335325496939789162183607875752738160817405660123345456278281474489458001466827455392184965126408876003597161253033176193457871684771004936579536512262066988393480749160925662813082814421534091919107586784597500124455618413374006142955860511681181626940096961190168771011983255262032295178411472109860902601453889399242401444313286453945058684768203951238604964451562655241835996586535391805160987487060702553720643913006904142420619295382620906048951515956101995533019082439466969014613526104952459863007547983218968127511259539622302833232750339018624445589926218076488789270860392074804011339761800808262252231727654328217312299630918374499936242810123643579847954235129046261324182307344086214630382159103394938619647317356786269929957421281105594113234392737531646182579168662107571100876733108537122865078215138363459406925180275785449994401757384468577132765916887170704047946405357443516381254053496178193165646953825820555893034892479894722368674842666536654745667593054171009600922602085791087505411581602143545596512625557290328431972839114433130578709144997699243245124791900624485275547203877061757640043248649948072512147519789040750051347188930671711637819960902943757389455657744995970187495355944408733142890499352742560080325703921831372375468428289971549481695319973851690132010201038182801279760557167401934676013432921847249331601991017115603183771530086040120193340935024001304193398316111962050641271938981657192788198109171631603171941476271069078161348388473466286083142141419699403488007073853920623804043654124755942460501824193124809366068317119161227097634422308831701599462364567421610710479849453437197138310738823373301668127503327993174805017294413458793843415794870196654096557994693688307698848781028409684029970862895891861005338223441331803078367668708038580604852538748650366690612281687220108352811356329535737554781114306755915649757226776298156378353328252420849696607540841504459719705416879240778853478582796787236425600771249532184833137402758848398467927577787800600684277232827276826650323576527204376061222985583313294065246556379256587213966402799266139613181967243595098727302523426216218952383066967217469639733908866675035597999109922844082209527013447234697813200495813474157496649662705497625497476241813197973338948827167507211961896112145233071547059771897481080579998230315026362070165004421012248012027284398717060257917542052668681035699191070581561754067922245958214741173511035406632897913712538514201112639608856494107682488052355658742181098947461192378981354019197424456455401349857705280419428337019691418046799595440939066570195010941239421484708349214489079036314146460517121393976648571557018383328706043959741800387236825750311706031641558080050239404487144703761942027688357959586111399147676453684826519473580715358123267550988666558784679278113973613918187547471368528573920646873021605535672405162770530002278396041547737959495862151192487307713284473803244671997757242946995628798327486764280772487514908035630216205933142317822708990519034851603690783522665454910136344272302013682901566216397794901354358207766487635293221312007579270982561579387255094460631006444916054913604089284384918826815275693384230602359243852421340083469340456742970461327371071481490748753441949029051025822905213560778918025105620197668782410480419424515650040718507634214965469583328412673134432825161740297103158902667411249993624204732016771963691925037418657418378714142502899452601492961234301799472280745334783603361186369545489600092463833497589025765296540912077278760466217726907799102881853412512694243671260123785392729427624056125867507562680067633393156787969699109054206628848373074895206735327449018143873895263584481895810166264846466837713190481545611195031760445917990024947554357719468353680876221145629278768394092659355138851269989646901304147865921525917160925439784385465592033098010647625977540126911409576477238269167713708215463455573197135701609913928793742328567579373108663102530942132841929659891310743970987793520033315753049684364584975898641702689973422555146970217595423564178139935892572771557632858303194064558789475203064520813190054219696917546270917843949858755629030826657302500202684543683379568527647767847673673001885588633386818554136319249642401673548378721859904750279779557567566689454058789074961626130247649571369529764554048991760587027706271346868903545435872851611466192706122769760174569230096012092680310585504657198362254952648246519311518878541355558827638555691375785235204612660208194267713798701645020496735073932583391418660727071236579723371473039164593608954186770443293777388786392149135562333457465546673333265364709531836740287945240287864036201578948028512172873924157057246407070741138406892687617088712504918548974877487923357117519393054692034606647433964182019969731483453682191559237794073214345075139338592817772636064144933121266673253958799142802068335859335032768646894984455473927374644136358676618727007937525088010515366744698513053429044347265689579830279806972205695143553621212656760779109406506888473373215980105241599141418510361477445897214763526034601978758858936844791413034124883789093224465665397876872330107001301538345139993008717296979167229600012549366545945902863373540021227402562118558937793255261248588158734496119231730244726235665884996613416060706107167381925342772845455900988910390187774334521174497812101703796324443462568271615148668134311365468131628792901347510693207896663487349593111311674063050100656876597537015116203032576
23087024734404385063112731733532186329817852555735941986179498792833720117246096125879578485333863386673264776216693597861441001262326695507841008561760950886007047944909249796802636600182451439978852233057133353633795658436489431000299118949995129985752647777626661045281441774316996696050884520824970955703597040973010100194211708181337384084911581926217405255258484469433340773274926376274320061574930073235242711903441063410269689146128927409314290728622884411639855325199759038611179177228875459970908684353969618616223540907412401216334979338597549174394956567967060640196149237867472557898729268686606894073655402330154611336607042923608838037851139067836982935064707497251285292137439935694372419803845681473195840373527840397997113143196420670948884526206050604234556405955055180545382075240690256416665240767546031220757359971696673704946095472269157821967497481505220783296492774184675530705790765384246117458433589887633876305379525236544697677346777451334250129000853744693145430229210953421101372211965557485943862227865326123077420270785347625249654182824055903452647911482887783371870514681520894840443016455893118569288969293479355241035677984132385667906264223201768322680407292660795263917696738531067409141230779765818875993962676307317131481198590289556153080687166867572893248637391900159809345770075464453294321723372588358730699373007547832907675598474906889172693242658750572111941104373171762123481565120767944928499499372188743487879505345157297239272306790289881304626872047216356753626880756600061882169610328576473451235846348244662990944837228825183386877610876694004106478799511525067852231017744571780337636652088022447902959274044030584817781566843729387066021883614585871205513055426570578516272356240073366395268013624719374385857824945485665536009128777817380667220192719039864797107977487363848666951339540198932319413412315916436330095209100464642032963661445661811347068381533543739999085051627087536101030226522625947880858367212128806335918137201865903814650893446809124888427786875392614103815034273227476876156344219540900389548248908406289051228026679861132116571029718962964308928335945743924495310312420607371313467320488827446389679354803236066544622525934632233830618703411412425244285211202780507222145481128602670644145892906465522599218346523747541516501137202710510469762780782069852113037860022009065186601795750693167282058633859279081505317575108759415494699562643378574959009502863766941026992429489907918312008309794279079855180570473218841341160909888624333061111099623309194012329552953513216506971414537973105358878704132230466393431910582633284649789823913856076073036608090026152595969353073069368350538863154473585674779903914247370292634214617011988087096117785019188246208090715394915671119464722788238381583896537710553638795189164881733092796508458906015549144911653585660259464750559984529063589549063267387860254847605363995787950529110313008673929424455378075059090734128163001663473290033748024301478775011657396617892255014733824508587331303127193216657466162524517065357973235884443307799505601000217913474551274745611690594503606906731124564064526433737613843363083609745916340636560776317608586898499305718703064843043468263172330269343929227048362386085907897897790725134667149094299078568352223831423981686500711433201231310295811792205382748427661318595207161036883410298665035776179001797606722341659529178277491499770227596725715986126049878426696033111533869317371755442145182158655431054358971326386666140145352666219224136163949565076870777484442962161033619274372901248181682824553784628963650712914384143494968811532635637316095857051887343355606879700027768008351600218065940337564726467159783698717835633178458943411510445790486484448765015206354202003720103266385987446083319800206657089892246485053968138476832009963971862915915855750870174127802849312938790717328512220031520735406240686332014889473202722224191350124630417302125266585947249845189027054245226362512154571773939485767173945571444255436800344957182624493459307970052327806946753745676045089652144083684285437428211317997735158753462181606530578475871537433730149561533834030270060613663761805359632897502610175003269686592514697269056228631804398611451715235701165554476182178716133422870844107245267435755203578472519725388184981643322229621551576983336822230676629238649046722951832023095987008014608165996167727710482025332737485985828152775382548252748833768710737359747959397529583029805193583655023078065071407121840276861188625330793278541801300850692109649732762804759281220765763463073963806156742744773256181606808379950158706094340980341981281234347006042524114526027680091429471377463675310656816146846423526781004241500210452958626634604913933748105576189189974353613332915310061245439973162996961558827197289056163409065973244280780884477540055360710170461624299692053199194832203535517028767596314231699901770885483278675726376497407284615863078507843111171194858683046487252448581787480987146067827434049345094691559634936182426680151512514005914946697102676749322981403049913855595593577128226536644142998356700586720474339701442181296727119483415298846645884626352550430414964784938960265621418858579253987032924677604811440154571651755540569212378276664453161068374478532138601333892210695071242584430436749976251261288569467379059124737352982996462766037468087965461774690114055052255450269245974334798608335253344183204796035132841621209949604584992688848942626337774815167226575315541197069001025388207006522268646875015637516632225301273189647915255973596488592392560469835964022397530336794225095568865227515311493483571023062596381621314722237157348579543812417279447289438090480908511510431362873774901927031484097632896800450247250524012372759504210952520333066212456381803719139363616402730609696659952046053624913890103468132356315163472094234055632510181153425538260495038931104099263485596106312186034711652464105647315882722385795229329047281168259166066283925499947305120949953331111148062461314225276467458277735228500617303387827985755106774550288045199541254292045229173642945858535450758858581530252265350123971333639641646589504275495715908552588483068218537428247134194572514551078922171460874222338326562773551976631220048274608251988467628810187130717114971215997611938615083746373245695530993594470952532113857518797908797909250630627438916896019201157343316835575601109859802966608287075082069810700538769287294592355979090909538788018160741397148143134077119856090517038583834157264751337101308096386483995993831647157674204698115119281385385940245778093129121445847939703125146673985096880911339932376151229153585951118221785943083787614694698873274581369845338473011854390543260101107188280516267031615950896999554387633516850751685321651747006958128652356559399593190226390691268249405942443592087479450233051119920329817417242074317459196574234077248499813833197359676517748681870100190202323772875417370258805646484628568277456157344987860290301023386423696118973288362269164464391266764657719901831407419569814676081698894640121625847756311944620926274041959505119926886629363749177468041091646145659183524928597318880505531848964935850036918332783239712054176312685233733540127612503739824480925219455712471114088553924939652004740353879301691793373851955530010867351152685890149122931478632565978087038740532543124870467888847580346008812250726306162368902185882959512382281673136514222903748222199131035963800992520396850430391581147611135351412579946602880997453935903399924922263708320286679155644983242088216543878858526323553338393718903048405057737313618743878969075515792507657999822148718385999007662159983346472469913072822156143856691395639982205436495935952997447501652253753024403580968797769245886248389514586991853217035692534155785028026396805139905328366336541268967640652076516264973310539723916868704811485827167239809487390871631199656395209508678289683805824187378526429851875374175757343720696488721052642799031675012460512060376042648384580569171098172822475137067414555110998373686440070332225953181756380990721377049070607758770221884523537567719520613736966278580664217445609561848047201504855429577168127924400783416707880869810985438732761358527873156108681704329146943733978716722635743047694300890639414177897211235332451549101285457852592098723192315282502181992512579237944567586992607518809415295085411336135864507850646436310229545584086984853408574235047734842851747718284059363443568655453917956996812738269620352790303907833782535881133393057909560423945530474805748489864803161489986890930117736212441929325918247005512106687032545672221563693926324670150818090060900666046171301068481523736076711532009950942064758250368704060406627207082683162204892595238263897964332359224149826622783545262895692092536696708173065015786546451006427136730798626963488990143804989689998623144221692684156716557628527358358760711111744265179725088533545845527655729709945831454778117632439110655566984379394784799511648314664541210837923183893470237844141822180740297489239396046132772516449152071903050092707773132419282931688577156953706162541682268972180811128189584551374656420953032997631940952906082698275982308518387416152485658624
24789504049052479971265019689185531712486486590958972010598557825223076767397317111081272207193539721773368612849864403016866159963796968518481810835104820056315623737222309391290492391089064141954319318149239463341988778332877149798983320526960735662019142037578397421790241884104928386619650342203970298724203490135362599752955633784784925546721532856182110139328430705685027568309789900726498747275257729508063090561907319302642636355677477055640721116217824916295345087976102434478853956548552001858002477675671599933568220805663606802247339310028046052444534761689731663722821000444029854588127172241743370813621542045434062578579524240042046417282863103176941791353252586125070055924027615242918148575474984239552308751884624663726306213110097921495959081933860575627114719161065411579447864245843994943857839619144035566936954357434174798681658374072426938703248014506822029379484884155873617188203783786036487024736726988815953388328592439741535141602892301117708967185611997384048294551577707207152427487778812320134216990152818897747997734767633071609632137634731256851214066105426473305029116725955024720089473457412692681636608272260514202853608527758950844529130408046609838820281095484504119969549081909199400558259411070692652763387297046140281303069996043736711959280257725780084849749198693480419578419407513819727407816096906455904667469568780775873534820706738141410453493364881448860519173590223824527761208963148153468258602038980796304943861961526945904606411125693442640773557231392705023274045559022250483873670471574941927017552712147963638162405009461857786960463567503659059154036404835235377378295462432869518661314662246631764268465909753256454031487216363915030672345736241146352836666989538991040797493469994158327075381918263032541209860761638479078488379614544525056523346739773383955960109672232995819312299837136522911499507950156178576656295913194303983981469966383390202945101040555172570399341665203138820786043705537562547321797896012979438071497353813751765351808252806476737544248371867326183958480259157785387921935151461702826875847318918177738936810807154756065551958075997500685515610923667846524512774304512814061967676466066153907716525201569855194208368388539319522483033649484999898062448253098775696351662100383410148716465971496951628797928370672744543443657158112641255774185084251829503263526001088693797996712531024730701774759995010480300564358796536333170452570724703572599007588838274338769223284474685117800378803661666283968743241589274541852824721661311128231820935576177726894768612677409868300302395361863359410986594369697478173654281288801565782976526745902641996145084789357837296098468216777508851235470306370861642258444827428710965216475367677913518504856373805343062482836408305601633033998173350297445588701077428614648169783576325148835340484253497174180311219079239922987241994529982809648519654398530216440785497172625569021282318348672587144472801461987860923556992644272791175452844616117625169866145778302634307587060934993443602346464776712089348454214900567355398476597395241744410541234570316190206811638863326878232654665947254612475566989849466657640625580327689393084388146506089050125047414457147385133859758959767324184769929735761851577818764648874966984779578776380150301392640623501825491209454613405870071583144266162934933323316654914850196282662854749604924249428980279339697140661520881795054046864894901107779760603406710648943490376858848886742772278612383574530894363846939927813645022758118230598710596949492907829503569049645928828443917814751220084986715442394476799425852693606593546183591186072965546518164424739187230109736778697163611636056388471936294451464920530331925114909222248106755294101233423407788008658130079659364581975058497249538878466717648048398605458249211560643432704319436487445998184120301322372013449584460230355184640533672043945178585118342934411928918255525149537018115090082768557207843291599865142820481252816556983534010616297776686072066488699113267391643159277147031919118154473124714073409541723834876927237761028767669336713925973285720805489644332177228872049193215393644457444593777689913994139189375446095905886923588385203334857694068969999245755075792484253689674679376283232005110359421389227217130955079700703468133185071835595107840410463814288850239107328253591619980164497108330472632878758724163522780620695217065907990802019912961788313799987755115597558911589919658674545784688261261040718103781355576382474923186841066603684163373251369113597669370738578268413789020994897477712057846541586498913977537593594544132723384671602558857769680706168438171217600310347124686424725717038864295161856695859967364193639221808416407547530645522348342820172468143661959175661806585706037921951812144962001075204262687230428466547406810632998117959020137292556247649243235043247146076069916366815397554067840408494461598165303251979338538822611148091408910766774744025236829054323961251266660494793543821756573099236888674703015503539423456753383507979567959821150642420292149643147536661655409803648100448816828893666350085253868346643341484941972352690607112295656222143176086462504388280733102648440793345966205749365076126924271866778678886224596004891386002186927636607294686932892097294163666573128122201294147344417062255331118103822552811157036131985978289170254299443999328912894462915953156237113827374958040100239845182486041463586903844386556529285374107860311505444661088375375168812751328116075272770138920728000582580488012614858203699272800633513591190655631515932168024174850444746516389501190780402911964990207501076924765566782687667002465550941213664336778304977870547132978692038803182232843482850273111208047742326335566598892944960551900640419340692919212504028638000925357964803839959823602475686918365798683999675504283436323743617682151216852202633421162143261545384635974777768955610249561300005730244834725877052080560918944546338617030862892277656618504609401230269523863847447876730607068193531304453343502462160067321277465685501072927779322839309608465607800822934365420383065377949870346788473063405389410877100866478997490345778577174111605905941380315377700026568503835073557731062088808818346992853062674342023060338439832128136308620124198346811589979745917375548858723605279517521457211172773822612736055743562217919597710659556886849351947910180880052726158603056527076516075389708724013240854025597289221646593257514246588236931215917254875621645446379069997245369259592966155606997043230945249274112084464934956951605597428199991134805225485568005516150303497539172313546423456778015704728782284003475613489992291273726452921273605274891213355294454300075064346298230895171320593852894152329909123306924328451869256763832960224198376783638737655364815426860850368344373524037761750807993988083536931663713778990990423555821585122152455753534588497672835176473927172192775192649507761091368917764731048217438044797109290590056925812371902973326917904266864744312467638262365964990360005236307608099653380865430951461825554158903073556343176026105637932544149668018119615408694930260366059337451561607633996054244001293034143451083602661400407581554936263647809597702731661631157981714805050286060800237206917706599842530805959588498345976995953588755988887061033495164220766874392503070912636760755449448733450187782888446093948419111521008018075586257075954704630178710053186168409303564425193947555997343501708995372582702613192540852249770781275681861271384983841375679993714936624568411200045861128492895723187494492380828595079485024202809235200731461589092604175728160965102473606985688437850093193090383920787978234697225640479044910549357636298250973810247933506765517490213759580140592925862438758657547768333958483268617541568603837209004842274455111239146400172374727614916144954425698694522467389138019992589070737187961918109770241582955027472802368212700826084403579506234174365965522710370594290048924779136747221360714088160186828055594349738491879052736161654572947682170159178250193816733120169471681869415715369031916223111765185212580949517700048616098468460811879690490043173020598895681584199529628189694527971581431730563012981919013810492054432211431292884872080325554040222355429662436477480772635441806935728947678070942204827626597632719989105666812076339159772723639808259317363211028587714216968176620411173895130011748721071762535887318507803852800268476415424102845702134148704491159295116379559537231988956618164051028176329176317415092111271776056761392584407511773548896353616649308749036645487168665510429192679260019225082003393674615498248688490549014581107488216922737454487932848629572943937771114187752243230841025724500206674302844302199110683131849869940970337218079020985937399969236935227192393572114335561859687231363847768179949182729510368542537721235180964367709516425114692472249680927191930040316172365215363053888738439056080198037372328661355115617704380571001364487305662808228007450029541941732244246329561710864246715111570634430427848280207845662154872482667863031744696398529483232991307989182548938560157707413422182074387843360236472206738527546395514648029398581782333995245292807421469209507959433675337141694899340264041758217013224775090176
26617527293684995316069569828461985895375083687527828515825042811024499655117219007558815831992497261873389328985763242248000973363403130942705237276908412718460120551302779179296583013866093078235025749348000685581608166634675189993081583928195461486118281094344504990669951666040022413238360552680315248593951128445110244760120531611150989404240975909072908617171403320979848670687238405062849690033050264552086285567019549946969912380713846969441817380003043306935611157472900696408165136734058971033862969375994904137667820236307990698263865409896415659507794413848137798676296451442277425975910438666811695917326358601557061224854121686554960756785966552347509673789468860158649813975647417017301135934133511243748148942659760323984870670047369255045679913265028901835548102409250124812627070668236915550464694309359182068363759464756118808271276657921402009269961717820933546269309687693956438033139682086120443308493146356761269391482923157600686031504787863077686065127035172627431244295900309414345793336755359649174586075818477802009604580077266550472849027432935385481235087954497197744429272166435856384913960673361890960731943071430493123349939625577850512131048905469831125351234631658249617511618455666709166735132078308211321921558116748752477806231474351674640874920197657669200129444470547676082626417365660888099314051247748898720453218888247163742584471713165981048430266632779704443256579037739557916694259148535847087239917457025359325442882560174160720761417884195970365943576112603993151984236130403650891139397517723818297409901929157901434726176763086312438599531566856926004850178946290188053575499307843592794521402043678642328421960611620280974891541237131272772815140457190191388745790387428185159265559053099616831458709166412367472570031060987729754321951890125455263405081426948726635524943830703499084012763252761873048011272241503196269768654994916997626170730343905720079814002963150008968375357527994415607956015682127621310075393587824338869509384611095151176812070595066679451184330527517853102766538133736073186227846219140205059475628521760713872162207056817260028100823031293087005506782453653438297382406993027920402270021957715746201536269444875583979645167709574149639789741559851400451185387253187893068367503809097353912422929431069068852345258536147500833163239678182523819432624024478153086171192361080400064438477659066150932832430834204784017044042843583367260713446195432215901774829029050729522459724535119280212633604534615434627900327211740305405816356188908521059133306206951563424162706234191595584366473747416303572720311478067100542379736736446864017869203977330287343359824310359740007007997346688709756101718540260487800210218028406669341760338816141553505873662235667774880856066733747665446871303852665816570168952648668965922118941678928608527529967223393334183213073261806675441940747936021764720646292613727457520243807726881821349949571322652371699305177360184712453918409849816049950301841404098718648440385203844570185433507847139005561624623769298591539860200287823170820416508508480519564316350034743162329392866337537888941756517376315855391928455115155814402228847122111726635883914353427283787695838885701403150461061745660909285754177374828768542784398295509726598177005153302110702011483683255347370260935762643633782968695892004931236499896406777849814443304433235887854642963704243598235923421485998232709726459293732683767060740585262106036807030174867794191553725253896928304442458588332934909051538824823379730712128416677350727915043245876766174427555396117069160279070854885612446141197223988456892705797439004309423007570718551365620735536488918176799984526810724709449616117023242253648598314037891103527976209914816699642592221908384162711424930896833343418858523767730708477558903796864267687166045557204412682419191718020177313337727909350369797036123783409353883504209990708798252976924046034472141750586417867396221586198003028603076606084044957055032899746525178938866047696067025061266911702648199366375569020147655486689468661231229554565026667788808705113745832081040756785130841199918343239620339563340825196677744048501795818758470138509872911831665957671541353443380983210049828791415679338680288048030020200105539873782374646418053446072635754139898715956452013962322919218039032324640507318601938770778200588616670945141487279609320763339253824729217134520423974259936084227911826361483223355487053755678015074318664213222684917818400795024014033777489945656898619653145318700308917882531624712285773257093383410154235512411544338939075179197668260310774776533518905144740172551008973533338906853194410458135087733957113030113018027175566383839294606209750467222509611991612922019063742383109289939157486084688644610471213486129708412636851445179786190361941769972135571319097993765885439469239766973494143414996909510513754751231818040989941579957748290311967767293426572988885306594403522576569952246790894860766005240840386350068362246596833683563949853660558525070698998362763126029499855910321004571136267370714185116192750582036593230047800498181208787963044101580685763496461928135583788423710739240963080231431169480558585694916048203304816803682543682422523184106823671605086187955189727876259669486725768852832526143820759900758419318112472930119132642760788476757849227788083526792529070638068298028842025281707237730875900676595577501208577900696674203720175015651431716384233368833987011096303613064336328094000530445311525509777147105506497475874753413035825475212857141420724425817238933844909539788891154551980011469335725708903038721806148200009544344819162090449636867189531973164783676718696087470567000914442511342878807667697753982164969326684026324561554515968787102674605840310631000492499118719317115349307548981402920665081640494987379031778174611191377416731244326558391699826703594027241999905401050357813133899633047524397045467964003540805141765900724476050633340479172356186248126531998811450884537442565179086340905649190029414687844832375232268241665511260015247332399430790374965157894587561324246246558764639397631143166724167609275770477465463724205139222975298680155055361305014670136911346875452513768822877052319908694830599184770962479934321840657858442663518881738399079839443261209192504379375124567002244685173329425062607343431651658124658172126474331189816854717384773767030606317739401710959207358243758354267356150689834752762576018306353327709448837639299467941531083222878715476356814265917764348880977491724832361402005199719785553821324718578473911165167517869592697605075918953288335601290391397636631157211745896128114924777927568263328578190324836738449330917712829687027417247242928111630089354406566932369754801650471813817840261885191967122339942450214025503511527128900301860908068697159487837614147190008938545851209375959387667718936955360434627631240646879523500580649797638476450313432514977433856096402692417608318582423874827441839605513759785608888864931068178825760733319362627848805021804269294439082482145998994938214528368676036892391372039594088596223739290373544225066770220899110599877318247460687471272229299247692756889440839683444162298143328030962226019932943971042037304142390386518613422498566645421598188483702411757140367238624503430322697247010201398516644104422725585762388985139287335940143007909022849294443141156097441850898721026563647104957542068511090989333578475253479376787835609260802536929750679563808564510694738925277889183382268855688565251871556049249305691784587308489054719271811758660224857139430238944998312003674868208534128478405700858231312556372082834730357676672245152869703718853027967155266996099146947537916031184110427212608628791846015785123090246024361477634424657031765809251132138034022965118881042268505298195928568605739748043955924119554440743231090413446588730972943393575374591055295813226860793723331418202778508616925236225004966174277411152901754845863876146745628961117541589088106890784906963615808937188250492302193223272318405740014785309958994424704237132542171979712806814160034609162839619217705829854496482787170485938245288718620219735334410437885447821529941612522914444420467024866670906206106141400909158928863549986590072880769535434908958921284622048247614339734508572825025451049452458284410197388533070843183578811535113636656991706455639369690569080332688407318141714354449488138083532213193261540178514833038267139987781555998457923107800081522647574373412815680533824071733427044339682223127083403478883968684967782906505206361795651031866923919290025544529765968233851500814132370276100013014616873498371707588215585449905677720950338097127781454990002877033553164792098642469372106774896015455773402842909969431280316083878511844580262214435253769574702192786010719015415073047922202739285399874127910263867795691293761745776674387866741650263422868460609304352441782181074159569480452124738078304704304610988390130929384343970920155084788287097166611088407229235702927280309218400081656667408896543936884269906216518164798912785635300392660550027199637887720213283278244369504016450642366258847670485746255862613306613046598738588731658740964523593804438825976475031888026454809085776914504832563526338427669111508839080102767802127315342721024
28580352306691110552107996418508139849962315522798776641341194332787533568372933670983672698723701564278938715167309493763522425492995892665731160968060432153264168312015731692247136082275996073577851248791889066889646453695612080150717967307869679844626393821986184873059056883885652522991439006604609783920282520023510958089818262072006922102314378808148003047586940322508560178907690698575035060813922011343839671270116445803718576992787868467025329255479368845940034974779703624332173482410037882481463190503836910183484592406637452958128876478512685001302062116142310338954031337336358394081399054474742518638803357488113968159654538753639479839239784103520606518992349285897949580635472349129045561255188460222386646042315162461678345981660764430314269553389353928469618367520647023488537849091089604567289924915333748425232995783184498724353906885485150242070793603303222491353996979285379139550246374689931089881750025660607800128966243976094000083119272384834096889268885537969132896684869593952724023904134746111480720147494334648033303687330918246838904977192466078480764481113062250108992172534981268013739562216479865012265428928581939975485221163857838262894926578792380049506607314048697088954227541779635436767700842643569658977504997199810435244182501836576346347581768887386254535610741912575995920464092789996953217362535587378406090705355737761759789317131371245305690946831087218039083223675982637754424933868477567380838076095915850936356450327979193089979519507802801994178202896230240996695062921906317964111242128941844986905482573075123870535101978142712987255749030142533675480863988516024553949166348514716833902667437416833083563403028777316089372541690128549354524066529319590016660998042918806201919531878054895430311574961029134986155615119161620188024724505743553923358972582240448492105936386277122309650193654300706604228063029152210464531391672268887759728230134877475162532913122394095415319714708760854876700761190300316306261622688508409809341104617434838262145939185963661795537982020835901783128602101883327157577779278931107492295389852501772604637551029052636417255268977521848319883550636157038301302840110204154535660227117397756199958625555896176995369381249264049697476780078963447889410220671384318117945880242307140583498532506739384259498784578354587477642216661800876130801032365149392742896685262041335375839888537428939039278795770272886379986917651203351458580339259209247970733509758941079305976553588876527993080314376692647915914458630530869740758314503312323971176208065802693190712149864677055008228003405998897085510423888307904530766207824032263049626847672046677382503292043325209331290539853620695573723254394953913605727467089259060952786625571301832303590380802485834458591775776159940652665368892019621146502635205151446641409834383282426486131981221106574115324755464777929224405464788748244954845600689901447676669103033367380688736995020002850106337920671368238127185869339321051538112208539795679237639193964038680603403392946505349013284967929360424880640460162052576426177598285607392545456722999327586491090385113856132541431072731533080968649494272849534200454671974313396089803378050108792345566158802343152138135406879762568821984227630068173622803141864563104847267892588164007968227730959004834943097580521727806400112827661982681882873974143624694422558415246729988447303782716560317710163596910696532850518150943114283636458990714810161254042591715985584294095502348114150905609272787681070648518273407772672229899469585045370590079226251866599391351345486887784357692197888750116819276750868829102258919295237531015943720536549146333959299467171229558943969868989524452286300845592333587826516608758369998615502010662542167699897120440121171762478190940239789986583547308310523261506360430285564266841931147459762414469515647912678857226671493401572720944077345087740577535293947102688088999455855098514084360461213390564209096672416997089791647028411929486272694153843083295744414544846005115538445522448423217967747748731236351601557801901258507681359260880197505815911577211094418008806765508654670521168012470240941180345919634843462709709293141973123582358324186348947605737724577638872278297382387075313686241537153496418167376579816731896275773715517551137790398446338690040378078558181884271454458472560994865671702999459137897444024489680510083828962732563725912112013403375192821202295676148550279591120069508007762262598418069549250621835619770412134952429839664391299202049450501838331006850655724456253201386321870441150348960422346257149316807784831174372998115408292986348596296880995108282055042654715066511922644741859137282727718902644374217216688313345019193260349684637406731590719265518705875770615808131828203736135130268090311811572837520364379631969242576271669277523450365860922460750743099283454561203736370572181986203676318550168646637717274492172453799482851391691154840829474066523391400189062153594391116504493515732387105803353621992014594336514021187568162071457006292622857053092885255873724193479182333309334455945533033249577576914105199806512268218223686814867523648262858656286905254000980073284355246048508108342919465124688436822771944370524036782385148659995622251132212248675918703812314070835842784188193789064906404141986922921136742021135909414712154636162168291522563033879944298162064440833834443275152310710130569496481060639540137830236248306904796839361857422293469966486853281149490718277114573017316329649090643766582867043597153725263312623100720015280514596378354823470448502367924563226108920326625462191041241836294762142692564962215012053151046069913733814572273877605359071862310157876083170072443380356058972241513077633737758297398739546251762590693506553456189657059760902052072103469583884780260914113852053774000011218560851170411120400513414400988459146278385200958166330667833151262714127044548221379524768100982602728246571348296824901836051359361319559741799747099051198173104849646976230631054337517573206306340578900943556148125463198858221309938501699113418976732574182447824008020205161667093514724943043543833665485111479117916233859139451439911774481746468625472259565519320345082959520990339085722193500866939668886275440242133391006284159326182336228918826725434435266805219438234232800200420352316493019595323132096070727394885115586507060934039810187731494438794291435428749794060098434874531926269176899322025689877412834921212883213336961501264789769110652429590486360394624715761325969633130867566405826016260404606829448959373422737264510900935902849057263554648875379988266453681612972265627959770792733116657012674742086950939857406009352044795511164567656350168133063680601682567756683489615540785163156935815829356206537243701368089320954547836934522985544410893234282023979205332089665630212004672250526185187948534664259637285789719654505529131563359471764331972821568596340590400332777147484304946794993725712264905698365086111939784889297537280444374780600730507981910002543809100332475883198213481265892395127125234993881952317927603535656356908926877337746155017567860378777093935490005871256921933697791088320459448574056773541792917428160448853395709041743059617156480315625893009340560986224493587240548087897586421873310942942830517564368949850604512196250612335041703837507975979500967278152469908133080620259092491449237535934717928754329602894569430663199831803117001096465809808378553868099845407706777854540083332444535036480831680438634747850365432829487584006039183324230364591704288298306723109528477634355031247085558323207746947693191047478653681851515654958193063045642464799922458760617474505420833437376308475598498928293394268482467609932685624877095657316250858985282806641430522336431862645966146695957671592624635707164405976638560250628436133934017666139735979270936866674043054310572733534066372594882967411353772834446577628337558197710337020415867706789026929333314673140998717229516743304737574184263322389618354794783140323452013514973454910756858413688055545365683776038787758239224361498418520184795824589145634525758284910843400708029481041370297847668137897501898767113539759446946385977643855397347978886212192575637477328205414115566583834409716400395290415501511778826081222501236009424795086910728779660656261796759586516108163536171481153879945465156271351537242550791897761959914423377297436432661433575909252175742956889510660327802437564420689743905651342351545021008161476303816883933813792189552478156796360219265840849517451544818020156188599266921744410866254224273014367700813189984133024541769029303976237703011580738460411318898335765243626209583024049379041826673220554339590951255084364840577152987470063199605045814324899232936044927169247200250302405215264525988512446016436738850791119163264651569225379378101717415472776033728240429104656731670653882118648490617751264206706606761978052917266375400995396760939721148027813654284462007715960692379210279103450041547342221965003574329787060098579448918039779005389928914086256846009233153200317207664968442403255199048588797700209012456210808828972599038740318451153845516150771093105249363917126568363917103068791082902613244300398881829907689346961333876637510973575366495366723859960265992028007304654656316457432907776
30687919616349120448806087119394397441345623000713472015842287809225749298165982512113024597746589789660520900807963361006161193813753509015410399071482814162474115637186772863928046555759242095460320205878480763087746989906258055737466105126724359590665180700961777448399640198223136747467029655336381756194810023645361179023349016545706731878764955722887782854273560100469489662114110138315792347062291545054083099793135229209681930842920480732855860888978979499008428148443752967769838736887385991844743932360449322938938920926599448445975495457108907200435518551547944146922559860304700763578672225223585393893582714246611550491625387651211541720996552556680420865289135764285161860571567159255386192321249786742936882954717863724458837315651499748639964683483950269336533554525521892660753473176103294155520614715413504602866804517220832188813437200746984345835135460738334542944264946228373213832232082008954042883938216864867824259103650041320184044704639140044593131276299183986198012184815431012937263195445243431518215792004115914645677513980625849955688064373316926166063202864753010657573454139433490522905574595284573117543664029917937962736016657524118133097789985058609871658434837438388837117202533221501959929987767066443467501564190662439349193322404910888836042508186514288567537594950975202598398255673918836577502053517430856601134046678116433177633631232353008555684034830698609400370923877649582454767492563018479302583978475879484734915482889329777022482805398951762845539740958840341691750934833562459407908771662435659826165148973613896793774300254036964775244476718111475088692246976125111257786164278333611744078155172717356203448912787766479867627419929874671378400693847088966063421770428264069255151590459968808991472015386968152317176944925890575411484890647894582065909819427220849170491877736629165878234891736322066153712686508908859637817823799440405761581863569315106197532786596072971258075428014544509095107970422661472738462297366758803788021409910099305436741570895729697414060067876331547185301357647446437537366300144828892129117317847016344279736754900828054818672497585534924414843099127663618656078773116310969903497685309288928875650883328920975041634758976336179379795366039633076566104280627934702340959456584660431098350138595109638747431114278945525677011112937845263861484363072838542996250249876818181409850047450135641274420021814896293999391910054940882390049113926722146713763697386487194802527918751754029278077116137323386860623789437918758163748239757952228782489665073978495810707643654659694215483071385035468298584246516844901684482772106539473161754133938753553185828630484604697292561724536371378669478333645253831590952227359320994915972289223734671472199257231715723625730385793292990392124663655750007053634710745985928512986069502243587722365264221084720188979989285104621480356029077838315214614712923150438808587244935491824202826837289056776758377872902042236582350899331428260800130608314188589211941637580836683317651779750169387875281201696252965764753869982601668995743335731127354619642704666360753492461149861014331428621955605032992675617394797207012529946581115020947065099946948885378091565445665101591650711011742058409333842875874740597990097333538586749161808668404251302726955377887303120696620532319386886475576021379574940301328855359104417360720499533573267830906891536179150544130563885292060293391278738766851152264829591319326358649819802809651237647857121460371353600152394358237528412873786192524857486403808879139340147624700187925835146883527945057659547088991635499513743296838690145003774524337141066315983570260539050268371351642664146943213720929853022290493640159054627009308139054506577580286603604465475623001418713723389749260627500393347097571153615215631605204268436016246616748077869955858261519141724186301588884801830773808657855136610511588007761559947138199823985350064860958212630891496747237638264578433356943795574860251204989949825582141608867756539111195079331871581237398402891984639040894571405943761995454887977933300703576795115375027505137357353428994624460803153711517972320251253902461340699674233604399238928012912674298841233433634902665257253603592333402066978723721342837151807759012020505666107299292026128076311072462704337757458471165726191720677506541388421373259896578320969363825525739469071793450220074660903348490999257107216964052527296189458832295057672163879237636535037258000792397512371220522912600452787015556169273271061454938321520041604888411579573173698720662388573818572460351000393880511080469544742024703325052787063015888348887652645198501851287968471557716793138312027839217022464589884648795332819112810564449886376377260393882608097325629995553169458423426703247934281349484536900401286962867971686130659103235744401289572791798612974213329071304780029593568019526153314609526278245785663118148394013509533924265212447110035399043458669157149523620704917541649809673604931371778666026859373903394712263957508634911514084466933864274220344276279219456064559329179266144596140734953004283773654074665251608568128929955012731520600605160448896285055690714746195641675997272556093888730915963968087349585791912284433011090561320592694855267945687645048422533907149864080143035671469558336023856772698193601488773531191917926851801354002822941134400569153225187726934920306461476036286575979710332969310335632554434115049271607972868352645835784641328705104812714121838980513939139088594419382399867779264917906541495362172624176210391644920607614373918502272357385030603639612805516534181499537851659468528247304740862973767238122132389154617204068709311133167531001996383985771593509009287567360240530306167620498303184531920057055693299927346211151664002586461282147973277243358947728964963193116514847885440855821837990990709771248730884115385215526674436137451428063586666305964494569963380936480006720753926076045694849841266372063506062735558302739124037029492873942195775069003190013962432955409230686592898435954315049299534649035986901266729036142233141674953047762876835335202605719142639871279331201870867383930589444431409288023122953659450295131107107927473356847282162534569686387386332976281840406901813381367905439771991308910392748697201632659020582556107917715789362972329880466127826914663033840143550001726227926065990712280306921396195049479588597260956838846664844025913714459081725121658499518856696227623831593769314017513787410168985833673661410797578520397657245702097047695292446548571455032750926100501515055382552520827033468705238799632233542849617407130057294320574106628102556778029689611182624505571768687172268761005428390225636861864855239500834713902471117404057772064918330475821407480265861139541005953020775839483522876657615525329279068381385506847239757843671348483305333947403478802171043469642428529370548822262862277416667809977570779910310638949491175865261690206341325314604943879517114843019015750521379751292805201975758212342507461828191372942605135234223298791661261260696915829129331528161698759436322532612920324505704586147155255820537550066446885447731712377237974116529714273267944155224829941919102319667389594389316503817220254484972666340867520242061478182990531926617839969230658866769819882388794594767652429553621552616428232378449744578194553613742777555215007748389263926419936049324353408715243809573746175915709210660174945717076772057642729198577285478912815783422189099310696675758490993428902834749591164794226631458912883479435997739718029495072881577786045716983088059355055576314822642078019467738546519547700200205415562116519364863258775135406124535928190186441724063582648627236975791730927794368991510483510042380074112466909230142168424349959008923022793089849197156595569163722657761291546239141232389072243674160717820424489103149260801941411431802589965429389534393047093250494799558352540318293208763826915649895956059030030346958287472401104379771819681534594568710745946211878928850941229594775351314968040248787457826373623159328294264044691095462280655794260547274978603485761933284217325075823280670454602466419134363070378460532747213825663843396405085443709843336516740663611994968107204242869145927999123810519808002851083153451750311132154201030620626995014260667445764445042127155578674155715291784896619056150948677320777423246038544020417704947348356327841047589585729940862251642889658211085696542887819027222067188908959346956244596400075421622452993119117089516501967031639798681818395543894654577941564518710574711464869616708985337230818611521153277840896821524830115841711560895923889224995237749001344144715137127010651882522216118438344395689970883503414529375177802781461493154805339197972276782630988949755444654645503652961127425244777400756832390317954260120133365140770664521120534923715222304360798846398657376805957926466658758614730751129207615064977457048387354119016933528733695108139534758635883503651023637707747556144764087532303919019764915802067385135441846317290170858813804288103441316719166441126758580035936769996248510180963914800268589430215970514000536342537877676196082784989125950412517304275987215266353933046033879734830787159301667899303605540111031631494173752019586829822203553626298056573805322022385214363326125228753026023424
32950902783624084811496746605881446084051382255202436743663455008611020079179461917308341125741289610529864052823665652971925995483597209056607206007581863263467989277059847723587804513537846312437146337484015456906749324992455113782240520856944765012112724499140297471726695547383832410226675801982977880456938614122453241503321311614393325656584030425172766509263618617251733086147548316052091162739905965206149366219455043690261954883119294469053508800022550944923915831482938073018599857531317917475424474745641481472021317580318661891775693951419831784042367283924927571766753411152754593659156282609711388659053965490027472044345940461318956617354937439921898484983214922927183752305348204117376851967433539976972067820673268400883865392226905088440217198539639436922700808673437331577489647502444224278957244514129337346514598311372135765214452455639521133996465152900259718863181373702515375172962905727611898338374041279790739138881401800424809784176856771493272870114484933783051844428497945999177424581045444174282388113732104037699078087577342700792970821415234733231622030343281922972954360061655666440751345445708919338292700215127277278427014556344329928223895788925764510498933727336239117587463949798676110474799977307610137988014256934971395092210927669084336273519681722784408570164391233304616773682525731960814684972307551823760784111748661879844526451203170087218467781126793856051817822080952615497820444960521896912062768961867577943448307083429744917633976477707513525785271721632737412883894521894491582573924510423177664390089984159913415094968999093313921194754477230549097062975042803061414138250234181575954594299533708569086348950707553304979125544427917581737244555214238883511212591460953522875688790136987907949610762246559249698955399375473291266737337032710870307167697731294749839152835778113192181694494553400982363336124384015991197270489506121751461741019314235552559292558579470143395745484805917719724965821638566580672722782129813994947408218027921704240780010950206119112340940527096041903487545750045486783673759273640038802617672375043082464736509447056054691373396816127865756895761931150342754218450533589904975390708603773898633947648652806799693063382045051582084452665078143275922820466855646472644478876823262101708168801205765820988647759960227413537072747274151972248391503353307902014296168463190529423375281515595192509405438765646537089747324393236163269660815037262440153632238336750793499909647291432174596391925893949447885583821448862822154557925634492944637775752237682765028565584028496326166215042110090190035616025472662691459797204218252016240700930814937544484232644647961451589883087736268958473960359096735418075457866501660028482570812564548410238599995751427631735371637773914102470054411589111520661782600146107331559867269953929801973316484398989446714244998394488692299147062831435150555627353311339923992732855240169753656630634226903038716101464531079004432972980856168161276679938809506420860416936517594527791605793385793142846167922022246553425656375266177564332933697543785059325589983936751506897009605300902874718309064417795149135696061815681167739495696629006545499887863779199420638967120643819076164337612644803213952659074471149565212737844851258510427230910751391963144417241419322119257681481008469426045965928646767792743839954777116952103357295123370109838398489292227163096025344160342023592143926778655938266969339856432388050787935692340155244715867575288248680931976598596181273183290924268147655642791280946434470640266974847236629007338027211281183147262347769021991037840615348590067177344646494239491429159085583355058388744622139597358210325133047360206107299044782965320614186206431528031054444197023734340469079684261086340834008823656913230011156452585826433084079083073711935900910080580438049209032245842304383863265243653608639712366311939890080590423534725514259082508727922323577618073274463469008671660641623747274126033574673944106627389050592931959481093181943301628492971608338135926461303751747693116299446421611127141774047799031311257072477416355455210661342554737794771157677407928093503515958052353647796189733230776389550454355707073440923337855784913551805019551523104977746725692717028058919335679328386521534043416315862137500327596405528433738247382733964389522335057804666178057716502162139625256469939086190556167814542896433189908948106545503090820257776161405331094437719535582579945313729422350266536889378409402758755966797569934823973041567156427925388770365913620668733150499595448712638653450843149978405595579747751214401301044477326282896714976522333864219869320015904874950739761841053219664432977718154747100063881251277238890554364070087450470060299591473374372063268662352675743679488324708111232184195457276189446289407830552495438453841646614935601884922135020568894571703954079475732478593779561418229530184090736407597230407072707432938073491166689410272133226782326940662608189403666528446983966817126529038138256904780145639211657215635113169788641120009032051047795869161653080107896109139373938936929276099451602876785517063608286151987360484210555902521289631443805354035728453405394401186752341812388535573852380735108134191541557048934970820011384928557779880164941698764865302780788328196660878631711799167684806904930848836151763532660805962695896269222148552661515259154584264934638279168759914114615804151191865980830746216200607481814941405251469602799714839573945171337468629977069463878987526666742332180126761866774085830643332571413555046139870657269163382630647818892449080674201660827997879164390856515538056786898412700766300356494718516157061910811635660144982286780861750192865517907532089671699283587850264312428285164193448567788241476846772327654798943464610541928421219497211069790897291595807574261343478860276835235057195186347782244529712398611080400335061445658478790576259942870555874579240054467095415967464809331643636736801641451239682291220261695362087685211107410608229018818023859031112068333421705532256407100417006245545781123336975314500619270492660168097274425049851562594298196937357283739399458928051812489394438565634731413265205410101892603638642533318116700171762624212056583655289017582401960300092141592562542506904747074730367337897908993584197707547381402063088506578300889459800688723121973834011770915953059775099087983711192581200128491965941060095029909584897196219178480311402062732121362690268394022038943082997278917823988205255275001696326985844617358307770485618721199959128841704090329922961488616905196610027072684973493330352433978324428278081978029328973905162049265082033719729073070437261660188753622259095620405706357583115228157495708751137178361654576143265966107909744901478254791386159782169071528075117657778307488849601769319706952381980577003902821614131392988471375077149836915970664297577549214166902287402248309999501872232099045470865479479871009881286280610343130760711638649555245149803015646139026703623274797012579404457085218161592067855358656201245913543800766949049792895694168020096555201427140734811616795930605668837999979766505510578878409947403953977556797961248031926030985162293976398204868922005038660438731346986496927068013104340459525616873639501831528327199388667609785347159975906937111712075622599132487035724730624085961438962823131929621310371543923564885196694523384696422881440758478107856490373355001177205537190018432715096560356267730285566784591339658702771922144102796600540437487932068900564309074704304714235725354878267986609900808750004517638133648861941351773597096095007999267973728080344976803359596987797896819139978688463808836865735925111760526466857010527138057873507079194827498078775400256415287703276731000566238769445869272839858540064173721174736941454595847059050308590465790821651895383883611437728273851918164557404249661865701118824684374980299851076397690544884297630213429269046756455518344442532311476350582368650054691307969680686148771531575859981896866591174582038438458754813489436585805297884084234358227354552445488762273755267774776274361821039315427688757867761487780079504266408582744005104086313219306351487204856510905730926681713905334251311278855742051951870709369033111119225562954275067606756863881271881650251155074672536293881368870977363459397425807111396784678052116798983534221427030787599752059648086857988420912585071072846211783338238307732826270861029671328076469658579142646921128760816950461716185980232967020100180140783147608479668054918470368925651733974618776562814167286793187474284947870535132463334939873549874010666678276390981620332971926357440398151299166537019768438055534187942968327074959847826999404994282878737045804199275369449574015049593834255497410113165729143962678750932762620191242280147209962458609509110088600049692845683653649847307429190202922684558031568050660556709986365444274558773250017093870287155294029274195673621298249093305061760780219432039866421399396631668930630672744518257086239815110654830795214380692687210580090999470255034372935436732964440348478990763955820990904707216893633153429414909565127663311209223918161669882724861511920775517898422293992273845735784351456440501742415324266522249969866434846379670439369983089633212917089223268901108792409973691407910752485376
35380762457335202155827212870664953046046988492422297918385818623087932406318779862429195370767665658522585834550915108588226839183573429333750740630124707689834711371962682251887417042521559792547935393765006327543246418128167540110670475671645915051357298897316389439194410506540594640267107129077865486313487220983875102886488727190911074143926534437996501826782830750928233751081217662005900844094627468668931356500921642897981562474006218052794626092536265092735528926118966551402036596951817437833943750687627020365830374505574626520914524222263297569570825540719477609976724710249380660019961301190410986572345519019695151643005018997932017924095560582147629696808713800727853701383508785644116531126890077813650906098821420120806604838420192491536680129716122585303713713311291620757706531450391505835552636542615228454357904833480036999317001930879658508903912902827563760605879574642164492326261505880306046885948312278013802581290705688865019232515104528409938015286442141620733307723219622117410270369274171054584145304314628836796772868873727692622530736165172403848275253339378878119207517241354907744027937589329588023367276974875955097091978460603711589188914944787069386097592250445132051418514020991074919646437233669431918644142118379360835154135209668134683640158385952921993216889545422698108762194870376362540256368150900184219430871819228036423530668131138844032196681792316410269072306796909537022200392596402389582298245147606279587460354097473974483715035667546760911681348690721555727822994004162599327425572318660089797238275067115996538006141146309909235948247931613696256001951865325837235600824194618552512680624361326588455206335833214376265514543999025260736218057449805569553052932407051060431767806778042606147759159944650866495827821420069152628029818794405717548245684035881086573915672503163718251635185992526836206200360921184206833325159223676028580604468294086511370662659998747120723289310695270378371405579663853149076972507130421083715556884097890333640683664140414291511646222391439625456631149334937289062069755703415170383353475510613171444268595333075199594559028162424927195036395993823131447139702770390597836262694568868679202806056584975915822032515984662535921445926642666663622704531306113388236448852729680774718202684306572391945208129073208750466098783278838966735185273876682943142443642001877475922580643011068666450680132975745621274028943793113091211927407399436800457251919816905523246040328517899042723416330328242110736459715747392289386022636984436811690496355510661573655135422298382913235010666491525049453348976154647300464791872727406414009967840491728845460581099104645966911808766572693462426410452480223680249744699212640938010767536492220327745894634644530155903538227661229828005519129278939342734796136172343952688864647638232981538787641287838472271704231358975360016660920888867783095313927808810569871978338730307829360901246889071698662169404694672074907964494207219083139948486161527812874375730816894156363377496479028664886336896002456782852977724775533983434721571671728089464207199228378263650343673741311521546880661023696861491314312923586248851056066138580139472988586649741119176627801596122349166690791953036467070590404272803969528332081564419321681657937379380817045627344218631281175288439429055320970828564067034301485224677806459069612779498589473726764962339131480463125071740188953392875679652009836471423207057929521610478328842707488021120904382012032461464429494572901979519702469083346326728871214602454720994801754709419433979389950442722402690969419533900032003353082635345677494559284572203359917019977643340443764433957151646362050030335883991315226090667216058718867485021097569429439171527555418479882026706635779842939828594315545468361801910669748874790807113020019814980504814273182426529676708040925532325492538589316430164986915039138490553492668363108701019885261488015235448549835573088057834738580714446092719835115296355640950324143207541283043681123086693764555160213705917203678438490155819611194487611730931004675904372679595065582280734801236313910245814201012979599320507131592303179307775212241693277734344409287253452039399925657846158981033438742028797440185608080716949248655325645223843226961190340838608979055930185171652140553962007944125968883299993030356758533706327697738801294306475744965558500195575140991203637383342416426972333843514827734981240725731078612665473228536872293106984082196841558205764459538336937263760106180585453932579146361413931474201813238483289632786702128362807079609212218195718784809604687848849468051470189449640658742499207940104410820715517409440099222028538082163560933420842836065481302371265824816027579247775762907232203473335075845694068736916602184298970265158791622040345534268249727828338795857319379837107669443484378810454131354959922375085102441308513955301325821331129802590528643091796657634638511379661284709451368975427084667296261380231408685887630370542412451828976913728199537533119227897632770740778807733375277210679900970966521447733298729090270485029814443412203061878024769472643328348661885194348849671261765494827175727698759314343288830728207195769651224133905531983757141997257468844062596837523492825665800153955740257918805920485445017322155931675793282531456851480631566423188244223197871716375897367695167617429384848133735448968476006592617746654885473999510918608527525952220754477464338627432022014927836149990721318523995271147886086294359644320126182156396551893103205838043651915727527008668200853566628878660270349419841707359199935710240441041283793042104634123916117435779880956025573542514489305905057126595810994147517385055773583943919772984738169302621949939111607041708852781393212954027134049101907087608789459908963802739851477663239776990269356474742295540390399681939090210237781503713087605596147413080076535666419087813411897658667362155966460664628448617358379922944389027571259427766802418048103524555342978535420371566512296126396776075395262471585145000740862259395885395688307446711718898876612840834868584628338307504914050581578907749251917979429223582028315694019437908868365120920580225429479452777474190083065070608975397887289513416480198925238616986096351153796523481664369225441435718279648933584525128557100744078543873074898016126820795869388766186021219159012072140765589101295924512366538211353094075997878899742931028452242598320866605231112938835350415364414332446774790944969681652261075206465285365943017231881221622891447034601611469791583727942357219112242448269271023043129085714144016120184457022725648083064922310739617936977101793467042395851399704480585812576340498651088332044834764399690376684005601586618795968256316246017283765829190317887961596039714692861661538941844042877487670710231065462969382196108969484743070798704066083102065247127006611456875813372596474669336302505062322079782579381908980432546038795351269434654354408725666488877022421602345715916643260585857090333162489397516760686584411872265793682944571683714698281066939396471639690644897716060943838097065495701325714851564308282854058786450721035016199771145265608673891306509943116666743088678470242021446281994603948450000036759258113840403362710427328034036626856215036566754740399644260638908025750110708583015841835528137447395425422214718568265606377867504225427611690184676413449376309894590790993535756226993896703724639963534820725310226537129053053065002549164520160920139739051797538994927665365288734050157649385595855172752404515266508510038765903322470846305010777009796084796431234407781002157166428584775573069633942077022997583019473947158828272257858483533735331829151539723322030596419760917052491566529152460793957653418720001127921305338249124323142284623368710482968427029466237638958004009714053689607246442964842548369148853619182130115910599391737283061162365657337015647126161699619595051619606424245052641251017832042027184907303552807175976550141944776310676642953479673537491330548513492458020390548815142204927444374913058919946369446509083837522764175324368550096698025186158716123037866977224570685936277776029333564802965526947809533313860656455291678195417268433756159762332646950337103736304415690079501849551937433950139689802429748396589643052805307985745322898381051140054903604341927032463354767946932658801621380881479920781514358474293581006916041558838768927528311731892809491718184749440049809929330942683425874061280779778452118880779704738573953094212087093073701590196644202690545220182213226669934851204534555562448229412673022253308987262871462755771075183434588513228742166800763547831729082262195047139369686735380292256241619487695971732524777565476007787086378172476794671059478942354334052651471162186616425328445269952586237163163714711184213601278898815611150218963686764116796971305200507439329133448317449728296390566636199047265935093984675762403461349529182249184258727041467229451723203452804476078730212029740771787653739508023046119365080064378337279852464859595996348949739007857174674352778392071889839106915027168569076686191507737253333276150171820249255223996635671735511338146762858889957211248082796600673528361027835711603495480888376208443487062819228330788328867134088007053511921528575743363493119030384722507204343219402860159565824
37989804415449822142206643776584062776536849413560528345158992024087605054349435814939193308260429604404202459187261809564680751230724804850756625005541012982349949247044752901074022617885785170975481757135396121507826847882405280296024478410620709909393439793717688701534943427897662019085027455979470725300890804459917127561526070889407252973098915609453178777109128742384971400984308624543231471101304926809081206860093862526355368809209389159349430117997882066821375978735740385897412532925797295814825371976733891079291853596218797648685535386505174540605745113277918161263568987929041484760157123949605264031829785550434164049116805939994177153819060769777697747927955335487498160928680047017538699000739727599131456013801235890785184230452522764293699485385946066951605156504679344668296073136256740989972932009276729130758957484719271195234124407474246451847607681019203069789256479600621849298434032424906540461547660795116135480810990600609102240515848443885546664260604267614312498052283124204938845862637601984237183740535824637105165217538189198355827496146054982182511689774686767618791568997243866872424282814124914781378934600916510199693638048057341422945644213396527174242988945001220900810977032268531071941818950381730041368780765103878827092564461171685369889446624981986439126418608108698718303669502361359080460146165963071045707720549088110101340256119067693588382379834429411547446029488001243845212978039977197628055515856789915878093648136307579154673640693896716666600634249955375123310309131170612994411107245681994054890415633178852542296399317640252812281518103695117481301506743435166827681146706633055559205476731189646147590593333912164154355894772041637684982359867891020697253920411295716089140592394335031074808533911677160434410653361531322148955131158694676156282128776814639344978125015733656606132855590195015476994815644970650485207820449920322913214372808642619132932064635746571120172863745642324245683176552042987158052376204071340316798745907025361395316238141131833483382732073294025423679963182111951683122028704219408076692740031505118064993675898854052341825871374789509589465583580793941893443544035497053713159159009531949223691841115799250850819653100680707344758869990667099622237211257691291835824734412674813983656036249035215315290684570694593258229757722001252744513160950289094439455727980298932421627822413797722104000892021939651146789041937210729196173304976662366695693710411705882565877743120368134781694978038033202695776238489126520048883786340959041797298080231370209543175455305675941507394093698065787141729132564823498477741673202701217768362023230929987438258469452547327386129192158954106938609425018780698359353648866912444636752466273143216523754713515031401222869504622696169605852391938860134653421151521844974115511231244193573734416168705061390234393124967904201835346167584732594715598742698036584564817467916770572779454859118546171388296136393851356793542428137296852298295934797117632422462880068664941468554159869945816383340131392176254501728226031851849947183725298948048013333020813410269373872914469856737297962942477909975280759190515878271462650844781903675727901163760475078432513713854930522521407450995657898490891677440777927835791708936696375963306141025814138485182195805589006632611072678667378936122913172638269147311054597719680387368832525266946576688281310342408296279270441340920717320874788727078767678222310918197482418324040547286256510395671192525120026236622105872462695973090855892885558131428335166998369530620092613022077743795638360191064012858551050196938713064898794623523836292692695376229519439199589540592743479546609390563952107409487211021565405947890887876580845982681132655333046221299671834660799815152220645077107729822753735475489221218439828847966290224653309763718468132946721058622178847727345320083283010638521671090257594235513987298831430943362260940858433050315358603147656532089694219500570746668877677559206466690138918902587810622440777475072882884276476821337870666053891715793538939946965373654178858089970564173299717738265539757153023912828560779362649190488080927640110929613774382868883013553472298061543081796041320134655688825919858266423951425719138156313966598905616626314807354493783229694794292275042867522491915536836628307914521777655602553278709397782511781177322196081411077601178701208616952161559424673430864836538672541703204546022629572083050814726232350107255755715557002581746859698099068100944163345508775498693435505638467558000120463890796394403828683746252962607419708734368557076992528430249774264127015327101282717062732645852162992825080416648315966957401903460395763782986438346414282877046018491926825917375811295607003048948997939701733891911558208565251560493833364565885519215555444968045904057553801754656844811872635981819443969269410258497922290050557456721094700057014385422214314150357630742605720280789442264346109622962972089069665120842790430304474427293104005815387157807400407611666767900172275896537377668196179675828701069148704963782224272842910268891249277654850963699519295181490735565482523120567858728338322408463875994230627793148719952311264932442635630389245372546155929732021162237594246944298499106829481310271727917359807969112964040698351203305689985655832273817086110438803211301247573945889659466709225807953524361878033080096908870345818993404227986627363339428854635887670144849763288725852772515754316770016064174691627639670209705780041927125404283526738765486897011289256788439399614369137296657795306988997703753361319178176651141562150196306642232519242667938643066333958492492240225763126185649293750990009935185007615208642101496669754961530754298686069418100510058385884535707662440621738477523059375187278127589393114625667503864323115222335894885049072496002343485853426574298579241258985510353458304599930693482837466061886897189062655318822850615999956862402700692664920147287725029950387947522675002581198196882758718215118372584650161185408890914470647198581764399974793736499122861324973305023852655045822659853476859130336389399301634692797206609489046730729007870897312944257151723064140835244370390980450995807002972713000426370034498623988551883920453868552237888478727621983648061130367934954393324340388026702869710735841098652897539465484449993976677929159569687947162501368378445228398060006749674757295623968741205557109941087893596506864411546645961543148495069590672543870013142346946470429601998140616391212101508162802623573856711702492932525412913336011889546407309146867134872711432675455162157338467572262100031046824292233192351852152712910325950973386006811951642045182984241986266689125234938529705133810095931246273833359975639383105519431006247023684372159711773634430752880240494062652522807820085914879691672148895403170597308365010761640752286547116617162838645765133192175330327422958321201386943621220308955741251622292660095234763481215312367538651382489766660199691686922366578765500777662659054070307690184638733693928321932582090570571227922480173664917565703848209936711931879903794401805632282822549628930025007166823690253462211817900063621974272629729396225993524177014387197829177946904401766305012269952856041794351572427823022712821803399719099413932717360517369552508937162840435859885433375490306089068142104802035136180708637487217338350956182617349026911450648607163655001855100391784683524882508189171893107605607830153148590784627704561553671164361744361119999124758157386751585667181938842172860031001924608096693680546811742477506698365932046155713957378742323582333048783815700182662458434027978093021914738921383542799886756921566443386940731478430634928252471983561956719854998389629512426992578960576249756376279722352551717133562103023072218510439773029979748872220684789681727112814639286582005758698115412569621778863178411817280842896782061064006163661785221468484096867410356131000645992885528833331914179953387712857453349930639243023097929279066011811070473647347797880485057577077131829938175910777687726122684711672534112270612447134643278629063913940583999403448887709194476985934150047004400099375958405514062161105013505744142260997568366249158962154442462831202999180696718322320183020949270883063502515583255117675215238711028099713495949008376636498159831656270275051512109761694436208266822595665078977959318732750377846781857787078247343070158773250643184236121996586832742061564373117496541152583353912255457494023713238708177839554269730238163814111889445264875971732272931242361501293093525530760652507755133979629860582019228371896929700793902189654883677743406364096441552029862055356159192789645555840340869951893432618245533594788348488029544331344469020107776884932053133499999302681969657348920524623243062339808871992644602570712242813546985756110848068415867427329006921653543630833085135788202289270819636345909438387360880717181171683213356965689467528477661423146587719792418537376060140145468720598546443066939765528174243182790231633296955984069238509022818633246620513066326158290171058134969725472284988915871027145131108506822013381188187835438855676156032753189794385931799957271287469738525028193970885758831749475202424842210452313999751920810173135595708409309270162756227837786801272996639134403366619444629123659258549138909822976
40791241886448345807448549073587620055009181092529812039734717665945276986848782345303735871900147950456566781793016052967520955804168696802495466313533617386476114310829259589628512604745937993155365641185285246470339629921424383172284583397268502030286986777740614807450321756007648101707880191673476603139181441205618751436753675580345446086164652578916327822731245342899265302280726937895980526634518440892169354818078496760254061777393197513885683748259581118565674125597499095943951609984205645062478161147776733770096163508744931290386517968322611096668374822810118465397870709848762986418039312796243240281538507994452023298013904799063382326520806876907949254380854982516878204512206447597017762655641252461554550396034708198825948507782128138334238957146167073894242640473139864079260900541361713602869101726268780057615057513980922381121348848324316618232378441453969283181915548010190495999953678319594291784711987165081289602997110046744872950733973809045228522520296837650376030164654929148229586165003352205540852918186079083189438180500812059499684016741218046972937602679994318891665395970922480588410024730730338961202378473564805733533651158916889436064411470547432323337232769017446612263701557850119410987483901660644310894910115378754401277350781376062626219209097458802086290865682858175352057844277358658006172240103547794621259795233260148876925911449914906493062801732881054354201362244004241680627756709117061099556803169330527059750835392693100666563653083385286221206964899103956403507436244506989251817084099838200420455191002087576046992372951955400430480286850150616584266965744644376055298648155191769974834628576137128344428496891597088194885515997684052251820096492373703596691176293575492396939966269933823533361595653090089143984727305442373277350682224496055035135682011419839760178977194493885142458741947744592433976643389174522678453530148961948179503794362567928831931773550072418876320133913549461287159278117104667957495734712893757177884223271121945958866042598477264308911648426482028546724496459413731172435317115448903724468394568986122936441660108100389671303582620355875642658266899266138536816084613698927200593488197200868545722261493596482826392646215372158345971585903957754525170694176506781724714758872581023485671538550649190332872954741146269512029723067499710052178567430768985590729450928814011763651395087739248898995035497264529040276957632873141839469178305749727047991017562792865297815368059067532591975007530197712435124495411173713804061045909767647448723078939329790814151420131946962987066643654188063557555985314091381493551567585480327293622248316309137928252736373426448753907511088401880716553540043256821312366194395414101552565610572623279523443325418227268166319732407550216950401308395194577463650035075246198352021816128626197270670508560464335182253061536097399135948741653840450802179755236696483529357354228014715005736610155610798294685705743686738228373038209530044616230869120842156579856831417221539497298582261543223664616715893434990838173876571724887460063356865607422355075774087621106297833641127059966125003561340638136565757285329282636162273865951262134968381123267895209822670336019607170645409115479268328005616877121680544213343362037765467261030092935458904142068127896618289376047911060588877348171796278182242006436696459119115859830436796430657304163831053592167548599636257074685216855504488923428194198486669202800479564059186320293103315604122947966177542790238475558219206546104030524148087811297892327496173904834042093355251908892933416115922061667500058635576532982517062114463877288393252604749050445289624373367374424892483060039666324458506712866968542317788810901579404448907111787723268377134617286350113614820408233095550274464382792632265303683427084261463143156332614593332076995556086764304189242812978018664088131751217663779981257864292674299760093729655834755401290029227496921757856866091502802848799202569282641535306219536465005595852714097906135738062871801101405142437047369244800573214644108793681063572279552307762149681747891022970395255190004943276155850527712499266795465503904725125829721386108799815522066854072932902262603060753124931919607092811531561139067915668555612583993200183987647022769401713099386692193638251790830413776900469350172249627649129376538609140935755222826802256139982957295163185691370731273559333240261147482496101467114915891430222004794461288830784251971390776520601128097582238508982715408002072760534811973599056650610440291875139117829857339790403469220809235494633989989625964098065911068249393951999204997687937358614473581647526261300759518642752889164450122637259166216998477342415956051359627459239335053576914024866640952058330747581765063735357547025633583494977621030885577697552653121230738486820074179641042385061014806840606229136518363870579929142615796509282515951530197487407794714012685883940607128647896861681913864213935378752689922918213884871246923052877825920414090293954367294559045315629435379279181625832754956038197538480595049379429499420137587620457027802116210879635931368273445182875815600704546740310791964075248155007763280601264859890624308192357141538156301268992178876233947594368085877496831429458119065075069617641473045089671105857854830046394776627181926425482587626000479658983524234440258523231396659890955551355304955593027206899196751699727673112720389069494968882800441329039604735791916523108824510837256234442899348305727946765561628106672131413634825409045001875175623303055397614090219770236745006342359945828985421578390952625361144252094060643737371064926130377584868908325857070902521235296499815073583671854208017510624227312618027081952767020980381860285421606157224138599769477166906592775573888358313139685951205302816805350264193109314544861431365789002774776446537427995117959158276493204689077173093846813504828533869484608372316149153303317265357592864268094779763070526469384184280613338630740460026404460248203225754953858473114944716320740717465673919967200580652343555519175893287619913336144426371603815464398448487180401561225752286977624744674201761007637317465484416167633449428173749342942600580427723894279306323338541495446957854959384407727136149657057582027904767332184768269043644890671836659700029239854403441726146910781258380169307173116339143791497079843685167701824229549708848085305360587414301038850164312247414631200621774782295829574119798877295670641707930367581943989442913077550052384379444247878577988178304338076906716945787918563331167245916770289001283879181546596425845036381156405559093406673744949976989220580232286881735032698066410341381129389867913753591377731770727325413468559416474831352659035412291626781955218316089834605428963063739136508785799322681653493690117870340514079628876610764949785612537053337112983770592889271658453136072521543989369281713569644487282755088173634259643981146788963479912469388648528719238250709925934683715057205156153658836680308473280921989407566803500080890697568854117149898958978350991403592274805351808489820756579994299291649145515768500831168306897848219560918341459163537632426370163174701974518918530117002862015526984039350369129707506181165615081560040325687290275918800756858711369383786892353446951958385966993009965529674621148393663629438154394333363901336366034762486028079521565380843667629438200526105921438962388198618878378000703270093728736365554893473624177323967212115742656855759149917983186130702543096227471329721029172191952251134852984703076208229040919606957752416321275653694699288492618109041349292501976615251593969121295277384864633392403741930157849532473370407377859486478797544326605339918400138713425386162986397855357589678567593166504491022219413042451809323024117269477987126164935356462237120181016601914049583844561476621588923018308455018215826673834342110286972248213977345358917447782795814072685405881948590216573579198752706401528994614757782750211949434854289600444714727344538424353766647157258575359727555820119766274809671295677549383930088180868411668190583455447584511306367141691144674120579641659289602956615360190298729722840084800762514279057202349788639013117141071982489658019743428112454551799922222293228927900329450695898910952773909920250006174720701623017704865320952519110286136586170792306693609989264916061972553836394898094693900759245892744510406000932871306041159748021814861679301667562844105650284597302410865912741782710883587490952183466277159380927133913968175297113045056089021583176857999824465824600705989511131107171704652145346203027875113159636930218785197628730648033353358121263985934985786511341300321667441501458483892846593136054921921318199484485096226670537962017029011980847629204755260466191794484928539997918552092086024764730148031652577748832395468481151167730281962435340164901034234299473248512003762625506305073495312860490607512539421590660089502514281616376119743852917625912381693582988813491209390429629527408057936354135264908748723318772651982219098969201736883413351535652882181400993233852431213390545446347139235566589167256985091269412093678728734188531917013751642135370825723594270585388666842645724677583626790614894419297963259499114362998218860370335273983874324666648945904776121992933250044052025703189942241413829040006662693767348224
43799262466380247709072557868427481381684538443039273153921916222757104396044235567625431189108295206193095649060243047174626563843391483308414449751224142217872975912542312144337210606626894517361541818953217702505352036131315193865483754824063197987748052426195090342233117271682535030677956792180948380275988806547069837216302512256344377830652095224411921779761396036276162573930819102342364852937028412085194110359266793286533286996266853863751879395343399455724667199408663769117209603472177580520481894710979723663065451261282022474494293468315494659379341105359813406692390581709185533180192758225544757167569431100201497376499945716308669630887814749962884912498339219607160914098781581307382269434267322307714072817738229948715128609276060461856730059497983268531946875880205420663577679919164313807710280920805388613318416944926781098707660277740051069214345683585062190163722524334421513762454966474390429800904864413298973006594352808320565144769359176492451372267768603480146632914875603954210802219575864363291858318888843326192075089466183174248387243559362001738439700139804388276374460667500555269603973214259503008339707095343810290530080560755134727486132553872122261376678080517363813274647679717628734971506605739736851395523859602834201675570557882558714214843800142807916988959512851142735830431867879047349739584346949357867808881711627257721621979673094116342650696079214064077323312759161847525894072953875590614557567426645940984018218980074046181931672673857341321920833972267858114318554590740644619994471195721667424337123696849901712436300247520856024874288398523937725915461501599970576958295334889846162567368185704003062668754489961787751465241418534454040580617727577342589546543998169308687988451401177220040005804568099423553784759725088299009711379419374771614230971290425927573882297539270266989710149423716591366194680646089793835092058961385393944853883573784605227900611975209714376352010996258856876691791063983251771595824662842659150394498355957724780302253551350677401580892836297543234980030053812441679736355921560524463911087414854853472463104194059749580776269260515617441665059709096847853957593845651421479208465899384932286668048453539251789995515287480398141220353700688288162801035076428569757465091071565331745291795668260378012142173584027843276642384788712013790897350166820884310819558130823251147860505861653781149196921181777562422207949953891929679322350705796941608012010733489245719062576514974512184486692347888226830718057369873293440826486042501653187780865251211954926325390864667052708993426366805916603318092653269692867565904417292922544370936474134702706949674286594060214863178083360860645622625079703618216382151326070514636373030575922204620363886995192909767441284842474881319919618408242738440728882359358830267565698937743711671593573564720589545539774723353463189889625833899422249314753563724033959198123076602631989099798252062462395031919191953474789943794599522484289033113414918333622149075824787960831917422790123466032485516784306676688004107059274747487563155956440236547477437327054222497133781072330783784439535960392678080077323490752378364408300814039699903083729624838643235856763148385903172280840880936208698181347885817137488947946692722649701070736107409158010545386779980205466397505933586475677938267601091811936400758196548900896601661536516170663291794750311895735746982080407905408972264934376829585571709294229499612835187635563507364968717218636069460565103428710140861709028646481828750443852615166715081347121597706774612046464634180146930861149936701994479470897816244030385905740381751545081115996487393293482934341637075005764776092831575452810190023071978923745464252954213803237017521882994506043858587501295384498568628633317987087002795182308428956916025905128241453698744133402590916832496606238248419185908632284033883304768528135810505019960572462325803691618902507175007935745855722666517728013970431982051976487029893657860563628369620661100070836248768179214194392787966603335047427313669999737508886981544874359402332839939957441000015157458099308661374362356118653897381510327625765091738678827034554532270976369527576142212803505061137441043178099234741198791186691030301429833082901374211969152031707696586926812060160157323697674057514963483839026510046029375297008776548985411430879775577090595060499895022625381903110057885441445621834734188372062189045806870872544152941609366557110062236728198006628859955602766638141226661049801677364224029290932705784872441104256632381941686335598737079567276053842623858723768415806222643892748914194820767361642236446976358027772896978138132831491592706510637554347494559124866868381217290724068044129272974813389351488412616208611303728008674679065835469578697553565644883840532263906098429586267705186409463076515796724389988040209738807173031892193055383041475089841609105129841209462528041539700161439805981795430026213900371959299800044122740622379563778676313184685252939904147531258511625774592902605652237360284148947825441494038640464316926038698786785475662549348745862971329868929403308744761425091808588155702034564090390699427210670479073025947366063385177199700014606112521661176788301709140697200657492088333286888096542879948173337845481417696763910129941225932079742889659931473717781584853911867297436086805766026223658822254815170815094696034817568904304940692031328148161469190647041388100647969357248250531978607380762303276326090370098203635207829042947667800954043955904629526411534494085759607407198480676654863494932937136698955998634990460457052863687970592495173178984218605656889785856426694557674170477385996892252772426033354778797281597213241098614257361542954521486879381756004267477356945284392720637364469929532627516169560034356844988914645633591083630789243141953095038529522897336419746620561765306509926455076714550800709262422764266181333616413096523959505755753774328608513827677634931876854186217894060100924019350613308641224344807933032760295701361394707002661372214811971643506479177805190635478362364273641499679582622102597141395124989402986936391526240534011684608352571185856294059409829752419038608409989474531922954411845537076259314820904222435216859870094863629105982599672083773555686986220246000518258480416376688854600645950910692474233638138277312878221756457280350202032146849902636364099077212054685474107943041140070291332244525389642934388859526954508536041020605582130723628152427008690270231762046698499133574823452459552822937193810470531222028795354667034679729482301245690774189469587278730105249238134304694268240675499081163734156954060085446293921468713087036550256780832855892476384483508196099285154498061066696499933674603360783846401036507557091615102487888695128656190034163193650799652874419088958391215113695218072014492917776982087918806487980578975345029478922441609156698115622806530252120838878659017907174793389990602241711636121911263207845168012197068619728710634463570832524983312441308189458992026439725152213785338442189629115770021901489301807695809558824603263080831017261474142690844204173899487328946492939073417078411734132244706382128776345105035229586473772260163630953124405430273456041983756186464817025114482516400562053256051685093822881782883037720295078315638009953838385187055515383994565121419476665703697519154564620702659362334339282729528178731703072179371781108750428636602513204944346366042090494920050335993253352419486908934537624716677312051025581892584482363274506596888254443113766925146234854206789412180170441213890404938753157565978937489280752181894465592727311699268381810501451850901604512969964915503972645525902227447412571970069412122976104006387426549376120401346513708741193892467894389497088411595174604120872919193424696855814489852672543671976313473491383700372387798247979874105885881014958430739571339542745234656777100361955047723933221970096289863807933372269959077189496514219066536198968408314972776214089805739202498587364203699420988999237546395321929357213738367821709861255191351169171806490248585839859076512129564247277533116127038116780372512004822871969717148345157485327114285418672820925451399139268421958980295793741463255536513479827566750970023265091893264234591132565966045035897380936166055868851258790806383393903286873493459948159706914364199017931391589306994228855464490753722907669739998969326422206937705897086916323881369841075575169864628585289626596122762566786608995807884198580971863079603215411579876447621473902932719208341095687223320513614332426120865406783317685634383829545150624946848234960630879137166073720824034847585651205443341983822762204493918985359189331155379721466093492027973787998866886923240740878397407450385233186448389582846563867744080311047022022326795464195790520015296648566333110180616285764458442894379621630721297278223159768096484205976374168933115311286273842445382181410660345866432937328817363083807044559368910383852007503969646978845838552403386120878565109285843047733970280780705150894827192785164327423845126744314601350328368037900497491915671419979235125909156248640425016874257061048805420456562321309428325328838231934304774884550741401110455342690102815344415869739564382510305627885245112578984963954335831143471643540338663012548502429438051200750333132240922972958505913680920576
47029099970505865852711389633990875870495996500427109259926351078598403583166955883067805833779629828228230618428409255356601573180055621633642485823835756697854334556641246719037987787831708206527381580135105746557186065037752279780038137547158417298637723464550341683914171572502308712784045282629560451887385844545433908868015742045909567824029543835681746219146327664777536969853012552763133509666096644332179967451216421926113206216087052858406390465384038837950411400486030356854627509422532688559969098985943321312995859068672059390172496146260365443024232426387222223601541270124841911951312692888687430954743074596172682560574266449330257476482888948999251978248047150631729523365933051290592942647609642758280797817787066579664808649318660479848327760760993079074974440778713373877997188402091662863599222299457977518693347703238189483375087189392949032911361781259151535219830281908726142172139498420070829382567545965608329133427384412505645995255475781478142658690096876710705393413476967722895919255750637107817598595673280286315705680908382707835573147957761608022923414542126618871078529504138303736197381956726141569508164308180204768463738628172161179656702903100430819681599073235533084537115612577374482843118090875033916097446734445467111276710987061516171588141109840430033269365975190937441654918068524175312691747221695252352609859532442893714132468692679000205425967402964957648838010879744914873663389124283444535552323401689798874376077296896126002447550060198538786789847452984055388241605323305433265208650371609644176529125189169236518932076511584695426189907795733131801486879702529731325649532404815314257674486438597386972611534753859759670559146993337532088377202497855630933172589485490566171459766698435383993005185567538607259989410010618048739744890251315528212647787470673569210072272921126768106498365073534001672600528336029953700275702597113498461305964361999120600525938792977921496983230753191042158933986822868277462684532164264861861154878984291048672491740999537754016809048357594657479846318073555389283093738646329598464276513174649695062775267270031765479845946691701170252299654809114558807358912434480931767278076251047377671603441229023615472585049536599087064400152168502192587363592352052391897091804503508673843354716093073197193687031611438673706648130838741492298551275364888960601192375282264188309113833261454822627635518284906075437495422290792636472755315930810095455808309418884320582770442477328296026480965545348347225340946150064392748040267190786266616863240767134542693198410804540538328458742831103877947638653257722799583540004649233759795083570262325524506257880744693404962673020745664714559840655068749108403057797845898973138277874594998478471170747565948314165559820999662531742634018603050534608103146034019373882002401617247795414786972666061267868983208776002642962228945201568686678525406241623544455987334249647801795176765493201560133972981451388730144092266870772621809517758394533280354486875476022129476903570964046339602923042045564065602355808833316943484435480391864604137479886154396885410974260860621131712053730159825625917947043385998505877337905596807672182349747072097080493754103065683862328092216327750211555229905961695836937841748122898785416140746940992169236547214835921432501384428730179965256161072013396426540055922100945367353912303459649515693498221539433519496198786541512499017849345716049017302548931220383735588892948183192207665898944129278500014777870226291880616148384176141649985357223116596278715533966721471466389095663309056083710130853023771884096825012376131482015673853569572360330215718023951267949733232861632062714681196868569151494039361159908732872011698693854917573692298266606435501511743741704508514274404697917482626806827992150265038773431070203648932406901072308997297365557208456066636181794129926003827937465307298340491378493621483781879738104813890932266108142229924096784889006056509118476424495988590358717233527993654634837675906242957662502607974002723705916058307730287445652232313523773847732515492413412229953181728659196706755255203106183095780996199131723059726598999016335090263094508105029277437625238459031677938947460394515029164018957995392751400296538782450064758466319934259127968085369735981565056874098967073597798430710847281177905388990745475716021019183300152855908153506547633402298833341984826659480867185641713977777645507477489082418030300058606742515958394818055119870836179769473669484108684633043807891321421555475510170704286518617090617883530947621664083911000120764501151011977410941363932203502679501566342099969402598015673953617913059070126870440067393353828643007977937744810395012816181082399102403478055770034741889345277392446265771930034237722764793189327222709913241311201238177383492507494651119149556894638723139659731045632990289377555547533542647119972130617093231637123457078660918973985419757471741099135831211281199541857021062211631995752728032040236824519192357594041755378611288584416796101247386052912447249525770383414334938635863078865529909623734613346212395019289793169938435963235283022917920905168298593357461010475608940552462824709924164894899780969105935993900557711474657539035049684865669554192552583140065840009764665246375447595829159760295168945107403243794485560304738860154650101927194974370245546714623255761577034293871345653150583942554068470873540550949438175285157960262681646199547844147015680217999578030363552292778080230391484975654803161142464097389212477733377222318560733282929207371780147347520306678836474352870076167233755815520744910844127960398393352852765556832449001136647937006075391055145823333785959445024909668433378814177836571788559442250369059434684345112921125128732038589486168494929514936724492884567821405282471382925725807860184490820207189116040193635772080365979825784871887505979925541704094223927513562291566672039914599124339412321556142484481019259805415759569157291637229531531780622938829539103189587274944265891661159143235880983194656275126249534924708194565709606255917548132258988050460215145369738787410829543864129209363654852440268685215420191180185231074961891886927720563838204708499297643874186522303792787933126891472952468061926147517245884165032898486310157189806325179806065748585361819368374909061398386699616749846147680518654923981305288765865250310991996471282388432768714967533881846114103295626705889515079406353751911160512255203859341624994932284726337954609705082756019637747050574321897534324931519496138492590147704642908729683990152715265484018173196237190859614028928938679395343088181375519071956338954760352699489277928749007296227383519838925116740952247388398596126886869894218085493199647635084577304384775114941334935251292545416423212156173009864274838335945595518601243421755470832722604979968938772297267642307300945563022982031952007949408136486195179792023409405981448561698525341391652593873941051565286122935761811002934707200668141817111807268574107470292148295835671670846710996707507243374010920650410481025071239481795792848964803776763355910110730901703323889511248717247895326803811723686566430159488245091393315681133999000439113954788699638070657585617325509303458946026016744372678265976049413688338075390914992218489204900450439208856004531564583511963570277670384759559730344158126417761297153759141625363550359272855285290776863348282311421838427605047415691661028285561805908788517581941208706321014686743492325759912580261085389372005034166838199326042827049925080337717389679088372136618224026179887457535035423690653624685322295295879343261040264798588971750736251265035264874283001785589241467653087696945047639107673603979532074224232143033793141581785417685664774274036136783217970153755465529027224004726952442808609315340038108317067504513822413982721717153726129914337744275016848436706484999098750594227675857704076673149103106212368063733997841964811616879946806780819222438155642365662495635242460602514216959138553863432523840471925257675797593495213826992923665653222936090873411068070214554773110856717089556439196965442330649723229282188439520407345682563628207979862388929481902358399719553335150105419837155985631486540428754082430638728668306549982205001152563846575606181518910599283221768395506255398736480536213025727140124936807949145534826853812661111960750879248739874669133569671890216099082672631871397784313661820139756812775078204739556130251423229599766406380375361933565932965110939955771413712294687258563721850103376872044004097357701663624870131765363266338021504544521890251915122385168726857808368355464246187916065960286179121560532750365631182171561568247805247596117449539615180284646034150092641098162261101881794472647829784282425912548268599484023558386116776021342085800514806083133131332701498716927900120834842845611014278200540175165571048439335959312263701056727368342851461750793283844981332815094562501122043200477240889226050124449794683374055987702020102067131397208434982947340451451592316047266492728006982145941985067812687483951541683734444895958581307476958284673173966218567088716167477753795555375423685182116139652459638435852162958075457156446902492580655945130616063695448284188706265042049263682968349867644659264902808040547248227281053600815163887053244391299052866020001840427968816070538213273370624
50497111583409314603389642851176055456543959067066221075800610312798617226877822906412756551640380545806587032523968167265079143627622403594361142492379548073174330073154203565733864532596143374712479403798270610741194685781018761751176468599448765007192421908033883219509234043707577201475832899869259755927825919313994656179392998125088431094425193428012874468851281589679893100237406710298783214624396241845514180147329751897698387272949450278969691431557666722347715158708264721888458644807927435714005153728803332187234248620842878307440143686718575569699407401708961720663254772595124462250249890056651071079219890368262519591564003344765874241188374284887899793759666471957316010693587573954646820279971767055264814953045904512858732947730394860869058693189344336777339288795115678440954654541733547498354092156801482992272789259541184282336783794897818547337281629333090386119340807867109809412396387016011970550430870608316128593318659110632980741243909911592166314474114071136055929450424345504771390903826411577310152975418066482691868057665728825601427403973588823955706820942771160585584681117011277801970591726239816317325919127157111188783752392472834131066579869001151843510735288132630875803228713547707418339026324743556673132335418386319484594266623968272774286547612049447692867029705525055916872445305467704988345407011569992633231601734749019872450731511700045127070452936224136633946077282549149551172057000329868428606784576768289325565716098734235872401860865968888839062477908848853875487569452534085623295411990590417154097360869742921064525538365656507997401608966982312357760928123862851127832866909093501914168609066842822289605747370048769388867817592510357552232666610064861246855558340953862055735906637392467154789791192747379349760671325484883021134579753127353662571895188325384712213241498156464121896580767074293081957142118892487404769582209506184972863859596131932040004696878884471819899584686344243428194676906778549154520981502644420393904474507091937948474060605779251154871874243187891775065428807983529853859123297089233960219862096508394137748109980611408404270022039753980209638771549309038198768823260055836169016705109010693211524351989928618616608093084558258501263824855285099616755063003285185419146174463048817852384783136778568520261194607611820769917204932980939805128398967822138113388437610470864404907363149786370141793834210420401108937932722165943892025219233244289692333725549789230427544677878893563222285624245943489065122926541055918786733128918882201911341045299854203124800734011168665106741201636216401840970904041850820911216684969036737444750898965901567165106036285181574965391181211039870703922662122873513055073007036478834337221489286476927550859609906904903141853240181291150217793749699289412994279797202706328563399219484884197708652200601894768657394623616517885283084470726328409295484371328221849345516927998114502057143574583090502777897833470332302437961413454118167231013778458937476076530104257684869568894606159048555105766022897632650908729184873681046867082668326276934807615599722734457361098492473535143737444815007814979095078132700689171762007523019856078506270278027132178714438351233231382143530622799961093971698435966659762086844773252829918020111564661143352165766893920042139654729399029941439742407016701459631468201654858670990866939850252805581381453405336507435150588046127670282414223765026357057911846449257825378231151628322958287201769114869045588409851617331613936649173409879943072537647038040789052979629818561468072284582271231955755041212589404420738190041481397569991563332840120901537080951067384507110135459301766265550636144179904160528995342148779635158507522599904878196786946022755538032345531574482638383841140529336856086797195874783945683264816014600058738056138238667568618649684363791783965213799384024659240335240556156995240631385800015504361541968141305170430148471410019210127063359257000663147945508139321069694957856628581861788036660071490166347690326690762629132958348038232672141938928793994756798627809448932235409853836783933998946286180843368723502941853563392763534413699350520373845614299737017076919929277769771435623143946006764174327009986911128552396484932959693154671722673745808778956153101398688027244094542658763262120842329375802776277405000874352566215068115160215696466981629922592451832267675105694803557674813225012680576985264553624284766295622184872195710607783515960050652542650284070866557391839998052125228957133056951249191478022571971118524837619549539259734055373886323333895740337700071070977665612001306276899255023429136689783688531546989367119377769777729645622665444526831077425871160075221749652129506510673311546490828299634804313151217231940922962794891075362090989445396466607241369111642186792487640362919286548841158405009246352287394227890544318269984783100387222357963932116099446916827086616643313159793344916241872228557204572981522142545535213136294450098814329351205525049886645952391895591622068621989456975686371622009583826492487344757799694115329935885943957426296840519420737702872438198871449734184122195003139958608274469396963451339509001096226243715926459114968295363318037711736064515738845448558289222099978257836725942532176889472392582490362016793406737481507779034895407606663272299546134922525092246983940704657236782114254233919211970702948379349143116698536646304514414678105917228380571309921625170149684340633875584545552888021966917893798893311828183940606075323785206643764995844372384910809989915186249461539915215970373258169379935218824502003727852150408491335887570645361604092437649452867442429126740489473065560932401096920091074232818891390418267300966154757854333938550562377585793414863856973922313265782516952119593801575350874007414244057930471285455668032149800523299369945171787105220441765685450572096993696158533542200267792856159684418253747702467997003381235766949690541313402597002758132404465458783493599640042195069741738111658405845556853239408412372109142343575907105005909207879500731920475550718925139559069695355449621728479998052351781758105433808640565664949113287109004240802672291062525160572434377942364589424154852371462974691150233360858473618029722114326588460667119855141440697507210709357805302093003149971819628557402771420031725503829080754329853469804102268082660306862807141113540476315374877581379375931075247044584770630404919463837283114766332974385676945421315861182582158545456223053943660519472814337334292641821647154578418875305990355680812690088076410530174527713453916136875631250238095358147383998106904609662992677269186637646634590432941151657901132440499099339387641048843001607718345044322843121868414171256129247853000429079111629746918626371644756073033099376508180471236457352143348496909125040343720533906368757223331780710788828467220885805765003680907375296059992191128163169895156266277277088800351138176095754520536690776188376722933121775834381862551344613396306348495220034323517124049085704120075090005576821993622400135091016244577382411124229409173624919063974591283476240368091699986582666175415388363400890343797843016617519190991705480868622475145671018758671883970127716860183258361224978215092770557261297074280437767846692598890576773626405394119393017718163259074421473936089771497985402511466296684494404229601202483349185492183225881490947716159119628583396333020826689935563731250334101054726341236560498689622897089806639274746069991450720010084222204046899923483168457220795818703094825167205990543123355163229057511016110768391479738215234721829387378864105717031482062279915153920015776241272730435761029453849048254263382949734679782367187933636428044030406260533941480716519562407553381551837351525955862470954007106816448492102537902571849156603698653877632627799912001890721061053983130681973289902148471160769755560930819167108546731939739262969793228533816113091093643360569325063273335812400115006966629598123031777278329591754303637164294044285049391810046968480908694361429865402291851257746876849846153331500336113427957445610392302374294769313078644925304627225762355868576194395148094148796758139305213298016594286549357507288233650984470149751420150516520382005348565969039965479476006898547535249790157367299634193496440075249155906293872296818364053236052053225806441536988096650604865494145702728766875599126482161983193638540475190358509830876022415065538973299696444246544757146423971160789478927207251686219949030464477086497908722519770319558654471147943567760332164748402507044861493620385010840859223647019163003034299324060946080460060068598043423101993531975124161789329492456168799218698890550626765586894363936924671902686762221718109283498807829453998862216938530484442414051900914440479523362155314135409268022709664072006458079847823152235024559799720865565091445467559759552844946300739811941641171955173185901363014042659989542830690272436784712687230302884961008942149539751561350513288632878227836886253486775286232290616181136976394115852952894119181244893958749360099095105053994214057321542614026556885058356838608504467485852839862551900432500247155970270738260492408448949176896797150441533699981640991610476050821162451825226477413084807393721154935022955240288179068269741525053981041958943480617831214753832744396624484177182700213781849984441778176
54220860698301445600833431697730338331034663344853022546717389577577597805865615392680614516626292399308480311517032903637143171183081256418673489254491522048385890642726647969938383601798690442529293110596787613622844373849617949820929655539850842333370164218509862021918837346933469666933476309824828331859738614958685450852314309019661032164626423422947356527667406278840507993573927914146055073851382695617947522009258436532102127752315128602338225318437900227637737236743861646355366309824632134483198636110165691239998811629413316571240812652999287906890880835230081275091141669302994153603602461405227984392155213581098229497081667964151010660688220932250229160080728095231093343466536226761797370083217075826423151210705983867366767369624930838149769306388182965535370569817730270860188127068930863412873359910308118354027962645107360614436429214227225580638963119881804374748645280716864036366758864805582610464653926992881349484408531246685274535660107857364651402614792843525694445854113954316299433972091579746395720669544421867678830838205336851490654557746186111660215537128332505581762603609038046855658613954492049033990495206070164502415474635458144790340884533982977838552179471860696630503676263973888874385677176314162874456485625517929820034987744762015326791977931624818343931636265472656417884611797633130727279896066625552993672663061110976780057495803507083795622939912247460142158481339009287208724265821366161528212262650234251005792661835721062516879005347219654229308187479807074100575491713290630519329392561608025351961389333863990474911673259321997854600590872742343846759959519649395695839719682119298931866893742974749926549131421999368612558295756681360057026478718274940873505601477554213743570262055127494286644080731879706674231957192490635979539674213596434425943027270649322086393561003183014423635792972201670597331243268566844285894317501353121192044231106430604053278684195300519857175579557957735830489765408975077333249016524919680777173788939006398388489355851535958076386232736179186489273351247626381107241148488057487963209218168533387152776562863134298295209822853485639221557436944474392615231710841585979869965169230219260564446575526083984583197130561775370717410525605330358902516282310382352984132217890576258281863399795129061647054236054396080717451983953720752063592771661909059885449619820377187444981906659482002286388850177050401293522638583887745825304817953503605051830813288546091094828122267175625676156283626817986549709145928411393124062696846587723521419620266332078997290039773691078843357452540822783771441056436825872781107145377886889986935929481286862532319464554261048474531863787056479706354083182749918029041903028513618118642032998458194722375850309368540894076828852569650309911858057914465812367291014783990968007577569875898876464834455892386754248934249793390672481875943762471019951943833458231192908552491572133999689094002727636009817086596082856305856334923842981194165763851631434664369797736556717868106988080978429663829722343329847868694132488299496857290829847443623109458263137142790514556121952183896964746172765833829908071063628552037344787251669062253952809843765840027061935010388722513676835600725086212170206883012788456130534753237360009336685060122750004879944895036520557189731875140833152122198200263423728155034642887767851949355336108734326069902219217032827208154123321720825910043749003548035437539637634020867895406643016063292375943425426354531238347335162997161201503905216789695722737439294114224145580356226979784052611214990662899505248800918865797087601598871488871908877615270517196949704034748187573777816957756276394008417812057277471592263566334724829150396434143086141515846361863076912952062071034579994597998358210481365063123416675789443865689822541077699907536086783062458234072505802069671022617500572714073696015566246786500034863100556346881442028324594903438298484282605878556872283132179176817684591762121451495895172579503978809602384764029821612232429568095349356258235138598771122079492299870050411395024814820933301373846281779585924199401844752591478600455211098245545842052311215361562151792600107436491153164663517033349093157199860480879737675812171297748681303104658646377529624929981630671592647119084233580035767462866274653823351160383254464364775625548919266848014256372054157887211087577398039011235524228131159339443151084438065861530382931085335657675087999536629192977621024077898793535553812370402594514962224645390416849666381530185936137212341440080179334918940343106454372073702785190973256032450276681192137492358892140455153097963964033659889311145904759366312266191504269754410148010418015140124208164578675948901804990237008049322777720693317086055178444477682314870481140613039461064750458014439278191941281914388460736976703731370512067558915170413250462264728652049985458454151240933773396552799897865092276360579829599709633426675111865957726534320703633230982809193563450177878234900157065942978218163491135365839080828126041843008317358409083338942883857156681786036431719976520808690315104759930324507821830983505179107174517501555184883333130262927716302619638101479966444207414059967483165579852504700268119711104619589075639657171764929948407722618791992733209167271774332071181477283328931117554612802096552723341283862191235044794990926506717227249917528137330065218355020192862960931596733852167050761820429994379204477315107240832416936454886339008169073174510486945861993823794998993874983642518365893144865288824709363195888953688796552886412801382512187612912590862459917374398767581935832084116763679425917779866329794489664065537060341462214267139494506579372292866357103205606454658955971964790849484384763534746537763106498854465080300716539479813314642611320896715159938343425903224793663979017455123619982979534679699077063572876307545269516229765598767296513189827069182520157952883796404037102259778599638065400260152078450118804247459185238769824649971148301088942412357540477892982697381372637227066829177383604483646930288101626440776343190669610050434084805174848145856248649634598055282000987937474233768083057900343196569879734663958938573092139921121303140843785379993341488226913827668479113109250167625454065530086186312529224680218183733706212219888487156566228140487199935080348756153397432762320185692013612660663270257459478342136699420298006999548214434042903060939312608083673746410853603701708222042851432141266316563946455351854092316439415527184982674678979354098441441434207082642635124579657517885694042404425382557252751873959782052944143105354955720302573549782589659799303124492592959181865815385958327074395031280742841957635906428286152570418540845320232004589769428764592187961624069064259864342265893637336905156450106613252588609324538862283062740073022878234597593441577570413157216878135977824767704199125443996028727710539812846978117593191081899002945677088657537311812948483390081352805598528303008398058840724813496037214935875882871699549474213742159552227019555432288310474188466148699266047976400530353287604450334374279393497213342854047505973623058986446840973483047928557366490438211898671800830307465385874564511601296214408724807044958983033975787367241565143740736366196263500068281325651622445195932617564935728353865168905490675990058418036002316534174115285309947064684059291154700196098040237327384229338514732693880039294643260979538275902185460190885349345299393373272662175882329451960509741131142994618505386277732555523273105834352019996865269500022029965385941679338869838709000170268634805219020984123920734211414975717695935318489690080045659554362593893600893196780584858615385574867409613569200841960729646733539413816541871168199284837788378809031113055302610982056237112228642536631604464517037760913930575790619949634280771319209203692364218813680942976314580028000910305291773942214694305601438108748558951021166776783196771888027005771021305390121571821011116944795371523441347218623274782965709892210493462361410661100218925131346149829825679057182797548847555045205920244083424106934796315884291257544934193030131780862107252824891361452758489784425819321393531507485795903761294146244374267643019005963137107599746979381300062829602211483013449813979188811347173457636503904725917284355520008819615217711634189622492406874962363908758978958668169747922276587161763311297794791646528722293559726751825817356896733903358691599273236038309871509492383309077651588883737157959194062470283903888058983972526836148300296046653422818209000522429987316565122523956525974288245831366090779167331598835657206028267952738273059172140106145752966880926524975521646606347624492384828953318159392434568601895075895343020623417662410740261418244801287051318538588422849531259571047330433209148123103481638435339273910264947524149356882720079383134149051273157030138418223634773528645302865620606784303350983539951496305330142096102606927770495910423957293601991348041872905134727465820299416455717181813916417931427262898816956317608543279029954118671635198850147365887354873720878603174202318418330369208830408322469596386865059204261702330992273647705786127700084465632073094800375755964845001252317031668823130807070620482557622839047318149441577387678402572789120003302454416505991498735453916081959357353083467291708791313540388886520501633024
