i1 : printingPrecision = 2 o1 = 2 |
i2 : fillMatrix(mutableMatrix(RR,5,10)) o2 = | .72 .72 .91 .2 .19 .81 .11 .98 .47 .76 | | .9 .53 .084 .027 .7 .21 .61 .021 .65 .85 | | .4 .3 .27 .46 .46 .9 .82 .22 .37 .26 | | .89 .077 .92 .28 .29 .23 .83 .54 .19 .045 | | .46 .98 .012 .24 .11 .68 .37 .0024 .88 .39 | o2 : MutableMatrix |
i3 : fillMatrix(mutableMatrix(ZZ,5,10),UpperTriangular=>true) o3 = | . . . . . . . . . . | | . . 338704817867893390033414241655216738465218561 7400210495153353672180675234626864048803000632993004579599761119264438977234703688363711324178274297085994717460084254710629464392420809019767533033159846616202170693401652491749870040189471317858927508217828348571641662427101344308570621963922651426415990632694789022676805441024074329114961313800000525234658900710260845699817967612945139901577272520428655268417081862327179590716674617727672995314411885538261663352341140347808429563743267611092744586616369354343710721 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626881 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626881 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626881 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626881 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626881 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626881 | | . . . 4694558926520019489584810935875788941252553517136541975422881671020765914065859886354801125747011831662756820002714031387741504211238685946768014749236565487143615567335865535620037614103513932375879710991875065826206681836419601812880340429490859979233468301778459366055935324274785835985481815691973368005052460411793040924033826763173098421133692778029670343083056474808645904510308086620951542188400683565744851033566386947854043008871636264137915720259017505357647908114536626775053549591015039344343121201465843148451905093623407178352176071715627035218138835548353914715955005248618109879333288708324476504978330541330927740678896339406797810675808821965280095374894518976848248173042892456015647075868205193651625971896465247965200364641173932071151526644616937813464719080126413248491549587395546584441700440957257874105247259233414346421584398620976445654274323529580347047470763299169997810665369570759089276358559256244686184646522712685506586164796572490483949824338069910223094698427318152534740889134501461005681220522706885744618300844954329839009884032163176567018584015095295593471692061349916715736870057469917825906501271931433165454623100242509459788003715444314347936879949340178674235900507115275364530989043857224162958442896676878390664489604470842287250971634116729631945372525910301462599985742709878124214858992885357942787373736809911542320284221980380993917239091780344921926639953984558967517891793005898769502378764780527815483440995464635874033325975890175554131019215073301864889647438909055885690822619725807369927748309087976123228857048983213500440182163153819412134104586366754915053992870068163083948130399184127111278606004423145786344652512613986698911915209143439308319406225553898838913957488268046107807377081053791562496498988281360083471980739719415242717995938346874296343792405365419626371635696231441973629521566121817717299737426806854992808893866950579928291076537192381634937119789942703052152898741986503065370249558255668424864171910850596786558850606707510462843396545961414489161885328095214739534216684434322532040157651597426608509850958464468221038377827673545533201447323346476128072535226637135537721325492472978206094777381846851523629201985532460363437087021629529006415019761395704016673436465577662691059848793052552891885416218604293055323580742376560517971290359636738528006197415738318816417980441103594669932169083728280805204433033891489855278194311534789119652453142648527863297200749368770740819658869415482064213097407660087254772173111175341450873946110764734388876717410470670432892663763485287289330339238348190690979872641696807339019713173809223609571896787046004226049699676338132669252408281626982762294571492312067019306309447621591571493472060029484937606284165826985536858700544140395653375186804191778902881329411436429153832304444049005351884165253358479654752301041074565301795687509107375012092041444055266833968166626997584875857043941619474554482520691650460132688591785402809150411865581117944329752691916015659694952072294264181315143768800377253856485030864891502381118176578225403474555659225796193869438988226729478845262888349965694924955195387228840458731276626374843973982930607135783458396456133672665936992863485922439688471592074297857954405540103324342105152132603660054423591637952367492505918889888311668757352165845924101904298267915910602475070182834772883764909322753406548400956166537597560777693683586633112115245258171588222835892826356576407532584678292143339036564331317735416461655509472038821578818537798810727710784961225006449236926547408898331380143645546604737489848636500982440201725415180110508210200270879953613726600154537726813639485895423222024462729323422250290913243485613110452799845128116088926362077007631063883936337701483715289393099400205749495137433970369388165901521615000357068363553985122459877876190694337262040921276875385416222899675237989218433050013388623057904045659887168955853535787431368257050218706314258836771597262868608585087767342476100779346661956325179735853313492432313596161977890762798039010675440252280246089338867522061148985753397977696136466453664452263407512776495695287618437006616100762987072755452367961631225772830138130723887637930153211739749891795092029285732362570103062787468745876188402852689043341991298818107265802568382515592955423515525920718629847663209540022258614000498598447358808510039014676142305459558938303121511104685158471852300954709727185412375451681819629210598769591054779923846032805390527222393750051283986395593114230784742356033143787073246013623602759458069909019427591120746421189983740177193763957830169608700933235539635673151087626040246738324742938444359204107678884566966362483263619057352554610244183686443712577605500423552710404627564491737039821831958615026337564660067318478285970963724182014233000990018334034980154571219258958708137985152379285389165487130012993036845062845741305475175819236944879603674996927652363160943716057064857583639941028297689031517973629413811448124679519391224873006000140728919648793591283714 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626882 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626882 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626882 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626882 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626882 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626882 | | . . . . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626883 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626883 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626883 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626883 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626883 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626883 | | . . . . . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626884 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626884 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626884 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626884 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379074380279961592227502854715413393002899119260178468161986738188511373698428856296303907011741617296386882392065352046608056537743767492625460781517287960537761361491238995717181410535276929859407033612989765436093103541422427207004365045167907955059922727212088638948673348105542487513787714671933058250656426760570189840591144095022607530814192141703059348519035947527835666779498594341140407296780815857291545892263788886255933306650457314084271329008543077823599830478289389523758980305997382781452328438794447383364503020881038513061378475470726018982713305219942870018876084035100450654408194941618669589220969471088044989436598946145280620389250745099044028542456521560142563548764015921513049611363787911072421727731497746884606404145990398913727629479271967672188656290539223162950185517463786687239858239077784190355501510296770076999583287617108508926512866308476453784971543337952827933564331416841909911671929924242049660647376204406996767278482200782481991505305560752011094008992763603568414615627771989477171957157691420591888953432215891966808932729113950109870145280231747144170547528547345948046938850908047202662455024867676090426803422408061660452756227968745115826105059389885807555991863701349631965111192375285047709393982831274260603419707942858239139535039475542044311719146076579686720684564783428267902007533089532704235941900788141452854043412476771683240886737015846946543053192674574077632047403377048055433134180727359997584006248998288357645655318231665170276154273184364496967360429489604677333075297955107923020310102866119157726565531242623745705579334518090158718187522690729759479799679637606860142015101343715051316262138444605579960605761390411859665536824384027549121422431057809483467804805132074487958407380434749031575519696967964641612866158520231944614403161605684520510424518366124873129504777068811531084758254393359307570769425322391780349075126884339163999499280809571799450358117591338679949742716402726272906829472018985689393123866775425432014857845662193845008943944749394629846579028543726034420945902672165581310549781737458922062372407832531075414447318528731613474603891950665642577185526766681432142173988633630315378368584879068720713725671377159689131015825382776197759098004630491559125509250892650106038528956179085624404066240764582007130219805797112455403118699547786846494619515842383707609267429507253796322610996259529639605262925981704503975459067790616463937766362765112182447357160638381858748435177578770818198441068454262091881038571924088259586032116383756339140468839718707049523066116849314293045154681692268223582291998316516441391784058399688063739879041178180575900627676842206459128714801748550142099729815522479371438524181130775155055097009173795505316477695611950801361271355912064286314318650256131264554240567435948338367412980913946177038469902013367732854917809762089241343916761707828136118228792653639536284715302449294359208279106606145390097856814722327641726639231700656668525197823939857671182645322700466793466060592609242853154709208667013830986552584236345266006879203207659904848157083753853482116191921465875796413991707795019983715035513303786778891802892866187348229160411837389740462311356571100194019775278412714443683005943717323987863439612847313273507044357346193006623504556619144624583618934227436691642115721505851403517792004238297298283036339071889184852473848834290239241631685246160267710131241689563657461336431612234304842490840073692854078839739147679804664284004498303219464790258613338430314763896393887465619672590263334550627815525800415173499380930482304824110981842114976322426765358017320954777050233221222143291977245541112741135064270079209016805076049097142697365959687668876219910172126269917759216220977942802529048473125205384740382817882419276784436665738354734516367887109597936930149019565811650524832842604187587647704207437217444585172361811262573921706302573220434644538162258015589610387568821356218325956131385643975360041059345125208230652275076527469312332287743480333914803026429771738616206300295529162593436517098195250925264269723956083336230898049440643776914803635429062293113139658427153517902319478041744350281356859454914886010144252745577879081588209269726539277492532063763889405088161416775929206418914100928244218177778232248172936365098208214998998180733856273326108459088315827138468413321330966541492472075282888897949207424598826878927410825212963720086771793932860213847632510089410947270081575644083014154958765253137049152187520329740713676102914158671429450111341744473641930066001186389264983794423992509925960092721862453403320881231284585623680069443901800582180097923394938635754458842093757382637664010547395057334951820447208222037689568414436573803753178759948031699990368043499026519426065668482259174860022299839926540904532463378121584560589976697371587505146140146626237852647891143914359113740385611468697552233945868414385355211916336065054328940234180867554508066190882137661128900304661736299601692442784658382522547900641238276646836222352206670779079942921059557149603989128563275131742473066879045937470718144826301104619277011232448459122732480464646445077626884 | o3 : MutableMatrix |
i4 : fillMatrix(mutableMatrix(QQ,5,10),Density=>.2,Height=>1000) o4 = | . . . . . . . . . 221/268 | | 965/149 811/386 . . 627/775 . . . . . | | . 467/614 . . . . 533/758 . . . | | . . . . 211/589 . . 441/617 . . | | 941/549 . . . 91/99 . . . 283/213 . | o4 : MutableMatrix |
i5 : fillMatrix(mutableMatrix(ZZ,5,10),25,Height=>1000) o5 = | . . . . . . . . . . | | . 1160031027383785727056674817 . . . . . . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925569 . | | 2 226900773388334944254963123391004914796623980248984648339152752771705123175010124017708782025252484064204007158460850030517690370495843363578007270755934714183857079829971362125609165604543526237227713659255666730711398525608890358698040832232880929205838797412123491199051664195586 19634844731381600235504473935211433480940672125703301682869850675817748889833785601472657355387652763716630759554694788453863282452460972995464788506538394007289768786691996487686124425023910640274958310721855397077626928753134176578685722778647697176833662260759644984020802154787356177888601569998678820986129765015295862658755058273882192203814468788360685451860087414214735986622483261331974723920376950643911582218149747863635787504024327284289930192916976039144541287491191006996549782305899501437568455044129342357457230618125693031100992872346033580533369161590771201322477139571061724454753937455871555907791121587844018793730170952628240238066119353262049347107030050676180315703111061665762516696990546031530346141839830737548042590850265416383028278495975940430549247058362018841065877913997903935860572209576500820263034973917755837079085044549509798463907283081401464081241890764029545338240720845850467198715369293538587350633279518671235438420698969557013032352559764029196422776209914449692284260009256568310933901720970448626878672727328318466567534907243270352019210456882412175583836242165356858594980715563736707381667346859615881385511057826809145451593820524432548940030242858950373654901759989331319602795164295372745294362622844695612165441565048406827470179605682455522191661098446023241614715135656689830644408562544857052424440748386397743599358389105121594462672683250566236665671956129619400724189447266154066800077369257291420248870663445108382272974336588666900032443997757741790311366434311282416690160188641853264377398905743627791866449623936471082504432070586962089097248662987369431254830248459578734605330556437277149076271411903648651769112017108122694786054057721709578864417304815634906028245786526666381415850074127671198052909931859042518895425829284570212396028047585627892538559626172747423376975420730719947112354414304235537699836917596306379694819324509716889153594025164735308513060114178377245849906792009236741145050611737268712314388111277274745674031426564003110648088775762169015645921938768334075417621376672299446405664446191114924205246459141329503170109638009116198901865075623512837560353260183297277355306123540006086398684689824898750609597829258558676629038992058855300079222271283745015491643298564947603318355205041653119853109593326190034152549028195471333421268317704210187663046950154850972165886484066623053818947929474671215818786075702043345194215596136865273991489834124250992753322018947583117567991773360401408567111808534205452183115788931579402202511287490985167831233881090595312571031130990460529305055153988765718931087617442964782434806998262715502956792762725900543805540450278804688610283534414357449729391460317812727177954591660686919567131682663820932446382765985759234 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925570 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925570 . . . . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925570 | | 3 . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925571 . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925571 . . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925571 . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925571 | | 4 . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925572 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925572 . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925572 . . 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203439825345739316764900618352005695195599594772551028500182694746162919516478221751199885537597392978994056195508418640828488385451060501283251291541735420050834526896430945889365324236067846557269283168889058676977809012686970058842401875541225777482524677393512867298355151838356799335132039129827419133524859978563217172689901228221777320922593809771793892594727878949619049091301984924478284838519743222793069586592669338275604827513540435322672657216373196188622922241835947482348993611523106348916867734649723215139190650627382263855400667304525853803244705292225812464890569157980205275616898144301881107787737896419982929374713860825641306621624174766536469756185726679570734579146329701444153002666862070448919623480148147238111266262423263783704035144731647024100905899925055097860502143865764891846218456576136769856916421111953330232174331091172163290394925048760238979292990308982356536654379547739514481301685636231053569484935776707850273263499062506309324462559264576990700520523181812499085076777870276520678732977865687344041132778555901085487019663010621128986832947422859032262463534796014992062949363425425339737359042567885043017944526753834788712656575690205347194392005465532604906808749102166206962859217301089840162565768113902646236511506592224016113798849424223489733880402138614767637963196041311188854975645465101932445279717054084636500311036145003416954340242164102999807853778433667849012267483826492420584143953449456233365980618270892755908557503948864591936269848651002099825091043648168390848830493601612232946473785022343421657138790673435383975772567558912315671317451575168643024270613783475856665472083080122495552496489256500723772034643371596527000908808922349453029767112972717830453191625091590636995443729188183919482692286268043250308057165775984643482049145627972261357917914261039541989596773790840526041315013650437871963757179333170845726164630933731580444720235193807784042973019803635279888732113935234072407654219104141799857305135156678129888406790709842801618545743882423144471728085459826637388061755906246147860552420068778698034415488733841871984548361090195940355797770405828757731822831007599862421842401642301665160574707244502609422746465291001731036779570612100158210415184189342094779530268886482927865834674097706294074367750973172184818006044333692263799014246338682910413001088361599151835600334497807000507386712488902604077724359613762677968326751066571873803000011752907373522847212941895212220910076815349526822291989586240194284031755245588634450036181058576917699207020016181289649973316255768181060548683527279417129971996255499687823878806936553724629869662458594598199372819104043232405866663245556964715730244878146219787649784437526254380408824857716102305274919503322294636474278334156668173951657281075059028769547545016103769976196838629970046109729015492307258035160462300430539504748645679513523660474993384556755680527671196567047099831950326573188091375872815723769461082423073023765150646069285302428095548476079537796293765955380354317529834566063236091322000055007642747395179905327164170126655561265825386416018947296509154080521513755835359265440502099136009556402387057328738760887864410106926945217372763004146240426167446974426698719912276830996212421097466128810405924850605642987498388195253164631226576673569477705618089765404643227315417548492686580545907135795148259780701414193595175745616253998147523530374061858701147907522218914813444486453286208455663142956268838114475815582238052781462844508035530302145272592021488995913611830260977666518500447672428820896126376410849234711598567987121036258334448092396729119955959287986194842209142477520113857013553857519051664260826147595362807166523385405289382918046765112379268322985077646759200792297863105618420996673114521368954989436035245521319019301393471772292304906794674092306205607388509531122778307928294082868062061786424369306431051987156297744616203078914730496678605341818423673958309548375260528448462920717559570246089431130677962273553392981777072807762842044281794201510110599607743138990483980720715846220464939281079129628958355906350409188703769242053212149491175011140815693994421512640680674805438035279670883503559687861685395863181582844498497371725726047972680168479573619470070714741707625297907573212447842903520965902537792536596771608839718316727245447236241671326079563745338975135958545226572369621434558131749937575070094761380190489528462013886394324173399877501513502695036007311818551949539580716782413007432920049215095454192731578066458874954023071134822857795260766073527737718666783725310599501417681307073975703436234901478922036694142579786519456716684107991043223752541373035533406817543338730870075498838965277321067295951477393298037250810090498398455410183719699269665523845043587213277569729551866248793309071745012468242173982870893785629563827201173880435566603170791227489288127487375254784797692991096724931790421588130005858083574520565247660161321620881517716239169009875036092313889103691618045367008377005537272716352232997770910628915231987099838250230491536635036158637906782306937953126849546565989188218214531475121988389926498437631855101469875766820765595396037818084719703839963230143431497336343094945109781191066090458212434526759538947248600233726103136612596007614469359733605276555430737794892901018319198605819092438489534216445136790594706491495185646391445250721453658494009103167614712793906264844924210628746802711990379047930416187061309313241108305328737533716518286093052384954428629846152614662131878662483933459212994215351271494567188245809064681248824562035253208549039662894994236369109217895926937386328881744351753469714169179461633571410969178379329985578536865169484404204684937519891414902243770303738846573659126656299888305022857605880200689313763502783652791634286561096657144802027357067862525777360312312315938734779436764000173829109761822585363830066007447373314517207695980564378048820173878963525739237020029474892361038790733047110243812652538873152363840440601251242899426675775416088945633665809658234846812029131063393572697325788370767943214303249226645858226529016080314959925158618381183653153420501797170765521966155404800389113461418257169450087308089893756286659585712129650500018004152677012873336433130396853981698748288686945849425495749048467711706114251448932811054901012223547856799839177181996991286129202841110843349566611047326760263705160426284294891775292089815241975485380481517070438508062423583148927019978595756681699172984122509623695762003811396934676100005099816041463017288200683197248178956446605342801655590955143231578393765042387054346251495886912918767874066380927407317341688519829384990841790715146403537635184241535749313678767614777879381739776492275751142372263697049241379025888359982074595266516411596371763121431985890743142163571969714037318385638457821445546930074845908739821881697297615231379896241524497426429400547439557901328048610324657539893461752183249392629835714061731760760159683414430068487652160165106212157985634963857147320394813887993735279178838619751009018694933110485396364010671302072314316501260757290941208826270377288741914667041097033210246843013183146751066812752011248295374037256517077603258127616961661219950293141490741150898634393461933550794297375705958314551722838716444056310533644658392440630982350730646246466020395932082986093588008799951582291079962854989516250571138092235767903157124435262253873017069643149192609590233227466195416385253866939670871592716551110286676320880345808244958035423806140806153067584956319647774917812476506360608939693781693629595148335275098489149050780743765501101590876805167112468775099489605507765342719806061463017186886819047784232489076891825442627416304532401893359802818999971749583385219207483303160688429134036154962277744103458110462622144989469777382874391440306178066889537488720345053654513952816147177494383809606404496272812731621843909769501364476243801287767776091163000066251498398854864301200480926687359132705532550695737967804308238782894526585146850443585116669155319178790431473991209022551466771915947527526538339177101472697785817131138861254421024617985018156953332512128273475687874095939726851786670507084955164060390218945908886410985117960021081158706518020306948236687144730515119719216912240795350500690459008943698127998879403824746866638136068609191960520200149856693595822561934448173370291405432106454465153361488056104559894992754801344529199081923154557492877340654655034682543922082253690688416761359310802522059721265202491312449478978145813828571505509944639897657015491829073220683014383639413922104856304449118066325157596553549947995631032682356367376967332154911809935292333030773890540838972531687124977733164896723486367458784714334669652412562400774590319906215550103656739438176852213246530833941950700974001302537189294265066672615812132551127689780774040791990895673368063003770972738062469745124930035757096464195065736125513936732418317280912457110249497446602721523072650278352363483352124986905785841080790838471563678627438196801623030669391803121073934927005227113372344573732626519273403512049200600030672696017089748566322204763232438975833250145888866335764371442583524548215210129978674511343148258342245934824373985474885435757986613361305283395429282262472416729272789182258002597940349588226501481413390530210295200920678083420753103165034659778388432908431131106648218943804881573542202832295724138874255873344805493185174210241301483237189879231267358446148316436795712377226742953629046945444690114317843270577123597550650925205087718755740715593199608079189990481254232696884431928468819911969868214703397819236312232361545161340385688780886663603963851350605308397562472618233408654635251912478204686496176444450087962723866275167963897451217202894517054611615331761513268052101129697709025878099992372561185848718787103413051551915402729250054257000873537985657304819386160230163633583756528234903999450669932518532909157188897591831848922412525529948520189584641185934982866475267684637279696950691088515002546502579420814647194068129958031745102757941074173104542874027186260402830599920872649003045893317209132866941192219306797778179840779168368068776516579375535038252699761513590371163284982703304190692577570530033838491086903223494402145916813480047022203345283384877447511929047742839685415817211324489041863978494443977462679308354388557113469415331736537444637121446503638848894356211675333286317947382069398609380834938797581100098074273333155847453879580600507015802172438367009491138693009111034126259688668252696708629761689796776154552326339790706063697911605737694370087137121724340953875239568136770270846597943859799931698979775155429548565994079055353246354796182652022532107859440818860735101851503198398413801418433674363629675488995016405183401354622304910877483224626046636660037957118352734894779536746568555288885711334896205646983527063892713044733989187658404540880662966575659155881950710393366614747948014734311349593999863885094117980028190910136506841957809645902509188598327507671241946617878328765829766156540488918043892193907490247659621342940778790437489364123389578736582879440577706563584505718770540972757831920921643292309077568089047628906011086433384754410611668141430758650045396268945984747113121571070368150689858737502855034835544905392305420886277791213543102877286774085384184690289638323414919352822341748954175421398287219629337047761537079464412363423994420639034875141116249289766941564910660642136670974693545527612821937620479780308743803514545933712029372185248900179389804209299251962824043213481558541880128270667315739172476132616697074355845964662350423356071655844794220846695235220508136060208926478010404957485931105825879000183219934079744493362850782381261197654305309202797285649392830862153575749176688605090278128207713295154681773452473903573903268093806007030857671562531578798370427115646450925572 . | o5 : MutableMatrix |