I Found An Image!

Home Forums Babel Image Archives I Found An Image!

This topic contains 78 replies, has 3 voices, and was last updated by  Brandon 6 days, 20 hours ago.

Viewing 15 posts - 46 through 60 (of 79 total)
  • Author
    Posts
  • #14537 Reply

    MarkOmo83

    If you all would of checked my Facebook (by searching using my username), you all would know what my mother looks like, and that person in the image does not look nothing like my mother. Have you guys ever thought of that?

    And there is nobody in my friends list that looks like that either. I hope this helps you all understand better.

    #14655 Reply

    MarkOmo83

    When you make a comment on “Your information”, what would happen if I leave a link on the “Website”?

    Does it have to be my own website?

    #14656 Reply

    MarkOmo83

    Looks like nothing happen.

    #15186 Reply

    Nicholas

    The weight of this image is astounding. This is a picture of a woman who as already lived and died, is still alive in this world at any stage in her life, has yet to be born, or who will never exist in anything but this picture. It’s terrifying to think about.

    #15274 Reply

    messiah

    it’s his mom

    #15336 Reply

    messiah

    look Mark, after a long procrastination because of my secondary embarrassement of you, I finally checked ur mom on FB, and she is _definitely_ her. how on earth does someone upload HIS OWN MOM here?!?!?! I’m deeply confused and disturbed.

    #15360 Reply

    MarkOmo83

    Send me a link of your finding. I would love to see it.

    #15362 Reply

    MarkOmo83

    Everyone here would love to see what you found. Do you have the proof on hand?

    #15398 Reply

    messiah

    https://www.facebook.com/linda.r.omohundro

    I recommend not to discuss the personal life of eachothers.

    #15401 Reply

    MarkOmo83

    That doesn’t even look like the person in the image.
    Do you have Fregoli Delusion?

    #15413 Reply

    messiah

    faggot

    #15452 Reply

    MarkOmo83

    Do you even know what the word means? Click here!

    #15526 Reply

    James

    This is obviously fake. The image generator is completely useless, for all intents and purposes it’s a one in infinity chance you’ll get something recognizable or even a basic shape. You’d have better chances sitting in front of a disconnected crt tv, at least the framerate of random static is much faster. There’s no difference statistically as far as I understand it.

    #16830 Reply

    kevin b

    5981555919975114883040931919944950610423105432708236349186173348409843601197460806362998979660840899699940956532913926616287661782898514569531793097671976878798748335107293775997680787247122901565768939224596953788629798260766509291535224311208750279409230082214550965157154522773763438801542344156528572373301705863177689403018001105464710116614129403814012446795138888649299218238705088524197219387887587315611139979899383939312884515347363372803707183906745219809282086058386825809438629536200140130366426982885359483852043600151569316257987512308919627216195773146368622122389888206533109007907792675924605321851941975962685756028095932416856701463651537113846248275540516270296619670459104060291520456501824594501598964120274437290174053074877001262552971102915301334448050722130690739342695517622884947929841051435014180914725991660064307576934589780095988742551830013484792750071156135191282941690616507177784247496842145936186809338081512292991346315348051103974350863634614627985366255253647656410033301148361977322292925198194373325488180538058363489688266578406738067563172793062846389417000958501155880535768401609206869008951128579335650131936959355430611973245044140212072484931091286242894535422615053899532758356152140996850580088377524295794955863139266597873124790216220667346456093338166571400408805812252736446785973841536220609615710298094628901327598325260192497214654120495676788054531821691697632376844266379034006597596257386390555827343501536977757558763357877149712039296051640597160595848323886787042860897291021676228194798475003403558286806145749915858413624113490654874554755789510889353062070245729177043206535370957422139153100789252624793223446449398706423319143412513785423906835063282042559407077726966984730364159100313717656428355863549987200786267840300329472686478214806719539012986164240190044090828332479942375334021611574236077890442544001660093403753376606763338313747498721744890953633478667283365215331193791867664205184246911080411959738680607098449404659365822066433090864044556606798263720296183981061461368263079580777512830129972785928667108198590803717965023665152270561877787748401570749245647724547385544185452406147554730705557502521809967726134181671754207673149880327448407365181630427575506726142769557683757589665446035328760456204503889854260910153473366840273266675741035847026082464103119364379625623523768965248063394558189894279013263129771447463553818940038498481633779231475252915503096613219440283072756276502356811467103549102079066806116124491377000835992363558981667551824507962138999669091385991361372268239059656941294536102575411288241604311955063736667584378440349409036841289601539773928023052276219846872958712170093446162747647057387715572427032888508754922970320857629019717605687795784067943470825113998948530859674924109401600904283745503278658607581895195011933964913786991688319882347337627161277093360113925394065612210316503732421376682297640533147527031033632139263356382919456791328248527160399670205572394208778554105041347488005020602510643017817374936709843400382014516753238564568752336904013407392305231794436864704218407243980911272177845667080977643931270003375764668070731083728794686314389133930370247628006222518381250071598685272771024792867993466962758495339805895276123932117806759996259745833944473784592985359534107342640955733750799219565062496386225226144528888706292802826383498321379424080069254093810555766863263398086819928625984777761819151836099012815268538171197373038381721638590586913752272995446957227845269820939923085954133983968166514767050504469379025613736023292824637203338341502606745652226463315477022288089741536763067281864600141390815740198643286853076677115121709382531933585141334210723346565051760058120579170380781322986882961564111782119708233445815601067428903922763091422661050630947104637886589048077759708039044819467916764560774916797718902926280876790628189673578862641375790045031986402921810174999673374231385339040690764079239851210209252563325523134357629993433859085448338684964082266321933095094772546100556833377820938988701629890287246894950426688227350448292864541953824383202804258412456507582765547378832965658497791444930055466452615457498544147740157591572424071860873855881111573118470364892430966179649263818713619473963588152828595813924806118267463020435830047909572209294297730603902784032089698523679800629668854449485796451185866666945020917703907155052555205398685507652576346942707943486754327097330062512014241955343966834296402654440114975909647268502384491749606829351035860751189516421680043925649630899437732960261519024056638785176984794610513833070738883583649252955601866442327913499391318559924025864222111488688995722388222800120466924651028762541355054522925698162071537784414929408354279418367060733189238272444066845402417264220273657778994718656022030055439873059664808476989854849401513635749385222912917446508576121339270775169097957194953388108730683241139345064805163187984851156124029159654311419851027540133505908013599904554127719065083258094720958103085374697660334302718345465027877716466916984392261543395233657065310449945442241370943799572306381180654534560059445879433773027226641305533596221899900066481579882058235114839152378091000125153472144294814740369289500594774078748105142972633506935963371456990223003283563758709038015239376138427295784272071900638358360165472940359031288592715565934962969250355069030067186687914344975104185987946306311595980828441918924779139747752341599580991484007765764869971850406241405736702052612828592583717171978139822061935061323371592729893177588457074484715562650458015061618445177841875878116319648775371205026734426944698865352621762498506368074325575537828501178197204612532108071802997024754559867795390180411093796612565199218053933565384838534990328498492256931900623745619247256230387638560974372525121125905074174347988728867170604791596556844758719407655659149894959817161596882278356510750115846947385159942093440133149140726743016557129427257275993736207182237616338147761027261541865970410079962736502170860342052849444382077047951700541241592147201555402398866160483898386894128350900907781424709672215913256042518404080675493513688690114326854798374893923205773825372779482379020398228913447113252856594596102781331790725203601408110377637146727288473773212131577815145878592225030700505746880414816726453938407754244592034777620267199331508606050502559396396422718574618229831505378631193945244238868118611374822499497188507919307365204028971538500048081904993103173522187883683154176297303695438855617467568391619436846407267606462118679355884023737502242081280040373267122110052510893751900511267743896669965214922815528542075454398575278343796788597351979344474871209870014092077413325056943376034930073176013177167751419676854375509291858209386862456252688196190226192186524886299584582171189209654390014986535778848644799355696527344977743664504628844191752914335456050673204397179424971324591021788545276786402152151350063305891923321694581905283955209088193740608909918683614497157260683271221625022268815606092514322357904061822047005344277786702519628493586119408307513047302612827350411283522153273259831233739869899642191092592003912831145613204227429438396423310352083807912800361174466063577224603181554441963631325054311642486632100003136737321255122345505020819221603791181024986210011450780161783592370865306800740243469967988615888163111689209867289187204156464655561216800285105921281339675684008207657539925169669542764405625607263876299246064050606931326806960507389425033429867716722256661357505923481047969342758191188419113393092643392094016768422386735105278434011258319704904957070143762017080767686978626383581285569581813615484893949382706046629939405034027657568099969260465412989536137925777206649528983218673179859329793986200241029723650393747426882319461722065871887360879026568011323840363560714075310236665839771270228865525093324304708130334611034813279253122678350809406036262212667680981743080786216518917219114934191516662618612120750218707461786596721390622029307959749448459928837081028374092797867807880261945318626473769175511619783157181684324434088105782640415307763367201771853732727957531000678571900864410651092194220137593722636260006624885870010959215286844593122971063611277009999411680776896989903332759839707485506656911095997145924453869904557892747216762262458553969783100494975964385297130622098318797375032342123414635179588100199173187738757729817675053058058418444048734247069785546860811808350553835786589442615192362917538962334235299463936975192438668710150474398209685887577712465802168224656476762710797141834586742262674198836520721003368053860195943215849216946414794235792493463486267605500003003896942983963162463971031317156423994082508061773585727537243831446021556959545935394081743027578224298859662792585300770502412385810923311586251206869347745071180240073299317682401339414240938347620299885108642354773471921502265930546197511525417843616265879336208684494449480413852397728448392536467582233774489314737695648257416893973297073270394826332207019419515467300633906801491114278687830527569375045847936791771389484919950855409592363627350157098876853883836161723697781141902089376271692347024518347969282419533792303606108148757346057762366147975745878763429537024111818894351520302816788172566096306867846142275559637001987398923566445122966195209906310414390109525002889296926098441650963864254119992214015274701240966162364168697534448941967487573874754510898061237738516828465623595322548485639379530407118559530643012431115055044909068689234400508164082086542597250133854147524589798876786924110439122509862250193855937048762290101619439318433077771118542157178249699602568948788374550015038110183680196636487552915536427970659352226755401113607283039115340633647160268115613690793321207237912047574284824331092502420174017325928674818763351017075260475099418398523532510966579591617436941870784545314597658381559573458353448075804263455110587413266586453091338346403667031020725916309842743564746675212868722642728915712593139404358006560171837961226567450285895526149180178559386254739098178045949728026740957820156019324278146913301786495080753705355041235540442827610723196420360741666143817949901658724072269678829412168567256407130662341826323481943625190777923311308885047738444934478106366148102666380236940652133589098742909687411742624444357125470015784555367100009631951318347240970244430492778536910497226968224121549614988908160236685157250150753411286590911148014883427637951712259482358282937516197402524911359929146775302997548287328448171012125085157265231481340692885996284698502170315443756028182980297227767786960095912464719920376387413873065143377927305829072419913578116192228993704581490957884885110389911153010518655222744077272234227243502894126566027306247763345126338195982374859938987255792945807124208371031785636012197476512502299609330617686451663766130661265113148082666455040897487133562576328618754673076486149822445700542127301556956661518418985746577268491923104381251824859354464271589761566977479031655068530384724000563284582256493008892232385668283830704219386179482065844250113760676271233379400257653078400650861006433751203857055071132590303553593761340262516467857996163361212663493825271936941628976102943708119455510933269852874677407898688515444280810852606292710353442541199499631839276604929183111106623534929337393037679784915714771614587836436524156440451299688868308777713616313003789298903863455834500549789021786705879271522640543805658278803838706689592386073943528548851829994895047589887913649806644502481152958566155474929414321212744971528037176888156668230091053629857786698141675500148900864900954337790726286179734791054478744684602668619698988686349570572509868766590381142025260055276332346397274167737156963702952031024965459986575571028937099475909323993767351572328182770783607518639619110585194374147978316791912219714637758692769108685814927342583178883481713613403955641587837643601929734682577276476596271285680416072631022114859164673354174321803971076310593165126728774040056495274251361623203724473853162278850009693464262508439148757001550882066362168292585671792196270997598159124265168840687500330499323443224554313278378231179926184992504362376457741042651596845248447701129729084574995891437568632717967782056955555532884015548150381351208879981585505906762556107169612980829414925022245942829266123063686677665491101947118405199990280879017355408711794697064228551015952032616330253777594676010836451014406958429576718839195216149450640552456344617291996512485629032901259460537981316827532696007494798844946067519156761086593124658917875717487646378894565679357789360924849216082042172513692975969937462205710456420798551176412382311292028766122355562089190634420979817985093269451584323006229199196389811847265333880315351840669836383203275702179498583417401758730212635166595904477104442580306994827405936310718848807377201677852075197803785397246853414148603217231279119144007682237106924501534153062197834760317780785128607756408004116186336070473871918524126576340977491762302096939213994224288140207731247566979113288949550434619659910604196640768514296800115886186168774862745221917643722612018097499388809634122246851710986029576036803848829827388473238387542477385109218608003105650397928369724203611532193372652297132206904461950929959880967099366158324587629205124358197656488001456694802922125579838839150349657021469222690194266144676886013931994880707080949100942691424475835910312657652891417931648623128565532348391961139164170331932754593783288946625481743617092471693616834487907634387558892912771684300562602202489702973625997659755597495097069750573282283568296592280496223913295055542679923846804201660626339925554508913685914874955813481363308214318153786703844270059661152214552790180695019079096799702263090614720901520397057889554004920868084957149224094558707233052994997186070178597440731196396625037383400431874966182862088432331845927634716706506839937822492244153896964113963560699041901486570873164648157237502305383037437939492733671852714952726131013781710479439607486877550717606813578551235411745197326893968080283834891392592110363103227020731257800666416755546145936337764019756921350140886978464406939152260283343286584236365332082136739970178755546304616754979148412927381067496434367725893419820659670061049091016045530028790998294711424415843045157003507465141156746563889779157576825815960966463042646833983910322521852529792192202103457360635785716859775803853968474409404630038901112793288520082701858307417433524282397607251488441634924572461648846722614952033192026111093322637337802252206507081697860800716504120112633094787437389915906740343986397149514851552118960371645776698773363057718240151517613228970337934139727495222236092655596094956177452652582436077341983663186778605852950227288965898570682640073407779746648926034202368754944683591955156789446287543810975406687839429323373771028055558809949660791883052486377050998744638802255785139364867972888154657253350101347635649951262938758781641303539384008991100830694939100279788393985164790103334673314978337217485510483426420106414915894171973325581943064002397191385932210697352094769353527878943687798318069230603316606975973103708535625851748413179535585270312011619916649911970054701942565104274190178360339432725075368264031618884438729229648854210828647377603828306258454232779110144491208967709416550806350467571680783660850960151914597906490540297863035561682418263501338810564470786920882164338319232625786338549106152239032864911408820921924469845262655720725844403822807164401514212905788733432151900060649727248580790080740712491437740207004183562363120421049077563953984646468522633851706883625326939938060641458162810770905377726517495298307249403448346753326349382902719895201447944484982741547948866477362924081059196224809736846893318709362533759413119438605439148349502403909300846576856963801918428110019077183865760045256406717498813811565516388664929154088186015580212841597692411678193659654548926257675950451773921977834560282527745515031730977270395566176663766383842370697469598506194661209761091571286282705531070527093176764060462497490262918520762848453762072645657290385964794046416610981615291592003209379595242403442088073372914659348645489433252009762262635450753186910814570545966941411577957829272849489721580771524359853077380847658735409237265785568578214251946125214674423770967752538050243243126204650945833157416493148721126833560513337691579954141519340222067368337030022488355697733069191370971044948774725344282052983026369244287090370404105330617217155226667131393631077623797990989010353620539060803117848674634171769829361727393791025508628039392858134684959008910788478797507112385965424931220599117717037404135445629071562036121582818559535489830669053941899141007063495121556168313352215858032397988507568140140127241439716084622613956358772443223969613124916662741111261682146749554388930136869509948146481040590920877981200398015955761609223669445686045187178319970165090291853936358742895726987692428580727560654269452344529246249917730025988708307557449021856356598629015750439266632023656933910916435846114677546251248039358966876896535260615191163961180074342413234727168039527065845763523894780351384390387811942117218261700218683909861660064096717560580469489639912016243415639264944585918428480919155856248272272100049352663328893691647632360802866543339224173130414657562868216746315362046385744343782227589192168041440004234831647558061858977730310349953232500113875286657371951765995654715261014593507998052672189905604458468552744127817949137004937720026923917486497914058367245704780770244720810234579375747235229427906802976828995015585073668831284713584479959166565284845051615496467121018795238812373003226734734744205382277428905086084811791656118195099102667435816743644850539687701748526318518666133133699753113433924125897926578311298574998813651928735036309522671820281143649452552163841042539228240652898782442321765975216849074622437302420533236311927200613585646009130554051594861769692809987094831150688710712021008899448637037811976317771536801820543418992474642926649001989165472371306703019527696671789324860126496151056913160418789880797004679618650317406257182018033587606853192909166518152879769668906515783212345008028982874528594205424570892015882261161991409516277730887903067625519222338915257875569566111552811358045588812011538257482453751352366754263209364801266054613441384217691596330735605305752018209467066395629638475199118467039685808928243010912621950120747469436457501506964514879417222538135605764698607295982722531986042622347980133909272419666996404919719747733250336392115491899801367822312555448522336997555727134359926823614026146846689089826340169917481349632650797813654871692423637605201821278758764943368357238978085140241264636190779343411919390243948964485353246966223360936155259291787044775840813822498751625280547362765125150051208179444198101089382378890193283006784679019218924957160455082474936313666982226907688584997833697467491079117813217862421982288637960767041048860070944649793648170277278116161461948359387878279220541769768027370814064043769624806629389750229277558343906194266082135931302474777499058492038832956730395184579238400604882405078249069613246452884965370925952201657715963384447050567183755074694374337883939094367422957001477365400671220789407404856728171212153881987244784408882836039877599688500163172358307555738400154100004697588130980651331858184253108692080195513823449203237542721741310331046184261159316949302949835183891860474731212961662738282406327794941247480515970399941092349870189341148023990739306531659866342085989934446470926203684802018910035410485080756842892030841753524401099756291702143081670548988097189010990492285373281537573037846097075503167803457181243062905063578987390418406235058548175516577299058666627384250574125516392549501749832167194589686637830910498017870969500631590253874931435035242904565839099514122211891539670951711727246881489586682779704734395326298899792983673717817542584755579497250452066082964260475917716645548898704822696853632699273618740110058960388450976531021312427467396577245156916224779388029649631069511915257958336823533220889501253915834664255678658615562814341210033285902452841975519535379841505654921733420739537415822847859487041818603690704480259252577259576912459303804281693667445047535522669892821662388366440863930013614973261244909960157336430800213825169054135097982080828596270028828987096632917293087366168445177543224181890700041556279994992327768027748643030503675133996536040067345810220864084156708923123053067256004373939774453540328495121538403968369486660286042731654062701765827735863698021957322758966029848376648452174770436758217388131299848147890746715847322682378928542487528283511610677138992459327920186075724360253209704908591810860926067654253291054666569079072971439997884178438972819736387233023601098911427947248951444146788844024253046542680686716392531305675568543466250026263924246069347316181175857194173611082885377610085134654886671175218247731061212575582878134843010124044286635599480891699665427265545924028104592112216039035924825626688161350678709590193704049338873234702142013384181386334874060256257381592169203413022007328804772334514287090010844301234539984273490732226907142108454127086732096013263320983197143654280844791834247079769803797123585921742439669362000486523316206332925013608103789451518097866658677448647708331573269516709654221142071618750065458363913407742077921520506236713499271785654188455583127014641954499260661199018556223809066341888056518160700306959901716388294347864945448361785229286050450125908066504025130938736281859141879736991269381343618335814663329007924325438250840583051897685601154190519029509449750300648808888099603007498906133440923817420422072996146896820190525667247905047691647190878324790995563482149575651184562870063385109150852628501799992005663483186719286055249400970534815243720975634479703078105822378303122678108973558960914656950960595069385198385669161288108118578161376266515506497360927740356049739655761978480786261602587703455902037858630706512542575726447785323965432721418631092862462011897068753638955714853170364896592581300953413837867837566281198434481511525610443516057781752023724078478887278868350133936003745389928899113999582388938727799369613768678513847158752669571531718019900876518588048434802057000284533780214190101390285825209190216309107811331656578653183748283523864708121957857677820366023942003714731831906507840656826593095723725447314883253236141293087357620785267521678650332241952031749314019217642565238522760624275430921228786820430638667998250280326215911264731783573884179108926082686344983044266135329623670743713768084216188090942344886062819295450821400320401524512469538421221934308277414078488762527631086185949953952460105459346367980558629172008327903262514447091546719364250630800602608358670177870968728059171275911879321061871402333138698139917425283365708692466343205426139579076406178832564740792240289798623683161526935874546377189622312988641424269646067930599021017155412820170903652472560341878813621807345934357899540911598121114059792855382095194138317448200320931471921469982219593743264230892972455841848032727077398008392431442446778963455606657497807339984747682566516466991079135085511130833167584190922514535011870238144163381165390291189793770983677162359836931348888979641310593688868848189452850221523449893549404973475233146657926130421237065426195702325168620282523531718366299114851223073158033033556154970972961464665218306413059855915720915926711847902739862782013358836386247639378592403832373245730274973946602576044214748019420114272696492410418565537916180271344747235718158410507558785002195251676630889927093544646714819835880574908100985542762917098745235790286872173502244538405186652160784299358718567741133655788292116077162412828879332230632615706804214146418818701189677724582641168736235106144560711675586257960345020074893730829313544183317806507791761467989981926507800840887479827744855379803958647814154452604480606839555592926235223658800404834245532815021302963992763202100077455925213683813486479817860430206916505096885439286530903901675905988810201156012003975299522438342530845440860237470665608901874370971675944564980007535414288620723816134701405718004691023795170908049231643991126439519599826657716726284276593872435831578927455837109338683845287644734536986277061350184863793217383900088173802078246552956267148640539246205920395968316861467124557185161387560155329859991047502266603580300858344300813462834782325587669458010107890721388427650851670567441691575655902214764870710576919156032039703012625741446090621587547052427630242589816248442681743354006433262507175643363161435593608650178766986631483575910622603594698753078295240429316184689231526434455676475431475347027810442063947464922564248538626876823388736326106135952664683282626700558951645820957314550080357916154194896527799053766890067942042479596937504273061619791250308073413408513833243772946760652789713398285454565948198514232756736436714662507559081750912449282590082169150902665066220771579322770704392099648576625428884427651615623130573145187471492565963784769764941386430375789814137615085091653035180996754982208906373295943555135561437484514793477497260866021473076955949724706301828819067936025279364460996625383805399984133277146881496372199584159519101501768525715382136513348263797778590531366598184729543225150354766429884061302759368781404783098628537165120758880316665917737463375422807858205373227383059937013328715671771776166483413127198696682560857653055834771640842685658135241066483720073153224105236627891171284959155135273971371334086146886325062994057159910471136456259678327553954490917187167839349549173305934790441778319104119630678194866312665069664372748465190052243317991803337528333212631139768676328177952240868337910870193968410524308127337858487934202022253109078226145532875345631639480935236807684575444162811612070495624962074687971540635518047516158571089092076447361657866956000794960620389795133933111379599934874848911479712842512877289155318500805843776662336077832672144870264526003571079417383032331495811344514356061647267933932405660175885414286683562759906794829273679800699171467806652877214835561081304658487111466229787558917919191322719559554576168418922467050511010995530381689271988665753495175734624022566750223313255716599103031797345104404393629500335479036918332614656050076860122655031306317736916886825873954020606151557571182457436343329007209390901621214991359306791690851736280109790716835992533219446242063681884562402355120359359655902839427554802436469238079655815241980512010197822153885074853819080947133776564292343528433341943090007235869953810657838783376622039571188066567985031478425627935040184165800790120190086848347342081273950731357403814932215395438568923695943066831236920917677315712157972198458594803048428339694037432139376048000178486454862527272945814191016313126341075964003113240276797231161451386126906420535065181586671167996871375115282204214495291645747427054119039463073823242248861806708944719937602319254693097488044383395386415477918485738265201316353908392380546954741511839423438689243539611952225887500063741364399467983781083581548143381080366547412753238996952342851696991049959412980232202029892852539173455409677252894296104211326932721978099446608551349649763090326419645133103729897729321133668317832058975464342288701541055863273253156682333872426821776240977268000500645903708957739190702674931590495316829739476328123840674857880034866637165927919793359155209356337105177651279526058794211463245796369991613321955591467178934522741232730626819023158716901342835275077877499287679287500464421229436698337061585082749681391691336853242232582554233517695913269226606885386607749576340457823452756943087965828358281455239834800867239700190016240254882165919685924237424175917256152504333156234017528189987431308631563455314946871252739814706101094789046286957804988327763126638344587861463945819753919599944742147787031843300410854902620375054945093917695809536031991116595927483892780656172090622574563452497648520607523262607148024339615390173935842439659794877160489396654609361603280088070777547628995583753049545397664512726835776169854509522786846900274410103760951229616484817135056161762690254241739859929055713476565073692539588395712402677359318554471664893919360263915757007172739801742671260851772979965780570502502897130082429145572329888180747641178496703817698224013911948388394373580432228238860439624521003604141282771792029003677388545496322359396431155710142317545365571782427294889735424538914237144163787330394994792053170821543539105262410770734914199901961320128443111538320563883260853471183114136367207113271237312974989563759743858036110075435280616015094194012281506951309025277902617475876198292054509092201221112834149984761701959264540711084620063985727468781697013027310336479291609737774957128513103411177303185123867746094577191667553533821377968713910922045217167255647866418789133690024597771263777131642827574323728090001579476711822886746034343221820934984574295375941782182505435198888866323723968346690859060728978254039068966087505004905980963976326248631192432039736567295793554855568768514232108094700164229279936095199019952691040978271520208728166889664491635608100054541448184885531705685220249025716342596282742705302153838936900399366926469413626933457949279720279443959303033945863742933666825588403985815510862800724868843299142434891210388076371665295466989960854370598017291323940708342529280941730770781650981175524586982733719933131233056073653050443389228932025486277349932311779499920927022909706084493740515935767278556698078562250692854477877908781751664274643230041333417587041411730116177575056371212561900970721813001273925383330664137655865281903962380333876945865531708871558512852288831325380512516159766307504715119162609818322923850558357516095517800766827921253798352910007826918920751005644595279046893115783414895696380791792340072864157598634683276974603325956686510224212506800589444130838926298290080061586698468440089390690735757092694862263731435010559899438370194509930698913152859228051245165611302889041323886021826934340374789930832019629279755419746180935146917750949442007154225983723428262504802110294122297507928182132069516298495757759216539276131952897804921093566603612540327750369040999906564782439111110715650773340573790113536517664477913683192644670078412863166183616363000500202308323216738440213314727134431679331767566225903691238917292672754152463419481952281599377894152157285640536431374353670751726381660606897748811658480637063355760065034249339431099050787746463123042551624717438255270282077801428518942467316606979280544096799494676397415147940301164414353126027066866528776267250672914644062241265266577146013464071598053274495180687730990833764245938261677536396268959130467912636564816864330816645673663385216171428229544889589930449236468379595722348848166855400778146888560105182040899058686595596659279682665932431174649648603193012775053104559864882923293983897734231672399362851503382660339475869217568647612673936374869240494576199371432358935459714179697889855672922413769798055900836697422226010082240433549475643696247975205377228777292300485793479618868469511321152458663559956225842724608780626616802579196274749987822248335154552231691197262310432942764861469370303139863477667514500413654283692560998842255977645694552757757111064942225050150889912802134784054989712959538956876545191552168341846553223764272294726564230246518229918587303458327406331773631111614819291877841703236946774347196049101008295232334947917962335294267075527559231697863802888431484442829159017401266588716872748560043592922385190374424304155349933559962625743243657426934781119679553965036495647576214695735470630982645840309567126300774917704467722566230737142677992087323622305438193083809623594632006273275248232480521774440281008719470317468377727177682085593728351543068000433107476510129447672473318347697687698386750488376194697469154061765549554283609875217876685991345668941960983568807556164909885452459150080250419168567573208096573223209932841122595924393949773925775317703166722016606556341844190738146596808673411257328334638337655600321128727545411782733034757065665077928026064226056788843010560499991154820155288591211960332568763507127140815555581032448307652478068347594783249475596942627867758265291602910230198043837880770654170153762278702694107298623931287881501044707722197752209546077405389997963475905979879937232850442559876402909124230513785624196348090533677373463658043361629383866777171731290622107832907366352793981031392908482184966159917075331000973148661758759710267173614609059538472430715853150943474642110933422535252649260846568789285856309087083823756629933406947586143537521373094193004587740019731773026990859837303188587792117806408601346685721879636990455980687114214101797255954173327344798682004543486160374467532652586774747703765284211170347758671026343496462958667962519374413780824683076799616592802606658406996726187251093752249995825566177625457728253280929469289442869968797326792495672797180186415722653806210876246610366482636416743320048016872673181973384317129213339027166362052293213181542743412221031992460823110901601998225578711100334668418541012667369301153729251798023581201967133075515500519343978303743141905490412271023447298734720944085158428963448902266477614893277645419584425717254013659561230428676357510346648340163658427791802355081574339361587534723656412782390302678037631760385563471024280639478174800717305817786777886279445126592732347051392827410828895117927679682411047222258091302967252559433611367387710231290734620859590990915658071771027868293277767449063753562193759645533755024650437298274732571739059218057533964055392410396267352869680937015134010687945230571684567100110314221737004365712091583007673565753917115638127802292879930620682723715984370125654576641096120391395318821177584976074707008538327664760311714945336617957928169097475251644310182739936941949677109991916054228337049491605308090595379004962268980210170956035199639903066039804641847099003844159888746947685998264532312802198217329218758587595888796472115658180460078118193959341236713991072543095242910956567086751743506453805762556643994601076381719544637558127050246672037973722846424928059518646627600841764665708894145423012882326916771075254418492365027500515144057208447086411141375761333130709166927918673502212668553600157276016823072623702020122094372301852218887991500508315876896870161307961785694594280821263799336937866983561847251079568080933588632167729893547631389257281552979290188718072652149555208361988110972734977211273647958002657894354479972147655679071330270699668549984601915937613838640557570789312821600083099092446720605129479167811184009560828426064926496757919678709691845381511887653067566257598719800535652074773461338026998397010157715460213630811655232496898327911893180007898590638857574144198976595112453160579958393551282768359477936926602321322923543456090037585956448597685206185977262395962119048079034660743242971157556677836480484222525430052237852471274592613333304178703041335397723858787303096436063719964516590206747473972318020604456579292239507250771194472591588191176398757073931512389639667064397408285608869603643360123921414004333823551997190358349144273011475299648799330236479560335856737070986880591413935945974847195403450821795041094135956511742568895323647850618894770679007806761414353754134095341103737409765620762536718170583863079593440020061585076006363402062458768969558557828610545746990328031167963153128154397389317290523675634196454331028427514597402929342055691603397135792648546772378509744579245360659046462156850991894852486471424466231132807725387588932260656027771863397844247372351957041649534013349601282594296307784181417939938747870829483537610037875444873771967339738176078853142090665614157547319108089423883386928282205957714934952131733307699505205326770439468350583899164897401958040977578757839714908806294981184776137309858773731628797836627729364015402380585545467206625139274638428248278372169215317839799425661455940660439131528892466896499980408054565752347164015026847843028248724370607454491353977118115860865058428725692300948705576288889375676535051192254296701876420155586803748798555265150956419820016201943956638771894194549139048781014075028037638740285530177286768606296122937359050297162721232311061915174078448240520815291270758818960548366946193899878228819417531977713324583503148206209585159797652378493690391650850729546452938807445600582756089393165020517386540493217558594550916255714892980498307266415625496164635947701285330520978889838473264056351574215012378665269426960738554996681780134883660258478409148218773435960845658870439922706885457700603059425532200851712778099560029765964207636040135152780893499450776043967256352007534413899910616525331937424999402775619436811008377249350773184524552381949625192413174658549884343579259629003810930608504555890678153683405688868315520437814746742260938443571678633286654987049086574416033915415934074321554621528031776085152022542643313078590945608907400802289458630669703058098086088305529052260252953797625523844747479279664783678363487198383076558781711731210384086240623984820870072126261110668338288564778215632227404453310434572521773413962464710699294368522538771737287703524626573915056322352862046473905740633158145020733585837410202279816604389247955958804498829630867124617475186040232899821515534186422175552064249195691095583825724762595242463262510965163814619058151539918584345017644286553582284160763950558026444844712942950385063811987795910791470335577247534887526538713920494034367179321191182555842289663509892122501488631050197309845346208549072824780109002465624135745238496723655973342695765282261377404239390724627063903397459487240958554709980984882090721211245826092595930690269901873827002974422163047715302704176003015169169461549726137777401033621817964242717898429908880961728408602297591955859091330810443992412508601331628085295767885246313827705323041597813907934212762460761049544373005373591942075822562426227146883062783531874261573601238619522837458635799482208653573976040521355494815596536283022061835841662298218348700225394198489918385625548263033097219479517754905730164994319302481825351213725486159607156178084078064732529150030028289364064173303585050517338237582996085030621477601367197489087198366437665324774553173733570273661737441898003525916516894991300834733957401969368156117291079487711865524854067048763563556980002145528099001912471114571964793247514209843491678868720860640267733531111516593902302735332590236244671772984403188188040331808418556212199801768190531035808604395042902801779711471132567169883151039318396177153113419835759972324185795907263606023573537281828086978075739079733906936888171330301117263665032973228337644865223700108567545748030011158872783827684037904603010135953589698531470240651305798503811972250895793626873446585407388993458621528040677610403827015881777764289153855377026231580875258031454932254524878276019717632620714521313398575058277008027511834691034230783949011429562914956024669538015107088614021686892447246024208274178638632819234626383106797319037506826674814218231098522585118623806639233967051038256293212223514741984440713906855121449956048102886427707556699244200842359482402907972180610479795065421487704160267686824338834493775982087755210365624541866020962552548680775217742294995955436106573416926368315447054329316113580451255744895892556732057338370030597086063151094840789792883842065968688304824053735384981578440707179411703092703698442558351821279875982702231586275106004139783373547764999022974178083967184334184835129528826191575093752409548334109993413855660219148232619839615014434790918948328180264880287955360110121041928013048187506441780853518511822263819859830420533907447335950385253493858769763980950237844466715903829524804308586600034562240323189748320268767495846625588910708340802643411174049431712914796543753856041288303941163250089370117859641230808751236447631736157476107527085465373410481682083151411164960025468312003785174477199038001022943504509210950161186542692478932519912966272847769986331401513632014002423578376519237115352780819618946294978791507492838267302597482874806000860862235440805795660679980538865450008505154773727575507396929481415486985849131209398932829652777110717338953631950520439239699575813075801611751970752062591274992367437777916083766516868362946036548058525272960798493948991822179058878189001872256260136570648226570302804458339129438930992160028209384525198585272329776571525309902699887764733539242391734998310461199330068788012034387506482500230067189325697143706688288056927724209073237001837146064388721743732796218313876692679594889262557973814792142237634630149794183288902040276174867815674464575989729815665869282435511861454115506357790356241244829818419635524525282959130016420850024204572498036632141539751400125457480437967621518402744837620446818236056021925845861879648241446016714428722900575456490741805628931063409543453180882753630121766400505369657887484659605822578307652253820465449822120306052664837432795169655814607184248634863688138120560763146255501461711701445682938788499878534425837769091604113588058427426299361847766439812957312326852267326525330333403633888698753346565236495805761890863725545085219647110277727541350382032437204402822760782619073460089330425836062625585450385589683404522010692981765010465941908359643309442325904525748481725827242410735952948317227190177890703579194175997326278127677906671225282781370959995590933076778831427310495619575323569252924172598546748487975659451695806021885678239352965816983721933709864226230274048369084093753998408363687774782246492176911666500449475996486176875662626100038388585200561645333345150259970765022397860657447063599994516031754190062384316999166301072254519790092490406613059207590048673760831976128559922295453295281204503591234132440763655082669728318984300898959517288579494728340958874170272803266939696030336370007335122669236018738890840280671086088959309655170938337825659795214716459434189984988621869028592020889750889765112531998806901540807799213982560879192851596458667072075296064000284329941593548782660341505606054753626269184402567394285943107005781770120248385117149704613702234966427423728308148884481962184553304579742374085195420293061377758401487329266793768281348929406373588574340250256688990099036116049797368847525105324950280999908552566841030049315736841616767709018141332748115930670490200626468766806876088385331981800999396104466914194268821517585736918551313281421561636249857694601494068056839644703307953413744179430079779418829844812971289447060480851140861954836649917369073966239709184869933887391063169732172876548626811095699730374519163146797428783937576793465797495309149936144890193767706104399735865072368618787338857516366264422350760691398700247816812365937171873773314978936860310860112451840330500755179613846588282789738834872895182729813898134215460174870462986929371049862605852410293805438284304462755347276141727499643636911410045465835051034471286655107765841477481318884584001893677904736386644918855895587654673855932353741865292178031125335573473428487957986601377363332142503525191249569655796829432340728263777767748034680313895586233787573216168656207313274523330201863181381373669261102617478942661993124238266326990310802962773796470800436902456272510194068488937579066910733356914372712823223751570610487016630438984309637949781739937318625517363857537243646486533115011229183098924266119459470018172315840624186017103687844195706192121149696138804076303802417196822180543335398623922625118184498447782563716395270478240962516439851709237891745237435560704322834339672585828688581619350423820591574892454753482831822004325698308479800791363678204689625708483141846229888366023234306441477180944275877283771276609510643637567104657537941331452834438699154022310045186477826069075719652200612683722081057050256934710506913406986551060329270491393746884642637799217263594099178519378067270511675619866300282092788142727274753865139187394677307833226815075483647895942646458867873019520396988604684039431864682013808791679980722322090105765930327056877471090054877604587307760939104867949598103180858690833843671935821609859753767664215851946201311778428460556427593023821020247035153538450646100653094739964520403021979327057696658960675813920262219898921802964177466996775979969562912673805783710482043457347721225548676559328655564274139171475664991182553174534481118345291707194229160191853190618033165340825291660786019390998341822610899540031902126001250980192994989522906784850028774773351923373995312796881508078469480818592746798553466180788621454232098107770793689973738686654083907805659084541892540525365066047926433675378133538302454065422518649028031411196876321319103993968928605437946338736094191437410170253345882044527837084836859631673343193966855109531923554719181797582678526389948988552254871425347620087878044846548206368261240312537882871634615742261295951595861028093692205811496769901725371336195500463980155402414125334657479333353918796245678392440424751569258017681556573321384102888269490870514865461725162717078298016763335965583162712287827685847388340739081630779334951442851597767797374085056601589436016588842695900126569795449553353786995048972006433662361329148900681061000200222874706238441223090707619369195107813891153283736414439928531036309173045196957483868604679082303205023051937528276929884567827705897798829924327428028181097392979822402089649681742916471392497631564478843568983347717012688173514355315817693476792508387544919071328226661946184067616784599319180213059128217855039167141722868938060125019735103904902043713019081118887356894133588290165006570732015751198506205521310104306779137126861052539382116009244578586628614313374975193194872609885801586663020234364278880657190580310125531980870987443487039788847305443507741173915964824816938829155901891604349068720843230179941190361723795715779052309071449916800970883649316918821094777034817080958790471125036637540497287197525632425806379027661423632257494323367829404787714338135945758440454750530943776186731415631837958188193822300451975345014153411695517406210959959435973485920500706582129676214459700095879506081673118473111696115561204993249711269939179660351713650455126045900021716718971625561919643720139879082881611475114736658216291822436564780045684071750465359562452738935035631200720293309504020449799172899550635754906763836308949910678605470830737202867468331897808706283158894304682533429811103900309786077455693212259378829471442896424182648111851249238732624512740129241773267578204393825055490618956049744316051393397564593012636492204083087263459063078933267687696362556914101311662586799757140907785055067915681183605143920461951039871513404632473269437939195097680267383845349800169748058285813200390676915633779988254017985578754830837989590046857331934015853861499702766779354023737913235566466131112154981819036073399155357136150360363323119702336201359084126065053712691342380865060698105846955510386087018251216985650802376651782479021463402290946992083048958719244971054203017112359002757248801312812223813427233204960966884196304864441860932006965940338779915410503057521347077744846619583569392810993840531915728698155716929574956722599178855219919220755364246620488817148415611075988048939397727764980830756462087603321519041385342703346856910974786873889791584583045588440652961756624177113056381609966467383590788791064460849458388086545004006163856411654803483719825690890559711230533762473625067545711274660437356649002259855118789662601006239182203248490966875124494470847947165628532529402864494018406275285408631564097934484587425182165805164053022156015385468194109368506041683191266294299184238279244143415817445609026944360125451967239390460485492558222464829991959797879044413838096027198335698413168919785711258376240642461378549620497401421644044667149069894206364040429851505179469245848737595838953819939061649468770560543254965136435192457315101991860462833860411536853628607444510951331780097897946896854106793531434873763834538239928588624632945155218461712800566206915249100725994487265238802638435963140625838742010879671756638370768299041192457250833072267589165183257072139534170318064811640849908626127594473935102595681497587046827070291638860751190453674758282351021117843438510624420798469166450424899997651898175565271344617106565764086562765598800091276788231247865074066387148493215416995927101703510792062934058443542815447906515604524009886314139657869320326623296338484702406667892536747168262689931704779681335347288660545066264847460679130517038979595947089788074963019468387084454776126464723124642097588073215751395872120536344790883780087186465785600363741373887161284228999733966716487270416432661924762112463752527921476508932309277340301968131354257829223011135601844169590797562150377043956365240313328449767738624809503476472736959533453310647408583183128060963204803347304887381860036631105921864365524053091134095990116582719175017440476334174835282922972343251504118683514253764078991360906816148981845560243353552037189313364516663514120783101745337849888759136266851527335718745078291574848659935537394379152197010589307067826955725190679549813444301756305599238803056442310730548344398019618485604637555456717006583314525979595300305090193710479291369776522502923444498393623170013412888972701215796969774295829939366153031766058293390952596936602339739754078633379949558550142767409715801270227860800267052857374734700925481177107397854086490632388842146891914008157783272260021670475341348564935585115469635640200535595347726623502565985874718325655456331533953464937202332743369770729962922207149148471747879899426961903259573476040801081502971608286855938314842292777216502165033514835187429643925253453012084813325684487664865329000573291086156099973194721603610036555091464863077732182371337544349338476787033106218546499579414380653338655486767211494624686637888059677807004047725079398037881976707496551311118470832481673199446610400157680396605042545075700239490416500070498066528048955975681027134238083715893836392131016498311490445684324752326077902090926267335072385405472285367259694142525390566087681448019401080699576203283501930583775776590053546950565480432517431247223562756866285435239842181028021368568936440905354340831684080308971788972905220684572015722115663174810708267496112460574478179917820251214063738850278323780260198034473934356902558915079200378080668854283941003041305505545421786578164893437125181069611518360036855625939249334799561645024437136893468353065759153639850463418999853047547940143221767023558614643822262716543173813030273659140354825676766182459531368830335868142892079392790061701566930399804297490564904430367210723656218563317536035749570319626043531911440709581183742687219925959465900235415480666359260607429856885213689522901605198047139475468007812758750875125258875024551130128104494229783224537764876956187894676685194498347758993436263856892930454868980636459258306431520342780716004916748520208887633604721330905289514221935210678459111135983314664659336628665501865604690078647128002528881099867935704676778843045274221221394632423821248455529903788257033419775605480641887926281155080425678304575236906272096592652727741663432697818194564244784188724332513800880197532205337291015921715338559663718758491606332490938425282880026809950880900696722126526744263315593781773567886472951450216481905920565609250431030619098816599319537741414738813846796701142453519544445906775596980540474493158703027455057333684167447062476375652867830833694392729267833949022295674991628166570279219776203416746605443084730056589474159296584367293698693768132740451082894309741351128855424626151329769893303170570082966395979180895726242633042075448465317726106557602862270717964768587566501796054865896250066385822487474691091915609935776976943859864581989060057369450909430042085670343257041813037735824202849987953053202437630349510825482220298990821509121151517868386740854825362573130263152104613564542172793411473195475921601309693251176529865478199603782488225266655733755949151321393892607824253554848426829712893157132852094237854603531957655315723283829209663725597215764327303699030730708530510078370543486295207757208777901946833278744210333253013307805858805467949713239059851029283514023591459455012049784153758112882360115461561567566098284916124880019216484046353835560121698855696544490429111807271806788244517042979138097224880110272850228347610289941362059708349751903346693504300144029676896487110941041293323118927784445690442678079429280420718456051953664863737403691070790069211362420985078655189777030054914006996031152240112057681808412444417760010100824409733007839469773858163475798805512895600427195164518647137429140403016775736172371546820096591616837486057423904478088683003266032838873869153242158600049168878339466371706215856282049410279052030951811848554205744023678547050242480238889532144053166670560456931758326092287703111621194270585047268274652279678161934975471247487145693740196590632980614133530936268417324691335010804537654610073499886931745384716575134134447598193731695171535934202455747877621800568399630604876765153571934454294371592292008753403068074879085524596332395857021316761426027304704130161018140459710958948987662951558459455898488922611389470857741301755038572763752727968112805213461319306451526323713335990630945449998822572208402150758654175798391633950466652672640175409201855931429387223014735840318116890862259422556098491502501501281094440146937272855381015277654764065133785100273018123266845203058259474117473479951195037365540428861337676766293078740902484671034110994954805963194624386571395736555464797197174812085696174257577486502355740941599167993482442200347400362078676310833804234010460097663866560930738712913667626362302390429009098691110489273905630049984894129140931348420354263560390250141157980385747611682584179053438044831639946825317786428586148140893609115558389086143599734808791317070014774762659233041461248538087798870816678640038629717402277919936986551949935419963653861008640349411826638320224489109560575832206415891055089257618042675323610510342877229699699332494312601546456357267230898497284765205896237546895787361658600720020663308148496937690752608218896336758248759303013416509014004228550318713237693553483480715857831754712462020219822885104283812434519172656234535937341985881292807824052318906861331484140400441871948713318789827730570917284367357378150809081212069102234190930971693471088269931414625655628830247052991089032808603193346089497615631391577158855163967899705477742725148575981323175480583186824615375791655762507893332922039815874160666091875157511317756092417399020422900086731483117362631658152122087525144121750611967762875779340597303831723892833766451963165475101869986762517524402854539538097753716108095475218758101320803257098318020206202595373759482853903020949597774237437324354191754470134685712160486691929682991140375824007913028454565595057125370453771235686900284917551033410945508556399127559322103984212727462717318657501278375713774204980560058771614648582794342238870188547395110404371072714648910730583120224903417019166434132384808217669492351156701394351682244094055239929849069959482014111047395572156751465187451998954133932401785741111298881946720129311611847194840336800304670865596673249528744835294994879003496415880601402877347421511054881236283266920754177751200073276298026556669378746901033667745708800134909554926770386683544025691181235467097563470030674602086809424217945465338119476464460523986065872084507392673124649850439331088908359490204931416875218256875927956509245647159501040912361261846425529264652572593493227517589228013741401703813256317048523631183225557458123968356838151705087494672506606045430499937205836776262056141385640807045299673988847577715671509194495507196172314088728573470344746005928389101847156155377161666226965773651720508068892622126098466150480820153387853778438215400793612974078389111682404147513470320119119709013603894911518176653093034521707032291000972417822193879789564432505047314840123010438133565300018273448269783293551170057497767933289924654901706809163350391701576145336038543322454918051593120212393496928578060264858854562469612274914365765725174370815031476891588830117971317888485517096678849804714893521159326903602603683369215037759099572015368081659932357943114854521741828540029360091260413909879600207165166853872148822368122425168036300634213145603548956668942948030059061391450665731135818317796782340122563269604730683441222972173761551923293012471469232714101272800697939418808625011154899959497341915075097780885672962348588200729433784407040842844303793640843017485315707392379080244222479166867524341301539983192615147666345525560817022023901685112878614299010158556610892495943220948546966161795221044114344226127558383746678369757547574341449650532507078861885734340859133294858456910373624825351230710260898503953735498120815203938389859596668837926772360151515031731148035151398391831754805374623205225201017920109565756816811110570506496346844278988312017691706022768806198281192077910360413902340292386442273833087755868990748928824721331427129410447096106589056940702177327432463555967705353014756648391872859910375128217232326039500885601605173869020453641347298738205264283780496843210155529641756190269806507049279986826717863456737825069646068677703389332513868680877550758578927318576939103538480504535477717448401888897956015108890376017612735038381734068882307605789893644270159020913904760739112001427286002981776369691333910076890367812766729363712589273777816337447661918943159908323470057445769252194175503643639934191103717058002693842115522908299167005170345650790929676442818417647898988418667952388045827772166598064007426329176136682491288033714981587476786783283169860603747716750433896226066426686393251192840205212373877446839703129983946465039004685110118595346707361090053282181912413567423701546655938405640331617295975712027441710801858115205961881485135722350444947394203173334278965882671758077763087103112793286346662720166290917527970281631793410246414213307535121228908051023503105408315926326029680854221646670324640454238111961372160894408024197853572144975370898906979071258147893353943554492080931581614321952524753412214150536602335739286128194223262782766985904715057739772191561269166841978827950744489914519237856107571449058124241182880326718985333705645178163731639353787700207677893812448629906500023949476284828641791471790721947736616493609162576141805923624410399681959300282307879249710517102066487782457106074211205359436918494367487455305447191486629592956334619619992107334110779081782950168017442901331506031802846146874193963317961045996666853573826026832547694621014858087180549422601042595366509816562531448073998686596839302131550722624482092409003001008494791437194093271907823388543337408453959196692717544700477906133145565306837738376720279091632563157485613642394831091819465181315247186050118647120397143751462119770074490062894661917042026007932182753697555183311621697020369595557352927413686964170865111685079481623291233953075420369590466955860706361152369063330765510990952549671100882699625933880536701722443626473427922348667369319922605456194111999139230496501813230416095484754708311484408782802878901518363710622916518290215657313357311731971846506554279183653983729439693307131975012800064118425115255401246340668038829470714095951731274508689731066758398077404877699429234076709464972469540579787750943646084915817167343394261740784492141011674307365844894153131909847534773778306096005882921319841590665980216711016565781714688428715628157263081603277176493320700311119813251544946749520740429549616683259780454138565965820436857178909427815156776005164059518941970508922470944613813443573728249781717767561761368968772831485822445187997212169312971281799296695895656669482172850961240137717820345459790792391733383893047998673980432816822100226533250723277322795882749723864267021066456051587209045375899924581067144559353747727473233544517887114163341120371284438547389460533597689811560196771711028601772396056465240005559287171315996690305182843372348750354855542145689758636844188268461743530738319075938010657899044041243978749019872399203820122169611637961987798292075440558023375553274165497779669016191590322128611265295013958077096543493246068309437449512452890767852947959045916201988064164212707066130311690832447506385198764464939896607414492420146048119199917899430736834741712886177008287062852532204781168977372608765267404249104578510591408567670634870397079061677737695983870388841245734539297337998263756800465776520590036596360366812573238640630003684742114990687794337679827074527165194985168890290297523124859891498188883750969246493017076499645379907700907135598142107295898776316266003303893262221880221125983965419280715168398061820727352475269568401878219373385589219740284701032218658391144961738416305843781274654163251342533835032691152234043073720421969401448528353197961631549612550700514782866689484507695787830057412093630193922709562216774026634228320158170586547804906223035431918655451415366509276237538873106207691614334016920408230986817587198802044876962862229384710409073513300806054016507494593191541163310679691979088964127057420033338221975783585665338741754276480543980029085209553089391844383760756168093631660621816741624427449435484099752893602828129985599602810903890490981536893828313039563959483288041007277900433020915672126934605465756737921939265505713302883963517135921022738617600806882646645600402400698432803013890558541956867886123357677265412186133180683777555924373734741764702446013852329219636380120149136142199827993256570813083900660040644811644092440553060690340083085393499531011371972356382609156639818651640972881518537180004671581470059400938902896936487455466444706947617553390300227962237662445875066012660832115612166653445991332731692249333892076739019571550514717590757272184342028511001043947057323254240222450279630623953160658929806879671301264456055868825762956825892018000258204821352056863977483923356642095581198557359279061245034814112021763978027301002469946111885086245759520027962431388334425445606339186363222534309374906054501858869715545435909799278887852685409363731763892584638180301517686362824865824813120710635586498542324675640622023949075357557896794160061841459239452392836090675697847766810275908607026493985088019839040320236291516933494629980776028187031987190161517375199600281316660909738567514686369665625149503367442974428805763069643600974047520365618099440670055871274023297379340900089773049950079719024154585445560448491947351800442909915671746896357844297629306574509424474548755057551528309501954766417985342043145058654675137897794273948545944158408276178566543545106342279130695528744451480861157830691542612261509635630831174473370662449927755570851660549948051019490293540803299797182025773395389883692888229135021473621247245189564014032878202264313795410293445798624268161108297281690417542818130020529295172400945383478703561315413883525777992065246216514395631552207055390318723181497141267709611774575892193329044533787935425424234779588751501460291025903677246062920714721810162716374810387484133358873752671444188741179536579162230412023056246687403988188935791906838359035137336469213445768963991198822429879592043337518285739419801252605914499007271903533531261350260178588194754089020208499664943355564257178984787627370531914535320353354264728155216772110499430704240346861227146035090332008757651115970879649562732725246992590065812269411903040368765407647342003212188225960266300657104461168964470177552079898596853262964870499839779996318658207648412814873477843510096264490885136219816846664211164189718093574160085306638114429268461426266351278694268263995821177707715208994614076545001749881715598744392963615094493250415462597120099096331551300298005243344807364343617220984218098744441708437497335168516733424364242630628010703005315902910539084290031790016166612625193253313009568583160171950223465807087816051768496230406922397326242704067628778886148640893094717263567351755569228576668144168225377921194384894272463495203046193109939085558910301371573162629465182562113892650143031758060770870131711347824126208743473628421248896341615628554466057083463358735479852953638464969480745728822661499156325397709993649088008953763748692614252531883819155207523637909525720389579463678944948524877662361697285697911509079011018275260574256620111219670080909480865274161387416067533935389432213406321045737301809874213536303074289069435658787230701142926112166046769160967492436678131577002540356514570790984835924888437687994951373450253401239560783925279358530611840464019963322333139150243662916270685991672568126776567661403509693628981668961937605312901930428865817241676438294653446778560548507149873556809771784244325923709871271478032670359354457752509050323061879589794215855960967897911863930029024126327349162922277481057473451210734883746862001761835800024817446833401434540712269984159074334302353712612653905692148156042884668242456418259784974411207902866680565698471929894809311639742248116910892086930433569730541469502395531987080312962490339143209029172788895931199829086611844046286546899645213503033493340857113629871923206118554980546239748406084968170964724669679746023726478592316944291974922172934418158445723862800640077484550083001720186169026705011858079471644700166411004049031235603563158610927265616304454157057035233432906816587758666274479246847245974436568691422548104535056817381159016750624193570864360465847267782114564689625861300239999021567788416361714906299660494350298013995555635104769649054143819502414912932920839326045824964516231862878399133205789587568522189601576967636372921446421877750874556712029268986803196729160966932130612905307883235059841910694693588573530053272477040465148572627408066874699459915892345473870726483182505781054492817168747588709785099241711552427246609870302457903071812016038152952720394303302000497264794819663135075301814130486225816875225948967357132131000390801513055894778464573076290339908563650548343102648077644310448792363578458636763694724353342730084316160550960576528661067302213386170338496212872794854442099027097183473312684349863860144098373291143195308715644893221423146264862673484545636881594318897983048367634270195212966609327837312538810759629627839308457490015411241523380873728423355013070393608457737426352649333711023045785632947272237218449860007960047921013136307895443226003711505796468305644527390816369380088885145638206819443735205034645028581245999850975999774790123409650671910928717794697943870330613907898904289005168691568291711114779689740482218277592256799745790493407809184072261749790864041534757341242127444157098903944715387300433601692903313002758546386587277810550423540478832532210855855560297447482798452297381101641300956785155278695514766608575700735958452566727496471741226984086711951464986847723485637713582028370759799823404596695969017440914151958997276153177553257457334842759904069887880025968551965779389795586997747580237228649391506476247560003727343348553237755773308870549731078173518024668140124783194619904223935451200940659954786969212724615506671055643787204110101436351818007227222813901117546672515721292137921899257755451148659504972591307625031549417597801813600305126395586567466139254354610318464335204512911188576003036770349812291730876075883007583970252402181072257203733492697172653441948561172143585447001101576382442286746469833797782755707439516494497495703406279490159919609345524927416090024472916006520691313433178761844851654707662617702318157929433783937450769291437437284831195097990921502446432001128667589889655300580274238666270414341937997197843800545288318873734374945200084043345710740849503541842661250784299379283238617371257149522240255799566906063230588425414390457906108619139412461857445358728744489059964205023538580993604523217595674825096485699582934407880273758924229688253697787512958808021110580774866048595468712883355714591641555146335950605344003896489718838971924882847705345441177823169023006842868674832775680679873806630800256166389870645829792934797836579061044335730855881384712038327414800966863104798039206754464659116850211746666552474101805916384321458858352713398539698416634471311012902574862929179129726318156347976513534919952439795392891111042615363671738566638224824519193107629143100754912365850524799162680909982819688700404005146884724332353710511082286240631912759426402607224521250406800920360760702568101060959833605874401434507958137616317841707971028749874573294371960588370136459286021858454401041060634013693847730841172724936130168699809052034537733410375277302941166536375934937186330367585276354867619669756211996339965249125029219468193897110877429508599072844619744599654154322952388931233327549075882317836008815696803744526920042311435267776460394468053201976674813664941767518400081339658700354384992187299189639793607700634054606193426733541996584773200087308997885702316647034620285812229698229044409558588713323347472541795446324638621876929064886837666834886945411278813146706784002385106836203383085785833381974651377098556605811789076095058690747598243455303005272712848722063263092224823607796034206608917227027390570471180573220405391318475832098809384499422960756665690614880096625491499158973571693183234729148287434335872691795744651690521805669404960124999465013440263512706243006769289206748352515508231047422980190605402666467127004779652020147665725289453195357098573320655041622123166537135165477984105426837050009150080560627062555812387703412251563667121568110370584789517572862843109419874139889521979147909309614555962256674801372262614232055891000076211092897664842314672513484618037211118882445611535132213419500732771711607034082293693823433743685356037406600508789748498296328207673220005596158043552402557111673007550513914946770398148639173985676363904692742266074416534459122787640098255920387058305896783510812547654021494495270447415183246535487945242495020651359329114205134013535296341540340092048670980187350494927367156636402351152151561071844834068391495854171782899256933758499892422996866578879097299969730195944417787401006264831463641883767774940231709240686647386889728700612173192597991796849173551033770880863591536526535026807620730754466996080039243131146965369556809324010589039149705103149066558294076699433179463808055694686300141582684468673746391527629662962646596329661377737297167128055462908786266962195979807516284962364549908513500127850791025489969060056615589540768069158916272694646377907355806141272783106410940818576169922396422544724898094829341936276151346486417459080682392092252334108649717177048354855869584538654663302999910093632151770826330798953541246254564550256646195769033811495954827464906629754576617864554819149899411971552540889339956309671643899113310905901964357853482131155722356200881946222431702947462636543539958693002406218196986941744433319939160488244914860234943068693613749211796044541278989495270481761041722826502233590655110637869045477713475516007554931407967685030815885814793484500667531038650505076256433675353818071554685752819643021866098894142855794922306347814116489706417936590943470357294841401289311905748056638222763151024573551226825269597142798292493173492652095736435695912863389283212477687103587519608426430523099869250335901196649581978513475469255706130219242007719372681015334686805780321888178688864270890411595676469870314140052954659818165496210692003734402595642751775203548254801287075572665816121514279257369090324284120252514903394132863388075592955478936930893951494635190791436512453189658947577210956696407858160862595292748744425315412668207604688610845864613956161333985389590513630862098140580267636376601010392393200863357182648829696722619172546420007664359966370204773034913184051055917000033517113234144398446422957735086360638098005274863946249211699904463143375379358323580573690290448757040297429814196841046209904360901219527912414317803397548694136673667720517603582552682700570518436048482542426692407311507735680064815473628312845033954482520989048124534076101277472015621120235680292951127462572866353245010646726919533287660225992582868919659672434095338578546612603589315262290178795253328357581141109795875977594465701880858691346609868522939888516649780546444027510331579115015185447785078789142669035742447305328557068094108480020644943003744513753015016131695590508467121410870506904709191066258377310314382020572083375735169998494161020680794647443909831988716122937396756464625782773745203037860331437761216901254465696018900677931634810519808862096450743712634872084434405038106729246052174477942690160133408406655273389361646881521549908405025823749524246259012925373132741427963150853810808811234650202023104924318724636575567953420927162455551125857773454854060761969892894575725926792400221833688042733607732324708471506857704204675837781698505617196770983369722421862917083182273557208569067358126477586627084988826073070649530100752130263016034697069264198689244365245501784644718995710994434160505545985891389860321707929084750969256537951994517429931672149363963548098260300705275056204247794530911132270476097542018429381305560002098715281310006996583393928632970481372088158317489213289113804114610555842780531821081329430124350800005597898647988025063361111085956434809667176212811262405709125639336994878669083150300588145871761472578564784270053037070151570754954661798585553265754712570185037589311799770311163694489299896865013958328894033628270810209341879706055885342514790960286169196460173176882005959665545779633088819986553629983227153680931618147207919134108915662039362645747358873604454010056078706010890112944841702147899747645572856644785691914202722635267104921268635924895662731667296870069619727610146856868532443420919426016184060681322018354880463130854412262122784628598595023480801131425266535814365903465533986616445387107423792621823183794742217291676039368063040364809098368314931942079502212664911976067744255526301500819025827824695768593063637837859553275506733735909888039322142779140433906186428179365662610378911952256152843748923457196766502826634525686923333750904962320766098042882470960829837441402846429164468043676584819060979829513422429714901531122645302427465528254041351380338944373920457615440717533917383275092652128462125722263824810901372374040255155373681112908428052584220995766890423786253582209123608106837869447884946886017748271808138123284526526225015603334660017013128013379225253475824310110012820486186786693072254548453024478249343927817186677601532222305945028400237096326016328918294927532847885179033748361645236054735421635170682794688005744565969832878401175897952495958668443920609795237527258926925234302491080833637876696236167614875734782683396610055319131475500087644892768139619664563439716121032577994320631835429592058501307355581684681298950378528919945800279633319024233851116028011918033320665410865452169518653886144891773982654251917854927754231681889678002145556404809606810878909755101543003998750259856416521133923046147372186403957950538107249926513967004458359086802535026882371629633173235604203051570824214908656411291672316270600184186497146685312466747898784469277736627086789585818336512512127178164258529150098915848055462656625688434123520163012621887570292918794249315313116751036480698197189989338104103138674081833061049386089658792120785055919997042841523315650053341481816934500880721159744159980243842784772102106667386342904614674161992526402581566278594238192604277814722005543094767829472541667169596061333907821157525102361663246981595340174716236790257389034449798409042599816681592219878323225419724712299713124634763376076962126676716206884415918635224651345885127619915087103821635696866329018771436904851676344708341839513066443877125762775442572169665404698949709821388918982454497447614065397508692713978516571774870832414923267933868211216092231132770387410148523203868570347816920549328354188685435604263234212849530949333118735320816065031391013605944568427008356054247302186016973168010334741939548985465388758851854385875590018107658326638563812472897537987073629964231792873735881193395054704319494122457263688074209263798188503048305800490634862524946151063584828238125832251624185330052302779898324886417824242777499029575662538664466420878920642721066465459582440228339049400875962691904102961059040604603201721608594863025390926585645799975740233230634887822218272102312648805230291483500633897978264398220042021871609158376906841602664204793324859298513430071336341190110790360028606224665639536517601462954112722140296502295034088324923122730648743047494848314523422715805240375184589204175031296958275855486896378487203956552475771486771336016725425467926161387475747287728772710208260207589157341883563681211955538523668549285550616864891095438032477780475796372786789415419280001335187234701421079462193900224494073815414722246198906213089179035415225522560549317488923055023764625899147092077055603294665486015158277813177833472018739635777106037960799411398978556930046610884116853746958394586253157625571680841513932265378441101938944801669475961060986086203197444805238745392907699343841335762582886815119821460400558358966178954473314518894359407064000698310240392168187951548646397346540908836416698714422153110022698884807154227659341073054696743212644998818400561342055402382502438213320661746018430835956857732310972297357813736190451056166760873716555152475632568304175886895702074865694980768061592238868098260048126942267672944021121984503782815295452039320303327453362346942906656642122561953526682675595991698601840760183016603817836742103008515471678561365819006471236193225080735451433583850191502907355947318220561469894182720570172192100740966414751381252392713783844643467668875430254041310726930494919118042732427269522380083730215462462275957253383221412974454462170893543601421629454555089522090536268753810873356042536351152452823489084914457707439667468412203421457677486050891315653521629715180631717496276664089126929243323346172604668522665017415275107695384594048671499360128622520601797217755161436479408925797464258754108567548921505100914745794410281131638105762850477163116415752804166525262430120304911889731760693949611127494268617451997507135416438300111660644406941490235446025699560290396927506109017032437801760281012497371833435576552124631816125156099308167613067531236054389093367509871649889533051411088871674649327104913773768977841543743160414585681121760324189987241687010581182418202149106753886131794905396637106072022204192644389575688204852354954769279694117983200523883809303061530817867050603798088029619424228274568833234312391424341263574592234686305815536774354302625633392432115050590930938907351223447880569367518193119045549511088819731479795376013822223350785628346122521312825590199919078561258276254639701992837005622802712186429247637343691816446818953199539024494456606163438536921601196799910781807889812316161824526626474355647826252327017172997404540645263984745436809518370928369297154527489814486435170367247970167223428807225748703653167786056146099929319998210101465186936731638158677479639991927982166172317799685394846160751979780136898465607112773332190113097222810250047431321258748631742366217592891335871384056648154389663088036251677299373163869206585363140706613833835533330548830742651175782728740055346864460804275163480030515454971364157171101146097823488340232517706811514959038980884177891207851604611650481145297904845981839241535486743121773306298028267939087540713417517466536088274336503397436104183333560780431990281582680550615614901420829269667864630611701737763515018479958749071681088771080626932643775488376935726667722711825951039342144956007404902206738828678475237493922099730574384949260724011109252403656616147002082129769466012213401367209038023022137363627897732413292015086117883182148257095240790388050900057919682103848355377220721571106582446801136235639258079025293780774206995344081357223712888142263022962918663916635593011080639879003162981839143834977350283541766576153435366495237016968058498443895442541859761539772630605730730332703408930260772052784013236245223179009753771893346332016633844290032139338157966685704628426226026876761550342968031693335272777118230469632616199560633332014652367426880082806313538388924386765577078452645648873226094613828765376460229119957088805346544333124474388629186602717387492959736699043943804935776900619604897891961449998468129213910726848206947419139779654827419333759498309508483439762987030241742399748447582224067131341491502715428438426589873106058590133079310922726977902434242566581715151594516592894262891724681159911127261637604979691386472051200579549725028574343614643833727264167508525433880126845556721996128654893553330401171438808644898758768594572489799104023895572476199862467118743600932268228090635031382400621492258622235585650846430224446226498521873396835599277818966843873295741591070837521422153986259156150474339752637961522581987798708706411351766590862789317302657288580585123959643844462130675393153144445433285080632958612819006635992599200541886980009916841280484673866762937473654458501617665932021497886983431907042829580208325059948165268088908173842536084220411517754235257876257426181990703266942315990858960244101804034979862300303273975998154867569144652983394353615212777062602317273831081190882226007818245813819743274573233531026462248826126584586837539729472383289621946084533422947331521461163995710922082258640516131292147824859419500693087009400125867169135304451646164314494711050526399738262116777477887569156547702759515601439769971046645329725757264758345118885893841335542496044259080496831129862308116796451676171808023145241394769586733273486036887583057538887706118956609858126960218210743178423281301356557856775825655924218133289666379487221970558868875420646857503886259467731831997940333523509581590684793518240003432600012108413063692281687559298405065581383981387783230817407512357912399150744329310099842637346056090477524883703076503282224709314952983110756896559451438473685017042362795294893686158825525090249234615183673105063324232030099553571951291858625444162035989825238926784534993856970025465445984210838580270278142580426529838122764892021554646201297161367391667855822248564469511764384402457993329582610654534411349639150444573782067936142675158573544419784272032839282424641389215362075196216171715450517201634423022492364708226960008891213366802385536442475751971253276875933360248384691126704474567598285881708138902246182068409135652573726173631498943217209755949910934410100993363694651131963706004622431330099324738945647143447840135879348006668468944897366722264154635099114422105585842461762980100850486047330911143164595934838834896263170698558463927513676562262025661891078294126074092120660907302701878585890123205483240318439988353552434296107233788615326301177281656794911477612692688499339987728903344356699464217925763090063141708810389979839324773732349669715894924575213778777204160586141581585177045463360990877351118151650517963265969060866642440908575632084825504012972156651043850010186846464076919011947830303896649928151147636327054841866296580886686128661409396839115138008474774129098192773758374817085452212021909971566370507842447014926130354204921270602652448291750746930310380560099622133211942625826519560984480569973104251525422855009536904070502498393336502963614666629298293886315858303511179364978796559801656587050348970365314188974640156233080305180067023931261683690943219767786612328812345275579388336337834478077016147691491147895899414998618370347112943504634122986425371221598410100304529591410040483437888497592509559963825463977285207975024564054544380471197309034648487219853381411922718346978854942843357127728888116605735775135594591172280923595699873043703859559930370868825750760246782559612674047094122439433583609411573697485523389348885261389634903556412712363536942618725625087029192139084441833059541846125830724726079112263249592352253657098182638673626842287344190023250311148920036918442812127998578709882929558690240527789428988528541801429741100179022650564720970518578465457584895455681417350480458791423197310972107000157226759511816209588244704294058528043408835843698398644991062604015520040093700733299082309222249819794135662532912992795124521003694004479233889343181828003473900647214826345965197059617999135035913480549496833076608830926393231903559571845831828097783503239859103253142425054764215870034654308242348441674836130451079770908119585841467090071386490801111930026242071034231014555009888855758172651756569652635397714488612387005417258025186446692958573287412679432974073167139538490450205652728369009031272444120015279313591622656596977747603251332790903417060414924694891183066456236990135015910102681373356788419713089831357548478843941075775750602085780267519284442825804030713568181545509938356404899317196438670430405817023087269324545218640499418624493590173208248517210532060853756600372852391910022550261000293157445555269706487303486082983469713164694507821724039650767883867497553014302684041339213174077243301478428488714216002141094377142772793278598306211584557847656187949986225684750069950142118400673994298359982394119645768627540577191508669689281504177916289127020626126376925165701635636391729740997172296396403790710132699892298953566759019006457405920675990810222242839594338651195067633250286883070226295270242509015442556052925722859250749279676768191753761336027824311372453950931066168477905980737038185064216020229917593772532296381197115675360433943597120828965294792571072551745380853007657324750454163760651590088136879783207314776314725465146233207742382101351894156487372983361248130892443284625177122199901148336461130081160911586779603396020293702812176289768797127540643040343528148533135375292386014192903365875995440378176585646269826610554125332040546795818533285432790544280538073277756278100698092650905270980453715065345381367684650122156879000969193899703834798496379578388581160941100890053131673466223320489744221853677396147268242742580209449488686507980977238053700594286716838388677725010240876639481383162357926394094854145133017686701601663607095954531965240538505229504119355306962768409632825224816047050753756267704194382430584259737032706607090080519562397899324260729246528923929336940050125426033415350650901292037818024347778484454348242360419922751983058190969827588578452504235508036313931657157935248496712209920205886360876169341313739271798218882884381570440899898453595534805513829070553098628955942740515613703769480578763731059196857937131180400195810923920028687615593703953609350593812259718379813790437679096904577738380248755928798086323965426464807401244221604510626008622641874403884898549857263078282167273516984109523478452667757186341438180315282174920527239417265508905492602676623384172676392382764602664916872077358944507519837954671220750774271657322336794186157964966352610214348648303928756440292065817525853426789324494196224776809603536619343609174483492701608291330069979675773470604980474434846645724318622841020139375052031188534518283620900083023360007699164926151105599756476416941795799158956762709504760624820221134042362807717154924635520010401794122072144086929996105528938603412849048395616187608681380102683631225603232578931280483363120978376016651099088211368269636750336881160257298742121773382172144969371993541391637267437679419481412334079167007260751673091665333337929678372364750756211745140076725187875180164642990931615943753829323776278256129530332666989743588593463950384724169055742595322354379919112843297368767490069152058565169087924892736516327487616497088262969363563438394065440847703711945400882887038644935116370196450722307847684542803576224148347799627759722967959286142458707341183306524558930033045264889681537605757725449794900759534090425879147319524539016926258962275390317600109733227036406889991157688352456991912531984980536416599513356009187139073303929776497822336767739315228578543240511158932489032507672199041424283926982322496532286091756951650187499360752501592171552401730546236790169456312009894537628304097575396604665401301369381897044693583945354924634607703060689271906473108293256456561237076147816885617833164727829060072403588817391057626823094608330670348038295648206064726454401852061241472236750949289981762449222347994400186845715686393762538789360005019413212525935404164987769858919541883777680920763632283084975486987275358550725144140342872207909645590599220224714886593641534300920434019513177726344320673976404125216847122384608604447839484917604553606532526235870116976499773960632374837221697605504528826320259537515000218662481868963877093871422532732975555622205836184539320479005560238020430837457754561328901304294606672231935622837685444804059477979240171696385885984038735336754296013294198307447071549736965355758316772534774983265994367632419947755761345940202264018696187473227839880240819896751079499126110096882075966560439257360543370889249812128431957114200446548476594334933324902086699929634924247322680105862011151998156297709470078060221070993232092718319562177722041937571133079146492881199131163835773970141829647366329727151322807231525845757995418784695810191086873260842455769505526303607892669444536333524024267609908484081554922469356774644892375015558547542626186761905822614390977987268249635896982948055752364264341402592251141053957100882480441809371540041547558035173237907908888119486811837901845884091030327422657277541360357583180239864019756285677473981459484219467602350868152672884650404600526472188331156749506762093958140373531143964076949062605754405431819384785883838869572535126650954755299177013891892505118359798532419421645600632484265529179254734558946523542158988413044651030141122601440503699544897219168502077454847718312205554861753451657482230673592431529529331427020856868877253738665527298770898345577789541634273534852480373480602603701277918238342212224846720453116995685504700905075731137217746431346473911328762906256035655167399611166570763513413880302545017432578660243441742961704790202618088195887159371805082618810721589904934557877663921918570325588575053991825862923471394088946613221231945324644298681395774798886799330687133294440665635283497738445915142997634904106645929603853949039633392564621789216655454330773980255283477575760984955126130776829300062382580191676012748409238379882573752234619438066305690683301280461230289361049125837418389365757070413626131466596677679157270800361929923849381466962604948681428689710235574278308464697985086992196474186222465919087966138073477319163833325009964354923301778688935190569811978691347184554891881620433072232408319914693954398540265720605723312357256381477926153454134679448824236834038992656882180254210349407211160987596780572511316827285905317933720855983360538054175783288909897666740511096205161831653382776294170822718682435347747635880043292122909522473607567854900107706281496399068560603387434036194681205995088905926845226330950242504980576426645317246354393144386595665171685040850444691467491160193244031643209978160695370616245038009945871930904409803680993639796937814580719405567754824262453646319462815004412648985707582061511927703565357091115713643576683141130437680301173447361669916914900309065985047067343849019805291220917118436890009131340517992955118664814677343245493705419541089512408159068151909024814261763117706386678007855348967058395195153365951286107778790597469775555746823234671838478770527578546929293237510604386870752655729279147179881335150001720639825094926064811229772201456430972361153566225622808990194762002805141252029289050600983783970951154641490619498442223744554526748082929283112766598104225189495862488054931421809045828586901630440978926065627785990423754813680227540423585173391121263166569256265420626502792652439705940257518782631109102991786319723550622312929715393301391827979715420276153049301737966351663539330537858980139059966271468989199022380883551450735177357616081649231325979968750995158994014530975044260757921220651859293748837995120177449770009748895918438355966059884436273455113028483898801404455399713989405846586213711296865104066530834234712059715897012335608254296386597085187493340454528887642249404527921434501826068046265389019660239573931992221074608485329863217258941150440769235836354392400662546152655052357110174109554599184893674250047052404702804877848999229477744020685059980340376192813989701388171831577311261232691014402689057660220982522846901462391229885820539364242729991438150858715135466925533231245376546234312675104012867895360586173284111612523830082030429599970729212234231756678618868674847797621806417214307280704378284913919235750443198969708501612843043054779140232124118915834483887445058331153297968891980505446327542733275216764224014984452844784293776799306014324082036807106716079553356528031759982627654181829326828579042748778465433576513758668879081341825529752401078846441453895581118263129308333462122338624840122597606555087297334956410098850419487677579844195010600493124909018545838758326667053989878340633141142767670057925515723349350422376840219936567819293863964955670609858056365644192374805243766884170283581943040217623504921678769185211552197241952263772272101184399111305632220404800727500376466247910489124473302982475954869474673907003470723338812541912716756251700223152171338128673083560776635923203070158552282441374612417725901648657383690513958767498407295759997441925321346710054446595857765566654633882398639728003374124366625097144161457817981240746792965923641610416270162281602970312448616396535678388456104002603720528787447992000711006220851100893384703502129444907486793494133065975746085332893057392278588563863752513227113636275202977495104295173783084861226930906254171815776585069604291402293172352524162476133437052549147275747448423868389885873975365795183069190008843993065250535935193700489116243582804708291727972495818296470474531302809994224772219100044600697950499500533757689535508025273780931514409166596229889341643879537684474774972763601060927200183249119495819584050669957680423436530774303444235840080509578469937169859118225708558715806482752598208557605679017566575254395109456492675246683191369820382127914350643589791569112493136962018186824227442856789014838231327396694866406772844772631838041551897278962915578396890871407794998272955913384124089049749069164911150335020541332664949653212857415896160846951421758077951436047449680958682637001844811407520329829883620249423966254123443055484718235772945137546415178473450221990074015431554807871546371290628834579857419336473074730984462585701699897463779285505998272584737592052547029147382229516923959820790375766553198649441791917253025717997280354026151989413468954995389984625360807336246974273982639710590950312343732983178096297682920845792002993037732334411039885547261658151285995611289987148475903468019776320604589671676396557246330701876153309451348349153625467763007627727614308444776260778736836187382826348827059598563076945263406150697809957608544588662788089423052809902232516293302924525073616137563871892543964574516321363989086735511807882312380549268067956608305706994694470197863342930619220485759759751215069102455697992898875718201572584560787519167370256030826031872172414575627872783297903773841867020206671237189519530572205971862986278010167348167268992011658344645496341975791519779723017893762307273732226490228694160478538031852104855903287465181950883471041128879253506928632257625279542572556578117001394647427684166037273229717289642791268288748384469215597105526832494943816007327096960989134092186921201718865365245769519513181948477123959822909430647431152244164709600687346805466013686473226707978040491861045142734071317085222453275911999419642637919556185608598704021687520588352917203862358363824398026686527304062237320929470739245074275536021144206715475974047691491831677334894881711561361307913736852227363267033287220278569269361116604678074519314976730736817845490321700861538085447570356611954037507177806749046888142888360936957058864642840617211182040116973079932016197743606682112734646055604467217378296969379395389829565857056887680942502436141993973906759078074438347739110577669483082427665309864952363992807888006851534430774520758065742434005125748424630887133033014038317493838071994992044126327092575230496080656404012075888860045219897455460122898586134485839914999993045974944417017268375108479240480998393850826948362754938828515019201279586527330253881793946787771251851394923130119214759629953652138558812430404695451221998766476120876518750738914045207444295408660411550174574789300701353111077481959612914438146634015936697771184569554591438402660351450253645185205188173810572515593133053792881459483189181123611809746687655943637376871778450851566677638164050970468665257495714732112659864551414938472629087886213540865359720912563020544672598743783316360832491325583456729831182841278682354213507698617278391393813352997176403612070715134871161692853706971897297362620184239506823849285157580849391614967470036257897909473468278422925369964443192264146401205362323721427518885853535525543891903219673574050541366102874695865933265597248473797624630053138094543058060539221616407270221477088257854585280631716105227846951101078618615084771300699363417643369965922141716658714831773165169241588371862876674023737882600013315038677699612419086763898330269512960559083728676990115948158622371987911165745146456756839291173149637116163045263664527499945224925274379143633941509844151700816059427723516006928040814802858228906088214442482180408049864256510946724899266837457842299508043276461035046073287686023160724127745765394142392508671481951340069388749967953016800018633708763484225298442615516887202506036540977366257772824495004520873398915168995389092318070997630633844668348934509606622606839751655006376323005761571056041769560834048053725050064274007825368469095664184935903628261763206749295682166988978341097172761982242192719704686320252056693748273369527435831542038872912980017850042880306639437939917902771978162245148981526979928287929771011933476654724190162071545316184138778715410574140213973843075052363039618970802595545980508570030023141289976804711136608440919360289358310866667865349048527795649010477416230382493536654846967606147291700560352333265566609870266625674650430629448855559835385139866114434603320416611618015194376349244755022223224390816015842259583195497281428367939887678156180195290344249945127816840612192913802965877126721883760308528835989129341970860361117273717913156687644363477943638960756766828424770414347988324222453613945411271360289500815510183457605781105866256830002090330201774680049951120003556276173704356315788526044393123579916605267719787030339687727224761471226976176683147184168380483141160421695124575690374239357852725726458795641890208370137236299432238469730497634057383013777674372193547774249210021994914892530237136929889430889146057521806745875257773731359176789482728681544824448205147973319475537973400065972741175988610062322276899818409168433869458633676948377021893642200016868424487914938715958853152322678214947402853480449064549058913138257913038825332529303955333751645647285022638580791967750157100288815402794549847161771269709592776198046541921076607902040528770328754538073927575188974127577635837388994773191437163162569050662625880559033466563706971920559676420119930521351624486590983075032010066924325992743582960396599479654160600248575385075979543018274327017293322804763227622919177495551075977413525810612839321129992788332896598556063899249966134851984725918214334731776842517211572603208248589603890977949571424264094955614371414253787210667579692767421783621756938859098414549895811407717830933186228742292799658339246863705615009855265270654107425776714947044145184479128657520021740188654617714281975763281346615948015586407946391265055743902749298767220481671520815974728251160321800146210989198429135332114093410934919692454335258838037764640184551670634277462854045392611956640047029104544879455555697960492001219181273311243088698267109024431431354072236675219473165451915617065567370323953772347611941571073014647505897024627995749938016432846624199509929765773914541752752182145050968243641018330145432346876638359713132044323914396470727752842948851956890808078330805531968467565158182710116202944066298553022410619435615144840741960316073459993356458942775379209788058363804920017671915257199574698671283088190925845805952659290688476645721460054287851320601370899775944749900042634741492031736414528770631141939497253302318598847957765055505027396136428816881822106265216705237484432266714790538427068262718881611933591293923344465330984937989066416143245990756742599533625050066190954994118723802970562592091960822092358421811182766515646298573535265882397984001901675174992652524623697755005795748559296749562086295995236750427734221423924417237440371291288474931682295706770012827225602386651038470721799932098299802226823424785476867386578579094645775311240229217654524283932785021477643715157833766581723859627809328976137373379230653051421373717501156290673867672171887014755023768421826680680837872652724518716154184180957480676764750454239642684011171715875384707291042741484433652965295660966905930044934121285543217624061700783705057925869311417681563091467369478393301480307866115273621160944196741730099332238041716823991884567557405699007820059920988133574473950607572053906444401107850763526089816282291236317299570569612417498942220195207951448957151682815089453717351994211928913271957519675557926097341034550804969754319854864824186836184697417600542237108338255228228286178766747368786211229336262982419238404991874227203151233549047521120306249629865481960053650652934703826938242470931538492378649702974701837541059623565805303622475643204710475412302903423771121500402824064687744507864322311659424240682736479982638543964974657944251342520069534606235535595430311966033081870958324949373339166415300331128927123169398769382099075966295820384296691355922707614054099445522526687861510740622307547653225366350162079739467550142032386969875047393763307823835212764249356886384938195885704300311625045444840208103326547648592058852296815190889601194449539475987109006293251352746269294127998002939797671646522058601172291969242970517487344991029218385916368000393292006668882099061756987881024660106918349152435549862162290704743471406730388086357642253597869445930983898574512634197993796669679630031526392301110885652900772585391803850425752840831834029476303293959285669957535220246147492942214811986662345590084627055018217145929652348507875363422100449586765749824168374331011227985939082065469454488950883398674352859560197091328705485333476085490866899930301325034986184424745117925569399715471222468881878672237948675617370394099690561819638936083666610355883547314067487422541073402607126632323223245861619786832931250760895872828525988019649622537735080180134866853420262296780776569599361721137487253031799192019719557305280358956720531539791810752671052384187883195315305081844656923655231904938565338037407642068378677434531562196920544104421702932962140068011896333369233058674262757842626385639996453605562382480219283388486506520546942998147097075848286326476313018921715665567117349963347658461614546384077055181855628589010045461818610531330151184646183646253086983858180102880533191090479514760337664271543557380798468991417740222603112744857309484293677742219960568913912953846642435542399384501490274114960922924733954953888396748741604474312014706046128039447043333190257033586515359858060838216879912007110641222829838819962792975208693777708553601015952597841243968491188286047873823908062085852921153316921635504648765381119023255514825930800060978886456234048186124741142165423111190291449655152741723708679174594670328721614717987176209652682453240100834428412240368004842442433110613945642513518583977750309754701939459744927648802864900542041320684213059035861859051264295883170292193921194167970405576815289488401928295562969018242563130601299262384836924032606237001722908708047693211981960462924566764038445226178033036874003909192120788138198978608528584112647073374789555090257143131673907234567716444971489948587868663262025133309302164095219528942524324917956290934878451803489536009901776535733980406164588992338455778833469212161025308151578706397352973623357369089526561001975433602174456323776054972674811612138143994184873396187239435105744415365663900315868746504337506286698209215085860460114181712703008000267519491267852512612946177955213561496636867592078445558635619521781053283472531558020811506048729965028442370388795574813550571367505484222968314740750096300621863333336217535105285302251263470214816125044067943252910313591156831911593196566211635307688557725508459225832985971344263113250195302798805131243869195749672012314594289844447225932853732579678142273188298124436588104087456833911705610508006522845096627761508619364767612182531457596583431305616756970755091460415198494491801487998529541180407995201633759296907470718049071716246488499781912741981285986810700900500860153952754145643346010549729380808087320026537845758152716643497196937072190098330649132144065358550977368743869719597739981363396716272968817294874627838793162173918381295276869182164931866425743806246926730975909116250776084907158200802893378084510961317614564100370353974645651548199131457289973844574556887967318467000140753987840043166941076169550403428747414257382504447998867507829442047900358277342268205300339711791304802409804866387029113780557272613735966648919984136822485972576244391750982807881681293992938255612053415544423290145031495936731468298549811299451168199682932988368488593599629777739315037464447911271087816212495047388582903080215706497282627251952247187259270309874027968681456663068385618973285054959695804309891065935605300550549239225993639357911093398742256372254702107051867372200493714723684260793420493925050757355822625460638589495313510166227314408810808351647131375545537731167401530295527487466049064280480945500435352288374973703586600871469461007199603739712382869300654248161075612269131650267538343477486861344361619801464860413779677362771327964308672591019397232584601326207424311988210727726319405589949305624699396769225841971164709049569494098460847476534452736020126916204313546841045846179012846042725717875539523814412803971933268901290723217545382152097440290886486920503603521538383713524249358828614756702015459107001320188803247609343014865247433969839171920815669121640831511798187674024714028594232702166666916942142559774312143662712955709767017823398267304015205375909689034096825119416029783694942666899288769123696819560241318921803580546785982025646595971219193753194857252066386930088667360447595320328823665788070382662505833133303359836952116520261989950221405473674667797796250527363265867200461967046684997794175802376398733019563928270968542631169777820045686923263430262500905129482731856350567588506088028530454975510414588279876584333051380896659078295317540151228619941038378944314980385844870999109662207215098718137897725473381338094447314601425727033692174192585980154352176492481211095384328127735305237936808469209082044622584322967750888190374531425248896872233959824022841459647299852368660015758303629896901743408932468428034166258542573343485318775180746887002195280533197177227308404537812513852828368305872321989508897239639663040370447704880909465298293019377787814627345085516619494997245578318452245757743822097557924206733828677649758651632794630962749632123195779105592709670601005213493323256392262685333858177133613243457983946219202581414881555956139191243005806829916247753373172561170240816453669899866831109303682652399983555079841026449756196331609818703142919792495690257967291234494504810815453247668094544468365466211991143647469983772625324018155105320586571191634122340440365209600574999189154629651713493218357332843204917218296457489507844814144929911634708311484045647807699660070835475972487798611886990260878343889674451467305198449295536288196345193402559468599211255384109238007971547558669342498344322581827424465856223830104269718373626445230284450197364760116015189021815850227293913806716966693943304936995523831199309383766753839683464951399467218978557630479582864167778745524913317208741185967438003144627582150145695531806368518158488575891424829823521126380304999427126621177683926845809033033294349528497593882127970562392648769271267884141332801175025198822571599917231885465207291427071507772070437470434733838472144820684122402602508359259096075005075317677995717665638785055620708097413133690644650329402067590501843775631361790045367152023564847198433687822788281496735858645517690458476495672223649268201260374846405864850086828930808788464021643585965780964112041007462779200952696613025019994868877139062938052872166434441374544529145367344387727760056345230566484320832454104809640422564666494187967346027659287183520555734336431865415452593855392337407492232592228649682757523981882152070001909424290030632196183784423957452704825259523426299683692689235099630725717436849779350681742809364242321073467510439738109235579039257801759712989257391499801398078632360575799265675059975039875086972010994738066046851518355068411317431127888662451197068445872341001900896056168035514539346728555066757004551793047216290411107543283467270008729152851363000974918709704430200566984447088787128576436738431950843235927772511693589665312641143165600596139943104355925955450597974658885498247335313593072813605007523027724957481153516221386701740120245559727890217979033920585690654255480529421051464132112249093835838993413630962133795088076523594763871008970439943271752381589115031718503980592603434503655595098436691029167533365711770716100915871765199692911270767566909317031698390204638678744860416542614259740752030633496289393251019338917260750714394855818419334093795246339508990863323169646321387917449066785055556691863264331438111621028748469851530515612737906327403246843213966852095395438227584931301232364845260432318325325395779857540351914967657628628482407651531781269941372649900639504672903892349914669131663072852934927556685626686127638289377397600845389978904684275699206206341923643814925408853016562563692573223358447970451685775233244344928338889817702739808915088435059865695769584213888240523783235750657963763182322927575999358016554453608134265300490455623859523484284318068064562861569961988265151344889787752321885490601998736438251776430769239100939962481216965524057153809672333763925501110040165499708728163958589506463058602838470005654838593665003914461590027309630728812472826280336713053470842584210045427141829817061234878645862016823389278017289093675093113242330173672687565240333385118345939289546219928941432789519334901848878694445144714189165282745465932492101758252261904778471263830425535950729076621505398779539852535809016487890487757676601111966491439514652537401343772820393832597429313614886052450069278263440038185406011376532836446252790075959765463660958629203831877591223887645361172889817413385359424302999514558118968969952736130875233643376701557911049911126005945659137364519385384617426084420352365087282867264126415738842182492817399430170193985603236276519319018560306887427687813352012790360357050493812566396172240849649831054900293714870101988505106721947489427991154644207656958203213271231689184466400437795858177083751446418032853607018400073258517555823159388441239117800543410157422395254449848978917405930373783940822923435052769407686238101741260596679502581803965785751227858977875545855073283084417361472752308628648119087157049697927724553522840566894642032954353026337331543216469386005474563424597057344518917717513937914789636285869263255716233066388089220372243276041551363981456730846814488107361963843656321468604047065418343239561186090717119929266940314669778092254692038773027943894068611589633133143002585456344944854731039071338712579875682106313678325328114390625020454664885261515762613613065522087119109679537750065706600222637840811466583744321447914110081127569271406683180948669435190384907046079770022153994102676344413977194315307276726574388478217284898295309382275697657542826980011131006654095001656040287854250930437263395598605559988560545987165074496177912528730863580375697897661283471274839995567351635747457004848023800243308172626185153230895765459683885113403988396406714003541402940854060463230194090929237776526765135272146175106980422781558079934204193261986925940688592306983041023664474582785068264628830111975192096078313602758923928484790997408866328579811544058518720235283925511768977731632802857833125201268546461689637334905990768344223068469990298786706290565419261616921501326738222426070083254725748626516933924699833205415989107438203400473265348866022888898836850051894974710542849980048928320850176374402086622742572044245569152103121765241779468312530030400283584005567756216853249997743303508873601839398267491005098663847186356482874058403120166157443603658279823648952290287086981132409473342370387094845078702967372757566472344622407129163811661567468813532606835311901251067932218669207405286937597438033321815541019753999344725489329930387266462602128640315258090197180921578533792024717607174207624743850548208910334609074794932486273207247632923298253870100166073856962693937374228984376093260809511309645729937572481123854416842521762249787347862420644745036610733050410303833468583576066169889109793071239083895792995257775355777065447743025672624320034462348888091136610299633627531473410837182789794615604530788374566224109982097587623982917996251428457008278383224517710021314267978060672047911216595610920703779604370761012170699689691826065238159541856949378338144329403451430684181827573749903757936719048598169155286546690424425632939021059319524292379070186526443382264099067155692336871191094931489985858534122700830873790142583587690381697732698210835720217030186217358491641442582413751568339508985394094844083279027970373123076446773680209896880932488056659646513151383514953368333930713560926247662730598409533456293541834548043119254863744800661422570126225132304074261010856930816219991823213942277350654772917729452865578402028411683411342793686489231015995077366235445625659895619509749837514510369007703689937511326492280094554642348398791527135496400548450033442857857029508018121706861085623254892990342775624761103624460722068514525219116990184546588361099953748115473210277824928465766461078147920183008436287014371932010718691765267435169778274333882573181184587696149708243252135474640689830019548713719616698770989337512798870954914877664431409586230022316717770017422072438698468710210356885695556516390690085580902414249883381203242068258348309852960291154695706619059741248970666842066210783649565834463949627521417877089522012558246146742439867544763637459068821502064522208452350369269075647467193455347772197195205484491260491299726193326828349393830673651179352443213444869388933634798827268612258880400101271095684611253771488611170083639201434981568523357424032806140915620910326709762564731248582107776792581485107795265248878000792919940622024606725858381004070947094683162741368391452786108384507133644709419193675316827139875217727052432903142593999115550076308612321659909831784571944919012741568852689843759330481237193327891243220692596895884070309581902949598433859601756264036142927351180440758186883740170323298363110074950469845512470846511493896455557340686566051865909948023341169798394446721249828049946558187245774934462471141405219673794116332989386106931740011211097651928364145502191039328033807387550679934629996313429677884055231056746391790313450955638781817876675374330526116157413935443987875071025625408934840808699792896082827355050007267065646858280756469847558202841895926337045027039878743067687616703848955105417815676396409111877207454997215742421634853306755465291967657932715925480183778722991172526450248620549338843449459096701775014985947191930359732462666650195167723631662393845712480047844605233894343046746568152371062258102241753906718899316542611957062570548897660936488389637817905939441579796573260662633135722253662727378740568127268564679275919181049885059742745839407952758628494520113256524783431880179123895420222804203727887477886924997759379897673491810008477903085455999632898738423065882042573602752787024971051588946780861185791303432428099740625514939931499435899526285461107387822217033764813183797651241476542362262240580966116353808070798878043620738150247405069702569419945214142983335273407109176175568945768963375959506787979434104077494272924334183849258407566032044082623646388758264783366544795169585350783969496070792751834261045888769174820624120497873115900119197300450274369212007804595217816186196077454709756910054087184839236080023385122851708880154263753948018448114729671859890106889643728109839261059978973910914687828343196472312564604116591546111266874595098285407166453491631932115353256936021178350878884191426432417150148983751666534707396160654485117004106135833249451388103485678713106417303490411204797931280283406025507124983676080179607231991701152436390050486786281830697996346492296067253245491370840032564340711415270857396460519168407378003692629577147647594020273796644797562914113414079849833032840082220009229760150407745966305293001755595735254276555958147998998295011493498076625645495199453726155218002396475059775529130688903716308474622938463482795453052059125028414032453892748458041848832500026057097262605953322017832806888430807147168650996369086931046009103664331039392747330918831950547952541106383328680251674041700873920034100307589224651652835867307506542968397084645726083931179890805834780373118995055693463756908133805362433882115125296606822954075505044557122486744713275470703948161280453204981844637092653814611849130267003019567486334571661386721116391463312044443370948529586561372175507582921933378446941233237391494921897556650625393087952737088667434200601024193654744975916970311949209595529057479997481413690646948189329962124185582769232796403329471232174531953196149672392240621785996321562632596260034048473648948717201495676415076250219768325579231363060762119796491297954750601910403091174351958482749211055362016813694925187860138402970992165846919920190151159433189656653962060309924509630089203949191562808253872439316481029787470927596717676978453466067514244581818109190655525251810315913556354522980942913762790187874899034581910997082328621349830090466384356262235785752039504639509955229235404535341330844426006701677212942311972417961767946554062372538641086975668193383897038900519303685809705467542493742065199522289668453381992999729348227589259308642111274722861527466639536396560355547640190780554177686240873147734098645003157017164751377727747748597954136554168532291913002808232253701728290133256850669150110195313540949324995753073471374929822362246002691629597316933394303509274990474887487333586818792715315567186961448695145438409326008412440439279602084174246479262489905561611609180502582251758205318124803842609589677175897220802935827411733022871188083220990667331854588689383243445351798957310135934588045894198401907251348368777984161601534952873989599537191663778570983894625184333722340616187802818027373245176652411239412046899783732657959417966818184541218398875543472169128939521422454131309914102185559672428284021951031292331179096640150315212732093022045139987763713271402284688900091132934504721421167772380577586166410499823479867534514803542374858025434725640476017209884059647070456157880585759120301727104784726185113023498383311126960263409492766379299619970220511999883484347079423793274581967202928998361681020305399578795706836500615507393292212562288948264009700989487325005103265049241070462110432368732505303907667056522865200078092012657174305082849007014866140345346432932678162809612463562978394223455741190393404603556642178987805247908822379107144736624789408323098890138798606084084512973423699130014455213433302125808342367464426849120834775638612382926679747263795907142425436002802372361209733560006563019350538983151550230374529266136864086341678057537071003062532759926283660262379665239853297186149612419202995243570518613640397324222962630260865573500265346185920843928930646431958025045497263617024255635678393015867057172324529077718761197197851749310440899336213203024239805849966370012529234532776845910868581038678337879908446112900059790321244213548827601130574021397489335407355121654577483942225077120366312285886203507179190800353551170590953222242665471106685823382394027378424717705027689229136502421963181352083031934973417840773453224181027734380883046079821898863558688986382074855559861500333400233099122607417423745403271598196187083231609771693836819175924521383879378104637866689487350911715098536278504354374479658434629806417751985773836898066814771136053323129153700489150329331457360115008682711880372668470253175455692339562664612098364109589405852271709231843597807920496881158293096503778931995681705007041790811092983987179773039394803170858165121362211970077560444025838012281983787066656940400310078270875487517786144288217336276342304631990836072279417967191340323074724967390941872914856372687265065743870435360424642829537624877645625935173671679998572140231469894008810437597595419300103568989274634960764412550157538593283721202282838120605152593766100279805128709914394229351368353504973503291476711935699048003688004041724712145069553993599673279801351683746955954760222441130788095804779099057147905752830809101626665511249113034443288359222210046876669276967881789250651220529196842505984047725952634543924864508266946299974926083071767579375626198274550623713086603934747190811311922121847697909847179603785878391821108484349548087987422759447651342740570050919760277508350104113813660296694237073485286890306400039463324296105396968737033695824789693684580642710098642781501819784207620351860999280662274009147926170877765015785907868285592948123893724197641896100234371712104177634416969647397378621349782496956780703442344345199920848723071292669820267425827698507535215147963458759609308256485509387941577540229519808407657694744924295358175165830991704605114845988992899308160805103327945450286668477119032851217594020324427437851332619205721140581857562018401493236342860540799830380270535987430082405887202654973180865276056154134805693189138500200321967246128221475895001952102025432652490109689632609404736103454685358486289960413282318605127748153418497638673608998161992075202744819683231728451280328048416477512734898222551300482835327919727590688526944232399602090082264391759183196937589864318541514742050617650585983302827428815911475424253172998926024596650645412540581456798474694487710446726774345090190938812693947152505377800880282949120036263946353888054417133653781998801796358224078238840267584181022864770223106926504794009114671415783866093868353791215538159212853481639728215599095961791313795796423533692612934232592384620980209651035917093486203308510929145939541737342907738890468801304371601562528665869885000534512276750706273883718619487310422502684250108996686002286773015406195565193973769278501387158448518582304172176929818065682733787766074285389171184489847281822929320763401140204614393895600965548106082493400302486351240039179439347046649443156603340133962062371573684961122462505202178201545808394792581931045436054843800427169437914536244375490074751413128864908415047932461701572583901175495257349038983313299479841204803156674164477840346850469823875367520541927993849022523419334800343342978825132659064836160263343218370003039928597114992760079659251343865197431937700410476573274698862078261741432696719564383958316954872014372230194564965693084760934104835351626695762186687190637820810685001580619158768426126969485434499008498700951212357910718422548980265732809636297739377483966621699096171331424568159512847114184232172210663403115276583806316126262973265653890532972356263216408823723632350999292146468992648956838211248714278072248839242860375786900900361904515287657161449140510542089944729826505453446003761921991650284927450790361037711065505821338756677269581952560912082636075445944878103161552935767534750644467877912324440350661231442674661508615407922914466272041045347096608386011089116951987330789383164062747943408539773562801621387994500123295328986667964987321083377966211625367713641275424366520115277570477029655718816338664516009474752576478989665234687476566403818084833358745678565630272698098038219375145879986137641795000636331056570638857839599842711788474868363050143832921709570830031393869166770879020157033695437867496404899501815491719904931837608660682071159798746778066879904754565891058670057585176924233140785410357755799733593295444963494045941175213203716121595100511763433981947230816942392283612364175201045842098519859668709928119107675415666522731192337616671096981291195223304576312032582782068037550027502495435438028388768896965123392494940213603975071172872843667279360215376189186014747856647718094412381167228630213998195292451981305229047875210560470239230662259804072420145814271970420797772570447105216447300815596819478311280858581562610541043850601754338471018441287922983633058421045353465004214775558620288412747359790447955171973604730882228297980517873665029700545706556370019137240522217824887154344299517152392855202943261299438670600132328002164699761407976767840733047955657893898800535244514810941357426318648982895699719414643991762765659065753571293437466979420239751925340093407587975224391318880664593424366284388018010586742132021860884786202058733922494777871436946988300319366143764377379587503568415677356838287173638833299073045036066207611371901345118186422006201828342086113462894177532574651021395731559597853632673673581253762867070466167436114286524232025000142189572671699008217905928552058798572767656388271907783990234907192804067697434051467140240233267807498773977341660435199237325779465635174297040502355121538954447636199482120121958312997093453717612807566930638190658687372239015219485825184322376026176688818823702431944075459291497272138057582304232143105968021276738626882810283430353508740131831812442129912676986813582451222651278930851451838919831634260453607217324593953924853220972060863168619160464850183451002900827214387431917751724936562810916189671348387844449430462070758002090072338007881453121232421020036377842309014052530362591138315453379778308661438416654135234584317129451295705829492699927812357771754508388953728055158077131004691762026014778303889033326184513920534529380735475140109039252219527232038045678583441808023098876852305382461609427626701311094624594566044640988182535979024796018314866632156903248387161370607578234698431694632338797962689472218634019062535058562134848271662695795563609734600167416439793065204199681882769120433563638044783947130688612231954024951781876755747717827072241447351055928468148358076349541371779694990737251402529663765496256068060974278692486669400540264630323993711419310627455628882097854300903901047873774168574937359787737413779897268046979764128381492422121858864375850718556786897969101766034852629328209584007658111750075657663758536245810830850533980059563457776285283860985658040931088853728286642941928453257418208696879213564253930383691508078524740158519032437631363364108972318646379031531527061807552751603191175736060488260228415394122221655099661145717629498786662139189390142834749576054848342555298383769380602450778761774140188101027014564942003897875339118338281555956709669226758325148078507503953711924705088830949508279827996981804812333846336848867226873096652428684199483512615600884240706271276770474889676796296479398347161194784305660775400370623822752015770458741742535958656982982242387894799583394027031627112528828751688681660569538088125473519313413128254108833541190894300495097915446687220962888984487876969805457053858362322466477036453987831451732047231103180878315330448957464408227952020495405060136350015729887866951712935530258319575641395859573656302851550962449607514187543008101792829362530783845863195623006083123100618221625714835079736584585599922597012203016609200555594142851130323234427881226914353490685358182291614371744954120959333834051058977407432123634756339546472347261403469950532407080450032604084096980524277967346024346818099714986485939303895434718754028648225693409589110523099534890063533306894779741272371171738841794414863665052943767081989841927048702539187754410390471662147284375472652635673260917799565467697307235916849190197833760141273083759764815284347812161270478101389601299969590521471071580132552169299677138646028076982114291834364265259115798199428504941644479468001322530009581852719690557770162803523736335703851655377820419093610509723922284493299770344246943652329828537030787347072185949167773946947459417279119423603236978166294621373459135329044018832045133717779035311256397310819712438974583616599226806903301695382722065909064812573873238415500654881026456874881673290252039510271520802790995850092255008968906600569251416179421396772752522017365571527957265223055385075453437010371425874213086205520919529461627740439216666140107034286352724957134894732655295544998340547472421089340409439654215601875724816878404832243822404890699883092035128405479872013906364518710775980375910688751296707017016285430959527638381047060346117913971335622396163706147826459150075590368213645986052563282950734819996288470334735090154717191065906475229881455474357397853685698648289937129729522823228634274358657177521447293372810755876456117549029599810871427749822185584665965284523285398899793948014478318195022355853118245758914705342670007382188545683198488362958686171278248763923355686541501580941943006755959962290233658073603712090772351966653034312516320203384679425969696453466596404712536159824784430853703862596672442779834885592027792693340751723441928637196440428775536179201817812412333496565629533110778875222919163563353773926480016276136268653464067134401681158586199582183372628274734807550326493619063312370637309518754491747478232339572685048503875316818075467137784177547006607763815892696853410269264018743288368741734227659815563927390697951383792889259960755139266790091369401096824701761269476964644934594223009852266803027270246423615752542605902006198263499475109344983883494679553781331239402858100722177440047020687352657922228911692076212769276568595519733345642297113900784885144810455541952484386469249310019132951858830846511638892568958896210746778854014270747997311476866405832968274132271939869528049707993773329288688557429482214454800945563934784584603473082368230645822462501762512687987768548123914465105596997753434412279062920104888730411939318397713667914835398559646339328597446519297370889137012247691966155183180907526272758955820549266086508155512971119119315870984651996828970276562497406727303390448669224632812904960696131884380916487950484890387542026374065813531443204904657211606912183639147248267035344809433113089457655073026854470914484451801737013259939233030673950046876073499124770367622976213516900090329175306177471206268756035860578609140419041640622379361966757578157191651310747258499755664458143390114799276442136116548235873224493669147083677864974843047708907196367549367486129252972678738596679563807808793426800935888397154496976317336432919224304641990905131896010685148701123604021299660816564592168153802669289803999446452073199751541661695109559097497558931686258099418084849136055314255258063725175041667730853340205882126301397815472433462707704590481453394658360557691735861516073515796223588932364046371090407371440043534236927888363641230222747783011908907362272528666985722471054891596187175703679063370645833987717052817178095437791762959667962775545937606983130430587170287634600092743829709495507492626984132789271536529017629696579675129731440509310524845500414746350005254858571645620002841848988403657733535680238628686071216438274643766703482776319876233924537572820386295202916200433208751731584978130305323931513415457076544524521252952436377428195710190276634274585445064749750446424254694750533409453518644498654797653226075687511016451494814487430369023385088259396184709005195159625584130586835154494290969574208281422176898329657028634503639093333592794160088083220139546805143918797302184989632808598023252655100232336659799228316260886713618575936462621039851288189663605198276349136148943499663510027557749385569212367271073296090857691884463530028009596629388212993385009726872035493729735269011505349247538561384400561977070270841696667020478399008521804934013457616116143814577272590372753301252444940483712341636899526742678359919587590854287131706706852899346160753662564904429577792306599658108227405141128052494821549399660434293267567987289433251614016067291792813712671618822954630353441556871615167720529289544517132633464833185806080213865527487670175149786730994260346742265275804599658536582891203515055989001516293166406519106513655394971705116514484478940555939586176226977380601057670163571221073468701715741665409369855433437383147329037312500765946669859742321577720102200401398934440882209886146521010570680021269399906449345618987190280468271384865138903904896606451959436520645109787970082920064533612956281714727970382188238422542508328847027481621874823874131562165724010137052114330600308177082347556065475492362406779246924876090171772354702719038157666273603055671269567120427723011460936264257368172660885593638272199808506996596059548631979253808976636053991902690910156463067913502931653750813317125939386091734689466969450849623736629386888899076075155262521575511722584512534381440717199176041363394252298225533443260843768130009859065098752483126567773975621780091853984198246602604640094915549211401823319219302805450534433175849730055758305600716897194129689980908380853015793029569939359973179744552436155249029248897144827634879920155003598002680717124625758825130748274790807181514589156822362558523328523907161698521818421382173968967152337997238079763157253461871126296304795869702433902062368002446434149718541257507499650176155504807953192549505694195872314229190213728657059004440854675817110558833035991621562430489310421253998397831309257262809403052113516415768508283496757487810363025061469076365111731335163619364018574695615226174969880604140979655830448885493154829390982996581149743817013644018636228834314192113247229686678027581680295731169075901720271373405236378122480687134073435687469700249520494559531439846734527508736258134848702152325000871643040239367466011745980690611752241320328314839036741896440745248104610377031597144019489270557049032028000240398539418724878162084228737452372287311520302278839120324699289655522958398065695704295934731790272041673501151112209067138041680287258298376089114607718177437089737133085783123809831038364312225086853496276709491708519229523644022427394544845414346593163713289222940821564177529222336631600705487156000274312485234682760674795441986997509337483256958239963132665403043652816807850551038815393619581723331662016755992827421159358293413099656942633095106828560679625385539067096000072873164556459794754081595732081589743488319075921161820085367889657566920381968642951380110770483496332758318317908315470532791022793345939488970722794478860504050676773548735273241380275826433555307400221395013613974502862546759941992816797488039635128274868153306140081978022146493022159033084567123830993955825538349608795036886095451629330097502840664210578856238100794417970937416410426255688003839990473552835344028463394483507679430538301913321044887749695621129574405259355549168618731702894721078033844297365703703255417334929365844340232500146323130208974323601324317611329114425131562711695617267653652373553099326492711375583110529035839729561492116757786880766061249801906668307587315884178670290200931874908999817202002016832498989768665866568581368554881018836820184249542704734960781285746046138818046135780621622132966800077275668928520085596272443033256529144035623613883583092053241185008303259992910177560430003252302541448644995239287318507728178876703177581655658035591610659338016972615100839710445885475372040293979773376798086981068482297563226693726814786841251030440561350498931036754939629807535538216869104737628443641377922743901695802955651548613017064677250121506082799519943818927841358298503328429832214984531333146745537114156242331841241428518904928686402968882938787740838881785523755258802700248136595681468753567149331854038948425057360409407026398865575587932530446742111843149571557403967255199665976744696884660096591098750046722864971723891544245291574415731877599050412895109789227739617656790447200891930991329033172043705514439110213133926978249205652376982145972452066878754691144130623795925572751732681150201562179684230251865664946715935029024409882866053298364611976515302382819720422804361095934523547930146364746125899665827305560151703943999468141353576997960035591133116833676033912211852468713666615229197088174949380146329207921221274361101431189474165310510609191680508000943925452222031171870924607730309716115094524266492361436918114914274206266761008485237882719083799743546654179169587954358380625737531745434427984959712803475824157675411693974554538755686300586327979063539135598017266908429566265528789354581490539913093333888710868123316472991136832987931227195716068012418493389751503749615041346784560312078089983379259952454915693301792119010940880754954841592276411769536064096110819952744928829482953834664809966689703883592336256569663709314273093162377263526942855060021292584337502874621044110989795767456198136384962793269479506834733985595852160733000899148797970979562228008962345713862038763778718145290071123935651073779841053705953652856124465983123793987469599903333142484083653694502513993605630845303701788730465542253329790304341131492271835442362272233284446192057958265229193811969643497533539645291664519222090746116517332902860940237336860043997087964053077362483288151029005201265397589639405673991546680516661897263510864597223857852707770051575008337103212549160631316691670612174162033117253871647405130028739806576057604680342801503879907976172302491006118422037876593050352002997495049730115364167413715346631638661496007299498161088740463143823661650749846813199358426474168520286346235774267326990802015763308097186615574462679634822848909660937683482775655451645092728240920450095741631542038312259134901532540495785109510408989501250040611632656471576417720192656945428435495018625731984592281155886707876525316550347793199926526324377401712689071477814990355633011425720880235402022080153943702042222180564287118089436976430400455272731906247650100426454824189827544635301495879346115317710336100650441161732229228647843531466590307562920141442476465124482781166823383461711754346221735105189734886569883080772824006098543283345481042971938111686865649011634849618745221281097195711218966376251434916766077584412148564449552643768288667378662220462834779493808860249857101791904539042161276637910665138985395138847520155748885899505421348738789670457791566350482730426472130874998284059990490896913554833144605023572933783878878781612722497165877573776129431054457338134384357151088401684092020778110354979297804547216086272359234199458686819072173029591684134111988413560714530920392152062383451007731397128018239384150598985770978560407499994369343037194109773569047678943505336446349834214346401969936370264911818917221029695264728928999251186205694037812734212438607486846508537764738299296455992066922695148918916721294324926712151728431650358791643446894934565548738204119036206667657060147278582346453201129079828507816965356969797516563441225817710515106284442400219469156645842724575940950389253618818629267076859856526034434508792747546821995667298841960867220670125281295928993178812872457538730488830752079783531285502854915529621411571968210959921488896549819157424643211078949768469869640638577237869089869191730872869000885391192229903285951488070732206615536189631688616829114865109666394822834126516428144140662401445354190734002142537590933554370016027602589381794949549986801360351404537238994054184376166843132407218715998207060512341313456768662207048125445054332496664744648004422212521999997765313065760534274611253019998970292652794257227999813031860410625840218288824859183995267275697967505415485736601723135096610998260122102180894203086657421731434190518994080386822526880819374836430977059214000026594774965441488606186412850266319041663451383586222502852012436903655252417360912721646525110867457819074733248007655816438113903692782926132023365333585336832320181410341543652716113205086191807512329247297427802211529382043709361709686693457057020736171044687615799055958605122693229211493663952274294024979450128393093488735248337821750639318391092068406438818795444574123259200348115277567645630629689828294769053353372259005460990189626161651444998045357405761407549388803144939626631264039983374331750400293859405970369256523659263503068856123839297791543175658013802877418564678105628856627062756770971217752190146006544670273157074957860324111271868374220866255151300776336842989633520067304197713001172728460818386913414369824498070740349881681093852105338779888860877022388725009066629224197616493531767757398408647803857783054227083445756016438096208009617111781260515071996334535531255393035631148901021977532548553624769082521223037192549436620483313545685629197145570376730544882020229072330377236291348232870408474546225937940772804104922555926911371203322075080531059911917378502232688902616217624558962700458567609123152874403283795825018951029567517850188409667101468851787943057407280193656115194468898076083392832000942478514782567216420773260576210862594440564280278011071603143800828145311678483245755960495387979019739194719938144529448592180690470978968574519635470160779257434438416381881969157757219240187675016435133000509231253164503162442156557282713786078989974772567841347248759611059785498753183611630852719099357295215781845467905896081849869668153905578329035191167952486789221725782235435736799664555706328960294097032290010122947127670212446522149504367150322493755430629638917906286050041543922937337615707589875082739591147470917341819084517046050401633859600201072356255019696342851399977282351828292658830080490148083898273930136166278114824920361844022063151565755439553720686648205007161590133842754213929186161895923150851816204591318073438328847922050118410038126672516787647790052740036079112545573809146243669454259364627357436176576293991232783118846811518062053776496610103621835448346382289817065899274026355411003953199783054982108699298971861677462201599734036138210038097103543552944617250835464698912816360048266155856159852867487917024865219320746898160481072642235930620310758262029977385587978254051743501296033394553045663472775874056342122545430291295978110689091452429890688601036710310076293169533952249167953170150101529520039479913155210708640759495691058183639442214583515269247169943990092073400098288185389685073406932030460900527560035957530538742785615945670656339712457855995112540085905033555283723072391349196817788637174285283114106396103977274705295970452659284932759227717146819079279111200265216754582815473392848055147773889205260785839677203645189525726596447612369390746729081775528439678022833703405988121137515883921744480072931067036247571792400772994784820479155586642479763498077695682896530052951559000467339002769276307184046636593513113608380470282798954117018389453751571627826685253989481860319921675776192530449295536744621591697721357674018091871021214739382336150843903468908600806541465541130656822493099496022429045189699708071324562540995446023791547198240458045438489941956231123224331453922411947066605410844488452502021055542389454209905402478490365319639113315071336399995197439251394031422710470628988039089788703392661590170088084545753286797273447019624347907925111138877751984418902408160247769539433841867173735204148928617293057812900979466634392681418725909019675832663292866462128756156748274030647970289888160623763734214920257179288606916707946245784455925262388585344471206406804152644380235665747309260640678523054225797022070280824920756941479519346060665511788067095531677036683898186362224643208606182241770499207712021607907539776977372687658653791555902458220399343711907894008311447322299225591237518867016669730630215662377984666893623470194754537701144134778572785634382346065371385589012066147355628205252457758821035565691180102866047703085283710323145725322427572975568990505816846698865754458573760053277681706007870012234632829120514549122742815602594874076578950812835548675990215570290789424028972715644684188930372463862535974018823705356207976303944047154461525809581544967603486077022872581952033911565228400486712205189776689424652115190706011887259684847756824979660574941203887178857340323582087181466605080963555853270250193560485507052671496002982440108835814360369628405101447772987197520451372017058614420678049822297592339556298240425383698426006539594090836411959843100520118161573848447427991454594381846376827709721272428546013363518407191030193952312568665969843560176494619771367476482394898464225552546584921237050338717730253407382545710831823286338153194331657046145978717714295943707602100612769247940115624876269887272036323516896860401431321243738101714225399495429659533909443881956987890634435052642772030520104641537375067999800748907148844343612806229715449473843115327295589848173122112501816041683652300458497571986386754464179691364972452018208661995778080379526635721274470762413496696026754290913981852419586330376610299033745104031253569060225334730786540971060978825747795705304476406256274274083037649694612767741326394541651472838191000961916488405442711788277319109161438746298420268644190980095882210164674772837290812438867902039215693388495612894892688371924942538820220277222163150682130843638565402234284165668399054454227729333402715082604841210925707304369514594331257712534958725890808431547204075456708059745770417263841859878499238857375793870682243186059674671234230476035308214517144672335736081627798335526539940512690029471669738603201547930360644849515842407564596127472782453489780216391911351076158237447775045238630023075142768966464589408470986473303512539265089317360877077374840540865747191845623319513201246540823035389527664156415098445410480771477201383939418679577186574802275492706496275945105576424155582785390478854478520951769558861210618198343869374268469495730431310163458849279255502293715615770463496723088864478766328825308910477117748865359986376940261080843878885285841926963664049588685928413331322480082030184402301199853254176414193600472001120278251885493075519386823610930915509641863722788178798030221081708059613714415565837116284753182203353140663617928815575563997396291995362437251092689836210260337299423311913751153370301811038027133082437616246883267057401831178595408338605235649201663823897437429557270072468832845513371221274774317984634229071916179167148000287528975685398792679819606892978751938521712552204694233546488171454312621525478272657715581966747286925083989519784732687709736749942788416856845055009780390093445598986786436934273541360755775994395557037415113940663369292220924732535283710939585205703044441387663519867982126509640589326447984830669362195208701253569403068396121526905673398951152473989286224560153224045403928899745327821662764332341780901929262670947770926302680957995415456448211973808645816105792452134759432036899294888281324211812456144808427060873281331129119081902533532794032240273311688248160773057669231503881240237199991081644447991678967407189213828268945181654855238984589640712655001795037080892381220335916493379206248081912559222031427319671592113461566741897379426526530925026800307597982003888895867893330461559713003573356195970020565743332697534608258376781315720111099501251932693597367454641839335651582334249528975055060843119322512403958843092354813011942283848311062013950161656503186026263442341195440127211926770732858669456595189785202100907558615608731357795594537248633030105546980457655695437365834213070991940841285328600660365028405015056102553579431246991096873112909692211669662242299793494234708420136180358657653229159402535150616047428709992517229785239386214733162886279671124706885801523044852863276708306114469915175753332943897504194558298803553213009557602764789031825816118219060263300192720926575649369289746548594807225614933811892701044035628323076370057055797669297640554516479621458282892895269070154742247821377721270619710094149075083980460987845909551764595267759081152451978751415694482412772980010569527805687433192244911837368984489203746648669843752186835372978060174690117239556377831079235703101397712934299277509316480155939757779806928845858567644805762876311112669783859238351109943137385620697698163897758156958081981045650643433401569792299049158259389785302183695384653114383176481898517082998860103236676326819365019789834050145603906238573829629664109762124206424172851139255555247176001950051605000055666292886969708358307509445599319387669208231182957728619881049847021455558917710202264616074261502923462724690909849167615234656497687169449449309535143765618713714884279109803733397762109069526775171860436393242560070639240141872632332843020453094018161184440959219224362764645660978232271231077834972031383633231195474368799122109754008003976622717383301900355687068482602233538009972169850563212311634942795951548019626130441481877480678311283703305760573263174497816206250565424996744085805647294881217891108110225173003765855207973518388969905293554903838098125644968306762325195624960036608651415152688048804736397817413041054234603875897224425523244180539314637643700450127618227664760681907041837713155939109759518312600003558898954323089470989787593634296095600235505653348994612360035638559853513571795550156389955148180423236737865470125919885234871218987615002461352970178686081485492286389322818221379994269734231726692768191509830825504816312409962297821707279863059558499293025105520383767765277534603800518478804944246123908578641630997020331827016093079952299542839096994137329701801836377937999004790737530918938760459073450815777729595574828760942705774217805016684972596034317452153299078035736301179626568822479769511070787490218864345331650241797249462212947783036072989476449008947691927117120932790908996980045876911610596087640555079833180949796521899668787952463326276258247069599587365017345911944675509724981071189492013383356159024898147842538960921641942582876130941536394451074942499542966070444509588691266155716159368669857505843427894892110382907459778740821836709115501322131227104352666632766683312135955401517093479996478183366426166550884118025988665368784940172165208582726885398168254668720552282406993959200166232620279613128896021433549324835367256619405606446142188230219659721669608989286940225187069822240978515109639599031652425534534409153745721320395142667383716978529619501963363440999944298755820403335687009840549447181247427150407010472056112478973553609002473024610656873266851392308061493882722787288792819378698521991148950893167263016260738821031351624698175587843428037042765645620561731460435663650082535510527501431451429445383062374034380762639367184791378899255197608707237103405378439284446143470118332165683377220658888871945214720537838582078190582536809450618349393677963766867190549769060446098215766067978486820256545861820046609676679260131450063627842621274816131404295851335034926792464643714187643482521893287790549972399490518026300266599173799678137307087090242135611016343892002532500989941976526101628451023333359983858009190946530539893819682690195254037181039604481488802672270560958611716379253166184591989799810767436386726963296222130807947810333105043233583333023271610670078396167739982717923648182502470335832349065645498754398876456937440535210316791567526290299861287159935886927887338024768777341361075717259345219347971511959435830794022451123373966563178548376131265998171669197173405540660308895470989569095934385401752372659262366026671325773391625401076657786970262586794659137845711759154002375890593972524476608199477940614659552709847434061560299659192511735680191012397267222527454643260792624429608580466765315949874948763622315739083399493308249521507785727140767963330460305929795207728728233368369101025818318995761328301660743775248025707610182139980465383671609801786319211681639037809354668118797281706749121620855727258541411859360136308607048767548190276361219773854172746089189131896465707511182119200127451579239098809183601756017459614354989656881010167800239162855564515530282498248328849811503319984431365358329098244595744474693723167719959512538600636805865104631688542288313933139567651653231762367373236717779373118425158730710960376467133174698736226031853904551178099119877250639730491142437459891097724648912902815044274622537829869533049155547820077371298173514106003718141405253766360120936628457652232649895902792632520974287222989700701037984510774571234461288509906903987867662082370652312190063494561226936592076474311021358285507118400406119264403264166919821700455943832822310841551154097281974590712487056492368904774219166154395131476656326858503976057844174368307111723028701436603390302107384177748012680303208702377838181467846015272129314237991116322165063366551937433883539882177430363588339136628065039738245637103431049618086971475929755169825085043490791982406948835001978630413333699108603294454219375645529951112411042292164620745368722113188333776118115502096069484286903269207406090556630084223828670775090338974938677543945307523971054097965336504810491772488724296145798455621863670155713814006748403743329884620583179665527941902680203804844590301287514989319531847731690770611787542813219512237162502035121625662269253356596874387134444682140685109896102560699029818705809675695871245062280572606455094500571880150282000307264955898864861300391213342715341861563789779461982102546680562275369779683809995592743329084232998569507360659284534792832780437175069694172705160456286253283579312513482746523279015847143218227810580714590161554148005743127471689780235485399793548671817316807177868683310419469604106097473064241271999346123363556974817516381983826966488830390554815875638588752744095304398540227247936444834778631560407612014575384761375840119692498791312331381539374537150363530947719123255103052195009985095566128428520804681710970756393193643799962997317140841970493255693329221066223168165789585460677349230112623614200892920386535063672745470014909103045206944188015946205010393546474701035648209940274866346883653081032578920546669697249945145402737965920497997124029875353579042435679842238285653540198389116577027376221735302850387403857679171257971537696396125305297585291438156719617331923762683539432670747942236574994601427613426762799951561834498009430985027247402507686313822611363921406855326133710156041565843479545366195636618173759727063084107533603334549228008638374806294519997697728602403060763210444551537628154869864825855568202539254503999365296002841649870246260629141605595156662954281930349154809981960761723845641243878359144825144721105813042332438676305597771728288786380270693854413576804846880921527447902685512631878892722008611343376053028556995142582138363840564153193682430343836269155612564988795383711040512007538421189085803302975662481263568842228759633493855344696801987890265546893013172971488378141086457364759151755735764137703185424582087882915628470038497451990117141840673406280315376181497813287614859992504694471856425101387629025359352308260745628209160095139827636959864638114882811547208950295002926038015019969372284258569193025531476636527644556370385916267048413397709811665623884736729627199054335644455914163225660717914372723358473811026782268949537295375485456431167082283851523726823018008171003559734144720029924320021010707019448954909771661721217653314190886750187276966169452724062205610803387308107537157298359017034512529266150210844734687561997124276619763025687194918159278839694174368457592030445711617808980697334901413086906830774214190396849457992461460093599626038039248955730666346186506446398109319197670293966815181342207964426721960174887141683448176361989071018108937227572192325068179780260171071197921671689894638630793110762947222910233014432606323661599931088880196004234044024667637614059886976849575066406953211546127521525260003769421909629861056892871547390234702206078978614405784562125180995140237397021588711508141203693779642172764771667918035784278560701619630396132415144409728429170428155682727009885509184287909072308180715659244582738965447361241442403842410754510259469305195699177996774573055182854762710951119218794208427699092515310272856373753733586234408558683548451914977900383047039428480350169124364669913260615743577924903851866777229580708528973221159258103362541126477720260200251504797740544954302940866784714817095022544506286040633091023228599427029237219985632789231543954347583059528425527003901736907293037362209887036416318107575218228614132133452279631174757632594842011492879186676039247699639984330480939337699014002581708144720950051680407392176121230203971470180498812805207963952218007640278795318872025558498672454881156846059431265616561428430343014410695926567521803926620492511918108156753526854136453601423118008764921023146367185755346416523366542493601247559250807035434250527008962268926458277445462069788612262249616078414273903243274275215421173499972970911511636123026700709827947947291307298546122731762799619032504553266356974492320577362536867231630219993029115106586861301644150371181791069103158027710069194544273124030410094269263736757448420870414222607779881953240311693089312915864862792056081180641732436189997816482558370102173065921741800449232316900509030229758459551720315412737184380893087553578783113628374831454084861462922546926750003247203151598537427326019314992299015909472040615944811565374601210613097755495562665012743732428613260115988232026913450442037320473916432172927461692434747491427582750191840221686847895017611337143060485125113247528161127522990423013561433962463318590716090906293688342552222887607099667720615085851937494455643664333794961402339706384552727714774311919210933849774144774970075025419270744348587438591239623174095752494281987534344213574036017745293414982818897221475715755299077454809468849286239414353042006478712412141076958806651229512390181496220749700751610726660450751858453365329425309473814788630877264239757900147451215364410349205163673520623200978235490822536277784077036157519821006117520139665280086017402068067932519860923546356098286860406511748929778237273624664181148356004771688400939341588502177709665261229031308003336146105574509056184245532361850929895967869270790798660407466316269326568102680854098741643447716397606999281560162646551163113097127519410433728131782946505939904590283959213486684793295881044681223248495603070207126212400136055054417017861863724858762739759021861300716102394580115588680018196366141971657270580224616589541290015461198283491673209327168586987276986938425130657284652859402920121762174529486610425593922936467814539669229686029394279586820474985709358896480254428439365009941928403422968933426125390070625443386920584196643567624512348087730707733035216022223064046925050558846631200337981779774406679349498682514711339561894665400410717009457800018340374256986228516058251569375887508129430144158241915580276167793777524245827770367800863626891614227743885318967079601273130261232594013914963924641441201506611627114365970197118423074795071528394836090250424074031812284743968995476485884210193035792845026224886258136187469822991156575287371365139219080202202924773440356853224143342116198157940753904697813738343892416236158499600972893223348772886691460790957543874233882953101947064062232232550704726040927576411600368220224750272050308657361872044463614816289766387580344938303720220747684891173632302483961061796129104580013235380317761657859768802082485100213881987644885413930034397610076416187587684986551548889049552149027734919316573916956662222018179988767099835904138739248482699005482673778962089663314384382258604640483001717485935991890787074579412561777370523466997312836505856496100203504500361036288821929248780076010270300971731670919068539682147163268396733578356120111134776248584004724270932418913287085502447446889869991965064015334305756264679188229833223726813075172873310997585466583938524663042336604506681283499959540320432681346000137713760408870905032450139871253233962981826913436099802413688618351028502877798644085400934183058059670736508887287311570849179216691764936963697825403581155152898477687492476251321704955654640673695587537977286425963237061944412768972323875637607350365063597204005974739255662527634214683300721393728209104029766174325566422504802923046486321269785311185137263403230408870909112504127190317711020176167299587939864928364493123091159369025028295448385479621137630117186272655959612722377947805620301010290296664801349619845530039158941029383715498394042279960314192664564045918018148023307972269707616257140293019648391509351288811977372989579379469570845761341828361771557663151737091098249996017299546837241809271441515815548806648454021411432912940844153406729675994762551932064612904953425599894970086471832041512314171613522369706448325830776563543114956917199708816798158183391103905690489894945700790160605562034712545252500895798274846753419601847014805144171492692279920467779731765310164138133405618304430600594287111909624832325390253183166190430412198200386057277120785358072870819463829217154950204734729058320895035577477742507069853106622050733187340172939766337666825091370921826282033320798627156699087226474914840019486977088548383139027830612883072101523784491905712779456846678630357542070973597012656499350155412978959031275356972488510184871065837154719189586011588775540279529497393597847798780990941877072443800482414702873386321821714304783672635609466615764318238292732737187574966531156726311121758592678545985299568615297409773356605865969677876042477230867442276668966695539902394923857387783423673011823610458125291540727725604385238832849897101588535479321931729356336745140997321279974503625909263519092831255799935669006126066562680857495965641740158830685327013697032847173581317225377145572419567646941609638307873697729503285405489285514007137032920639095337156144098096905175651478698318956265979047970398136097895919365028625894546525819255833990195414917267079442360726869467899410438863947383933867298263172068408904184908238564270551856665376290156507313673852157248982526394103665208860465732690936539542081877149190633016403129189004771678528006003216766215869939539703541391956627334407465738268534814036351452448736235795798168588207277922415861185872281139971230583369792102764477214298202484784693315829269234570764835562834976111496804512251765851373549375433054745456874703540658829840455758884795361830875272463756995156649021672728747812955317208927324882230496356285345798235304533798377150258475044092845381876939140216810936747343556830686495501861650362986941322209346869207672241147028679559456141680941559965969817979347780279918361539093838194683720681971070558264032219307015046139663672362835380516908346152488688407344974504101359264552807619598528947915592224785843498066732187709230277381519456195282051523770702107107943485484097948951759523543770781444855455389212177628980567084532165340819161992640131033960763460235056030411875794992863942301021108709278506766610678978267945911872057859742205302293636759177589107967809000975194806300962931212473443255784479470571547646142125590329910737044080802784156897279017974621767703478963619474125196530338519528860496084548279819277920286567457252845475819648581257734489063060779062221303287152799312062874703988619293141467237211755818060082841702672192411369680036428306143290614336133291974680746201110868562471423188227115004842940339601878027112419929642702269912934161011267921273601049379362709506264861702811500390445546028366621429362461361413285116644424433449136993321453659443372394896705406025787993000036651659656223968779448036265479227284997427632306465435738749032564940698411687699894518569118556555364278202594324909578371891473719318497486617833854391981295958326352470280345274952209321444085835770999357186211630924811600376685606658372534373399266613448254583516227169499819339548253895115964680588804174624474929052584771804965025437995072129541551145526396817909129788102702116736393993900394336568375496871405339358960336959486162535600240006098578302466289123714082063380628988364503560907246153730755678825339358157254299706521057488584607260682115759942185338457564397336100174482693174676203777083974588568540384048265352219888154376700528781075652676530786289313655952541391247741679285636282622848280365929610540501583569294647392516348381635208235823770616716635252181385525837569886094671642624522064619840844962477097997844346526687190259174167927242899043149521969209359587350492219201027838869921251349246334584809117627512646851111196652867681665107653281734064417872333251877166576076236193775431941930930226964573492837606909471440123365811422993990547314705201374043733412146836167303429283675248444137626593406003478791120553992880691681695231820697106204895340767034877873961708888086316599666701216004857202717633244830962880684783999883253436230613317739885917015024132471401706696609785973502332778004995762588509648493210174885975403327979514630211105647425157141066979603394775428310365279404463086752715479766141187860252619120204487268956853846228019209788960504919527016212114774801032160523842230581383310889865719251822714601484498908339156984643496748502035262063224018151632200221509530024952311437333159236653275428380425069112237280552068438117340298084802594953175266151226015663033078223283668217243065223375338320420235667802503013548384807118178749974393208070378738012208385638082925093488172991941002793077879607396446570707807371078054663287205539055081282201726301059879525028911313908764780415262281152167466106106692738177454674656355149670779323026067180996791754198715855227784397118243297926752772036332297548113418669618316008611623375272797958489586140082307915504405633931494519870072344698836647166578088996292310711848311360802939855238123088660457017364745991070073050469502337764741375696538997215848197336082148906247743923878217798451483201891958737362412193781602973156078310419914589507239599497056078644192865435074345370585293200239175527551623855749742595518440626002257037722643222209318904780957840346017862728449981643454460581815045576053338769389480208594165491251789495134745660381814097028164057168646231120140598470593366596815549533598744969064627032792910238936451340031647345150563125108539952635544957798552564975928158459397080509690425712466342183213782204781346699099919200022641062753096701656811476191418252613946416530449048888850894086633600065371434276884587573061788025806250965912953140347969367680618398310896960088131171983392847535460214906592818462474237168007616501653601664794789366352772638444078796638224260237869548450884210840605423042414565873776732620393551523575421957421401222999595632038412574220268987678227004675982659918628453765126826895782040055488105752003060248155944953364039002596648850768218461637558875663099282396202987171679495600104293431385677034885317655469269111372105124235141123913494742537347621563721193630163713205053038070044218550622339412260212974454758236073135947038602701477666727863877221222177731435439210428215080639980408117652770426551142509572856708485139058584353623874302217163937022954020610130481652586958867469149403322104026376685817712253589389488629274200577104859066361025098045995663187100223422658653450822664280391919177879646060203613764730620718959271268945919880289173977055965470947103012952803267925035610906855268915394658770699853185398017474383871630174984528655485032677339070886115752820403570125644191178678376471733767253104214611464026507268289100395014971552124774389803837935490685278879223071436961322846368434118669007926909101334833726698873419584638011905112574981515263445212787474384930144834664635535314196457447410901297077572427282895178299949696211046001663925301180582246589379674977833608164176801413089415790616358058626777059645385091495826039123577143922958246115661420993006519079449838663583336359591289064351231952237871867320570717190912004462764112787562459643872738506463506647653867400531799095284320093252649726583767527375102416036725185577674190237739962754111397592088772806196442830144866725246255938734306649468264728747657387430292201263442365067920657800521095546424426969853438224152898110114179237223447372103462064921361767986733232953162816004601869775807042193166148876668237107768046555465320171536140288915691317641782986886198989434451054998353518751592513754653786215642978782456113750649173990805989093668448576475321831036065932314708434225861271839308599174035280674333063174991703350285611471823918878185405086097310192102829300289225045927419269539969561267503138584082579224877997236449746099464017918527924621423118657076651277216252375440703496337157313006207344208443048190052028111542974544520024810757940923426613207164726000383323167340345761085195972348671974690678071336711213316678305046916195094889738686848219724759785567725190768555180582863019857647793341082347233549481452777092935551436235379166091384281914306197778998655811793437813670471639023888199223909995981940126971365656756071023142900706190176633602616880563070672082240093927733802041579055596736742939045751291132206983573627568718848885175707674483750964731157137784615430171423050412272163569389081961830762390989787554016470449620468439158660153435031340345783538124658688214471540514315297442715500876620542304624137373499942067282636852799335002616424789671240913293456706536191417877729527846100257205786927412902968399499829815904605922671481538484893221788566678907614454107384599436235208483739382279208559444186240218142614278559885018835937828423063891381011340196918587314495570426014804383943598616413851424727828968222383259762682996218117120922156618234030435988102103755522780401134702174789975532781520036929946179280768810944313828638394812738866720569443755865837961134712420496473156468167139410670937138760300394352694085140308440594604332507600772687369120289071164011233983124441295942646370349475686802110279218891046900282418506798416679752056422603851391760709270034607453043289691743945544974283436563069861080799567481666619979271309887092539060483721306208533561738994510115224146835549971264211367900283682509503118972263828040496480969725627960555102272530506469825367476659566795682975563317549969067416296499188544618722632594977505737639518360680346150079225468970524338866451892251446673596174068350127642432215028848403945252589288233284507542886769700037646979294689935881874459755963676430699966665782942069961443555155093404646075650905708640558294194664941439353313288963651467262422227324062634092877082400351027938813041516776885177690056469632248943472445197619313217977652871192138961563491752918012851409860736666533503425945009274643119061240411512658043374636883190729720416523904442020865088384193573018598911173659336757488288548369667904604180055572608889941916744286285730868467524897083843850230761503077006604341123885798791445608165628678773091081550331506242679257292725607964462232493862612637991595212137633838383133157712670044881766725148522912520024975275864680933664611632212099825823753818625815856576615090299495789342956500707633456745500028086952635533430153542125724543818303724414988532101108527589353455150337441082559078030436736502974612236394640349272941748388558173595673063357235303240413030285714822927966536805928269882602924891625898514454105632845256128986881407839345125668827005986059367576310344524908422566908728815451811619812011700934358719458110716758942583477210705190057659224570601338891402970176370306258885944616121006650422345889232658320216286505010493424992031566727995030985990720990236161887874216243312168115647359648373244477716678445546805379977666135650347360885216840874909385881507896354339392273209970386059503968385673486838411520381738891525468765155862866260581871381202923045770781495921676124329021474519330941685868066192236175133748206102179563945986089579360075888358482971611989103946144708608813173763270572232019769502379892303568431605938651612579981100406619139548094850978838488892864656455121135578212953914815270492832279986346717290858811341121479163754172562110589644369430010485005624108629774522404905506433542779295608625802179877942644870918261273045547980340763456390860216893087525963559681435675545263441889033071607764591631525268600273986609475576295592502369362902908872173445802873448176250694850570797674680813549054616014319887874199076508491820522735919814778207811873728775195872667297850402034175402530421502975574824639238144918535898938767582466367034663213123209083849978362921458463492605485523448800753145030993899008919943161859636305292932931605249699863785478491689555965151129006715138418837033047467477924502870284019916938296033902589776025779346041716648906675949814303895623467727049676359183900146495822456005444869432056084257993774463424181176097405231748040890899638491029183178814119648875281644590215864589744060467563403567395902224987476492631057195526087121653839178090990370541849447915157038215136061235252370466475442654867842297762183616247141094904775634629024446555964502728356289534782228287806409436875543432057901598439890257070280605976983295939379693308505790335516339863960484605166233326266960542214877732089987385179574342859991160121718182309617981477435217122142400705080920839279562507986625459947846817681290054989117367780240310543817621520254210129042746573878191790084916817468347366315944101388991876810988556147142500772958416299228503409140999001414487244311073516493817496341996735852212264229999189641666981627481526323590592207102136340785225888276905580629890545290839008116039582449249183972725164805342253388410850483706947113735571161178250911361258735618204887316211764988487828318453006105774338892236892328389317531494378958807614741376712704174818620357497234681990580517369436650969888623228605133260627967162220646068143565598110211033731801425482235562722549252944569805024997684560323817723421168562579195999515070664137697477507475638716819461411449503624412575472446610117085508947143340934225269389930957242778038731201344110241518147396230876189045733804627436529659225023264725418701798221784793375065017490739563325427712157927474241333411343797216153218662511027199564905340568337541591304745438677439797793732670949866932411692567963036643237525897805786997283588478068679136376240292541424765054048624656798766927395683527572881513695875779000940497437338175601499995716116947566544345084106196115758074929883774561987150839180852914477849898603378814166832845804056917428683932617664523043404594387912148069465269953969861832632013981993602538947847154527472871877095020768086839918139963673302119509846438852961493874853132275460905591500800130036917292537385200469087464366634773014392868790155860321246470489289013885021638146737373398251928602532258128584145623151490179832000376128170254863818637588904147081526721899711628691808730700427576634944690052157513165193610142713641281773126152873778907425331373866364942268314112748829207318632439586604434858652343595184768008812354802788270805658929466695031001577618583431014951491245302335804563850740726683106233549120966487639300036014786815188673759592800088067269339954216167650216694577439886979520520574483112062746741178279380241855628070018887421827365608081972274268211363377409338277390174430062336335927491890483664592449332204714146693456172614553136390062279704560094545750953095950046423917045371785927334483479127742017016239786089835891560886513525776186266374895751550997094276739192900440716750137222453882629614908678856706247788497118071140765539580958122655336901306234778205942006653488776591231670081091980999412558332124288703298568711360827102728267219817955595235997301010294458465972566809950583321841317177278964979472597131880551203732789959862679762792964355247994203283181650675479013401348691111930740606436836831493415405275142043490100456469809114309691828282880820165056488973394782091687866500371352122737558479511234447913110882131970743086222303829763283261703003098869189260385693429295067375637781020028971616558557520208357113013224572629049974463128093830200880226359334495990016579127398533949533922370054131895447281473277666359320028143550688688067989217109647812800042395345162366170453648864399539615272111934877484062787538024309940800704424353871960183259647076118221707538173577264584686730117334597174843465266898540859696093194873859976100352285484566207295093120494658071296052748518538864622768284384609817244020093918367914882412330012704711065547290635133858952654411846318938611929831686067149880816034547011971738810577836280296680384327211622170206463900287562432741128035432591942799205078178651383085593472927980697575283832357288316467415646586652553901030047204349958740924270606158988265621030746283282667194594168186298484761831008247737595519070269738330929720604466217075183603958852822317324924722646423706563588396191799444769378247069763948754838444306995554551942407226602294111806992431608799354175596294117449116086681397604618294937478844323869422538736637483358588740924580514804005320393423364678258906857311241708067214376609684045051054129277570737837927467352492626848109172444691094117682943012972953214019752752745136462349577465817247570675053417720079406393972502775758178140577059093814356640148565865011555051687114386120127100884876850099838086829262769012142358178205218658733993585671121091056322363836090508335764547799682554884291006924650251865762548493339567228859701136263207137151470381972969673533153940804316767658864298110955909493207895621347430440760773706762671882721628896456886732222783477381182049040711849292448050764449447431959244850687812913997717341582442079116331719351048871272464956858868365515586901323608508506782864403347770671028058079285176415387609341306135183246799036598549427725229957759604189569654825624319808376631332867933237258632829065323399127037147742985312135104278526025374814600612701184937556837165061863883988269997807062884043197742551830465937392501767330330643586702856316732371098040613077916102611103775463820486658215219361645030547000644775303479916404777961307454084634813945700460235872865937685936425438395282188167329157541378659573318621095951784187728930383557657385461576635881003468145615796322010404703073507351846321379451635781329229036966266300979424718879309563148329979959056922690792569337572233584988392967497662635801188593442793430478318190732219694008458692546509933942670330668278181670796817375671780863403535094630266594410025967967815345375536697304622946608450960311734822609197733924040442391420142908824096868101758541326112893057928920675366027494802880377913869959551317043093947577939303055739308711903940513292365920983417768248012496217920561779846402019133083105687777559974860077697234636559551558226471688542007498597818821374442052768118356480723309179726792177396703779772197788501476316540478415321556311280382613876625789472975922899099668260533844311052668356283372768016550975123230269916760488543287709340277300887519404277752042314370427510854357262099006262944310447943237014272358213950735004852449498265996200262043429602408338107928261290476052979497027139320390543279680947073824665032003540880684871167301279575160502385120524650542743292337292915805458631458280144630242414351993220773761813086631188646605265896084515553794625488968623145140652029315843413057430004582026417769970889091235154073123440264035099116095399166637846787092455356292285686991068806190048761957713223571054617636539620670389573266885917003353486368478811811146594156617339966860753780840494160467173674252085904301753915202732411264810683175731998859207499025441346990675481262818056373515648820013192488082265848779396734986645935692292189255195114225724759962743141874995286684523263409729025062286186892740334552347559203518390974797172208206156474871556164261203858822226780355913624294539866550885840700797841567754683500195757645257683517734634666683495218495560324616079036405747721805087912554327150955678573325630170431266437874039910763706991892184719434138319722768356756786334955792978632628720560628852534738954212900059409840716926837029521256922215540837410546647159412379888523814179179950277657586100601316860638456415611442196133997390239848686539593684682988331322180182699351568830197793458630362585251043930241677351324789068260668082568158887823959578917939238946044573840789350435078859015912944037813684380511606284960609572447758141360138176658824788755804198096508136270311934838875492895013353088543086790297393127635821962136025044092376027945878239401427458812043451994058822656348010045676029357061572390162342659883944281755889130794460902077112750355958270768552275726003843210598968867671182261764619952678646424664028196647678940040935772868337126935334985329838765636561185193045685213444188339148374274094494752297340501913364256753623311930471048722198239854751994231907345331650845558600807864713992606793139934313329652736932785739528181509820588031553691437661493929262309014395714757353460379247591303891003343189871804984559071601925904261697531970874849925946090193393482531198893822384699372026122698567759902905887389089865604810983522098357861254689364802716430844794222712844259307414058050414183136892902463484206379899566776565715908452908097182778483497584221785319930896760129860958101391755066788113629682472714600235794662141814200682674496467425540445348203186700464823281770071653713103182681259792642578442051453760882171287967377394868873592564573444835060314298572180243156097363129954741590515714871396667016678130618169183479439254878078001107613087569442592082695734026209235080307288728266917783250656354516157762791874210589114083387711914833290887937723511185432727613741679222084706955191548091092972992124811039508269974679589000702709666788432470793449199639514584292900775949657264931554436684818548578428859478167230569311128974534635453723635579775666555508639072624167339884731046342354860295608869854257800124307068585331360156295592330964159454461100500249472829259226174484054665516260402437906070273125202363255444186586652140374160544838402489598194304764378770682363026881427352628453471655586686886677496101494738807545864159806450121817846732688318845360509760787230620424462647419799080433190952980042593020230472113319394266370069999123906092896391374291351842407753649809303636239159095332287878850623730353181165558386304045756893465718111907836934496709795403426008755078954948949227025726018365295853826093916097419414005522668353027312635896222677606563906585682141000329932341481861404165565462679173013000880768824851214697323421203037599443798537324562557691454626878779957812635861349384760462904733735103478423452494944891702839806471438071777133651522068962934975072863885161689146169196675539983239258846057654243679071046503259371792679739332666015447971740608686289084043894077721068205813805788169667467333672807231892386180335943574174368352439625982510262361954733901326682266440075648716800716589257752537219942015676431109080125935736230057815999622708331518870094530558057037076942499619976387815725614479127378868780310752464642215734485877039509262228972835288984274435650281727528659359598790858053137640679123061427148049852319607415473895872895006980705898393692545846938436210843161225020052147367315990433076413269865654452062121024116509121436738470982069538711489979895372708820978140899177521579257284293542431386675140769763348909175868724036494216755938632652350722929806588244508907161361563062862984455128152132582683486174343629394915935959985281890498432333742238036953123938090674407770333167453595798940640789800964855005971802053521419411918525164621319013986562391155181975111493829032524333964139026083392088234499153978311651337651146565671797408618576471461905262006931046149232185915456866698694461000874453807871180320724782955557758224376923205527404604150484451428317662663535509147302680233290439618144930181052715332939152889309466778918351049558921468897453799995575714863390286272313398736496449510436994015736340920586480093784195762704757570072879902866167953407316090526402980112518322015761363243099536677941077207301061715926291790126197671099298883562558032201958798512166907673803044228795916719052736019152248969164736245579590345584039757342126980428944504005132967719068309385273014080166604295961249969571296563870176085135309483310802496183000360832349804665809293638515610854265821750100347044558607226883989764367850009669414677605244869058927493977407066325913700009337595031160505676680623986916655879384394391885019631114463226208892437444535261316118693374819156621690933921359257203122250353782977210985244145039471513823694585510171069431394416012094889084840985463342906614276117122767298394424662573502737284308042204026730126965109082478753967974211465620253231440119669014764752563508215397066717130980224927401325328768269794767726949658525800894048043150996667079340803903425872035932038264580743197532574502662201285378243265167384687396756653419268865176799173552894701597801363983265471668873270425689925564681405902580724726264402379808947206144216363079947028031182552506388373172778680266139772771211804681683600990228193067301164084992942579300163483770860100344419993033917133441199476104985899905548234516800735787322422999391105084725842874054255340331247182924821786814203594603589317821145975310938399055063943659126112433633759309435977465468668336065600095992562631581910974798392221664261135440324058081752394888079755031269362697262472551238086458921151930225260833361621323642278656295523155803001244714215622629649185605113939624227033996430565683977434709997463929362505827891722369907916594392383530314982967519902374119376281981407615065636411246943002519498163313950618453728605022789350984772184055373637750168590840873700381835610932476061460889754579561405104999824297536192948245027167384425536341904975686444663565937835629206179254035342618416195815920856274256656795338292197872866451908110398141572829017389582450610098300108272331981822205037765926188840731091168088203741535224827363521460836603498019026471218382662356409181417544130833900202576839633036763595706567333755168801021408908306779988204367115772011396972560781867100284118876538308670352093830623802248457627670701532414787522386206740617482345967126041872552748602361151068446282348909520416242503589209695272287768533005344890974906067220563540443996097447430667186012819589699185479738804165358513087525857658378741097618828170931856037417031079629022882112345690148097147746982643725655266298375810014200206798146459456099478893797534117113866818330209033520584677119761166108673465983987832603275416770807080948777414285721552831502301935651464450191379528519827422140601194155901380552465578594382682800895918537622660543200771615006938585356344016940847173797039646323518605697804240400228538009369192768675778384782360003225522632268784514371859395035639673007868560170376185581028752051350941463516485256419745671503141730774443538985924592618080818424510790825806776404252688556452409781132640098483150538793495549968096072935208468104071129011046672156190202791683635296718050967347928417279328029731144195591590547044547482022572618489808022453336576637294051022560134614939032170035434554283051246890848065323295418444754999450253401525813349869155206674586999390617984661976342089531789956542350831882216650724212940527608129730146154286940442299842172261669981775434128327385962533228311442612064866560847605141684636224578207198720690970778604245910397954081838634216770456027461606132375081134964346561471197635207513602496966702941282910012959039661109893326638314938570145928735767286886642468224710918816455503866911106962832340700830023594552666292928509520241542094505971291419694765223510002769899452011967402452052722099115545417014191677889747287437241327812785791412592590420795268228697899607844406003904587953591324496694866772424410475406879471105798147722751022770694027570860735603687366499598480919760090288806769448262071673583931670961824896400964961338745040831360985558763077021938706670656569961456719380601547098512661320317372148212965300481860687673619315070212527557613180186057972870602933599332135194855366457824651180055257643068659043340477030113068327791555888104404937215895763354444673799650228359543669935346622022113330923706602805083025327006427324809168113627032971789777161283103534962780788366188585294455376107550082297446356810493537509204345994213066442010506771525675066702419689937685192375270570787166297266183898500023540089560338553144365953461097199467616803699617769791648742040970977889533014439705240784812708150815837172616294653109477412637029642337188794154790616819600224264960457447133492066824065236984245780789503397564806112336277986726401864337669493903975674274379371612861572904178172171746195494157970545137647000367393105092418602977975528508602201719216049281468180232957750853960172695953333139140381335293407933131611117939494969372818658910217704424597394253989842963818195100456712770272852277347482778810404811997440549692644054527344868821368608539617510876540579614164533400765058820133493640084049583788426113463564685792097626090020256770922694412239621220639405629586668522325985758151167123785049967754066484581828673434098595171645382573076523306504727520686798375094759717070861324788276140415051915298391893421874149300919503984792673542388923378093030159989858067511822453620748484125396465415251157233951854528811523880705188568429422555608166124679690728941804380957414847732973011247560435197819847565589116497059660269425317230683594145217768874410821388647094497572210297295292795159721826521157431583513326222164603828769326586271792226908017779765250260863965359605681605037808847322088138360807494143841292259819481841831064392222917220835401743735895978380308890071352205294800616465915907406937489693253677685623394722112608414843545733583078871513043856407689340079578821848826539055894195997274436143622311266130259796740837061821381889309760183506038132146158919972186324103226979398139446166182823375781602300245929518140212048493598999362600469928826761472275587568848058967135568249088090626687872041641641167450806919384508263714982045971223261243205365492508470553441193571857097425807626491454865309863866201519126368608015443837208342736361696188288677337551296466786674577631360843759146896445623028011115175736019602418334477269789774414803035242452683272975359561310279933379150532018138352752475083736107390875807135361362615662122491825438544419972626805345475573914197394833946492722741801042788650297729701727858468229151195858587053120987297091777848600188725999030503501785047952529508306859107316003556870261226796381934362361337779415416016712342713153614370754295986550654616509486827069571058628433749606511525333017291232605283692601590902535136991007557490163849660353251235089439237229261690305122538743216102943622626063081487246088477065767434974041171150050883084008864329785099307711763494866553143215049236979411588352922712116240930263838085163796047218839109324521915878681616981818190059127669323715809115842152014284207768256938004757997240660199506213589147271027536452080718023785436192665138145410591497164097415970229806274346476131008409981419827905346024972470647326875983856051898235310343766489864893618344070899376070750928427803748737448894838528857039601004333090356192556593699960590693774601977146360483751283409046760682314648644540107476028332279000753938328036301736306593395660540184612173748578180149151790433427773323122074380970866727754932909130157350610685822332806207420502253827149905652880970551971828393715602867766679838130813071725800575732776011225692479154485611041552872506328125464602165140562639447635189005543578379372061495833419549499789698387786106603506184243741574910662802053978178206337494937532477032190071759170928066558463758069252028717068413142123166111059958528217423174127170928710858166900065464905364737877160696138185316437530267430694403111990935367331247318539582564044742394437089039591627113193023673977680613627081354639773009835171508438932505857665551198553904479250254850282583134634871815546406791135304032086473797009701624672083450253702279389240803298327469219102176877800716071255884966668912251643907120522852253173903477903220295761740629637527290600839990499318490041919783590212577117689088441167484584028728695572587150140729749217531078194591273671339497262510936438645814667602391266449545407784006765478698104248101934437324913972521266907947910409858772901006229395585874720928277996884009696547773128795335639777670873884325420401608962454293550800701593747887733134923430891416937113596324830536040676125786343998293217422080984629194045734807945041749124849337119788958314571334490966497873708896070820365605621085359516962313758396855152640977628697567980156938399103258855388892606261307700840201673542137293455352968453377778978860095235148913924285937384627459362996460830878786789434043359039399796999519423824522070213354650127488419300778047536920382523485605207231250341763395291067698887969784271773853037147469793506159190117964910384773580651078798937986076499303306147636911815315299208555995134137787282098592479334684480863300057221261618182501845855950774527657128037405736230769035169747327677338503822366245355078049367848292733468636464658740346980977729611701712726626409971758588556437320170101685830908057565093952976073368751833130776509157264491463399623256015226666754526571684276329329416365463869598060742854145733446685970419085128009715731170624028015008190809237859234295012815249457218486179720681491399253895375071308977330177901110375874628262654186367293454222795842642805021953687340225321332456798755314888252268152463930809551385784674724809937422131316429293279135744956373395450629736659633930298289491225751149341767073684616337291033161404801284900539901009277010257971173193867982589644179389854792749124713957905903270393414120646184500629309648019708756111383576939527964949860073368496501325437616154972298469957418183612581724250724844224515343995202145296438868153287543419440413873838778278285884440905710172299191002961072366267603547609240718327095925057971893384196401837320963422548387982047541598777971861084253565405781361674009100959004766065350908226432003496542353554798038114273020439655974585010202256608274409875428509212436855287405844926053929330205472331768004173012530330499260104490339747338964627744023813456684773289662036804308212514446072253753450232615379289064214419301421051497356797310415335044803827411545051761287880725063515564279299137440594723545646309271977405366560428173237827833065610408994474579219909008506773541550158655315123482610711801127858572590297237347638717870878236418080298296888074932467300927648619525227837421629760055378421148761047965506287657156842314717166565232268116477358361286871382394534190408613075570727487647629059378555943844519856207904157444667613268638778314363916078837759420465281645252094578477971527527787454469748955797550364430913058249175355765164673945289514004589703250931534805302259396093003773388920365521019667385638344115588904005164185160299566775772671629736001170656835165003887759272280030662830731744647221558075077670333954728627951556515123549417341222471798417052407386749134492560676451802842746433809777211678104080025333685703009156646874815135261066953492491439811810269875195266333103221838200820669065724027105874042218405352323830628426259509441109522682973773055205821475255863326297313547548019098134280308758407834272356204656387949119437063764893387526037704741258589749273794658730127897438366255945122779666000474197671897711033876096334215550347646725467227401090758626016400461816649087542711347818458938392526749206812551228242896285025925709967456912194720596320676632857092184580913412044233009682086806815713544603461483013788241766041302704128765010819963392239819098636147668199994328162384655667387734065668991775148713443626520204605321636219935758578059077483197035315319366883973977096276385629752929843595818055493866186645023253356919662668021728074721069050991745595556909962137449611976334622565253856166823464476727095845380942589361201568797186650446733450121794529551551332024049201965062365353882515384735241145509256987219537211381382081955075537314543754256918795045937070994330952442400205637495249793411614395504533267887088971694565231800112395799265879989817246416040376908724807368630134641731754255926006347174903883203338438856601734781153904862819695084688338565960387414213302588672887893017490841224832338489557118160684733072708521700161613576617726149381529771525034076634461583075093081032164541909609839001953945505116314242610029683187072423580840320839793700085027376193457986785261593061017764445647134727223586324164767285858260363736117148525508152986386312048586904046391681035053167448171082697560954271456382288185262660300048279276234698533109250072421688115712296332917666115003557081319656390896487884062052813633768451530239141481933174083276862985948054594412010043014131709163230503640979035234524746413464618690368986228791325121162271574061932564314762123021195674643089236700345539665704552347898552040092363096250870922570620632197771541289497377657756724237412999353607372289284385952030962767273810316722280209079717654959324597750739192865925766661533286927254366457224951541490333403752459584111341286126766797314449840132890378711056069933250101911847449376132307574740533586589130271246967707488879270613440676444895741183255461494005435462127162245443365412787963000906419684854669715340280276931791415759659023216852939778831549758616064033575125643716748509613242816689791745418514541604992226109985970763089176752729096391434264767838461603740457033045067933634624917574944301621946727455481621414020322949535846958823206182449312095821894004562021438815931919635725867583640586261987101352028035851703269590100866684642951583757234400734082456902772656829600535654966880850889285223758120748222785066795758119087527093093080244601103967222864596794927231484536491854804813209604582601939264676537160940526936245629999999018714867760040397146940768077597971977458658231674657956767466170825094841868035249971015080474448012430678327789838158458139743233632771501203669341351480725293767509880707010723172109477460751968790280529281114107881632771968079852321595372824233481912182647651967501148851823625431104372252620187392138840608999235137018318031675922492524056951585219482384323760699265039544419415654196254924411927237935616794094514858705885430181744343085414281960439596525553299139181485524835510534988644135285562672140862671707020270135872570550603793943229993605569976365564473324098317687152834326906951282800515818288393111944028131165581931229010485821323474088637658657368045520124960729199770286760202121791597069534902593730906694236830517815295041817195849278320033996828019626985981035189131414619223924063535138065072630857530317489113031859517203314113638748487603813523463359906290483645087205108636030188251609778682250334436947530492770532401158695654136734670546075814880917693612462799294792924379808071894974388471042663335712535117687336771516363539024000115737566057281068769290564180589202533424745583638731763196840121931555166586707035107373567415684146678262586002485764602494415121637692788531852750613283433590321543426728490115400009026860101405893231521888288521076907832562113363309558605482583591482438555266939167130636439532934449209911456427234704246942677583037100966535182734138006925892057890582827340748532356585144597208981502785962285097512018167573580663857036444054117507728255622358727115102153059984363383447207955218948681040682547451396246666496363915704691408956199931373184093699563481366908033346197359690963825643097633243304307991736958447283291735176923825475988843288794052238178117471869483242291888960904847208455360848007304667833035023018856114588101445078658007218828422065851324595227857651036942650025900890590544227091139666881195924281857990735720201766066542655909712743715463274900748121087921641843396576520017126935045185924604086099828765258409576395544724846520514449680916079962205970685899487674078756523035833319502721710904444012786086095419315556750889343125690049675477896886085597872608566203712598149906371691571220393683791190864469255057902624932201500669665563775159291878514495901655380570345239359239247051914984886213447575650782336403532460020151679192262595647144414108619700993914610737426726540036730621521982216079135327277970042379201152009837046705848107047703296206109848947853961652716096210135483625362592464945594342528605955704240456596843950112393802150116213318097817974491649060670336438228552463649983427817864238357291615318876148121145165202545373959540489684970560950907287067137464654981176452368668911387284284388977200939582431316743743790682728075720541308942911967309434430898028461226489140675574325403506445112136257783766581159685382383304391009298651685661136456437574121060950443087394507582097469936379999573141454859585713498976577872107528175968632298025907051877628011734866801558339700661572871349021811316905590172395964036669869581399720865750951835989879267422257872238297768985640903621294401179687492701340186360304815798447127024504306705835658035445211216493069113101706279317706315153547868910836081645732307475635329826886650702201884296935868684606009470114481662988564105236298230025155422483725355582632766980029795693853261339312010735259893967353886201017503531404569887181068286024879615738517972320631466079417341141636019768814289452207091231424451246581801318580999221477641827055477108520589948943221892112016071805101589416463102690856970811382710379729886012148372487366719620864375517534724070614713357362564210002413404418197848024491665253051269821584169750864734214690401755548768019845155583277468002643899182142528992439060641542696574852579842344882734283717523375498383748552511551356777402459181290120182530568459200900849210059167051023168489917478632744604918259802434510783440603670837395993917333976508389367619623850334523661156632004751680207720515890321579183172014067781462451598603698947929120565011837372226927182231235714529322600440029576970425752044693083886224661262902861447313526130943168029941964615208249376503372602947961757116665234538509778089916968213850082413849729434277421190671109715522220191296305776250696678036734095927338081575752497697272556773092541925255483031682117142088307963793979282236328642242943141205750810087025736691284668659058437363166379946764045235122813099798150019262238517416577673546678611291040998678093881968074524112808551497871114744069157360776166876987889516615687455146834216899138332279916821022400374563657064781067300680462512834368588003167384288897032381238046241883274660858033596861909474038039298029497634698224799819496847471517000183409646016626898187589084988628424015289898150683343638144167198012109486562877024368181969814640619670409796604745906368588250765140739352873795060920979041494438783576020033976084720350043821008656751026794231547676842475011514665636495064839800451176137801461972340027702323554016131161375045395922913448143040242261318018904808141691723871976542950180970319165683755701642980174398416554644849073664388308023546794118112739892830447027262127531635762717113940243574148221672496189255557575434763738160935513642728904949785495725354695175313630968416542844417504398672404506752310953332302484896214806927690039263041492981865307776229067059359861098742831083801909113729071615544265168978142872467895559371482616354759121158985539456717519589703026037441359840891635934878400770190978916370047331058691001555267830811763330091559690756936723460370504295078547681093804981690261178643085780564545448494563424554626407061513026914048237019333215404361835748718554984530946844352491818906883506655932559692319185623692140888679640177379157752791074124482308413611363073850902385837500029261293618218084384020107648772755194791902686923811072980206509710376710569189674374820435180439450507484037213435530841817235782983423908360538255735607391740053560751885737831255423364343969906492808170116339701483735309164253065765740944385270591153377948483834411309883430875553146843488169085563484426566995440028276850347451406168369188969601811994476501195095637370778650313133453397442890726802741422761877492989069768136708192749716283110428354294834964462967569187792009585510190766117619286162675357536927509514364021606850418004887433658411294568536386393567324587820066246761380674186957669698361489549049565871863689632434327886977766031839879928848786110755518536939830443980935466389831894090313258422377955592749016676967278355143173310279735280072730850735387867578232855136295683472645424819536921649108602324260553753699413840441527668450533358182662996501651954651037206949493102779507710591647485143789054041612952634526434606663540140435915477972726659753517818586464235706299414453739651686066793632644613136640939090962153245433744244140553361887092029461843079606406260073970732333832482793583316089409580576049653404541379213237865869025343594739331898980813839780850223454105603675729800751606184307024675208558234967472794963055376579145963003167674246492078990879525765097397212769297377079524641512896534396942583209198251117282524707730781777184740605642257346925718434609312638218700557312459071267141128472729633464233207202347456224225725682208456003281818076068453439018230167689086228789257567462803225922504119388195970313986432128160333603152626168213796165090548673125903138048379505717333110011549214275068222127024477459864111807685491678232312015481947162990806421215909684087601117746622630327751546128768698730256507749017997175863923772270514689931473616124372352247627121700251472977966801195358208532395496409879899040320322224149264527854712399753594153009171365761668886085058710646931956847349339758314159243076207802574274342084817837747164436804071212561395834327562544723142822532248914534864472139274138463375006804714317118017166327467890155276420742337649346809707536834016869576408139120155762497259286092585688708268075598836936529751113505518595336579616031965438156748211633083123760648839152405312303654650512748521525779671369281143574141660360733164267507026740019840289065784666964102655050556260314428104031046782568807880475778279598999536721425315357067758847798106416034853289263679543863912073152299340800345331768689219468487279212702257698341005795078882804062956751442282936972806268203721775515800568896658600902799991345041997121363886524456183974099325819119756678182304838475834497028830572521889591292693074652549733586548746691635053673753153361852500863551947830308747560216370270939447561552586476824010034994758124011128707438430046140361180587691339005553107494892646215036155030372875851241750740897095885258176032372758765440710074515014515084631326932843580652635189005228806160608757086685034751238950818255030250774124896191589876803969157871627977702054596859776663353676296597685734932219231444131753547036958919943931095452023269448921189933705170876333750330969197545768389537550709963793479347042885877788714876440108720540768623588651475319194491698989646028333379593172895360743012601392906561772372292884486859454880575178036980147511195516853533934913954772678039501078918719347964732010604923438063077049054313475963586101802110365906685232850374360365447362912600817361458391673873463358308010086029501371863363757204655795537341508729642701189470510019357482885975588318251350795604754721227110838225158089569511161386539204700305462889037939062293952112551341223295547408610936878223733235170150471437904017482886475573237831724676361711101748410310399532060913937483656082657534899455313113589495506506277418057588809618548749270740976185560104741799779079077178708786155727283721323397492624648593739288863786433226539925542854616307730408061393248837856471512210568274691736623876918258850573852987335577822250967654455766779941233257331509293565443548623067789698230306918427038686601850425736368062521447122606952739456261342536803923631385484893264362363662691002800124874757759647724497652275936984147913841063766888985719639530754994893714333489720327621318840662987928329083300853549489814835745609889367075957308931626082336962185229278798296604328579765462921052795869313518713096197120267130403337547135630539026193284556152792969954553639979441116761248512463984009489151079626222740050229372646212019860719005227654918836963565093381416310003042569697423904695336241954531973356346943653035428954154831235680526487235060946668729028700737783127339193278644329752138849037310299901374402736596617567024641340873019590564795483505748738825191338342405341929234845121643402969049385451395894509973641389998412766519675310812933652680676257563555554410991814521522173900824732293807144839721733384563347918005896584926711989360038981295276656792209545983982836172737500090986420756042281846060562210609919206369606802208202055895548121814478930699855259432277150243499523245606115693908497846139589968697370726888066671677123047447001102798106568365711889902367305335213288277154883692551304948537746834887260255822113014674922207970006232244202658601024715496502453693313105942452114992495662655824496257034082175827184033958558706888614543496973443309164578167607569697993561833210197598542278642616274136678829109324662802835965681402044282665664517977211398326567889617873034345776378230673479257259542694022825089333825160588151296622627179442025666185511402641139403906429541640926831412399107406153855007771568779131146005979754221254719613545992688661889437371568808714780908334887364986811458543072353812079368066047423699242636710319982792926479347049531067920496905432098059711147122613864177770297978520523953380087032654882888723909861143933665882434634904986797479119428548706813975467652198508631251968830904152139065461288531331754654230696125882892753454608518898676525216434586985005546587130363003801614703893863101148144950285583516367095609522040518696467182236710279877374648601802869957340304330532823466337563135672172284226874878037948192987932965744360370719879760848456585391594419817310067714715257290443695536486355245944678387894931011287122046299425920665959251643609725324472588612666940093773640426330471761616393052916270479333949102275794689229408014601422729244775526174188293318384775897120680158594170159365857873545233186358230432242746717955858824956030413673637467025224559123334462868446335669805681866138172898407268843376045676743600828120695500858567218459058505953469036833728936867543662827140960770979012331688602870213297274971220151938806383406816134385069785891232909789937845642641675387186791675413611667355497393347480396688319882974813809072196042293464363348945864785460100772269251687685299048546896192218753292975280893787102935545667028207403932893083905105807024186257571940476669237550261866210900106540202168617690678606222428423524965116744736085013222295172828599967822552645068918973270207649559921557132225664731446822034960233287146204666863752513393988812090322815772805311184904517407830466572599621500779304282692453474853407843502686859781285281296464787201658111894936338213666084178368492160728812682401062846312265107226242180620261566692765266239659830756401201182656569018868759793300074061080515135426949982737778819628204891435125832832956873222973513086115655546435343466167747481930611141697242488583013363387218925660170991093935215154583658864303432806892445025269156875450294860334723608042912649244401709166036728745265205527274891475948749392053440720759163441238568885294228567493155913359381654451653282250815583920247774464764906392594870754584789272825656892722424716031940561186158829569109324559758128241625957632638836402165195269318778660950551853409649371077609302394872477131071002042725288320095565054280971084863498127377145538005169312124277000876322233351544878874571454641697291111695215137833715311112992706451372703992128448321344722386609295381593348497320990726896535528915816612784584102911458957915356019023852995686064721852464273806051006829628654236951048103152514697108026690438262697906118685079292910039517008096199723164286959488105358343080035897264370215383907602443139429657137741816932507976727287636780150749402282226606366716063267754625986543291479302423431246881264197396110132771772406571130755144446915482993858631963517820495092241652429237736800675395034663087563484656202567298553668136362234910891318047029083099231012042388843433112640620368062924453047554590552106113267031340521850580429771037492836276641057747842999578474252696188552102714663319426488738087260047320199734766036312691376365408002008255230791869953921559044849158558026859423475726546144768760624899535412939207729931815584688974620905788830730672830380804458257954266964080867545173328244526153445793195617173218388504351131076793553812031565544981421183668734219352906062681876657810757745995470622664029294192403444573390057356135565924866639598633420599775486349453711153226975957147069879472305015142122789797022627545459619479170106629570142735883187805104218444413077501053720347334028437772167055737790587510761757686742213800850632628334297107270277167354843089747747261560432704497715889772481939146868254613259144730804212835508582053615915065898386750828996158179516796450216743958057713493927626016265410357970933010520207199034256273057741324145558571941773030899278591213430955242773176390718124058830086233013902578786730273261402869042224977180971349498776282222124354707393860064144083186820642356445323222706063073459882725761801569353949716632586040692183443477475309631907964422993126084362342699763142228595180154745849201643867363314992860330844691714319610333734091235414964092187274798507070873322757731877569837658824763186976546059135979110901831817415134590893634161864446940739385744111945028303755591339525104750378812099152962441590428744780091350611127258076759050503406390001075838083649174687692316629497576224742971799536267872677904703524393675177481905144485168591312288807288499151831707002354547080149427008135208434984086256465093773551388322743549597428189024511796370383593353468653417068164573664245097173909534155468338314779613347105135936500737956712317335605415254588755147007798461152153415454619072951635915624965427643738539774617560940826176009408949064432830379420064334633150516279559930422458923417019915713851328281560176017468198356173762716180762097830392507593470536392752050425977672576080593732466409625310379392416466638618833991372599806729136673572969095115316380425730586433957599960620278585240913603574072385795596046113159340295140489613863082543514501497719017573544861829412780991956476764622070218667070012484476171068123471906613717079884487274413090720019556080494424823702017953227122736321563692096852255106554242013926614890713752587941438469328811795046104964906730338602107349705920488418725619337815363452879989405573498945649936232204616851977521722288427532237903068700163229312186430642162322429831530300645887950854400138041802985167705028155209265940434637003411747287229981901130345877097869033334107600939452205938417630869631227252543136145316890631506264877328598279551010839182368379314319261596179671920087831561709311759164784440799733500661337365501998338916314177858727079053482478067285362419196137256301032872440764856495446674491551953455790685212634635895241337338472498864359840893536529356384986625364175577855159560359552058573917372918003336983244243362061060579687968263112780455265140985511605323165555575314669508023610228802067094649333410917762249801683049661615240685032487338811159044645167961159375002005921094871263297778868681293660357856482611007336298469952640264963202287095416870158645264472318619465035740885263897689417264298842413945779341557997765228382684689482862376094436853224835640704227200262624704155942044118891733175957585036791574477240153335881601004924896376888842492830479998384950047254070962067323282315088358366670134972283757913648640101392238489594478066450100512573234000402459612330460573530416101320570376850628047009558006705386509755312319736751932171172861607608224815103580605819176427402705572867699812291062792087282909873608863406105616814763312287861353051705465803985950716430943764493862740690381383576988049086258652078528852488205194274173940396643388215423725813710785847141039647832695077871717614579091663706897840913524133916244694355947884782385108467640081230669411414500522467385752558482162077828547908240324506847454208936206826815095159099547239725069015851525310675434207194069562914069263117842447755048521654636302368970552312137929650434518025285073960839507281569251185205484104468928637493064784001538810371050065091224350408739243085418313708111209029221173898535624593516316814394300433834739461256560220925328517580945607242331459112791656526936694575032930387494375463792903854888388574614212290714770600134194202221089477720642505074086978860311408825817797497393955676457256760246126474080544690214517934657219822976241313252528955958805188830423836282219068649836813983392778228999651329735221097664567978427391314119576569842178177027219481757397577532349626078533738207882136158235123286491190654713917797584843890389064254859412382197558999590944836460050556816950635596194878658791842586901788377329579822834025180515511641962491164593768087435220582007906060566277956114882186449918990442179136525102340862747218701685896698274131478424322014987619375806330943639981930455563807125451192479389372932583495589140818750948481683437780363696623783930386465680219470465940827116204124262204905249166997136415491884869485364609993316929679490095518131562984922750344277867184174160803561506994390148746938740246226650004937177223165280544049235781005436448669330397480154467616006528244094758624402081114344945724256273725970269235004138751585163049535894082412157828306401933450327097959395630965045807810077679037408355858177163239848493988682345777633534365965471649840454674250795043913743750464894536653585286364309067472556529427001337362071650172913362431577397927940494661893670844260277778418364889760040977190641084059871754817274768448852877198334721499491223162420541237164151663258257890221067849355142339080763412477092414184934772225767183870946029771131675101353677829107286446561535101344347418757588255218473859470106683414081326090781145751035020515000395396240254134220458079003141676471072088574943678988904305725279867817841515424692572062301265128284134125778405721328541202315518521029473478822713627177623087162600797679141105669651778672412836339162351121630208753737228189301942005650101921617495985832852610334450964207646378880704705323827469112801527260904003231597112165395120717818389154563617566953262506220918942263571625582011874755466811739863564187473646452276440833456048290082294167760411154851197032805043140136959085674842126821216347788791059255350093079888372618097281750640133508475844472540492403725211651722696354719316644071846759041297071103002791762171509977083444274819338718522021785159834966320445099020876999416010802957391293758432493306237413870015104939124973557033399255787324087155993545144019341465001541039241839510731874305898868917450137737841436844798317822192950152275606061524332179147816794754469942320397024622982624649146704290507020020909320214000702127238714901466735929900460650761440187054084929892255456997663816650191850414616919583620924621518246899325985060774305692483992351152298556358319638315790507217089744065521816291954999643628446023761595351552794835110545475693362089031304924037105681390405422828956456640376043751835092260105843517210907617579393264857423828589099349041298667899234825177261238331908792664249896525061622924393018042471586131797060403019183921302791543506598936693149733391849120124951536855463106764689260290616280450715019722766563700164231947898858436430332391333584179516434363339306381146696086987504294485645846435785731523531679272369078049954769366449569459843964130606491962136022469382855899229426528559201667000532243304449006149128711012099500458149722457717380939594426022080905493426287747956038760507799861950788378692451026817708701891199346436384070880348454051226079102073090243745001334078394816954980857226271431839483714897292815777504469080378221376568643793158125424120830822685132257020919041919405453822323099114349808996753328007203960880135234973428942819466316687247605218200578478389687152929824639927011477529599664952161376281050687491344997261825067259401738113266949397524859416453497064220299369844759605774248144061835251056996539857512089039610182678833122788775084842789196747876159857879116911460043648095624822869424379693731674280048277010502996585582386745862442393616638673882500771433261392754478204555931697097818365695093520619829825673842645359096934132086375743088489715364162944616371532911235996849167806649075299784014231137809890265425089885677317955596722162894132536081880149333612973927311821751641262965582893146525653636754957571326788424000861565627775252418057605720503131284770703191350442781339261158992869964363961594737284546747045810848688820627922230537713392903485253702894425414668231225755421131240437075682487864015060125072833706691304108945908875874837641649826270582020686646628897370206526831912486278911632808041977937519732915021330359206361779124991115038742884067768538964364013200327018362490528689658847846709952047715261084992680104095537616876546241525568743463336439977070872349244393611610353538705625213769552609168287144759061307189438529740357405701719128934506949652252618990648437289050320192858965977145016483416411259323233061157852820030963492580688889266959561942095154036515484655529690515211548855515102845115498098822059243736163899254815642515752060526873867137073815438666606334149564239390929140204294628920329425016964697577814872915600443860805932920663432784574881868677134592513959213815801687365391850756725115900160679748433208378018489862374866517210550244986011091956313238220382915625831885861058903963479577592727797678955380602251907814143461701093574142332760191481800610211068488460715605270225292485290214663113713136702276692165535676815861957632919705118277732023937774886902402490987810049239721388003155490334337622337565138550349691742706670168162192748128202848505300014426475925725003107806965434451943946124434397908941038197470035466112527328348448606440589639734112973898228390633781814540673404242615829200653714927126244577791835751926453671258518871584069464735219249598195105521573698164687152125996525812053585375870737136787908370422069077753438954559073291621933394936964393425919930796648908165232111924789190916807254169420168176456762761088985599535442795722326768317042399233526356090782051138010386384998597719041796796629970684980493188337167438056529384259264319345995570288885468334595799912154647595610982851293030999718566413839596249864963497947795916970778923494621015897147937430396219309191916219182384374015005917975339301063523761841957578962237330707353894665468896833260623268719826291894265337258358731776504529840716826303019507956291553862436733010187263927858241908063039122751861108601114396099536792139444487716840111058466178445743599574695817670391828756736175175806389649609001272735596942851437826403902477671941060971264005803711828099636122155889170062829319581960193334958699258527593716348972014420257787032156203126262107603328713617514266046675110931764583735291564347290847812154949647774929883667379743071495118714550312314998847204008483533270869035188653167054890790320918594590151295029398472389575286580166870592793472480948896475000564964790587565643557103282810468859181511832730513427952657985080006723107442002111064136915155073983574179248929217512446030857110563348814695171016697051393365358295314059463644462942210412374549090662224452184913643103744437093542379189705016029177156008392293865762927217339622226618346846833679755672296385896494287096803644277000052174502201341363976535719793896503490309866337460570426321807526454701157690559300257586975346022218749000189805324761165311405089773176338485331682699161501158972033215979231221262512485703464518382556561146297260411825974004784639864559524456894782510478002646764568824614696188954273078105077599722552914676986500403479500052031908587304318477079246539204785620587257669329610204113759017187393578304580585299012444279856711320293968981368082490931339215405032905355105021090894025666437338895427911843343885346272194037725290433102161457272316574340686004379213966924910675768036168639172576188479744474305216656468632440453121144322387335821194307362072251478843345104426789713220780036453068677113828744049144392617676021309775717531947777986333802668765705429994062550524569939633388409726309261743435911875953584044527042522004458906714208203993721223754417769080517267569480507022351476954562942141536867143225573181404332046002176375485469077120582049008533508253838474806888123319781087680289237819070951056336213821342235937685014044211828524537473511426844145264775834598208352454856587517799549884853403358680158981391173209172991531319114077697317316071287059491752186145482494931941905568788505569830583291203050110746028717921558757708713000702974813774445522087950290715245166578811908279745601426367291527548315685873681072409577674747866832960695166647968034531243662804519485025242778548970958703967293409681420640843926130271862944139489123154850397272220723059895677918612341414270226839434138811195897842590499993346256683026983588970159282074396949574065950031894988199653730846051408764225478885935788129568354976406441523328490020485464227163389671426812743306716289402586543450448976896531091216186446571096033604890155885699811427622374093103070531226011788765902463226040153488244181521681194757258652670052050140633673513809994858307199020754592310059914487268240157151834605159522270597260684706950922319593951334101400444342777688200124611976926407355780052534988928328771167634622133987936340124846615657630100408229001740981508401491614145859981359944111091884189423303037341744472767451573227817293292745697310411966569896242847733594104014518430179050734438576200214400524582801333395413419995531951949573728311785336196917521795976176069787293659417795871593320093871794110518168531501104703171916019677460159229350037381191333667050969463577569320283412350284230287721215165017748548764377804752870390284647776484514468693686501772237601116996982801787577256867078235159375147276504155280447174489811913420397622741227315385136882071068235218602171351527731043674758170901689356576818492988237043931140183583549019872863509386793618642297136931881430081193146692372695141743302806593698977291813916962038075273745474482564070178586362654721996989724414475388536438055521865733665011689328910078304052133930564472281419013810982135638944803451409493073556798881386316585483491746769065021522636378294723951003863230203929518657115268062611123293886954676287495294477974807336854177924109221151650394061659043342193186304953199358633695733687808551435725894113610854706088441313881492790471214801791823372159386871240702589128966440112892725197784385689952146025364430370220523063508936198246319482163443647874321417577907074583829184282864411146948833339712191645842029031400522229727601415486250836355549349865044887344285081567413474091150062869956667369235266963181899850516705230959278516567712708124106592505458358877778848446954527369914196720461492799186629000014932560780370053229279068674369372600605954832964653350058728594814114001614242493421900405016350197454655984954313953790480818017441789704489841787903128153154623799639375889074722818775901799044764964311981939030991731286942326679888910423401829955070356710215753651381546521930013566784120647973423822904163369561021070077686072393910758374267766381579174795780190474717214056193604952691387171369066862174637327029523830764572584380294672262790784949358851861530133986004016702544346107901956445697264980844686381589053552588264866269921884096305100337537919981753359652670729952120005345084219011783485751443455773519746229582989327184348381284358304040586652025897546232380845889998921761336238572600191581778845645204520736143577073493537937184470060226050018519742721746298237472860201386029243916238238890150562019557255431924689005969957887625068845165475625849913657909841684714136314245321903113314270630966717014051310316968305991494740174100963226799919673596118527041237904675317326612928404380602614345969721801254436956490981795220483455559081097860506703173045947141289225940388911184328543654801782765381699932855636697797654498890261320301497321467647762812161048992041879471087133542748145300755711321590000245648865402189172171149311041012197476022939708643615286738631091383918997619796423717292558128798640472305089412136788484646158851106650428359373520314618185940567222260126073946606190298285337738260874202263657239973493602590351482214033994481097789567154277514193681520908056719197552179817817002601998884978257406220574673224704065928648776595821968027411559831185536916148039122809013474409438561867736815432125733040043666612337499678201485549706414977769334127796194539048881179657828350729301292694841788110856578619069994781000211512514311975819822578062825356689126515116474474257038225106617716078159267813382367183339173394312259473460122669903934204437272638816287722797598425115224392111989072948224146081671337885027233019703781681279867395779508984417066618705127778188001343544113961537761886336824574092153636298317314858653273928116548252706116268297945971206935128590094944234102950723514856897800023518578049255009231707803582921177906457178597834988803753542699536825471114944411113231033465013687557873464895214085378329648571387902155563188131033315404821127272440973791900568713249080768820913735992560485930692470300122162495666370147533144160543973021129531249918064160885847757430056437809982651471233545806950106812808041922906278915291864004526758628399666332330387561053953089483004785236376365393913806172809077487237585307404427366220992989552429790212960068261262732109414219738667855045438976098680985631207993546793687142962770875435602083134863633021661016582451931427398069820171076951791993123235048050931227274614981919049119855969270854769950637427098149057639003471118007071281850385243845293926746663115519895073037611550512394030664620808207684778421107142106404061102164734629947875920197838416463356590818797162820415864740229202809180446487506662851661168483270448455903346566551210129010104388297152166287396074566863401544715352872793196271135431908797842472329289085212847061961499042580053212782045059381096079756604012868058037408286594537079169643229491361866709328951599008486069630599705781601043300397749451028574483764606623898887114518504184777380021029221274205358144769122863307968792229278828677313620370053413535015597341196437773177836182428637747496733589418771321949172386847389098569329185949983472515086689257510876671378287668830222002046506134083979141774513172166545981113217982748792324261159770697308417809198522270515007691533833518294919720760364967590129454177827250854313261083097470537758781485058608105436592236944582734930240357411915301438113576269710396042394609204113657058030964616816634065423263203149935233710894946093316579638092196601455817259699804375733153326519705210289707517203882270153891175825868553133220471786110851935175499684260552945363858840440076730393707649623548907221926952524363767307309661967405441322185831767005625673862677132505996766965273839620312343526638587981056103534146739592239950695720501212932367557494988063935317092536787700465777753584744684491099511775747024109094189788453836636246283597052025927269328316452147912256907262216279696793019062391616869090381734465119214770396625436458905684587749931067382375873984450691969961122067599963884294275612609613033886632707888884882971857185324071356015254974604653635647838919866325331446630654017864482392936870428616257699852358255103803546111000452009775076191270403408190303677180695434800990903913195099533764341135536589558713266781193547874194328703349306065147283753734150966559462161308811529962036648060924378395578639787795538559347468483974705154542954662778665662913661842054247816310827440250813057559345737211822837612090631047734138666483841951033298304537018476622962726890854321792518975468776788221547715031216695794744089822879924477434829957086867058645463848160086800483509159936640429485622800088957654143308352040296271097819161665324715568580949706366021749132415055324706784579966270206121657742138126387952203204450705556400248052085883505863800902079003152344474084478194684365333233261616529121799365720142691218108144099049324260214592996870092860831017768080086820380005625252732059648029755236304705495891212782610915323494880256814574271861351321129236882635223304680268487004705075532394539487022611207538224044971888198137244981235856738771451947266521609629749187001934825356774596493851226599059853739678262356593332602625943888027147144659530612688766710727038907618282706055902539481250410157139662998330611132281030639030864942567959909680372297352669161429210756595451611681050974717031058799421653169775892896630873962619622053682599513809273552473533760300420680973077638186698049219139221793766560214205508533903164401655473319015959478803994455232403659790626285563228104154080930358532865313325485812912949438273782659172403705442161525300769402419083224456741492975089615977489397411669500288303197936423941546506618215363379254126307954388886000950796933668079584743215427476873462669216056047383509494348288272588580079606466928025036279943148491780173122391812336325288951246538142280428438634595812113261491558338695672824222031461160330269322385442946806521556493592234039659190860598056714271025431552180984838610607520839825670122304228269662029593737248308059363134432144460364687580095086260244630989319879263989806542530292621779435766345177165998707344279772453846442013846788931994894418552076270454001232350192351305369619270937709051221233017918318530961293479809500805890375931473046035690469658318984773604709112406338545678002494956338640188526808036928929381999303745838464002892299660716066288008671975173984532457674576522005407414945645706892096800093691157509104575553512075108868263090230057693148335608380417381961193552734755930031041605327110081893517256855959522987309691799008998291170373507371667397409448590915669197173390761075658160778018355592718102718623835750169520747535150908831599365046927937104592321259985152066846332753750463663445481977395034987312949349097118148659093273636762504321829486743806543846385917432875345299472803983751466862911064656063670122750093359229726700108286877571797629669720041908328757680568454067521305400325944474819918330060951869503400109723933477103964473326284442867028655601065799223723191902482429016474703437889906170403938220531549523390735311229317512104163742854763114179796788389534705808231254298253894586472883415974035028121464954892052659906092718743703877090952863597171247921684926085322286629104336765715944835987890987408931177566982905006008453954508522606289815489979254717668099897971722078466717835912741325474823782091029107607593464902395202155557217825803518531501050283393796850684599407641402566866788457343186329565146318165433466394706551265181380497450568717120405474788172626354441229206076904322236484932238542689830692231751258470024683496037941384398602537828063125915571597120792309663596294854463361418592489535125213577110323863631169458726735644912214455761802959323201828069211391874963082344717630904695977601241505224873454492485097441490227557415265715716077569195565503192833685493764781405242942941136145849958324309592659647342176707490852744615921891253732727664438048481523854674519137545525011883844842333670728402093783981427667096372194552743248671286921830604915482489275021697707666218528480794673913778898931531164497484779780214945123346101527173243430771712939043351354495452055501983532320069959417495755512275895826467720027685947209670720174525227053273131428834003557510639470424947512879524102692416084226730478324075499930444472105617391444238410085963925425150553523868417753186514319993101989264133122752641237313456370278305716169996851777116696606875904007898231668712627094223130471103006496404572544528194992976217707226673620802479973446945454755747299085180443735416918200329687820403326798771308871875152148279299391777026619508538924110825152636033658016622757853361638557767330055970434488448164927399223267314328472563243226959926977483142398004587338260543275592470242971873587269655864629389000185383119628583191936179592633671749460306841885333054991989636156836465269531766694821629549444704453455647587098643057813405037571106139881243018850051545644106988126072496796885916027836094044052838289602721548207880826972157156307090008814618498960012978703323917645870370475087250318016047765011607423144185488871713070180564464023512498344246451403168257171322729205347420258337657651079989236436226764571125528450552949993731822287761090075581608463775194919447674237635523183304880616625314717571490810681924709362911613824810978847339562119669724141810920759747870079328270988167747220295256300951329280089648477380889740218776055686796239619525818530081316972551458473031129866937809571069262537255282438539337940933689758974510026470995680804746674984029038319173610509722795423024698505597248876585407648026093530690429521498488257990600428796355173106211816901552217250486626733470501128244945738003707288889560110045677808359651001137926642947434046885754568723732582075340400921596098532087221184444200882351760234909294677898663254333441104731171121485220774931437814700797817077418949116156710381146728415415191646690585181254204064214613352499435346470838016268465449990275242858619730656040503423967151528198715838576777683780574552067737295651490751362760330758291280666696527665331784093256960942869117521131898864320010049336290596744259708061635172206285487744695813162848604457263837602654633402160642287766352366201217619675443496117949962413698245819236695044539484257995390597292226142321409060748037929717279766359764593428500234841511277210599772197429763801193604442650677045185887147370750687839018708934847098358396929459915719612598667076242914017210162653097667228285998126450652362215962980910230361542614769257797052512147549016944186739224081109896172225752686911434160834668706142831043357487691795170546625449671283907561672120064745571711234517870745769171319305641035054199782078828136456188511069083612855214390050174875543640797141807188426078874390091029883130780519780829923427034441958835717143794153767351647993265853149552415470150887904335837787289551797956476742076353010171956577981456585011252356615563341848946442354914542300465663347047370951055407540934447228957448027976234073528268441286554474549703285089417885521200396062172559512331532734636785245673179145994899781356765442496066674879011264673586695149563181580616436889918793745636235605009265132334599013899408338712579424064530391820624489474775496922396996635455720294053387099157440215027766087232075340622832413821093336227796096160568094603709462780022618765752770729184841300953753874645290087527284940697267647287012037222584120023876421564045597381387770753154496078740339264750724206989145581550388013022143465038338122725125386835125221525549089157518798377840600209420331649198914146080909136313814278253889109685943226713406355812282193926684887504900129443534010355346234388114562746189723631821603762136954138093171550963710896348650059207184291148910368317075241732700694404607366711155804672034975669788954281849037665746097173330379534709873362259986396582782169550261542792872913953646724512190782142684751838570605897772423474276812684615882531530452657416026309718288871228934620501055728410587446336490939722374836644840982516638927483450356963835494590652679776563244448799084735688546178050944330132536270760558015841002146464795666547895294733764068848232270599095454095547572949819898853162008665403094110941886242719203605841205118934076700487162458124295014818051257831752405934928958678961181445348909813858105545987798692371131673044161531763289144877312299571167089712315586361350796336709273103918997804655531428923368739629033655840246244991370534976212781932076804255678125521209691255588189654064895356408347842501473292551735638868513740603766627627544759502031550173662613678384904061410574908879405995242463467246862670123096102978231975804751216303849333267538749987180622767207277364512730946601492054535231487306599953858459368167689099374306609263067980450787340073056195536089542073186240450539317024325452463823497861301692746220989302808421432527507413491387522730033346638419708004939328716328254953341302584548688871021941480933384868994018282537336213774378967764353704486624657036342018151113682444701110192971342916767773686629501143816142609668630925282250514765985453650899524707499989816374148230340443247260685312494439119670773487307029820535525427923204133871776091624050555213849955639011765884271582295247129222312233450008639302628343560302263607542131288970591403748067801359573841715055902031892408674346207852323512741210234609627752867857328401507716393551833983223439279102452707035619281125200613072279557289849461924790611455672943852804016232850155056795508386400858159565206656605490806443722208568652771904809417032532391869689387526248900295660307880252415557213814398269591016325598894197337780504790455883112718479926468932840864109437677696216790362329022398581416997423879875175630283780473267282387991051817144730633789136990664213524700782470940503348607174156755680454595848939664697794481898474711557880293593871639560836736827686875002126530616453066586152415250047050810600989830371976817389198247655209776805528222093934846320184741757985856254426450380984394091333614548775830149279459725908129275579020958958052620951854501321477403450848181067699984977142966707214939868973028833809405532019845953879129643753435103217523118260686352585776229940800537209161525520601159597184112255309537511502082196710054575882483430265521535150208861938040483962458569073004183820896097630620918928188401408389301344628113070419649498185400395350390285422147052407215943949480632088137411349890138674876992613148460055311627551341569022254052023948032633730817570010053085468325847318440506236578600135485251439516593171024849634730267357257488305671165692533051519993548324146825023908211020684250434681230347620270216301377574283409338700827222714350694801421953872068524388996929274806081867102381648366205747546925458977861232645890964795610415920705167036324665492579446888830291244423679205694235190282263345745005001052252605765205772372661636343676532820366792389932387099365582071331143010884820980999561191274552561722953177874318879591903078385233001672371954110447055096820347424884586182138553804321961084398671523885355938410003601958500588614242123033986279971306256843362020105671655810088261680292630007255112479627735870905493156619042458408659369897022956897408666539160095147561192964656680223228817776902956027423421159703144127620804701154351717216416691225203927741355781879231341826251429748318768301045764148649537512372587676951823297160219642359901997121030725698757623548352485480319587657899754436973507011362897681380159510495598040585349979014566975404243537000570679729483831295722171734059720041840661741353927316482720766335254979122394160724836419474578497009184504781710967281258063255576440415561566564933940730526789969264912738607420240933669844765499823199917118237041492838926401767138907405090335651363594448111388300566812354904070798489971806197584733127866690277606582622493011200283841683069552176165299180157408010348884170691081383738575341325131738918008465630129515406829664153513315442249408072325343194610236051683080496594694654312817959083053467025664847357666247638775034081244268145183915048030290203198372565776940040297734586856131800988708780793690748009047534068689068083522934732177430731834114696414032019351512391645200249194812755658600234323374143410644153977233158822011602125022654531564136538439017162482464331846883206968540499740882013622769182010577324615889759498834076984705863427651685624569224756141283648247267013329896834728026530189643807504099856880247713905925481771065261779576846319587918508702641091997816247729137343213589045295091936635236272289146504833082979805050308411219034719771359534984537002112284061200441623728011167776232121762087025389833273212453335818532783249854080222119096402050383980428277690633968974068840183579204799548990559408377628320853003315103201190216537918382881693626359544369933566315837876628413944936865569145424505846289596517624492593534584475951691719294161965012232048499931385597984347799538402193589701103464138260608122818930080194799595093354734177102805703770046051517739790244415650842502064364184722999981746591870141677102963241115590100284140622802636475691717999857468325357962487805317418697450100844643780503305581851990024592348112442176452986897148243372413816611092229530524532167954283451484919652309075163247919884751084037597561772326849910321268796328180514797313605835383945601577978269220974671680864033956175250523481154458850280736407744114267820093041078512331738013226582267560931412470288768461462771334469211215670402256010132518473425640701913803739736472416225657015576763982128164211517713789702722723244244869826998749815254241589748748085318273800303025360095247472608833807376781637778631317163070301605764203799185844400406115576611893424744448126285581493760047944256594956776371464707608031851191956583572813831536177029143607691717109900700975426609339730500719381699100048216800428483141728938709695731289647446531030044410550122151470099577396896993363133895356391505010811659943541458921705459372507062588829828670145496103298819439282708309925720851527597901232406645383060473940508770659996284539148350420027169441814498635606857401470415902345898936384661249118080948105080877166628740183543231186391474795471304530552086053185042621814696240582051105141205960635055085255781311181076480836888586340135146575284419006692394337385916622371384588029401660411108036984830918020564096336525159616905136332677316612540693182360810298536650535258825097696137138104966489746823071483523938346949111505744873265744124356842372483994550577974930320941240165327296132376334132269838319482115256618101638533745639607644128948202419084878662246496046484179183793798395425837451722013871383657291775433753836679871033799990614252529362945364417581794944834519782198707084028924462584423201572841872215267934348436347209334953078393835050743993916322389198838817915020251313620710043725457757721579550749694908437608683633988117451855273925956339347022436141666421083486253016914985817534536040971881170978895306315063677559925399355108225781642098353936620355417085333300793612180631445344784712037144767365187397482715124060747904440306756688328481423251894856777947976870480629467847737606462797526784702594388901046865699142784719106255706815797841037321714427405197943860067749448501373667705902106753408162182538172232113553094742093142798486572359232182045377753259735887092566949601259270480804727823119725264117738674591676937144298539088059533920786575029406405942765420953857190276161999435800452220335832631929728890545462250372320643101542575534092728109555093214065459299890403719164609942772047806340226143971201842826400832689036695613338806499696325626395410227871326567439559573109950008468922854807605224643058793140741161637252620599625301601363988868282189689716508774974478155143361491245437168236142019754216436092931069331942820387000580115963691076663635856027719885156103948659900143704558133106290907533988972231287856420337201262385534485850854226537314459149544864365891680880844022874994614754896037134943359358286554783790248772387615507952112727831740262276200738234300884438190359547477375799845715370789288165523150306811221647455814935489094694424069831722494133257280881882585903717835851033267483597445730393870675009613762063832514654575379270190661931793092257048437517641840359435609567087258574207639102993406861012291398227970568543236076032695725229805459245550073126232980187946709000573076495063305025123737047750822680886766764780224955512115560970531472248576696239365030607817200165956360515380373098960796688014664807228993330792462232444381108908706089167612721086034409413994425181815451183610182509148133064303517816105288867975200491489326755709167519370080745855245074842198892871774189614025020181893970484043144030958252287457232672017721545301710052196756556875477918130003838634179246368282114702451508531239355244486170774838783463524582652268831487246219167546369738377488127470017798344654735425248912891640225299266626543104378912106006210284914905289060940184535419822993041582445907611222004581065719468023068644018417533297244181595260141082115513957992656059384156848996272935952401099299227776999383056446179127087009809798926290331721421534735053231552408832680751911408041555397630537548458567970567417014643809450534585638935321135044955865097825243251339756414343010172588380558122511219848746729073215802114674140989061991237283408164143425143495884209177463313405354805333726429587737051592314353407172640595073138645627966629312535357253022119346310715917221259953504126655831371662505819445984202166923715698030610582386098204777869743334532321726223383113441072593331516278710256179042497229605716737350471976099173436617334841384314622783738215457625237079441844306750386979674724579291971923069376148402813756380745085726480132440776859313999308565683987099200830693114777398512617257361398234545383494588321124322349211817422551453713751156887624984208338037567981695014555768473054616773998828219177367863117726999089154038077693532206179732840534017278358898680039137537090683030320415408235225162002364561013713281094847151374602049917033636378397538278154612150854230216270062188361252634052214355806057092922292084428987382435397397157556464411259903605329530652369689975014700522370055593553748156736999921837595454454842224300915809758725321831604970652757652802954885685587197357552728219977277190011487981019139151123205891764599821222754367643776222763549596874082089819235515322886908612267690619074316954802187400123728295014212854941387517550598770168377271423118013083506968225537868680690336682493183711497880582936337509640483029334887306841355845094219517541139226413453939000475726590307065893659615612114969013981634057096987995445241547612675883673580956361692914670879319688025197505919891927310219361439313569462446468392819892377720791099826937808092519478704791614395143639379789322595662276739502369631907714432262808212687317239525222032083169057823156737125922527945156716201912768238691808209585557388832283991904742440086802323368291367782064805018433034359541792046519229842539515768756799371193803812761247494769548326635943794721861761084964728443701995508143707439638658503262920609836642049783906746463915595205437259803582841463390956907494593123493074022094159667139679729729889114998886772519181951406402052321907393035712340620749395356120973065973135440313943175024555951055495634489698931990709191823165160295911423511446696118690666838600574749393756633108878114866029781776060087841157546790773018896820648636055967661734582737633534925744408411383705343752664097074289191316343970799769512483810462907691013397014670325835985218808021016409962323258317762385847268897789825436781915490996564058680883199069112627803748588339336879650396212854126267279606538437986299857002631376072780635797690895883850878867610958284095184064720011893922617221724290369165392250334775055302284424275214480952739047404843062581467999757324278188529398362676393025895561837179642318674853742359159383604050635390230808446352356070884638721198166074843456649288574994661316791802068006204116905422541433070651446952444922760150507283956935963822151686066108022301366327361557275186889045482851313799735064807139674939396917570439986760700819369432930847278386034811452216842021110235577685901231681927423812822863333597735603580215100314766043830564225013891977753508280421335282445913412180365234555138231764258194030258225588935181346256594656756259283273566645619820712749693524190166636834686705273629288408710249379270687585800882786099694811092629490133455200843172493730950427853629019123003362381708659114012611852979687102211619732827378002728197164606888397497946333860255739902975871327649918304454043839910930169871246665245949775520225746189175850287947835982369059990736132942637805054942427877571561733347710552816599028601811000162736743448465861804649620862571968070534171412412978656644599219067373934476123200733982613410995381105095789197993521240592152184197782948062117786095398298153224691062307136224717635095844022722403326415773612224833300432837336411589250662823525583877089691923877238404610624992228985203525070627635384178347243844484776303082221199368475210136437472159078525898644575309771908021306805501179644166106756109252445525844038911682609041226943082876354477518102098508140925597421048728632351200773991257368385111626687085309695383117055877970218387579245299125500895622660013796369832664355507586581789342871190745319840724514758693926290673735998351596461666289456500198169684383750471900994405596878518149846034949568017434105440259321025237048069009168183062450785490809590472584950786911129062224905686031935526827818293793538498015965534753644342138374350117122979349354480349217475257732419374632015716573185018437023588421110037899083568599467677206799043871806947490581699660916594638859801844738028777699452503779962175214444737275709475077962135756081861407656719859415698370741995641785110089555154248444869299883063033427725015977357273602989886763246503140060825213127045238413865356771325563297798923654440916368635958105683459733827669765089016135163693045004184125044436495372247112439120084431021240565667925811659515424073190265840034934829993900330564402192220810745225576355842384820318880885558378978259285857454371585407326467201689968334322954965002091955625624921639036063640076709483181978023097857692855674819075532507409671137849735407283307849227380625646212466078533387947691936590627104464346083693171906027102843794687984661284134017466039897926519753338369455005823696531079441602186396993712429953566178403141463634240947388328770115443558246002281962450294316444848154917468258823216454273739100676135054831410212041473294142847295672306318233699728647444249458172305177458820161172811077495086074236314832085170326496012811901279088650674717625617640487466210589127971758403970952843661739136794746564497507560962244218541647424524127258242590498602677743405804132409316319691675986432572220580475311516973690550013016124621368974048517656011396560063605678021175756436360787705442999128734659712094004188471479869034905539444097168998890631844655446406347425471911751631983239089546812862329476414436719861478826546887924344989350814967860895970829641640242867336260959827296948249773141179805238477337412100334321883530360207668181849624958937077327233560562632519163917463584090664594420689845148255879037961673236005060525349155917909718682883885234740572654492499193970810153678212649934663949384703689081621436909367681600027160511082042173679290098576761484958155928586974167761359650804594410047826274630171352281426809256236076837345222807155613080294393102768312315857860860121012016301078309215329399481062957099718106529070430081778904424676417205926533220814411504807069066742894494097490285331424287511456758051252567657922916044357188345623834692493788394106181036671913650038608126783575277996471866652393709285515788539019594185015835611583505495180386105009209569916243752061096537590833827640362834913245947130027603911515775127045547899785497954464061813643202379374145417612353525371277157339522521573923246237526217311808894799510136617363289605264985547126961617338719100422114636896936373008876284618432569938510295757992419179350263988974369921731906415512091855454903214929426845022922475971429755761410019733710945047464809112036781794436360774822294119244967420260605179156837982167022468371229813720890676968879045983139802209567038806237883220597260991902061300514488622082369079964952058398618638899823051053342790986099065134419084141579180287419340487415862504645174793634139209971564170032160707666825426912264260135006156636844138620378603838976027097425421747411899872765201629319596808545546710221290226361284662428944729678992295639741444345533644972337783820611313502016201495024356076375356508784301096850711032722711502332886699781396282928128845105143679880348127455196913043821543104733110757081802875038202515786052844627972026648985986326029959256825740117741811273025379004404475137030154707484692809829932919467639335978949691390857568747573035680683057691131862672667079555137019025906348426983287318974756752785664017184592500802410328107810025303910983970052307226170782254448801603879818411187930253754215881011113865606572580709091392556364985095010000971822353201874652197785025800583691332982214721527900647756772235023421591234461860586078035999072366478042464744982269094815249315495142124026606111674668694449300732776773167731621178084404379154681199822816518640320474677432431484409041019944068245555652515732694217197684465184546758991332541072192368831099555952297189950015429418647358656726594499985813177798584297419427279905179785110531548262410161134379933269025994350309744818330181136354780936346980900057388136547265038331041162683790196688888841121391198720898470049343901537523955509628937619437033072628924233075838788336354391666837927120358184746028210044433800371243706659652849860877002538852688899987289250493780296314382999637067532285031332973885436690573467868707145548907630834055774227118770882965684946889973028659127022815123899680436617810273935428099565253823249582475538248551075647820958061655400344421972801283955181829754616193312789054042256506687980572025198797508123404615292068958397868306127370064617871254393742845172361733658740044722426820809151142967827485262829785443011188377382600258398577023412530563775299079313598481773283278860621665482303286927651934581551466357851554836839004555943209280579224324129246742284243839098189902107382569581110338965440807892797453319738747458011560095937243761029414004160560950029786235701703374185162665782105888570130136274810036597461143249054829406423413372387387458258506445543148259080454856119142552446012535792659046788725353737797422870723257524650198835612599113112406597461619989266303442120577902488515298422558107122578047685391145053542270761953843894258722471271884936131788156331327328030813139526069658534380777580902215958096488945488730880425943857000785406524476469384910654529919044199937712311221059005575430942274555586659816857176141892945840260458345473282590919248835609945760956289310123325009979794537667106743050444219582676941132356450457544161375213809782889427829286118341661092607209733667574067730155956316076564712696331997320904805539032120694438966258708990461061837910841623848164816629248365178854021518548787681201282942542444949338677596558050047698733584056003094516259295315858246500921984420429331491847142376535674476961937788705938939279822357936971228495445686286748050948901669729700521309753802098557987814037893082491467053855653492222512703728947725522487368962929509500216368512817216001364689783682239030263504859986224491936502399187008163398928916695344607385154731457758870850885587652662885938500723193534950478009985536067343404725473691836230175486373028990971236239166467624573103887649396057742382569277757102900093622035855198404706984960754657418956810188864921819322280980057670575272587096818464005626278630521786627102437387558113705409798522286461596853912210303839223706607354781321994292930507338418791753352749272435598960824213748081341430064695818555749966433018576172058756945610937802493038397375241320766882875329895704998208482593102996343079898291483796483931412426171215378280772280661554886005151938815137659488181234183529805897299328738328021452488717326061490859189359108395065645281716429400594848593028990783885807066279958425863849923893775363995239957984050484988263242350175909435162763202977779583740881498832600006370830549731812034786838389608942776979640639617976455313256085920882730602484468708358621592391420395887441574234450455026294035725124455584354256810872256367814979867032021508502073985680941151856954550264949823958510228832260839823193979791571224572768949924997503221786785063399270620571998021310377728143818444376875188449742577558421836118440566137116132210690618851515481550776603131003145984216066716968326743571015790906919889471143851846986026508018901628831002753570852894847706596871843006038781539982541984606919350893643871626833965051635608560205127584070337237820619600926919104582317389157345562242536011106744180274249242398617202717365816070755227072211289696292672955116524541272059325212900952730565612200822354425347481065345766240177843305158521239685546911274479778514216350062914899559735011614424334202678474323844002115096708032667496239610491839048561352446637430173996146800506925898016936587698043908486256415546216464019351822675743804946277276592586861681631747550092242931026892929374431008243764947019133646580878029335908106249285426287571005280761595793961180035028072432367605010799671078959833851415175133539552261879957946867782569900093896920281659620346020385048503780325579172533520797677130991311398482450501598179762129682625348011252119495757985326730672649602754593079682687880684970067146282064894050615602466274543314322384279830178814480635150539919913910083017896647229806227766807217553415138316031866153491868273939459702215966454570391792106904433616123424313430234322989767582511358743319229703687574131138898739475940277378093778988897695723570163568308566979899740821462296694007070379775184927925592567467328160238826198992646677110546845247483298318791300573105318014133266231080140183336443780554791169852722184263185090745511845676058606820660882591247176174159389256902393281212068923413816662199009628087837017454251149960608887789845224771301453203927719346139417675449850552954504505762357551045193894532839241647380007464527752674903338546199038021504495411824715682178395334885567510716896053532565322743674429173649894726883045045193241525642544547958255530147392449233336154091015102184457952669027765214445785408932365088320225935712501579856704280215825506492982668819097570236788756001130193081611562280851072104986375896580022336717309546999744419333150162146733775785579307281475728026759712843473548541320373678087194174363283177669610192934153980085947005348712985045194604403764014446584368286947586710261811700463021882042887297439342945801583404162276519546664659340071310512708154049376932235170698129423934576771443105640752830149751705430340105255824440985993554471538071364540036176216665219012535631643561069763269671089720008973187206300363561144936416626918347470581940912013803114193007698053924271112780018754974553204744494631613810731670618873355475555292565358444798377864035854364948570781845873830968379690948951698110173575867006096989048111900369584122020962150146695446763021788401536827156039828915768228103453603136863363977693678823551466411131944577029974965756829234041388833722686798199359806170163722667620607694205641759439857813456597938281962577344278377409794659132022953667004315390471937802297122576562670261037536776671492805670006412326478896629726754141255027685938640037878922249105855927121428558174049799577268109500687952519213206922080083143187349950698095441521342127091106712318497621785272714876958841652799286908289830359269533106600928814969439701545814566239084268902317855738106060668655373822160375494699477246176258952072906544948522478292882079781282639755867729454456937935807417128374529701998715603788391508306893379308809010704944940857233405664551436714946987591797305442758620576989362549754746510867489152998268368629500802978524439360074717156331525830609897853337073570707159796868073045119330782712745576086004660581050718230377833372878638637138769841739177956801652287559094199659819340470201232353976363344528352492649720511198083509701218904519347389245864375695011982122489353832302046156174672258741098494211184847766863215454769216416045352586109101197701146762223650394669241130608002505621900797815902724565991891728182524790560917056828585456414201506024639215105917776166440566315472138263875802196729166561050070038548762377034763663974125961293809266857076854106775318217836724757890966781713809835939604938806846890277164572264506302905318730079339604073750329176394583659127818677855855941397446995613852672592509070486668687880624075660801292627642263511145177044721425654090773584740614175486370465742099160344926500363036799578666186806177119986521011966238039749892650570197633835823470860876502505738891231371993898305998517296292684906093117788724188558933827963429332293231038497827265134033398247275805986034689731127122562010664341182383687953598712205106872340691096234214245522636248654333423993798291136983072138697413560952248411849295036321532840337538951947485885372913731654120664772048533843744307500388306140757671191020165675044188601087022234257104139645327711630854630933539930129501876552168117788108791767852556312278718081229220527220730654849379181462749408629874709855690074973365925014719304104490430307562784011182424295776514472827312965746258189043307848344928525977005305687372072142584289544344136743294193978768217720907305692565005478054213462294469169133207015544569282444053692092129886555592035846169346442819042975727117989712761290224580647173011847418605430631607462664572350103624400399785817274052981607447799508615932918926690070091288638148065133557472985322910191114808568593004646152856959393224852381168477226592736002318471524300092065160624281625728518036716142600751015216532208177602741575090979460841896468920772197050811463116682469868887858978376233802033499778981153233742080633009772048359861401024074749870425598645216468336725800953693678355305925772797289365255561725049487009649887766552995023112538134316452848202519243353187267062672415875882678804307104119433044761492749836778536951347341194202818613358511485413737308080059923614909697671614426614851791515313237302877459415374454393695389549043333685694910364658584735275976975054223540080435939644886401681140199298453818376380251397664999416879489606352930459271804916204676199896579542653104967129797119016888724441218232987556647261388550676526557632087000400330401900275418101116509970056581372159507719289634570629235305154215139584234248830253347218520751975284942474429946425292076957334079442568290256575153203727735048542820649358051792298118446148406449211270956079797770740481581160102964130815723090103511452016890222863185731545815239986432905613392686042859273377976291487653185468344098108811880544804691168519200738379808240434942230940336273302884830149217056943329867588106539710050073976193011513232000496130737905736258073947903575007209504109119825278231450317441195220287710847175621846529180203085031624895273397665347886422299607140796796124747853816847072510296132597987375924011670338230329943208084003248371015933356736245766726378917380043474883451881562859767611707884812040363354140895551724217578993078036147056674761577961721896817148892638515911452349820916855750869952741652610767718434232067494138915120125604250481988718809251447511057059595671474751177579809710604298158399695895581831762516114296780690884838798393106349544085994443871710773912500451284976543002016366393721300465804984744068243797033093346633423582493255561128679224895595567687091975770125818837512634838727453862258550792872570478952978673373836417101325262443372535343977634087879722694891085723841121396855042633680579669550517512956151019780973340494343196389384541196899234055903393916459251668838270137734198209204723027707754916285397496466549199309981965431032403992373545710430057318585144534933719847302258020076560057418566579875629073757923452810637102956269872242512104074207455744133407040796451541099225164365723504174761425165476747995388041595132953232366802143861024491781840851627925320953390096372364499225645018983851916780684173493821605151523237938176253563323464781137506122907174473115808870262778930290083184520382299691533792089956708182481472829691235942934450059642685084217035628921833585015722284305307551050121380492755107150644213560021726839024229984569514092402636266330021943220538798368007469814855002440159770520078725982062619089563768422327907852593894595498080551451043515358847291910012731902311642241260219822974839989215942169364597022924458370999515776325181870263744769094670646414224819426679994110570209418916664834309365004254405942802605870439705648316969654091301492244440287493789439913057393465634172508143894244388529731163308968520341090026557490501274018396166088070637173364589917554308966154512183757743954077615923898673792711708830132852961852983984336731688432190877072155080513551314152859750001239614842716340703920652577370677911961031086491739116891062519216148062614940946525456184395922686772169001871476443480794196956958717460042853388526659098523880179975670502200255800608949014174922164235758664159503393609133399333529650703899122656321828505546444450076645271441108366314748038480145071059105547387541200357063183146648602898893282603703396948731417544097329310246279490854009551613398805053052466868211760219548046639395848257726499333066652112162061322512506260119068356370879253251797660915659360184311542009289249960573511346478522891098926688646548079352182649425017307872286605483303949934105892210276190262099982548228179789375725591160008264121801760226107617329840449548808089779456400863894431145516773215336831602556044972693941917680928459476899414815596910223115024548361704541020005090389013701172115960121241735869091425276217515448406694940582719347628847597975258747445478696480166449730036249424837927763323843286209231261643661749732397533170234992032385744869970019916111153110577377196974283879086131574041772898269423888516540051816253173931308355028073067532274808159224982268757994402101143788940438688574284883894521453673908381633149016983363941759190520900129798514597139626219535519517917826741076944511450147190143709264595971747001805140900142964530924376102267237948776701839689666540429857217532784325427298925622529709768189324860614254779889928539207036681112437254872961942826328287707274723918215979568550409786206478115505398988762956062581840901482532619671417921599963989752302934077645922641763413914960823616659498118540844523254604765432343606820218206898638388937739185841042619810995634883416739023873830573110902355187464931807737191100459832550501461170598813356684833136803785473225200491956098065915401403201706595561236330269606752525823284407532805009662638762964204544170962265900561241807792279463502578887936563500100346978019559807252468094920633932462887926422471073245119705219820157214001158427205944797826787757310598211447891862143394940161976136893042468663134934089793763431726843260217576741444112787000999360279056088710293737414225849244786841217726872395052150647269983784084492050751906464977741136045270366204968064167295137900265873058709477833799147532123198843693512176486696904885084541111056105411030287753170102237969699102392315943804886805666613885842533941217711534638776664021149917140424247506647238347947537965313519733192073145586904151997505782823446803681489923733280596838120323890709805159053730206427176882389825733307055794459539118737665930101500301940625858480709174176281583821434901782606798303870432431780315948875716768177433272379357041307320988640171246755481032924758116774707601136062472346924291270149273175218007017835063657585325076902800543050361973749488882571136538278741082914066940383586837137155505101001507283216511468508731492062999615505102163857487014751088708261910661453972264747286399294464569922537263038165445555943396613283859591872127522922205360167872392573249868085566511220854490723359316534972315765363872199694776303632124626403118933934389777103132183258401206596813766824184705123022716156713625177526457685375664599605170971975029850914135407369844725181444678572082819795375630080701054666353979315892576762601692096998188722313519035846119779187592013955874187978435717969046851887173439778080161103159006243149233712021168674270923162530485522766393489724593595629186762277123748230664518760846318960601536462648527486106654878062942756293880678150957185751794744259788705017714155003816989668787251438000359342232966337800682980452812801090335926114382993455487382369883384522869910810484874836196876590767551108038137376815315256770713177078807135119102304660826116381308666164593034975310036108730787943907542001673426727450375910433874390087309261387152881977581905919566060400065690666149128392100423239786753367600773832944837232753658829093609846217258374158137645974592204669604990842808036723958454225719792430153372055547720086550696919681962994682859417420848273363389475540429617535185431347025127654449953707898154192311790194770924562981662924732005175379161890389371809463141266961532852447549446211390007375034733770472605329994285294533752420869503968570856615912973645463801427379986814029583748719898764141906840445386099094420183062228453598198672454144239973404844227415349377080790193954681181597659666930096351076069062211643702838161226615963663103561268196824583787329627762404674830001311629922685251613113071922258488223262909648969350907253086676465127195514865746863279004697858367914683063554405064034601485652258110009031999625097067959147354016618119786844136265144716973959327883633618946185039810184514612396530239415271278918196461527516820640463036381906802948722460288101835798596633966787934600935884656425954541096148800787831474486041077520999172989742156316963298696849060791787958438637537374392261887326617681637652809901872354252647200563129964340780381681194342219473282014532210466790871007161239035104768441275422378734103999841362038314821414195195848135961705202594424642517517065480892300422558641059318606467612999555511558252191754709213395790288518513954756353362337154588871958850540634416101355721993975283306408404895272427102998768375475676273160233699401902697856718966155408725069759172422957550347135271901244993197788591610726975277298315574200469923721853929501406453696709706360317518003680655603579984621430542985664589078597356353684573984516221342105197328911937864888782225521001636830424490680250508871184153501606749123513694620543756828035627330476115622295941465914315638200913255144575479122664572674417622760326502119486714883796248539628402417182185532375007891553323646188556795057661503788765123954305045156364710504314268797725122080296033916703563971344557691513216376828831019009934980780254500689190924874285931592602249875578334895146075956756583629361111889994104116183137125139474599262962104796732115708337028171088294630531048550111141701047921440300971282677828583987416165558660438267045144974451194270601358906534540009713368604995309542762726900654496184205487346575724378144769760365780544024665576626764555219676284635871072301431853535916239698778477283582619314908060962834922770216242556862514576603114329762195677232335950911361555818749398766806960763015677027690296120555584158663674160229946057131700246417278870387346427041239536079590264618739536167000692860854627084709477503920937530502673165405962308394821010429599900659086359166034108572403673661199637324495922929409324831159411776944118114592023472803235350244337280542308234445414717608775581661498867466247239775708103010668489336979507947686433441140235927256849067323091057147144646437909384579552576871159270320956543249313316853356565646104464906300949890496333357216299578478806572658571959161903368909016786343444794392842830794627780446445353704611983499925358454398115095529684652335434653112401902951527161610403841133939098580535106441976034636427744661886323923553386457052546406931737911919636605822502641144910470546478064086600516861046177973851205057844786678415737392792918677540409534756803781319732254826398126735871530567962378893371923717006131621068653035756245898975928181984944657334300954083414725784617926587893280734482016072522769642728854526378862124817484610446541900130003022782828867137000250388746174929775923768886527155112539349799647662209723783877639770171239399401299795470237406665532359193941869743205637361685956895196695487144629838624049235449954930836831202369859972909196557810142966549092380790241922546293550199891303262919583450563997279025236309462194100686375653395660463455711609941558898597871544732074153169926959926595812796953346969893337565621124823102639000133035841784946038745433500439826349346179324447218576797534280261638942699026155109327654617834699242696754688481913877001971099132486755541682357337002205871959588875410626232309738629898163306356881526157079961844429817997175485553265127101641954609164097093072478026348096770778749462688981724718482935800448641207234613940438881562041563824701117904637406952961789255172856943634217511090043595389544001762441760296387688999078673445263677265111629067305073944295305798158554249538493229607847725363205260731684227615219649202356479540111741326673177101186019000070255241539425690445991609280587083530876017719631625084552728848919764718964214096351627553960406910258098997263720651609519991016179205446198697797994425800053372955807483792568781144907202652422353710909219246816534473640063644247120136183916984836465167710572600329285867051586989796625618204103639112427468723097958469089859661337449016128395352364062609129701658926946985963084286558162148950374034149973742506889680849885338050308810877796463707904423919423920956591819144724711966308335150603860792386586298506769055906608569780505358769740202311745004190109755158467285698153951115908140858251099448969100352701607260780476169840629488889502049180560755853601874894355616280031735165458056002129156629529524559612490410818379928546543743313642317383364655906344866857456124331834919438125641307087258822945291113753668368352349684055607137504682499529940583949233189233833696654482916524665716179960329799575183769999299423342622586556453041040066056328643914176001170801469675748715029672061323831277235830399481245156131096750679972765371378585810721545824168748066815907258496230335386048408336479195378403470095022940935124182032058572841037331892070911342046866148756828381208366892155277684630160436354654520121728844405861730399772773624576343827856399903344792668863876147255988581709719048616876482496933833451453339365130344325139073332365972955396240774485874153501347568802777601365631349007018760180011639722792433272063740047321065116790279037098846194093429113275054045273970179975460128365069646600603582460886477051586626074254386472291317634088097447348255739403312018724670472997963950479587469899314122454973531370028082976508695438898542134989602846756556220226110790138943580779224110075140805702842111990113722222520222863105872763105131688876730612841539359218414756931158298173604707957136056081660302228322954857656923656199109986729822098486120648420905273665466852321712363090905408137076099103549932521273816542821574596839263487052315220971720763306368232835075133086147828852469354730162364086329340228681529279682624967788800367403514474527596937398257151114335651285901426439848088969414341249628569382818606077660409224157377116000974662803809115151853468384123609224931503878467822518198984128840666380415229451970021859959730112020861196499356698074221304888726144950845443816447008606282392524917876449337802484731838689631020650548593784567197816932200319135225543927940530635771524966354181733141672095981185959885174813939858084617554310188051307651986359664242160933778459672296618579904893308843284055080916267085848072030063091144266637194390649970055723565924202693869023013115486149646954883233620316574608289680230746290528988209988659037997275647143529220059185757413775519934852083821559069946506614927634433120264465699657034222641479960960481337059163481333347680134328642227391022365864268531433221574813381301988806640490705675030880915444287374547711084552747409981115047003772654119653456428826678324623045707151588773001927783070433037988758075621320524807964742170983331636579392858987489569242158558776359180957142645633035869022357028083999653523032083033822823575274849704815193196626395735537459218468185595224835853012696482755739856533353915510140225884737349836384411532400163917758270316327700341096480809018191636198330868734268402620791676921146764256536914109947946493045003465900535143065162010644484623216507062854448485241082131242003799976940656139735325268572463672787013979315807046713984194367688454630558729956019121841675513777678098331712839240040540756049246694365743674185691559595603831710325034011357059783618634469804376180835161514846045816504801015133073010006827485340768573265913075639152757092342427095084161273461852933197011675363076812914465161951963191884860777183212643216626635311642062085351527068008470296300857660667265952192439408235965805690636504398754034839936606571976090207058071541201894302430026245087199702717391211274858883484611258697887364470490950121345843000236276319584606768902249407171602853259009187844067169948641635889406540529254485542918071518033781027198323658414980314508389101486164459163047128022174275750206903745055010968795585727046440767036218294798023977150302103555980914593418078617097669973860000978546247812004225214108876060639765347908173795775956023369946200095977770640689027201038706420237261611932463208999796764395534687953791779067547945981689480533737238111412763392545914395894475071275688863329257484561896301807180622746844382253577815861886677155060099893464305706530698403631486283902076438111611810463040084326763039884350947375099293155380414111238852368234843989057829532918401620133754177385654200762249592104823428681453388946111255146110936790135662799444301515640383481794401318986498258373004294265145089819535022390990018468679593846971508042660118983250631300274174534698898088838321814425799144264257019599779611586485870033381406070020066745141847339911253082007037701587242231381312146274311908898699634576157956636972786411598446776647623198695675435417771257480903482579619301216462002064817180699911832143777882825368444937868343186980034298547882403066583641657606536880589677356789736128021125453188256597422587748918937892264570368863626645751422202244680911624613834772329267505159511510091795329373316098967384938848165934207140022633471903171700542176327539011438804780715922567503822967654495508597036866799217993280565986795690262291372887801432677288620511692983921334988520219321227075580399244776896015535152791430925310138236979236646101686808747132161934702509973561678789390088008753214631168630503333710237472803861671968823019171770001737936118987969102859431910928527722229060128394268386624213191137179604138391720032788642116034740649627481817673104331937648003941451546881188574972043537331397263981555681612731161926505683312313843877132000006388345647090850864907644627113619766699799543035153481405006896804744679098097620063038814139365345183862614755612989860309520168651840599641128973437700683723110157730311247327521200143848866886320007059572256739376670137658967056650881873421198145140645974448504377876879108395887320311695749656159081090127984190949474030065316206757849099364139718631514566882531062789149829793669532747028857480969433304879933797789536161419057542681947019237978322758935795190083460975486822014882457154352715210491663600880475112650429466705007553388267018675249095543523015370694630387724309265206915107173571274767603366364010761765796175844664991844711174649883229211198024412945485392739962170388499603803969542373552462329032786568668512674235552523167648976776413042526923229315696068300521323646644897003213533987368579023682009554380583238293272700253189104255369411060329344330118367772625831061614800322697617177893742727997250296748185649445418110196450278131513560494481960170724293836238164876056693005121412033824042478671432280153950963055803231270582476477899383430714323073185265966171024001500523074666919005267278147352498326719063351315411137656200591222175488236957533015950280156817915824610342905916090322317707722012704221377547991354663334700328085447226281740740119795687135777007806896728724893064048914724042687687765878485072296558507485368261066370838586628471166115982790067471583121008644824603296538020955437975078402401675475295113386942383691208222773060912487302390548075276754708070533733546869521919124355355324072714301724059905901108263187730970390639633188817096601238617983620496140033490863931722285206419839348052816620426666511510172070945476814136346198526481448811027538688745150151337024612061538162905229193021039216941374436689736673062407493170633737293115818191395463110551231460222200481906651630789318708825674988286551474628836377851192466709178315602255874568050753659407288008261310103281366072390792486748520529924706866130313972386988265338490757398713994118296724094437814038422498561212309969561150967808716248044514823690320646000887793809840595614426039744102574882903167414526341838699404191667447493602897598323393526760267824774981605529487269316393356863062618981112571044113815695710324531169329100276817036998958267276309645340396647079486326587545392440687536612716651894492908243944766822499975453659451754154824677064009577661128712362427668618907245035742391378032840759517748824732685816781976778059455484968994508907150314778966212645053711613523726988056266315806883982179290378738895040393607239663375166728930333512882339435046380861810228582962360384158648335674826958485347372072103474171147992466650313775134350362038121474882890224156329027863141974763814340597808625997039182059887259298609739362275633879505252625600543444556725169249676877137823544477395363054126859914339692749340382430980118613388153681010085096242640505445721321111801476561868441744652266502048098439653592360416880483108328687186529450570511234718135255601742595482032323340892584078967918713294900792090712740809638500468945860479953738376529102332114696202716203360945880186568260756774376003060391071992886804163273609344469578884817906620516461026421151292302389057178643158275408486604203755758425424559054484608602876218747897180683023802972188009182557945203326842034553833380129172822520288386563292546563299537132909434389003548156339373786518222973523387201084635604357338935505434892219616110236709669651864691795723735262675830184171440179411306136374353236907799265006623869416270887275827991501785171243835342709074318300364260391250090386794350250468160945818953351445849168404927661930725589003805922001137400052234345191425407587657781724609119699297396041727587966874740307226528545168112674686611877292080170768450914935764494941592449388933443440172618198442999263139558352600357811927386535577476903424940406509963256997622473284404139609645191246145794955325933185161245138659241824756777709323474684086263036080260582989321116184728238356246526876515344949483601771427061542175436131435847989146421344625483776515652781551763068181277656590033435013427241625309531823966704286201307628961495647222729175887330208036722627547044122450639294517140608577723198605187775645601997913539690124764346743012328271596541953526518495830123442578052764505986989768916495262930078247679010612424220820274136278687183645336307615341747346148698859758999869009469706733480599994280789079981433236857284918152047859921812173717255697607087376355975930031128478454339592990631695529076029667125181875635732504717369293361799524283332243600774208593052108777102009977516938265093357039053065418539413341353481150488468968180361718204582961341452228632768634961726980001053733782479755260862736271193345522544578750992591741641614136484530476660535547444875848294601299248071761046550592521520637821357051343789592804880691014630496172869801210862539439372213070142611695114972655164028346120189581438201361268449750407536058494341634914169284158605671143955975256214375983966649481346552775257007416989054509968985701328344875549231109930319371488411477361097379996072429260907982859763862573074757827150573924177176813885295307210055079029044122093627149834697816276083645533083358328202656535500120402250726049206313589691229230543541988883421578718765052394042500187888095519158918053992998985715505801127999182353289342477782524437374714501063996056798654667718741598689928068293267009392477537625420032355265075596198860102141693211681533635673611028659290876787173862452600863157591540342392301982948956884613039845876458613559565204708884874718454490795095564493830435870820775777418761014201726302730950802912831278759816247943121828351263235408106462269914145455686999592387511901644725059773822046213591946130034613055401795654948127359909969502781720088510691874773205302235415161237121594435487210267121387478720450142754715081301254662221488179645939130849482023943015583630326256842980683051174345787049599671085646061343989985685479449144019896365757357126862319945467750774757451470906139923356263977537988851412838251432815940990703217531466736526372169226026936573210851541651679056178878872228744235153788820929865446919140373353224551941487530521286363756264622657560064837827668165409341993501326479889985346798514113604256254937023102957682049695698486968656939748531672091273460005625303080812190555879959459050994227685056183574490996625767523876614630466770198019919822330081902604647570714391427810383909824683065512698714535505239463407548245454033879544916109682984121032647707447970109916028350975574203519077713348507856461964494756962414465405439220675304043482577445778836455741929764601766840517873602974041530224655837273770573567013597334413024608959046444209319385221907638700846493278125845424955597824132437610846886333100113449393343339905505189885317262191235090739468534709106557078450065732715099846191910791354987289393841430143449698736319969311682318076799478966880987029744328796616205362739405828119125511627887939970583394432432097113474857771027278550125017101518487680165609292951438407717609266022933349713290644169426416889383094244735704250149417944002045723499116070744397392713802978697440682842312434048851751520691824240146080742692133924903493884769461810791287785972445525924375609802864130436794927369668307651190868633220387075838433329800278560672172172107007073483763835285770543932046404012376138573749476461776133323634676991765556434935071784427627703792713300363554824361147104951659075486412664211086180683295259164606254304477071163352012661140147130633291180297672583409688220836493761099034738184279536475737875023434091699265249784575783381629301595715375842552767309342268848400109117791273568722959725916711361633197749178391648042888082373373379524170858806199363086387000328992702365357143528456333725932970989589800958634431927964282661647336194851663766817497323477945422358116208634044573171275901386707992291335037017262880223188308720760074128020507158339992665481868563672738078224054944191208078467803078240369609367200539558540335102289081835322741261025395371877007960940180660740494525948134488897872686934337632991447091421239619139146154970911328346475899681649375892963122513848195805321338053616681433076653917140632105596113001063779304717086057694359852685023849359682087679615619162117274654341969435988405977788366836327641613636980089889702301187363750823807921915770331257839005094314461107886684443072180742281178923177264476178529041723313924215254031342144783219826182525087951497203233824785296078451030761342433970538302994766321384601985572150103015403343867528234478842079560467205000374407505837132161405576907580917695243188642800702562798161070676660389798385183148638163053715656183574754659360873502227020014427531869953968412555155332400834635047385814687771958698294970094083173560295312054335883499158839355079553148957344233547589729212090936096225251664500929429385950740717792584196478306159327713047275806326834533103890143567640655038537845216450088154712797453015265858561459388774982430083254165415077804357067734958871644531055463741334940085004494823728698699909586703962033677144660956237825467667888705891541695002248762844945221902322112943153725500392736541947712522137946693967474833452446274027417014316938646645933960718277428298054005602227918916860212242406745894065657988068554323224677088516561034326748178732598214388059359435035713974503692155964411044055856148034627387111218231529973881576812086007325638276141280219188293915661980280017477983191777967007065091408691389261757719929296585732040572529204575981744223469129960307588071797178829120533667107206936228761633092125489771420014361351079135948172677030969539118963599422020645149764189737573002236600846179120020438890096235726324161097296840342394659415588820482730605457055378667264648167673771072399302342638422761665325909037501510552214810571908920729744917859065085557433712917249608908370548804073176451933294263011271837089965455128388159650582115771429885633971068935631790840751788860691397394910773063766814567533668475439039185798488822507357121103993926001187769996159663511186385985044627931677290658422101781349722372855679062600380520183678232665329003905166591922868967616402803017074902797191282648004526920523205412772884040968902994653817480442404496082043282802334504186752041820730786817864516790635175998167904758453292217110683798521791676985796997741747453785335955179739058456984146383309516178937882002643292614659483031529275859980596349927673548370502175154934013698180843527373543893720182641436823861795296220805765156655694391304261548851961344782456156923723090979115573264138478582861519319773333443500009781359031749780922702751582041820679776296045645032789607055120839969194756684123619991845476355200349849633394397376395851273061706029071146741556054444186645235420377457784780187084645105911036580811328359566824365206144864006893530248443170302010165250535266160233952963285295414451715075838030853743242617739594146502260348916656794140148576432775589565940899976228429641626357103529136669582502751151483565424314284870215055336049732042821919732779240846438853948371265142845085556867717292828904213193484794559969256850186379061557229908465191929955361504590232451934816241083159878474308086986353232019664024140179283293790477884441312455306818170138070963239742974924617980935340152953214279126733334165651048124004522519737193002091975207100633558190737545551911430158446908630517499043160427861258323527052098055942514014808702652233754215341676607832542364765208024553902574071100558098135140863821873463528656326380046028167359508751415605965797885336760695991773681089688330684486673513567314350255565421627439305632602967790670452426383682216969815346496774590708421744299719893846321745065567330910505470619405933477760506866150183906481241207787241123635663008225821997310756282851624417259008124520051198530811087861608424372231264593077530261805851810288267926141824542419049425892735971229955593541938923552698884139491804455464941481995816654569477973891144458484229242800243507808283773659985932148224000331173046783579250368740420035939494432803363583457961347993707073577524171964549076962762859412069607962210625681775085420602529480190539712105274501520632967631362980708253348818765826099918840867563294369619582560115893499637790486156910432135531479141499229686080335892531402584229160948211901694010715095331266667702562058779427130962975135668565264054364098463642785029547939316607727299586297347642192046203731808063896649298097053447392166511133201449431744065080083224465397067713627158822496843569065629939745602145777104132798806605480807059450242536263875391577250035635182339644891415183705753485919078634793584029371005142117785140852068111049620407558718767977000707898593075945266519046014523004813352002768736260153619588613790335204575987320519547551649791983898091681912794299752389089248005575575581915458766571774723886535252635709206633382985180221627142300164470193377503032888457713777021326813735874161557157408814611038354205802940499298938766851299342976220355337909318070028644037581996636380834694391563188643944926401516584399531452506249766987950041139444719361734331573065903183344510241515501565886780463035033509615346166246949312724864400772533246961838093739152592822079004592284816468017437842578561599729143466263539567171954353284908860634538907809477467556467500255138293614473084650619780706761101811551202570630247703227941483888057902030633109498043004203737429165795408900388264660930184973607189612430947159376472348211733545382855481275396491722073281043748174207007029467080053898828251313005757972812791113414731234343187114563726764935530711592699724451005952416248434838693425956119777933859029862824980438071439974108428107618137517957899982176371638565221852525025872099942830312688815244134338074313561638103640340745230943601717860097570535364200194917104409401947509701039366425077280058894525049501984674012113760581640355021706127600782791461770463829020333438888441828207042364149851575328248489774752958050199450943911555660752271514306530164507866811341770883847680808266240010060888672424672251278134720686605018803084153349729265976170012446765655635915580728157453574264152707526265909994162457044697416839649073163898464182651791831879619589500459735810902492238936357818406973995229950488891122697202651212503788655694402547727500038293596238331371925647369822919948229898528815347021133322762204609605864794242947129638119877511518472053816373531358698946715539187219928325603190475040470343338720186104780385963341305989947522662275689156136067399885665612814997866264446463988009423868098255229670702312234584589344755868235003928543790660550682164317742257392234327934313398113757189130681439409735784794454983532546763457638086957240918601995394729083854015676839834995192201526378053616479721876474133716141372427363130007668114475536368315213751067367051027050961260541388049292942522355725931378810330265236123993738222176043892270531632872308723719994827903056865786065571188941671632965542723560743973520908501344050559290380048291304561979334038983343443824173276470069292056596576127825241771894614737358136592424055859737579841196892272793629434448714920046490019438045333185360339284652595412546454328114311889096988989674221108266341507322001253109104483911864791022907574060704241036853108759316104686775477464300532388327458302276357485542351771903647909205488026032025505359869608790270700979924396908668359815038119659206705510673740171301820393567330564576259807036281884227039399080955724957118398969185117116908636790082867049514381976634492527366755880837160639002598640711118016029159650611307963213765784859942511984142955037478845966691630318053543837595783398235942302662921753825129634253160538474204277388219429370014844750782124403353881668467087765045399070983235651463581822008123999266946531961099218818109680606806123607735603582880459250397277264832305783527983097001909178578282091973832673909296058071005128734902403967406661532870977003640510760054036534591062094626427153113648889486815068193408619203675585009182469857339317700404732767066776331073838747839020830392487498902874829960427581061390580387822425039107791731882894095585560357486349245547372897481840432388578221937304673321933516014641150073315507898557263416254333516341189688563117868903998910865557021658269570819458173695594211362683152936368587036571032722820101813086554802881400047259666571335143682896593054552323063066070716149328339777241359447731787884051592132229921098227253146806182873221565415865983920844255457902029300141527008140370079828165946818734913314708298279948819794840285164129165383068816207984563383527730164216983976595118184058497220272946223986488458376140883217422385019889681899595705655640718973010684894027924993204360439060972356318892626844276309923935769528830980493600912052368388633801171668627470190804623143878280445505116628245963025766928881192519899405865207569261184726844973299572149765410994372511459797496644913675640266955390336556200760531850146977891516962872749685672022999895305640748037258779199266004126932790025501728839300065754311732077539880001277525810093321417442117505927440496725027684310164092797754503250131032877127303444054586982801147081014610394721254276101752658503438654809779691461735868343187790962532427286088481338615444212920255303607243810021900749811453721766635223047599490855859579772929024937209985064882450198749498687559123548217807801484793188077274284222973986161061070029589855659934770344685915136495217852205973971430688364252519365099562170651408829521025189429275403478530798919092038190615379403344842970385146485514702018517761943954380201940307528348041962684018961172440745596347517606980592691661040303939006634579449470012977978152287975584501138705751784561176051958424423812536998166027393381760283482876219750757561946602091900328854247271396885633735200549115645139655534960694372867032532869621342567875094453625449388375596695333675829637016046161622726897984829205273973461957331138063166541732326653564994762153642912450909336606110659802785640152866210658692120344903085989470626299968177973151065916946398950238634783636336342114133874353161586077981217460339290258357551446555689680796841801365514952341369115498956926288146123835458017319465278297336137414638417552922071402695734001063215023792420322593158677187967323273977260123907047345944036336049672307849177082526547527980286566002553631439293331547045541720737974850616911339368307881272672264239999998557553611721685118241038777199098099473511556773290225862595353815547189772378822732531867108081635159595282411516761972951855559601066289762740918492296339609458551998969764330856650449688487875543507675770746802669295522521230433134369819476863721608548345163850868324178794458593803078660618493720506240242930723536941569671310783771325915765743341132187729370553376308918811400403106387282315479020390685352321491942786929023520697385691897207986571358791825351015339907543114995638853878597355822812519096589242743239463379964811931814128649430801677802655038755713753188981247460687188410436010671313512019559616275652290575687743063386703500832607326555597468307540835664076215370189794345106557286366462213156806981624079279815630589625147345449835786698242819205442300077279867044430049157044438830349422744862011190868016460338127974371603089731064200844015457107823335946977523302922796998529605650759978021507661911058456534291832563142092739405169520666293133076109184983155402563061437163688911119713168466958293678502447001803020905581508926914375036534102617553337395477639259342146647323455405163811042852995933930839279239591293452647491890355785218319819761460812371307504148325366767151409649967867087888569310595997833379136159669098619464348785928734661817389837324309120215264376994106926494056411683915114866228547116332498982114820923487075200459128625789774158263643668209498124587197300995081730316296609215374089119232304629622256615234821428000993202730255208504325931629822138240345035062384548317803117907911164534452961053252586919618162974523569641703585564626715422248491140918222468011297081312527798352829398934559115959935879267601174765145469748166345184419605940940318930630372302421426032505405607064230036789824989254052081403730698717454450520629060675310596830723409067854990587801329844281320597570779112450075962480398729844359766224587824966691133517659964563442777681344224424069957083153377710445220540539837038283452503456706694168325920611552025396799303927712705952416640273630987146261055302885303017518215763760311744290797244852685703929075465845816178181548801040083817927313639011242842194399883594075868573295821700117309027733462697909018917405433244286774564361806463363244938509941425774918014330904189909987627371860058972476412137283440383884760792672871590558533623472209319509192784106612207648241484945392079959970112364713714617978525575968081065965503320125431325913908573431462213707772903209870449543281035101502441448835714681435271552291101698516144269990009603251858621291695895736874066316766427480143221915554517612038755592293691714651043361982127654015400413851344639348494593575755657300322823059070622793479763227147657952506428368308049161947535145809777635475714664100387626931299591434566174542274105787991843630525507376392080524761394973324355641321183196096872838792735751309891506669114876133342496477150052229139635503963454808170853110463321080581862636667524536870545985750378968469923978210562990660235664878455964032858542704072233348549429789505152348339982581282748114712197727710357120413466708110855878527380584930309526170673499174216782935288044945412672207050333158211566247355137980941258469508907974490042867851667586861679913003398505070138010665114505830982205375804284527729905467539775752306597412836462414829394517945270805438912449847668386096285439777358032095555438847038135102562803937731326483340963019414221547443897351085126440180081194178390321481942134932662851549808345124922843607720430842057309016867311954588219711261432313444222974515829797353025072449444951888467356303979023611782442854348379911616112866085223942723528262714638442946311995656792668767638178446834821316049233888201548696970301093442887616553262825882421952281869135334510335095680944479240865782706837133110865730011463418088235926409218725115553180549749890161371548787486611808683493160114726147604189955703203984868727016366368815624878403910370112865741894430542923745805143262649808186444883235967526730178019564354185776445932904056980435790214054619892736999715817762530893395130542742438227331504836400496766727559837489730359028212088827810908207801272314369064643309607387623350277126251056968461152718466173151576850022194622419331634316416456109719121553565218107568105060310574738363272664041745595921428819624990273718295166396187967528555368580014148942912141192803962989887703255715471257284039270675929826848734394848976827427241167102673054436694159030732173387091902456407435655659768884599155078510372530168796475219664633479743499597923343485316428355079149400052089852595440550413720361280061210030470260971969662090625652303986842275912316488037012944034281097727023219732850545343005135521816749367227684042464489527363468398060882406966467252875688101839776551007432185813755559728336657060514957518885537729960661820922627831031869998218630153562333257727897973947334191524071650703298700163641899044496623189553983966114579392632423036832537702901334315508333204229731129779007804060425945284408929367867187139742638093411923794357999303085305491779007294532260507629569010681021764735876959212179291172228328414571348894249590191467546784344278283125862239116245699250517447295529110989042405055774122903455659346192292644340528369683522970736166544994680875906414688818549291251061609638032297909970959858925523271828346995043201028248388406320541358776612835546015390782536668067669218497190075687404528808121451847202039331702665614683375805492206455758947269607201143367178514683052266908817003501703844469657171009121715714902784565530167616877503762708362883282366642346312702195856673247732430461188009658221399753202385402954221441344838646290125796066421354851917209674939867425989380880404744155989933535985560857823346650250846225838942128569986366480836005771072348208884890679094271098394797040834760602510066112887295847022368887048916694813102815068104910241789113703901043210482769794280346725979218992006166985030141196065406112022284479487040157288080571786293302044337826606802215439368443524664441803718416076046792378553134839845390736126841618342063775056301261975376039967147573766187173385239990958224513032265803879058452986702979242216201448847210995035475359510870503507129575841657925187106927859681603960827044249337529072628376086302088102311799643021622232845829164979533956419063350580646256230666560565973879866552794184905594624550169624726155429908181545566928137199424174397090093973727554018263221668943744358076317258289763329772783081170557846540303215025418769371600331222901856149612774460103144766124745474090310426837541292096237394860604960870774641942167994742404621528189216544809848690272133357379230359576296152511281174996815391525068938074137030282411335349472151262641681415137308369583848665534544428921314977330966584633943883842383581236917389366505256026629201130876432264671640982715853837498812012567073022568921426199236322372787248028071556338890130910385142007657619219723904585255936325956080127915585561601779957333660168321746958647289704335787090322742075756778171656890922543688251206644345793527402163916811425451727279255593970031631579055836695047521449932994687001291078713155563032880194972601173394755669647865299337066695013513428236365493870664314743838161486356625665076923287758571402569056840379494870735357150328129205913053610988277219247696162637931894483076340262022180894982278404109695491681107543411191773332122555758975040691763667488570588697478385807653789322517763926965912186612980873920898916592683941025166240086100523023684887738166339470229368760982775673432590069657142098070908380986353926240681220442280387829625253226225794421984748463701870263721938266949578277367820930981106102921649069447748168261525393422861332912700564011971610038691470246062152731678011657918040017457452258613548570347904807227913175556619476062208419605193820904932737424711114988557839485673208876142242742275915406477575529797978180373498441513977737319748907380835257425722849993881435482720671838017322265214241973124422281221314112920614469933599089671198153550404903756609173507205427767956116576704788859609686709150232035286082798353410782720462906576137778706016442465576914921316035895586983780075738667960995853648207101976613000032812209845899975203678315918716386188444906017509994415558264746662893883595196891053928976935819924915787821002278457108801314017528712387628021725073958176369954965882942363352555885910008009573011189707300995955522853666543578241408757631714327945428012746173726367261457644727392253911056606787549056492641841470694778175944065653355519122162776458236962044813429002934320731707983341386322629076324307263153426383746844520138873762398480479102380932908780374496031661151314913918101210357453082618235157498654419158431485357180579242791136553678737181433630524651571792801389315473450044343080219671293514037829569645195913557012401295567406791688027170804036466318544598392403968222765782155125725004453509137269020656045550007404640207307293626269182438720048208424201525752602450101629013271891350727946044324578971305587149455375278507082896761564757464129233094950171557644603135089277936826631528538953627179013539621914964056504483492607626601290210740135089365613220010468267027378647805511907417843355002055231303390920258158607139579958628108238803187333970396628380549468822385492932220333204664830247222655814734946204830367426072621149040885894516264985754929997053068488871663492928195252946829981920980496309748546416974090683611256144451544069006074054157976031393602841937379003772255254167106039272034594382407636493595491530983991334503086609531618219116861422745160685266249269161221240608671586933302691465254555080740824574710846917453785183083685218431307789815359570533667993409121758313576479448000096435451354046191163432759933991503427711980719485861231427756714339706605896591715853944605726195579731197049396452759686608188565271834894194124051230020922002228795341630573564335998440015733600907220696402978842096678014435313051078938855842670022447276879930714178758264732129299862689179681239825174168041502982032423201189396408009488256719579335060776667105793456800893260235970267918992813724814479852157542395510737977470668538595410473889156731293104172928371053580935026818340952648441730113107226109255049310475793539812154161480481707282849653927211219050426213156925564352855986129360877436900896198826801016154967577908878634934276868496210993323330624481902965794824309642993902402931954622605615970343503538966240310811020965832672694652079347748243456504457196034705271335366877462910980893247268306994739863546285860449299664928778215471869261269455807151822698484894399411299171281185624030175039134218039234887376249760326360788032884522075365189020496193015837010812857321554566896413849188634698542595545155793456488365392914996519144454092983933182467543125084452787594671345320104671725300739736056730643834182490325647390049653957692899642023013450164237483542954377182813925899925114794775307239086144820829441958310099220919967477374772565360218193234054715615805217904264904702347908233011058302407113122162509273327632007039709649663925356725916183415768521618540135554125801985459897563723484691806402628500907355010374171666824848882121886410464505276734998518110156201162613592411585373217786690747161476278380484422019687112204158603921769976578459940664682260980836017548757821529285083523008253589924847846208572431653122998106794863586346320168900217254270071301159868394370706967493074333778001620460217924802019833415546527130252749374516632331714979551399698677883108090019914681014297490972482841439513417838892276926079724404340235446722681144997112931443881652145013302999760637392898000776901334899092988071051341634604441287245710021255213890978150213409232224498433821452461867996699467946137814726004314783958228498975149354454138612977806868922747308515404884663167975777625809273377343599974766314276473531283325784131103684142909241711264424746560636691374951602442165242468500975766163321727614347367014413290454586798324398064564804954030754322559030972750004200788953635951514168352989224650898054876011618736397957770334128409562545615550798163561079594005375727107511568396301588191143092763545085791216601600958997358335039347726405443025846621167295015193511743849111443234449105153123356468277821678988933027765208109784135495311805495911963086053234918512398748567593946006795848901171508256510710183274492582528426151658669130007071275846370531218704609146345049750235307120085429491508959936539151420058687596764603810588260814547833812584920218761622401363325413153551193541714403188058382137207799322618634035775547523111471643492594704788651928879148024421593721742889968229306841638244807688983338656451092035892282908120350989542741884294046143706042913996623094572998939870029877916052668009063217157538185138214674296560180383588135464982677059576472196716379502171850655380784213567604530832635379367056126170233252528699332106038782307130778248471659499370403137967646174192193696952540542082243503729502465411636673654779970471104104578882920651667286064973753714169197492305488510132707480683500303155234219993356161209708940141968580942988079971708713976974943144509411702665633480613913185372442329979638544750012454180821273855294633118941397408816303766450980868405546371409409298449553781569018722903479683794475573373578955940152846913792690467048970919257402461400884103006117357431206813438331461370499829333487080506143769632495632488658966347987640260920127638434858778330617146433838934498500470867891378688521120705727212083696375085306517972021184193546232283414646399622214602139777649748650030002899720346047006855359673813120756282160761061660213555877024023104417024168512712173861656497490323270185447602122586941160376148481488285533186319207322586970066158451853969212324264265311734124551433444604896762201811924649204483524208756448561841951385223331181764038848530365707892854558641113025908845257619906930927450758596031463321331417652001288464621965416966385220996880513988710471900598615990330148370428916588488303401747040455612834081230687750352403978400624942454051624328900256657467103090566134567208969555349817360164809268470698807723346197464818605255895764431959136374013475823127898795131604370944971407223899723917480724864552254676452162324588872557389992536248372327302812644163906471101564635069547246622647721668858630891321351278315626980691806443158064625459580753142326539126020243706691865354097157991517549565680676033210425297411332486038339284771376990673307188391286641922457743382602367991506439863302543608832262602687127418139678672630525870340067665328573929258219422032310577266219962338707061936141699559905644316446990921543567825432883386288011645121186961442257889088721212901719479533679698871315749910919254309534926986897537345786063147866944321897566304719801209242300680343589816564270293754328595051170025723030713222423970223104946666629313448555403779253589691704740737344966838979422523643301420319243734366547351218980007746389393269532812821317090102481838509588027514034032147119096690040958645119465529861474760684680130138747319796887066089848153685639036361482331206242432395319290384290279918233838655893723225030800023998853336811200249637719378116744427561039338766036084582891796596121251315880346374777879626340303754657805501053671946202687806369247161346214038126046374830275663399313374866362919696560883722584268552784512159424435059545009043241621659698867031917568945880929429100282960926452727965114734864358074764471340615978955677735952224585341560413018935649155407833306479363528739924676745390243087946508377246296734803798114920358475234709052362403847715271482872089671435712563825656378316290105827412041299718918308218371527856793920149503223756828975309511119802700169968669048021158472214256054300345624779889173981308845591336237818808604342492388763541481506558018702442013879864402090591805952994211410267158553025490113449853668782440626948499287450484916779434343485675272032118390338386197175785801595459996291225312408932388509745140228971424232551089840946586099227194644007958082714058598280959035818242194753929035646207849879088017953419682023849066842234525213961334865822247858125654990953861085550214639015201171752737225523156453620197669469269937485144157195731323344959127651789576618176531507150845647733257827993178662393379068833772030794121734588178980969120568352955165212853272812077801424872631320301774054259705987921486757891842148378085710038654096696264485764370473433473121747639409844813086888456570649257471146453165985953726349371367526962187013375451093358166855565690728793464998425984080684157000825258953601855257577202648111735115247965827756903864610534780861952305136482126757793204421112324660837000092798782416176474624314003596828075387540301466432389049108772262260990295767652685777148379097116671555983331049004878967369938194198687236265821044025960835708445327718895906351392271058363954284622202270771345802417487356640339245287615708196019557599981881904032286372236745006338506842265944798906531373379702856907088147573686988693730386209207655997881153886129254039568638484061350340055647818649676103319182855411927106633963452445810538135373601790333315290660166939406408494416835387014268220120321568565117136094560012074420843158602600300857613581336469753962483486668343454134306026371925953381826456421744925965154660500433476707323497714609845821458446365632769042220929877667928821447784560196102379514297218553299251412257250558585243265966496221806140566514878415574230643338681616002521372349512295581136533885294583405895390546568484631132436906783564759580705413334815166472174315635982681248426367205002468783216280196216393662395841673524825216820159451341255490915409402227964138940402923623971874608477665516804187670393673657505973090774680592777657874798694751211290196213393993038355921029982337670992495944895811989565316632945002747889126233170806352824532056717465623254164688614037744136204600004947182681117232439479738669059274177356814813067961050940345417116484561659583788942833073162180266501182426614135479752371814317331828653029593709266565902008111252438655327355805269108010496811892605237759208194570060936141044416704479485649714232741872325188917804898902894682103651051527660853761359535625821251207075631562619100859310077289865580712315879789763746738421060156950976288294498980200021624766889713302037271138209641057017197348536388506129544536937282835544308150279835205992702668463082305916989774761902510091661538257978890737431596081957089401801470459411313372186071480992204626227068642186044889785702671996419218797089648340353169610883849828473161465240319469991493086527053823666129374922584513658630937594962392165279359815755492391643164903438994402673364801858095955842308914868028353722383961398543514827821386547889515952994846695999684141932156259079370339484777195112697049872712500193980064194860667287461840595144380487096618372528718857163930033416520674970517161814658337840253926695535320660833250332679409689459687953404058620469542165625636545110960593204185742065742440345857895508820176339696069750968973940850024413616599821152913089603729122620166283854958728815728301149056824751865780283523687664698746645937751650811127948895932886118838059886481836879366087759976495889208896404161465213487643936928834722261190022940186302927004043211110399507023435475557178594598376067149830973215238602886324994352528432228562362853959133916718534110682651754394273572395685934204421600325374555685469266084152861396923088766255605538187131937152049654503192117501253377302147113156027664906040432334117852832849744265064859565482716817491145394345393901949053166332816156466556541789900293002411241692098347629898698210504761409193079667343631249726249999557137763490236562659254366660037233927040728156547517509810651613822267040439531167394118588651397464540302927117248361881856752361786151737069921593835874307972131310648554466557965502865740336783465066706487785693917442870370410864994541708106336647744735382291075219880675402389526129473928277524871779381372145591195120982948658095844873323656138872476788770461909794372607186341372684314101733041755678182958190498598309137422530475794082954371510162937213716118155039294339999018977942094460673020051994338192134477337494453638261114284226230220375860354862029941652450814633381895174235426142014188715437190948474427437146930612965301710189340072487422068635058169446447568693632369040372263753426621310849351776063562339016406607777317591557945011870538830141061124184492145970793523931954864777521781689575678884406846043559761889111464299670980298277473706808974288089904630521413297481269336681452624733479691051922276146846000714378552185716860311536609351557484483711197334433344727119681923804763778427509997413467960930904113774498942870305678980780496600761315057875458771505901502791135021557035376967657499788566208114819107770272673902047414051496255133177106501757925529238966425700493051678577115356839286370647132000503141630567992293139585437555552493001430519813674899936787382144314947872988216983478511156485368410065404458480003333010823870585307391702002671074675941578883077279958135468790919476211930431046676233553908499948442864578091702661908485590973958913705361684283660644532296848432862365163273244078901077780645093557896989226115419649571292053405399030732875250861685493437519225195607140095568742806898084516805027712219805454605557710482061262280412249220725710368941096604082628208232600077409396470739845330877277637713125732417994806125425901506174003975872163834460674657490011373293196877858675647989561179101702180391690292900816806886921587832437190823843185042604963339953249174853881480969074789836814696186445027982887068952461474417710839126159916027554355402211079546932198181946659250876158458452891052547003934234879978182655989832891637604206480936248887324550696468649592199274155073086306236582088458193661827506258240844034420031902811638138522355644404050287538746285848152739589358117700290518126107414711184444476694374481574647390109938372611492805407028530796908059111886220683973072280702498586617892510558615362837869409006069607200683554499237458925012736830234015832507276706850281722582215630924411526832519787986414068938781624879313796684803074337962435563654654110865061206072971803614234314266002487135070780182401377459138587634152791179640220448246868190987561703182676940630252274068337731734684841503693044251013942628790329215901179955256779402207067790929883130503308986731722597624550066919164332468980889171518702017745434343292958000765419202735148452658255537619813140187254443840402366281811344496244433134829378724374553253199823713233644319864624174442744687253628752899050016391291723379363346055689867116880145795715941656433744096553109150586643710679571517355011193813857668889688093918507181283458949486824325066385259379191386935599718654990379387853623258251557562425479343304305315807483056653120358442627514214346287135078182245840789977388913643094160229734453490093966443384244028281539815690608983613363639140306903987102649926708470751046616322441838038489805842934667192917246728493300344388433905488484002047018864598461747872985657339510764586339093874423121525174682071463752875729695652341862552696918032826161747447648949099891854052252099069251326341693393510253755966874189416085782804486861203623150807746638708078482781019496051303725747548747528007050142464905160148802002225939382411287679033127243547498243729704936819107555376767445877584766531210734781139888701867760303568147111747122712329154124738441510565346390550715742394598038829519198380514027674736031214798902775874441393096164432410871677158437739355172813117873247548936783726269536661745461223436643687409937366622140616337076548922549413874044209377832593146619369157375222369091422212705056797553539264462404945776409051290486653934346908888478273254725092715860159307230000845094057473725455719370523609161338518639448616000274194287861870619909139949812866636162161602627236890994827708324265239903428657791983485305593047803715134103293944371937479637517714546597350928359392913415802451817371896172282299140467383703769464538632459599744089601204065416762535963959759535646172155943934375219327378149300197938705179911572050090715436494100431233466466563982903941356613914673647418789726730156715898636615935789304593383796362903800217470882654663787594585958949587502646077927406009436350096402374100776314595683123765777831022978293851734410759833816169430704131361589659731351618709984967637352863982300165215974925872821697765060340272675803668919005771022021084363785226899065540849719728172512255516844903375990358092037046597239180169574563450108551835092330406758960948314506675352428810772474600175205007136674358825371547929162171089793724387176840972232249241756060021275824770592065398823521157581735030741561443960709677976602355496964241769341477553454364741490558258168020663668096715170665510939831568067770295886501881085167260737389159739733677518676543193360368559738034464923291148097971953696616726699563408139397292977486703078321385625149439595413762050461133156312107646387045431272052469635563664186386034413904913484415100573034758726271250360802410788884544287307593704740153094575081542027916164700142613042529656251545015815857971472908559081948299497163195434196814211936909578112344822724318344099379116373855247599507709033324554354891980712246948305119960265860716800306299271694587253248631270221451258344174931640124309211033372699679238760964320986605077623235661136168111191845599626405924261727669937167350801234762587251434555763012504028700611942835530575375287479606541275418095798818336268818603745847100262297014096415609865242917862387995835115421177712422272887700439078387919866999349097806859200606258273733849726409659846088491373131714798734214545928502785164944773852159141530695641532063776268431606328038013036534449094756976132407573454024123486648261992658794786776638270845411020997800616203895183374759158991748894010790598266605944988209086708377361314898132778650770365623101923892244835595925841373717449856425031781120955899179608884323570520823628866042209041600957443062018178225976334448184306999134788695311563099456552234932394506164986805720824619146256629663273607413304736686458427948915460680560858216830909477606047657465856516444466634869104299343571905249378509613191607398619151839637859859499809585033067828569395761349767292109848737469566760192211657713303411779325300195330326371356230779061742468385452901085102257606549253389819301656914910585084635598156763016336063773654379934276019868080348269090054557145956274470547382011104906204487409068370948393675945184114002661515915884075562534438120391848713084817737419564842788780943866306712106028427226532719227476515152146454463703896815578854432002597828181513408261201175273361848603214826947361927426959334554501651059625078018370832895654777811028106193765113388405381969988992106500913380803894965522640137246398270002760555688617300012601329308241605675161361445544243031633847642221828779199521280416429980549975312983858462381108872681914794272786986427181474066603715123316566694039568510487852513523115129370984364337259271461743857038507135729177325906482456553516185822260035224062398301098480353355544140908110454837587095436679878351368334013539711869152201879618157441749715960608340229457323962414691699340171745135889323331244906325029876073682869562519256631111690126473160639268368797229101016057761686184272258939207114997249248896889854084700139477794284917815688524974146521564632017506131561385511580401179349761411996244180177559080639183697593186261093203642110005114976061569500363747172457497105412809897976392917297591439434460621437892350833175990177793882480942810896514987650606748117586625442785460097275948072192750852440861728103721931035418022544311680933572663239554082019783011257718143064619412104741914521087003212528196203732130137126047937063339282536977135560207651487432435356370415872091818848436968351046554137700385189178990215195290854389693568391447319130639235511723825603837676323167850405937813994680832775977705139921826064546754314214804173947193274735205765115483484675641145174446722608532282216513377658495852558651259929221290277101484228735880916344854504130278526671924426805153953114810508265356375505497225136596622575149116366357507831305077923149677978319167042155529601223929456037635744298087670818146342112596610803256595817847551116468706012659026068707066705429280218436518999279119607386888316388188735133489095593522236023313784430255470084519523466932594310555138607001348962653097055801629617026869495066478441611081121740960726628191109279446281052987836612393514166531371419440721238899542959001963136866108047017079481237657197059047162207687366334076979775099688907166790612160607573669570668929283841803112406508182184192880868032679086446375975662712363309747120027022353691098607110184276858259708965496405149663736538751992031407212694753422784907172549867856434639753583816962968799829549984757053867361228141191324084270186812194135406634206285020037690305438765953339519756805703307785896622035944361695457575548342626886193746901376960770788133121701155664536995848609059240565813818741163010015996027930733216591965377322449785696658388338117147842848923138387042059051198538396155076289144284179293900476378814351994967541460265006004598364919124512308577587110401487389167046747978802161571610878855080301625966468907360146222295329139602024724999938959390162186882490151896634431905005732024377508215244998079639497416371727300844462453181816123736030786492505740071738382976988488285537747530950898115367690535043105904018632835347357817172772751276920686842463839946596165413267097072640277523544065796511598881863099560687844372411047314818603087280489154374073370857840856313819742993335429579104859183178807996153532065308884831432447600695559724037566667150435408331758525508612380099967707923807024930324569027965910559697699265853675096682635618014270732887402373239795454200435861342318992266340973119694564811215251333639975428810663689048899299606420000520518230919935189360348445697323025732003892014216785156884917877994168126857463386952864042841137621033902522784872158234576475064948336300735898254721696155180514358157658296219089563841210517511863907064435687705636612146276341705354697672366642527546512526231997171294191641424038643559206938143747335562902574367866178908529850525387521647006524908697263625538986906918058763589927617903691678421327695052608159839876015432640889841625342617345322410060794353314711966345278944280641845666179031715187324410032650127465049593784970299866449606084515172354231651365987595380787826848212274180346505786079506745847483496022816599741310373075124122049461084564112081346620323630257790586669844185506173590924623421804174857317830482679374932128633074491588869192895770911944454036182865215175037362875539654578805588548015746525343379899886580463686008349676929871871150342202502309839434334891076425734884124906385657655258924846571357307778730550127437308196169020806287516227728458737849634457985897717290961339643375454228549896182793258580669484271788612289060565903858706446266029016523739370980895259910824743916632248708512941028946150339621074054487904560905304672203223442886231419516196251044478659722745778074475100840698314125452577413316255586834476044695919025891930794883353350385288495447550362915272844919678987723231351683777571940577976946088580301614753742499664718667499094363245391497341013228832246574688087101573806768432761331541666978447886168800431408547306001771225728313777159426020060643430559078758464808307196420722585449247590704464271396648347061017888959772384275409873870981003163695193087243416238643589322989920036194448617749367764242175621202396740002522654541008728714617958494141659549494402400554279397155595066843313564360864054022159858670354224179791943460236476716888720901017168577354441469901479958960134150669717224616909844018743914076482930386523635004755634740527487263699656687177772820772285569580533365215142807499141379259415863506707961169152607510892574741172641691221302003333687966342378036652511485475911910719961234776697686558681193751496146376613165032992744804363067388714608661134497819196402419013849504699599535574790154512839861427241625021684924278030851109720482855075845930907995364088612904269721700008300075754216297645026900660712375449550565850671085524142025934003611161288487972685477437336901963700913864048627771758043015731877562323398504640921289515211809072133472535599792892202185940129097515839208739645358081438630261551049707156243693006835741981093121023945329144823669592596439524644523138288486597825480428753808159697244365906804674063768183421379530276776542090109238636040794269151625024461421957381989377532588390036875363141946868293550671095858831435762604009472381999542821986824465641653300307395032575406777715472091631381204007599619119100348082074500267622937758363507184163525191635039671462879414663083575873417277216089515317138148370053866479988043095729393837251998724205251332023635606026586356843915670221308123306079675771996517499741007050288870134090378202190356108093329102200713325443270915959993125929897980447583346414061774033564413895021839904721731920836791709719415122862042310306436600191480752825515626823457186044946438046190544843473613786174879623217461271050703229727533844575348749850205740669322228226780042896819435534460875632125293475967942157701877553885538451209423540650271804905736836133641025023574259843331820272782571010611207406151635416137455184633942637754870708760478632834237866114347984953651839163106591500919224892852874830781462047539815864284964774777155161259677310702059200202307314643543839341912385741403867202811546564733358701836223893613546115754093255881447907747136444610960087591587367570447459971785129562316931265447842536153734801172057609256572341167646911871538834635068090113214549047406403108228100272145837094099972357348923511697428199737905460266143175730169245684892826059993323873651716296459351764956256682680727288001802631345541562845221817523343896871845163434580484327203394766741879747888409386238920444364674251908486742306697796976488242061028995231439623876059606755120070769600465987021971899656541687160356208604603579469682543797938692577191449193117687428617242636720621389920552917536362774784734202229528991263890913431186184606563434739100778428855918970697152250927442550746928303655169758291413791944836014803648350495956078989039447048341424102148203032936978351059126425350543118114236222398662216227233186068128748775451432516694719910703525434843036313814777908296962951026449226073534336452462835070434932051304682984096341922784760562245186649408613682719125229697060483757246025814824293874171461010584158734952974829656045355676147569782939057755069971832959872866395173087307436077912175409148185998813728750058609871506809315981200609276048999822583185787628670668723509538364025388643595639653932739914681108961470528467061672671920531142105457163356565443558691539939135970459039365230987845340276679839068188576792897850566807986530192367607516149820262804233940725439827323798951677170654128675444872678049301341123252464409344496147422006468664812090606652443765051073307914271134827594141651481716555935558195083372540930739699588792617710792485891643340718277409546859929930205388241001625054329918791801557476319494258905543277447747541507868144752185877698088592259750153635396651086888980588682580805335626891184195830975334552169299812441920157500904850518463256451912085997516154779898881751649077542297447940251238878504770797956021050659613059519092516620526693546758739820759370697902420795821397017570267397314005206189647294005637115989278635730619380019948567273325520307069074174774821942634862899726094325066619542388025602957906313390640506942082476925240222476184707337866267392032206477750184169670865835797920159673360280540867573449829476395568558795547054444869658641685552860970906310146055287136477758018799703632609430797950634838944118678209305002544886577286059536854627655752795815852768033379245080096199294032551648924559879791390538164131332481187925997440594765612836479172066827178760050275407297293065456203955451664440799995976639864352497055127157308910005551021450004212398670118872908319092232766945766224247868947138717055776529887140707881851525117669355122915470194732183433717251096215244305226391887490856615103572426399940925283550184695727607514706372541073372257652193774597692245447941437848957480534847049275745320628432876622943059365263150099551842309310698782641806751975013196787151045469629927819624671680253574533150809458538055846530954888880698334422442507516013552497284141946023280854221672908629881602602630019097285781604679948152239709596647451029494261313399112961198567704918931068827354287468897515388963657803265166372453694044740600943313668282768502376399265641319848109034163856513729851810618222038368081820264418913547713812862255550636043500103694639010247689586406873171685662557847533770873242489496330810140074887265819137853095229938213209820875993454591519749735678213436331393680428703220176615757588893451001578079440205828338870551673706900641642735810497879009080530823082086346887866384272863730715602207737750746976052908997008804758738007985727405085873931784931692602060674905164700378301804275947564877307075191223928786566571924526260084103561380173826600173058259452730692415651489225751205625564478642710407437421503615367665859979163261182361846507176326651997762074986391091930067586798999078365992193221857811358887467502819244673434605127873873177811621324174530937532576336467006795767677250624303972483005185764499853545156136525650821636060099935874985133450183883101662463479408459337838933340338227172708679576366555721282311685054548781858857889836414936597695787930425600101776031963023773169419636805931946016699617188734958917787183333825243684765547034012690937400114846368264333808946614014525274127173472192352729004175162476813469199943118193537402472423264688999462938056457488713626847725757794807479204703713196631944436716091855072586152749723574968927906228710744032777881664599039348239701582289062053083087958424581549301271833627181407220733391283132225643838752434837726149064899742721193083415727791017606249349272109058010303775812592445313625084697385135453096281991914317873368575517343336722994134668002898642701233929906312119531885896849468932428367731484341243047023712342104933045705222601553972184127765305738938126442116157985957132084306747851077246768746839429431711509689897150239915427363218450771343221610373608716624239323389914949158782486820533056865386182758095469702863983266714516793798394621378772310976263929076521821696248136827903721779786845784149941405482213939381082449544575418708094734720214590708236525109469776413051588311743333894234213144289580981626901316281579407252339712141710232534777361572008912447763579174598969333448164764352771715630331811184390410945006524450888839714646510888517801435157085075347306673199547675181780533232500579986369495554898755738205519048950833001762555303373319849311116886552692574849220890983171465563257129788908533021258360884614629678378640949220893272495992408772183015603243193933966549307608145799859701372966803141253089394714136614147843457215083210430207814965033214870574242979828910094980599718226526839711264712764359420608200816969284618445847061741965917641915850638043248021915681993895420213866902417661297751620825339013857339900471160787339087686825309917718983016701515920920671920208441051654391922971662285501833677705207122005614028309345548888880514852769318071342781792482360728750290456683721372193332228699603132505642434334865777705037167741962589381870372070803616853595154252160441667772814989056266753873720806749336051055275961053903201966876267376845049731645448625985424508716335672862204852096688472866614715903594362697386121989412051685512902727640581875251138975394015397443376848075629137423176678560428824774703516289647060897655424067261784323696042978300269139730929637916322410436871837776732149753951870501684666647684727884581940245688219668420814687437794986285393642059206908065840012592079713204077151455472629101187786301665392874127147579724454226980674766057432270698097016943132601841104564389123007024246676486430500798292331179242143093921686066046096727037504516601722812194538549925147587286660932204515542672998900227835886080547351375067354736149087256762788730380440043010126567584721881764642165225611509791434183823841944429106038351283968122460433798194994726245354217039478682479834355771523249294216452410915133243248172790462258802430390887480676890618686703659930368263319140580833840966882059265256625361223240016420913940479922801096910143698660023450248519165294134130142764604482088500148624816330896260033148949448940193389055084988312503165034229040007119938387524487207633476999049187339889743427201748389339215117869053065678979389714691028339305663211450916706562315826324672472456621892239997481868042654885068642571131079784196659359677204410738293407069418019557296926796885249893933272847936440035749592026168709083105364834111138680022144887084157040454717442582560062486364014800643110257240061922564711612443557436371672826328459405831523443217903502055556361427493430213671087975020283411519712634405885048887423451835211784139849199221485716699399138527846765309578662731708612252281220822105610056544818255508204689644059382292639595081321819789463043553344891137672619752036630566813372492340035868849747201283423452773068872281653435191492265120964155896541718631001972689352155486139245932316470737247495644801678637218161721256466995911410984615400988667161778459769090448185379639805951790903015335744195203269067464503755654820687900474171993955890964702437964428157095734145025268733330822599876857996984132477388989384133390825408235936804869743810104953475955684450373666274208095569041552418801758233394651608870829466067115814650024320365105206097748254116270016069888353160041817141243222456048796967137013820184862870765391430763096977217564094446626534443495025060852393051372993093439528332564648516963833590162354812451142120643015001667353158503381224302297454449098382494882495199510778348268041802405401172026796928653442462730319293620725611201279629375839579411629110180607296643178526342313097921172937721839355792805624652272867196726225790258412239521245369919619844357743019767455489225825658505460998162634899633781047678391715311999272254558327710876266103693365108569105771612482179576393735166569712919312494959253534191905585563723696047946600584809661064917721625103254703139537076645640836880003930206670266545615944696672026845526942513297588327013655639460631794644914667638370952466475392211591071548823939359699240919675380121700651227832972769982365894036728025089931743148924352183263981761782661894525460624299008952322176358777393086600260159685232487757767417118829221472193375677076230843900834349403468465401165076736961009461217535068950004887358398397216291991435242761530311839055052581108389260902133361099549600633115180616611111147697863253658161479068052803063260243741670801104865922370997324540782986054376417058258808027364326834025502629526433088733791317025607265062680559530578995900819178964108114081749298336348471688933471730086166215994370702137850589948446638291632424445548099985930756824591625409920329265846250938624398105831476987871394048151908693604552952455254853865429141336322184640663742896104995587547188300720215714656930765076645805279062489940412166079423231218100915271592528058143252764829182504616174849798321036852279647766550586285597160169054208078401060119921350845948253014597086280104116776211657090200387865998115966114312517287266582617313079818600795966146276492927948994629415702131322561261323555174418462151847894328723294790341655460173804122751755341873288368374378836359596306542015479641506272395053786013940348402065809610889891453229007529919183814264571983498020738626840063352572155817268245269429914798126957933523496758337056630126643681854240634099327392204947857303600013334378439217257380242940114614422022584661376524227399254470614544223683972347322602503140171334533812619107859246933619969562184754586250519811619557557971919869988763079769048518597442275657187363565568785914919777560790299751420613880417617536463735029526952750937096882576455534411176364271714682048153432497828173976175642139149692167922071063468036314531507215046482971209935223604191642109311436699142531545362606003885156691448685216735971166726961815204762339081691133733544896943742639090564526372619792065127952124116556440012782759884245786534774299569312194326342981284446153323227730655192429249956100657684525590189630171509709625082370190852770359521793572316852285952956016299213511493412186063079454966839188277761283665492281751555537731163701442734952226325012077944973030516289703990312418471614896104115671916474888237337311023208005826929902384657140681158180437119215569254808724197624927900735427388749124204295841260664500858387191618556277793417077799275670516935234586952016526947073569521242800928430562408160839848483532223610317452293369537549613755475384912249560815819280001943811437580512876907441835003817231453048018733151807830492886525266126194333467043278353391465299902619583664874244840817890595793610154346057166769345763628132444331943403531264078703077245007942692346294993910892648992333864289516230948188813220837952037712242535607990127793840225590786593841896156561109134683727749575878001835962699666009194621076815508483703993850445492567922705600316245120210842257385061568293218672714765170132441520472210093682440529652430891658770792096843748111356548683340539894822387904130676109380519859141375464443640643811291199917843324976770423558119817484667913082614270295234523183553330172569114181426531182290243696265280200283378958237813028024248148754596916035130191192957028151964171980031839378395078624081356987448315948546941680840058636817884455219624658600272524259001718717989319180172723417380785235334068645345011932486898011579858649612224094539074250850831230045367215663110269011995826356420139204458295039443450951226854726976195783111037056963285919227312192746376373477062589296241260678916823989318948685365011316664933760619269541773326962065833603743833599759226915618697878598608257145132692489089566168496959576939192917980955390559681335036522083695117436325017606101879630522111555951176299527337984139209847656240144933468902433288443443724278873866370993401562730061402725311032308927579410377511020577375730394479742687761808079647651741587695634372523010581052654200253089560814791513935635409375953409522353171321798106023369093501235441015393935886734881888429781611464745535273479923183646210060143295567557673463680193285634712344181023603472608739451951592000710664073806056062300133139905273732841388449814731933327104656813045012943255227490439506770267845918323246637447338832334746393518436454413892279685074113359826630988955123507604521502864936767536150823004993784055769192053814614998065890618372232433357378431704453102913312468746114472800547066728867220740369118850750009296618330571665898648571489956871513413715737362128278070783645265323470590745931998420896330272886616973211453173042702174752970417446101949009537026327342300534771295439935039254565868528546311163325919417001449054831677094005326283099192747434367924861846026483094524997632097484517828344936158531103083621942736193981293816395994982393267077271573131078951634737917412767873693798827334581936797233998599104389068766939893986103444188848117828030429213509287318058201671557984162208657731838538996881499580808881280104300225423577598554611339997126200724521032535936738552593243281254756438659975115294866268014481096257596583358315503815808301245961069978313317752282181375151130139781346010476587277636788249708318375554828608941103594055450689397430391788574118141231515432035110552100845313251786067271916807864513805127546530147089858418057175911021576989351004522528334716053602411016181432313054838384714108977343708732050671792640158577802354509672152240810266037372281771935851318840596314586603185625627937787482441956530163228158906567898235626747661492834378749195114998074014815404061380209009817135187422133635952403110030247794725172291137264677065703452382448497527313822703539099091891961763350027020093325968867513271059175018696912499757147708844918107291362668579598225299816386321889635028057731887202470751684304877892292087990856833921131551306736296237192860336593224426294696563262039225062670676559976831461809803976123185417751253671294568211903656210884360832929065275028156042994625101560331449923495431382675998551382781908744673991117335938272683816701565131763777030311828055501576332844232409830543381317670086308763413850291409963655877468081833535718422247160363789724574631637473416260246347419138164673716624624002795167573353105058261428627357656950409487241477704613208833868256723157815589573795365702863541509380947791287792370740128218912079239263987104409456298161534800954877815488509017202526659204424814298406384133640729712542558215787910934773012260268861945281985201878217743023990387778535955002241817735969366564807961783471703970794372887517655469909359905301798608930920512433410468727188463252529755806644753848024814067151488375420780737143499518197773422195865840208931477219707794700851570917890960533124049695613207040921373367854155558980969682335554502680176765231004699557724179437643247701672822662802406984440968658188349010460587467813220511709714369174571775281573787312533115450049529137694931121787795749172529430960322276901655278200329825623413607422041626241734888683838973697287060924238208884227652248781056470760118093595568292406606926691871421840974312310428922299195985436452609221625230255683094070846893177672241367290643281305699919301976676417331224432931009661999689723587396154359808170928188319083227934734338786098128396804471100095810087038322475903820618994925630812568148720370159283940286226686277164755625804593402338552046901096928765075509231129951694987639804011539511371507804928642768927707539648877773921503628888429774997233160503201518704852332622058761206589155845743648266470360219729283144683441004704259417008762007066571103313572869493788596898916266827210075709167144533392463300237621744991736263838881414107697161712859094372599364240171326372536738480703579815257801515571196664834241196585563747979379523509045036742343813915786429774210076309323961738800586770821219269401923247885523644314470709752100343087895676203185478811298613264658081540689862151251682901915407301412518836616305183594146263616786117091740260572478923489299254406495238747622300232295981672905714519460333027673978718799159758223777651033301059990027802041785894261648235486765216467653502577321835132905369645719086561794718621426242794712927765947878153539578497333211260527124440060671700591500208109129889937834777481858578908212339815688762586851536909717753408479719792537655645100111839325880495788216375452532216702158662794443359705641153341734779076478572194990104697369174807809792865953524969583653183710370287408449420004865473872730361361733201359073720799993217312027565919676115046980032103790341408803271606392977255047329823704267033186564103531326408110839464247122765193301349659371280823844463195087754799318547929436483161077956060116358234707857492139449076965785966625342368883504333963039503210789195923191017236413690967312473248542660876863043035968160856037384734327300300295795039730315476070318973580450137938264598636190666213310149672025025908046683804279531836646443123119971457332535214226102617292252281696372715642371049841178316514492603733591856129031428609017285199931154556630922794834020307341456659640940944450330720146109004319775913497101131728781154014638191632390732030676160520029173783225741869434625720514563261791130481889221328407614754277714699204062162002191950797549972115327724445188362878178691593983247704366215289660848238409143226972209720674450096773301977779312150409445427525227769576224726103580105591766355053953977693058382545222320441074683960748018067122102908085292897133567777942496592029953482404098562113393816510025616547091284445098807414264466455979965494714993504574682924222434624469237631177836804466333286964918757231358900921507036590982839869069715864790282847656973623206717482859917089180572545862783313442557381299738104241251955576829864550540092518175023845659332988000054484946362665834864634848303968361304183518848726421019907580556906606960885239356666952188025665249159206247055122584638306537493209779220375351996037072867173158310032207705599887898799077098034618027091992386357661865845515915203870760046122395383345897058063828897850735249792701799152207273414386458827861045753158014746381305469813641699944194203791847513352045577467135430079891963642380509991272491076893382456107520137549488551754043403828407199234677318018270261443824879996695684499225649284102786856359229268698234347678287827751184616603986849881358557339855046820530683323378348947416097045543216271504097064199543711595386787492329921691092913869855649311774399782837220576236207128563364721077176096151331390906487511981076816053781818569935058092459705771370828848638878065622634939740181355034924978058547660978459057477893404979213836117514939607962814728017128526735667831848544812183978864893737847817727385446275861110609634222127311819806242796578754155031152093732935118832735235816590770986713374390181561461174752106200374979006560198088629188350009833142981663074315871042863172533933111139235509473183340467822406132234998266778920381432322042993470383045565057136615122296143659998914321919994242132491312028531188013791372923967398683707804599011561404294132069920046167730125686680290736250614392974829795720513698126758025401257276960725507284410760191189167466001065265401158784110793636426791589961490098031693097715227248133797623620942779222610300718240626781075562161165655080234778626626879124749174409336579331086498889181446768631400163926344435773146410500168564536524645809355919036423281520911509653750485950406596042688412005813593590986290954782256217185679187209327164116744546927376698933048302769291940220635182057701788694376209966704124386142916210240904651693873240840332501993859268922536586690838702290949179732007775800414840952042141740308002351872999067465398574559576827623978503600070131774775230835690510209791254046723985665830364635136674473141674489981683847816618631587307704702141908254071370805534683276390191599015367485011170474524394802833408460911211646476322038256109819330211337097363176700942727914253072664568626084248604825695002046885084909565930116887803130854638135561783028209066966988545483271097274291907439923987536281831955955800579566186129657620144470823777929514183794147015327825982577914837707480891765931678994146567717171562843363152107776437879009409897957737699920542639589824669957675165359037328282399087559855812183083400785295793324424466661966485660627625040022250716179155627092778885183731278992599258601392508098342889061221635452366420366767025386872685914489459416892206966555545552699238440991380093247126952654674404427931621395568155001787728117256892732012261078449053077356109893844857603894434126360473190657141323779715363328425148012502189698627670664061161946084492576423647826814020823502080162347286302095938635262731300697823401516689412601683436409891680131272429818498596846783065287154872520397269681568779642248082647921290215570702107870218715499151597208150561784821280787614610069878515008759730675636915519577103618562232045572938397296099495480590415974048266175208028833863515502576108303137780263865619245167773037307215218889829359356881741007623742534333417700007799893646163282885304024353232616714361414357017960793972680816636852203475419069226260756642510121045575725904012836337818516787322216329119516987447163565072228954767826291438994123635332752957009975082613723171653429839052612261663302809020495192512419167232850401511765070242652171721494293635433754686141144945398736042437167688582304399087224518690026162996365747745661036384271234221095052062017314158276543427991111293854747446205788314219754264319534904127006976629220218253832674962197224639505423642124221630613587989403638230145445296273785746533284409522633433470461272769387257239745152097207758142397793170049087895960988990870498800642527926860378979835339808143396033926200320916799823331645962261868247460905138479763872847040224675221085070137552657716761893283068455483816114023805155540078284244443185968466507330094274791979645091457315171552273525128138249817246814443061624469759992840201396918270440267561900822462412100857232060690767420090537359090293093944948634180023035300645494605092775007513576855675835926422449081280751421205795400411003621919876167516521352354912431229692509751404528841770859807763999891947274191815387535329749872674690952171111069593247237585896024535549842032644044853898392285833236848336048447534693332657999709865179498940499402809149906122411720802009725842602225686589414248726035846076640701680494695015112366316214136345665655442137331645327693041645923598336935898431511545598955987188670880906575103531887155868234164226739225072871370160682852418318319986103642487054136064265333951677212620363297550167501395334050734181323815549486759191648779904871039806906386134074268828867803754092222290897227962765905545898266534671744961291378507640443019778937053005656795296338994774439735797153016333379554365888004522590480477033978024621628686244399212463549663990075386213680603642846496588766872540659395024846193398385492913307547387182298331558619034744543453481141544602796850100161788530897230800145052290525950318688951163497529525492258188865456987289460516670190845837860609634554568012235384597666675240042652130210988214134215130765229454417415336374947886001552132222070746537285361543874168316177654161455752852818623587032012953662788710151228085604248483399897842739478581775466342683424537952427033467340486729654274865320171555147636633549080472321447731668422762129457693750194958131736864812152932714590980736921745978937465942437641217012230375809787617742558185231951895392271383299829043854841106942608553135291842234139010298045081642139114007674048201580474024467824966595120575218120778107287138344015003955238989692168002895528408708050111796739719978512600874618498032654852868780095909231205264894906219565504480567284489441131157648112046022441011737072604721716734655340720888419229766435543824073282573583480958978530567898529943435554397282117903340669439139913177928757108988719072070235452699840583207272916942096431739790246054270568388686738526735409721410275428067583519222297155972951786457690553656791892584074989104752685877452145643177435460933701739743544327189358057926731992558534409209249227704009794233222655255321286266609532721596508594899532369066793257775905395185065795401941431286471022182289652807765549257915990544060958723553416250123149370413278353550414734576150886935372326401363202817701103551469166499262207472366750889747867543335398744186175726524251506186297511982961155601768075535393605006106454421716027712414104117394874643531233107986507566507855128181086902122557744639036271846592606379734782808606734211053308843205103641980545570621297100020214192662306208155995925645803939555509512142599270977499803553186255302509037258865394797576160830873127296696559724066192013857633010371959089744174751622853177089470007294842301743053818851858018709997209129812398186961467964404469680203185765700301458691180471771115644918324949084627098831127952401614034333260084345918032701688242902196457391974582735485650211432805705511627699274423022708347495445887431968603237122478557756107882924601258029218461898446214157843228143087475213134444519256960259670826284362701532501940661728174789488481551500062654757667920790652490307227327077332378744447013452746360493148685016988204816064465586154575264671933447012815753496569146300672809847279853947692812402416636389536605695685111468713360062288886562960718324243119515773166348491927115923582515006505533030614171479722836957119540517505790682712528862682856847428810551618101404578286526519732734413378003337758878567790729936671485889864076175729744878817204681482210519499376360170376885867181847949094797192380734462085911465824944395221464536585369518658550343859423730462567580245817820513288704494897548596706300211857636110917747103597248086285657599675325711977757290102002689378031168049496259496319756411151635508505033654208240655598601699673723207331579156904413653332894893921423430393778583584644426664428754314173861086912349418317008020507458056572031210759977724555283875399411477523670603468150380975748887719803115346728682144197753023138234121752799651842392789187367081822769153948632575557488879719205083123134867320795641941044567446094903184160976953961838028795493236596070672175269075061194087073464166380736294955073037563453079141518389140971958044668230378132658578812856561551782559162642516448365229043965755217074003327247911474693969344817307637921787481059371800064028116877611307315843378947406318382725650302015212483819688385503864953042873990673203263547680563632852206047682626638733455812829153297630253204625963770354844199390470002922710779594276819222630295011504513531519717403170687841552897937390000207602326931666245612729034347607376822014236486992374518433205052575105845131885042385434067347308930815014571883629946718742583979104554676254111323832641189622394098823833318826379905382061405505817493774727038907744118212377013611104720131107273866150302763151705999405272837058928884641955291263357435842695465466507960456188789257980966493779345636270983287111269693376837677379184590090834648305672430451997522808171826582920265298985024798027662713484560221141950470579634081684505458157419095977230437006050472901317476014782219628197820354087722060044383202270013658972506156671089379524543367753213592614167874301638173091035612617435660783927134362992659915464840073189076127911633419606703905383949231170254493767658865179988166928120520169267943012389365306468408912336886636279145605155831779636197940305767190545143461593381042958216835073364994584071958074865858765454835518262456756254678256073878692687988121597977744214162060053148312617089957804021909340849440542339520276265325282316839176201906115661491505579735521604889327202464324472728906494722557129353431077410861368293350429000169899640075875473942378712537591314533605394145098396514398722938599357132374890166722062754058733499016651940762008995170403500716295511308804354369214366621399516549827990163917079570955314576783739552375636841701812611780739161516489666048159233039322823391146515067410923612613914357121493384070554397781265029263715579193273475524087158299562103863498837400698730112019675675972169314876729188073418070286015318299616564758587448269930271322077814435467700162603113000428368001825656358190475872140978289421014414948117084953303197472689108183666607205399432286771592506603090253897039643712391886729694744736755050038315911999943695892193671376144477349420446979869972482069025048931093395400000557889466258333334000214613380749327198570537215894245459964526954729427202471270595543086510339398945146977909764580456132180549184331684630528562192459953225047586687296344309007977543713877071651576799636589262763964573614236069622040617133533254038934288671654243269143768281276367589065027629233138445445334268976444681366908915187473504230658581483302800039638331926877227482930432257266698910950742009857496126974946774747565857170028975166675763603353937326572084746485061435059590756119493482584788881672537950447989376433781019324018989162823949580240764181619305183324464401928136825094356793453153110240494129440286447297825653864808744542898498161449781868273016569285523765660886828236300655529313940215400753810868804606508977923068250388588067365579804282353478089279120977963806404370884551956369841733291330762203100515961707964419331716062571836979501995678935858678317238831530788018129448392805047124881069923861545006190287440071640195581933866279731637798011880027680127834088908486249403958436266377777161487866292803196779290239736058230408632132721634635195044678796015650138156422813847085373296095590501163266117896793092822897380543366772844957654349362573317845150158551754881542759918805554153269919172032105367651215155172623866544813830010496825160737812227009359202761356951217064688376297242075101187771678909578101746304097560639210391752505395916925412622662805338969101131104973026055405723788009778631795065488949755649507551458601168528390663631527005473264616264371028781635587489618594509097594182171847448803871997714730612672216071791757848381515276742374264916269923455590982784050318699792420510535889458248735410872807431259980811773533582281429932270404648564914685560210545988765514600764957716055186521505522292599852393738962307597640230675079913987659895077172008766232895015842281941287597494906148247245692131675000819186675671825148628972572181201184425010072624825404885843703249600528625660306270000759546978369897373347681576724325870023124375404070230702807750335934809584783021413417486109939862436246755981068291199051711995247599694908906203150948061737221228381618323943667942225937972287051216546475936663136976074899154427413760782778037352336321295793931860602476994838977586734169746296895610446092919400826149774586475194829793331998930111484640692680319740825796598641529117568412636398020204682462034490479145877157937620751184595308640874730929500348116761992568361186896229528857537722035779104165171085654108149515694025634341013019531416127856569254189934498912355992131256783663045739964734595498724633087191481434501651429746552517459314520093250878353387599056120473011206425348789457874077021627762715608950354408754377809671798011136532464230067207178914865597474819332104250271841939575113395397764329291068556675813646389180075536403463209953729043154470649089068353534130945832813382533130020105738082042510596194201995627909425416506769817238081417601768375290321258847178408000952667393454254408650042676308843577809443256298971365539678611059078844723891317480301460184220179039267686279596934195538972642837037801299375085532862028458478527612167617596159776054229001692062332198336670140925580584821964247772036365969796936180553510943268029733841255007110217709724267242562663019926644813447151161615256971862437151888161428522703145576148351155157905557147222558707251224976616937983105204345154071514540040618576261085285787536824894309799015666834145518919305094884806009004167446686328544604469258676902085542166871005826552175774276966537102430858149031538793390323936802047707865288993322939794371884215769442043563316892042272637626652985135490337774910134625917539858922477800776877332645588894746492272824074222962965220798819822719157513862516856941420646374063079107993295949168009065308500931224770398066544600271997096128883391193357851031995906849922397204917965911767232558480819529858024790604413999768080709127599215463773227608742150227081376951284797107402813570685035560719175029538776819906654670400780760888720652347957774847723933345726534187064835332864517603573562800767888881755045089585767378492150624043985613396780511971421164609064901544132910065034105137867017803206062867489240048800121378134920571795117059416461435793974468482613408097179269554877622429490120015792741884659460663025288886423807146988772995616072707556785849735941620235025765004518473087732037995144225461210363212626671853539654103079842192211986625786627654569073422377736642357524333004171333043503459635682618109182531321288704174423033532779028805840961160736978714194728435850781566749426877798116829634400624918864377475261685105665940294562732542074253953468949206655244972829329544607148006956833628575222769308075861337562362207217613945586583163643446604206938725530358837614562614767352419741751621372342714112319733477572207455911407256523924233442388681212073549593096162473175746216521709022281829638742927555916787382695224527002071443810650876930987814445380081266880363436712425129185684455250850887518115414122866629636877861636437812608875786205327019543347438801844397598092109730864107434709391255176320869967173245115852927603634173329918741003479877985311440581520121584463659272104532333291644171634903691628018058473808028649478069704217173554387089319882591972601179051642093583501790556042203157266175875508940820451342690490156286244802387123719181550477827930445197518991260197666914327736206498452587963492504498334792609496454426656671796241750740626021813247106262536693036350189129839826726535234713317655422055690083185317175810754301853035531024154141229715098989206934402667893418311543965523350903421163419345284232984891006108550943544492719898391900748819771689066460229611338337327434441330530364489243445007371247592794296793707161720759187343609311394989131049186820431510246577743659915262040400877019407157888283932316352932130211134758551531587298280675997911087447267799542970472038760730713079413108653432766368284009504004362196270714614734399307910573838458692062724363163172578755848618265156444206743252398036692785952106320026403911749870941005230144280504240865309700418402406033358609912397164600354887177667676959965831836070786752975087708521385558554690332363449131040427577825342069171298932944753580482291687679803953859067602448135850316193058486730164477671431602744052403521661863410997972467997121227851495019153921139450789295978097575950919807898562825908969376081660115808520583533742134962290802880158043775598613925197728467831526518228995949702822604465338317795292481538763679768339001681509963552656721389457527586110130190179547972816704456071361778885999798290985283440092421279398925134251598611216463497215657612366446520459457786778200756886314737696572131060841903619916364820615563767599257721363688636857882119519114083439641197880254991285890664263641882142098090953166949093663890034978848608031492907139624726646586455248175181355188674453279095250349620018409319195612515819715752867992661150937324462347360727616327427988841085619551882896283650653072533483259512858933361468661929803971454280404444275663358832472232173834575157774374314221140649994902540217138045652510268645654644032046816445416194150036303317869631085415945963234205601009261745993663437156432503553448210284152217539376211619937360354856769453013052283187832201107694225796208084571217785640109720349025868610997627127421132481441266344468920199062990039890494107112785595172830436300001281317367536635746424009948663173945692186456983514309176584613655013558700614396341083626668768361232027227188095003704905417250690501451310061200461290738515589928111919809856699562469480771170179370930339052352706996165147801291564536694306016512176834450510913582917529613531954179229068258144083746750143426808082613039353784446704238934837703953316746273744959358364371496449720954533368580019288884624931824087249135985091403957347111353671681767511315870851644193447182524078270472852222741598319568477631429636637662541816064863785590710778541432766120539937537929861949684559208836851365501833013686313279679755291537994734606685153252801462335287894734687609082658649419027090840558506831707248546949441437214839505027239547936037136918964231062477991808346162347622196271020581405437335441938472456313117775031242931059652175003984482141241332452900007158594323343291052716539170080905875789819010461217514306334511608924761451211956390311972906806998222070416391380790472430105971425913119830459398104916754845752924842799011824506722953506911942299563584145266164722844411505661961261350338664064753086334320778327268126924887895930269411073566228680955798932197123732055084756768748686015675855325631095721277276378165218824851534493857626176641399297764058064488074031530500865043377060517142839818264638275404825498802521628065637522336753387685364271661347279577452097867841645969202134202722476930737762771901532142316668622080360449746151233877963988397863147727931701002181346064723733072198828867378074514746613836744034502091186639980097243754338269141533438986682688229098874565087884957998632065221550845778685792899758007482845726892933805026598737772069080070970465567501808621834241838141538967004549098820121462001468453288882114755257748431205151458225906231216640614636930168674552143079948495753090355491453124347221479140564635018936617664137053617867640699809513918944158243221861471277300690376939206753803065581226205777212413367284580067531075672545539638603035840964068836241582202687638814474037084476921105897999040186733004094477039037250304693764413974078457014261613615428615575025821405150624641457723493554064089149970170018257116696905711454338113920410687619987594169260190695270756104935559868571643100488305854350975779766809465851823970348736621701090864087551524741980096591661959990402780097124893245452787560329018545327408969463417692465204187205110077798597274456968353824750343009540164454755671349728521957381437713409567765577517788328160546375313661600805181802638331377220202868033662507922269604315838930473709955682610145303827732396884384863372216096053584285832607408109980234788503078740612178001840463432820001291668513806417781811809863977246787906673991297581413249484026087802297421510174665178951657212323890014095095745527457110812788746520243416719898456600654016031798259972116348714110380681984254039062757931272261993563054135223625329282678172422297700790375496372690781383633589687646059359853082687606931448485265391478333821834926559252977756260313418647415223269136097198518084432708411953901337483634947000971611202940269398561083969588641720748657588864484704668534362800256662240985092011108714658428573252816867743751730972238912757116482158102220210518549562255301091934503236849156206543243069769086946384670586615805515088825793739163145433595454904189516798862880439674479713958690374397714862878711066961705252102488979490993513617875386034366834564094332779368042587738485639669113380884519752845285378508843750114704552278651315285351926480299273653218200199471341388449144105938928074503873112538118184691895339392107855229399253233070608706327133981743357259021073535894419899898560056701213414015105401512311408315560667003532451470906990649767343536546173025234606898947523439372466052444916831199621698521502851764146102296890555193047603603947881654736688194779801776144880096532534159954217638002756212812658693120062555008910054884461881470701720161811721947538353702398601519975463182999168638125507110068942937499140018780043840096261890490496762877473074362792815006873445029128253168529984811169058038335326556688795000552511554065329287906634008169057535461987279991962603735745090362845245672144576633326662005234347756794351662555050068995620462007399730115445467440822401475018610981769574510156132393383629842244105510404400687840877570842413999132045959180641447986228030387613834899906483422020877925065682242945613286368740578479050059364483488328071850244391445992654602658560297800296590533151629903408468887066566885073415451789654227039320572497543474716698481084151375029030085087284904531545089707414569104883822158765332784515871494640269394262245268055237088889056697432371555493269707593347762264135884447709904348561422604286568248682061850658674433188597744592737616608509841472172967963603446261758663740393344462573935386996353093665436121774539319915539493058207235703614361559639409015784912949618336058804027130879390551794475140103426817301566907896207148530362668349217478379735711484128637605296845947003660427129532840377533793008209503345634569866204105705535827163166163278578558038559309683352897097207185649344517118892069322367065149293553533732546700644608270839197121916440464173838666990732732213013782201906501512760524359435601931655595912337459966551449094698669976597799819450957986088981906977953201997345007549843933488029398273471968552517781741959200057366346303408778325822666418638674631657253433548270542653441764455165057879622718272248856822034329207233125868960142981078341770537326424659771873384412736781114293184925131446937216798973892426930437487035636392998540357195152988314128306682254855339693013325994276487328917021750223671617473611329617532051995503917170852446328045364368595495550130081693408677030041539641981562828039923229338079148170444887555437227046070276495166653757771304544578475732442447933643393582196850808681767609642003332340832355195233313146988941009593380686362711897143130630695666240801931679283119289962251234504167213156892121602533777513200082934618763076699100450449528370453434009455035342188789061738578469899488957431357650410578729076857076354716205903744068372868035117202746331782492353441039212715669138602481660659527537961488687011904657461574956811565950751914345640378327969676834974775274975618761012493049862213239780314370937597162635033790122887827583875641626815792327442332254538728472658270195310084463707214358616227648758213089016279518262604331349670003945297813494883255755170466645362267606198458155042823483478668167495612528940156093962972444642936459651348831246512854034951036283249050672032638324750435289891859943498864581679035821447661055323509166939829389866960364894645318072372374049801938101087917900415715905622627183157302022074278321708227630737816743285816978114294729237721301364280562252489741987434906243715259269398527552776319787894067609525737777333301267224835710531281933366458404816511365108329525635545458590623964342268274483030005003949708510945314704999344623879516173120464277649418142197684604215021627296563946384199814322787169185060691206002501728547087507625138405315826224209404311935144546897327549781189759471637281763105992046431093341413905857295606698403575721020573120650039419737589186759347207739717395602055021281479265534137624148568196912137612071396703147443961015478127055196569116536973248543908791319710726495787640954066065457595686546798926877840037816820905231385182549564181064268622545730275667765472629545813893269972570511223737061277180028542751749138345484447978223587598332328240119336818891573204761630628589953741255698471362589130350472553176016990454705481963652610613567640458774698007700579180186175510140397161590617347893308243844339844414201182725081993376146329098537014279350645680087533629230999619354179013759387389168787318436385004902389268862663782449910993896724323367227907706645606076057483221313622850506311666399149123576897993277232277972665441538576255580758668662797424324108723382253788462984013035445284060223525760389408664899656888765186902058878540286124512433870131702202716002329241844136981399849030760031530288364073956935828208294051104307742925951307911266318000426130945574891437345048957920188820920131697227617382072822025945072729163892140959821684705084899142379369696546299932121828930987482021381642146791301314679885026162783560158132847394959805418310552629659067904505432087674073262515951033439345170810295753061803825442605826472316738169252995057981359878392631368478463600663539649979390372285379674430719589876177194092161533662677688173439947368243519224137542548072062552797623261910272205043599539425063496696927648175698846244613193878720175995895675479264904496630822109446994968542578866121713223071248244325476349601523836402131087297855198247377508031861878261280899713091719590293572095749666347355277136292614445619665721658616523866891768299152272596831053345295518067655842271230339764728444820815399401774051105721994871398899401726369853790992081113501340085668394805765916173192350700731343052385772472206612620442866808866457139468549736500658367234042238651340485195918962447856012307047671954349356448318829314914530613348154585525481607360408703897539222445445146692677155036661208689462770181471559295148793734488073919916025777895932837019297729545274891534557328626649684897003705310910537198640283793871245815738758901155177364953879990075463746671770787072585845064366939304443561832396207351164402690217651366741088805598568046567637446862992820562576557187587125035698441756184247190947419835121446305067640510144679495225675207613338629357046662942948595462991245148328451789124001943342079775134621035040400145906752633639760638993842227491661469403829870796697941662350718159897150824144586131285618973110978859813359815223825138083665958312225714800633304657263439950598781632959675822367893122566287898895678823339926331833494769965202351035698968883735787904671224553069153735121998475517096060329563947183103446054297221833010270737170213836280997195444597650806979952394451155151962169245806907083543390868592812906073113817187467394426870585862186462943389872841910853837498713828145642091103426849101645675845632001655919253769131850820311159422044536501635791794908948622203557864955170594243474596879749563976912427233479057144490814931445977888358100171063742238921721515945843360634475200091053265075055976554673041256922030865491415036615530047012419484898579220936324147121452145053871169059567060662744021927748519729113810837244682204609015860342421267362113851931842610092203479840648892391352047175340398069472418480166820017618225766609659488717303230335281642290527411935630828819383215011396182229185099161485060910099262417326602024389263332482558502902139201380659313757865154084682540239520894621803156028764146275482570812361710924557890607824441977693285614400233353240536149694809270868583142594750731904772239889808487671841043237890283688477875674502695318331755515075213402700370412083615571061692215872192431781082781755776640257845685186987156845952783787135894459417845642691290308892151970808141315027375211092489750662426284645051704927870156553808901303548785999001213864487602178389634816766995347256961375557316111349347965781416200304922030828007641938276421424651485847046415006230633296541101959828481893540233652550749714687622837107716246734432292286913933566925690273012478315776951329668764267256641741311545355288206657927259046127195318079219053023812647667889794699550159885906637445153754255358544936891305379998085180746881303760695595863503759073018351734785069103654122676837865952439471003198627223654560011712129525065758836116992034585153667888397777835577217273762164340157185557377741326106749404293028646222020539776006308784954245111650799863209700191547189674595715405964370966415627805276355774686474840076294419742556379959368468824981539769167838497688910115469606275884396105781590166035305331652207990216060157746715011218825517996287118426672727700326076057832176182162139008534517419432867553481860845810861918852079944877078531417118079572033503210608051664149416647714349042518096689663979730653116240554262169907792294989524237751709115375635537287459358265092216111235995052106267030571716218271495060773924149901136125298826714403070466302081267971778473175613473700281256342041502842025533898812614015144386858502432441256448012062381816643457335297160542851243841683076675625612355234244768213987888342062625354954373406601366191152752571288469142407476764035820582567304593968269628811065531233283887781858133421568149927295251509685759715438931413009817621386451085184910752668274825564219304652168032760175319796723585584607448523388718088290664511984104160377505289190020199957733177515753806120652250079809218187927360846454950997017420225103496836344230466718968147157476791876875192902224694347286340950909985972958808450188220314407859981695866317941368979803822134373625629278718762329494948584309629264048710406895902668271434057593532306286485904614568493219550156997679524203063592545554172644091192255988564175392216511867693134958892910243668625040262589361156816270279735613966992164514675741400553006804493976542445081500225496200321791735271544766156376136030127600017189718812855560423980345993774623412569351814997260796655852056524354158409856972948987951886099636707202658129668187874890824842402707164309446759889374742380264018033601985476902263526717427923504590353938273124047415644249430058101130932777607655281187312549478524631473386166742332546400085453414356578672767654787297862928996069194937071655068773854331613679575832579338544513643383262513904109153840070468395164514978367019536195560143541853873958441050581859945671122282059072640533359503335301737709948245220380577420134797355894004393935359656645056001038757193230694145121411105037071124497018417833060353266453572462276706377702707229156725752608002676637194822378235342206735249790446881514825535524146390042836325409209947026652437606625490494464887403108494037123328567581237574321947715726282307139175188431430036740501152487291936622754866237044721808199338976675400725972388856082619242367145779738491778910229635381869787479892325503807684492189550028672977567108740673463978331518803798807666428135633679620344865473494492523763254568900403932409415453412808235011005879265046987118286156637048955039741590839742737305583593326101992544822095962237858652822949288296898376507940534149798929936306073431272258024730160527609865657003128201109807950981436134664801205902752655877991212109546686653801760792337535637547190765707397127844827331769851930136498525949809297090606445418126542408991778108106154480909425710382324603106953859638835046449459548688842264704694429722428244889650651610067147356343485456930782367203918642384216561572325610877550985083359889517225938589895999436668127089817546411787730030124059540221741531516421927421157736769857954652351202615887340874059934576232349593704531981379603005698454704884823709967122635811495972382864731242500424486073778297928074092394361640627178132045034621804750707378983856067084863824076959378568820012862618817824636732335393569181357127584346123719491251966241609656008882682499415008370507528647039186010008270856252820975185329197515975594703709428011071785014075153119978265512146585701718195146623956179666611879618944270902260332952082912625629151385287934961456344703817822675650778571892070465637855578498891200453324393532030922776372046583395204021852928591728045674029706029184222913517225695804379416235433942320812749325962548971364105845639016768984521595138375346571841520868068042168291507590069928992678558815849372782884644322646391511123003558558284233035496433366435217338021660133093144724687275575468511009799021110844836223801105702120482161464865324536194057993625970783988084314853192565149350738248386577614088466748028212114629772362701519944588068419580053065465405780160128426139358362947493055597810921335832355923372239012287388084969553502043786320386615209952680933802384098710444001394231775469483912194147763406768570354996346290708612124600728306511884078458331093839384992624533479690365449935061737122461471007514852476978945603833037240186952147517670235848593672137028019809461017434484438978005763903178752417811591030673274210905003548566562269010294896195318681573968784647039499425512492185188000216114269719782210685346803681558384967122327201822266202444847990234213277265200109371095985069103754799394106389766866306654975181867694887611136587002692417538036424782373065131031537943998673556505878792303857189075873507668861670972186688464558404091734472586591316640848816303632737834966066328607572313414722711636606138970548034033321140380942974476734001994226590020869061471458393101856957050149830012320040016844678979760689272849217722512877092051950263328910078590549443733090157271774298543406897794112767720841888686030231898700618239601621507594711604544433127580627288510357815898050346276503464672323265484826256009950597334102336322894973788842440317258498643884696609834493527273693212610284596757207792417317559199633545942070280622627393278042387081800916415592324619297498960592068166339315010281981320450505419431853778655615633749191894739276655934664420343028731118274689195254880012301724484885116548724829197689319282007882831322503253150183181462655353775623522615271959388880573736518130966579044874390365106746880695946811607082697516527822909357227621504842562017811698511329982114935704580128668243755348188963661130489074421161953381289586463297642891540622620643261197696532834736810322001483788526465367510517574106946492026814996038441154593281526857227275341325869563536679388845685347014779882687441077876521622972505274936376341096136196106986427186045216580772483208922211589789519161701302657798694501807779454917305397932709010508605285047988707152745116305007752384245163039295399813909931923272206463732518911681545520304587143190425232249689809170310725018405521990928185354097097466660151221569403500814323850313121169895310497918898909939227878926149964215131706994858624409520102607085400291253767754272476508624657979286765863689049456311898098961863448033677394330209508157361657699821974337419452334346366093722718700568889401125428091693149548834650756534680418735961249449448844860372890163557072242097697188268541916108383370973139967024247370385007420107562880575053083354374208493353931167032728135277785567952534844467986836921978447013733442194552136646467574945440776243667027083186043406482813739950841092882036109648029325636158309714081410305485061227551380453916339495258383206427039407513714857809532160579310045179095932212337402476460487247125959264967817553812019050371079374680809254157123097197590558865404042719497380445182255235726560015399588105922505310690405339870563411521151652782965464782526951938645407901202315516791889464535683082518473387716407370475872049545405532054525018501155715222218250452679111691542298463478701118214098651806998152709233793676838457550445565568576027075971082203447026997033692287709799220622661855825501495285826172690091366179514134069749952718459244279682496514101048924806363644718877736200926180007694287253532263204034440354299331394188644808436665359801947012390509425859732396791252287088788381194343596679201538449488203899953390323929531157617061594688364749805226029426849173588964504045700318129598428426591660100933249728227127865840922613620223869870096756714174908563107998169729283191149530162132922286232471549487766534862098037568690095132963046841958781805168899989470152310475815197484254772857899817838545717844899446243706456053045624203571315222745631763702594534433207084374329518750813078899898855790301147932714985909235066001322398214930118718605650263473918135946519179008822131046275726835425148801460721280709633277353757449261469405351010373938315648307171436412513249640627099887243472559125202077380862858651118761973682843320182397676189634393804674038523834899373900442745127670908625755474496160107065340908621801863960005035482848740880050634866551744462598566573715203932095563007866010644823104364819862862937965085153581060940724426378183545608949363869304531338351084714939927290331695967194681554963323962643372384041619438144170787424136029508247561141003198164326966838872767299203119519212898658184775834976558877916819855388009121940751784343459986302501194601058711393624318525953194440014199136417011077759473579206925483939183181077962936893903199784206190219697883393419402108699203794351118264217624806651953360283753102600314743928600104534190010764259658414623407713845047512070471596070158455102247258360832769937387835748179883402051727309139153653207440928286663022179568149926211283963369643323579698907199766630150235268342459334630118488515423338118130296758679237661365392151676789354697824328335741248589690747569609710735350713311636119414112785553242714148557470228914907541702015649488115607845577364754350722307309591444240503808091278402894849958026553280283526608058645731413893033511902191244412219477406160917091508596309420854946286643316731488892160223103954058022550941358549801783617476764006504275783592181909087359652814568106756264871773978566478114377317768994142384069875951931051331179591147967497010186616221958593622591266749353096700552385420551064977108657256604741298296189434427709102563963219673221807661961858825806403243821740434078152201273493277076502928855759441098739853207714801582704280742019320031590542326393713622109583655478703617773888186771209717281665992283146839289477597110569206271064880229951121331962137971505768960132581096265937846362916224692474513076860662380901072770725836902911513674533116693583207355848746141159130080205155422459216123484757821203228034978528410646411797869550995070355337593898052489921657968766780451249306513933399147316532731941560406242890826661516415268224964307435714121477863105828365302795522168668197026209632617628899227517720947330141564392998420272537154701970650887101717765778448048363816608375226593090487166504613246149163969176436580645223476793169439830610261762283024665423948832829385931127858916462723901927660232633260484012715360850706557929960293775963687011103789911453876057180554927662463684173651023093687270456827683665950338265238548884946958716397005264029908415215201543150904403162749021544192730319447659660390644081189607021705693081791892371753092338991894298665147586152777315406260908846628060323673755942462403690865852916414278294251057918323580813750001038825944015522263348351414165043761468579852420008553711161792232270367857255658617645634787467971677474208104967297938361162828468466968093564955430824976804610128930789852863987707814962319687091739429989250880758997461172956204625023725997624616884497500219274992351825808207817610849889685996054324965758405025601854577463806230362979118897179443710147257994755468784703709584350123731766378319402201688281393111325974091125538759949991799603836169659889713477883383691371082313448749916413194599627605648114084395510276387807307175797422528922146081777124776900026712437888497620596967112322096314165701653763539846693052728426467029870508374922489665722591432599786076594929387648344993967678412398910288248543149031908842178533803099395553400945169863792914833349576328234254742147119142817766872179497043449564291413159841225475282124391633052905675606130024365996486120784954952363610293044489862133232929856987364510748901374447953185245803079579572407780173639993775513299664524625652420043010824277361815090831033199185469991967919385092101563846290484907070939154730358703842118833535627918914144611427811503938788554900927663385461573386560276997447120949118477523399738754632245749710334264443016287964624798442379113095053674046497975302578287791671390216993797491987182862705339224775789196974151969495637745677107999746554209544334037553608856673823875292733199601750620079235352069759439338293526491320618569043081153635740783656419022644185444786370296175653487996436882818142549578013713932014020703551329081931051649521494166863781618449933388584275569079249843668359984336846560829095224272130029597790819519071820679915947215267935309070373449423734691217668552132875205894628746555771973559114059982980906822881136109876142054533667875354028501124068851312217967341900115568406127574175242281022720075589485958902998903917516865038414701684164674534258783110121582381975530390287578387635906938628093941623325932111435915080614415271779085435842227338574168153441979895866010241644409802428159813744905727308289374658029468175693035330808156392153920792484078954030873525662034110654118402405682293217025971673016784594628059314649511098022863321900351176073607511522982791592674454909443485792802421798782453665225754221245018150276420284946236650556805998976792743735655260069056541956194248404218568638266400729029601370594503309973490987371237270325931830928600574355325307275375783944592017572969110037021263174934720220625498142307172126469277006344614892783001178593632748620510966485600314495203871896793278903788572742958994206109012678214013329185043151459278230940430079261406159034256874301780350235717406531461281915541316473279288547714864000592992188249078715944216877046405945509420485858006933453684107801295529483251308825981894842576367533170508288694803252926036043873223006028297250212039279432221928250154539348228662006302964587535822218779512507863645921393336708802258254303779971923892074849409661530964823276295459857255958255394881649933834497439899834204151499739002797741399301225666934858052582125890045124045580195354430742471707364956020954495641964588174813748674862949324219461007604701798635316231107687892849498738101934414418330392188564119042237556592836200629794344330279376114887141099547603166268340949932838137256539653358514006101764886928519605856947918062132526244197974816982890058731351644692389918969592061341460054627907845181117386643510503266320829377503201651339515668512085050462639900442927977663146087708157277187932591308984164969975390551881344554356391615280685166381501531896176007999972874664027606997985137017073901833802797658900564098931233195169140931865882672939012145839519369743030682855515806454120456736945896501650350296084010076805490482080728201028383556383888754837836190985200830985138973365112860911330435916624162462607592848596998011452323330457140706404230389414295764856448524705735450212877650691048449171168708331303988870379410164430552615633483092387045240741346579999848046974258773378519650855453787800298663842409941489433976663076642507201460508338736692276484256651347185579001159698921947130068549660511244791423262643760513359640547096936973027724213966929088535479140539826701976458739285943414693938831308701626866595951532929212261664368793650376098118979265872236112430192277426709014785344572078226957145728420967766156710376923637129377835832082553021713804839985219950358384093453893852697919997226687601933882081255742710266320083631412783857486305381723591930567580082521497008072213946993800751640956476529438820862350161085391651649836541918978331939929570193154561454742634205002088056327229386718514956111417397098430167530131181186228038092877748975145291803849899070064362647513234361716420792483077749489816127648720480502336390513018166418022652597058815121030785902504860128901010637463303271930946644795108839165216426855492677432453405538537052573165142840040811654325833428378465254520600925944841024889272292756870858170054261681714230835786118841553286004602008933083062883202503429552267191104532026100773890243102750004469916996446741926917015524557740786715801733311261246245375360200158760258246463727642810646162615587265124919179871580622968210336393818980104192824298112353063123089429909085993582912984464120852043119287436546274642900606022995009042945493909146795796440863810595938506691794180876521499244572005329357616597530837532368629965495210717694587574947798893488689223667002998183859877150968874720001789736699900787458144982249469048552903829905517798594942946601331441307409616534350926510590792263328244656810952713134190801494526493482485358587125378103178427004834304766046124590902671028746844353123195846997614770232807900204655041642476941503981751688248176133013734215560173072168132031588193136931721199481745820906878175992964769428435964492397779056283961969870389383304817456467450573965441004156703562907838392874422169273460410100438659584738708486798890596466347908913893741082062388432466819211616820222683363203680257583981188965398969870704244157829082690071148940451869796822065603168226799463082987020192354789392187711289762013416576278456676947327356732272856873284566887180218416224881218998393096480566834795875290643764128723716026289111472150140805456677281585102500925194711601273263073391124618000974710595633914939233911963449753398910756720369391366596378963436656027113294606941165575266827472080355917766193821564879604710486837452619381095199949460135576667999506452228944423379093198797141708665967660309527457502494574190655187176121388828360159765708763777415696423414984062248907147665732514464606353166951009096700078637158124408663834324786340584450575896349942021082704883042066418590094358928953281378301612955849608404064915398519254530869257520557959513600892266961746443739324925622824570108330634410948643429477406406659552223595824391765091776285561349119013039083885570124361368310638819234493943497499500739231259805523448575899052913060595954839916684266931114082680046857542883699175524908058163478250166956156741363581969234377094709679881181035234189484677240738706323891209995797534835092964269550918863649271402657930603090897352567317286001151115077296871038454082303383496481395976104264783765569976650683368840211000418685909636308607696377525446856156451657815163512022510530362116270294100016460910947889642829518977258825020682480667998244956863194686628169845477165274216431351350631428835762482953127903161391764652291890502339507028575960733684122012782769529922281116516137477245262841765229551022614823309677963482274724762310562024835851053950550803931395999304968192421864233707104606190830107375639724530163388659942727763991256194080507228690616383628416824915042454882832637653102084351798335680816626009893745609889012386045460728471225329879515664454173643488846901015278930719370315965964077610650480588808169159453808703789920456364835309073389137482547902487316948437440372224642188685830206618620512371475678938861924802053321699233508323046151697338314516922627099293452142678307117503710830502799748966918259231639908826782838054177182873660265537932414051938376771619249498473887390195399783668688069429152410338177281114803418432865795958198664468228516060646625621637476987128684505357468390199537061443066375251045869790852094371256130871056390128601727635253100970988851129949738927226219535320931879931847071090453873182954391944559552670661912502797510401152450565097406097376476216566575492649519900621159651890921722787930790354146443570434063476808809518032154435262613742816565091193436803869049011283673644800245797654926769115370269456092308297343262975789003593837488084023729878863305261023555046319566867031031904338761240199123349279851308348184330027127197383679419904872921806497194269564678717963402770518135080166749777157324323871081070237850260623703368504996644445225918498338861523419949535833033174172480655135317368710158353773024115068779959510375193178455917068013714501133430922659486819895494508326483206881251140327497540321748107676037587851555399498446624293561429319331286889335148528971572069327719968130924793402381802907641235595064383214358488821294711213869340256960671250457256056201673772699357284173623896911918762072283169414548065780695913945354633301565397788040392503895937172717721925049561189187093107919605407249701194651523669402022773193712648005212282351727952201985973955041249069476317125449751652978364777154453082460153376947100149177493425330389772189909509969334146597546189432959066302176087364132597877135613719453234352647993225581721414918184957300044853278103767966465170563515980777781612710951429870619648121322346658363494603665047839542085450766048848990514474631993397339258509494902739986045404119801222590623821975042273243805373508616454845048919241412899404235687424879053138176302517032931677558240325890907904839927353773145490689579928350019832571228765262405771296163112830061783334149752357979315904035017507120190354737878018759437687334655415779167884803257346620507764861475214449498495264436680227527181607283541324823818751237514301840171814991338060042151606801628148298575714409265277130590271157599078436918770505049152255641575362447013453374872965825914218192732627466805881609197764339082007886104134655738956080712076545702340090116047484336670815437750831115289039018095204433422328913284507255653341277178677835348479169889798642336247106549243381176471289082083375711093966483406659651428160175305262395372904756042079634463324442274817512554773035887465878687675703694362513721239178533165557162698868104943571318305528922032310576847489242472240044020111748564088483724490291600042197197405853876995786978068365825441408562240418646506030828322704292825085568541918805484040633868969851290095717564839900280700079297189288671807451933953926195300943269856094866052374530249495317766122758602209172330853340171741943680429946987101453426290529043840033584962594022606226749192102640562483480059844253901502526033352558988832261569089472502019009266549614333237170750858930291233991292907315701592341833863239976463155961135153034481846811399843209634763794724360975369198013893101645697176966731631195542714179280398570717382770476403806227476707486083212099045173182431249403782454927760731456627664778439514001910801503043830410558745279190936432710293441358213425146623584919743644986910108502653565710348749605512441814284004145270499304690548733241580718511780715224955151059409595072008678996176546795723389466505442994280129287998406280655648158330132774660264795590580686153657833835066831808894985564312065374077521420974414211284850616524890239303941195162516908187970035514924292233391173463872987215987928571562405043066620883010737579660817693656651786426671884931138895608433970985471680250689647462851205006905445043176096643423757233490877757493569585282761704279641821054147392764778593175733381802710044178054730490220966654589552592703108002658643045904081644692066833067101424451031137309770496525662109276622282953640829323313041059264791430821118808384233657276204002023034937576170495444150375086864249928156736574433772402068901496141289894605837601243805787032506558312157262209846717692587705103043093482315806774523267937277589014679366910516046472324190986607461431920688113961177178263230850572114846755741675628989505057607926215984634026450509544651755881474391072333934428232751234877872282461141139936040830463886605503659176770484326218188137413600632304650904047317688873858649330508216972801798708155925493406546363832339946567467039901877379081275742251894690864246629522960332999976644311383527867102781299168775439122996529691378637800146849896224614362422005153682618519990470515848413774387319177640301671881324366383550276103543112991770172111361818791871542841979607666035522033131931925756493982571040545493621418178351041466130487995389158907765747986657900881402262708942705866557894769610319796327265219883201440703679403073873387546921071967016976197816066490071066661000085546745131319926869806623627062284989476571032240697760332057650846508638072187764164063175488263528671503185398743755061493369259097413854160729267032916836486834195472060388968915209516136805903679494313723453206605330208818219122734447861242119947694495038865360850934257442928671764926842047987162311860353588614242081829979448194270867145581690579618687258695190580464164550509953784141835231270760549329902291108494183346171600407513707501886140846653791202634733295291350669853947064721737651876663366352137320295811251407277144788738918243853495066908784989544471431492042061202759653251539688407139953698800492478647313060390531246042116225915163511959032982176359911723716627606177847511824164240766135371852782929563519225677265010372227992919994622546258323431897127814067336753490304289894362087938167643849990186493550852539253883351115557996770161081788998751734920794261807628411577447945099608844164476181474405127862949192899794650599985578971167250273194147139486480034427852477917518275524566038227936104028685886913027712767743351234746860634127831897570587811432994772177441023404909078148344541156121712782211066838872625433527426417330531654136571466446260961357790170063481154278706400428754837109744011862959703182967378765443710739384127760692827167433919659010410956997718262000546777128873100919649241704608411660617331525836930188551126932727588885504293313646317007596538790558269620178602412485424685542701936794641947877052491483766379151934839051725210019268299151325986746429233699330007029763232537079761582771264633589114115613041433768161585262040677460311307411301009984679093024227659340539563112593927551853216573519457604391660314296921300408500586213279015274010188831225510825078764393029098591003313246091263579509520856275553176500587321979880966123398816218279655157952402241059405247234413013702751610127691491737544666035845630536518533185619249262150053340521547502379579066016190067573238685394545165304964970240928713060088777201543482328429330038218010786866759615883489963316516401809803350357280046640823460810081520473181319459571560648350545978924277793432106826879413014678184848451591904343475107740844291632697962535652358625335718327046785448906686402211000222309325064330543807714152078551312167544699408745794571912455672490420476261319874821558479657002042593755702978458666008883756741053091953590480647221904510169307385577819108569456251218092234951490825631512959935710640120823035405635358633192133024042262601180530795656716637617621108773926677188183780384632897777429087452984568731368497401474395760888449114163679868248623126320253079183442312734015081881119811802637652033359850136190126814870492158709486097803445348242517579948949509228958542369066846808848991781434708973256673584790771383356652822317285806425584978895400364368130867547605840116017623906343354107086805915626484918599086995723145249475293473537810585465815713681375977360099137451116591093550534146375876219793939993919948977252426823266521570307400281165710682719876187023042245535444339280726448448104319153667660150128561617383457357599792521773564868015427573230013986168516848431515235737876384126759634373817414241991722441787157412844131706720904698817078685314348457213558923452568609461345146825607675735144302170616742231841294416738817677422908273523448731435623618239017650019859922488470206064378895675055120216051368200200106638013685998619035890292957584799998342635491320941775186604460348815245739686045302028699595674818310357952488991432846704672876766970850846796509008627614875411693531158417960376413726224426754312218621128557177355119263487092584476120328517534086369264909956365208373266936590932878882887304972797470926703553588281636200903571869647580252908931962276725365181270109312873053424954366747799335402157653262367019482396228685836333076207796553189170018562994283583925440878226906537489333344185169765698945463890441676409416931276433423179446284147061088500835895863216869338270454598905040454466501635730198101992109432558669607018575305303697642504068400176364864424297637270749835443896591174894714498308307306988089251640275085429346185980177432459301136357589926799676586226828777528400356677536791874964927254248164963444209168487928259904530873693281453979402613807867416163075498370285137266655744017062172070434418812017473538121320731707010230332932607187329936007348508044787222830748093479738592270817398790086536283121978050855493343553316716297229315564348496533790452759030957845022718513216655325465433019980924972994840541589970734674545290674799317640041637707539730070053759127516288582350649559602150915900511391087465929282532654946189202698415474620847428064565659809418219355079337356718619789053154261272328748769227455888065714842351788563956667382525830535252332112165287762705163422449865973251534636100179780651894832801245964958114082628973698053316919890726230003222414704885014233070949749779288640555911548066863363383430990209395789135849548481131545269034813418527743158020359283109222589634080582089756623118692041181667239944380211761986956901061746253359482174640374902242081163488923700003194561750311103588034226160022200674569306292564027491688644948084675018359699761910138702602048124042612976086749105147877910730296017558031183670187604048017966249999511847436073156950807903177368944032777217429520169423280399291020770996528465020865920007683772259051791694738184376692851257755057331842051981589591806561936499486780295412013345517878542390024922102352422353189632482340469711367157782967762836478470442653771951250086638169420546932379105409904378560207561931688254495662728625105147081746111261266606768446004168703044135335395979354963185591235578662956327001806856406158858046190754152408831202823048021125318497602677225993669638021411530085375577318603087212430683253198497337174821357551455913943764523762937109922004636944389369783026627773766907215418952464520923778912001194185679513043664140853627082173386220855197341748278960706009003189207744860873588944234759866439557329895493197674687760718610611746881545455184918251097364597557477659891006558044581224888406468024078358978556763360958797696712423268854850793058719456821451629726977604045235721543471813591127334069425725650696129360893709025295220937059480412494364411510352350086731238023756540631039254239011432166871431771729621608435431680056962168837019707158520198117047325967784927722603811828577028954217296932227804487247618759633804580445438571198224209801623717028881838672591058816944911341775755112499177194737346292168966629925210497612331452008094959966523419707314445069443649326144695459833001510986141998657605424690861982068545224150815495790060138177272653845217522801946051836707439042956687875592480271462564457068621807586885895652502868918839208046550165908063442060283432908790706200561866810594008346971326662810205044655089973635287014231273545730247378640707797150300919046665178250117925288673475777207595333383670392727709986819827353488921932518376687426976519155652058619695164188380889917169342649290666251387272545031098554685193753731580685744383525166258915986153734146655177809482596245853548398339490455103550635542516466744855539727972656044271003899890755527298404108751741852850041698887749623548511390977181529959989902732632474667011638208764661906792642559598465764404713323096610517980450924980304210437686525561220682640544854866021823635090342806469260381303344220952769599107527484415994329265616742272350015985712873089913694334116138255280661460474188633447830639047934244334573037186086190536610001337288098295101835788063085209801493781115577830735456741137461930287225092651382382124080639014167983976177675191274081982070374572901347129441860187415458147953198117514986301969378848749362138752886496486962568893086863901587438536164366439243938174407981499615456220461380830438560836560781964883448211063027406383349210305237878024275335610207061051255099623082032056914906636323048913311521570699385398389913160180094275735250971440473768316316760290897282379869815243527347661160211835382884477363535486436375011208445161815502883100004130227925117810006050748927347129458910706218804350603985353984976356343635068530425632249471155902726780185799495644239116202659039439763255032982297841593646896889233277110839789990732868274907948110262235866440279536346061230601896413255848598457170377859020078472903151383693001385189141591900228095571735677653947344777514086332175828138842213812864168672299013934948907391838969680324855055580661692587984889579131879094836890847493104838324338163358534164789572685702819606667778880963463269781162219531865689012673106007005357779368864851505328689720073285658942724440992791762606510045282470367243496957784088141431230715421109864127542918669639383780742550117702330990661930131129556345896028331100549056132570383683425547213351411582395491559585740936192183763896282882898338911492654494587938072971023426170515782910804886283329017936471257181660220649126091986372240653956542046238496424758716682042343323003361802237653828114245800513519575669759810477954413680139815570781513597236790261237457602807266556031970464391688118254451850557514588298213926447189700305857375608430767283189257718902998094315039522850948161984481923684011230046168186320702491882170116227714645777879691342494211378776931557791376599906457611231011380555495201428865835923294326606942187271436765715891540386119730599318248217756090846798226755940426208318750668714223181629267416811159811919469881138017312675413374493694598806849953168735954316387809336194452037275150789621439521706631420967188711975282051593905917653607397419227593889123430975200056539137185431386408966174616807714379931628012772092287565977562313328791412825946656399333686998142384687050201897891249858831088888168820843082520797632532858597157701377395148439833542208969015756732540964624046175138847883884066671071438133188567007146355113350409253065964015636142792859673557093155142743138778508900673062531096832979844373656982677034588259659483474511904817874688684959544980183556039261668706287757959148419353831052738754948882719341394916331640465528409819418608080887371915077496736475536766751048773614897868666611072054799153961040453491082572942892481607903108028964352281849743268855500841664886824010799831979801086363625950557391563829984416834023664855286362211494361007367820246566550813258094982161546550682340325553552137305205414103706336534259759527011030268003538661651370061045756591164677727915498895951351787116251892093376600518702695839966049728254396885500460556956419304041692490998865635931154239409211297397394446447529893857357137871716687456461796470193567349987131277313373134008049598630517767457880636833823506592377569783941040510461333358792827210865397816175364211951844164510245616012686658704402581327626128026670793954277102774430889331566341104336706294467125176504896230416414332509450666258461881487252181517830197857350930263853178641149634695625064594640237707292530286310614879306997284859086850907441333804579670574053943119670724557767428905830473096720596064704186997728230878808054261816155972548850581913106066231188922059931858971680500727351031653428284682170267558926588234108038328446663739475514168309307001182037432291416007988352998759061180247377616840812302970671614541287906509574245631088937173384170665800257997316433542596816942679803372120173115206229583142328747482689826026943934161251780622980174426129882439112627383877185165510031591642927331902448963015607321803680224758213571452832674323238041165724600714783329332140785990909732704078580059023743883807958242372943176351841127065067350882160388280586276675458867696823168079087480118525193636302916028019921931951655769637877685389103724019504402308097722973185521255497649669274896760579619716309336459211126686357273698855190518444651786494267041401461263377366493756459926133730736262625501235193644150425441546615746874161086309578612551754914971992727204877805483325993553941317506048997540243651840213816325326269687209059429057850017438795747495130066871161659598856345282555860108759892168310465731623832889512428075437595740986905353373383686002155741881806358775417878983074409023801179440387743896247068006709439829951302325673777915988909486171120616550804796619941338555128376169070851234653333545783199629612451507575317155983143316475033399137183968699401740437043964285806636853094928734195240320470566832416817989470484197910843625014010113614917150307893824124856150453467719765079122628927651962790876958593532501201644033573163250338073240696396965518132233949886645073179990201930114842782206533886844993378367588866142844535249895964772384712675152981334237237217626330394678968393539469031748917228321492435412345323343736903388480515859609081814990729972434893576707385928800867835532217387380022851948259649954895391447707560618034926976377473654681464902292282444630587668132541156144448260720096241603501734174467436658539917179793395541530913418197050709427971305043338798734738540197832808816413750304435726438466062805370978211191183575783594576410351710389218375773059818161616766682346510770593735751775860147725385194411204338795890953061233945924110126458172879764609563249111099847128374486164920514761059788002009314119510404604450857566201600599795140408655132172084307134106878099311248267767944700039989109801295949062318041548177173920339115057997381069761895033404001449558621572241404979387105993997433273831001352499975953948831591682246572044721241878438124944505930091370249679702643511615887783502586043696152142636696009204707079602656729774345812959782745797974740465361345070491692674889295681211686755111629983038048737889385709392918434705565088094348385637657023061288302682238176273932555844563479844929835844120688399501366134715005044007004938624357872134498196013582442785515865496631257115453565300790307255081598517918374514098749205766716487580147024252035454129095556924453497716425878126493771233166418040914174523397716896149231204610247408768050706662203702800147838560476496108514030751905697354985742303365687481138870981483798348650208734188063187364318952677047898299499330464301169468289465280378424868154138719556312035960380156243308375601102913709105174459146536983804342809327152804838911956324686160176136264486730038468624588720096062014972232010017813141346119168699658362187008671213428049958648825227315341183586650827130305830702293282386228414111067063866948083516764431977385780008930306730889708686687075098346831948467701367158230712236026483269786517590727740185896783456105930881622617544886248234365791974163222697225195177221794088778533045131018044575463669951238087756099854860153829977995471117989034542141003015193649797569519310943625988274109355580891420287913812112875670024406822803386703757560817806975124590494229567212640592602279058115390963343746550716866570142067979845938572741662299468280350961322442349096827904383640874852152626438310913225594397242944772091447675429581998248955885048934110274254262794972319648882551500518152943989546588612355675243083041387973877147427613614264060759448083699986008265487129523189117164927224256011428365705137823205047508074256585663829354879875924051219983242855832305509919615143820392110785027704718491930283417697753718398807453400552895287187688395217590288105650419883016809925955698481209997520137279345051444739472172331003866297326060720310671444245327231306651622189667917145799122887259889048690750707324476086718106249878530962081731436658536531209542530234533454176140374021887918286007702637296269866221402697205015663896949772487094782863415900386003752214338344658286705671717460761658213344377360948118860580440175452354230168571623258321806455842033668408299286894322099550205314896886565194583002476990032618388352619938376480244954109326373239111460918299585467632379248090087078343879540350301579365458950619023621893657623821006971848542600300740960147205681532036730623668003130499119646896013290035001593481198906320976140564107447615420196007963477994587761552298399395813398843815814639227979223875330961046986102051266794666842506767725957230803276313036141324286987009963675557526518308643048091599470447283581233712994451166363207758941030691854970325798120363762324636370365229389801512760974562551493715307048860208558598525655950806271583096944004446242493240417280277132822571737597561272948118008561937748516253198861482502265826029964858850408215879586876529926899297216969759844465763196368444309070364441866489778698622725621479256633872954281627535715808178048244292894378165714360819436617002419396217637132373220556875106065972367909732809943813629931866597406986330141566608709399905284543860764510829949959151210372953476242479085091016762909292808083433143539097423273687304977592014899683805284997300694811072078013803493788710066493273068890921642529276208395708615476627803835906804685787355726848590827615959469588518311629480207023618612039508860720334190038399006758634970731276037270736842125439763635180013078286112811028350256302516337659132721658180064904098124169509503484749965605060197618679840105430552165099189716250137095357663796333313660986845781765098502909675113992741899236380228463173983848663105558604517622396178332852431486767136448117747481397217484511684896087005417018323224042141464321116856427595681043055842680516063938916876213761400088656906817514234476691437517245441731081604884239132815850981397268751210813306787782551704055100730672034857172979294515751253163237422305126007735862593355094668494004993937376026892876514540027853055709974698920049674166566201926016591845230675271276402568537357858565750502556021115641361612838353002183603616605824425109585445251805085759642093825373876244303746522009268994677948590816064052330460572485559150044057628767951642712861421376945975869614967459649203473228244080078390196379277300075118952490042091851360276613782406044066479411809282684067246638210707292285467787953690941083454930861659146397165368435213307491801130183019308384672544510755086695923711410163504808548501451301473298007824411725769164575343391755227041041828805560181735306794591959317099468210149695367892203170353843988480856183379190639721662040258529038632707283923335046307613551113437254932346885685496575001584689948712102508692233877213750519766882065295006476783735374926356265389850815458492652977588729425670445283087341537658185511700142207643989824783488773598678800406951849008914167411202083272182353885454490300582323350468390616358834602695232559095965311286963694499367119361264639869133097116064445488567630914510792218433018304526934343676808036105728843366872507078506405126525475520746554270188285688470064490069415007983503490181094754771377060127701847098234830007973317160196820465964197429949447889769529743580921631276659328158268410674205666083944959158701249273806033590490921939553626727915539431970630474148205902240385425979629294352236915796621427056569532726419746963802324712193617205011746602579458746492418199550758675755614418838630801287305646594120377751875185587378202516899403896273142385009333461517118726324315091029935756418755643767119479713792472896128798191557962489646972670849474939405408112248717077685089463891348494705570289020839654808015557423495958450946585518966831820030976177961615413110641426923684294595247196528348464614968612619343810644834897916228192930031143077870959042979522160045212635586392164901080834307456038891854062451263447459771985221175090685203825956626192600084953539795127586932080557048758269272130596050046624390043335407706547798796300148798617798382659167240783470027188224754777964598449031983608049260200893249563399846373399824238354103448386374169151192932995841299690770288472706131168869200641689066867593744898901342421771268047718960523811400497042859692438656047521759962667982283329573010332677439613190477452286917960855370259229121329785444003421378781420971694869239044007514582969009872550481173101582572534969528916661630942597343086882844015109579289368147580534077872212588944075521870563769559480533033329898798108011372135221422594513996001111313764720161805652456753802547094969468221538333339999724195447401079620934025925202282869579487122142234893093307201838233611735396324076772442616162949403583900885306944460253611623883528323093644565052508566504512303960711744303574852940835444657860449916968587145267443769572117733984667854632373101495104001581129606168699806989397121963327778529376835311282732735739454637546231407541298715420386523063262291341039412265662844195781838029202208050195450963683703971012776532531705572310162653365660502113629786993236555866110297373199742101278772621264321020872107951227528969806385904168184117239057462800018043558454525898077432121687355514767895446873962592289843087804430557011230472781162542230991017971222032960718269253957063683408995481479296386202192211178833348028778106700522110316796793577523445609803855036522728987482800643489651363700671369369498815763768198372734923917982890095320356880227324294928299072593707427214271558535222431956114290573184548463754888264288402982731719182009586082125005148368396140795540371455156885744493693606381705740595296416928695125896493484501785340211249092134340682602238383885760947339485716793342924649226868311935575618970440425256264613876081688012675856234710136060375264122865423630636308118506259499090793523691699420689396974546530903146956801329876123530921816832570166183613793445104103588388888580803721349683726948429022941960093675813810506928954739362132718890012796293674976776070791672089319376375498202754173246900680802158561627021264444160812001683705938249815205420536785208759918272810059362261364434243529894862427486776076234139650785701722607081867721624365154982575397087946809640068454248249616954931595879798702445044418274476904921642545460554022913876625638241227736603897674251186072657115716629413675258803564323479860367989688866056290251881550834230806441524087509110546169693612702849828208138358968217257363984211834268051346786604258375661348852947271653964459203837242446908480920780092347956528146252242953580190436938653213872015607454133109516983980302107365103548225998594202431395412217624725455149192010341706012464401747925087831444856066851474179418135583845614419995247383225862768874221702321244255073275979482296376190161411860097237021376013477506094871461012850414078867874086937497594341969314854959074948988447909911194758002905336486155426387102746283481370187712424015025648679907846919104289916578566672671947282084349360503654625940051094712449355485482497444908504226838450078346357315203421739679504613327647596780682371847607072798121086994184662727881272255824542146891869468676434964890930307675761528814143453741050066549455061884328937177369934189765049283887923724041826971280006645218662890060665555040581800262357005598760983567920284767976831760510443025200464439972445163332109769138374602961032204642847879512018196247751866769658773349806109760693212146741715813926257917160881168240194338410615010096001426118407954861798936625510137978016168371614218780911198483411500158723498499204289695042184556207554544862714642115045270251452096040144737451040509881269963594217603265873265283217645733349109420164434586735356304742503255359072393739744587652680109481108588552299913084630199952484299448246475988074794834091326575202248896988434423020274474392333709209826198056577700956934613380494970792491872477676337086786903521651133088914020555502196051706501524292076508274355251542377351804709917133999150125226196597193285284833457893317360754319600254361212396745257970110720260454175752862610194276207638138063036538227576987845544148152091787742344662053311057221377148992716724092970555745399760376519343420913158390710081483482258521550904023898612227686029427366500649554313545907173282669251516199071929815054590078262982923628427656119013727497753643218887384201738798550831781500572225979903305917258043589481025942226978478099199736430177179750418728936773092911233311430827338194211106092291476516635933780238200282484306711304661825021669215246321129565045019152553704898934434674182269695703504638714060850759046435429546343898892145259047146699041620995163633757459707197396115505356871623569356857657544092245168130482908770804046571017207250528744611241358046833394122153644273799859207911065992376977130484761354910900996137070870269480131845934430051576176500229865501274055207504122667998435233000370274159111241867777638313746424826956836747548980381902713169730156833250809699236412781544089086018369304906277489366813746689897801940042802185566218532848396380691431263140588749492135711267522654553496607280074514991588504653468916850043203614914445922762723414842634199870220166186530100704525919559194520512398667065025595533531666026871011793031236796647650821911811435495242459458053011471304447560730258824228683321339962012137134422338514008523019911694195526421554098577835024056593567367695070320232833009498844409272524877190397431336414822140915141099404234671143360631637265074783933173868680583335350809929039603735129230047636504215859097881915626492915094416832062455643788336019963236403890617826015544069899532178740075122397191361561360046361020476996304771399423309183595881406718414088286539056821466361123393042128446661281177045547432239096020946044074648808481844230166144992599009839208443319190836745292719425193733590540333956783615036861353620987974841029597803928376510035075087869432801367877170126572996409373090290004062240234624201081578359391206117577592464823153336229845364770709712609053064823332719062429990812368543560950174325184644858042962278233529160507469580699583106914075099241484148382513291732528053846508702705132823238446787957071390715689058362499285547238617591017133982896423164738900571278165847730188448829209832150861087033345017384735938728725811480851113795243974348896496261064905105072842270184970323104047374803808141853221059515783459717691618976185355178826441272954480972058893350025465215440895881972576454670359037126528444842966685246565371492760969491665731163880775254246074595053660246813404759395648032533102023616314816398844479069476717916100355790410057174320890496757121919361038619332912193070664955491541246501558149492075074396570496155053053273018223702697121985950328268807462031816104495979832503441535666921681507770011059657842744603876817587886186442856644217778455691088527094553731926217581182746516123438922805940814833047612054527756923569103409656453834993739344039368287639698521016179709921983975780222302334354829168315994751696493395829223257886609444347083927900389696068897827994406477307097359215392279057458139726010560957963592048413372865760863048699267675377730544888454149325943943432792156231031326953486113534824393029357386863031850600025808276878058747243540384901515520208897030710847460704096492403603864810427019937820640028831049854017594779813428454373904776412058514652910977335309913770277916967952395771530282968217312147467747205387784475900406123564384117834407228548179556476838566371669423100087670107971040686556956301928285937444189794315076201647315781762591392298356332267042415482481872295279155904265868930490808350572961829186266675827406186753671410693232200991180559007799317651008204938510944480755866016455102643926718176886044627358791433141290201019159658899367431325092963771913329437736733321243193857755488960510278498010144006809932825685229335803294220798072640484862570078322475230117782052314269822526131545958966303277974170684812846801708382354340969156043284015193664493598318266084023872666024751443418474687695909856527727886579625342210857020337386711482642570259285202425847668102925140959444711206884700788359945461658759383733549344642878250214890072910857330611701816202033177329142419691742473186455431685913848823608996125734963545127228695222884434703852468777160425236451893255674470139638662744976197008427717047590881545393354654710987843808156134534159040305009037533732678534798170705548144211920879359382034506727169079745632781440299944351739135906995310227467555873682523524923540488771921515498485087299208570247803591541414254399245603794033028486361502623638812234829977379555831007720756224196402829934816848015977720566153277768833110724637660513378198564079629056055679769842221875760893228568786275657373780173836492751215176349888786062466584409604659575876827805485076984676338780760645522346870048683704294842594055643248267189897906198501442794615715623162462977017405994282942103821800806528642275279109151224720713496333091951640085094645492325915805346758875941165489976961315531395469446318801987585681043068977012000977040624196335920660556693908365248891681829802638799456173233429858567135122760756616600708163796151889473907154648754302419845353044893216893527855643307105014470958998697122523545587755950896323989060394404058892370622670892144532423420476837207600209048627201742520158836603915553202366871716677238186085860015937468326127830518975640380925871821794467010231225187509196568020633487205270097559603055612349838720532245479121968602106728664816727694987486772848006407642042097929955152867377334052722498734320145353859269569990304192827881511481723303226190508514970555636695152402122458683416181194515844752703409793977163715475864017868465448012739234308419651579985653283154810459336112049784805753548429281612321440894793446750737965717818924269806676979099902987944842119253971807101273961155388782257734776511414445501383233683728274533850847220462221620342476140391283162207771701657635150361044619786225144223912079075715232887441439502228593866111493897151105313067316824615824052583960676833795776518191142924346324750975812186310766151684358018937725999323592557931104465169329477766910364279494106698967965841195806739909474198472332349668343089010422272642918165124970701024804903350438414618598021899531383693713337241971920733038704002398088776900499505706395845935823005184488585341084708686674477264323004022612620108241933669388913123520892213839916198831386533872909477182162215936570628621553629337896514245315590151068529501123400586380243422710162030302730582856026765554544323226442441443990130994071098882775286180199089367816346121801093086611924546755637020636018344027144948239770984505449320115093450472640108575931533028505931774965190358739073481507065889225379798784809671406481557990200169362617509154308968674665646397957706523122985245869560651632517409296560463260193558861628271057517005793655335535679988705473347504330948469513793813500748814563274593686197676878088911737633408286318023934450497389052591736116814799379255374444268867219202477092206974779820693044912750927266478408501866293003896617130932995849186059443685274830272289600320136520906427693058162094394313448362588870933211850762037977869923153530393575027310318106899941616384585412772281441546073504615812933091555885848359204669481259874727736348242079651833907062170817199693490668171431291070132254255734665375915016114194284496785808249650116655219983606257877299679693332665714744330470133084361361312753141539324079502907497358813969882857461151024889291049660461400981343319585986509930387931861895100039360617783350877760875360222381338560982116459429993795218665697963534254127411152692661349206157243435314537399837593802427093840204244780777076344843600577968510305747218251692390704613730935154710391766222232576494983960602700875095227527596716264407835755317212794464920462383850519326335434201923090592954892855465011848146368151207855467335722788492503858251611422405526944852029996384217452170916305177710566215843608174428157750611378928288235263956597847184638183105456432537912652006304470641255656538607727533655193977520702043525753126218203311642525916214200102047708272515597187796177414828187558009927577351416741201813911954488502486691489203504078378299196801762873991167992282930084912090854252705560495786225104695508921556998792247467279759491447799428551717302503345726509020438665958803221008318051692254308883001050317289518800411376383384055501801163956524374842061528693222398479196268319765423646611677046640061123837716545814820693745239157035221280878788973219349742883789025863825643015301067862266026950141276914114701432553116738929686575495518309555810127342977248689964435385500661735547436109893512036662190799948693273586236828207746141608379441124779411490174165257377174432881622061544942993847601600602284326983499209994655202478326541251355731190616267440291541128222720215501282968818254838478058039386312639123947354778955029533249664741780479718609696514628048039607548284973139610032987413947236430848889375717202149486743222110790244426155456901724438929518544785620743105996535225178795468298263916309108352236277827023324828578149664199333793068092868614936635313421331354487534616178110645281207436424392825211771773132992834617209314014795436334661028066750441102043036909058989802259771978959579718731784105639180809607984803965453584707532307495018547977487347692308248370887379047327866813229273799634949351472110322967443575868532887629409918030112506637464120082685227419633959102700896237832147511345846423173847622939542232621723372251108134619872479201377792903527933963332262338179983010398309526842530639337466171330365580200885384580202745888908302005748670597608662508438504256045667026999433056041204386979948182813433206712338496963903328381003691312084390350492907115819921705649721042379906480123280357727669664969445405620017465670598916962837529222451761824936099825730958375795579743364399101423901160414120909903706121497311055181189601159155344647745513788617131185283079093996895096817919108885850409081551963329006327554991180031724436673091849479126083283862694849490107183462138299177046382743472730256043775606527568419203054704495423022149032045363789964129090586963040430899899259471393794942897018539498122895181714692151553709640224261542296538937163028434599739295003308311477700767722652800042247148490597007004152596722742491923852113952772753461631700316188432931964563855242632970844261597101941644810109360698088172715138229551587727853237549781178030903708114409857998305258659302516557825846409093943683529936956651261971388574487066362033156440891048884867404175296140068530640680178879122838447757180714264386196478407785954837719943872330261590655294634593710041785490739485936668206991944916303953380707245654551775165556265941234510414253467949340752000366812905480167352893549542129828824841081849478495456005227186059498830481717241348450055400188552079122254900567670957986948272307330254246630007085820012945713205434758428506037991815214886116988923803416964630578254856158909244105168263664422744348085806138350088742500484362546071605687962025708265094912250993139439720216532798124427402869639462715525387531389865532851881506908247667955987052949624285563694057217659773761913715049650989575911412273235526308679598760121736776055680679299516375550553673120435212553106175754851479606107676268546369245279615001257531418868718908290851209176822533665820697810671446450690264983140879309651869250167007239418248381038692904339964068583358607372638417054285826181751606611826450359099358731475189026237297142473846134671821884181740817145649196615654932268627847642998753218652424311719199401066527285212063063561597879446492270168499162689181805235327317767181722941799622458812208447425679287385177762678400265997038324449940806621555802027019242236853161360241126009123440080747683495584568509064002999322765684967865255808028478804676877250419388702279038813180451793034228359493380658182761074929644617157263510000768748727830627188759532080086637728634608237286407409146572914692147378444027445564364064424640658486921786705351791594587930799202778514915973225357022358473599587684945395934659846016703497315058651099022537843578297833175023061882747344924513748148602972850587947016741427179339008680497816963877152845723873621191272592383654289383565977248166360178009231880195766239179093252518189903036374276379323965633097867581487126305967675330743206547809997020161819789374371177632213010909826459884261041699123421334998687144079160665766669513777854717487949229652404988502992700488960733516287374311649813694878040406466488328486417541724503785427254184935801628818290027768581288069849321012497348557531515960087085587053079620694982007317261176292516234099132328834541967713218405084375889950048883445775594384998050746931928959855533249937077668318894864644571548072003353967105979236924962572953496258565135315668728189063033991413537562382263869060367316982312040533460523615603352381177152009486829474510970398012476023218520812195934766368608654615313829886688300468613574364665043369683268705933824226893001410903448592585502651724887602905301139084452467737643118270061408617392382089224565351439381782077876336897224339890960971942512583003349086614389738235964435506247767968794848487136015727513534304398692740338714215075688898987189178285922417419308429202439734715865537700592067993072885061093298680699981090662882230437728331672010865990878627974575759895419188234965710080456030926596896639875563692961222687296079045627323759303765728223413892113712624483989120387178233200709117529541442587746281762030199048101561362585140435859234157251721115512420650923274933810087085734792759550086893198898725084486359093195584410370875068263729904515811701812452209743196203700269356705277155355614386171872790187239126088004102597629666042098272608600614884160166758163411122615046695217196220129228449440661959326749786868363724833865842660982461032928625803006740134277503211166556741945726316919134680096044120681315551018667631843967902082504815599834431441904972632384292057540173259945769851991719097582046508193563040098165263536824646395539866277687322430065036988981416857844537961991462592416684621068967696671625733065466907728566754279450480199260436321561145226494775704190590920292416439678930979029276677345796379714778213343865037037907523732744587449657293600206763821868541087193542636052397607739089825279857884311317946345845464743400912358021839571873708048481202550444879019209518140643365587218715522618674708684016224669788683709287410142240544050401210368370203801502865557069454844799690606136140249366558714449417739319072214723340486841679217759457095722268713779191144996523713818881523491569980767390282521596866267353695298543341642745680874910337605474751369491194378067290837048847599168646993190210570067548923503635375077636105842988151053866194583441880525970837710183687278029861984646992844980122734474079453030598646474021522359788902873391051291034549550494577421680049696004377002342001674815114174289626306988850484158373294675613576365015188873849067987236823147191165089342199578019100940027775193021340707771642576237021629358820571381524719047160920281823711867883445591802260630274326612469108463295690813232140229485149216477754819187156301472623491451676729147496693431561165314523141602423889319777483304523776366701711384980008740807707525960656630906664056949913084912479141086243562958507971172388797667908414794934311536208984901485938391345083339231945650544869360848178073761262969617137975673301169089578735652056055236890028758382386976617773189962799533944622057007116253064865598259990003829576259119357495681685450353331395306692964369575024838634636495534063255101543376619327961345144092827973070770794722769314430834601059185642462117130314575171082162832480289097832118896863872128565614374472666506151094583463448835926034717636003522317883257953139795782047561662408093417375197862667541858667977139926846378582165110031174892202339364409104159623028852787906573723557060683491166815687617634271209265236100082172009306926939356840263488957325360602761583325321244042597807379037544139035791339395259581356224299803844605761640720679088889688787642676342446636276083982546416729779506192109999938488718706417175333439831052894617084308635291304055158616672880629491121855678181248394072376478689485416939305292140168053768751291281681355748261468798433103796081838866592652366266181094243969959381024284850784803517869499282015369689280947626479995526967276682148127335991406156912143752602119243237228754281055513486787466506423610900515200277984745379374927814152988746842604205195289511577642664147792872910893418887187414303895778344240526129088356654643470264643679449101767605638188676189402489356451392044222106673101497857641749535863043947920495419295363650021441697448726157412580060505525132866519929118571992109023009372105386175579207468859745022984022228299153669180197284257727951946141123094036631700209669849495644530286934429645656420480170080849781252236744146531569969190207718507357951615695738683048866549040783521677475836286570006168846124502617771097771379754914977614509841180760141442422614032869315606479467234909626455117082146813073858183611704351181968548180047078166500428280645379490280827080357310973534426008732121026406744824377557763968404282859896584696858996882787181267808985383003906535356149043396523116120822550581787531870942897274180720731053010172881786048644846032699875044426282057714647366501257613982099368077254343123406968623900415419271343661305393510027669703925356766776867657669041269706631834766262699106298717954768343394208573947211610783466451129125046727677285309062289358219636967121067225426819560221168527276219226151976696752279681411096302892065541902703287125266877055622720416439865625154809810502506971090805489419565496484109883345133474712670987938114134681108469866142877419057873976682402538597264628651790606801918495092109252803010091637328601507287187481382804705136097247778635343372100969212345356643501715548318109201463283978515362925946491048608115167181303219517914141498040192589453116437890847906439098099578269235823591767743757132129802283553286733166774702960413023115474045680307452964515826802400479051379264652959436473112649529521750082784535314290464745390673604563938749209417190725864218654304922076600474919651659589528149766343992576768266184254180305261658788697732281026185536308414378764847277449658209590612062722464440998554296390004481551304646955952266998150976465575433641234187078491641658564244053272046711103212866619216009717333556742134246979431136877425892891469548468605764567484160140625041313185105065755237899894206988818434585988214969096519630216708439739143475899177701878264631638454470093120940253357907190213880395779801162988014640032494336977748617811855012349889151266692190530242021178781249667678947727769290900136742741743499307002709621961376605041482719877185126881239219741233828471649835941755888661076238541694303218678353663594515979167894366624143063766723675969302026556628250726682697999172210675626875068138800381795316527324175944618391454038979889440643337987303819837363759632085503998561827659250945427313776109963400577789470408423977843818656163218920874065304201670454498474832485796176015322341420295583510145708643539552789437075826814578922028996167997123041577791010970394335530701134669016545293140281988787913649507613995518749881479804096268884554478316630254964031759912809617531310873335790026759823486646278441989616845521556746775536185750842625128566223320848069598150423317202138836789029389050333931874926883512524742885342509707784799051986852095715881628619473587379321402147975749889617786076616757568683318727594676160876880696987066517185155059767591763094508394741890955770005038394060094286629512839020102568850111797422147416273245699319202869201598842739549877560261857530897676789127394883682467728829866518363890906707589953601404995453871860560908296513181408656921630989266422285745538182242213638952842166343919940651878119857925056416441295510749603933940507678585485893472220912541244451424204258147213444756229727479075606794268255069769833062292302730462165240326437058336687375703635826390024189763083802602444794061334345409229194801144034948791932035498570852132565999421595213162925386169369934783806636364506354127571530813798212567348651495896650886270176722556159739633168616523644567563924332066331418852163889533923859700114152231411709586978584119912109328042828552814253608656550666649218174548224913815508606937848164562975735701352505490765725501076527326819734328378141113169666549269481322640561915627802038502408433372908045447003718482818307200453178562801818391024936980434167509402687820596030136132266722782890403697899226530145908871404061670491785023915860188318911706808083329019147745470471436285564611609850779590051482766371777245799893254291239683981603753380553353758444145968135600729238527864012028544358902241322202462852504007617621224511025111510365349585273450945584724347841195741610239798190921373274760650524414355194860654038331554519755610996917882599026110032409488945501600898112015849137035233152490301409392360759741226582569365837199580177274397047225737263504933810540039298130068460203462303066400219919960356246413944134789454542649453576427613548030133903514948401323788580563069364164486882995420430789714644826669918441206544496640932187717184746646923657020498196782831067995618675927977322062026051026548685841534037141118305970606699003815885188511357622311576641003726620037906804774786353644047991828222365371372221750228551277075298365726812220414162268941568167319316615322245229248990792850208955613119114250821195054147440598870194228251758430256923778133204597017606834962323953622428887040884296644263823137172793484214143945152026581906491400992470785226579764430402914921914339214052666040460787132777167627679355201321538043743559864467022200775400402603161038234468993166802048401959859101770028158510408208621451733349831433862307001121465919089746318313213566814868349536452169297520471110730437260462943458720595765481899773247854245200085111272341630705466588451813748463260081223410436580317611654334747420543939104444931355079776457434191603636811444680360884942354457416684302876724888629856672103875422737677633824918956319688826667507038633439679206031191564424750002827480615849389053616961679884323547670943541163164403036032915027589202188811959715282732653026462367163036996761273897592481605382987728162960041063077675388256815540947488183965088056697443853671770856375402930455182921080661174395343285243915027058962445007317798305929946741335526400401008792734811636548287471108421937995305786363966245808910411701720832851433762871321168064917335745479728070394079650004551922607014154252096481154561799723441576685476339248094071372033561077565703183918793393313254223296840575254417680949326602744533868365037000917420153413230171435229731314677505003892723359780897808727503011552996615660267530027196129227215188040742533880557340610981720285757889144095812496332888355486468984609928343933955736194342184316286861433657522882205275621618313538677663945542160659867223284358041586510679762592657722575081432697976572948047475545484829989901360326525655280749373444535908784925494331597442913524322543126089607319274112847073363328006356304854141945414295720845483261852228146768063258003680627123609366358057688700387109925576054396931645497483770761183875823549912886906981202317279244376438198144072945349006084050771896477752643625344335773278636390347838628366920039517444167698586804523054201541198748599120633652787936233958177524027675056349440084231377435547359242371898753974916315850124170115067315402420003609647982239608800036997628525157221204746676920646160311693274581486008525352414008469043564996731066781404012003575487736181133959472685231170012658589947153739276197670796164326671834314657544043150846431602782649595305919267783236023383683093188026038469466634584279019071333162362953334623732598556269725400126535755478133332975708320771294685986201484020325990171090016314894799005816807868698954060508859515238513111062702214101617458562726630234689885091038701883825466705413145711946571396862562476340538788319183676889380211191775003379252090199312188267311728060417613397111688743627886664356024799267345053108088932245988237829815902377135030344020182590317707984249879786783658403259999451955390167850613951004835909680643890429971337518192959435977413279016642561038623801974394914601338105544619873803953450037272867942028273461830693990758220063735648556454152273260359582675977848478941951677686556838771890425621499878096656994668080895614672951268957709310120001142717795579055797598534674965833028543606539502351061681697176420256074765162119754121978162385063091376865576734752911475148628392872877438278841603455727986576452867914542088986907227518758688150553737797956670260406488646531369236589476182838398655680727928033564616775656786193320460291652678097340327150025619589319902680238097872514113666998731442663165494385196141845262152889360123445364748384098035915550235787201061460703215280873908657341779620628542563978035581364421997962955186805744092416633256875460144461311614944014075030317816992649593405947419203177449567525751871827648826321736520693305307235245736497629422376945474180222401962418178218326096948605807083161498781610358555567847785152136769376781921808862033493831936927228513500199109565453577174862330872299362569427660515959662822043958974229254502181869377479862200663886119726843503316607418505197091451428006062670110031401672677873031116330725524309166790066601759627519334507754227907798001944520379172652088958967550894997470451660573783116121389367475259663872798818061085317643353838297233481362010313493667683645155388475642366941516866988360340540509712552306845408300110989406290603027655835355412507116527447331099170805357012267125233095699323406613303751551474866675075201679562154321117017860225465133638619584661660165522839167369605344310920728633489186210204931214386866594475123516525423840515713275812384721320913743418056667693815482848135643533525131549984782937446885794018596479613102750047213387937264682520976620444420792155588959502293236580620015872189713231530361758912126370838065630131244114296832131836207230732813338857131286984658933232037866331610537409716093291156002452964128997620942603326728601971906430294608014596388851188545004215903695226501204279605409432302866641951971501155450497807626916803793415213156273570599962643374822667742574660997768573375367591546917254744876002045895768121409116785246451224390840061594248018770729038480059363155493248871411787975891841899196605234834462044736614704162389977029225634498022894419245559838275501338445218569143595487398621625152198729001835701662086088138131385182589888647337479145710279252759765470190941304281740339374428050908815777469863208441936405565219212588374154291367196560321751731990012204722218758330295776108728379937728221272390812710079759591531578213716732388416585269222973994799099406170159135590666355916008130288146956956044651346759591243302028588369746235933715775285314510162251336679622241198365458446632811149028932974887358973814293659494366496783024045439707837268136278387174056156897464403292214797433313894744719444470355071621520678327778971280952201955181334556221183413548126868024253269178243301699086713499013635144439570410364364102121404372766303257534863010534521061100151434307103847531592513454447656957941063485551855962236785130620546361874272086985705764986845565407972225487209712980972691873709495670675919930195721151792331208695826400630760364972005915962812250249861828499410598819064183109744839525312218407936043087990709109669799716879205509628994800413623484766220215289744332077792971755885112563632162838286099249876165982591635605658347982978482055873369048574051856326668849832869101880485209675672687446935490840961862718686633091257273052542732371209108187716804526422776389119557220907655471225294962092572364751129995950598176716179113814724597254998174439885249371383414700449151968961312533223401958641018530658285359896249914604228170437248634680995515918138690495967348225102300183639852142572077990710953414060688647904456033614777149411916975323747669193639806923528754557524289549923092874167643712225686648409579169997096508366331289380407973094863991864261916151917686153729699851290678934490937133918432974653747774572057772579918331262424389441913550657904491587484429690842952077407123064490865327441840102870915027633954597844155933371071628842323095107248185033245154507953753117318795028953465805970652350971626415756155065881213105694496973673843493115247824061145617666168042444389542122399465526044705599481373748001826023111838829666597900269717281059159186265492922173314034759215510242156725009768468928828018726356250931039688997030870957559544524774086136093108103011196099777678487010885418875471622195839095466832870625582333436126038845800236812915669247941956026903407483072712842903363403755315622360343589832199620812050327361973443480845240871722565340025378195975834534640053159249799039900250047697476690400395744307751636373358681243788582618291925028623165213910146975995208742518491747853139338215389469460415335291628770507921670800882140205066127577310592728849957330634599713818876984612592134297140185029575650042604267821698011804632688592195946806580394533341232181637346551531823741785222783063212192095715889170094551258024145432137352341971175142010918273194955740793860843364530524090990055154996695128190510786160540430015797001055285234079173806000021715783036515315269501226199776267157765399940372601332421025257425840300087752515456222264850545399382829086367733098189793359501020315971033598795265288879106979768412909974992244671991014587797994312653926441491627989428887359558116062891294672053511088071527476952558869598237317723954856977098465071447307987223006890739430959159583911700809416655224635447245447159353896501141354313728817373617320497536067818563791079220547502419321081085317433141538130305865058608466923678150526937968104289328844268673243960261919349721742209574814319475093038403099027798059761343618475883361560170264323211910540922481704160391122448082573151547068757632929386661547797908983382235224627193615468969386218135671866866111560203820715730050546481676122208863549234825334803430562786572789318275884814481582996408840721383639379114272757632946838414501386117275715435949264910930333581545195840163705291626210444596915049793593795431586063293423925241723695391193312470344945015533336027431771251675862906117778665319141717194926925587338711592924275774604751847663448948179404283615738819891475232228929739264570468834507414539713503898055456471020598398554532830909165465453502949004398471933193382791754199990166334220123431641509893751359283570023965574722802787897186422007759175803728129479565877685834353050330220228754855152062506262000690422144481511060942219015687081780345566898143053484271338818934780488483008571736112470775440047632470754462386592088708819161882345320654277061070277996676150686098305789299386721647409233301075856106955784720694215436627904786784263421342828570995713935225171268969387268974327704441182580887357564686430709733184376772244919014042324317990791906468163955079942036917517085470755364986009103009120003025395921465272702610083041677968999398714730938576581029154629343117954984772662722248987879939056044948735000150360580621786163480566963918783440754817849562468421761764143683740995508621787295711387622117053818100201136338989829105617422698506086015346875657150819343871917585101513331141263988181702648381393746704665049491127666158286232873390336101390575613653072908277312830204763128950877581416355612914085911614112025086153298858614678297869037574615742772966561683508548749809469830115407788823001494466307643221667222636992208062753996923007009365754182402916517375317877058479804565781394096281492681419677404720690961907379433469554729450202015262532272434358147129535756336737000326511039447003126393634826197413723327892471999497960584900298337372228806674911450269205590803731953641580537677574880488185320512560074513533014156143501248832986990319250678600056215634405172775012317212842079525485990768952914690857335914022781698646868792619523252395122333326958295065643688909378631349001801777193097868530842873327771524274394298911021268486857872772856732808016652170835819474269017114447092634438381288527814891925359788788519536635206525274626508784441774564729159110627943927727395248595244381324508231492748398786466880309241753873736545724597390100947530051539653731386324223456523121604490675308951788416890772475929001176631929010492610184892574545888143193556909025274391648262360072730563576943408624677616797416483587280439963844268861242943881243756266054894359169349317654029171980947492266662637785842497886026654077209612982003354989160938963436099926424671033301438849376781867371390558530033461226699268549710856980207439959144189156520937108767967412098498372536833797526504368299017476117951560840338416919935687975756353199383765470564714133938653778775383798728602885235982265751224663580670617446435571170582775201359123259479069940338498920746339473256444220458769752816547875869543808083430986652215315887794223087739544028340843148575395873922223380641092878419912127488307082575972623070817800773695100864466830228879968625069769097028919006514268087124090405203596832030082464840069336139758391013594832657660722246225596830765402946172469595784985238671045596782204215929071745437746563589578588977809176575423403599889698424245390573149285088940682873087423743041114970967616156783648479613013748201884071039783920650235675679018266648456124156271505136108893984407590342904826974197129786892545247186932583388216578683452575892211889971872052868087292266487270317361583744922751968024319666701052372917862901216805036094983659787547096467477738503923060928261934429864046093466559701028823343951591680104576390967915632007549905243943747340126538015731295218185902240268374224536225852068872933074106397946651499209118840316063526056154794441944814712014485264440800239295775601220452577678975755717736976945955027219592155171964685614662720056910139755587127201267383880793514937494563455289404983824215281870037790400824970173894817124203688222434256660169863225853542780952778367346712266400185158953601122772183082170477950008363267702128864832504893453789383205653544023711088105485097858003917619264966022406384375856255231911540068356505593584118645740297712502694210840977580160122623678722308853259747427549278327422055115581298239079747979805275431153551550788720120770004670130919985036060052609976993168274125677249130163258180058690149275027150767581253019087022222146762027624692676823282679615151546998995964077508407053409607659736402577467673251732523488070486247061655660738161505744995509016505444940153488723137187360058075244322475471816905660170101901147316576725249164684315013216441999279636200347502836205832013416805294708179671381673529062710240056834450214875137618761806320188783976381560933874161367465965487081194413320189395271532828336092305567038796407597095029304131288271883345788403400978194204396898334817534772179764945734950341578780395021327925908588422339450956477763908077013681855296674925200885261720055320173438691955726113585138910131028530721133448999013605403993464640938642206096668141334523211075233137245318088805035305288747518757515810734686771633191966645504487860999407943444253097105179304599153195358359672002564201620151363756993829146301729115556351767803178765119801343868991312607476817536315883561497823179535257897043984312798516399539094658233895920286549480917582555396283016754894984222321892277172538047180644754878876486572021006912904641408592378145551499670222184334897418336854622865084218138309038537690400067164212910270699503763962963195328166343209189962566416906305947829419157449111587922691088911146868794064256764075963385040758460540520523307200099653594940297078993401446662981417952575427819369313599809324504058131015794852299714397987432438267298213081489896489281787921764293029457230638474192196683631284801772833374963336777087549837170941194859049237983375894940641565180166536516643485571188756885123877225596860979439095842989948480449722845418668219412156972069679954818941894509706671568267496420257591296994153822734597176977956068940601577584619990865065753689023492734539982006213124927058805951375203570981076751883540052408211196191788223080567568478410579398525266530014159525899201439087365193886803519229448263616837482587322704546015454491717586219233173788461742701644479502757862324925954826387167160957701622841214137904168299698506086340049495016501912593025807645822046568288305395285052754152831205278386878802107392397241246594647534778097812390805223528620872199157614066391780334287256734519397619947276103270629295319192337864389965434358016122788194892216106909628859230143825159298964343642963750610847491100644477473770851992269970907312567331682729706468639481081714458824154662607193363531263395405889915716086066396800340956260772552677453186258973453981554609315033039973170729284724823983984219807960583386199784700125372378342204252709844406122606105344310087236434218989708937039626375746537307404050450979403337871258748656751760814040713258495694199677666289428633466975367434912772337715962532671975831024724639422915157446831119793192269592237616330349733213837066009118124030565294737044945952293857359231941506997229308009477172419360954039031042711294890897697245045469325862327548442228485008340498095964988919335308472887964400898757532516077815589561797172876859984673420319018844694315280782060602215537037310438563922061611704595010844266182375385003103154956670963670202567036318578448610266986363253070810127605685114694674966288212713377448899430682686471627714362093541278616195119782516975392775501661505600641317747792020238515729629110462300062414571680954010234644484051096162379701369025189703149765691424048145065732103858129867381824765559490516077934894681616886659124323441230037880884409669534764027896338588912946665391649583191747061471387851346258443562880778563278220997017796768792395633761168042600337428871247985309355352043724135751281624108321717180217931085117397761300267366166694861140844590108407035273743569847639161147222595005108976471838469640514656930584922634115763109849695291751204297607778859325868281902167579622988918283224831890900324038796562379148428126406859180617764566845773506523225249413585217609741789600600003126824734387260923728654747947966386948356311317942765480014742996073035019378157469320818687549181694579395148105493899024297983179585326525841727623775934165415973818133323234889429518044745079663594755259140622730059147547830398722677576866691679684693256398883071873138794768458679866972653362284585968592532898020545824818461783125437965196909110399449708436953255833101141941873804948636200310783074435675292993052208870139485980949948221082994352072744013427504842079459200038745511231123268893447713261744415352171135076196781243409176635910614613178856221049052210956731747120569168022327636521387582845956754554733816642891244487959833095161001515227258300763343147891715898012077936772619590803410811933528953058571392870750486980827603333881475742044283381957809029698090745240216244463802777156210087228811263662534832357632357626114180431676741929511354141968454301642793719246200907738711966275813215207140893486360294847597704360291960523587923699681429107474489398706680842294925423091539541505590427910130099427071009823156923959380235008753186095816956641703360257476035433488189743592270633888453862077628934106559162714981640516172104522384745478010125678328655361108474732192627500750757901872192604390310817432095900187909713649688703597666069077239524072288506844607810042533588630853494286824584647735780810159635845368997236519658975752507796109806474726858603542617067484378628344689746837818543306536091762874385064934708395403509641479630527263445119295010971319490327973496808452653604553880614056577642968112187717785555718461198127416599632867813581599442877490843162795234174655600957909609500055671020335799843753853264628159284675964015492862290796606021026683124903876566112558617737577960760293621775232949584460302920415603631280452842774112166852398155984449920991934522101757928531412086795102047641659451646705016643587690115031175898522140254259280914558771254836709112176688753070600428043382109428959152740587351173008192262806970250506567716825653725785841828946500793413312380036210750789466344034937478284229172133207882033447548323996706651155511641515563796608631819268201982057988651847057902409085721569222082741880215255715513006803780592193197417859912514775865516663722888938564952265526544238661780590923363069651210854134187118847835423671279635401318050270707238252652408066971513592124596167870463112711295778957761717541516731166649043941099386737070409755950700491519421136671239337627268648105721290321246163209847996083589416991510363887300251317558652782480867732644724898444972889539122275149177398954910851059728744216235791963348651170208617175497854175322792152628476152144541165958381815870271120623299238749164722652655090708830318894804394224750778232974464381723970874837271870987971847763223066834127671691671848216805809083781049775301187948951771625201615430793338279153586355060804175414984389215440876705974221493708878154253625054792767692950372330980105569563384082277374403020150761490497813496942533022481774512534421345674798235747962814200717622772144279827509172489025132374067925001250395054292822271216696662905198336499429536415708567051367654522339915782765038566275318552770354665631793725300252140737420983896596189895073747886708844724065485159932976006812055172841727005044024018615556831390221636708131177379842773702771283254089804947168630706817067794908569080782037544098265675768634810412141197573993230421905657876760563355542940990635513952383000760224902995849827788181169494269200723672287336638378298396531436611976629394574118708347519948218425725446261125097793010654687722871615080678795276116160854034372056489699922388833013240947801608171560200839136333648430320178305842464106214942522385470262670342285720990192470366982080181293717019769275667857482424969187077229703177920639689800337670635493183154758170667973568082686091713908158617607024544517979577186209687806613400946906782513577246145126055347883633209065394001319648645830542820310384637962540715566675782868591859695703554404235140360475141120121777012508922380154572036163219797751761951077346579344365906559552330213420311539066558538574997091373772998307666660918971988557241190431424010457827968651655350181589536016613594635869235239778038910117204116618151902907652274538886351589154242276835679341560861721680348473043222461984160360682651385481485504676442219117639643898741487459580528072101726703649289477923495489120423689301496906862151868714462801879337264268687832569285730623652751327025100418091253642314929736326238415927996190359590097751530851525952216662735048880451266633072693340821233487746517596764617834949569205390145773512264833199322426237462314677118803536431439745854278238403527609646496872124210997128094639215043663588688830950831051868402845770367035131727114613805053807350441954402958292205353246006677124646379140266894071072125202650566157522851805768011565060220051231721460793657421211267778565713089373121144360506107695030892642370724948259936576615761066274487001451291869388036532070971760559871876649703106783966964888642382672171101670922647096104818128309923454854465102129994491784377005700088745502079512034491153137513849168392940323274876843561228704951049058034391566153743249064447060005032925103965641396039015554642437428247881856819514713258356953566941860145764310794029790671141980136919467551636138845027467086792543854842015473334098093825823494696764512718449864162431307677582189926407423611909628703509896803652494057937375442930409100271368566741962419792423819370989363078062994087663668104271890354295357365456577052354620901223133554076106273767852953874942978114910324784795355026535866824133238021382993543626624846563714417091249613085496511968081471140268496940963047520447715737478338500885250466517074040119005088278518748148631425396231626809400029987996959171209625576448292833868259153455187471022578281521122208540729634131465135751482694034683489891840989215337405462723493855171449341902281183450768981507165946797597100383407202993024745998297386258277369480697244097321424831374654550541810277863659800679814032187874581943887437729396079495812901164462493251835043699390068098337392714999764691844882264484609069280777663917018398106839147629717660376506429233914770375191539348934941436257133388801562492353402617501677240023468341009721159462575926246799161547447606392634703967633034161231471171716287112966446227796666045117689786275385978003163036578565598582146552187405697717204679518817398991862857330062917543893737070264427173995358432196636576782854710283312971497393610053312875900657357698942742768487629037410967647349940187948444390195628124212675653644451555717364778871656887698331593932673870248263498401749897147783895058816758896626426014230616445148214172356173086232685336762354230550804781715803095877606229282199721682590128210518367797752060990059773085662168294671317061377596075668610863637978291028407196458717403795559896821450401949097253545705638845138569357838213744074802878894009171927922262254521010975614395502101718590696621767384673614718159008017868345939559831097786716833346040471363532721652312914322768212041041743280765790264482889770743097556575907899208486540212788086978480142682005651112169788014454456553953814326797455386413519440676606659459920005651170469650494564639011789571040929916128326588214359061818079523907169652884870026554790222562630808050003090321384691540297462236093168294686017264236960224694146872411360172906913074914060933695607582087617868243585711305656081767102767675401141561249217807232409830711473355276845307781362854098486266004695422713338644592247368049190890572710085960597063840352471973158329990375445322019101629492414927015463253801427916255184126914705409621205313745728641438041134497135857321468277025755620659121655017051692329051652199012571448896846551698360581673839398584614166343475572807992516532787943637709141254412826044060535257363708602592511729956879338364596373642646120864118440199792898104854786501215362332075959610868787640849430517955388230233344892825841552391565966587853925972173178856639364672029118753746691568665520528427914165494059863596012637301858922298512682949512575222665503318905843430926441324760958006626416566757383410805361460719036189978158589432441751447828896742400337084622443235694357170815298154196574370639791338828779009218021642939993807309652812081276876830573127687526713588347513771481803853745046876470061290928321660634791937138951903751512019005937821078293664492294860203311298119982598749947519893199999450822515861332969241864508552316333673246285994968853413596954437167539839754989251773973511633831939011075855558175108616275882525809970190990491266182139005987717517137075401500324806269755808504631219473357518121472142772744638426096924870774222423385897622410536298334967164049230621802072098945163703778665592112510293014254917341868463509059485585949558043356179589740600980795764406702023591047110497894749995646620329941362278893224049671812057024410218571424578450274072986502990855964270091424545756376936417347409299096073275033844545550532538672507298145254715292063161079112094442740269040732765071330028835213125347099345404211510797704834047017056721969885834993574928641139595821680025802542355469726663389423573793110946956381148079404963026622898619165184625396708477713865643288561504485431245627565191320881812799602617287399259803992151712142186965876258489077843675337236918063349298767145808576420926685010355437416380943362249019708177577149737305691569625875152768226203955977620689900295958585212002216600443833020393555531083300794300303313207609634741407810726476968303747284636065941744592676407643414458455057095059351953541541051261603582833132054135100605079291197737472679191392724117412780542329433531167349906075701960332605679488481521439053313568352928362833661662371201936334749407946730245367631014527890700576434627360120454788261387601677306044953017510318047529528989522089116244667054238723673295639189136765824196521792395129856778617939988705395585237996066432959084415853407984888977333757851340820944421304677563876815444431528287924030681343643167345219861085590877204235485000937311362175413171299950091872177031438477068083685912574088204086286499877227677714909669117048601350198729063652756532935858683793037499402495960391022357081606090136269218444089066418453936721751161020777968946512125826325341471427916663274025810039713493041115349500528353157530580587808373351473653561868320219511125925560032362099976770930243658269377866646888365610335613147006838133890680434491779936996504497818227881498313282729208348679933206892373633072524849284090953470605829967383854179719941720905654518812607456944734520259534554049416529621392465900188784442959044755943307640707433863971043360570870427969470134410429872852080908897590975433906429774492587865098958108041471054442885684565814335059116795808190407173240478969619806807633596495706964972625303141300702098201165487308803662448364160620941515488445798828587192419950073163465236219521722442069037986744799878245243255235759313474229882499777634189310991136754161795679882738136678913842620010178662631128614542328966151610641308584368108106495810419751308480896070700933975519919158556463965535286975521306238942870368109446981695449677051634902449742109566937894292204044679131947452564498056874699790826936584986943174196233253277853489655775686459127979297603866310536465033930854976422525284998294809523847533267330747666083889653084831368969935822576818420882160474846936916658121242085682317448482564711098361303059417479740045087344683206073023783835473034193585393581377606498728006991067020789780533561242464506401949981663104224162604572054029397699196270974401240924590455549560379157166286841767087338738321719589595338120029967400248448801012175459995998003609763519291694674662762127380807619066872518366225495238812039554135047643500455991968499823188533438207195072822468556662403502066835444797532121986734457881179507233106654412735197855588822787813355125241235372797661700324095962600932131485495530607349689647973447364205315471117632713708196199194424079426753419795553888330732386561775904090220876896913686173559452503255756419861114720386230633830261544317066786166173856683218270636285429689109307043215301489779365864326954551539577299456134088308134697831284074045322312207531075818129681080027042872522729272132469757961892477870175664674138305781718241089473956484648848872948564412442783697706451592469687582002801054317462052409749982886623897313164229011570452870721688892183898816844800168570236401907398688610871121080667743854270445245626945803004983444899288523428961612668092911699937348539846201505867891547978955977183815200281584004131339290381992417357026710487979670641501731124008028354414892214976765737627367293106005427135098911190569332942289638734107201238948763603704772268786766246306121838331356817714736903561241175597874656165048120187403286855643146278754346826397759839690460544203512178067707141432200680522323510961178652622857889772087315499078112308152728665516100637792519100863517711914388877511464047360632043500748015052605248572524719812436687056904555953283007823709501126002114095020183623195411802578993801080202147341190490764089476564473088447192034400353723857098630669771916666412930169306541331076951446848923177847004121801116210266831103316778230213736406739204803993137234455168186194922027118851204654887778605605401500898908226665366058703494286342376709249117676937581385779468068864512480861198985876545289045906455752281827035233517933739375511679511007482247641588782167976577346049530043560106734769804782941538662432963057217966113103391728481051891116166914521118674760549425829936053829675870834355601502622686254015091984665754142043525465068945248892900505557675827669557925561756826802046004689361127426801511197421041397078743646802588568749082533204474220181606561646167197150292055389995242673930609189898400778568212689587121155106743923598524136442542512571243406915096958409454633877663751571940745116436523146569778653278278663111587985404167607974376603394278992898909120652078880159084280741203231089996652003700706082934645415299891515379144073676163845195155239380179123751934490013004464821312647254182232849180087028898197537695339038338071048962574124340638578306263056283926741662560364585038408247365857443991330717720929346682127948953499597919425855216467222016209269270659280323626283425739681437976465078665416779148880692310902373025166137062635595956054302461522932760878637565228649596416208585014864343093510349426073085650689903524807062630277553906573432404802236613644346178401424832538605342265412332726784999496908558255284266497653294248928649605210022090187799030943660813442764906014745063095935747230797299885195758772429864228279231131838817982122796621048834444530552090438046779053508863407999486231108234919196228976413192607923134374510467353327871534066305874062711729989483280035866406858290707625988274814463589666512785242735446754301318325355692251982106196491855393023959642386981225315072645437246847746976835310089809755885462566492458326148480483184953804640367566896489068369151575586001740909204188215881801344483132618321546571686033318948104406992259779267096648140814011877963574350353131364816493894797181270362670380906241076652012928613357678405737767085505361379476902109985208999067363336959271899201580202138568098089799882887502335907437725929193994699286057260253061829897586131797530054674484519827104712213829251532649288050670179424752070080231899184484607818025478776055260154017477063176250771718680014908539609675950952698147194159280263101584841648534869425023199660528718473276864805252829991446156060893691767921144297234368455822200031598275513437287082082910576792405888521429013250131390556951335812866614411850994114163988667594187247926949742305807839515473304759405756616689413385287975666700388506821061139084687762781770875589039890182577834720427093437043107470982236862242127675411409130916600645982672132402401413399151979822898905043909796805500535074479317609365113529062920472291690463839464917393064079876068722862945553926434449535862001954679478990874468995403268582331020627173109215990410782617773415876968734094490752861969562971625696341245000691133113942575386133304738876220790688288495862783200096591359724701770114614345107375590497525356204469727865873189637288537046522320320068017522848375200114183240471266890029738303695795156536296154174059803766634167836455457912264634673591598540398999619195354879298675297152059651693664928928380413271373815535122285832733516878689726972287152224211486562817551160564120813281090085021374841508628418578977479536482013737757958667536159348069289967039872089268713027145649116131579830827768744481732973337548837591904598632919545529724150745035431660801037919475935082754337557041550256179157067658517745526414011861012898696744135448854440200679221381923041951985609287200801286461951645497813272010271130561598749110438894510465484655330287364623285115447978675121773290127153537038866255918331293397996765841501103728173647755610480266857226607224194645906081100091544648494074547185002942259552718736347318192978930079827185351770067534549558939450790615475814740963222984117562507979397180664059393326630999882640079520496448910011005491673877495561456936981918798857008832075387105109724605669257054311745672419942915825906351297102055675909655237374877404673926813697175746739886348078880020994196117164823410968552525805108793655950506576147896805624670236828850003162635188688132113036176400379508478522061125247804373562776767534061114481603740330579028416583180481597195893319311390119628307465907694981692594413616695813854735234276993436743697498789208720399737250432700298332988767475598761588313004406642408404715125083904265061699697527896221669279564087389448501102644083151736934369596264571410351609522699053927507865076758909549158340590387314200360692330353607078280790899807846082371599057437990006011920515427959859006706764152221762771025105045564377292949204737322896069824239449261372380130426274157403118027265923929401161119187062678180031041349839484482471676552067215019771223257984885673443641436449302650796311780443740329432958614988240182664727097838238714681737918325033015250559317769093198772937521956820899561149310111555721382235222756192287535606533380953467159788537556571147004775210051063729810898728011499567877208245907391387363499941184101539070395643096962208345367993323328733842346330979290428727977111278999461863079546272616057592508370546681779299262614753202877345137640970716011916191407239715218180048116281032964716293144943937456781142690191808647985791243126398031561583284852766461538945694078244964489045281645798567341145301294195746005467795050698669641316670404781945136471730378257950240062234740510014124646287612134718493967801005383377769893188918199225664761588131558618125219999680924577288813588558883490860498437617748539776799407009483140882309908788152506666335381356657749014007696001825041697084443733909263146254016107974136278476274351595757542522747848752988396677627245255889826648500550052206208563268149515768991136476365916830192370106749374417678791389101198147758650978773055467884371411137262410096874594733010656027200434460218757548941009517911075726615066697872305203300416839210582212874657934357726028248417066020704394170533347522457945009506534757715454603793769318144515110599097953899625339882182880004939326603405781450430841856723159917506099335595946374016083309085761183260621365913234889372084595460150967034440876499988667986147597403150915831398264734642672489502555311369390913404781647482899219901460957860807548730265771560100129533249354355771950465423716590077705403785513142448655120654615987839971282925180379356404997060803169801611600225391844413621324958188517065077593515695763095210316559176036101624981256959254291714977048522632972873235223582474357541685755648239968530701528673030909604485101793895784407332137134247807837844542825652513018627939414550821583890077604372984156584011654954276388978740276798626591731751058372920191126323038187590339740897347894438528106160252490376460220901364894209353261251850417703435256894626215142828376290726267128913140494926491832194272442402101847549577006486581006412819877285995017214202692108555415307505031733865576970642376638892599535266432871694426137664894446207019159627557709588279584654847014391112178145411879040918075550990847378897018481787884662576540104959875221661352497864751621653420817159428104389413950873910304790575893468956813190023699446551831319154398338045790830538555075356416035198164484176540503817891366580084018124537317539080784906341374559278704895088304025719340559062489995510462483482182982407352966702149412363577559605643151292584866211502410183239807531701425957732595573038674761138703857522967850074848943264992883715659567835490538725562566915621339753567754696401272011174087936128877075137449839153673241073850607894159159132711742079925032153544534781898729682690992688168282035345694567672545252782859346413256947936959955355728662636939196415248459739173389856311813529821968784282951278548053686147516782896904516752391631691507673032672294847611249350603346535837295537064561328915598246216718467672648643172988544188660067045186538503950653790924321493764796408769341339100256847658853546487542012418924486699028173678346188656192102497234229500708820309660914246823806396902395871509290600426853044828545789859441565557916655820029594481527490056732265254590075036097013513988839207357721025543943140155003278293020527820107026287396883969117825663285266674366492407072020800661457943122839291483065343380801631277530382985907138894905805640288821457675801485035241999739660126373660090748268118855532026387168962695572799774265797265840660722573795761926610668690678055230373957315909751071191375184086449267805376042365547108850648024685200102655120506162293572572764994948174885403788646026929564571518650526366964521435104593646254649304779609131295630144738149574936697451692635172905935431539675910904703692889803853556366873503678331066277036216861545072862643414600629465967221009341261008445109291500298593983036240190335114772528497785897771202961768087883750105332671434502067237009337217973659504896237783338318230581734983274465310989365719683507309582714864065322392737600758868329118706159827105842143443302389364493252720227040497245755620165679736358505865693503894014784744129908329092731718447701303029118902283674644854846153218851118858351245981541454119601746474341649761373923849357899620023851203653773484608315656705177189045819007738284336391983128975123489622335955108026357763293670610167529866736867182046962383191167875372370636309731283339810639176456421548162658325462372394851643686994927859372092272929393688491496537996047067569062928937956048983015424115540338235384085151643655743384907698015350649378721839511877544694072365217835976224935907694008273948883401902649939134402059574376356023182724790314841465173548451329027445600537425878189281084053747516093492025715081014271899053151718887997261062308962840589835550277563464495171113007899827035737099694844570367264300009581416963225687825926064830729045574758647490470747443119142276585775867392716801963155875780248051801209454598363783375532873734127315534117998689586913660721565752775191024788231675764277564628527896758440718267999690867208266876242554218486278917534950503074507079864591325908858353692663565205754291245288442904516877208417743984648897420711326354255076549808870495320270208728245232377597181084440580155162332359821862351664685589719695193390461451659520626367979894995852424044273165096792630611145466089166486375202722728838759615458451539409959165693335951616250060090106793863134685771457913001313247382766775183392730594132984919643125152742240438102346334747473438867336869625866278583773742343846646727015425407744421404400479264543761440091674420040661039573327084967905303924889977012210400433010551722704141616317027036142273207895521544947104228370252072185546749050704140981714619426664662998767828208632699702718181000737201993439657187820022674226559076899122180943260586156297327800644872555840594339310314665319136529478918852254417069760604420080589406927541497556853006679923728448343625687764960666473593469365915263728719696498102234757984602736578718137316227072857460170705665767311613069035825720792580054158490653385519564652419768894734276377974043556171664772213496193017327348415934110152551537230151720906499986580825858152097107817778727255923925577881982776891193471142059889046172992498179599641180224746096375689648569498348433697245342633808544971193994075972199112035147981645626875760323578531534506818611767167807234482621277297348399062200399320699275884473068677315587033667206680877993552579405116534902467643508593124164498618927943499189828132773603478966009342181860193169835414207670859087953085061004468147826054010412236962573585232759882841942186191601195414096038201624999369980196961199267834323028550374185878518845055442979087671070296471536182901391466943945960632549941729759557648886063112401462025596056745004539290724264477310901334436309581683624439169066683766164516215019412035239937568141485124552499243960324363410180511974447184730337429892328872893013027325747087385034548729393647909192755869910841342890838577974602399423373007946298975645957985555932696257349411716103447956327735914712734578822732358163418829546304444446289994091616890686269429315760147339897710023587183424906365789213608645576279262626955431646224788912589501953200738432989146799319595299174289024564694445170553643377730031205179266780082253230924068760871792342032472202285034396128620179729969768362505267634231240113616738599820156567518262286320882558751355060866356439656539072833559373968791921411820303413262961812402922170851824854389772008439839775276934792513782511158276626461481364668432813406132244575994196188795606572168412848100121021870884992471417667154778334713075611790558835833691218968127915262405619563015313874642968724254251192498127840644910873471850377558687111401229106312971384434967631324853664624877101942493362046084661539066979914313157781762248213747661478863755826245467413969693385417937289328377284013373302907559723101247126770866709855635776947092316469946956975109527898639526620026593070148246268252534906297665401207004063344894906926397585842500624971713798243447184103780405183924111743262101215072480456749214642530798114486389269869020893912611195838653080505144894337105534175549855385795611175165379677604814885130593573556760352609310382222860139695041139707835050665285231746691326187266288225618745518978328305959871561576511301871056063930993700430255648436174634847207612195064391611511976684646224459214423610327172972544541312877690139015299993096325695709018715115555156587297726826209604549387799287582604921045971549393680835942286866678700426221495069516139768575349241022557317489822317881784050899043265707775424938921644943678022019658490352987712649152393853232753017765697731146545553670868943171105700684726465109517094967722584216698612748657213296788530230065561763632554121167546400559792205612205730898952615114245894706342580804531811156892440085268404953208107246191068420074319581883945985891005972117018111530321029697727839093793930053896963892261134537465156451270149297049799934254509053484309357713582958593997900175684137182680603884983582085006457174106022531602567190120053784674971848989796033814828338855180531707725643825996530371496269117246240624013392744609970064048018231197816384218029735660832517839016828756705930370415096204199309371605896184291602873027957026046207844783430589612897662173155697669687366630436424491195739127251471310665042834577168763638342585642198125597690718943893814001111301414375619575389578702318313633841133629185127736766332007250527722030754978507921918031074719536315239466844554371605175561776997148407715084841119645157870068244660344356824238178216765058311020762523762843290802913833504523835133945387323566724895624813626117769988420274650245047077173432429601980649401957373928449076038145258839845707849196838129713625794485579331600091409471488075960809028694126767314400090649040012206747559557523426140780780282671503159970728965153869832937304681928311040228381444443651491870662823245578375937322776665418147634980509461548214063840975421335281892818629073091674814207281973027007985377516533513861706033259422411756316785117761502799127748649858577820024776335629297696603525692866316706544946385561556924252488528268851055196707688930289775596762899831854885021997457535757889446140317998322100833608615637924429809338376528714455521155567477132925273543089150354743607006692502945317918709232444665387326925455355463769420314452071991537197337047130323704186443694502085111059843972859984167625962228564340743971005356690601783403456107271460540003467671054678837205032467021777112348174685475845059494267539480073118401823132323635339501037329866850130237380134075392488342857483423009062290164744442767769400792130709878745912023524111119830850330895760493107769296602479295164370575883231079590732012054587969656176550959309683498032552476364577230103745495699462372762857834591877319345897541082521655054995501889331807928402344722012535701638505904095666448405509326373399139724998042349988658293790156278259143715525102043876303170737962882076726426600756301225140595518271482601667501652800497660529993493225930458497839488011718336674933642258312187888698299198896365886550881933597558289183525698603531640892205931195548046689555180662436181544341011581420020737610704699478410227621641004163636909327140295445836199179475382519382950324867685846964708643794889536152795763262024439380070817046794628536331846830677257376518647771639003714729780712149962912018657941120952144630476139890565766919077136038700510720853556822755016067457085523792419326185769091404169023172273353336084162073972684663127001424294722113588158074301732146465986746913407927507591361435282492109982553935366142755901983049300526022302450551952967819488086729969377545499945556194716007314163805021751055039777873896467849062011660411947611457724968890768300938396132863874439281202052348445369886035107598939090374024125238405611984835940309788810983962438604319570378896904488066332610349334519737862760785921715856058960157925491221284131015892479776806721901892526224775790331938529215838766519123287861278352535543390138486991432545460022768815944790559206248304121202787306916246794845458571823242909954543490123387108334895440174585745364560127658956829739924523568070773788573990880338230404584919339113060814875072876800939899044279966840455746939807884308710328144027734785490925646130187686295459619243324061077958170982429566870181504136611993839641489353625908679290079565593084822831782875568308283261565826096629551699649791174767455243956430609645121665241074841132736659232523585465701065732785726236134094703163996615175201613094425393049300977927879905526330235219840936285675542831309105489892415283999000084237030962262138272082167949867227469760172826655795202396864595218985945282660715998948777499920900539080253217323037586954365225864022460749090348011259894282396875213841466435786341620242745987167136819157248491277217019334381601095400659609383051418429699521317675493141072897186447637134629752008584245100747967169962680528078458357443361196236560256583662669208894370236783205818615380928002188753354063987656890849396802703162129434285409230283822481193613539679714298226306717957370195690835592934343481910513153788572816204729242614087312343850956334270231228213986343962246775901006460914400803356916646675866192061024784722735250383313931301671972122392452643730238516716883592703365986450421933219147083252174136985787083897824910955840751189803260561290123210036187587136608957363461606597681200699286661482183160936862252166650185938670482069846203634399365829491242512957899582348875548475509176884090249711281213480679824053574770240624190509548263979906293768323583836079657300170263186217635833459582731060410102647150925147534328199049886408175013088778209250133920099883974931655365469902127129587291791511059984154186551783086250358930999987035533378077380374124988245879636030811768369036701235398432914376161107566380871911255989840400115764377488079468608828593734268608698038864742463668014797583484842827345275162324408792901002162545614160338040090596444565878088490786396255102692271387357651353607324465977909123497138541144117245217457050650321442796499928461064246266521280342900851719517943005766819674930907545023868742902397745510505498481475623592156905706598478968793521977257541050360464995447666879289265921116040879833781992718077613351977122755801463630733855065125236407521829173297383059925777761461499166760766589413200589884575521454402362404268559508858380952111421401752638488803383654139744207217623770456730111981305555786997201956835502750860301402198884858224278998987954853388656290729504981253560071175655023913906378053820097085899831544755057340228531638575985782149992156732626881380323745944615464389566510026480029336219160031263376684168029201693676265665853889114361905315436429380588742857627981073129753142178854582332557420934969351408519024892290954525308150594708704921358055616201631018660546227542181872401257310469849164776726440678593930867482039244231880873203294834745402242209582654109480094054762416229452620490374413527345698045774885200949204907301594682601620303169692759378527355649205730498371374603866768753720500189308252390392497557453584861966960934703149715331467462593957993593258095371131985936750222004031929704722105447844760160747357403788840684145708780301262773662365260709432948062213005577786961343950900181560520286668835446431520615013515140731260102539198399436019666689120821456128217062478904226566100125877173136271116273052290539059649833098202054170493558285058324980875633154471119497817423511975425430238416981363214981339654332247105431211189320743828176634578421917548196325540759536195649651483803606058258304004147805488339543543232009774247626736786598232813787424068012666742415892893480270775919300707997846975851492398368626707450006650644725137273277615433162988908825285426978671039439288623853377242170793140360590202651058019716407899715031723644937235593601900799343203688128243528882902930695973778768142009540107647111470675889191746774455627527897577839067611472601693712717985276218128205958133269676412408909927548847721811371765117585017502698364059073952070660719949709317471957107728675199590280136287784492371661941458342672090732485297580456727363453481276236879205962063062306668633763714583074688813627419076152180146028828674647190658290101292891335674966099626776822704742624370245167178541246556976084397642799870134773516170699304060912763409292799001475355676459099691862927303858812122738929410625511633428033641270604612588662282780595922874260720828407599109540574379259180876850083968696718890519206211264587721710286108135788963691440638104873115056679419850862348659778397979942235647325975951134482113521577629669239489628353278492117752116999947125509263406003201423064473597548716430642203785116886149378613706561994790831815686217370015993809142754492735870163217584479155376181515911279633693947689173187149147062848592929559348263875663414719630993737277883386791401291304991128870323903807859054879543770490744841993638512791667022852478626706626156695019400690424251443653379804036057312790936698413610594366789567196945792660887070272729356290812365331014472881828675183663265377385571801611274653286442677024197301212326509282916380949589269302998737354837526633112655000800464997565908217821108572064374564562312563860293866175838792997072190464656512662149051428979616181530128290858980008815931350393942225284548927676915432286727711859564511559457456268207580043223912880860964309605865345800767456627257777124488860023144954176202444311994402378481147570700164724241002544895800023844277509198788522762006731801901296553108287045378752333642400109920686929682241049070135914066007295035042935155104045182049441227353444102532054406166927677488308958367474721696282055613436918077710102142196991113032129489712442887628999234003530473612212739562586685468329926728632043680896758896614830681402561878773856019206406775356505728409467758947200389164137793738679732258077265832164683031860140624077066862913879342196407539974264552792672379164839757242689141680878049507949439314291467880757069264363244906494705230963755642957613712508615040746857227458691927874955969317382151359841565887406195928543111041522522609827386526534503623710808050862645248730132792366328562749511881494103574941156920838993763717016814768275575349453770109062814525998347889477781553870655790076536989727949798113551913567596869167926423828466109236648760188100873186945174655205552841785305897993506159563753093279329619293917464994573440876804929833314315350456371349656667493995725024254541890749525827602544631289017645874244829430985232147380552209077506011622318176991211008179179132726704248880918973664681425708484157653849021147503171876498711514033839854539878514988182388950213543104039232545338831650106982391592555017037274080764194132930795267916334648554122608738482276443255728209871514197082248573655543761549088029455188876764910142902394967198397221374185811655919824872080171381530481526482725547195706074036641157342171674577385434469722124910806306573896739660113027774225934196160690368227308284546972956304730574377151759169968577771374178778706038055375909214061732204974974630662898327431816993080653940239141144549046769994986770353923347321148465921948097547744738912858789612458987553229412278285574887255485636037809141545449121696204805613607939724517050916461196900404293217554409251812419170733160275907623001509376846119071253924818596709341989497476457886809812418418635832689503320022260612442320879258517163377172439366322330386222349318297652399115747982713418875421190477380871025103136883802291891971849301567616594281872697689921544214859042786855620055516522817806995403983921213821045018632414923295263503925662359487478899026758429042251742570428675874100632352044334635912514070584937263960574917193323750096758400149203295353853265568904917362997331081861660135475262682209928580764431905615839298286782725636532657027330874060704929809673360410304436366587501616940340194929814596525705700724930856730528727775062843731471933228920767672051468084249113290987687583971637902902012392114449958812423564708693493547147182095809394609847667118268390027241213183784883773368421022390443775301444838421243126015980174778605003377458077224599874172555190533753073417532652635734752897442060901617070470685774140685603669581221245970324660684133278180552651821091971533298164848291324292812958718230590401926401176901798579232329126043150372300816362825812212951796147916105307400205586894105975398545623848842206627237680998656984652803931418703017033740683953033799899712598096730060847594119799354782297165316802286577491292787211209622832993493291335158938871009446325412820744209790568391581777080033298105135709729117429588824866743772010145090380768520219334456009738150424500527786975983032635595217619075597554375268004094290349815256145576931490932131009988453573980264095704439764672544976416891167728543529944596496770153057739762949344045465902921324519909139530811715053412151844981387588274042281085141404582860116164314365897306071827155601103688536315104188047208668382675223978480891220401756711428246594627332690451253358808520109893892681441627022176040449228986198182162376416758900670922190973821320552317128579569029118469549822973037405575064464374632897770754531962756797805294419314245820240520145073921626033505591657271001205800743531654703843386744859040167416915835020496007789461311266259832802656518331908714939210301538364696944139266107643217645438992259652130360097133960847200699999309011086864057888009907659450461997338248557853297026944437170212058099056073547611216603741867473370655704181297946521143060411205745940734270148233678141132694399432163245348151402699909007431432093514257137767633082043968930387115541962619307293245562485442581069803327339536201368808030009499609974675337255964311846768738682806749825813442429269570575121637946646824898049807740867400918325859043576107039285672318189906033227226981898695701892905381342892702040521964871616921112943557383509077102855254108808850547502920721758619239965603554713403772916471835661669365610011019616715961440468093941053168925004133671620964012239146187687666418057532223505979759492084341891363439248816008974195261405488533685929255803935873831933360698465087326225808024124295636185888902303478471955596143017770328886069910834154256962130958275616214994255302399148194283570778516258103679366797813061628329238031081794704613085046027056729464215167698487470950293762155254533145277249433973110796948027080967096082418695459832481111892983129905040856011944252676213518887674385152192064735008511692721920816322061651315025166321357315691333309629927119695793192278095894772528376039495294367173957718184635734591479131437681294575142794836708052221610790749787595037232116585885938312003434198972593102735108380501076570223895204559937092024531789078983917434709710117702813976402200744122626939712745545859651606286248339166127742546724324588702858606168200300624953731895276884546775263681146904058268691201823513361278787067092414862359079494492019979110339576654821110604152516570409842347694143405065449692666374174398345197449500961272056806524167332056509700008583973217975042152723671720096310803488865547557711115557918643483374343821742336411657133123052559670296517392766710874575981321987829358624425666163332115549921608988535266777935697002137442402449436006348175639487934885126453909097761258613570750659255554347394259960226252267476879816100446186791494599316952842024032607323185972199922898179767887348478876533236692706275415187465194427258215421829883448707427364654748613271946174556022374831398237944799016490881260382881135238399230371299416831240763394253966017489226889364502305820196961494635605317301886499742883349187506158740470239582437108412393639941435413948661252911281208306061944130024538301147468094085619418771149629054152786203534393555050752953283194272416750575441110928691838153856826079964445457058607302129738929266039414734131742077890478729994000848189404891076805062904562277010016200314772835443354334133893646534585407170301818997870228852477975443559514297084841857292706114729885571642037796921545191400585310558665254562255756695542530679503061989280033702096724119731465588019383021108798561212878956693044777854117929366771338803358681317283576270780985632240264610337359370951869461206737016141143878754665846414889818497604450377759370423099643006001390342027768555512375935134674586135983582925657980173406564006634256230492899871882725838320029360035485670530362992404546346403376232118609946412048475990748277391965088828296795080327940633778565929151141350335240801721993358767938348440798391556208230904873630245457530707623446206717917209630711700644148628248632737543796315871574730008543200916717385633694462754453072660162447976561995321129877356865880527211546845559093406977653102784702888615616460395963178410066595697712881754348862952068946734207764069386609095754739187104992173121910106135845101968020802766037799278236551397682904652138842339858382481491477937869932406457897168217535529748733607162554064094353451718346111569418383880318887853349679468008313401721214031926321346827850829664482699623952516723284245250445224493375644626733608224048010457559271502439416690753483295885528697033596713140019964450718976380268603955141502801704254494995031439649947315970443008560798871239666476953340617852305383391725438825699981071764798610889668920129235587861869615043542177360332645234736055778750217925666221487324585731682766598046289024900505643274133750829285660639265640232945488453567763149824483556309957979880327199895339395273482887063647486932314276021240998557024160653735307088234187637652616792322044581150191931441064267764450050107622394499676698117780368938984052939406973879223329350861702293793638187591267734696470207426104454235004299814389112443812830447027710985693173096954554393014297299084281183241118691107083835174659702836296369700858647921777283381334605819938706270051925253413652164245390469722716510545564210509700094950568785817228445934714722643012340589034485628669970256643740283225416459654883977238346843958542515134641925356211716477638612593144897313241794224719119100619078461686026509349165973315852122185856643483881505690953170487412067524057904174491501458576045308376065553595148761943207597179780558416937260690496508476236198074910068421480100694778845047577376953785827664130253498560768706793292495096586052067690705949635906525297432081442552404200179774685958591350366507447178116792581505080941236676504696799537352821210992971072601841289965671292658817735700819837869608786265764505563354863608737223729541691853614091220223376267329408730021120375978912791994470949977684525897108595983548296426015635781434240598964986133401559224528214971454643890040889520551577718721464809171507440761144061531837233637805967762250219514629716061562059185856827682654180939022864595077480263871452520085061118063089532538271532549914999811359997397499841786879293422043151752038337654278959566232145820233530461966701071156530189559056515115177646380995469980437879505833458615744030338726277135994775387908352056128368532260696783787633464866951295962389505261610796849573424703559178632653646498229947879395638148952579448379264539981534943888190441881591924358007055236899552891643105462500600946739285910327626996590740190532614744660491659709378242296920636816623801220483357574198415757313866089577667361803522537662317232657641982458157842286782589199033060773482925582328947069435460986251857225130839275982985626156309193328308067974139306167464238137087480072706423285303152732203335069403746346762447772372111251289335830857431888225658226213512977205770058636570231173134673733803582272211659964057331437193592784417603561420739006272008145760070199888592738234332804039527691595723220586384620014243257812536364716327276401171805709672032672206495389818443522828350931269163570728795340475494994496740792686272245323908763745157615556436564051815374846214511437888419899519422167325466668683249641257153205540241595287303079521392057152783640922095552833220026346247731942029649731988807965529269814907757435764528520475939321558943514033350388887311153413242407011015657598751312481889793369676145060068348938119627644148851544753853537038912143554603507055668811187541100056750562860258081356070851451945345508698600352725633690990445185888793648913654365229406835849080436343719691649732243050730946677261039523956862131441953907137779682497048033063741742046144321363743135573690531873433112861510755488277090135100050949026855142301214671112110855079739931300366181582965583705879624577405516693035997410620783619818503950739175643943088592775115637581045134188030004914753118300912385832946896677320980933842415090516576246469970106740249990029348926871825895090038028573636630220617552913289043132755709797083504059553040821188705359849403017863388837051036138375539396314202730349069454415481929407052728361614194873705425297343352090420708864936826727302024703287763018608045729027046084174398351061173240296397631982302936703989071356255401820237735153288717001912308136306285061807582435951551592959637198169422313350015211022367577146244370061264535746459820446107462050011011353487282961934470180179995446190060942918641787053793289131762982563563188690727602692954300908650860698536607128881748754105466258077352020872614166746850263936517463422617456753089486592610681988879965747805762484353173160902239327828905035904951038321503989351715499402125298564600044905880444825911567827559129634443463409522974749887434591515593246595815452791476603274938091504549773101922214600000299095760065805514214666410668046782035841180571358754171725666603199007764394685265018299487108992284373732041613747602054487823687689190025370403767397744996586867635583529074520465961056303380523289515394365235845297100912836478432684957958650542788157157825232839241748973531990534605720197324677474580983830131705567126390993518793303387277197869548469720842487880094608230648973443295146583913900712787702518991269083675901149027402500184144042312646071695532928167206667481133929324599206559733548397000296642403525002826347914074183777672116220416656704993610514946621584795703281830342566742438650254011343304876245274361914465285414562558284871429574183236552635470463528650179583588449413692570957512029746734764073847966419091110979042858974683716643451840756170224593190769492480992799566555317388215659357281636850360829863840295841198266950130242922935413850924797150536712179308090081440605910235377347413446660524172814208716432740387334183756985410799359828585809510704314451230319491473921282169217431262001399257355422435596104379526928590438115144431454862177589995178215770884092507681567282916595261632047987995053355108681493552429871090024209977060815227346584018791287494285058764741381755380460985666279635941247172815432338150756066029420955900558019834296457461895218235643349596319502383878503344094068136344947782467305801473086875222942589637931121455365455743204084378572623686154471320507781073482148384210139556364013108314636774139046193155357456134153998413385292003772304677017844226630423687605661247359527099525785823994707615850912480874475221507748055910626030739321948671574826668586138850230281662006753724313285507056977042610598880679017141370055753902222289566399519366841997085267294866823169550850147550379775877573033715707839959670792785366164185473379261410899407196375335613625954135103643583692779423295136871221917000717987642130650670016633200113206067837944936959607725314096158333573064935026494165361056564673194596373910948362168912990025267588384171144798661982942424819022074927533969654274232280665691369262274574751288828691721812926986934155272142053316288862716710396803715964899581696578915330461422723134036682202340670299332425361866789345437132601899183478890988220105247224342583300814559405591219267191996828559511873892548523529001621623355134546281220779444138026500851397038068107460625663005411734251172998101503806833733207220791786802734652190787193191635530807029068397308998327415190724396826842022692794623376370735823944947383491060478314341893517797069630196486398237140498806748348401813805057655145139328913365322507153541789573560608546009976060911642223178719962430131257389181486166355903222602954742380324101176840442545087267610031406467677568758742539677231474035705567264962963006612653372753779273700447030187659719049855770043055464692576250104481629663546201578862140958216142889491228617733341769077082675239663023298111541707258675728345488020606893995086210475438192579784895529026245230910541064334541789116670095892362081586779746156186161019620263807446952877916395566265768186487059571976119098259035691717787966158152261954353814971124243225912419151440974064539245797729946960061465345088223423723931295780114097470723311192334793299309094372743563711568121118417275864536190523212995160275730659490325644354306294525444603459430164862679975918712822818306522428232592808460114539247608003417589769855373621702575903001996879405674613740646047407492870763415562017910265119168692940194552624945201475769368947927780838615227098724722722867343873307154076628817231294383336149659594289568577046791153695437444650770609753904096471522316911942856296488803210811881425938203456905629426590018951007845135759600545384928469851504350661515598687610721691580611789617695711643703152700559620602612948644280454063025612864135883682486796744515870089124808353106691257849410362068758334419040789769582363409016853714151500153114884951304198303388681432541791219611157066446517177340388211496590580258528458043398709976089243717595340419218089969811198134016393147012564352921714352290388926422874374975698171950105040766741835946453282569754821495171843826880503263290166256185813667486651525292473122439245985414457435462520085277937022659704170701731454803110166616396968162056550003570092481611740582661936770756692236302647788386860457835464481313331103623010436875795648062240322396999570222977086857601133443761032308125315217990120951564158685312059370889764126383560049271511449246326214427506675670612070404293132694367919718378869875270903051028549569789054285465092698729604313313639946252495320219549285716484822984426605462737838905571949622565896203898276002844206579290562721217918797404604922398716810073034114832984708503754134908200199127508741477976628529369873806835677582694195289334197724673597365773817299777493862447616174220639499137315892563150896337547748516711966900964196374969914869326865635842849049964860840029117616778467673116061716698425689832997051595439695141706285826316579446744052197953242404499576687963014651742600720349551297319748156218855472323418020880131839150094413481710455749200830527831526714244426070804630211317688653343045711079364697131140144370553109640330777355783381502249027595058540863522954198150247118849151953597379949087391594481344854109166720781156289380849593169536826238690417698182133336206944921625330974346875860930019042436267609077742331999135773914558872185898686169033482667906508327819083578359990765311565493961952366170193163350997809464502849675448249189454251207030075567813566624238374521900819109136767108002372829321530315813933899248412487760201787909023184157077226936150908646179493329308505810066436969255232057056196932548551525779438694791931332916777711697803567232817851033516608741806176557620218773019007064596959367792089217544492387719882851004409833131187957401312427540157925388507020753159540217126709372562554852616968380087491102558516346390569246485210451677197540702107671376063678222718250031139778507523823471542138686337852395295323953921683704890561831387918760911963259686605099697855094992662384667230758720556486074215857169616137950013268071449828943366136521581723574046023732964910990885053563598912382791046753086661746176876715649795812999037691465508687987934334082689162303181242758643001184402353156379842474838227587989547433572009992729845179900380192905849862281834290162573110817158876215561269078886747931886203728810180433221394207109805313828101140085217012957400645009130697401114041306995433314217513893213844675096451841682114421925966058613280725982339597393428837583551625258463458805570025081143919080188963397962096921116564001244312995572780365122040811103113472560588922186726373478781001025688072634061562425771824543524379011552156417398066234462583201248936438230063732672980509700178848615374068436401162892613077456198756142572323905926985415403283965084185496905234661905982460416960430183448024978343489502976498031552640069616186342607024783633782507192141639790837172316151235719939667186047970926335971625205630073047632958527511275582107177355908572822070671124806538178853753990954743985667017652540908693420073415222306419475095262266844894019426302972241229717435154963365252902023503311319950102780585056238395050817599153074517962467650014830190943802119340973544154907357646646982075510921939001636996247705392543502933837538374731792527986615707271282183283970128335351985634122572961132343594481463609717940504281456301014095394393850066362871144965336827541388659128117509046877262168637474599307117920034074728067793528708506387680463144620053575505233834011762794818659899820641116576901026643273470122707915486401142119260257201957760869071167998681034981409794529888136783326497068927264578934453165500602845325326346070432822556481455271258335015537564331859370675986585562996746327201426454934484327381681449407738375895872035057351923348668058560371994075552092161982476234373803061177679379295929233495863079171607994647150578988207170117700111250444636269802478500483402582602102978401278656539955284814883294907463102111364849017727715308575183962953613554538690354773452069359274250214060148290536261239808494166996447494390334990919517267434617171635852963086186010974854618141881357866311531431046522446294896976726030217664891432576596323605247402531568248354582883526853327515257438436600160375922371721742164438961705695649213633061199031944830553608794763933898899483206615845885276086759356432823204785311288327498939913215526934035073009438302179108927702290941148791135415811774043019391728615696022300581347965668958804005649624315397538779107242464345517363550087500637767375516602233694355236031478182074327637584915555040182404313980454173439682539856366508941592079593517622159455791800073154104431796123963963719894362434154179989708775654022707738357598292342914125761840302237680686647692874101750720803691941724916710278622101900388677375283769816181008839406966848769066399340905886232085245711380999061945331697842612170400735400261213837791786052290614917358166722613015997444306382757352193069120041101064684989525496520635410889377570143854488340077851553080664218999529494822451945420939731512744447587670694308540778179563084591030048109503399461414528402560683463130181228410190775529137064912465438819403011730488895247857046631415048044039569009452237717419654540519194485092755254205337306549431265410789355949848557030190408787929726890474673113504772094865421328503251405170066145936543705903646582451608501153570407720985983178380833193979596646262061958915531592618295271702464675555208826270043222986036321545970885998694911951438883365165563287214782115357753585663905196011173057343344583561990798641241046179774114244676168747204538556494107514202930401866542435706946564389827905408597327504972490773221760757228162814881821330693681883432228554695672737167450802408267113864153357820896800767543200618757570631228705744644622366718746759102050120571991815494892341476430755991815445142649684393119378755773367739771725742526382154282233312010424484194978741142653610540096992192803331774265101507158933889658683200498503270545042888110142041783583437678861799940743009520198680684449115314086083536742736186406871901796104950754979778344359506859022796986986442121753594093566261630413246910732470985841528943645856226248061857228422638977519130575205714035474864377098782062829944648968518110740888141845814429069214274326301068793853196587168163950603553683751229894629928833323690315540196170373399509834844865607881072781785994339932278974907623358730692865605704869119751464679046431996906262170732798043132626244242062613716352169796524969215348426028502733315016869521675840831282476792173759904219540473120864683000903442300764031978835390683457412154518446590302941102354669686767360077060773303944685816261367380075104040509052776367458428932978619876405500467053479384345438187925375644980317036810585556995687092226689065049439767397587491708068683818068127744209753861783629810655011673350279499883937325424314040826422930365334861488144156706805502907079591477198904032984289610651629323758297686981225611821903149069958592111653375311358412222013913835714121312759567014615784057584601147329370466141478156489566857550622403482758929759365930389450210602965275390929105035660136094210224845923159192808395738734535078277270990681854577728692200425001537691804817029258601337162701934361365023578405369934688659373457934148634761632875241922619803003035648824825408925553465149501814103050942322200484450470769656828155341256267412397932183589588801748833333316716121277199868733095710681408687423652459387150816295351431587762921240896143478962738711597035145847654357015517789763957795917149554661825484855155434579021330874251346166638657635608840271133857167288683902390651105437678800520107796056465506372018146319949304527005974740378312428629404816720231496195152019603094823928412908849957128966732493973824922834481016622143680375219805108783106548343203361468589767364831929895979474665208356855033142632842891959683717998840810446583890583677264850547512506400938021202186491113669746405984546295874241848255196673330942355296855751760158740729546861017668050953234295991645115031173476661326834246259828346413546148451446958675990198280050555904898807894599915252949868780879542929143625546302645791928126633407836667151796170139150845034416072637370190532336537505587761653921408238058273883656877658772082796296112074262079395684056821206764554527322627456992835489708749690766986145301306424201918573196691512095986595348552133774373640681645883847517705957413747852884149677552385762103310426686439131891376175637208853117369614793884861638507795291423118794041292355799673386204520654159938091033333645685577811247231497247317214151292770128909832647077754296638891688486161362633945698798634507264080700267779753795799723183511234632386368053449516640830737870525497005023354209846373926476108819229002974104311900723884126784805981777851286147662132784576500655498186749091090658111280884164472105459164011601765397661606304442514338621140971720902145924913558471927069903105329494557453173916236570906978449538384401727870177727856814786980021760733251805147899304875444451835024317833221266611506964425883069100601915538618555198388566106675393213314632736068306164591734648718413798509217801428035115020556251167281435227174196248835143935384227251604797234306402828666756915602332641098110839874941927815961191555741020839952749895755068547917067493891889337506972424449384677468359376540682096480124710796259013295460019285804735390553908060557590995374926444437050322855960548398781727112261716921412218769697182174644777564193295690046229909940047968406976803251317941483408903611045336917022209447286100428110879714646290803230898342426583766317814640056240706824733225152962498971992235733740221503528683397672515255007632745921658171228398127229457318475166665348768219625753580592270161519195984057785240393752586264180510419355265423977532314481369535680745569940299034623991551858933449198457160155697655800299149977401056253963938753717627029483611215512284526196126323777969105641348886537927899404050496519560066168897574370364375850729473633756713769960847431779620231748572585923914470407512805978245700088991410697927669628342520829763122290892628445557476098837079407087316982376092473945592570327910095321418903021054907596134753318105415566682606178515517216758133445683382440811650418199754561449840179795553467599185510647965233888812787050707791153241522439201946078441967626036744173486931391129436250130205171135383258065677350816610842193748397914578733013548474406833221546411787411738561081431883270337407764171890157463086538007184243727456785179196929536512924130752988103603916237051883561861208524902581413510073162766974741169948176230140849138782917208532257736807415433717842001486718176723422411199671926428654465832535620113927526762179860976461683874194538922960001091455066747558082987642192358986307418180487300692589479629265036519968261549285589956236076827983614322613862201447217088183525254348754060406544708713065242386445012984564654769820586734189113144038951480376297330607220825603436947174938168553939117567289364080698447324387042235007145240937750158236865823143094958582185504935336674233586254726805587169991589050570642192209966725745486003845713524761356867601975148579405679811838830595397511065808082732743335457514252513302917258311391548438272378998277262605490586633028416314311850505690808819714629963360512824408705822582663955616824211493062592098544514987485300444808527004898009878554812790688590619234816221249177631372335596513089908320512431472358784167945453136044825413581318482488158712524150108528914772957394890406620261109263789079546168400091992631637606226080198351818044580547419609884352473052504689215397278350930672562426116262153156243659824688415721934430400919210990794207732093250636145909450191920466834605109409245135999053757300698931943634274038696486055962627176156712411061120153502162447757270150528283104691476600695562942904485772126462631594377818715567666824153121123479064175670112007299270413953424172292783791325916576727046008022643541703691119443021763546697287937927407791961684315335876504994544179573588165051348051144270742511999260287155554784134388402923208473190113818788721382030326226562233174661394954907542380145225508777261860519671059667705487285648473336558576794671629257425258167025860138478027011579885253664331837608448931317272487937226504443732903325688208571370367387342963910086002978877345383756690902780627893175834246135399321398921276964987035875252148501839071870571850066244923209244665388499294924358634973436770657301787184497766420399769320964505824664317475796246663539013360057064815287965922204201818057915229968736126888918093841135838631748159829293215975417579533897782276036871089594777759612166535420709478344940161583574791986302307528406594474749696390336516587602551750659907197949781214958736241120321558861699595483346976844047210154985389035692296744279197917469042126878269441104622344544756472371883112656284411853710164942283230860164546346558257757831220529291071398113220993537935195392465571318109100429303635080437928695286411633533471252195752339997826804598100753686517799209435813148760766600555864577830760599586743594631654928487836354550574017601228453107635215274021969224111721218215827998167328017660343543275920774845921634919885993099964052296245086026253575079914486060768109862911091563547461105742540706880375166617438431173825373489068556302636972291262235102389912955126362420019140402079387130240843396864979939535431396718580229711833141444632555860218358985869502455712377857472633443884256177828661498883498484962363783179751365512842591092394156442403274647804224591840398910420791448420780021714479472527289390837373803105335469867438508042700181449142391215662721255531778869379465566245468740628990750206567351593021567697948321025797398918122348316416085624699625114828050636858877481870747201523973560095855406555911122053107061575655534438135771394884663553268924865253682788012171398064234521003985037748679121630976924689422467473132116701192096551955903396831255535738985133283489856108024601387664236887286295947179284708844836619495047861012207101832132478661840734556315476139800877227886566443668169509732852416773117243326358115509068197579440054183928084242624626524926756386239511803399040261401983539659527386148038155833336241209925773387861031274633009886189571928141747586219975296203725533057342278955145846711279525878605213914456217068624981916820624409651679903291870145803845020997247034716941079378786110660394290259449261458469997148518689787221941248821689199432960454736069567051740576767624222174307820186409736396598204797721756919594740655787654070628386965454674372977118635385710882383748123658855580609080283351167776921010491042315690634965100867060410449990658841798164359324513646387515048987855454889466187365978517901812458217173602610325997097907226568931857290646793480861319680312636336460454032381434286411331744687411023008005048799509860749111563322382379043384913921951870038874694714031317138895967844828188871701946858604955045752072096434076143378969152018506294789613626979178676154472413968091801408774131193475204448985094370604289096162457422819557729271270463884488622271556464305108873751282729070175763188486003366483523300985818083553378118659020796869514339337108357331273463135003590355796655590130241755113553066655804314686564929446847823754940556840159782917126725473792011308556444826987724762495303859471622056959412034015489819567748424851679926092498322859945694164093225319597543196705806381886946798966838469229145124026155565555254088509423870182593689163653637340123413098273626310461026510601599672295037712578153597792909645800226721104417399338202409948619506805543341518391817270031364295523573950193105592978046592271363230180361966858863304596623281404198037652837286314075253525802417972272495920296214715203289493291717694322264551107693502018275338925233498657476275178222018472408777422169397668457564935202362939999188097072832393090506145668873653555385769616836950794250891490832445873495468597008139103451065919368561164683836764205211798474893340445415955271357610201441838191111217630974492315677985532631982439205971183804898576364655980746540315767329890310933009683803558593959059769447779692006308425058444111949575074178901956669726960797407703447282535786781696232026208573068503526385242660224796596409988532299047300106995452425317225233569901667833583198239729504953990923879035867131854883296752353321991292595596008231426460635640518378169769066099553024581417511877403475463267842484958058010628505559074135290820680077850810381478794037601046851834087693642411878038112455274562863116307320785477984218332752414388035694879939894020283942535849078769586491563611121862009988036262026989430005917571537120102017661050433410214362539849517562844249833803962301545490765149612386529335809459013361644698486083776775438268954874235954216587619044566888232790601078123516796269232581255806330132034313535873215504345078431574130863713358918708739416986775657551421343642742675711273992035081690942304601214351384377446668186993325763793455842120754647032488838825534875889281592815355827037849176199672512850609595227579675627777231224854693436317468144515138457634324043345175212851639539717751671774311624590256423900886449065727542730319966254563945895178401945841910673149399862898613908069738896104497115613496132501662335594160085251487973736068827102188393202452903760436782808083148602421400620222533635886035312854815253294784931083843852473730002685504269313964727006512398403163793432372099410089111677812468368569470889715140480420602781384269833590771267776063328619834836384203926189482357901074623738236653928134407500411959460470651054274632698237645579813355910250494010697739647453912298588662143584684631532930301711450604936814061039622549158706706896181659982354983609297357334845924099392645692677017297419038811671489506005634255417336547493741971932778295924355819388761208539606049880995601849733786472361859946752303540790162416435548047016244357849069519923180252384520835112912507526227894855578211185021703578783437045749830841262643102294842415890712394875045468253906546487067321272536447640852377015348601701146759185320955062838809704777079161219382655017277152848875204703923028504749006885392813708125664957412757411880474936344303746334907865200764748610714264732926816005338499452839858066241366457532092558052720213080018618011938598795292399125326167997215271474561547094370544408736565400267941251273497341943810437574522585629738468595096642680384004417525435268316123736700133026834892678749545782789302195415456998323645829464157536728494570036425188974796908997892840273728133568965050736340538908903252533943311528644640676741798196682047476451098284407946530083327461341532090310375189169888760942729353621582046422501709591314147426460875656986957873019230930074659571702917477658089469083940393044790599000661134201699984219867773172919669422680168928969877277757872977233366311658813365342859080826859296345595549713486223710626637474661251694757578516497702547716775295853330789473285592475350939147913390559702993595397891302347165439120978701996237687978571686374492055528525599956530817012906865283743836421046547349621886547393075017304698661826725006477057208557389677756867662918184508709831129426522110150200204340438551563892257906372638594654672042601655894831499093623490356527257994241404366504481213431285750833204178843645664313036995266236065388200503149412541983214628136271341497862408499840996325689399150046054598789037013405969735461613099256512442951375372264345458928648403621348474352208993402297697344817659487088872236318794245810795967858138644150033364225642312929885672671989072646635034931768949095800896371648591253316110492900098434980876177958019925923120605349407971964410371891792694107852154631894988958533958314268563917955004029287401579751771859485699151211102278841478999941557258791294446578636489860204400698569057222551701648484528577442720233079351442725415359687760933205216193500214413524607372271315023963084561330258649023648626357508231591553670450896813794063578910853793324674738014117711526639439515771095257191023376790840519961813471935641042172968379204517161208778360328949842581264865619560012786405863922366359969599347377472092070080458622346290436528738632462400260724640239118756927059307830098853900042610663861382934967523302532474626213999232933204201679793838130867881018993518027540049893135299367465435900627737143372490616162791611113864929872710272783330117918128503129880441238425837065708738502992444265196714130200256958191693673070226085116303962029499382026693185756787574751997494501290356567731306348728598677450999963469681863574129701866126355565924833897339459073373445865599862938458537368867728019403600159962807664757586195389173545151680550557659710465510568381477577724457044574638558739463399285438830332861468259179514351308973416050736390730214775671037913491976123143122671725496288380136752308002014767161734625696045148676224385308446271885383058133673175280843617421033554460623771048386832290600686195055898142820647012931660391254143269780623230064761823405313294209836577156992334853072605117688885302286833225365849720788781781305052072073404356790740960630733456985473271803269291149640533502801820274479267658552348238451022011857009464550800886059279889593015759338009818393925819354058259142309398225281406004136147392817625494207265139841492431655314608652955990994516457962563447323387017861449916961235590415628161915155418152523863717334926283713063145465689324826958370861441415197873559536571672178655099283791645929529427603802553045756227500309719017766311948056198322984885374974593486020194527308837578261925688870524712923239776960728225525535874370966130957035680986351694390593189365436569728007718761206486855502252770928826877031360430044021953576753445988401733298926375627401723232847687367094643501600786169280341371621170019641692808787405703840052217860121247412435371386773094246105975602836863414224009037569942493336178786354793046091899104941765097688476183054260081132986274507352517758333849378062102931709009827095186535747492181611148283713498814590681521522516216584679172680048163104611069110327038882488872532488284982055477306365121499885864591380402325697585040932817077172106145797537759622627601311767352446173808515024355395377129208616422713784557310312791250919334854137442667577120292167890073733642475065653410697516954335101299127580593132079464056594739117815219983824611844132367966396495239565813803861061280497920509289394620721786693581036634276661209423065539253769013054464430250995509598737505589176181546803775119346621888006120198000389205390445153815142718744635985057016878788370521233976840681419280169976190771654039970122013733484885180121691340581585838424962964375337453405697559832928815701970051702996039957285053613599684463465333263336001746394455388149653920813342734614732741502159032328680526829010792894868026392769808622960028394311351986709237361068396547932642744588764986587742004485020485984765433091104020226195724363741548845986392264854746756201334326053711714059247588413134112378899152784426367807828654183691419589990991748474317733531813749876808443991597371726272301412393167666378855625517547104760766733455995694393557409096306951480559653921894876026337765305480521985169997327600209412879623274277284541279100462898144478623257302067543668208187823845684244114506602587347269944904932611538909023277076464753923726740338976663842613296865167445375682117555201456206647067456376096913001170775528934101612249722377744505242339631143854627184667733925839283902502080158832497336194203987854896380136704907319441982339144514419977513618424826428606434686760626800446247035527030848677029784889526868775535439494989670378476442670390809643141835808469212347934694096569653409304629909967234600097621301969454292306607237464372672820700748841017800698351596026534779587112355697007823217355631458507283332276260581157239095352700354798013393802692224177879962824450088433069870963852780730187096876235248266261982079516298672806482507878971496910632839549777280745396819534434738267066766921845125749571930962089848573691433025981685867382925710116492151733709515164304171279799773761021284645997828729935816532948860423349580043863218736440439291365655327085166106552924023435868097498889023755575560475161838916332897310666521684299327513252610683156554918511547501579738754095537875764412507077028887881421503878286521387563380042122850466741226001918514553273415360230589387291003132843320612419092536876810594291390100583837476670111767949589617402863165249333781505964941499426393449413532702489311091096170043589796460503400450153772646095673441389792004684484463903289397394287525365677538123878021416563993344328418134439660493835406154878910872939291614582898808770821433518640200486091292984059153224656732145495780378312067696541267426738496576429345288200629411429956584082465517778461697436216607946390063201339048922636745810320263122856775364333392809524318450090239504280294864496374892246897968812016160901360228790439120698734198090127323253965790582492951954004637063293702250321413074947423813299728004088152512103110826426531024251170335501315460567326476552986141695215585717668207509565205409820135960136793526180377058272168765229419488693350756759152118050942570331980386250959041224791879986909546270461944396000022747596019422533010507788018988900282219760476924991278599829514555641845956630050685338189357008568139556566930320490601834405277156224997666924985390782042908447770794682363502659254059981823824326849455239419639201935724554616111723994397305625139283163336515502635519516151413353138032006166513221636635681476998587261234056673560773302870871570475726041211306281040707960867434355676200421189410120689996728506148361969322586779302241915350374527876959438808559107549802144458651696832878037007436163445462768483711268646020654948354210986999182300082581885455556932637671332201188142799957376781214236441191022836112378132312280591920368761241111341657767395965975596354173676529207835899301577713997148397091514406790088599822806406885964524745565664475737539750504708419578706514962463432385528761513100536739456609950739106462660769519166155745784402485516142539512775651521736021302005323627480776276467116839520591669696162794616810134498403684312613459468818828655127423986912989308562556454172931118019895023321857801099275838042989244001912383355568479529761107630347235482343049691683122009863201653761296394136222986035828236001638634455059412778217270906651750285149846378209438762750505683159968276391301501793762611537215890031447775907781034287481763918295002585484244246376549090856628372944698306827645286829049859133625395341758817224271144359778251918801690707483917236130919619487857607154573640520442716687478977378498997456862262622720665611945691490064084583700581048645782142648411376590074023278729547975708973572306882208514954294243713803552209506376447906723596800411356410195626629568503889207121458039795946589211916263630522719555961660514626536335053461396772640885476411960757937659131690849210063308893848828794767380544186296245078939586846073530436167405690663470371404973215523781974927603269276276795728474478407807751411338669600151191753285363743448105092135184014132298165947744278022102987719149341550442307646177361315272486337537401684691767281966300989880847286252745892005776372226392519794284796017038900514524797013011575853334229764725048426252705675489795417034565974524961684726266349402050717537631958675147674843760965192504057026205136846734971822953961008916870901981324395942259899614822749463844061862781379797178172771733680414128023955200770107276469560768260469096435616507629731167287801341743949541460308440414893319919004728042457266579582194228456239730796691643092013766312548973024864629987082527684897158037458972524034737064652650372248484343954587577958814445654572671668569257577871546456999249036997006039898689863225005516373047963803842980539451173825041771895326869835139866719018666764877268755113567968853213919471835017001675006558313071571621315488462906194531374408207231699303387899857958945032264755592146370445863405197106815589116783929865674711295159670638007767393242751320467096380267889541844209657691737173656681374394709361688966985464034086333771463678280329088893516468821163469020502713297902913416729229369610386661964836995780980708953254517924918133958525043849837167315072678685763125672989425065265602548983035738482538218493682320337375246796359648874857740743524092726491334938770152450238990410473099847218298983886709106278140296459711483483304117213502907360943137203381690037794713708191055373388126338892200127214912548242428209150204587464217633004423379875336984312903133920012847035857652111653263281565490324209930238640783737547191508288061254647078260434135822950822934877587997870645300279501561732566763557753187083942603556255705655155433343058032339462971176835323699896604515333879580953715877891797521407915336648401727690943982707267291016529339696627905818835634021398858829471307262894972957723088822905213207261338023985285529810314896272440046981181082394158965368328290829913113030093883059232219241789029410570798553399841133537226522666635415187538302540310913953421071760808569954524736955005028635239319257918381100662482330674476642085998226050292178055648918608682128748444507750945678606176683505302421496941781162292507473796438809762991275808742351300497760954494999118955500068260601601326555224194880819936134701573788872548168475485270999215169564038792240537398586320997788347156680109760222159099049129883551951487773040863097151646231678291987971878755529917240383245596597825603799566433128031046817557087540197334021010358340343727931072883509628276314165268314593843237195030854037381493486805857801490119938468134948375118775806462802390161101087898193937685474097761060403043204646517447616996793845748996568329711740198851309992506935188898552196448597035436589337874068484976751410484480982699615409676292432881461616511781641607452585180729636704776052030332689927752459021689363876605048140716210514242979033997400819559853752823822833560599110295848620906295505171644895826035412903436664006918582895649986633568159478898982199314131027056665559066596772848239898622984414700825545594750353635596745381551087568093267241648988128714903993995577204442451823419018471464841297549972900006669273362481279070396463973183527663436797660399901311643291808422893585701297990197146089206490196009702382023755003007531515760803682448534047229247240623251083309656777209846840605278403289129199416782636693197373508384887606315340650874213533173883560349943492481447631427576932850813036740785690788321487611466287134338188055693054923657926658793434387699040339830980349412165274548833657776917974864968523893970819869220725808055793449175555428747702306662305814231189879898101985546954252197083181023982645192590056273734274993374574500732826364298102038254367178695896888910054105893570029219030648945985326100483363361919269661939779875677407085803783038802886104910001906864093441930704155287168208419439764537195476228208553086666960949964811601165126673398567296224609528893131866880101838222646444595017771022367613988630649657093836792844157529796334662600029076948877576038602646512046375235097461270038087034405949484142214932449576025266555499286835413921757681152384818375833842095451134397821066390891404464230286425324251892386598546426697432762892138614656039356454154969376056234439794489548796415342082131467772573524188060366070166201707484825446748037834027277481826970373096149636630003765331522707643888908190336990315210420795098537589204342852867920820749826458361135276522143844091554660456678487570514367876075857092251300283618166144182459433763452850429831334318216210638729230196838010107494173986327811912193038465554622635766736094621406878916017452225692088720481899745340916198001678338134347349228225351456885794317260996021333067057995893602501325856781256881720398379506872892694949804214659343498647597698693018143311567095290254049243371384110624906217648239923099692346293763918248883276693356732937338795269411729209685149903005322814422849382668976950397332428905801838088456646254290210281979891248997191953804685766040552324297205436160562681553367771797786150588313304687450425850031990463372224261770857719918316629995464399712482613896037028727343065750006728429047337197832889965816099483551539377473392398734088087026041359328489349767443608412772548629279549046608310232127681396566327814597040592856508494557341758609118222870979165981095226883000281311529594800788403605106969568686313138520253181463090958074151611511052027242168456445750443296564292585455630970494938060770233924404000280314575212556117118435928190065990386627913384524360392997548197055806269238895138405805736222574967677067517682669950012781710323448300332588349868056546198698372297992007389644094907542667213193462987036016788775922569318253258619040387126953432568733778388129884243934323073547774296223150000299109762738474478096281297541988318410041638076373224060214099275723204447033538963507788682365171418557014653340093151556097829984161302554555065149856460866130587840967162603837791368747396770510608777518935893512783004862164123102429440543006827487351608849063205441040357543346687168979209330105093508936403519288483331192370926978441308538961429280928979766688061738091226986714498117179249690407700615906486243991355584398672608000060253545610402429297886724208934315959763563106278947110171768629052663537135137718093866387463469741480224006085566440805071680115361186717335141313990149589061627623544709905716940715472244541206166718826333984305605052965784784382338330957392306716685304428761205576526276375786777110362479402429001336172810215300446298763760473118246056433888643068339027781021403235037260814959725728086357171561112701677759655527547768611231991476345974273685681804543107333675061856260982121249680338358747653938904917553040018724387131247398326766362602736846973870658042291725234231606479771384362491731013876963248388252436241133314834824948973171779801898839532643889257505474562152289560342984916211147506079535234463922593461523429842505799420114558499130703280925343344834737134768037530481065196938301607470166662171923119323595546722018109174351146223806075589877425124830981830551053826456315277088530137084173728887556164736597503450052858030253191490293138896977814513616614326016240602038498100354417082157481345439966146120909364542634570416518397615834796799544219613559314842583902702707756374687947021942742556310905253658921651169952134014149826334165098257714843865802102806030787933663450078635763816337017069391977314224728246695272264137436526199020333216303773200770391400847670246293083227662562883703172310602228167088738749189706471119295127829301867580365897181914015338362132976727126485997309937698165729646460705501355872418579836219408272871076716790993688276110900487152368358819766397516382944814681762043747738071473010144624405763078528362058717744897195367319363070196887757977532787133653349230088149826305720368254179126945438540719356573814729951562966735971500677158131363296250099462620109567335776471866858335246255161920979647770074543054005142772281873913693774321857126566659002464087942438070529832685072048170155430292676834550702217880527712717985562360421890612990283641652100432144052551781512977990964003222442676891718010604790160970377361710913929433311654735933015979844921026916453432846652520660627432866429292491792548011531646215475253430588558602603029215393469524926047524213672923820103173312952246066691164662023212847064729400861842795664701805502171954448642142806669752599745147083815205741484857261819903289282242032351251209626850401018011464822039349156007507913689158982728315596110493708966209984822569629163683996406439361492869866151893579387457904045768424596750379934861298097417243701224777585439137460693160374199276499340949588386827532195470715682855495028470536434517645708947852264388019243762398967149929557968578903338796668686491297770505865025246424914266578530079757237024231936625975163568192331185776087544336737101582610397501062722247835105327786816941634337815999455762743497811696345769505743074763635647602889163935143262817285910092135843906697394312970845462354800228299770655094187404611876032166337046567738342828353987477600124212143369020435992969330388234689844281026244534601380684711905015709633586708085901362096281999194908877131690760060870370988183670073093035214748007412349188950404138253722232858009898352371662537477697568599688491921058816808084552275671204317372305652094205118410971260397351514033518904337578140789368684305332531241928969530940592702430439587889322098702406344380157826785166113875905748877392622041088913513356276079872504925408521678717620670473409654800898511780844741763040625555762866582720681033788361259371045835739842914028193641932199754489850976167559830371258500840163081207556359272104390271596903253461540814430144103281901410908051571919917223565664938755276355049517962907472255986887864176454194868418883727322148596102161178898601974426156426775126216889627729584958426438356054804149719355218188618780352179933639427298425036620701705262502353968419035867270092037650358139052504702085882862922191758482128725737446624322674605831444582914877731125989901285426171590379800228941289719183525224677605261412214923912332681139355405177589549790814036186464895924139442197730226273155321361821017180905990913949846394666855258440809963394082419832579278736221312320710543508148031096530589596024645273505991365307709469076981449519358505356336391195420961247368815058290709730583297871191814415066066333657711873360640442852593226744358875559958737587687526120000960210275180904408412940783047001709405553164624392053666341268541227101293210447600592759400737705201335381622983818070322001245139352574167186627671799313384303954834565829447975470343317095794839961516806445501367934171841951845664454908220944048827180253086188626801054444431247344269152895759070029626428786639239632412720506851028817121964049322187343973293953537619931157998239306359075224938715335488783564221437373250207517046669544733593611670779229755119082278881854911449557033499465133983757236511710053843836665352222191585276218496381077768465689758967174959012555469180040148987381797738104158787979568250083011820105587547867293233487345043654317171654760539614929550627417673380369506911448266523879829284519147816849908740798533460038238323633159811624035215711193107784907614470989461236650554972856429848186294468673009779873835319917756828354240163991650734929073854470854321056962035936391766229296023517059065339196724062366960310535048995260044536353613697425907662558796039132315610968959587644760784362344763985625058067596527821096706211356910010801041008239739370481689514116239519959588011700463305527871476433745055153656239763440596411836270525732623042391885108071640880243058234666628360241924411191390616457290760320779735644192024944365620814941962672624687998888205521928293632320661242296303467565445041462919773521694831940549794857226579220908960400974660026054385389955623693140183607299502688350386800085398630178812083022661141710067765686147013073737854518512222163788332726762650155947093570234835874878066177070176630374598754131739685380711665705206907350470673514565346556779978417663143716708147378216854089015240721262787030521679772020761100185200214100343302168344328183964709696289310193241690271734517493306138808696346064074208812262085427601153336162593161795134211187025260486056439435830586376411531086797380345668127312375574522476090561501837406199237670114406700082965525706214344961314460469956166238021749734487373094600131052110627453876675410408170056875927539754133698825770532474272594709265051961183757308376647989325456405685915905262813710030483270740678731126429023270066780541526894812556471360909323181367038430427511415608073131378996385977086512510427535904265020175739258194490644789244840729873698998560475557766073583675892463251955088087536724023113867024871735644701904832633129654478387398583362505384868871387624487099060710512619169590041578235642732500591416577217234725210088141402078954501368087228987068091144801101810932930889120637449531237832931087999382188648608246238777528054644635935681616889945054956425744255028607513730291382745092729326827198851197647706532605703875262019888000341221050142708279023817414003539857061026810881340589388455114221433353199476575466309866007160785512467263911113896925202654074035880718351389392717569500202749673509295253625978613985906834415985717652130784516728923097225678497108403746663494966362727464619726742079635395622235798149343959306210132841476668932453387998946863016995259786593202331270524414562221562898054298266766065306212384310210437669882083861285142187982297774943399643194252468347098382146626345613017623359399559937383210694769639198179489813935485229557304699390242256239475027351197228609669310146241540454922496352363937753082851364602832668580321080618927654796819655644217686367689507529225237576698906015431668189924846494291611500135602140258475086787392079090097873639004585938218750653724969370025017277317518097273186388382134175299693466002517345989186257452743722719421266596337397355460388941666041567850484875711873190276585217900829758583144392352192094554042284725525692814036912614310269198785110670966071132945756569801285783835894535467699884800256215409274917318837352065794231406616768431567838755299914853874204352215063081529792062372584193045658208429810638405839869180613867079281205303994078767850691165438661728358153639189877576090647634448716359275300009547484552014834699842063491518802434566681011000087260261826776879705008583745819221354972639522060313744508114585029114016587885288384663353885454820735316546446859669769112623611828607002578151739909904649684671651342947888260497826086596830754541214400358636440795103666260755271324054454618331460696001950504420949385319022549737098878733698266790162741412199944662540056326153066691998059452282002980022116000021216522794757149031612916547716546174598755185873745697950753423921149668837760149929990253831629167555395722835411367047648359244170270002656491197516067505790797117686630430539819593662930832155095760155390582389928588262098748782046340074875915728896618157038548508047801194222759251226139240208884248956897137551978740189830972895779656554581657942586579947721526119511561957478781900816794930261356964794380215660714052871284735845734082238862287430619777690332976950538355778980583122716809686187571096066319971951169644806416320645341992026353069348165505180556007804089365215583287655594952394624931761063606854104335687295514932269529230621943346111186600116858871162037002586097525792672436271661367980716646168557550850684422649545680619235957857410885463779192177621563371927889093528890816547766463935263185713060979654684860524921141033615601840148216995445011294683028739173126317442622241107786220503238527719478557151473766000775722342427776843218844113831504837408545376444474974294756690005858304328989316917170677470917610275689086071483027281543298056791460489136821381039861024973031585279629990869915954050519941414727210239673672416944769068399652474579672994191277706293007559662309024349411694453793542568096630133297862838119241768162540687398370012722493850546422416062893604011096811692330246114925129925544810435645268662421555140630635551575591010269370487425628951967314595545370244835988156018444529280543639249662395449925160890128707655967655489205969713396813679300324314363136097500142604062424692625698901615486550730604680917796920944649261583427014846247097421423604927533349331875338305418281948282947627734567693817807582841974704383429095198965135219776262097731342077388848933698424050973406032236475807172603115270772100967182912112993819049780102443374231245288155165610041133028104066126313092924694061290413057599488110817935052529904756038808315222766485351485639380433630803038352231536061371402947698503643195498588941333592419185719344078663286147678291655050408004243790423998925341791710474872749204545482015843032526535280519303015504350368116841460182063264927962347030805995415726607257798270696669202900316366035666295196555671647576656015905643961694712260657404521084970842640614383818061186709105938646744520957679402916428392928369632542400741684132711873870008033251564263486784337933433593230374703994920267407780942907958607207456621572044538654167676787682815656842544394686309482210346487064787771228113972327852788945850388435106956892336474876332360426249002846653360637190167687154878296161338389408820271772768943958625222817650755036823152641398556452037796374028526003437886489075415802133477652871487117020224492512891590024233206207349916342796894088089511175832892056102301098496906927850273064813965242129949973969692464344283322182847256446607369527365666762162882274843462596527469326194825665735292448062054826788642643722054878993305394199977982631683715276266326083279711330435059701994303227515107003743091961390893512399352991629684336394216402787604391521590630562988915583978379618767048853860339748132717885001274598044706188455767332176800686556968184599627394336953949955277568114384664182822149173430081920036523153236038571912603847819941361683361849762340793247049428417068023084135796902426774149329790734017770382721580087165724551118065127587758042379375797708363472637052220063823053921404716419634078388858013381193189459152061824693308972956432311786760422051679097961460038297618422285111524400061277196435234711912706120133155248791428945839298109865174516060131631458062508953855673658955530887690860128944252497314013654011256008123828466213100849754143171898082085858562664464633361430472925823350665782570787755904088212637156562016099528782463842976577590619758212100140042171100468836716006684117689881217486752405141175423833967660496237519317711707120195029321526317105159606510115939398464556731262002944132614856108348380485077941124339575220436915312682555351234603713718173153946107026228461137572157119951441844825392316398893188469321632910252442689009563262315349687346685334707369348776945872540179182439117234114907483799798585223896924674072006372275080003631138761989460677928768851916522834282867097169347985035784742094998612309401226739383862571423542480882332950045243696504529651717056141633976142296101930246065176622625290323391725377073316744553643198933028768420634493465437287618262044733888044251277516662924779259412402877409024219327399367253972012041038053911656278149337817889168863831906376056857450109296911576618620962265857984634743717459511193228210863862166793605807678729589259655778778600271566534127488024129910195303110859030693448982227685020094275937657367508519530579988174270728431540317826431261912190410126182066712772685411592633921141737920574536365355310358688845015700108263719439580119352313637469984098252257588220404230304748649978661000295336880464244672024986392429467962163678313054843702987401290096961431410340394576170046005415000572184874629988121230150270018871744317642562309299433779505321701512804650916510508064304081820175253844828345377092765384381284846653705056526737604536484795578783134816512055928482681365125442241458834262702574719254810964979639478093165974899860742669470408312402544160308585543129547302656074291572113716833582700629907168744025406460183068549789306400098786189664766477562716436917226465885025607902901376836161163878955719661215155693467472372014967909928729954347004123353752930146900258452699477685875215915409667809527026230013382437609253495572654148610596307578379051882048999788556690063887821456720246812311516861759858830418760269872668554269747268549843676429051902503985524705523082369371054703395397844077199787146231695373640453199192139868726457994102147774378709733433440047788334142442928892607344740290813458780421230861517047676003711149068550593136150969559329107635704539231891246928736892875827062956633314952120795318368020628791907110045246828204359265273824382350478414418103491329579821366083219359850729371103293757393229642371845757606931667173919377938073487148580753907045126400865372535485866046701840501708243970024581320621059094736788568837985132457855057528730192324745656432022248606368474729278111153794389337425321185223041798664997739296890649904311260904891928169666536778304186195685697130801099465694570544646509636436969236238960356070052380729906847882191699475922979814000470063542739366473044582549286451220643642548609900650521544463504399265226313545507923935231863519323820728189646012081320975899958852523109392832512426688141266928768315074048273995484967132641466496371903866076069730328229191774844800894448256534869324780152503373539404907261000254774907758225086656575337477155763461178101652592642735383352689542128258417818806270764792314079167196281852183965796110827524019593990277921239481345342994643567634508533983135107717104977977848383903280724093623320657239636716416766227747278879065344416592745262061803869779627669662963368356257642743145091110428613716786498316233607476756720377667886834292859708313327862787693309149070160418043218265969700657433000735986686131218835928662661263408333498349743037453166085131416201407805523357952239782563170517531234709253055765366247197377624523508808825099231572669294767848723381492110794685479770074580697551655564063010674823267723276514453885838194422916593535958532603130144947280649061730268385718871576454791975185332029992264143831700027154473822699305152117939672844981752490878688848271318330262974061155597941335542136678768773468881890149260265233881372457012208510429195231980702667422711668914589545118745149215204434627065401449182653321589493257801032576207937784134271814748547743892295875337086327551249445887990041120872223023117478615604907984054372129334041417675793428096505297578597727355722773967672977410651822563619054779665968711760101784324172511397372596607475287982270812113337464455992500008551294586248431912082335986855263212484384013852689728637600805268590782126699736519024519673781219508764145769452526454728179065449574108395214926664002113104264801097540541113838187818737293129587283244604106344468931826177039449396966454727620865386386546318524774067622198717587288486613859525347724293182464058306568135112199046566913031648883440931756829012650177646378640987690732528095749635831367108751846699067191071430695210715308330053198838192105809882905306642381276524320824060591617507872436667711832754094302623310211740801970813804433645326675078212161594609652423706117895142993697047702382928615150095545795991467345585337852677263154696854644207881205474277544219233753221237354304184705408277984994114736889143275532597483766710359131314092818845706784386960273835211125259129843595646600731737336886998057549932205785803931386028232406994984919728184454117520773104113663316821210001611262797723327743648262693916066949369342885903871019254954103347199925276524524012167446995290706671315984472281983564100465736419842343563262106286881823460545942823525348758307794684873480073869589079504412203774512258881410003145515266068571819315021710582881919474039482950263814603043316361196746829407840421085946751981840440983222506279224178568568347526707269910535614738050412152793650702422349046131264562157834785080674558623656633282154055796279383821435087760074619558580355228503070177254925173100068534711846211805131753904900452595103259357523468567012635263670411304877917613062901947357342436152598374598524897371849639976037929262489886864519671964510253067876658032266072617239013247956714510065652763077544827446773295907912735923776386422624308236642639527938085535294083478691113578161455805892865823156284921214159202853614684056777898992003897641270838597409757418736723969628411274704180505017347078172995424449252961159515713017405750408437913649472177043064102367417393234546798194842240338660834692244638753128238362903128086315834070209361686970175511808421021829979473033736730203956515221690511975575744983294640998883563990863015994488380779003145696152563858509474013222248907257937517253035295791649892784179933562989102539830462540332389198699426595176799443908775660113633469756948352671718276854874383109301907638358838188406769709609646891720280962863071542650003060394291658686725034353163442596389301046214294315802677082322090042983787867603942077522775036268357583242355009179669746021084219783912585474041022054200124499629996289795052580203613018544700734022379864852047603483616181596922483100079332682489018568319233164060812200983275733911901217197582026118043956115480911295967443651367128077323675441727490328281660404678021293377788451114960472344126385906888526683359619416353924262101069148035695847121293812114506244351139057226698109602651768833377396330829588209276928652556551234231671948530321945788316925823074732629252579171164791927177707909100760861488661458645573843110075747303377792415978701148432571881078697892883692278406440831947777978702414104261055960430698419476197329144906492774661737701134189783015365172284758448276200684389991244266966401432022862170778154418793913497616907956378992624789047738604917552627514637447792970289904844862937300008773073446781957131742357529360513044016030390098041009671702531518801495886725857755051721567797501557827399911832665662444898811010369417362374869459548619972873922748928566395542254354748699132139550767271720659769627331532173059165293849472517386100286005724725552534908240502380006041395097465168400181361790671134915847259151323201727572421983750201134906402882841119731969909390045795196307637403506997706831526149037212472765372386573472648574630928348056620740831562842386622958171629429686667671890438665019530631199838673589392122743582906613361179632538821998446813690851858855212625498228590296918920190745832027510932083496460261676148882098496963011433570770627589540743663727060502931224704453191163560012493083113006622067160937266457762109594329608769915707625360258918564460613086178313333431644404670245550221722148367195134517306323367956216573249626000437436600496094515802518016434357641546960519879062231043563710500212897028545060923921378744243327207861544814909612082811593204990244083312920961576143954472222843473074525408699715371520817813359160989392076742697098983064497668748248718844269279893636373108289367940476224354031432695465826637513585878609484828906792020909094090602002949286352722862114552491004640105861123620230873897644543657006449124820360048963050559354941951692906787383526413946500669437088813109378110412398532699109128157292176648234446173831575779019412453699284239841983554828439699624957051872193054503999238000433455399620804237285554001794313804148651635879663480458292688644846936929524381059679829183341105142605736391638985040009186675793685160399323996004805428072511795108025430788563121884442972476461434427616510957111430667868617239908259612964257666485245645281636902878293359831781629033415912528858860123241186364157359121492686160941886325277850930056310972103449644033517920889374427855507923491011233936934700829806127720449308430188987536204607401655725261612559962141918939697930569210392328110113689408449813658113698747025895665769789754875697246261829842293433621304387678689235867791517756757967213811685603558741792102122459356008160804617988882910454337898639563943295460798722003226578960331620539929323538795143120958821292986791787540993732344315851946972806763912240304364116041444801184934636742199032863132457974041147338160738249004444308434788002836271970138481954137654298556960114225646558796594357949988500723301653807665220077423425597540106453120885857706207539974413480102303895936589874114267559213228405861773145032840915700235526012526878587392190692425067386039257014383480790844323949356969032297639798364789521023600655443754422066505437162328964425693429859505844053787299010866117169671385360722449319448216610313950516170385848869792285402436257195790030415622717279552314702765594677606160462919933897676250532313108353702569054747507006719697223582564144647129824052833146188815587001053159469207280795545826664144339883529427370740123887347912750567993692697262178060864958664312323647151768161003435898548007045586414022938490884625205944678315785976847228310358320328372816274645366014472295217007939881226051716950464969869649842699532575597223025928178675124994525932457042249046776272681220766805745189499273444476928274916018853346918148828830780707775883329796752721945806787626225107177615193869706754666047076279733792693972748912684751160614692539682911402887885829902927767158212584681416310708004616355270606142909567148335146988913890521145187124042641809210816537572815778102354878387424168670208855694718955532493892897851397420197651250040892946273843689786728083098500379671751475133565736649301419788233655516284146957908655722004701672986846500639639207377916981732582739322161334142224015515408875928372891376982438965883487370220404589209298439223882305601011342974187538895462233762878535217675932659285599568222838834630048963789460464063666058621569620552550155987629686935747595617558613374966993080557375944503915671980595071859589634802336469327616738952174434762589031733732893349652245541386101375803836957992244882715872144204565528730748807886396040189227204001694357889999410746922210580484927881141317255728370741048178338055198146362472699647988405490114128861022419839628762385139501506920077915209812649237244572994999526401431037176071958480100288293581356437617535780395349404824597478996521270770859968329164940947219505674696894383895792713404857713914897331040495972892759302906866096163734048546745562909146536708894908259991770854231693283272008068710063282316101870416158754135388876714751509374888622301520016628695690336311995577454872367515153205813078515827497762063189491346585679466992412988273244236665307937258229613979872634671575638154422282841978372722252950490843830962551154900596298388934939457214916103726656052812006521133785377203855046505812434014477882193827932165768594450691909061916418800176385935907329066966300069317784320227568943313599131611634416891585820892429963010657917827044126771196552731606652581098893064140577928003009839166904885845058979649299380943595872654584994883990008993704015588168322314040610778095050866888884025396877383135050719940090744831004613417760096974686691298921979740116697595681716641571342286087342459031099422182063506658198977787334491560672022396560080180257080192390899969955893182470059978529844171897994159601971855855485268679344916044873905413604712072542762612539017525922803203908138028141686625617590617149432879434865815243712774879146032969484822507740895052479541924163567830570655531088975738810829441115856674896153620617778876584183729954561610777040266225111962874759077688988609190180344218910109332776744508841053721220612492087721381835542126957771676741372581942010388322585728754971593003942216678173985562882872729653813718999121157840547752734833766597121608123248475841256148523798776755839899066677751658963985503745685478531521966590359457641880531661591403547492785913477280124796479298762168273960112851149294094506867995692923627628401356075732516569585951764441829380278067206714785844377089215984749435458181987414868761520592916519717805360311964428730007665863788166764992163437609245760987888890843096110093266004837074481873905298350375573313710671109056128167680157868055072442252645722002820069028402006037084177786939606951425181083481558293714654477240172500405643138917159765600486292605703777897743884329277190725138838604541464151747776357477516900788474057712806263116198920478621508512291737362470205500132721788320375847463852408333200778583352174422400498448823176681037201110852017324172578710467135669616585573773090931778933359828106175568198795558643477319652050809905590862243301512375262005107048668364227297407626561361956231309468238856680791540837326456248297116481211170208029016970611026988869684851743687897383813178452308984993746380859162910796856085631819621609817004694209654869495055477107680877839066736871229010213994395141505149542105787083570311044904083418765989244978078863523806288347651564633925040035983815613136835485092287055463562207241527856427502449206247323996943890301503979294084917099939490743974070381919185992581606927027140600996798300583603965651577066025755336616027935990361623192058352090844004526453231750714054796621640866897564903219085630995896220803214317471752597857455252184951589959326848874228494842392249800629354995710568320008178833653245067511805776627826652549192471020109707429117285416939506279248279863979606878478672931094631246735764836561688579503086582876145292596511118303553844087450261229924524512089181075163617983959605791747904103569547735099677993784552178784148904941940153187994044414689882444532837672856794918446233394071559325334776477704552060302896679968625325661153570861281232715812670769422433996559345160977669337537985614674876271552074971140698324413855111355892455317363183164788132198948410874631866767891298947158721393221379327055802356060202704305673365065604827571993075438033132182785137707381768348211202958875594076706082993004013011421726693572290203946271845413577487340762219106975937839439428918284961529883859202593841547939452657350117783472918387780522600697949207095504129319730551729405355065145699727271357010059036547835471948198887434398966972280464593868561521311511967803972197881403494225827595726765424238243558969984305058161820887924859365803656352485927444940990546218977765086143184065655591432753330008424264439450730243869947034975559224123397690125490403618231793375846931023290851959486679448288396454584140736357074487124304255668028474612320768960848596390508780619369904893797833219991225437363364748067273143018003456366421140816503859616160588003256834992841617871727983130655451161151267119254651102697257047309893476978056911860296869927240889486313951362336147943925272065496717566904226869562105087320447702260453393983797047119624927219291847824572906038113090850508317769230252994741678539695239139913868969036061139755421792559925698607646642450901163721693722126053550190651699928685925051271320460167336606863114664418117359062378350202938976765622335826342713270983659894500948659687313038914406264784797465765732486928302808638063065772185400597643726575569791650526367682906613667547856059157493730807948520344219565717441011315150941316299702173643915240909004034031982371731754352374843367597784780269028713940601535721684649344244645852770104006189664014009345864558146532810831407353130673462050039807198928977809439431919995002189284307028140747353920960544622573787379815895597824902321967244350027118420405428817187468881317139357286157729152735306288480500232993140800588164661824355337095763091243898987507066308625603896052270446904905350760322326885535036790469426256049552240730290292845175167206563346627503914588640013665529159047000867884074244500030953283108163188778904952095426555332988010824650938029567882508902036714921813399313059001441607723473440629435555507237637422287858413983760906953482976496903100141059903231405696306965775510848866044797133548157917941257521882549565993414397458136842259820789868642494778802608169702768878991284142490881320604019605088504920868164828237505842028663770083420058395840229955281317169048426108452243510217566423679998703366094416912325741966357144424618797628547820991053038694204048424478968616289897604358652219322549269118790462147645264575835458383674396518112705251038703196194888538272821732758102379215149021451341675044580469346961669632402076625837573948660444840970500635462090333878294405634018862606717943985246129783733400195937157616530278010336474157197778537790441465500874607371640414651604189578225110711806586357480469645613611780888776853832353563285126996665840991214953760641251654479706443666799868886767103181450097510608300290725817397625285543858533528727270549220369678931947927518080648853524757717897189882367052444122949915258670958943112406867634912953763031242655142340841946681662925191656162559802618596958786501416517116123473091608637540562906808009468662421377885668894598477993706879820771830872661371444032404807731618282142325538993260681244921482900137781913532572564469605524326176063501422228639666640644236814472044284776068208058237468284509933017611852167066855703978368484316750192981467324620770025095568399835728968528015495999999083010236886365440207748528416264915320254904600264586900173100467630481005721591268280811615927070184871208166074709520536391461658296668474042153015554531670737086599523392126676760543210796976720833484645360057392046113245407674912529929930292208277782979484909809446310737594061860284528678320459263888759123788925008443370471181572321665980916532835345019914711429071423902703119251384483941882995442952986531198017950236401504658550381530210830288380078553703904342400967642613007431509678070679888353276779284333990276245726173334499891273565584980490230603659765918086324314548147526679005207544403057842172461181904368656558258138816098732875517451873756756084586834192731929519253345378945175920927803619819513299173201214367851324858748094638150533879195181319911870652333646797879444605832065849700574364526249562398344507761938622168172769092014616085719780891697579153032171171010820940031410163573456092069943643093572406376863295984077341332924792783337216745909788098158914337574791058061322878997993440923596553972244905003363904960514268743396482727368573142594345777257948061938325308269082007189730726095464734689071848041044526642519847591425104678945385307424896157167174360649471560796239809622357581443023924936725583192402961593705466415737782994752986398710032862343317474445073362510613920394269721768792140854357390273690041337934609047317964671868882364328390114441646881659938710587797394665737119407616898101395687915696112310265023713974442293828323959925382924672587342831726651673855989530377174603765614398216860514348471444554067150381712082955446339315769552578348527218594280638251210499943726311034240604663395630221294296742178195185323846014408571020097457571285848429046011883683720958287474731864626281749939042261003813733588329804848123073728535673015509075787586463554949498613677419649749655571886496117412873791981984412978461271222070641568155907647153291722609438874244783221268353516559925863683110321756381140605343303514090244321397354622892375593530206244133153750910007635980094905934961856892252283471120843824626127880562023398052467614312505032545605742433774033708399547182231170317548400280609692310059571149621269343847939447279781592643537593677162763538143545523982110657416953905985716355811630070088028403323015065742258276327049120457475048245296864723213671929765691197796990177859835151634156123539353662872772134920024761079579197423072718455584942953277430266478028624358919119006091022214164128285590744822404043396665087825800263127150941819460878039321613308463583514354445589320124681686124866280491335957473911093000256174045321225270268199649017220974790867630109303992365666815103830608062490447924350568632864599009531983834376209887764179031457795117837548004046079301458396969098868413175684753622849512172676192699914559343873230133721903213460879649264023101877246595160502516764806142832587382935891983785998771717686276599799929897251287072426575570490403960824588192673249750094192314519823924529520305706492658020938676611083935375194253664805907640719974879690829347635271198023605808626979010032059537213237002561684263913356992944964732080936755351440354270455597223515271293759068433518753702421172252831709209524317397793761364884819222485744009643701712198261093234409003485496597434796512485305179599581294731501786121443875202346476949985457006871416748694413740104853190683348482262253248267680528463571136866686537806947799729452987454786200791231855434346254177403016172272883000828066448977240736847367414861033644923563636113985720284830794617248726635915329681852460194456657506882362373779998549051932624867083948598750956315235821686113048531216524448948447185451481514898274903086218962803707714824989484980632142951062883892565774481977644005344161039566582274699555272936413247983100417850972472941265898659098465244258013274009303638678097041815492479510306717324275306153194665624670783718785233698811773352455740097100351258142518088297986135803413118865504610627588154916109002729677436201374949652090382721037810563281876835781650094289448927360519190372965988260992708911352716816127214348636207965156542495514990832154862172110997844338005695093661281828497769293702253693378638981209508357332051458625207940247657536681174958833689192057884998380761569921513992751760340082831018165369538089216625290908300896273832008125130994002136735485454375824904814453060699011578264901405400455303861683753684514812539420884568561891938455723740800574547899155575721435053906366127521526173806184657360219184574623036960631033573111473548405397146187136500992562534438214006043090568699773525129820220806026456645042609455922749282324010257214014467034978304044810951384635488672388573205016884686046651607902891278997755190113492685638867618169730245883142341454951968627137168751045215073429286755147059274019961385104366590275178352137668120193331541627025520665921671303625679250982231169720573616275999196646928813472735290093106508159369200473633939435523051780441873281230307566608571907878910106149562935353750532072359057740404787732425165630245479399180681442250041990014537019510845680741548080978538917049744279277885778931886411178036110597285402582445272183744375612958541079287148309633828115312321517863274084536543173562350876274279236640462901790071045142535154787643009920141020797221560155322463143518292987585653156270054725525031838082186104492966957111680016438392469403517827609865258978618882517208776376647228992478734913793324569380121952629084779601663575856190737567609281098348234668521860149062663721730173902222216985676719122218538234899120545345870515531108105447906556218249450247930685013567562726634948248191904291618959949987173661485463354981833385731704060829746774060970447790618956421629563140802732161271278657750635008149206508607658152773070008902747558455016517372548799038400090852333139786559896717826830983706055516370352687663537884218587145427108151357751294202012906415413862187335416104830584815195242088617240966569063672303746653711987797306512954646608643743093705254497359598144512780442960419819311495978042467238550357428142042878082099168544250093249946952750304566067093066745300160194496034252600641799662747516451832784760106592878439681917095359741789565549929407832436391560238490558632676591765613006634659473667530562210624829059089011888193067486698116781671520882954825722068941435528904739114447373243317280143999389765706052071449340306628957406496257065802044860075283462295419977964492433295508105018396540179206283002854022019510430603737851031659414849347135130710278047085048170887332101786103246104281013653371718678065223165215223059324850345641057261628820466103558017648981368732546062276501819400437411592091940639788041686108382912446888676496169526364077088088274859025040213019243679148251453601187485061670259388695687898761750751328983547476047938148735874214098171467270294506036901615120599823723198106587043500166120192945629113430982283213944660321786517142994548153941167007717965473928072839344878306706406327756198690466366859961016236470888303870136926384043157747267806214335604388969482452512718475374475419856559016139177908870182991917586235586922298102868344861718418108459491411211744638964100232633194483125510651484588643368598134150136716296193952243539987476419928868090216293833383235771035420571971204697065308672250334734720649213742187870549346925572400611398633567330298694737095364439083651280012957825680790194584837020817102913384978742308911690905049533750469478858320660333797335710458480801771667622980584143761418814384720195086190939777778323230694326398415347953292544684464111384683758689224776798471275954097240590222935006666316215358006242526853297680873051432640790099101821890157355593246235365191254268366860289795817758090880333855962038040268732302393532393429959647838161345289465893634230261979701215168833504182944299017063173344124402427167963740113438680894632816548244163056577320421360588870825299559113490720636270800669012979069057127040616747939428364793948857991150192481583300139088606173719017589740883666793534479139829511384488271965650512344275172247679787793905936419974132566374380872508917184435995374167778366845204918071618254131711441920338089036727428531996619972198818654408466094727841020808754152948826286309340217209062530097988902288568378505212387871693547234628045827086833730093180765039785670792945120011844472266336632434030455469598938287379369158883033714126565445562245551245021669141215971833219316012377273256361515445799127607828564483191566444800157742627705781346925222993989001828159457694594299887035040570334680541580615892248235071554626624109816567086494840781079589306925530030734259197023357532029442853038812493700879134662604333841333466964337622122774701093740248824304252476552758201561201338176655355852233414154241882097598861181438099989520651418387949907813177843326517837264124569981820320327602973729005745996519093893778710551830633965121627395452915609212073179349794085945954440711061983458220574762920969199538302595312317671444566397966174213088129980592395515466072428145691806946953564111032197285408277634368311165992115522642966655815591368811521143315606535545846147109082955903146670051405097640954078777144730023486768150851825991013385911327596238703249667669820710872875488465242656878479071834653365650109631220322617457722307686881915069639376877280246833846230666334476455637136588160574115400871891377349489322323184545529298366646453536885206278483534445154984260331899560034713387307302848810291477296922527673525131389977900154436470616416871945836579843029948128526958810255933155809200158382447424721448664679239924240683127192566221819898108971069792976862321633864048371743769606044756382816446294054749922173943150723406287648574391531947956337545433930498784712050868945221749275634790849040305276749384741699457514970905555352925552068598127711936580310029589202135424322212117722590028019101575448979481065654742039356769965532251793811106561127064458016932715570190094451399130842216461225614394129093047089811904498344643822171613582429565240864415312298812761228004976590014818258512222628332724133361413276864992200956515252557274346760760080158790659548100199631057674271092054521889734544493799760048217073625197286364281318539836613882776749384387431497505885696147959067654927258968001223779463252375586990368111714566292948385832147981544667487696926317578294097856025541374835496231092877344863108630309106554535955166370969248088303559039790771180539400326404267015500661553409230611328171634597477921510461009527912979001314931879230572016718114957950024418732050141571105333498786046204441851197749350291456668689586532083350474388544487157483492326603820202395060056339994815666226368449392179879397227729452321811412760824243882918255199112698982964166529525589415552249336771059472177260174975936693275061459450260523799154261524407351931675282086883911274176268028142211770518741817203485252947999016483444227622051222973628113797014915964145212170707692075313580680974191244557890131093831067962534908356379547331428029750879625486034615945223470838488128987384603932331659186367908465710415483851847462698568803399262550745043575493458497567905641335691260226705331766069653849044175509907819324503373247797107240403739142659015724079076669526494042681109567465635878820603036640544920571555939900570732129057980387818616720758177778133078079803875525224294791450569241468600927648105248845016588800548128621502325711424513787547208063967514522503443436915556433152463396136033288453582192853524333334740262643512939670155550498059334505314362086272628943058366427847752688108356538746016779812508348894111226726490828602299725110338926022035746061321285373909903966267808427478345721299870766301924846844323230259858723285264433472990947470690415154938462142927152220041742682162481621250802134116615409999073838469010166793705218584725969611476029932665572700353970165107878363158939360937399105196278285578879215971210741203515368887267486438107123384168939721551130902043229673590397678849398440133563341562780505485951457339560016882861705242746753485664692243176354529970463049777584928858619722841860648994591659613973485134920539247114780650471770817867174423641472258637256345946328729560660667420332648753608837745748476424864705005868177718049640454724506391108691678513692801098366177446304911524203282822983021373822852209530057815727830617437700587542919230480651524035535755901235089026598452763091718830449954841077874117413663696994754547497573499910931991485916607620773676834076900329245854923462382553801886027380901782198395717085145961156682455594116184806470867614993813957898134848685603276644777521154399973932870346986738476575304255767698766387066507170035421955098877751142159735979343503626336811688393101831643603857324450137493850927403736842712259266531497125713318514423956358331012772218417084177693374905239285956591661713432422781276343033135081795577069464819575161714360432858016183412483074330175043909831739619231694097460853188476544636636516515383421645821445486335235106386978084616981542329120300516040903609585019476735201897169853736760419672885059549876492622664033893534757433199737633441414101881673206998221717382900103471814953693304261977322534646516295458048798546628808911255074067447423084779563976380464114169698654442387077096201311757668349730335699336389336205669984785542719562613656056602059098686642164795571353920358140898804808993940519148831235842085318054467026209820360116663692247403817551885019575808882571761139060408810626646210330203465711844808132577346210266288635902225224820944770637470619374481646657249756025838077412776313904811904651908111276684897703421777824892837344523878801803558572328890711038976683307449890354563350415973278666168916721031202367916670582531057234585011530195529450997842309586987789859037738382572284923994538875228011968363731269557909771976720407761498857451556200410958526863956703084402066190177877648924565710003978296648521910466775121921650025551917152013106667655261787086191202199512887827987032248474191776280728574737432843737222601087634389485084800544261163224741065388052860463102043506428767812172661743417670031006491756228602351012923378019740869923544284373960214336702992899932933017020154557861274234543343489624885355777012659608767820611440296600281085294880937086679137521498233623206507398308642046975976212553539189957092087736871343976819121620648318124426532932391262868783617569478952411290444148165609350692289205922428721801013750088530416095262225682360812183396603749678782695652283970873683321783803273524209974669275147966598599867765722091666927832395554033540003717494928167332955725346616360544872687703987772613037890689219667189949812290537046583246679531610533480632943534761519616303009233620850770506180406923327320630035016332443634443050529086623162218086255520475532277942776759171901188339779208588178739429374466326465099678126468548352086882968765458419623722217962645215694659675825729098450810732116390742463555016712444415821977025763570957079463940763966856560837840667631413429258525706699064478270278407872228527512138355307496131873011416660557257500242749352817532149407757889259963293874364764408507947994614152879416880916838264769250482808412851428446005707453815704104896925251528611649759879963757144142190627628196096977726774244698294589445293739342652927811774675381350505409693960213478850925204415919222776597331306868727143266152402052748298786734315579551063760827819850557926261845809626166657354683504777751510990897909569182310471162249878967563811889349629377145896322388528286870558295131052755471840589459296306229855667718063011733474097123091034297221885647436347485900096551099395450032093158136744171686111352142816698530393014683426666252329087037688466793948323760395462663155113330693935656112415929322224369702616790028083053960438423657469067381751856934666218402043865716045516632658171823316033880914281874877191355617818044672762975098047901321242955977302693058368695907240886410330264619692002986989740831713561113154250445438041733264121011160692699577161219376966895014085606540380696600978704910408419697567940732901328613212173219861542986014058807817688102048891873106288356512796531571684110149384403347104007624938482717650650661595217058882307349436860928856583388454594629040391474914204589709580656789044919792415565694917331083175001875258296556815864364740734126514355130074297797259555961006816875048613418528714643215767905626074582589944378118634658264344907707244294385159176595188317994741430552830109605098117880504996772508644013544479583472576991006283346418193992271505886340097537658819206342144325029896592073014108090494734922811830155078571690962103948936362636364013141067312257829205470229216734253501119484425366811764004318737584111578670926192334877472365468703043860751561872500845080312075957593776464562099832972454917562746074684521031108073200667805473591807790076595250621976595960881641956926981408846890021938252665026311040947392360380752575652233149983856218325566628646262308957436434843612322852847987558434222914680191790856100898793556698637508190560791895811626421730664346429327350276196437505287231741327948725150964703706119815958303438303339360811205939921497836345275768551675151222652616645607831021531219973264211699209235146910351976782696245844255740108553699783281085875005236152821384510214945739039937547399873489449911515198033239837194251715854867709107932183121217137784099006348123208894765110180319411706994484606655895637121312758827922353228940202320312169287429865906677919001200648016384481241745850150545334036344292580327422888276919107101818920370947323077301177126356675818122889120252088485251081069705893114203792062163713317991902004176478700192814733154270274754985869361248082809643503838819512922401738484492669042999296770843835377810500142851864368861982658039388840180060372982878786358716168849888748354938761921996861092669038767426415074619887148434586938418542553676427533516881688911588593741286508040295342161181681258387548376718082546709123914770284289003733684613714076301543950780874104703487092082236184116331691571368363382021087340341693970733086149328362418463257827777227229685247384353571349258529840663919829804969209818285822783925664939799045169425064199395636068177802222168559284112110166993419222178965275002544387800630289739617432780694379080800431298967899729216056408752171343497791385469290546157042821147453646440210444496194053677324058704563442554734770209022246645715175605560690159498916674679961281693442597820490518330945851182668834080298977428379005130515333031356567596071223873556322414260229351508290320810529270667179095211694744716029953097430531738122119525827086238404079909214037710413814965653061896821756041450030278113702497616815966172895203983957486493599244039574070969074497650245787616792584082718172595049616480084170288388605838375173925420422321376438783782131843935621509170605247424902590479354493995912118876586573025591718778678315727967740652321960913094248095723165005459954944552361907807954167640565145560065341268749087371144134190098681670805999627626017810136462079884722115585610938978966257936414398156415418357242372430019788003002181470202454248351729691886298507799894111389461388184093601492749660818935507224778595435042524565961456285508755444397679964906925104051112280482393559482320426846748734761099900158096230386996355177125742806313276150313321701404560512018772732729495687309076981096060961278662087123407598182346736173343435540839308545786958998254566390789042497139351557812129259283886030406605587415563644593332929119172682907497272281152676151942211601471926622843501015378907190534469204069093733916662386579825426671298193174938804153786479582724903845859371471724533706600127765689221567837524446439561116251919895136419378314826042179375925386600951840516687689641508637974001086491942911924518789899714721228941243893860413143956906011313231042304767002489462629908986519232236198540738617440706589374925523445482799519684950833698649431699226251862963226654832683964696631513745320335266017979990898111239440173185455246483041546376675170337587890488097933873408911776031880358867785603559792263870636462027042980096854952415429920635524580635998851465602141599991665604555766870824725936239492578475991471286534081616523002941030255819647356963734173512265515682180332614889765141654700918809577061914655707800686772361607811654632536453866916218885506152761439282819141599520358187948526870866166145710043223502884910974870145400962461137035852278176802706193023380750463240601230567503200614315166194383237757329661643521493873667637976929879155131085591372680196735789485308187601997425331021703409918598722641610301921523993286002838015878393253444539211349927045813960001388447528157002019343482277444103944737964921003339000108887613675449715309758305416428401997590984608565455176578266543322821554247390900156095618320511494756490271190613102632392361224259126546437272974809706091319064930207842888740340765059290410468345247730774580021737058218562823172913158698171375787481648948727806608200565861180203973637244318327783821526506309319534763041957614966523519530407804774265369127555544933916622116251660472095723416979576777262558738737248980282838714618018506791339468001494168579822870766096569010545273170155960091988682501188481138500653859276359341967326606190928140769371095280818923553739517911536342025781212822329607862204160177618704640543024045871461858991274996030787607478072467658900869634519652896902416909280098044530298253363740173359505428764364185208951007061443706795965715556963599318899680010209852244198400036281309363302665408467858812345403788008062481137743209192639325081366838453852851886058250780219932455201566806278114833058098009549488775296600931977304774176588104252851634819875728106249456237442260362935331167317251022937795492931687004459567127786181097141905463702196437577969952066626826191316100293429184793884285010855097121604827342847912514131046361945701387620907720284236567468014320062503931094922690084041822817899414121037402092500989043303987401930632020636442450208451083579460913443532028058118086802160512106369592032261910337742275516416071384272604857889921833366452980409391687236855381140049151797409930169540862114939368318677450795844896868075466023091722721092059126368070196568915075575945826152895161674544937904767305381959425905655616177662086771098167714352559493523574831745027886864435797214812508636859640892821147119322431796556166418919162971035857739757947001980644199812028221542727413707356416656538579410303990847720886135190688287684128143130987049802410303299943808231772325103676390573566644420966991392242694884660846287560928713564341450970503301679794094917268983233156614753686153892018903392913350485369814349532069889309199897615388576270512043261905283756634126576615288971632490138145849680957343644545509908648369266957217922224232469809002802302346862284089829148293656912260756080494746790964046896681462249349672019013239518808758877655459092413441432621814128969206829179110187394074735192522321564914535325656491564450786486157687792171915363299978753938570994733215478007065736234718827451096436131730297120312463340194452235458540494269979255752528495755435650686641484185502747146181612036864272601594664491933001522064501104557493236176330289491208558478677756803416678137688253511955130012942668093101259323534355758356694420561440880397209894301614079635339972521919566967780041136753702637979066223665016077962429301107196618085925646537844829158275132675650113858585815158675204535899523084097398999697027452928682501199943478452143016584595068492553465707213018292899143583750725745466154739605230648902836721524526732262257108811213615656701989667872054484691185553290877277163303603489180371131207214778010640975112609883102620498197797770118349645329031280512966532579705728736253771163800276891469701692089881414630939663436394343700974865040897260888699745088192729183204367552412556479165121502728737533574968852469950203163015619638429911181989660727974150612781737586328233295396626328499114385414623318209713198251392620275531715783534937964223095978735070581382161464888787856872674724478671608036648464270165995694212412753958287676871089259163377875820988515836211676033998145915388666170564532497380738910192239253294702879800959079349403983734734761336674364168249312951365727856257850254520952078118283481091407655800551157393022882253677205683006009215098742810306555184858712496288057325154385581135697127883587166132951918617152150698704088205472927240004979284894956449586352508027598518213582138702850387382537459860456686846628898333935237717910150707348972364477808388617951733920465126192408065789062533119889688117363246399762252508243273844438564325717188503409510340878699542679828989020473608424932130931028443026994852976082541002346008733360237138462142788926196188176900412090317727378320467945186403664590705513224416054248860480056322649899304070816310100442529491327197302128246755829998357476683916498486521828703377457703086925427837680621200274162954367028324435530736676983273092730516794892982219240427729049627880198873129169248922311462675827983798154478194925286980756910811943760270906679833488313884487475592816648520995521280763440230142637818882880359855696134834440577279076524529957743051225095687361770254086449223628339353222249212525371864121946347664812227144902480327139686530965690521138549975232861040848114334534378603844601518386379353824911116043173472068821723063889026053973587051305669324475968889620342446043325250033984571718213035134121985517067512806788868524110564625178738384320591462355037025057946504523238321556826663017152520335701600356434968501938636469019325494532446937351181223485795320943751777378683408700915771297350922326396516720284139261997195449039426618906716822423818106781052851900505245571301616272734141307746277450726096426649164897024724416687371422631112343324584531803075133236473904428058889602505175336638133644998451736651839942047799577711611056600642356879314856458489919943606561885222853812754747438605591778351811055895351733343214622153581545346394805410964662294105567074787079238083262589887195157492260403849659869839326998743019582455374157071162840108961769467594972016931963959467594304558291451768587814980370451255565261795211168058565808809933327765710271829429826692944003689994012585926410850092961833606641498928870030271168028256883885203417305886561927734671876030039964465448203719342207653452578353986920542708538709121430333352385576296881742603185508763288991589336822867003282653198845219431663556871213641672893084724610251788943953290228943477741074624409310243477690858279122609367383468312673182459771239609749059186524680446047152134463878652931634540833543134736111330058095707352967506866490075533003663619484701054698545482718492931690815412301517394267540003557766144057792572635591126348496831070641792538590210150451753137758553714027000265667359311772276369879752601544556245516364492522559460484473064123909838088015597492925577028687064229412299855615252238139711363140184190515644705820307941793232456592378675003472235902069418966924633083805165777269118084216186462911957824851892877861059323587722659111191214112980787122347916025765520261713176090230446381936289711244625683534300434772081626408973041585501084062579556714414423465335998018820554915861130251963066842051798094701994986578471522263346311086037126052188404938275314322269674095108055521442546063991476734269663756586821381933296385829993286078743449042183910164396808901813642125662839106405203348683907309927291031348049687919104619934313741258511788276289023503634467562563306698793282820934682871145165915585325547985501358007827832724539390326019642942020000925235946155654429447610634264198057037919652148933810828759607697527152295870033178919005700010042576438095373418805519341392737506374245610250715906232436731218600473846212343257743894927727760653048911621171943197807451525998215110765102838499956956843608535712049754931765572048686344601540683453280179235090183958635800204798903930215673404739540972838654529156911852391378619389083226885438714162517437026263484929032653483668844161656305169022713691270132890552435967671423005022686691023184853546845061999174864800481653885562679630093643347823155942359863855102737560933249450439602040631367838127109090007263159158705199671592284395350755613643367664122919829293964643662619233255100805651249896030899900245920970772170601564570814432873252987079750634185011567476090689205443847009223489434449778962663840768755875479835832356628269534288617268014759314086120356549774857917143935167251540988279310377000158216845868148926176450881321242096225044840883487530306039040168504167298475258212996418571926158178038151562152434100938655358026318089614980023190383082757353242928052842199066528067106670251306605819366456713145100264271870840476606962680376747436562359446532644081271883205771722365390763645117044644675180386001515523794822272803757289662813175522204989773402658393167996916449559608575981022713915653422519776213492105302437303297497670135627880320041869180858561544928556049543238766430167801624698562299753058188437688267561917688406779387101929586143995419913651518863428002913190998462569940489459604183800477912407609964601721789614399452511610128511032346056367978444185841264719050452396942836486601048374626436028283409173478649421252797146742910995218958260778205936577649996322346728797033586293024984579687680934021507131127941496522918722660301206452899834161821956876373943331772010208123831408007403312741397610663844414563072232229067123823252250959855225921945897622139562925429332483892566221657779538308526148541510516544861012003344507345623596652851231216242532520631116511562687830314310778882468067182271222274807433891969327119665572489351262122784545552309173923482837444855466701100886467117064578051100434018889975577662523220675343456978278984513317413773625016281738344133975319111836354353271257835450983653461806280090428054765417241801797002076816963196100015348948958821977269916944329579724446433082125386962359748402189067368179857466348087809175960325947354530781322496983590668666356830305895839399381428331421231881597979826074195668431448525959149117327040425327883121618765531640376118272999896840854243756934185959909856648822114942408322522446429727742102719654851929546159214202444202142632140872587738857303989782468630206205873300203619042596379013899323393377259542049625945456525746052627757914751886802006968059618518239812836318339560622226901299838868454346638063468891166548266308888535671729928187476447041771231244910159274857116294358356758753698921295311428098607868826915351759155481970553602615980798865444992929341050255570565504274353628075099669388686406457632199722513038797902994512370455783386749099697907417493089948830473843656660864930280929532221481337155866868832448648769407081427722177572105601999258581749467181449832121387680212464475063158759180168221329093904719639282023808123090121895709662016261257934875609235005615240147837274484159504313991185885984217233364519901110156322558093883630335021879309709898722293195057982957963589308531945401445757011993048412345870507777786971324100023166233306513580544346618521862924400357859890593061670449600752560482730821904455320228609616577318282420448668114426406001172781041800462568880458732385937141478349802914638056517374317964759901097233105213021933290559199712309821600725304012246119031434902268282343798490882610967968655397867060232822447776939023119129458118550083885956822152623293686793296349882238882010183510400427578779778308614360416112720621372980444843754382298926178923517429651706832750437337866388357495963666841132606239154040808179696406121144730715498859171068240894510179423604176310241160273790657542363735528838363039931504909361462681002687180953470143705774237614579504371690827923232194759507689242821757604031372693381065234674955162517721455843926672327059503964663898209197446225081299383729590302407741832159520146009984748973413909294266205612722765019748185848196699097952840310501834362624444585911462121909339884478282902853576544964515369347901372492944002294595510481846036977204471063662148822010722297733801568746055741111266776886232693802400239622690470802158784677252987921246033155674595311038198711075916426461470454141214297209087206323110768187994716961797385649455168135756627271678147199695698524543015850091397432736897866278074335147748472301855874200832172615807700721229766568418975090401129116746465295902157626569536376835745294824126400706000989077723884909625329431028623904998196877492238709313211071695494005685505582477352244260779240984122769265694225394393162531381878073233528801564722273558902375726289166308203947344024981159781315737086775174902968185589259086019012370483590582293671809424467564617412755555964029261423917248986952993988787169973077202979658196090709764408374145261115020941574072363096702062314134447302401235229887510058134341283237135034290489421847867940978843689709129600186237725912063662897729218683869434231252071394947416902025960075832291984114103314577492522541014693639566899234737387362407375756142395757581534594005822831269847709437671895350070385191036131951088271152527027025286587961910903755070714684984255563035896346765247586287215182203151638029958604491424307793516378146112308205169491591127660356838310001600614328708742811771741736560213018123723984188634799030875599507941439744562391258054297542369374212761464545839333183841352292244851328700111340089192344000013067462413424238969221665679480006889382800509511589126677254537273927907309082027979242078188109880497186621323389267866572825358281332692230645563279626331006452162416639417461410133393698291595557328060399303523557482631244485805274930759750091137001305820194103267804780161576637387554964599190187239172782732385903956035343289412876833087416554568274591563014584597786797067787640349639566453665530335278490168967358026512794756421884337786794047111050221035221783829449049594968212573228003917670052682898520376589374219632503851947613075498944547237587453358114284866799512433903016824817855237693923521690508035824565384417803407153878033360858642365459537156253733043735188341147718707817107999909709973196830038572555747997486936820537188439794778005801607840616681357306227997631499189294431325818015942267251777425047128664270332926301511191805593574934948715011913069769996996088459690458520966206179672357780265043113857342134264549753551524215438877830292234790163536711709387172431716835568296351185158408419509148777168823835152507032878160370150065885634857464005751773896910664358154434653432454682903083075682149644817619661000935234150123957694289301416046232102830876082653763484385634153021837267764556930636383860427405947220323963160049950399905910367647253135421249763342739758924386783586826889422228862234938715479048784726717033420680282812125737177872417039625356001967543125797755599963916070694648370534697828957851313018564265226880876239159321998406966503150796151678002265898605309466467637654520147720323845524778247250724641696047785582079384483819746842862053133525837601438479828532591748116421255133869368184713441135573719216008591620590199817804803211574583066820220485671590987281718344730121269331362353030809425806460436077263459629930668006222733476609622025698223455609542236193137517950562317107145536146369121260218710039483003786740823584701254256546794493199683139295117345697813646723574047441029800382637966394903067070323561564871749930297377604737872901471979320557045517514482096009693455018777205314256237146989397535989364186760844066701130412085536458192491243030403225514754074542192687961455151799704837645144984869452686651080228737596636487533865089108131884729672941697407104045899765741714446069470131778444489714626071157684876013904221388814462399564909131039984935852911292413956934001066860618711886794154040030841454841529137940863404671320331527456362826444355311887111648196245190626662459515351131431957663914436916944935185066028965996337382226504297746794488365026811562782241606408208191173244317237920741605833595917430352570633023527967050000755421843365754696691326270588070447194311721310436418579355787014382412580879067091276591258357728232762376757118719594699384736002637953632355080264878057992719454698107433989282466793284721486064431366538857471529330901708917661574513697076289582634803471997335703323240820385822287434195260139894388286803496903238510409604385765723162729306389920347275371542195784645110312639171465583516420241298792260756551259609965002757113485045725762962336653330241005611145492500935955717222762622646407797775846115092271408518764608721234572661506662959040983730539853467263508672417251832599387692103056332125606959886743851022277299568719206323347818113593549411538461970754595761173123263841712381581509168388125355283992182164670477187103416258493100269369984380741017592331142367975323885697241678695607784461007256162542450948430898724302474442099763158902258991560219012422092093636311412664456099145647941285657716700939067210884178706702772187304144098106355277759104494217796416916328962208577630379965853563486552512152152991998162029094893612299744091803456979431588667454359251755302661558837136597294482601638531378481988333564311359290104111278903349671109997096485640096582731268124533560023953199814651053888418831449218553723470932209370674659623000633029605590892095603714134428045762162921552169390690439967747762764886849896454205299375487245603156012467537432315174786109629416701796564167106841144874605516302028093247180124295439763447706743668145015239244229163413210777118462855518647209336141827948167722876336956850247809158584974917685479501056499681350986454577635436847978801957278964118615948571084360259745677957546131638629123025541440434706147910721818032697900962463770374615821529719274103336165389260630234327463618736973495687876089947229526616912525291068188979013933539327377837163926981200399844975965564746798093062666124225525972337979592624232251988199521390398198402138214462858932643736657091859152016531510208631208222562373065210687330121065340465340600776586618574217057374510063899788913067083410411393549743344749683293815941368430221464270155347179496539226661406189011166970705233822848223741246006688776560829140239428167508384714399938907309983426170003458057669868635523889849020700346636251135685946644571540205156049616554038158735296127636222319984137131641313542403441326813995891722004586210807795277040467414873902586001108478782646497115666815467349377369628781043938996115673750219047623891758476142343118101346586729047738724057855049458328900286012904986578512139901519460801399443582501881667456933942715195767371703819951319054086640875096780006428533264867539882822066466808277197764904540820795695305873602110142717404865856429718949846637819117167455225458346618577742604400967008404220457193050457080651725231276150225006079044285069760580692683202410464534803404441482507905479014309934434213946296744948045335192682983294777507783084334395002976357474043239407959842887215492532906143564965326936748612579833770573228167147061754458266716714189298902520011771347791132234502902553946990213005629421968000847626994516751743491984892687385397779091060360066616348478293803107012786353428263688987499345013355490525925334704104581044886894027839676047262314055778019178472678605183364962758574005229741692444975832280223356167587905523837237606844657918139984105193703336198702514580558813980394982154306176990813665175202301695598810340371710611960484283472132867731660735576397277060422626954870381795031939040078029076997100905889023699066242363415003504837491490363531487310244886224821351770766421988599744506068895999797341045778211704221497735074643623960345872871218006433929150218234358282888375705277107831317871644409103717257564063641746548677869035589523288757073057839539499849780535777112319794899228108725131912456092193131653494213178945946895222934216824638555456102552462503863857692164823837290919531288668691587107659205763562077920511018988606857165857085419771590477005680522073620754283455746895696410481839341324027840396201622216827939298306232440526086152369479135832238972004613787544762627515391498786558517717919712709268590351636753397582014595971198236543068033931690611002198418965939544212134061626842939412538281712994979640555092572087668769401721550701834405732907503566387387279055553278083985843713054087663380690392496110751705626540188638807204250318847766302621184839569249372519006313034292034311773850193884325512559282418836425617235684835289453962715367949269354274076987569770791266592101137664534489136306095219448955637898188302527725222711435770418000823711986739887836632364187921117617004259056521727161726021228872246375181271150546724298859136887543822404932959675330214826712611152854519718078271430548408522658335215022858559022365038777259223747717105662114301756652498842428795386160857299403036154242394885136804010386195507109774609267001536474747040494213074506501661951688265984492029494341819404100890215125899192157892471746948644315581910054370776683239511669992621947604097274316886238229491322496341787393531149137824813933551440758768688383887169945284190339382761451602008018581257571123392044386355268280974184118101246167589139363150155975478283466139869483003521489460497901629953650991219996437658538602071127598031189589743752555744043604697528539181538166328558170612000733115868944273517077712556983027751340583312348950352538985290494643666489250808694563643712332421736013403237688043598915662700190174002406669461305455720202734781682522331821612534670331111041812873542918425072714977876501941863745381904243245035306727846304552560018827765172601063435377187728943917654382077802657348409683572628612940519622033936207053255865917571860018920925213485148889307724100467519812511628960512376130281453097905485072853462213503579461655941602449660107267030928921688912926111189970578131909327302453331474300737968018253461984826903248694143029565338497407780932687381125651059494426886691076710999008426056301819345600178961638706136223540942608680169326417118149125877357491767893040770776219378487859979848715701842579319931871867376940106431061114603461868512395344829645684283902054786972853364571894388462319675029971257354018976393595493811319338681855553690144549120996934971004049494350932421392647034208545667638289183975164719396433956501011660471713293755666761568096577105844724089128498357101919986477594718761521069836096962184438606362101468194943620035197608491239473138807769367573676951852179623677430836153399056387873522880913415523744115350373471033387576895490108910655431384379839958774437335518244553572522200927899230777826075199852849953076630787063900742098615067635657409691413379019156161351182124532384265556995215529428250149784952904178226968915835025668292846720330043120062440049614314705104088961978112600490970018586719017429349196477366525600639250356972908627411671475408585241281268846597094712168140720098948097836307448038278124689436946253607057781325217535936012939653502411210327411854435369144303974739059546670330234691302074594982024693729738689234929797228612397391217217298613951782617498376867655167920685582531268392865275516504360978570744047475247594102092867628090286002440356361399584773887143190820143805086627757144236550908420721707995358915160676131020380200931776451514779341969153646288234134805561280169552612776646862985516612624617544106948862834181976750310268020309408402427100145614019103371874713058221073024739991962232727114191094882347362080376108804696207064262678893631806392858486469764625188080110970567077035222798190982508404967273055486221767467600223936268254319709868612912834012006028581943389353819492052086952925857636125871713000434771791932767909974040894218658896727276201104445810041743164907445738795850343274389120099077317186434777586580577905617310916028177357478145445260043155868935857095579020161361301335476443485349211619740977018661180452937679108144288856370509692212728861088771424049242702618663555233783962680937322488710057406819146413579324844973796853833520702100774448518546189516211901032994261438951083887932207373633204226262572996302862974388630012157459140520546677656122204638850254574412260611687574449328630672340769143408138360944589172134560261742400219609461715823005080811815317565490143063806545998743590005782220098407969727443175273541044369691429672507316762401661070855559601968089199647538701660510893209714156403306194027096258913068807661837644193135073944398599599275224835898733965030353380563716469315958662792940582185380598169194095267600094802586171436323241639928097757362240141733357073601120518977021202457621082275494839983183443868376447216418182143310065954640211526261467632932994543232902998115136783930001916124396689498366848296896116228330436526090041643036948853616380907924641757326817364849628296826632484636742296706680371613410685847904462312870259575423256943528770471872273622693028230547094090150567724656782234803491703087840776433532049478598145145298599918395833835426337597260909967352169175558105996602542343863869469462113340257939147256947835584561642925912973629714130157730456751014413743701754589963411645197497474016185202326325321590811731188987889069110590357811481308364732699888507862265474169253122600998237828845135739387100857354873508825613303113168680228175402509029482422152231379707644073220866669151897577389567265217560958376305345110852798968429635286357719803116758683510479538808921990099177641704299265592185446818741991000974702014553932169634592120612819174759344840383124399778946596473413686249161768034852050032028491912979245076581052218983621688670720800761569345248795354506595781807791527005237537985401460314941807574759626694216091280380132071010802079357231827677823233693552126177721870687421965231189085686522820550112213152875012068918532007132286484693594643167594226927681857867936097158926760211637222749007014027981924802651624787435874889584391824621901735721072208586568116427722062317739176353349469485597616322562069193811602566153652982886283359898303435146783497190155165470038613740709687656720090652195829089452157569978492895690197539543220816091250195827342505349743496519532451497616584908294212518299015669218282981027158670917312270383188148241634408363466908859661173845465914493651526671856866105768923361373601261875977957909177036465981969797121698662746599770954809291680556526603869386149667132414278487795179026835388479080803571988370064742876976692338495733674144889265739341261666899709599879534636859808699764809091561555569152272412772173160076027122511910049722066064147033382995361945525797588777143012068613192656593642620761269326136214665354116358150690088478523346819829014782402886810701011312256737005546510567792534117164186640978609491170962151682825854787990583089098032581265473254037080157718157140195901469229946476787030428481555744705287629976613593977274933590225250569404366843193145102028059574034958709543106050029166735278010967199602163558209574947664608376310997090975017093028031271505937180928237319469693745922591535912565363436719379317718830671883262269948722506531400730326542851194268122378934714828375798398672117581789969066015812522502559748710967113360265759495270998409701870962624932941308706053431094320813636739845530488261340025392602535652999291725101864950892125181435030498432019716981382786670961365447574226455841803071784392507395248522652890133958718840937287476271162356402599410700703951898487029887278735834601542058730947430721306445887620395713666377220096012869819394555724031381483562629180314677858659721073208369697894986063603803885661580843294286082409267500034950893947047432493086373281171170891447940651419472728465567678083880145870789081734101565742320009724390852528067130491894391173480878353250751130210547837283087463712381723449419214009627748311950151742881163732068488801952591946642533675031784031833762044356967502158154885607319760692360574586928120549380811912270112181519137319717001381842260927295653794426812835037430609010374888247587980661157667334541651906006408329051274197476591318491953067865720216877741292656768396865703103338088556050067864468752561363853068683310310259905829053842244572778161127333123444688193115976013377723528986627094659933163488803054844609002326961712286510798821628010901460833878263288243962228793776364638555102282084545668809822981608836055899555146257408544309587413336061139344441039393645869376112923833684654650188457765803495664982258149037816659603317166607089207375056092933890538443380936998671715782915453839876189642106365618815858582663605651572258840562193348397186909757347201595146624580012970623941807440172012403487262604894834776440932813296565768717881965220916526870557727701219366158393943360472916822205450743590241101008973605539274078448482475896667928487515636263169395409142724779017158061341612665577520751252590545967142244149220661706403028688030677595052943468942239498258120943735519036490547655209481438465447658703890214589868089223739071278604968857807974817619241323971977637859688917105521187487919690767808339194240541523300001175877851377261441779118896152714326763323647469873393670018129467999835665368282196453954724179410384508781350731359322736417569473360799207975991461574269139679956034693613699985214729433385870213057862827424467103965901200138069407782519521883245000943337602539561885769521395522180456625454918044915077313228324933545365112567608353223742008703539241767663497467731757550616578285024285008738168013804361546193981622787149962022977863526940662355806271842981676961629572644774013922101081229343321899946084948513966372053881690610133945496677324485217360542561660651616757556056125606930567024954647227729628035680785941635853364250940549167280452504237348617359694798498287875028744783297162248535875028413963892706994483597160056993072865119123424420566494406292450187701108921451932779645208139220537758024889482700084661187821272570692248728301512420394481286973548807139497559195911750822603393237207064772399630210525128409960758225419187398630920317302847425272108963753892044631410654986200180268691630066047670021710630279338609544904990468175079794026634355596951243068552666441742315088129357513853202365197379035745557591588502129007191189277807940043070180669681314858010600014903478942025272373689162398795877713558852086867273856600456522307167669860958685837140528691038280111820822351722436709675064763086019404305238252540881592484130461768144677184383235405882346660254138020904791036125385903135373199854572200964954171706653626677693402664678489487863818930974516554324688383377230619031913571735337611027173303852724846503502790092647614095428918239246685309838175098993897603967188907577011308258456656466393374445605970916949995486609558938363255348233122163475816971237283524361236388369970423973460802892531316545034834565705391751029938026913724195354835575410715239707329901833729969918352649272853059371796522124108870434280960555246413690384744851762727628887337927369169437667855567148389504399605842463742855228672255489747434279550892083799303455255557166598990028088704920808328869387845672572469764767910270549188386229171949064604719019531497770686288866189354115113633575090688217770895807595337243297379212541480749206078976834421508945562742149112454618950429351245926417607814239557334700535310365879677457659735608898075176329478990313024188346842152779952142558437317910512970549148113690259427015383222904682038699482109484927051317164272063529678171257875967958447449801382365834018464540159086519218481175100012576235525928257490019177664901207829434822078214001916021347860780944042519290491422677473230836142699177987851864611957361398698227566870188750531512985506880044953354662387669772026698478897704217981261377633949276938440681841366148429825959216978471157028510002677346942749119714140643343027272674951327960555116785497561091661853658118407948551967684391094028922129489602110919013069626690036745962100214026392605700301402023648639717857287456085076962197100954819801947763711559301465540170359851043949915316781920643734093510397275630041464578218188332852501639113609560940656029321298737489788987380444981999769203711721815639639309032303360112445434588060994724295169273109369473104387654982372817569057966577989883860353508858978580127557645311439063949068970720006948035568637587492986554875171724414481931522766926728961314368553305813585531064175990845557770425960813466688309273221920641713056147864658633198201579925915468128444559012551469516929407605956808656551222238468183452983723288136762731744316727969622510128353354104690505947627848077190633583179772414443867780351591375143227374585752474498976733481754063576434855116830820031477174057872262639793183135945918846345963691832628587362153832518887597003741729521585828625147675214696636704778041653272139364577233709646610328274690690694845506627486915655627709974292454444762927819413558155644419694059112971866704838961765977270981413331466034286496704256805194645234590346204999212605758159447576292490229420076073614929200498664033218650925771609123169517019409189046233268624730902090746124683289438310187534353150216029333547293146788073263139665320736451739238336351147056853216411730980153753414554538678888071275765999553260196078074657629865188333164393830973100789771883345436695471729970815606696306034103160878446205303591717305867356941996911625358606866733651527794436646493367198540755080975576122435011921102244736603041160913313111092454600199647310353463729649370046750540203220323584545069024357034724750108419394201894225397807104026228107913761079099047665816712154267310695741181549561091504307690560493015984975691981586854789389494786338267893096431646026589171549945428600739357307713964866794236016302344610964559001495986199441954223257918325659199482849741953328086070075213893872401509464911533128710255892819771099256501803472290448836941919640132711424898643930779093637216936480045776777989836110178503135348084537581137411688607879514344623959966973297481182116474487759754307781603790083335497206691549831886589402580187251248846714529530234501993145014851003791456307031684490264742384721486216738645576660050738436848620381199860586483912714464196528533158834989433871319556084143741769782368148105314900948369727112427115781480528105382667425654457450192793387563471264308007340249599921004931429098230704861899300510963127317301552561263343122285782802850683916374838037641292495821886136090061454656101343281300272420975807268040254348507598032978139521558264638816912831631445730504864770603134770415957225895998251975950056256089686931467001628933640555303965010244481417923919161992462970548296287246683865131809949144362230381776638939323103657014305967506738464804060802333949401265609784116588480409725784102101190994195579583265883304234234181070753734927231472871114657306701008475707205946205320803575049936405481965272325779173765021339588942474022202741312466562314062267856437181037044225984685816022497648003962632745448580170021143047954048574630785289049472788412263652360440680792383995132189458596188094748639795820163695601681192261081443205998168061803997354087404113888219239041602909003111172049271878923773188882727516055757518034376126087986656812858084179554739644109290613791040057549247432163776035780654417135244792495402817851678762560325654914797058580424072912770538889504410018431490734509126708888270832496985623501659154406169634874034298118873912555686691468675186469975537292230465709073741538643401230335676390936523030429393606708318012390365991552681512706772186137955621326766215515990957533103248580406813470866318042783413784595073172957830032431458079062412787467054041878394078675644451871270107994370815875888506401987661318330583157223093187551258082464696132419064256550430955094273178379268158858838523136115966208436112074104289884839420662989129744093996132212301490338708263687506372479527800466729219586753068076451382251131305910194297750454426329963769036019084734339159444549987964809502303101223021139168432127316195936572995682564726181994016904805222387265127392633757129365065555720256461458953835361361967887272766598661300477925680645875268537827185407093026002750979245947817992558817325423054208364618960329973518593730468960881987047286253708501728761934746018792594951983190655020702237511878533966603989238354960641363228096807692744655209214666239995070315192762938615915639872138967121775341177402772555918108603379285493287633140458013084551951608306766145257903537639336592111968465486763558475509474603307669601304226465183077545315059147235259330600063152878700679117631881366417834663348197707595408229307687424600206151030103721361825552000786123904545818311112518259144184626605140566527530521647125648566732815327886213154700999228419587122199702293967400652285366636455431646050195476048835481203980986398994994451026983602631272995712057216180987487068308851343607108319195223333209739974345834704986528072289487339104896058516865258148294079942547891304183089774520412284643667944221836474174114882452583189303498510256418743215358083523779333001907255655283179978061447976026507341141521132575084480949085500840939347123017951960782015625627348335058051815999178546076986371883701516686918211828007498778588750928203396286150560598297796879976180604914669009874042374816432547589822739618575993025876182794244796627632732128110493839480813100052439346475003327392270837602910136808874550478480696153955240623948170112748369098347249754519109394800690649236427564031570580811382671147433855199467648076657758799811668949316235026625435807495954478766909449778382930112577571041009929238709594524814777554299814523868882715568537621171047607201350617261894480521611193258965190741406530342588081938104236213714410673719982943322668999852327153014803834910736812194531902677859889653581228569118559444280606824743772501843414412793306688708180232403977080378441300332462458632353139370723982434518135336664071177030513830147101907221090425123683091692274655005048237327359457716883390503367072640049645589563757928046098284094564934573600017084333919282136615850138701382526091127645705117229635967670268576734407354430096648111011443659629233232428160292847671717015923688971143308895696709181709221142573521068103123242675130900172861015679071811546540066852065351936012935446748513770320375823433238801902521265916966930158188033641451726732576615577592048851613495523499482667759845389431555613723232244258370638361012360178489929752752265928431681036697481963927366687592051592527861097463834968366528069723107952469316965865858957492591176571334254341480041499072606635034244709677808787098135751360949477714650174205249823107805028605776562999298720095092975859042878578231008022575619007752663305812940322269995641227834657875130574773205042827359073377499864351306809174679920119355658258843726746881954886272277389005645498605780637988598157124052415195268496198993322498277445529329203970442819713353229241007526043195729210004128215213177216760606796686295902605062762879891059761422090281351116023416666424682267736201752734359359898286835899846040256249050950426414224675148093190290912127257217678337291657422911314698593102837574997856013557805936437516103948182245809846452784175856873951725538381201763341385782478502861072281833991762114899933475007485739941195056039961276885706343333395650084005185430526145175268916339398646785954251094656388200404893085522743918313996891727437722041860335831582107802334064428182474982199401532311672283809132890231084155521102791187144837703005276349766019572587824123406350369582140811136972825072981233580611009511765607158891267905732079515036385513542665418086716089885663779398794386340046899601866684619250090226271385439933669113632006957545122082178291026298157149787355572609810579127505942444766427612279844914630494299946917124501108298959942632242155655255888537241486524323160498749303495511684330950335808546292019274215914240325638972914544526639510899814738201001919956334218071013728405011756373676415548794074435225829175110303615181095898857018434905697139630367872789210287547859616655265590763102500199414924180198357250000080668471553588287268553384486962740671631940284466097088251023620304012309555163792402014698413295774034625630779320817179838366803498635617869510576074679066895746781529166306185861434475460648976178585549438362810791774695227380283988556224824859536332567232191776719124453205722412229126749832809451025523390405805394671974928429464206512049103164255221897911630784933419965029742978863192054950800792498390205339594382739774088597779972556026074956190768473081988434697120295110574814975948900763292325995314988576000672402386068576551572292137053701264006142898261632737726755399164319764324732052011113080783762811691628847557770459602572479634342224320089429703673927709660505831323454030716651249872938642622897957640687670053664884903552738245802663974262451613929875602221061726964812803949990991540132654683987951646840548844528494702847178457876154827860570166085247083800121829858118854223587207572389892585365433366470207243729283302288102502220575514229692441079533003462688078117353054748653748141554483774691484035909118466913496500391490726958078992995007123984336941064006254026790802185774649812230756298592343238349745676773675935245355516016608269949007835296424202073270926963356177143448049188283836797723091299240863460195779735091241990686883233008157912869839607710123225776481300563539978310664711301559791143506851694208316377278949774408226960527975740535354700279775694134727303267770596308840136914999510095637479897424875739353117036671664903001009584308147854372370856983932432084146090501312827494712148615836306100944166547510505356047468630041639303802156616488832226547714707645215506519232345351450135003100324710490278224413315556562027628831895867685051497396497119487728445242631145016636588872857758021879495979152268031815487081732766550115894046547255522870775403029201974050197216282763098386401666606729269027582818162236605378596518862001184879164883724453674232481516211388836499202039595335354467693588180648013199476981956519122235991247764123800824851438439671354922662998090348303941237963665464932190490990374352652772505917030068435631433137044012274922051044228743574083939926813370980936155935109328641146199268154984770717706252537934269429488722742396148822073479816545899211215698577841223167104898922521007123183607495098102243616736404037385412564854264749053460622215609865550748999074367270522250144608869452914144508986263597260731840011565636103318503750847777299036701138787492390299169522993245717266982771576846202815411882722404609000280375828389816549896625031453967018028095256733286805558407595999779825568974632400846260988992858299041832408518150807414958995062062004281725075899495604572571798907951379381782451494982156416465112917646352185000650251848851733898912101312346638235368094748029611901836017668557370381072949814800996886155124858681242208187556040400260583857817069587983380770673498308479314788498527806213906615096651568686399562019444643991434476646749088174415077513304541523731461810882192547181136987954357550425731627612047752465265330628516266381774997194171820488732289494100015186656602357092336631801461763004543275812188857043470872238222616972439789801880186216921399803611411968217810831621774235366291509715126480652489392364155724692141015132620675194673522475927339034649969933099114572377909186065154592317685615500353118371889216325527271416323966214388892190196652849474483651833971664528064385035598225983300409875199633078423543024542987913426829610765198126398622339684500221787410012243750296028345703371483108019297222195038345952398536463237208796243891916204327356219199644018258438067578473384292610081486598469929371123295153289407325979273807143240662084482328999996567440390695404807319528895219783357659525046765931339634624613091432673325842712973705068872985606004976462075862661289683845321018406515300496106665266390594514485891581107512828383853453309057272256647492352572732475454661597833138655220712406694973361489356121714401213135644407350297652417993914829732054524845359603297178176139058845402289555178633857236190617580991294003607146887238740876498827408403773980021828955993364282242567401116151598891186594219438602445118318917455647555649645081332049811047050396763067170409565799055858508336224963286640292386802911541935299967780943531557190292740764361965703151048994914230571054588603113427041446938244530173589562966700474844600650539112203581808202699213362148662452688859407409704439342332912643783087237020580940118292434965258501593578070801144920002718869832344473507180636042948461646642247142480954330258643744227999483838398644819537540786937710333116627797331553527692802225979994326908273613333886596227645636350363712499312327516014948371356684400445014528275681792816608603429058928602055333521687453142461730221721936775508639460367875241142838526114136902667893990746474389284627949816366928636231146543779987312185978461380374197592457939420713332764760933096191487177647734680651885915788229734853078362777929653572012004309616696021745660771451467024567719937385923656927529655863213299719847734019329381111847323663957679481369209039206539978974321416513318059494429127283787845021705251032446129724326458423196788843428179693823232522879681562260196426251735849537571092819562151163801527632834612487003716348338034668612289403797940488829314736500723144218784864228786897150074472232564381545065797036771311918457236578784865236631604689518712314210253363699070207187274136581867757688662043554337485608084883035015755039539492002493414466544644748295617752356719741754715143548010938346060432765666433267112005316784134428006284749518429676620324673167283489933763755621838369514180893624057330083002711592464996609726263856704557124660036995739452506973498045458443180010868439051029957021190151559488742819165650157489588044290358629198269941547453874232885816386127858861567945795574145355076286065535864889993191451051245923968023392445210489537367159545374906881010344467686523954297227672861927231755702663343689137754700167415461777533459630722319664685976710090475427670496849207963108739053400028922875188018965394190619858383272791931146853826516871030838699690442931729570395651174785374142589913701151649961929766870285659633787198385481937718709817020855706526032862525471711924469219027684906006827654522881617486285467576836312378684896843755236144975204031777623373967527640379127085479723183733943820646596148323144518011271219307665165824187060999549576462121999479439912150017950519319276318181164685986701329019974792128133790805686911830976393255754105155274632171954350937238729838027417948786433576079580768363160283301610569029344983748581682364666562671334617143559613261950421665438043229321646195100297070897040441749672680175043578042573133539284290432556971990742017973349837157430165513320949067773615240671779643735668202557628298362293547502793550844605732884316387953056561831181842183665424892564724651207890859312979301143554037907394068949167061063035384772814660145107795067312726324909178599645220331616033852916505276154954952367173384262257376325677724050621264783742754062980187122313575903329290760256679782031980081813425962645461341271354572553433882651182221496863933581134866119221207256646125989720438328640795560481416316130878426302429291766837620008359097395011573568517661442690052818151740009643142910711869610877262117571689683591726270992411277856468889691032502536888054122629578357127951468690624267245489264237095642888191113401857017249019109419790337351006690138911632499168428661997823532464488943087658745479108710833223132716515607267147439061335201748811230390507132964403580453197052368239523518610777129706138420327534348358665592546739235775850039381306046649296773311866067667993622459051773656152642512807023889202175603575563523525737851574635268035630951029013868729927027824744675099755539014353920073475540009393356449072264577910952541431084214865548630617741786794908817446605820966450725054009263957922760476205368113208103590522973315684575207598788065362420887613334021167222798832233944158997836469860925078324783245251706164496713640014263364237378884560928382912479514622608432676483059752367656138874440816614493179670698432594672614830057449420035300802607022534433178389207480902687872759727348891863481111656900961167970559646393206745169001921108213055957284832955790938888318689237823853203183303993993971266190109528071326089437925219287857073877383945628957606398835659496024557600360963254967203849650326261941300270085660865242134958817287414350996826841357825178200534087201696820368799002407349814411466434716147000403771758458588791247494746942630180092806991806165902139005911621859250308906779140468503336283729206824705052695894679740288043102756027213267272961768094854882828525760490357984754850851266953705646489240649452037546042896615855869832083380513297974065658728978967937368509270799505678373066509798871370036102971572776594536311145255922917500415249785735910677685931979522088808136293316828146276354009349541859873073899403254888610369872066532540750531778558132332432169261241728823329296224663799468476662675761096052734495228928164458433471616898599665615961201541218301548680567349767460714503690838508139752639377953040960328833278567772521731778806401059843363682709956935683968109738847870593237916190690342972419398306116046116350957425663843239923849743458738351413442905282427033735046078738749289834567741194409644257859105355290570426433108731917243913061542897075028933336037544585782572978513687845093798747396459889838054338726231071711434727602999909219019633528038518790697088285472646330665918837120333722668279404207146894868558264280631036329712092635694023102537919129569431478897648171979099298061839371582274517220156689143019459013122603169877337632571439472015880416940859565093871064043432841448700274893129113150070490525130962409800399471639164751466535800053810030842969637381255023097918688426265072963603296849564242686638497385780875661338818681289434818347079310334962605763924646655132503386184479776818288468910181442981636940842126545599125637702820004069587539813689552184013344220789021081864230788217101215717178047658705091943415673883277166071059121160472559036189244356076808972490646297802418324019201285935999148631129594322337393788260854815233763491869488353696426756696228550385867942291927136147647124409747735048270803814257119304462799002293683609315233669507330479838208602419594165341864831056101164972619724275811001559277794756383305771859741650781356834108172801181413863775017237549523578235310874639718372244467796428082555776973701845487851086370497115843701583252902237706501439013237895184522606759863287611481718522105101116681456687998924449650717573763131435209787897651239457492335047331163463824784299492694622111758945740128363338069774375544212161150609094262760625476704448700673339438016144307412626073635438085906233270909902577240020364202126300705818294329083781518284220252711333137547244291789215415679836353720142693426986003708550742222806465602966977478403882556378868729482866415212307113937361624694934333898232930914141355971283658809996405269389493561273677387533002765952075355064703068020933988239103704033497935056223625774413723303559486001789505007338993379422101502869946742511121348525360111073024265781907902988313043132408451257084950491127949753794945958740964563861800650950444001124070694152713089384054759408020451973210443352844257171368749733635818264311267429711003026010073469932779046300630022550526561420946460114383899174940664723889898811606438327824671109283929643860858898691525618443225915299983981311984986000831068704265793291050211286112521724064518006061318131582300152653132832958546791977123782136025176820899001646041180815737867762972661855715352674591781109847428080254804748010514008575683769346453071452862467757867829166265941303941313476105344269317169231712416851957816234625958129960877261158613242011713897521094350691720733345884894862323388833308041857286983673315364192052627912221450579519283401514639413780471802461631547497201210400477238413552911740650575020226121064245488324037314782443052369498181604352411960255519720534000071616706751492341099626219915718227215245334114933829924933779100070563089877519094029849517540767824897574269557925837556880822430415326885615733701379834890309548670983865032236983157935700836212357872214294925144268655355907929854694188554443865757453271343321630658411228570219048169743217402009829075191986505506191629998729669952871612719297638589766324152016792438262684290541549167041978188763235092642721210503670418312002941226173660942648076437613730984259916791489656611141718415941019307683646956628766592187256691149054978518694312803740027693841887500827134710165352325061584688392648149167007414856629742318783633870028140122680065763341239211541782046198748412817695324605091275977228013092388148132459629849259773381010096548903046496024798942585805545704165213069437327048799830101331109600633896558611478657902070772619598684334392214578973752325301452550657587918894184927147041541515342600650842171184664554647789581919483199307109189214733777916322979035964835775050320945738374121441416157238746394839856950001945474265934937080010919020174353925824720114853285730840064675119769018201237092794182003261874701652175722833162286693388365967422750799296392823198205902573393355620093527832870984091066661673207464749009452129554148000195727939015511553394697851589008362101213201316482265718770488483291157790827248103886802569985139225690094775226300888127614864525197888924393404304954330060543052848542609854753991462885672166869093513934505663063981367273770073255292580755421867313224373229037188535323779825572226199753760744204744155002220100055602489301666258784532220605537979851640517640670846156682398947105706899892324865578243114839996167139904003534406040815260332496751635615494589307366144633606411664552497985058997734480290063583351833999187954253725753166150074776350796735380059811826837259459516654974551606104998954736818666096032292863580448303479771520908164785101411880118460632680434714140160867168384419772396007212706760982245135810951261203428992084127198516818465543254186444058882489262634696220014327630193016026161411978432893055318368239710417373561591527523744569729421311569883528005640741554039235198640310095166246454181043720012324692237722537875987166734588811543105557757736783942503401914004352784876277420468853781892570122778593430953034181370725922175688990405234944550104702628239690728039708214873949315988697933862214004954066901540149516033295328019638590663466911932071784870283878266313046529661604075637335645271067751669740906062880446099792874595692956816360304673394644900697218383910871182036354219824666194618026413799670692149917518032476816196027687510016215872192601035911603355285438361849908102892850346456196742548276835828673397950412637278735387286437022387934510426355340011331480247511562469548391629890050183833584497019874780622320313630803461107194152868209109118254688838756487886973313431474968403151765916972963681315913814781491732659318453809284241628550582222167620214847209801314360274677855168037744604115854197233568754803751179591840264937630999932865463751157044554458362077648222118005278675117352428239511029396696274068000235729663124823234992187715984386511113708932736127347955200138060028899948620695293223225432674219406485937620631980922540699939553004545318882976595196848357358876432465457985728154485236667288720508788631247446598922896852687316613284867703347315110709920419129547198487401004676123799492093925529648043640961193740875359796575136107694082197469930401708520528754035314287756199375842716944788303611611535786164297088488755117427355497800728606832708219300298535271126964846089126671535836347334571457612398613162326252185678180023264993984807194380449363916652828515695653227323176227481841777771739074763510502165438978843480931434524558165849501450228933252812862707955094287852804349258139020037271600260976111950783286410249013887034580277249142702269211622987572813300567283301396786729814779286879259442768870459183386291337093997466534818882690415852609991135987996093133119659254108727205396994635690714921601661427140985640911612284486796690230431480747267614343657920348212753875466639187159393677144959374433750102224607805323021147537218921134234948667331508986514844855660601445786707669173513366174203728866820688494546291256142281299109994990942877379051672018247200893667545466704349228190805587380184553857384086649153750013932416995447946398503614270061755927350586742286201012283427483076003725770833021100435192994743797994367646147642712158806067676540598806559596561940888226273308253430219560090080938775514964807470033418015781151300679462971233191876508221671384926075570938485565998576338754804612989688735930092770410772944968656467693943169663877392560626553390815049049470138096170433280960445790680500284676974195765354245972953493433731933030013572834780879359543134900765798360451883674585556693825929311747092788192586529505675935171231134935044564867062180238641486855961407024297893720152195122862905245470706834495311307997213690876308755565750774512546439356984510129861610992247731916072478071781415635377541009752254335487106287320622514906540396348437252701877158914401291697580873573792567677355224404480987345904681582606019483197205182409667550726203836507211220853708084085425475630346294611715073107733189135635008168714104965293689118756339856449658362473183531867324012593718461837238819834193593927388463062438714427041493818081506912084357389136311920989510912185397117880736642269216018638108001835058550560551503889411647816797652055238814059731239556322068246082794609003511936773481634900729949726865692836370358178029833458703487746104347402270416961695558658378751128133897758336597961510838428040194375761281065420175962262253129458041836290694720129721860539962013862041628653765159518855227761179580151734587263478874961279463208002180809280425049881261789020027335985961147522600315617950074868957240207937904218305959948229284182154409826743107983129665600665617582186154717352861843773926871439844738275096679519796401843372569385029120226092402801854558878628765798119487651657768332074240228162960943587842321729376517285366638345012330551525593589918500022687265612588041261097779401477419639028292610465357080072009271150647161046327660989085342224847441001501780963557078224619962947134468018045419243315053238148231855094120701735304038041099732685153767684048747531621302650832430155219113700346869592338103052201187841615244074787059160052833120943788726131163606909588433505376334165754356674346474198804496313496309636367091347176867537095539246088063956059964056654573471259665585182482369077425530193757946948658505413526271701254173840529390639440274855870165610886558563968609611905080130217717724254753779231154574356772915305737601814180228047296046543590948466292661285897855078243042459218468556824097328126936253735780561433291693069085887617794619277494457686294869776930966122507057344120457897781652928028751980417108001905921784700534623607812821598667862665176841327589328300183252960046614482476458638827977926831789557458487185288452747241388702782278938119215120920295421416199104618486862549843969286815925518593533987832378336368760241189342979117044043454241740451185751483237483425356487238041912689453920336123582231943666272801495978656345054628449899545514705818525952978960139573103440956062448217125510319540430259919244359321468139686267789280659019306940708495603444498844627297051536384702036724959356197143839270968077773036610979203599519115280091346960375448304842277143392892321627864853034387616217626071687514176536470410966565488841300114556190366126326559340927062264778148588391727976799230743223379817792179112742062947006162070821256408640005956078664667584738165277885439235340358869671629896841489235447798510867066772962567140769243779033402230169591168169243615479795813046797632955488060104082025979830267236765029703548271986117110882541233256742815929479537549582535263026112490419729521229130738219256397893625718784559147757972750838951309278282250398530664129489473455958650421359045461286234557398394141724647968762599734006113320412463442340696823894463610372537576163133874886453150055509258459666949420622692661282881545452315050676799298072887537114841826152360353328370757598573379255890358247168473388033907929979345720529956039387912810485081752979480189503110823912805546287042157633253195893198586974714952939388163801752556928037290156967617591215587911459381085653443543477623589801626228333940228280745170484419099440036560358876686222170914730957920354788082935638681126569801878486893308518966651215762945045542071053101852479684935447352927403776527734251122926511577718961157379658346229167587615154776907531868920494108404131381745526324484163750371822496557111247620980594850314822459208219453981014074826787844569171921876327940722172861277394285374028391109441892155572283285663631676623256260026367839989643920370255507136130622268866725367672407541659745956612556589140885239501049637136330123630248693231417940762145159428976921498990715507558461125083390846955935559812400929042301977936881478025122069765554923388056494269351944909060055396602679114731584330842944477127684190619833472734024874814671832921762469034204984213216525143930535026938447872274496417088665338709263168921004679889224664441643889312592013479707719922246537187101929739057864599417359452753997704654801796470369935146241437761520115970898811379898907414075954173539033937699003492021097629298402109341160073291119536963392932410103306722047108522068055149905148688756897554684032985090028383694860501270514882605861637823768977211501040744679688169519822566972222913102315309007530128891333915533089158704001144869594348484302667459019958745996037513963710674355941742021928496979175679510383436008150303129537449501061959536837556048187305555137554305558395895370248124974513454435779883503519711743467729882303163965440044832323697681413115906953068347449125508199461061892801024441076135741339252668016288945744084408943400122228104832619485797482684144220012143634783821701300213937503688150458086221774369695939525278967162876761942297228424199547458388886066812623409498324677056997931894156445111113592450353264896152942656520827228643737275331584582152497868515272768102834651704896770069446555629229086661744985065168259655587599249699833031198272612751327058180393813936765923832046698085637944624917017976594862861318445438375833405060402954843898164258195768980619245157145564789124063073567198558162909048321267723322047461228525270697299445679601598994818842160943974536035525057192090528960512126044583214287027403971281412012801939778280744803137028020848983717640024451047687248717790929630274002176092044482204591024127851583313328637207847920118412574020819075460920665270683053350228393775306271293510225710938129921675469891586989280567461748369559104053315005473030282549902789760193884726532980095568989150483255262581761474054037304973738411714226924894312606206540092051337978083688916506980126210403639870609122550506745569371300007976253931498887691480723655179760625513391265141192072804002961976176824726618406364780347649854108029163736807174124303798335584589751249857119046388910410775247619916204610782041789625244215263071930357730493409810573108400366208151150360231367660294766712484524172368859618929926258425635690540504173621329801397150244558989367003606685768527886957201801476093414582363475093587607657299232159415770284317646549980789848070287872229760535167698704222733990898742722970473332097499622991124464064910590279731168230886497848753979511504511463734847732624982775197579306064014636995481988389528933936000347620608919792835334146638139788701589609113331273769827184364044587565389827718804940458576700863201405506074939817520989922639447291892236833328580613409697878387066309497179584392680978470236010315515310841292164358427216870920198412035554185285419669935962426019876845107569042075552655679248210730111747094264153069467073130403825309449991191067710062229841174973353098136034596800800674040284468723426993336449194750599771525096782134416143293773235842166803735836615905996099483376212377447395377610838076076837882087492481612824111506836703987701198801709683892578554331299403611625032460896657397389549398132917055295339101201627035449322156554167367486416018156363929772097492252058213118748044168999765387210545169243658064774553916735671975045847636314125619486773171875612319432283323559806085382593242679869877290547519557924590662548492689686516766098140298149334468266907495477197423066903257633202516885528494955204537117172534491802335849188528578051522892382606312004626616174594463569018146156698463373676502528434410143014060767304852223817686927410760322635278349031621731717004980280797187836340742617513978147755114472808186456319426781872924498040609140145420676599029292458297152630431382397685075856871037247746891113267499178632955968595717081023286909664109196659593025025990581463833717907323941308014544436999005334309423261846395994902106320199508660034024982075573586037507629322814478859695173275686963682006679692304692135439788331897500403794182722001730617170589055059387077503734329224788646723564957791066094119061441945721714168067713176012716982606321074267385920336438088479718909209075242356787867832028077412829605727533407643234404852925159070982298660885603085996430535728772569865913289046905273830717434034834486495288731442617334300730222799635062851444129134503257461229348077997114889177261812587921116755082106159951340123769832799997441039739026022645771274381682587985696386259694953000341279343597064738390307715407085729397483301201502102539579084835283890346140708784762026937452202259340021048682837923984965714646950320070149305136797767218348132120534961934394406497887143773498064267654854673612105872358246176715692787566126517887064063581536647903138112544058238704024218149068857154387647529822523879714417461842127353347705445564258365966390058015213680561917535026100654369565791396645652249749412839385905879275684308672518304696742667900562410278087156579807598291492103576428241876768044482302121113983742580566910352132432233848421724617375580829974767364575803295819006004909156696007370245284655922372541265208454724892073410583592684974436082346612202296388117615766310584063178685168848652881221828132672538617802040823570436283537546881684414073827442987810709596817009019524557270963334960523460594255968771556134883529047434388306938469422016256320383931746345261297310494014283123223836571770700588325072365026738186511360649997376691884939134169304714943657985616353682731586060997477951803387865639900492428191226880040995837370605851881033350999921310503502580565680767618405209427109326964253702800437642465316388406775752200489812820949667159721185556917962455354698672884209919144291903697738161758251888782675368307360143343383070086393054213456824345917459577928582972340542789881364899019216910440831906731037092404081237391550590853766968659171276580990886822778848207536243431517448041678545144200559762840480506389671236982113490861264236792082984952624525446100822037126277919975945892454600854099909039171173017394101889252122764796565391388368785813819628385801721685457899574215775562634597406269281048875161525465343225024466064160705890059727234248713415488983568265973395112301650269336831595295791554433617167706747669852764641521662386180666757158541547650874869366979263468165235128717919829742319576531687839109728471145686121012225091666818522197556854057023427723264943142426083512817016473425284487154582407538624384544029560353887669793633291388860659008221215562899334778129464834195801024198079831291442942219300017207567081468273738903399537982606800657016896302919823914540397091938013997505509754281410400963533238146827806934376948539029595156520550950939167989700879299429752887215676741215253314023104958949019806892059098192009688868741700720212439192814527692103838148200405464943219435251346055814415300459911666968968137987390939781242459197120308976254199926197217567891222857777334316253587978974354556012515779240867606958043300420690066504486061939265377184093653457962152968221930847007759099163376391040512604683464280527530252004092628373940821384155710653781922980769326574320241316950372326907428405005182302140005822150354141021199262516445980611760561115894100155962515298060651036349495265030869111346402467283568253538689005813403820335444063657765169440553500134625894564952748602187842767788347843668166830143623971661409467253975872790629556814890251263853024780999389784934113020086540327888987136792999300249456989560164226323028279689190571104547927989294525530917840845396070339969106297786241664441655589226081709709491626157745644185298210096576427013564710932671235413763121282109240735522196105428168942889715133998553747152839663914012717468752945135348107893558418297305446596067578302640400024865968132991222680084972240460731079402286755386505117251194945470972239694477655980208350398219261317507940160831010911159208555902322570598325815060560732763997247598790483528299619441413475831839721762200354738581371057729496979049642402173644464312750697657490873716556721340823357024597834863060672658602023393037062389505554197123381714958173075010859160331443133711769305345313760650043526018281739025217685256226728341777912268733155893173314128598278095874552729750752880658716457792960797926973091565848902819496660948839481937361303355550804337465763133271111007357357709591862064765862194308601298118413747567594012485674194204841962030520502190018984105988271260625741090682831880017265038846678642656695625202901787425216655863112747134620636888933005293339330627362928939204816314782597925630431234847697260222434749384927837201000005662722459749027683425440897391178148694760624041653008412450736130655853067802148928980023343898638951069290136856063858403037483893445718265214342997410459668380829106086621787415479033230570947766305301705421240583288071993187867063136871413471531244786820365863603525513625244457439451182970608568242718198132600404849990056563304834863037400627514247724343868186934500232026891431010892719189333778445141424475882284904367902941691961292770252661380081569623932331400615545952589792860766571430865383326256663986996718133918391379214564597716054121869411572949777084905767197633737045440417238851927674321010297688546953945785663907392930659982436106961260154335114958839274050763861565652199451043844212227924629008294600055353261191559676831201940141449419732985334296176198420875454338250173690890716207279487155395623103030202056360861191698123100322701660084436940335519250092087522574141353754611837200207769138942777583415387008648854769743647741344352812385146943671164797132994255996806240126257004421071513657390785506052067419960047707246622512980867685493344925190000604191594878101785323369553156298796334036703729131900898003377536763555420842004086615249019203138065347050743410849257951172480579868328933831100442580289534157627155740234294197507573632965651266049203664342442843210419968642282703037228594150598363949944547910852390702646071783560661848473873550310988280497485482522033208905152663231509990547057501759979029040121092737627963295712531981740719660436153039581649551762453732570253442710333238878822538885926068508560263113797448773825930238901366871534115082197664576907576656406009785491233819989297966774436415450647092524369050899041458724383697537136250638417352257164360085599197694192468693102475613939054296729874782269488139294551516590770861066353660630034594688582240598258919843670141678705892104013737258172811737819201656448229319225423629671916467425997272627670982843791132019150799672989741542363997667827700923641282253780789258934738144692412752831514507389297623406776610503178455318314051034580068900210953010944487456627953578453850790218532255264042863332654438118123278532402675078968150295802316162575062572816782968868039393771508614157133457816603100545140730360679935848674698092830397064943831387749485321567577018495173361851989744440007550339637434513005932100105921615417349876200813416380638292593520979595613844950621707434733358222501971213047876142050935904454170981124548705670104066027895779304281096480809315769693478822633165835656697216417590682024752186038965337456741282885530522753311295821398965193268075585549642036693494172329197597239481632653996779762916830214585058677620586546867758404451185919214816491867190938307463600558746631550485400740529489165981968631515599160423242215463277046539018024195664914296557345855464831433471530263333115093724683410799865523959746261452661778548578280619640912751093343780734509253250820845679848249630540291221004569010859714115238229083542977216313635831077918760993459159246730643035210659614052870036672572279076424212222028081961893589393617203496521232342161835406138970859991599628749749658162270927091360048355103232888109459290698608070000299978849196614169984267442542859743636476773353635474513734033336744727351707149611947020884005589821211883468681249787428017327956025107608969495902699411455867373891423703785305597534774608412300763152251224395464255461111198121498445046858372906410258682380272162432409022126646234799521350766286677342611864340456335089815465486234412915703340653860753061389361338978503734777318096703561318473410178038407313586730585097361687451335151501032838671011298377769772526395970084944125989521294129509584028959239448510929643871254917959819174037644513560329906421235928917339078548122032862165345650665619895974786977576426553757078260785043332482590029677282638701694385701015443788964310841832528418149199999984525186394964799605750294176147965270823244713212022408503025824463134983325986662380918785125588719775767302107494434350156348890128238302022549131439072143452598647935599573436220352978720885629200274898325161522396651900806211800388520477314547468149841883604656041336256579352085139230636238740087539576812744633302191897864925515161703303377789858620971925081004374309499091775652677951076324671136863857161710592938009191654261981334496501953079045295785949432352876327117686145316946550821989749790671632089846612748352090783907724187586614877139313952470870247985194449033605288027791711985181472407286562424319236954484894764638858666623245910902208808471413829650622464044328724838682797149401509832971091805502198128558571785946685407141578394164690273474476165886652606527500444519794582306297216266011156696440328597346878953272870699030217030929692330937379222354868837385284310333122419141899941617507046004539517809358669369504660980428141829125935404738321039737604944809753961843418937259201440201518005623179993604285984053263594688714977098629425294421046242465285539862205146602020552616588716002958980717663412809530504984466202540640979425093308393942516674676752500194249612017221283384482041154640445792583528649438956114332136485451089138948355604459219681809201066404655698634480118154820199071319694263040557824296878729935162895422161273321991614311366572221804632808789952768494374142916980681113805346546554223323599169775700901043607240144385945668251867765902767877299306386090754338350094331746659515374558748045094942781171924811536048332308754728499555999670245590829115579284072089310441285542927425129347100965887767883657973213195098693771082719709311457501647630669721058724039670142941953543795217447649191635888750450542393533407843080422637458817266444811054101291931633982410261003365400435839703298468751172839758903761797408045324810563010548387417592699933811637585252925256563437167830131986145619917516708694148705827137029404530796564504232609657491729322007897435186476086719632221167186175244827193328257195737562793739255410789364992739202973261961238029436222954672352765565550879061848539465694105567943211666617743214521905884294268002313252477826505232054903452411634278899211739894196432588786340049945753048190478670331439753252108000181636862166462856242013105586389130086962300855687120593834443049462291806924825828418568647446321135695910490033184058569381130280191047785050816544068601789252705981475160866364943112104719102375970698013575530906011562758059048598952741621672804913631586748287116510456925235342197257478701313906177654368347010870756566329279931951339972125299694833269098036911170488284631014977536686064207818054814951624143281395163066343367450133449901732732350263605803617462029200393990053265211380373350107036494163656411416332489895028656115893551799565378630205471931288728183026107396875235940187487466034781824370354925308931440966655072530438767627283599094255650856868117569397710903583328043537278092828224264224658659395905786495220897458807741084923052361573554557282497723206674303400890940529592842939887477384067720455607987163714206023609609512762738588741607766951204545258832871712729237099507414961019883688566977356203390342798781817713170235078140728191599993814602172080463871997531573641874064808499967523957178660114401395070029694764955825707333609321701626534404126089182557618075564013683661967404392964603662576685781702865632944268417107993229447829967229907733082030271150396056429022503936466146850952012544975688470529809352876455662364197402430796022214459369110416951312707909634971046041901030734248730992853133496115566009318577327443169601985006097555334357601157441924199839148315370379935261312267992553525372494326842127919676728641042495229796668495707076700567009177165087981491070336453548376363438683970400338094557437971034072704122277091952936433908405494300683639434697548052695590622388382412495880731014346532665674839149792938078546083878973729938248255930228990559784119468079736075273656414636804977399839690966812213499815803282294017418237210076409985762167318873869614256625599079503038707798041054299083545494752874081414197599654310493410314950141847983261059447507415392022584854343430843275534740862135003470388618377608483963930220118685111627354147700585622857167293134052180267274159561412350826690827402988894976674731181157059050124615011355474925957102100950021097389487908759935436962083087255563965086362083501961479688679118132114722886188217430121293271930798303959543043766094143579832981794962775020218810484947008138874404159488443442451941827253552059144655403706126595028805978984938126500307963856445557202641354001322494033807932193822584194438674044291334086789512022640325070600081387766646164870089556542032848616561161457140657643669432695119819662137342301636202801413631039516536717898375352704602898544875803198851531584486681135967724371417624882104283293674989092868378512466771876977902537969086901423548048284041864598917002739076820339545718407439671533123764120999340820836038012949658868638070976136940892689138036265339564087673868163226143472724652201871580275753420088324352336305343957583177883335517595823411300829501868541311306407407114998030405485305205208882869138843410104575513778444976811363014015845066262006467561229071988143323614535536233530697774529983518431300072394870829473884160576923030027602376525490933009687749329565036183337989143113648169659041455273359165593272195454593572462780706254948950048923205410929953827419844255031161096391030697604656396056742172106693695419706463428107822384292894817217763068200925167943246196904843419365510481757979085799481361834055853157499308973735724501642862034750899528277066524486888449351914719515846189569032580522615517201058053702994747330114481116112315306251770385627963876035433833873752412355987650759546440302190834190281009110346733826328203346667933947765673726732826941229446172666472732420536438489135877560983362042119944791903564776431630577463710319978490667285995015816816792482593405619767961324998994667715918233977132533981565540166771933361828250052474416758568295037969873351705670933937108944234207489439265721416052925489562819740954674754076013396233516606165799467595045007256228891563801925710908686340870574951657473729552976019173541296796540858437164304270297226593980975058220484410403192897694461323861530510517723533643427835789911878008327713268899677380786278222796244609526606965129209723687841432337538076191379677397896818206119221598892898570316898656166127658798075741779254461025305061562986608264043738049491197079948264401349647424149382918438839518536134781547009933144078831364085165135548077260443522439067525169179586890263798466853941432122097148125372225985240936736171297815288064003178888594982513417880836897463055397325625929860814358051473021963593006763266819826250551117258314362460116515792207465504293506114312159758144829952723877714673066079813697075214949912610484161597639328019604578511566564462289934622259615787700427479349469381385625274535499160151637655954659714555336182751258342966237703974465593825572982446159577201371107978674383634277281900397792202536881339772479894131083888155041974213738921825834790616064036582781071012646971685249248472606948449911004573020353695316989469745061976554446524885149956451177345766372552509092817128216355893095108669426650130259405897379370102554961327301111051954465881256939236505863825946866322393840541227827045797520628011238606171860485669155870029440986033608734337724717785107195591718045155463112928897413572842568272662783755342557429586731488308128168225499292761018747817847845856735778627440233462303602208121659015165799138215803072622669585559210932758153333998914891179350693028695324294332629143614168159912120069741919056164658939609070473538029882532683105514676864296732885299967463574122702175947255054373388089677284699013309343980589798536993577916607493334251183701705672714607937819424310929672937069464128246998502872452355444528525640481938119279004937454429358966173874678612092648856215718258643209979881623994035563620198232857642659349900035760682175748940685751814642192025738433503408456647701405171261021766011772014458708308994090491060935009140539370331540388310636895857187494411454837794697124588027724332912405482649341392952996514351262729414273647374332550916946770162709881994268477118107594433300944938407109657279725428624157404298465953520236905854173766582707536162456530333321314053883615704157926616632581416358322880650942012593336881097706825129536045539779113895655833423280909489676636647517291007515278471552494661155754829191852658749618255169081543747024529473914262202554907308374802544967714252943275030547294814581052663252694625854066729126632364009207588930859912898606562529613939033716585105282536043255919311943393562041679263059508135885107924236859003549028515724474366829880519851000711493124485081685750314273750651319170650198484422901546929670798553922503471806205788877796722152392771990257372972561812734159082715530245425680582577818727866582502853527870450240489691309880581253575762552827033713766873649016792719524843289961835410114648285085054446854877595936856807194178669838879096309747591519926107006008522037343953251213186899201192540402928480334257458187231433105197723660852214626959036059486368420111452515866788387107897181719307539371908398501003764276664542038072261184301139981858666092921909117014967898384238520860610106240713174344210117809365667528410254450898505419160494643910173838496196904148692789762092305755160961077285329637526917622173280401915583411798734127194608330385598690154854143348696270540020503186640106282478843769999875840026401788626477615290326372880630348413303678257683083726139414967053886513419560994553076746327282978508560271869941314692308949642424435842406072598106474337034103923256149118591596265384054224432565903530904177410068676516131267131538023747069903350221964340144108097215656122359615803884114832582546548591211948494613686656446035814228857424674264589124626661442802246476598536337602560825744615346062253284082456416122525574787570746658846553018470416326370078390845342288713193258708705309578771808134014195177912023421378917259375101048536315966190441499941389988147771150650608871288004472841022328592663512411966165208372336713711099934138228012246844007992882876080452694968283058821100354523594524803023593758554034658518206412632869192556929792962665350599374178630608783741109441752736977883792697469455401231971586757314269081182572769245012181829032375470473752662800383935656735799984597116829302977327688204020689784856822657734393974925458648872812814166514438928319194863180328896408887820605375375676545533088929434709679561243776085172885042699082638079689744015252819287092872795395159737578919503989867866556181167748644362939859820819352245839877907045174589161095160421903771161638547603355743864914277331497240733292054167331968851661636425202570192083140989255218389233922910583614799074628825092558043997608540226352648363251861636667723353259984156742601280963959107169752452983659237114381191097466753004955984778068592357541386430313929331346456795280854472691078759606617365295905475936926646030722693295710448884784893951289513533073204136708701710080868707783487503590727916533545128480317578179857632378637658342229302895978264670030705699675009053575857309632499023044557166813946479144954163761138736254821271080109814083580348808318766728606830190614015749198675958712091770040169937427825500197191999555074169135812398545878931394123637622704367245374319836916286642130977792779037551209254593677248642480127573908016955712165191831725262323725277575727559464290129434253139085730684348812181965982613335182567999527564292754146396283920192568361093659378751904137295622441711921790721128679624159030167292161266011661263313472496078346557106429749130818255918719898682503940138291972797391921226089795670599312591528827631608957056098706883755720438665435255583959252666437003199207030333787094170356951487086650023593258569282235511221712316463437505333898788424488242197573297779584148260730557016833317666529442400898429663554670360641711931890168873969995454911826775840065934054793188383187555555528422235709299137144064840945272695431949382605773019854212771448411167494633659813436464363986846061634937239678667744696959283590692942577061994459660257210922131913829657805620032441348392176745351406563396276508055435804185708920727803693896047583112211051571078196029138381966519830704893540945304221151186167539954033482517229788418618989514131420979464453452726899047579545843803714994491137599200184553882667163718174630746400036686836052698302203472339085218014685314699525381527454482415178793451277401363562806669058475468962289170469691094010719410764335361078440185758938787600911160413378154490040339096277211709329662839015258182381714420802031577632945983042425994940982746638367110409092770112659668295735018476138705708331866281532548186574181097616938181582582852776243251198009210624064179948919327955018400960194946247349634573223190216290467257161379605641024983481699129804873022235489789256060735503484838828959612833614722240829539120312415905650284267867352137680583139451800201493231212765959999550210627339370593379215185210306982979536709644015984600880298694334309304458425302697856812398776943404710244773890140517002169275907447869613086269318863514831254158648316021418887891503743868281817151782008650494471313995933247891690288169509553770009280884892596487653188262207400568887303708960880667142350689335420129905487686440990432356049168560902265838176955640416832220244602856749800541609126623343894030022901100441997293185592569626811366142164739492186945312741825603438751990612415531943111265964975854319091364943589397549281072082917792599468065029233225034852890822154711239695607509733625469344438885195095787735196493813093686649279247660458559504507073951822239554073111312856749220676034866644110983897853980882855169045489290764707547423465693003154352607662048290175254936922035681431819225218115410080193138689768609187135697427917775121852529261772221401859897624018558917454361039589739088842836431594247581704808606709159669489828836943184603266507386286694494090711719598917611174022085653954808410533889135293523828978402325876428209654690358358167752297599523254041467418495926500670298000956218424884459146815840035143572535843559524814134829832182313712164899196615216741395822075359129186051265640876427705074980409013663711794739561438271121226163138000209222965826880173225033546408243773329727470093840404306040512848838191210694120170131891627403910999639802089676866079952776864815394537732339288745253758162957434000776470931183045686520797655231432765312488854509999405572558086410442730114713977407544286425378100659324647010884483302454689503918169888147723586313637862159015366902861853481893211101144317984293274540124659064473278841146455896976208359285311262640087705308270255369181358362874533503184766897286145913956522450491604402652375179215213124689727086565919907840622774049212083315279930159466241426392947975236107259542688425023801553473492197408177510441229342973790052113100068338418594071516078529009294174692610960355857965240947818254337034405733259390709935014137598859991252029373027908155060399366356790473986412492812629872673122108799077683400794185368458743982935650287931977638381218713276724706028470858694467344853282231179963745257401679033408812502695382099055286639121061862518994210336837759564888916532616003629806964976661994085294044004683976399699420137381793248075333219279267076763323240661340451088650085893142547250882608915160045905300640329268844708305280804602970690565793820070666292038202648340504903684353489445306922778877806567234641142403799786722562747582783971470196032027882136673126470627838208373601716563989733838829921171456733151517821752662629246669385073949562899457767960398834142192173116024293540528147752960188606938019018395120305143476773079427571953215688488671484947440483696691162581572574177479805366414180888867046242549831458974563017355583293830700468635537551213995029707001721364375691710833721026619199914805904702252205363714336175873701518496929647528149892095174606972913242855033534774795340142913591564219843786194731493839776196611280127435972695167590414213448670893845014585475577121980227208631026252879735602380945677652322486177748166224951582545530515176138599621346043503717046028882893580275524293712100624279450220552628965332185602191092166397067542973269907935110448030757449161990102257448104004661002252487214259205308991734699469009211416842162746041785316613214472103686297485700813201099198683333056579571173592881853932580482687793223702150107232220022489188188890895051999123223045369400300773809695931259860251386575320582988569148172358236279781865188672475445584432181242128558739108756447108278366737942048726074009174844178099334234117186014906272388037849958336946368527354782822356149681338333281977871221962833068431670999832003756953733830457900976084101519074422500126283050399256390701797883472409955874696040757678554082837111859155601632603023627258210248666379143079167107659697287294550450019040717325893170810736159313480622336153497969839374694820489008982272575207694146802143351529582097366966056720509690898388156857952111394970579482871621509523114235568312005483297122532861616899926471622991321778485233716760919767492673850235715617602972774506165122551374201149656717789886474968769342869384517283413869028684944935243304712753011487497053665619811065196564330923030773616955259621131629015496157965211036710780655401123805333823208693070921451025086118117416995108025655353586006062168773971797062061441508380710460082000188703313837600050499008390868717779302489521617571220771187045841561493055015788330503636762669365812651550946892735686671238135574489768133940290019058918207785556749224379078734159708616636695157013217057196226984700865286203613655187519151262992734394255882787118022490759163634581009387491123785220041021605003842412558929170028233333783660985538294087710452146940388053993133488023277711562702735760083443127931761602252415224362355815582608943402621156569172277949814172415051161277274935607437486846503723248275339655344748984731992241571922441404670335047946307788294429228000090589180326636763182485608503457583224029573456247045324850991441750399029606799888535584317487995141196641767935376361373716182552735496018862238440170907009677604045300078087257546940768303954724730496651562061699556248133582602986907238940721991942683344476269135343113831740795533866228460611765493882844553347226187637809340613166311797552070653150431829635225168431587556249693944221111511691392485572070446566173185406096811751932413405642444792111537161837912296037257116218790112642926817917946466196656783924703532149474800380673208276465732341258843629628881685756256354369273613026780934860136238746482846675756138046459257786688881049280712675522190930705357712140404740582118192680656492160255097174378945421944532477641066588094802990230602117307101718411495109577568670612986123284072099064851413716380910565502628116731381101564833337172310276232535596522147362032207963100267695772526252094889905369572516495518403112485466579978501621297851199223167244379192921419601505652835730204622625510053924399110987533915705507230490273517890262290869536312488308120027345420003959653454609572716275723241364888035575116465252000276041687434874848631704609953930306801318258129336401499150980545876844934034687307616024320992330911131014572430215342742754873450670335997892989462032376135975817515192135220110791289408285978273357872181301997008980342649294291504138036287505260777797320004616694400597661309457306172914454847476236741903085909838928472694186882364086947751884186153345616287711461179073031340833555573283583942368659296919508196959858255703766329019832092494344326982584246954935863985545298082882094737628502104936198823959347792286481423127066727103185865069884640556023279641919783385344569167786335834456685224965978722092050143183346230380012701293330133377585600850114881324147380689357597200731033460974789745701064559559179926207990496209995946925945801051004525689767546614587376163134345010685329224336032094226269415124427171676550584969134194885882276269637281861430958308284483011227397191590143554241333783851301205885767896683393931905887488870249682787023147978360781451784066623636405520306243248319035075074555683184938262597547033883043926295978663056808264596316204833625981927244024949868267087500628495808759346350593259054052487747937221675462245841787064873073323095328651608011479936685756004525592502117907725778554988250428902756075151133629335268516682520970050077900779992585523164731592697369252863257465190016716721235451659882773686397138789008515395592483524809837366595995150155993131909272765398394384446935358385783502024584140200657887266811798235681976681530470680056424189449417481850702776996266583718528746898931216001387252594890656878801907161124816756168265085379082886903561062532427138662772324496302070983928499359296218109609103648254200796915913057439065050879850109557807923470937082318732898566963080917364682462999577895053068593637166843918833956302486646453883773906289933303645820176988886677250533946313621143446817198414839386657498522204455438863159617000799763055545514381810282744764368744501256318698511904407217616438740784675166508735496919995653839593521552444662277868169705964895488620946562002461290779899434389336191956708872293978283763122590132072780609861400614432058354068795666336510434047077114399451105300217987152877680970615581843830277809857559967189649834645135532404870315917970837436353737367180984491804468293880730774276502210107952785801554684196852718197227552369275403112163116133621442473611843121835437827391423185306530183717481451556059114526714481817282973976498330580011011691322301458154676747724268734750876181925872948815342517430802923452638727549732087188384672377809089372434375432246338632361430204548452701659730838666059633353323190040739013041572849206101852554160474833359355113162285996228021021010555326086374803028847058964058230683426440593042512611654033932375086903928827556862500752350057924319964111013466739885259485663663098230478479584981029514636200528221321688485545447904994204014839832404709369162223368698300518235083854763071555267182740271502666459740715898920152076341236461873498613456077481240145255325362964909871002722810005832264127570017543082447392818878584365942937942807561622583110814083292914541628133965509814131721363803044136348025693914172351725903834360304025532439378774044367530056078288720826502049193464432416971704435847170961067458732347523932214038756706197511242663573133157971543529345794680837266956068346306568527631071351481396378487131145466662906883485466353166720803706462459733657181345417403982163210441697461402816290189646343935203298991308597029610135450896089685028753182189697155875122397256276194530443664520285392747157564384085045284082842997741155329453531021584416545350877752392235859995711950844804511787254452102241931533918943383659249934590361336683724451573858465078509681267370927804236739191837633660641213207084880426878865682420377447850670902433653233713516794664419660016906696902915356220958926557025997524850651534077321140404698806650954881142185667253490606566850092050692582124970222374076969659911571679346670348922282208518205617570269888926189047968591254406157388484714234513006877924219753101071278683660963487070351076282428905893714548615297703151283533980218975290305234825503997579085005752002966084412525612940466569255126235608621535704772923568793965439621926666073926859678396157830729729483626495618550189959275823856211327974111697768090762076293748777216271204742638282227595356283157892227976735130739032369870275333969611113516342943436028934024303632479770661354838420975626982610640772627043437838975916365769488815461371518740120984882163980525242859641136914031986839634411864195721244660537515096102247303716002353628776797131441459386499013430608812608441763514213690109226381233120177899070752403540937917915147136035551415367866110863426586998391207274224803863940553113914641901127821579221760973203420130422415519880188638560009795049061348727939922152129583065029687906232349579099771476410709237949691918885917347609151448380309653788163633067919603270059929695084005646081292875425992020133487634621126160994442992624272736312305988280613001868054276984612321610550694286882430320111125842392663910675363316534884910682007329976781921426422526956627112313036717383216625533810657441651251517673738109021176899111382711403132239763390080541800289375807418072495808746514430967489151492608819671411475521138147467053230418660699648422075506607506769895958003542569317900765921743224294288948607275169120374994838207142773689358400108451310838578524466675757089603822264027394430370309341344807388366724313083953539568869648295570180734938659480915116900369052600837725447976211059015468970975168249167417152095645518327435927694513156774135434320779946342765845113276611998059899654368402975310921027210777128000279027285531245800562993592111642941151188750295172624956073777093992113085503468031243067918132853583107432348174532074617456011401413294315888718568849231270688222020081463303823510124923610142097044869159262405347879976028601857257612419069299042383673715722551148341908232586778928183324621959333009871355744906230770264963818610877016853711199092969777895180284437563697894513150424061142891000535106945493319402576906621316980004526559820667970656199063258336762994778099427254780178242015622928024642282860961837641315360256056520699499444915456555461469667816266985799811058625691984929196692197590062273846089846486087806033583021413494359777428169758141907024230338696016408352637023541732666944739561152384942096899462544561207480623111757256380136215373656548058621243148412506930001531248690256198619707857754880591400297660105451558693361056234287316573112547528008769795849218494343193710279871565397804970609822220538063371723585592532769167770089156779528136376446966361279823503003345821896345914286386230968865468783743829359783419758746114423791382382987949693251280890477979072253605738112902494168793342941759106710342813322448565125830331365656785375004397273154525264434689317822671992641572899564046872979145790309508949307410876729537337092777351775772883367957374043637146052285470456477195886100106003323233638419161255264379848139465140872062894610568528454870283378801991184311015468186301630039865289695149073592477772165884891161537512250577148948689030030841327859746637668258207767844149040781098110875422633380767742076383040366244469396016585421528762151456342128420804370679263543881986371893395400612663399335598977551435301182705223652334902512235958482840395439168152564248932402474628789273327051964044351986117956823087065502140852414380283075087511198975710168575992714675780297671275275651047513312503242275142516391610858450305867143974343965958274623597857925451963423600760728542008877050631351008914538194477061488994953190469435830721965106666176659860652686920360799854224479510012752137400021163706989057566020809621785354833255758706107319100708435167632377002642298769919299057832889971907396108019422228710033328041877880515110881386525024372701212380618060922518170789391480754276784694701059236661301227582072539570206164596657536467583060080338333114328431543841745257149032350115510062515568828682722526120070059970389318266698804084990245375105907321156340036756548278198230985825902574505367007319499876967649347158096239897240100793862881689133275099010546831419584589414059101175705221883319860407311999701946350360465216688338598484041740416726532706873926218068031743041388456938030138153325076396771146012852185816987571676100921447493187736578594146241179722639221037277846666344698726329548770518750202248726192464576237956600966101639371674757106766900968619491169551155166821227665320791112369839543002694938727140663781929057364000219707387047071193908086102918372684711075950944848923096025598710879852148105890027088985062948490141977656176895892008596919630571236021868905685947759446341925411461544254061336468604194417505657579264373450847217394703227697360050875798892505894762459605178284200507824659502663071807722489653374411759594059225378825411445325752108015677765757522034699170130823070615874017481806425559598314142389514900926083647729801840137440689320370389646236740699184868539922379624486210795279441033344037676299557296006720604069624605360999136885201157034928308122750980411298762731868694599837833306743218395987286205726716998657599119603194571492126108805886533307386436706803120305856441300339724188748021650706955038386885326742301805420774098594467003922189186794633061530934170758954685390129092746969870525409869132993944487763857371657402030592188777245926718979443424051711905194803752358887219192720898047915977672519875068904764817013014281127121196485248966443913404335206977593759353138196621491046302578170756748776927156350286522261329549276978386154814385638000921253198717050497120494134937842690001841613809322154630809356432046191501440969509653029942490778024872308669621214353251284885230804620723913610698887035218291959858986358313890731523769753070655635112520322634005589944675562293533557750397457756428787659165730691545529455900242253889047490759167923786204660971643604720863626669118805887679158637972583379881563146901536045957112594322245847283415069369330344732929356170968097850012436536245249310193495517515433438031248855547092567014075817777109457254991601836822329338011148733285824843409326718670886086773715462277700377429021560478257388667365565375423354997719278628562528900192163396960042774354977958610967964869769911276551915851271379218674720790456373167721807026483006590357984092262502073801925169935249004802114599064064598676312656729332323018109102372186095592815601845534733038273496024828625249694569023562112391808505223435348198265732222780820078591885350330019938154145023457397170258543572237636171023402388655624943226506057327469285228202803307109873725299530405832735019242867359144127925200982880778155361594974894079731159165278612294242617583493081989177668627198561051153754353164697331910630554140411702105109508664400994347950573292990657255850249026444712718980498403027731454872380309304605539411186652834842893364884296389957465274806227207750704655091478329098187608398294987050916940824501827052654815273376586486308889246144503884341264467984431995354428712762961634080390096928157312319634899583277956087444169089361132189496817719383740017668182410491394963772512761513216772831389805300236109335646469748318233907995919784457726994339279881264244411614080248143952394655521502031677386433023157340315397598221715174554438973188019138815099989269332249421381477776968146258268445675883548289557319920314692668298483930353705849904182575754812146999045119555561541265753823211684123531213071818084442357770635386912595519779617927135404614547242436256368736759285357820349231615766333279400727749669182268402225908927266473503434922924497358591088053771837892563404932898208867331686576048736035462349067313961699096699259390591988106670020483925802023586288928345872894033188023899185182467166855331475545637635755707924530647598767217185630866772160788722923623922076855931975668641171410055941405165995747719637470845798483777657253041656662442905909414585268109571441706271189818825678413011090824777967216033034973420260146930751465606529157365459459171360464788365096334843087614613416399858729116616125133691638391306798848043043945127131885016252764585133928512970583167229970370470285352665631120623361033171621055340972608052025613086426708201877453079929622447579594570850345675564695722757017054924229597051546384344748499680168298236926080560435837789934622247338683292328730950952959763837998315400664081265824368283124666682016459531196100536144891004219592921727558401382565827071574815375129641793835129776629774864392728165658891857581484562618229607973303473748823730397428980773040874256842656666309550549875843053518065477717799939950553320853604676071112285650406083060673605343691709202365006108068032613648530386849677115914832343686885368484813263003550151302307734177088234684548701190691650975779337816532802149913892734130445438071848838260191192631229480550857746550861510926396945851449941427505483763524876664922227649654673825696252083877559993150555236989795886270806319058692476353994564223294832548268889106438617116547060789453740472633615217637566162759126476569274154050992955886928305161467832006518365013974963983630143161642886420788986591168838526910319979490349551614490257582955162265175576764197178055664916084824970747793052425777657153032231048067747195834506511491425053896620723381940094754030282336015649934900983232807332466731763710540525980713356634527171222983922085217412927213620810032894393878545981729174150463177358352365777098793052821033418022287336789658323774389776964550285200000685266269587857860051446370901120552190634559843869647586030732091263862559722294302569140761652949147424819996033008762886524768975825225331698088782411914076658156622561823293515340773765033000792217387061824356162048245793643222464714651570701524179164583491995353659318711268152836915630606540921868305845491108360991463725096410242090983201698123301855351728327274481503630085780738726377674334720554335754534763031824721928384922934031999066729403132400219056347756288176911482997119493326219646388457991040958988234266641794956334367248716346752720979565802974510992176751975770324938545457514170309730836459308465998715508087197937531006540874785880702188491117793106666224408328611264289359421481246530316928054023127007087318589772123839583475798616791324332264482054585706864326682511790702969124895372941228287700107984111652492860205193780064313896965202620860311994833070762212316706296794677880728030287929654936703252657045691867131056452545257327750057962958837150042811535641811281188080994523163758248227644299905947419503508859536391272460637237354252424024761793297813510835369530381577940092559624517381000056115605426981969699849470478067582893701904181413772357755254856729013193017305734346031894236881943777551217718219632260958387704132108149786485864587122332293419042868959127450234745997279010175231839281097970788410194989311451160554947453489384262907059676897174369678769366309948178614575143516648636196585930080123230294506246470619059295849267762094011881825536914255946086222453731054972129666220434914719904948404546559177576849933490638268894203658297875726590085398843403147741736097835072108243385961487897713618568602282894756069388425374372789626408334444679660363241362643727965966393098912123702391119640961032062046079035477830934585112608552674505032377457968288407796370589651891883855687321140607807109490884541246767250539108127511657443580490812085086870625329487419862715822630405921160661381539388617108665540044824145755384732033949236563805962807929403180350048149007234813534014053211914637208370581482210293354582479147619743213966669884414547484155762203128022768591509205683123227489438076764288703631300456092245240285354547821267908872843311610715215579342580056757158039216462370933689313455406269350377047284124351545386978615328611746693757440033853546302654929030321031491820402022208984688512817691880922351146622190163083915381526607979885397506515155923609252148362998521030170277582094883051205937733406291780038458532996227910122950823025407312094043410734220046433993757275098737442795229987742551792367920231003906730666873108208274817847794847849302982871976007189525155904120669081121350535391243094764614263442018857099943601420257887981651596412118613112752733537945275954370464251611364598184472372805918217087101588545618825191133823891855765372285267654888489788025482038008535702325039332694513072728874150722167548935801069533185427476136135052384593303272676501283163002525147088339423073310988505247907491525934904951260034442625326601894358756705127087924894141956745795743721462539424206093226505417210860438020989885604491632244932581155341355439757798436341401607428589910757183899258785343071897440025853580788426489121780969155791193682024939066175985294241018071440048076049429327985810574067711831683113872040139711137520020088484999993953282484436165207004860605722707016235698433728101457188196705708590666047237421578147142224044738278934593258481975099564814121214064549872852319758524368077152271099383061607320645618427248616474098059469123684939468889016650488261116886177284932788677771003972368129276684969596325110217524418623693836885629989163549645729859079120177369457881059143653538659480792130915937837677500494456415509593519286200535814536204714092244756935796624095832399638312253416722647529198096851135281096103308407288436408112669463229420730590738645519074135739673906793584410991209514824303953217716592575507007488479971945552457196792440615436768448788383102935616542449786937749112532812311023989971051125617666043532128612708947012426285544435980968727201416710314122343449476264969273615892404697354024144975207057318049327530082876887523073459832343547754515439881270984999492909268078513830663591442508101330769532073212798942295998660377783780310521300604252641677316424899044875596933919893493409812175022864531105991879815909700969617993845556059803808948394236893534556087245743705799984166874423617283391143488153528382594563224652798625841558932816555464900421019131537763128873639631830707871630358240000148819723168539263175683138850408691123408555138008400849171702798765654290564615181106534452237365151086440841288559804332441245732825741486418566415414456479506255457992012234264968562886852936289502101604307853548504774429213140931728194923586222964765447533925932701103630493450396730366217389400657180373558645441152048805705227342518412054476309969418925089985597486934178535869564111736280729064485155620645298147519484421510973121059654031923633209267724321409162176063242247994786587623288032503880482367373047382326136776848835180147273444691125717168489067021298455254927283741568294386218540994729368751805985318624552199129232196908029279051680212446720132940917667241731446283416200193172952196009060954412419224074385625381884910363746488316843483715565338420306911841995998145283848460983043440308197055450743324290464682256176369041712462701646554203730617998730089802668696566962799767288196787606361509319857599547138952558825676536949701208831359907305763911298848149601619583468000056148509346987822671450442470458969354320004171040560500551547726857362511366041574276436628949914032276971552917144572722623292886167939248102236396142672822858162988816301895531469845678562426187804647075174078143249771508730531365836089572401503989803982961762035159391054876558549066012237911964009384404738134746662893060699837514865896414300579872200363911478679087145327192797115385441306019961607297169461786267854759316610408519833715036591327105062730122025124085255773923938362601226980402062300445834755543467576545884607340041155013593374295064930997091438439421849830400192516657787475263644168132823352284874783624239445322128632879537291377782563761538637324451117774686408840497296136194423181374975480564551734052368785154191658953196810453771599960502544065836853410646911484657941463750498728067310454012995872652116955181861529641195607859880971098284044739618600461883646295135706416005443772361701564309472362936406115203133325537522991786172831342909502264710917045226373919566109010498161968043772149479709656429372017452712433316793019138174165382499997630427421986648444872952056496364506332879423697605821809360440232093986727505509735908180520515037833704625560026810522329937340491985856970308063787903013300889338792920796225877458906340896729224636548390322209229111042434362664458064799299458414949708301525243177367073211598660750824802120440043965136653202643927823648104359975671722600731375060627521571086779044813452053486126493440908192257814971599300336658774120284175586212598856405858771221940652907419943230346947581295398867723545491153696602404020461001617142221218815232978363620137139865949422649072223009295873991218263395067654359103384192343184988210966976777298667408862716880617590135072302680818156239142371292236901308291875483682109102695071832734916979910401794399960438417654816243467900724727641998466941288302444753283616420157727634943224968420627509193317677887368048090607583898752257461406889637697901850570811577929430663717021717763011954161070857771786280674740284761986920026068187953125241769510294397748656081765609727212447332793199427593335077902789392181252703018803443312773111341267092264738793666405485852887860344459859870264362584920431180482846034323389090370460374735874734650657829364610790417545924074576317961894750849996757891360852831370085823207350661665646782892574442012267535478381203232584259202082363328113787111059631028058842508952987187003580665511096223389923562112208812164034153438916259587818975938764678169733832787300129925303195791138193899938506818545808284657799424360663342793242852518246465407848837835891224329789831566805914023470180785210875007193555314047185908770050511185346444631759928678654505254742710511614930831644369162971379882001663194072961886328260318871084727168355275564311264957983878711950647304072181814778414626709613557388812946715678596273868668582032368174885663578393586568474012632589448769475474361733929525139216027221260847273541749691789423391331285482789836921985454630424200544337771604936413959100413403831198508615993101687857016640343507447465491111398424427010298166685354530383411136084331464653357802421620811029390016096871968135595749589026300660383556396577060502805610736644288520420187431658148930694410401045261552702888760743054279339645933477797493156224611005670485589502453812808754960446649960827353116592168228543262265651412092777765807436277207276772372801946466266915486869153992227134364137345828201591779614020220709072228168237001451489783581688592484778544397629464161193446548641578428115986419273349964646276153407364883851642122486924200849677548737104342189723655102513903208429716964789616996949222829081380132217126024358537702284803893515701469139336714903019931580780873561701278867914580073520500722353875509897209310112624937791428276504195785479170560310699257916149967559718977393202844335160624265122072184687908472026293897308440793382172609518600966954838661167169427415100020367741277586665372344077112185930130680963378130808575667406544364093490191368736221709532986687658927079651054575656855523702579863188673152154200947528317853636587560164703270254211764139517376974426264860760081189904684612928835341568158230625103055023556355817617172881757939587249581165778828561036429865849406892390542025774448400275888407044634836407245150006074478276473495750613440298930910608752093273797641331758581111381357402660812729557015564320659001227509989965565194545034584407678179904576112215891598900721452247422246738571550374283022770427572993430798392371794194367651839917750036259862223584561616617030307121532952044661281232270898982408766949809262643891559620398609288241842891648127128687402625106351257460727272145977120387440911971982249322329994749380384224113807724983434279757103918817484149504342083558220972906544387289000005202508383141964687483355354225683551782077716492439473019299431050763219028486076566411292416430290675617788274201702376210099150308522809375891519869940247461928885250058671504139204184467484447489120537052943802127174048564334243664938636853251356699787097345244073334154277603786832998449721937672207159607995290115195090627416662338584120684506334820209801193749498501582021016869259131896707343318706492117676693738464534464374408481741725968543038391379160854821551463892741040643843481037736804143704318494636479636612054722161595814412201726771985817796391187927837410173303343997037780912648291976000535136451028159738240179038551632668864971540542947812877842685075411616570776398656496637208584594589215373808940472819568500401825606543436242641465614659390403538176259854593140815321510001998023143085099169509153266886507283226648613127499670636933182655134003575406830404049083057531314203695221846317454151141282367769899694436375275022870998300577581124666292207595431082497459850094322586509374672536026555269710144907475215971078580378063151022517489902547391921333225593636150307088072539985973558346941546175311222468772460005587648509380657772431799468878003318267080734992074143028291545188339399387175455757290203326028467547683487138494608545228242750011151528131562360701279057968280654907159724631867238770657291013771501129838010670287537566111265151096733045897328295877864936609204778010822278275876824735159060680788421935441319339477649439964201728411557695138536286049959452319697202159364337165865408052722437316856719547343808872678737958214567999448625738680895902090686081765588960189134424499602816901613528638237670324737907285110019500049563912655327901446671539112782213091323076887243641031561800761704281791712297130364374241412623462188232921115567907271257869357490280609182386816279740461675162905997601717368172368322328622841809692567592788880634653143323972857634289969057761722441726381577174368439420214933975810387654273139387914649520106911837805556558900342679968246199755777528324311388467099139700119897910988928038656614973679726745977049634129573156897036386813423515372411930229647556205090158008799622008128242261335090340318252246498315200189807424361133843157991902090764922527086019069898295558977057328308328662885729048406498113269521136332713725809580747239113926148059130297725216576712551522614763587182468021319766660832270520533280175720663233571971668909018417814603192779358826290661940592335489997479802232667083048145257301001722296116329853818712910837276738206087920944789273688274348448981157514804779395848886050923358793723059757272729899992439730138984578352683982041650880241551215467791106565381065103319031456339218671201754568020030043436167624249796810205543035566269340043848573319647786626266856026662907230724133076134260169622065518361234679587829424865283724482792149805648939619493622414935059375554424781435400156072317822783643159788665755223642931649273278361665364709048645890658745203328378962451986711543052866056015010145002967597070333103715057640884126930280514481543218540821384119282696203648828693538742529334166122460578771760255947858325046946557424396805631208903804296437517700716058742310502181944968370381223041096296251749158559275021956228987663340616258897257219901445432975813769672985193037831018112289023290416867637320917979219223478974194585447417494030970680079960127374860661599225654597540252863940843325358039277894377659823872554147920822189251412836747984952684576793591947453844086737481368846913412050822382029687999484883213962645742263078629895343008487519041245054236737157625099986484419821189492054229875389775798899403821246897595426379718042346280093481237539620978514915325828341201818229678460503803981291154121433194089964940512599650395006940240873343310471589348486334995297484003367435202724419907963324235325864809189720325018915741972428227328626759166993596445367552147229559693329737424424682217863781559490424138814789790833577838796628124989591477354385843897941857218175919575438992017846933891378841763750255678824822319624777092267058462460665997082372083130342214563771162766533418760641724216517477892839653379989537057270744373099888177045766575045772097959238594853602333571716133315203998557156759164039099001851104205690145580554255751873388615448101507791966299379435908168414594485916423309711820637072436553843226124526472506677327261316584333563312185707106231786232664359151842625196080297161840187618987176573169850252257712189498910849089685321329769989654032560916529314553848037956760430629863137695495572375010105580147392332685503696752812159344313972757506018891628310683355409636735880047322644652737307478553591044577623105771381776282229873450393818988979075122645680141072517002473182289480100902823379126724314624321639573686917180790685624584803009440943360528950465949766633531496456707481604089752601268052732807792971436729827800553774849036810149427495901105785549913273172525329951274206529137374139974546106691781097215617063501564709270560179126323524253092269948319871023353486444924417606233882497508494282355825027217048737593189456514039028305354595886810777786635787996567077945557419516916109988860569974432873090317171847925512413680022715899246750502099018022715155522794686139281721430604948566560060810962218257037407140261606591244757947567279599396457115880559970474704133184678702465780041775543306153753466868438762739266646262324211522783677768886820349942947589948667469033190157622872223461810900609795094303157150977569597117533235060779208429964610983700322243961270672095977637050567431091622875205797029019862107748053320975388505610512027251380197554554777401983260232120453097066624224641908104008862374185810426511352090878615084521739173192782945314048896449701044809252501986173942863590979828468698668841646203280581202437192842299148181848564632362537292479274661062648400886863773364915770989153368694812398124140254434547713451852416368499264109148603241683287244859381332668513807441660826634284546877857979794997845321028294698262810187901985679941814422853373863047041649690991718068925614757668869403092648886069885635461771882770388410274734266142471230103006157938736852102438266054929823656814417849210660771101053588649975084708860568684660645291948403273943833935086837937556417817897750779626332176775718678966602886880594521909036629178603053472374821005228100156967133392390112491251332127326519167834701871231922209152807951429187640509967096473822032506236608681985767533391768895664074132244676873503296326546597678206306837052288316830110039600775910145133468859291896521814700858676501149374966155112525403042015093555615742248727447599790514348263972853354930611692407450994516018675665717436217761666040737237706010706605079642003210962788533831485807929187880550621161259136892399976867533379130140624820214070035877965813773763752759842642838271225172787865883075646735456398196735741632769830366001048137556274381961778386918110536465453060455367840919058543828552717380693064194304781543069520975244456784086619805483744006159502390810422475911565646861509370643368562463799099236698387131089025400534990957736057214846431983172949335065545817473718284199575961863587239129301768089301404307624889369687692771038321225468117210173599620584574665998662810057325550729594317017149140905713176386945031324378387415250868983478045575266488913390507801903665547389352294099303859312652849200060431981140477263501986274597674601778389645060059302966290166845699180323719056155564032864628086082755106461577706657357626212909003751604048014196941703194650263317812493190930761677311499960969243650719800453574492219067219181379270880423330622763730927390632596491209612086653579525382656494829047673786451865593443167647969297719338961141966082619015763967608218997237652711303675283331383232584264067516097883622185595369355127791899588293479196591642917691231949213579417602489536966564913853498294930342320677204906015360791570574982900727784796091527504136701430479340579377336657064092490882500354257366948290362286144891642084414457098519855725466830450004708643503585430662756366238594062814573183744150520948652429043623146736073478470259415217414092207808617499045508401623319715713183972954869453384715611704265248066542308402556727001919467022562739916525957750401574787920555698014016536252301180388713810186341272461606662967558254300120629285840956382343435270824129914926466557293674483492670050350759443167433253542469537995017231168770166304014901283774268027171682816937279348654838671579314691754747641882040916954002761297235208902575003049686892302365078188261526843933938200199577871311686232217154401781268847723962780286100147096115642375712273392911775130288987817241480922370529046799391377516324049733900171434302779700552325835049243453970233567064960946607854225322178966681193680479305643529401573040087460731981234600911818608272869855133546164547029023238967904162066451927230797757616609117035916552758236916407896859976504501091290423532956778551321605691301923475669784566524126058062813710874410933778647590054008872154974456676997741158633202645425673055482067297638602530241531832956016454595175864916960455980353699644035672406278567237297248045583387915371869615609901861539005254352171470513353720181080264418457996980875556530149402636617213581602402555034757983419602752440012933358788509870660436739477294319165037491727350486646360471749381860992298493009016230319854275438742002233085153725731487694958519429919452071070110669601177258362380463199724866915254796400945050704567467888649320535290661919483495884799413872725647821912629734516402221499083499867749677095843125315370097648010736203722277543080185145710103183326899729195583487719917700944981919377449440423607764495105510530570653647814555778550151084405288700229769470117261720371869465462171637128368995420219005891010720741932710903424548246389341870763744794854980760833797330446044311966809731403578474340938728170250606580516632513805157470493291819926205367714661569507487533964675527440557340627469065286824851309026633621812508996498385568395193387598027273650104331166340118649001428680306505514822644801923423862845031836444620148625515482602500745209913006433566011187002186290519436106959238296696931641996790376118878457356821593014425669604895249093285337535487556809171377677905230709802050486632381689742065160565831931573391701159349616708407235457792597333980438110649839151238759837976834303186169002173303849232550178240012109127848750990986201813327723157924037319387662167802074996076429095273997335516116619761578291018178384135120309119776569529128456809349269664008890923016790119969393787921714618550676224403468444974231434121943711426038369422010069336150408772798673344968682492752307104178256426286448950415973544831148484699399974898974772017033919264615084428082047321206485414217230494506093617405051284892818024356440812187536906461967072841740104524993797503786865579956210626936331359653564578753823401289565314393159361060304058517832550084186179303361392388690156310108040325651115896773816801093903882889329775553548773574148648785030553361171939560753873949390404476119539553092701555767027112862314831452667403822666495347822720185264611514119443680634213021649042302422210565972494703901862144829224920162657260856780423713574661549671942847637743308136800446299270995933240690107469042663631145097282717988358993339440624651173136744878182958982765813530307727898081681133294005720933893589139950686500915376973628815374199400184715589085935015866892972805163559283294782698448201442443520799095772718004521408416019273217750653427803388253767335013644065418893745823126332145026575066694016425234532578208992473762034171247846691699517538604860740506332326010481194637955739218240879034791663686629209031554976558321763201119538656730418393295984366832483021858092911486405010986342519096450828356818642858211663135440081934494622355892255040595774235353584951598419091291555529547274298093487552230587175532379479645385175571002506638016640285597838003220101216775987427931098236688429936838456165194265627705991554598390548208165323353992113485370219471636652603958710681359189634890927034345129293112679689054574831065920486080788513000099900695845131066435576869190510848754334142098905519237860456877298917326859988237822760077726279764316742205625390402134646695897410739343606063671119008127776288443309390982589028503423866930358311189227401403599336071251631607855494691180020895815809346935883989731539003771488337940235693908527812574940966327689345603725143710254103213841988459858723863289374287212989140211708949167239624684376422163736047018550832610546113275889353134778958876009012330267897763504960201238233030426711717336743709931808515402030010526348408343972238793808797099925822227638766282997185780059016252469633319421061402566583542567367202240052906584986797625026834749951605722966906210410170788014702249060243373624098135262603359597964610231432509162354861399828808920327058654892560555449798476288805208030181021877082196884561851278604781010705878641776806409436347083735330140467742755226206129951186576993238127635678855908101859493178586076446714102786233112912205958096675797058928800389974587399159793687795040185439180363100162547713643663228669603928885890447347895191076945811048945051329815594142495037360047080611180763526031205407206222270348236890065241472861340930740448012999805797815294930916722144017643325910113179837829968300389416996721809211313985041300720145368936027897837679130812579431585891666149126465910889515317491648561763948998587266805611639704114618703271913497700525211508874501797479521219607410672215965260485139290702276778468743753596133871183555004250958340483539350005643879987991601086066498774312600445433077297948012140542973541176671321463378273535503765390806892678820855828006755453648030908545273335706488801530068242962337987129285820751349814959248694623264340053745203171534438271090724123525641649114519398884887511593472740578005039400424196524347981178632217254769483847770484179107635179884459280281663958960741158400426065781830463889436951267186299697192991268925085060201679594018277843235057962088272988181380010497857328137818496702762447279684350838618339548144495991267347458541133208861186660369793849748151676291880514094382394097074740663217003053464434661465015765346907286678449324468091654328774555216801569065031730097483842585617233239050567894798663013845256565226638718308470214912415933012360096440700600019623241613124186335101784809237861754712611281504697938159573647469134478829903098691298497041140736691197069221129170980621026716999268345636457253305189637211242797764753286854279861646129326997786645245575849435463374468327270146306935821366515406760916785161856207270922684890856226361102407024170400288805185168759170210542443635271162918900801329691705928694689192950937065030786228793972733269929521023419431267243916611941165656383259706112288785538417224525964497121371424642332160519816230986749288319425460997912421959824210699989403363820677524647424860485975710758135377731022190407613185161784747175635201838063030436634828081605088121748161457796954974795440164624910469211981772424049511831989492415417314156454103726140317663332553987904887387077414667379367362663016892321881963948644995425136305376297518867012082403288589472812696840401296178838693751626301790401667748000480346642677892565504877416436978214321993717512572965667826091216410782035440042598742826841136319516322705037484947309007990248577050397101553575023114473138374087123987475530647227043110208839385434583562000972088932136188126624514284348030007525653058665318980164861811300187601611610004359657647911343969197641401105536448444547446447804765229419340406699277416937247690865305936422028183019219007130480303860041825317925763289716488639036305326506441589463877655804110445958723299978100272403185675521524283647572925148226815256116184685149091679876790609090764261540648897224158993954977865146810203515433270682808557669150420680922143514929924681349715664490485582367660518710673666008364626524234670545326517814497646845952029503740014627145962576874251573448265965996993337323897642677862535163675722540113978758935770656226590718549540361873239113465326624566195450453348285744464274595479921596184298821674716035588735700920231548844028710901543375036624578209706730700011430439752568576465350904579556801075652332891417385229522159176890670054190500981440587531436695350929600436864695100610321982062394918935088881434533894065939115565651295737551681292775406212236219413139553939237658697567817067294074875014296707163926046477407298749110625675643028624279378902034281373470777333916079357734456357375953870655635531782435836732702645044378112609959586101868328102183487837335678409782215239355701179486813589023530988344256389615001348675809512247238893144232419675556254633835179005901130570994865788483591221336048161090582546840284327116643260926046817826537800406806275734768467831268573895072282031335658333700480765015485841852323310328334202007486681115573677635402758577395752472957780220701646186818730008075465697494629544188487214449694445566971282242200018400774138492773073814823039887426759323834511204346707734108776847758609548668977741418014362042443615082440837807293446080076838236570478055252887167077228072838283460731472163721038174972585721716120353100292115931429219695449138571795054842208156772648867705582403018775817315906777897467632560546155032082212732045646695589624605491088771294240188329845268645851943941418083645538339682287116515945581071200139872131188874052383278247150071013612617080902304871220319742018769244828075036823880008825607119735489062965590875781216185429322004099394574711273064624210139779230713177769817062902991367977574730859235466983471617214665609631455774303575850153726171054410492415111395641246491717973077949806138862005755504852988852442053064467354260586970779650655037866887478057733090533488124526415576276864249742862521190639942930347512682547342855656267389452242009040132662148081620443996243442492593201197558100229086698387985207473556933097905093356534336677136155233480117406278782081272037561945387316990259594054893546469266341558116491418603367370485107249111535587902755534914447894996430828869488916454644287800298719780687466865107797667044264513655205793082208646820367682201406635769381210265554532814443640843773906227079205580743476311516324259502931080602972939771661629873689269814244878076538224769645856879425885582322312747734803564135298368437159542404330225227394696423059945674157253229940699519334616873209954114078901596023235255106415305777265662961135986811594336209376020328792385822117108088337269063348139950186484418498400241807255858559186928060216009516250884404711525516003822965404952538319900307506318560254526470839841046517626015366107265922167280574086132768385663120460953951858106479851384882042738258869184506176859418685147181035019007470838369134513286245418686346737548611100038255760620297680820509971116196985958272526440354261895805342091674326413681848384724125244582434498291903184827933759977781374154780723971055768610930241298132473957421144575001196487797093186601973819181095873054205915319524511574784772382962456286935296059995892809309037745965621875491433373103124415342237469559505425290339371465564644667914109177166913768020801446297020536143263505793637053412486951595765813855327788694359496209042088840056688287993646117929201708375344756617494399833239275297330597120865083280536752219500659359696654073171286921025779471532657292573119068936532808436415562804129987029936380039921030145263538874797087692033340489785235771101969637078943003842227075104542574486535666570365116483299607179594843890550045167003846708319264158704749454111726713583424271441456707296066963627716795970437609065393851544567231551655299845035235059156930774905433382607392564999108541543847009727025469257136296283990331397852013415361597381989326482984996131486630686437916591961837275682615383919807513743533544376314066135361066617345035653303049185087396516754489715920524503306453769442253613763315961497140909297147127669071466039070293231310576535585005314599351697679951327345457934366968600475036623978761984444985825325063762665405691856018400279418218118190266097611851319265901924869810788922185245400466844060776882528073110257457085971764510286513189066528146695468008904722401519545212217199760609246133492369539723697229169360965088077399483605322527172576663935834660839065985915698530750904331029764822988933710350808292900697892512199907181123518364324514502610527454494155992015617415165912855215919611312780662156060590039355731132868260775957177528750094541622632401014119341245982220095645680584227338681327483365817998008389186359994573981411653727543243735758312735789430259969095147686827993689329708404756789023567005866467650319573999323239689036880138269248112664880010233465635877496878331181603482165991851435532756129157913454796419239358818883896067810514998859750561041987765126689881818408652381581033527544828001822816221334541661762442922125387626323062705391622671351181194341001537068642319765944619550221433753392278768352126169519001599853224529436154085828798879126987166971379320473597389901003785367843193000949508016777224541612252385248008741644360149690154668714130518276453535198973452820869177762284360581915227979535331909731347242862688253706506164539210839927805879962235062103886600275724649899500697772222358679154172598799431778688456868558733653143736810821473414801306796908025630627933782400682679400319309300719726355566608240818916032889796684456270049428295472536466694929242984767174181326916237433353188623690435548383381661071020449661051187316412965069438844893616386002686582528670647489001086107687069973961160752508774393951424201409664764324647950833663630128622430706826321434261407314717352311308943106000613053442607469614440460069981140863317230285785761470261393896207460801086429757413729850987898328996316803629800216688486097483965106752157904435139731113693406528391626299403621723800797529915140847708796113821343153646840326296393292616606325766470551368538158693927442829187556828796706611916167882915728707852562295751307253151910436503474560450541157738872761813191943038447052460068519052185149659853790003044477216669755490323691459318460222475444578109459276982808202245406697622990646848981685460278045218909989735334781567326216392687689627414024025824853347241533184213833100026311485518419986361208124107717172468647040657507745042553482472705820609313895792102303759460884481293965280912861814807618121426480872394240051546818249506404545089463201301449817240232217026649596423655125318705261319354039994096210537318764413657634643082311491626481127518782511738743436597449407934973764267827599380067791962494592410807659938174084285012689974810920648693467269025680599807585221099905656491600369353053782273562998221715919492358816533299494907755853697651355993545523573575757711334825113422219681004639587093807057967528750562087788716899396640909803231869393685133735578446763927453101318737561626707476392437122300350492237619943690016081118575182305797895488827523310807688968066449687708007246273282026993487324930936298969509429164306765636208172375215469026238513964879839940696647433776973182193267651238353273136564234012399806893844644724656125822626817300162536051889055706881975353902782339236696651217398836019360778731171612381584463998095455104045568842610864382713489927117078325202531515591314026232652601614930384348479897579596960970860102450528372615669090815971923008654076484527477878335930806197409391088105430767497296950192149616983558918928715200557908351037068367329002665339794420587880797232372714539239573739214362187125043963790309616775656875330770550663340101635849945700812069927331196660906763661280033483599483894534612508323554768316921350426615275899817692382319899600789815540440479091402733583767903331489879832272385528619307002827735870088036465295339826351308282288510207521662514624216416813360193381963007632635427521351845991528473584635699607458385328307201022983253248619972836391809686377344219866703775707474464747044567055656700220477347716104426672197136572652166254202097666364723768006719579928780704626366532561821955951774052348251688081645101659856337133314064845542601963660360565994348044002951196202614323003122817983060362635077107241049998080787513584662927200691670916205571606369598189585033682189535500690910172368585728771639009965270170056609522090489271192986999232561265585208298674761522073323308061014969577579608956792310236225434260160384725764909893616499160109804209936328033832222724635333691986552158889053863237171469191212337132884838241668107161142168991544307395466344571769178447253070099702851430862823870370487199258629170978804683115938679318126642483150636449657780034163214781882578528861317453672923266414962738917348657215819473784516329414602670286788354973980560288786257959390738998274415613658077478369377311875467677763110624497989000970063933895288452375684381968141627483049187626070716528582815402718384526383162255010783510270231438045881616854175199792750048477931400176476377239757999177684005726241164951607618602216054799366640698142060849250296879081004491999693160200571335099218833627229120705829500202062044601958355523207954153948415180622129534139636063844278512553885755817464756672877982755179215917137169398248108345304614051617589728071449587904816696065963298643266856962259326972266244412436576827869898934384239217779690813317294243438633035880949113685040261718883448033878582928268060834150749437241422917067297320843439997307624996812151510032284695434114821233352546969586555456234915815762170250187282441298903736958904912413669691824341294722821018327240494026741199691265759494869800165905753524293433708090037431240827264489944913201267708003769910884167580717225735330647111570790634696600684620712926905509842597708183303528443251988838790273657640232477386257134440429369899687357275596063914353884653092096292306489135270966542453099164768113600290145733403492617752700305828678638898731560164863784581285829529622991412348581393372737647737987169994674188351566775371592670095015602386372935123366363372857185919038846276862160373997762737550881205242674135895179351804758206692600653273681016820010396073169781912930658209845893114163723071208632094369057081519392130708566571421325306653422856643301678227783436600655191971573952031812209435896090785818443780587555324878943326156481682631435094473790277080425286926204787390846801220877345663750659935590407427636322457533920154151769553947513323233786053480516139171570783503775425729385872725823968425434786053970246491489372786282251734263374750402058990316052389858022153297210481634414077916096330175859255769743944656646620500327885745970027204355042152944672919374132136719518869249984217414436640999837590311199463623870462477339700851925688023684234190644195966834867647682436609706295140915980321583292150670797010327314439649831797259041248924293202057402034868549721903960205197339959248807633378846062989027416727571734025704680550057691973228817692640732312861088399496271226074477153266077445412648976839880325321614307200511522928822068597511551676374477418296644223943979791670219822988314058832231637162396727144575788703115982022920666573918409470899595707969773569929855270662091522093000656860278323381433979963969338593238660224360840307225829422853189834437400663515605858491980313567440246743930800477580004733237557096393715720137181450411039205932391130650161807426858148868109781347011792071617584457953677090271457736823887418598059421011352161828205416784582984953999133699215138540360704627611269131503975687679687835673881625194251801391416875350592688884991120810270002224096837780233030848717093336946776448656713144218471016783059526018443754684952167814634061517406207845916905976432859123790486907763941000726656580509305660930525082408322831773801190546872050650246330347983343800095449175691135771595797344890385010308287341907372012910585451822984652433577476392659255340781900256125502856645454364834649531336652603624301677446975841071279593506830481747288925064640853258724730041169809034766494205026959074567869761436229283538120007609773287655483186601259639147325871307263566157387952544533807109363619152296652698464472644542332975459407623261492309970673780933078731389623112520092295478405268899022643414496592819163191971093772794042812699534858274792023969979424812275769040774309795674356541262723068364698129314971858222073341291170345194700600733664204709241024745317721516021301921702779247497968188953438164369266367649001736124747089987434951665270659384517061767828053742814787940827653490871999913196957122536583479188222582859622371712038859282121768746865270516684089742662165511476533324547735799500044333475088690685017970521725578854726147860139490313637864541640836882901939261449783109867083734572675629430002689286237602811053388908062358054342560741191955343699395849926174046286687644788233150136975689779734881482562559632293069850679632279017445207734123370333534336887859108233021146138731202953336741191639017640745648515260456865610946125174859184412146365124324000000501923600562117112388196029587363013539021064470072300941201837872646702247827185435845926876136982655285351635572411677403224951002813024994599061068881379037365529849269002939128819051072728093700460094385144009845440391272239496840981175870500830143614897204704172661038628955335093907405001736181201657754850250203107595733164298822838159376890211866599931784553638435191100578592724571394972699460561253554256315627225156253542048100438079981829427460489855649875144158341707407130804229088191493213783800390747893219254125971547007054633272083546180604042308108022061075292228394152270590489603152126099139256280516672767567671995498474545973769421554050260622782232553971106953163393224447307879849174369139442369530945339577250633034698042957427579421128754638527614009828534631661951775761841128899182820133896832067172834207803857187195755867757098163331595911190199564979073416886554231322152668666241154674351868503623466861285180305146695670896852352505647632342732347664870458931702047971917228398854942793128670165585828331542126474282997867983220602690969137221758307007408300571471115192127390787888111291401468211687043595888559075213109158364250400246878487016654515887928264494026331979925907420858447222560382328367247064932559130467125042098155867950833764347566926832560370918847235499387779667404242287145163756195123885331494365968577352155963311525744242789010943814799219138438692375556023170030028581642857369627193132134865505368256179575511976848868074271733284452335898621151185509757638977776640483390014143180530751013632219730617485570916664545051422096618670080505419716006387138118968546816972658873547594771878726345952827032312425828868689353779483998391487601960793915281492478676854493122721351543846476655150376777597447361255363161123260089681566695048590357097690177876311852995555605955186797772937246250629469987740723329262038506955196730223268741135283464866523089330419273566624667985129513626592882651292704637582171758311388908825583924504464949396687191656054600946252248928238946876330102544890641350454331428948767936434779429655093052892333195414617272071589771653312287239352071583961443013107413237845764067088763418734075702632504377235085978771750436773182542211378651682053023218633088198549358634887369323717701215258234054315021141787977420090948297286206525036684858257487410885027676807769710000197395457519987837918749955997868173427703243950466481425069574708013377475247012405123580640662134476069229015846573699396846870918142876903105716233672606127641651098273740446495340401540724381766062297495236637384604242354187091841350614341248049594882982567025479618850793971900575945327264335641703763843422442982267282375996521083296863932283170607279450428118040845490411003523183751108751289525443244331681189421299422690999983875779756067168783331081453701523724383547263062459789983974596064528368881983578496960224576403985829573386547938944417550188493163465201444396002289637105068414458184973053000126830172803104733880006014443269709230603860827634808654888632931267431906856965780120596075469882690285807790271043049473692473141015332919833058366341889620273079370716279447518404482098975341468886506975949001079721699566605917053027878575504866437410289815481154115314644715678261148878693761521959902012280430688015300528493222714788353074644824044272826317998729062607198654922640522367875082769162654302546135577740155812499415024230974955293634486280103176753910638812039543636225248452106264672573344635021471459374524288036838509937338832287248046847672791072321676015456404078089567396278976709487309245467284563706677762554155472936166116130135014305482730001900019671282578060026653901425855513856652041963842634936113650727916086816027975163837376713092098362390980738588639057118396990115188448466542135731378867326540150036327231026032677377699428519347784674938340965582240029719599811401541627401413347979949451175366892155536752257678409643813351688852025501933624992324185703138696180425360374603627218058141309461817516772971398617944533060268625524138925569938891993123439234267248991510590804410806602283186222037083200065566783654511017989187357970745883298628370189634285250917263241972870247858636052166775989492176807849746544483351676179071835976760442739961414094454101477641279574204043277546892377193395105929261625578573658720782286650327878348824403173614395064653343646888846982042066788395760160154035644402790836919256387449703541225770093633394414482010956086935882212807449474778254354573712270195154835874643071411644466767748607672598569441236903763064751326421371686547961722884911632763535318494537501528781982216001792654833287659897684183778562298763596492267924248595414853089356725980731689465102803142627148752699123697553496747935838272190427288453934447745995844383287662292712039717105134874924181256188547731286943817511974244152574318723874926244521439360884846720636403138897366470263149002596552842015162080678014181632350316367368480743755394966310504160893137961962656104691278834873506632053312116819574411723483067090674675753938079458599937544470291104182086137184470141751139545994597797094746079931399588918261600814276937200426109751211205569020999971498655799448959812258935171107366360205815273249200584291854370972187075351107144816334017787358518283181726214017370992130806426714673455469945926510960540943809170964126978981788860500448842608046846194268441105708214073107803201481046304802974749911374042128072914325866602296995574600208239347576889184919878366352584012470495919591625267822769107187917525176303735618518708463692409894253664224957449007122007876797678922880676605377522496967044190807783722765662662228115168517548380804384918997362430261229161951733486667591202168066396031451014810103384907370886957843780450426435963344482012641266323190339608172326118799340117799288759818588222257076207632889084880735300815374091236581019390008041344192168267871588168063154523166762014669799806526228274620709492069876794186275406135433734154829728307529955994242337347939460396690503965499051476298980842355995965686600452569408324463745996335246399561903752214796380024540361149162246488550308019770227854463735355388040742665767649302897691782052790628643199764991834000952669109457125352898437896987132892083098246344400497536597239747656632058805583004906353367653994492415155516924848180346334098311547821603388245923036716707766188159166515019429857760768642630354840371268746797754727054564361108710205863471601106503560381933872743403256663712152514260379970552953373482291858702432277180782078036830305954879763166398470169672733759323629433739186965752972316771415355319686037278081534248319970475586351816043117212354841981945452141565537107926092194028911872607994474822697669262469001869946812651501966195236590757190673315716683799469206517551854566234707612035943799369841859435704599530162668594730633068455580803198730262726605856595113319143145781861301230698118610294010741494104374307139277301037226841252231490653508596720112696496647449466578994935045996781735413701428020189288419408112305340304392425103926629960840655529827210983994557698770875012029324142603102370539535616126715195657771332492040787105993854267227684413216378087612650700548381131099999882938482368901500837177878848337890073941566188138024205832071999415528156982631610683599194149179820048810682016369237048899161494260613500471636037411346211561049862783219747484325365778820881988666877339100333990347760902877782229429773077482656442842304893922260866394218369666801178694485407881505305305687067804319709963883162837436479675697957097714768701489454362672827558841778670559013064335744042174014560194259334085595205645372537496080913924351555806918830017994067446989953456408748596660378763235418736468477088882986403217197063128318350880147795271140102353937388299122811628697048295831553505705864816576577283028850464647645926890092911878373998732524792502960191197376167148607775804971639499009181943187781789589423748510554944701944308264950303352853373214506650660308417308614291138814143622628034674066206820121748035685237631798181544018459464578788933760667407180418197776662117358660077963965552439925370994108948722498617893075806165212174999534437979567490381685112974846340084271001439231914196074965889460459369079875697387809133615758007091630264068699231356187518211433451039178012808009701288429395669590455854333427802147044369025890313150073276126576307721749858334863511961280390783905772525791294601558702377930005840229507831446903188846784409947903141635809256141335315456269110678206686092395427946147872360934590235970688545148468418949434255530454870738485596079408606556582597140556805957199767003918428403476241464529616663207197257482066553115579213898566444187907086801900383793711058745830286502274352641165256101478333989361880925297563518187363484849971455029440667702368640351116600414561843931156044925531820934645617164226692415059823425224049676300145904979328778581912657047648264372251142895298018637524717349945111157695482111160364309057139325336853085360204797760996621922661617670910212020786169390551590429143893857550241644945961759076544978512841999607666154690345459709177184720889806528963562088548276907081036883827875525227642992760294025431104713032171838205856969002564024654527632995558944591653067352506956626523766216567502258274812989257130335211023092043335349989286950140284413660686891177623305798453439456328406495197678868441603203985897539575824056790896617751907298974839759219523244888891408174207020874062442921290261431381121834585164589995064498385495271129137717417846386514051189218199887982002226449756633468433012469058666440685661426208786274003567842519909587487225709893898578051671731159285588270996100017004865658017240666928646993240597844689749956643737127277466467858077445773663325526562124410956488729667709993349463832508136980716060031234338239244593209645763396076161778092724991168247105364139259905714894790402789453016483252047846678197075243066967223977941790722571663976067302936717672063860698495980444950644365984867264295410550150718916285123130548956852624854627597747905292941453307926749991217422611615441366626311250262405741584200576829837016132614861951617168897243003394619227721994623297257462676627340610301039516965420253490465059405875540950964443514633964093988030579858038886401377945654553832533482488053982404323310842677372570855212910894157585010028304904118422352799309782575266278260245241041963992228151757495616600144912772454616506952343919243239469836257040796951246277389418195303386477610269807592246656500692486593090555440605288851228017757817961824103254331252727748973526999245932630488873486195306049507044491272842498715581824793364368625567292479129385744076880575548916609165668725525141303923627596056808317498472365014110024690192129443902007842553770976392263064276030388923484032781591914916682170373298023125929927221047981490100684321801486998411925814382095821357464000739072863624130837368330369331100796135709909818568429038023926978846318173089734492887349474478322786401706267269067726891776000823523431735290303133009190004150480953218072966638512097650255583155383545706353754918627983803266543280708260217838402115615773397279661441668962825313753793282582608314552247272065427232507030563039074401747672397898802217771065292182629386997736343879542226034974220478084361784174911905232935873760482948184920578754035142954754505317253375383460726025360092770576999870674058709641870153140451805760292822861068238799588604249814266139918975868220295335374334198416455240764710062731575938598165590880628415137871791969005597253141355880437723846191487867973724102141425881248234853915433957733128727525343551323023227472428957305688922993153334606429935412227236076809911059502068911624551450386064916979818968460251403660506565714986713209256781794870143406434221638312082969741559890357427804526734881446007258926469654701482205065429141480541850688622345603328032912735237946195611772651166849784493750633763398053118151178797785136654429115515521783024667499165109603723476625734198321259597006214078247274058331604239407257872140026442018435290709003556481738494944170256459087080779828357829213647059616817660614683439897085320152374252775620355400735076973901342848232835484326542746181170163125289626309635204599139840053271211377408553220224637474805725897747017454777919919330166036057379324219780945736473159034360681604831577087456626266223190093711551133719649438322769592154819701894644229931545843181344116958700618453702390604357899766957630742434560220621709305782682326569683378344764198276143570205375189406331736654677572277143192661960559710660277606637443768544745435640697050945316053193477420921199223770646134280890165148655961400973670991997551913331969769562024113492304996656085155408099968456912670234361916668379424902008526444901030519705099912152726892644402637877216613959316149368727687871911621167186304864696246724565865652842141722918743273108199641116918983819311316992948230561599083434533849462261900496554918750802344407661715064103093294766040188639051280451626967696889713658780129452167576498340262638721286334491972052406062356711623285161379479895184206877803025708600415976147718660404093623938028088095395143177994649731190208120290765701567291478349541240231821785592383355571504234211982771118102051008715430228388535127836830690118351879289448747281120173276347238194093872507684221528107335091812907427220597405811016082397432157679056265831264249810475710183664397699937190822569755233594029142594093393951319864847626543646034745548228103565483801115096578355029048075023592049847743333993782110225212391684210219257433571326773266764444644114390119034486652938227863727305694238019262318268545344026360120656866178147756633161051805814951337203224868769275572762277678038217076988815117142709973582000611943639492457832606381362952946246900619901335624519220335908801193196941730674347353546775592424205393714366665566016102224257824379836921090467848263964161594312798132508148787798775394379126988763146595899567474017999663690735522666931158168287353464055414984355029900866924893686793496871049666421718941035173934317629586087720208321733884605486119906114941611926153400187359516719501154192404387239428991756275733805483554417145695938956766638110641034451544050615350160453361984667334526343440115255007326631479935830530132692259176759515094366342011702863155452176220745718115863469587409118774271206113034469282840438144238085591256694325598084543045509992342588896267961485314829421606169105216376726651557850657788687703892896621481189955370313879934024599689025194284218867478774114085282249845098818177564287522949813264588843127014670184612088412812700641726516396433853733457550656154018736246678881728762151848972615447990627014171971698467217713713135072135443767104715299257545656442418201309319824591591317975081782717154236646203761437553592618168012979895291736447068820324922679231784698935853478144963714474613848676330802968356810876155955324396974347362188032514618445476749331866666392544314626663661380010176411018379098845966231948539296402895197306685509451243032982144594057798713301726332942634520235804934035012413554704514590628343810716024457173970912645203170483578387430996580502564931003784465242048607667478095993507088707427695393344171375536049461850784463301634834038791863852153889564549809028428175827460417231953681546444107181386870891846682837000235774562299787554402987508410399724329277039315293919298015558643845586208983873070114801864011949628176746855032828774816237633092301424460141532635201079584095383474189503893361659923125781027739519539279455748970346854095192725908044021111225752610369238287934870679307390317989754111187766725390779669301292257302180270437909839098868653819368276249039200662905471240952670665640838590215863947185372799473898066317071189245646827033680878372268086216630298389866617003153592743535168354691501680194199651401820622676453665512648196219770742493032510486826139390335224738660372716617051011088627937165979863464072708049283369295807861900094274173002051250059480153170349085657318627759473263355472840826619691366973989198361158190444777017556853408965502428519062113609881306934845710250824870567294672999150755788579745437813406237129139199320424750353318628133029492299219612915190238527548140998566563635229764770319669801437403076945777393784911713549752686322069751051375860324136524174467236069674739290059615331921766951304661411821599417792962639217095236993456989273957070666646186331419041576841232696353023616066330284620565316789352712278961325681721441282271656535663769920850534726722272350216408129528255193779761691561973894206692321202037617449783742588233478033587056236767306722619995522842950820919614143423393796009041506252533959984213259793428169383144995769926197367300287782117732804608407293146560481099582621369240206289439006226648088989313590606619798128667744087857009025418776829394759654252056049772412711128746280511046541949288556227705569759822878257219857240402416506071670110680528735557176436944254048195511512299193083507549243734873829381059695791117263627483802221997344850305701660034847975979773107792344860820750852721371841440546304652244428274828825664647525876144860761007172669494941170390046441153037916871225373030422117483081326123266042425902807400674558217382501006691176606342466009678394223463274025735168577397175246950069604889514623386285080548467851696691749354792256051890824111121777964945234730069989058436000159368225615677373157585089954677547242380434747115940418582186438912963502982358334853658476112442004696563952668310276854285002683939311139886491993167803088318278365624816896655592071650393637325925716485987200992376015428890225739461151728347536570252130809550406903022489352641664032710321508917475268737668194961051936666507051793685380547920702040334234013677201161121817361404166246745251088306548178802826705828379382024866851542515707262515152755868109675375052364309252374828756153214727532469136882818723453593238468756663317253344576914668427488117870463616111827992321816255363736183765504446774028838647388788344002764751664876766075316248625729816920516341717021247598526808038012527237039447424077638792300975758908814496932181303624828858896759012131575052450023357839941265477418024292394959753792730552509445805659149365530980379991596262156216323752159738222464149903314336591854709540598331214650452624490830163797199159577742900078987573271226769493761548128377637653199287589266065042883126991719513516308666819522405352820394312180226513552532087000185099493675576829312891507876063761815519454395989935646969376916971629035548573915406439374768466982474027940039595374545848972243528427335846970770960883156104218527809044757756813481094053269538768198370939572036067444890998880613487486880423598591380473981512573227524783567615026565257689726555992436062961475844641136557886005547368804935495789729895892146214386834334507590277309499625727632999762184020255096055820468371720989201965582065495528928745341068147091721912584118069779821475606659889884033401786233446970272831233660233412132915479755205546730496658896937634725280642636814535098068514125501683531096912282933164743763488367599613005889561371253943934027909924019954653891100121075897941530563777261481805791507402436129528307422054632849657929037384015599324966821562439606933864874077931518876926324534672003818321473931774014463960999321353987652389245694235683241852749568646092438010137307945890792165914256135614135589605160864123097142641788503554405866136199576774681161116988905952149383313567054485544365882548256057056041730380319418406709183887835849835928214896688418511087111950339391123759450080161409541430572030715314456480285799750531957377588908791949606346893202683271952098363604800853437210749766216578348779209935252644430439042022017362981593928906312766094307856277027218804282612528991500737766271647371122875244902612587658262649608817032646499296208035874021692721570511204234916786631764485312341178147917014686355141984764102910331095188884629942601605995894176397741776376679590286937291231456100001625536586143378225579353500818196104115100700148901673744637130575754904237448515292270440339540339245839179935010946687102159395916005483027550890991834173098458912047053586149543563224281620319041408283205859874038167828314659602328975740341609351677429915795149144297218091599906223571517359113033707320723310637663435543656389635709443790523340048221669977585531007372249220089549079750755499644328981947694707211015900620004497824524320781873069495684644490361468512021777633425237236836955939026692630447801629027169149748854785901904367807690177036936109164515910034060574427999210735831351499749634327622576693650659602982883122469478617235964420775451230629107371765482653927874262129500639606208487771711237452257455862201687453419071562520593654451333067688983347042840733692313196046563348847922889469081411110058323389329135272039611492759505011938458348470914097008607678780451398388375124604595397203187711871241751506763368575386750006329075700713921529465852729711490061690035375257830618467295882179275269676827818244667035046596699902144222562157231744374613143886133613244069891285528480639066888916414885490503971131256473338129553131200258319012703506784063552280438748179169792861705139875598669915897602428023245978987846653271758836248028389798571119567322594228241009282892889074590363296817443490483107759187444346529239679240531421075920541071670094955851163386418360206831314335744113830242482814090560038472636128858579373928357515504273602252287228212344795461405037771233143647217111242587670898402576214831954531571299340568622708639242331566724679807912392025966307973541762323104315345278761588176169560488840568636607307528554980898069954115093049283195880760357290357007676491269365962117901456920061843132526934552201064272852309975290209069222549492243671016466489350142204150937868273260820092123924989090753511840356351520547472658550010185683621410422632963249111058313048259703863442372499157732028680484182994011189524542787808677042313266672535855462225613425928576897899101860242785079711236150353086573615411828780405044693213297341116681475650573115858236264627227968147334885152489026855195133442727802853747332524483355584755028983817389090495704310921917882390557880930152901094331618367000733458520491729171928773741287172075915297955482729048607850956577716955284117433203473480847973892180611292965050959683376136661880022097243466637036572656310610336123682452220283702331984368059918426122247964952382280257734266460936506864256250461390197540907543777396785310472060005853925238668258319892273896859070569342462737218820477693282103711183190857998834396237982814144108921133184964833748000760379464585991375579751689942010593704198553878596120047717933596915445583876474109450136210534831367834001621944787963548459439181968830502216768169387638359631333110521237069812183736225305783139976541200970947261950913424471581601098917712053690553121144702790741045899283379897859293113826124797575378972107608200014365798993796534018039826874082326797745856041296264179547286125564652949046328434704172999409796222771809617377240323715596768454538832810544682737049150353618629266125492207581143848448285960661365248410769479775362760015182929088299163627073997929633490999774847799680896203055114126561334113481993382995389127170984782619596891473111445078229802726194247945377955500703085086531710880456239137576560235305643263586562904602146327023446481513325862367822554671184585132647054696698471952062306622482108278221413938394739789000427494773633155022709244463932119966169904185705784637127621201714870446526021388151596800374872651158822695656187083227912924115013676233387932970255672785599573832665422930407444574704248555428127324378834732565463442059476592419507942805449963768415996548883984984428145174717789034032144739179831898246689791975372007574875059310898194147019782010325163095527605282095407349194923939606059893702352590371541352626431413789756240761318325448100781095572559472269744242967969796543991589465746240016709994981899466199509306583822004839828731180827375824116845089895450133321275427081948254498343810012840435312912598130717602094835868851201661530015212495000411372448014387351299276310114737194442630607557507428984202494124024063335325195764301376482470723791663493620624181051578699534271448302452182856311361260782346751436328918891734154017982415902341992543535887760804871040042320592789259699549192051586219705324237466200260050684044804889691560660413351781974608230279780135051711102920837059366426675607986376247585217765072919111720509068215693632229422608532918598981971699703269923108718280491560847925385255969169865500138320188215880142031773282655053897556030951576455397165875015691699226426435475220031369058873937286938837077849580991819572707501024573280658570253394262224302286182977887862109972328693302973932107479371285971559630774132173761880723335856188615436389102514618250739116479646388352730120504306496700372756550536995702155058326018920535958108173683638531590088353824515510617998363085768325791861568169171521101836085405633878130549809479703127030569266351217655262148870565470688220121354732496186010239119032177494929693834622794787341024596564874105576898284535039420891608818578022646669781742473629049350117078855113181617304032523479490516912321145580124545151945665121964041131261080189694516733247152110036915760192889455092895524696487556074513821347100864430408856668739401253043438323682724378562936747356889447622467485305745856886718296365417135245783885901692300544664869502174189693971858468935882109835839822775726018066478845314458358747597400195518129588274108944531533899078582517488966698237669071984782608487374549038354684143378896225512458572152236107662876984402708699931859298143900069669860131419750941775050375386256436777326195923286399034525529070545271632832557286559375393276751489108442493398950208696730993856122818430052392778833189982301184697804419092188451253677333737643673312237719350609482790150597648367889583213746421468715018318018630197164613442972337055133665976635381992355785756448187368750933221952514161172846375203589801402459886291291751557519498189097919944789743364497470667099105542519585625947932835059135799715317164931787308228504860550269454426361795897304061528139964099191191721230324591628214970628327431919333807909500726530692688939079392972438048501709239294370786349564639387502350144416051914141339904365077427390240740571383196150558417741796522671559005353522076890128804882162879313715890935028047093677008549557181598651951814851497046029185278545506642069949922807515619915059113003074955477272422173779409183205778163699863639519235551740469565513212563689712645627032043156117853523914250903187367343660224766547361649285353045778925005526099982503027823049296500448057391425806220588765843687574896434436091941208000219199230951368474952816789643411765551635959126166128155648286078772271000987858537936850061038849868318433325167810241242870936349605311634429140287079058249131647467376888316315607354029541372531519658117552586800683010428250187095960625402596386979483194623278147325580121001144727130159924986701237175231155482657236471745413676272275029362848835698883340481845834167572291554265899155159211969807793781240184582982716393622823924353873170581983410966953864245337329330099190725377340711239931371113425901083383521383550237606949345641975774815526520718663157171809606839653114933080016309344244285845185479093142292127241846396885266158103789494406110922688160601228768876851523177840579540540952356418854243199748574615691192549570121239889510825111565603207158789547090044143574995226128477447386272372736894964923226399252046255068601486724671464230873968205532988910239913987511665006510996814701263924632974266497459670711701016610286461428891781213793012930406582518472991405252181727090086831008863074493118399152938621058860636677836786003853013909261235816852312177512518393013757405689519558437239504927473136964131647121680831569217043315399018100496485221149033530299118953317362983593928671577778802432329342673438321426688229781459222040129693983759092721229283999591283637378887798814589874633567291859018736915880344024085380885833739033663279940886582205817874796464433056696837112807616694901345757436370159434963081101525878522630567431265142827916503091643969356469577796979622791993898113059080681354202143436835075166668728580922391727245583570945633867412668228486205182361037015811993307328939719052233405805704199578051503876494572549711552320338545669226765811583488217315412826365530061315929446418042989768439883054529228791893674475647363641363381131362232168419823111130908352331792583690120735080681294691618415426049565307634853724933144785197260154778006914176738252645395498516781387113228698061402004138108039111164081624737987306805866725034465070022672818162292463930891017472163323882665427919595469397777212197144962620788057192209990159128581605923805296339695935829410814016285574098166792250276894002494032787201046216631873154475392010619867083872363753612024678088732058328676724264078644567325269534356023321402653222005532551045680330502830314604994314013145083149711028678395327616193980479716612955318400856957160272719144874470958964528548118465193681790436722058814089460962480106828099397279371899431742278427404762861544618991937231437607489609961079542745143533335561768926765925016509607710216120299738111758270413276457613277924550687602198776737841092954652038824843657178016795186033943799934046050713780423603133299743200294003152197696570892158990689416469086124743765583424297822760065105326676143822302241654021884458248682570231910113993757125687046399473166473520441137303807629287083459034549472857814695383030835989938633435116401121574118755819608870370792371018373369910524537714341625834970322185541717768584576023335800632444761877095479476377589618803302796596924755399251110779242192641412939073209648763406498855749484949044933208406118214043371775819190773166388875177153054648279044241105287339813257618465635445866165514366063079475097080141101734929246548625687713611136804124582699785193410181262356516714258059996778989268664358164445526070587612883219861431661332782507707465525953202227700120509044776649608705713044362243639084719726125836189530227353724123054223271950881781810593897856367248475314376460145680785435422028273044415726057759242266053244308459941246040757692595821940090991810461080180919553537181058131759152834937553717968541876879423976900856209581282170007031737723685898223227283381209832202475644618524361007362295268664149184905854206564258509477858969651077826022762273975588859009021255627921082644928757662474397715238833370871294107796622000718386844010693030019309290069535037289724545451351849892843884485837791940178838614585948950971786174437547731388734520904936566411707651371455715222421173647108012331106537242959085039002058869583442452659246880868595198310913146602240923807431743202199207373445734073745070594359847552993811271054378438726978204492362345869100009522239984626996559523105183431250862976859375113374288534191113818281596188821329964106037432016008870199703835167231987368700781174406361452107956461828356680820533001533369059352073066306640919897624304702966756603904046090628373974501416515264674382602512343504619742337956763052274266102038660196917948898512568534055771848722728748537224112690957344449741068348346810148567802216719011218004995312358781394285246186366891705820313209677955708888904501357756828610016063836493582635138750030744865889007025774091423287794716338425374618759455370077062390883763772391217118073136108384151300962624122597081118012624233662844127629207880573269270814744274225907986376044083932561254706626708285313551044836482220661887922777840552739930859937153612458203524627256215610245407709207982391552444349832921639752339100981078512947922630384656109999419845826727075295863628424274744129117719719715324258961411756939529414402865327151597433122249415952313279328591043716487132656214476012461463031563149214790990308714267844751411212383618099485374807820197311770403006948691783196562616495371820887265724262826762572768379417991116191874903066898868898780928316663186905600972247392509544323793485565346056021707298446611484671546105805579251287755334685487932244024065552858987075715048930259560627033315957390923645482628395419792201820996325593124748729949061597902075810931683892557519336355723672985750144788920501115816162788110231924734134850942821349120308314811240243172334881747184655697130852534027990175302787229627996217024890769321317822447058942267545585625498214642993627590075364697348353017288010343365898188235617518660081656706503242960501296994117159932719138641215734065208337172410619348504343255809399330464094641598691153026338931356257264626673189332377480160706788512617271352915920650139986665160383898850497121438384228551184422180412826015423099606895785916641320414959185327596944877225452294961535282483011521822245950443312156960766506373910013269380693085898951392296930523699062199666862604255627806048359808147026995121606387672353304683701512315440501288982598242492745561283929547445481880371539672239672568219054629604425820178715209576883708909560252689505527047187840489229069836940151323330538993773511945675936030461320857299255333726888268537432011828978522079077254582864686563889255402145269444123745756205432893510948134909286207714231582010615738188013028613343792284065894881925718200909594502370738945226856756964982015956653651541805896578905609197634762201727488221255603270626996480441972524841720584174951338949188263092246371055073969790555199552291541435080405361563919682894608715203205740815636852107838133562433997430171278143890495762307121215973995337451666196056648780070751838185593677481182257492994123098520436920720513533282341952266278542100009853981149025145641795038237055275161623628989217682144114565554445653873830425108422075287571782543537545586099996800027952152144774176598950326701609100623625807436069631734154637668443461213252768451195652162016574465814458092263987087821758895740841499188136213019435836336561052677869224403216654779016357334577962075725431467333536428771803810543154981373171804648646565228686259437304560439741086440734622913693998009967519417335850916450674822642264779532050099043826318917870757489080595828416240957135260291178818367562707369571001690421915821974024429839450282333053768017418570232006048378366097131283592192705664764286389011527201101984013065367136327726285573715492131050488042815418335713224758122885246098208001276209790175908257701826435478148766460912690888970993778949616724374841408993100257561839765646357311761925307362181912388624117492700748592333776389411110587758166173866681152355839090290038614427911391586894497202190172508859563494837861030281627329463911641626462966073095838857047880762188979824359410256274510570732585500098885078494134806388261619588795501712971899736250873479164717101948547957812790557123891116102126383515203159000728898493906504411925168853406607549378627975595349038680994751201997619506121349423224302731118418194608490918963816893936095581390004106736501475147741379463515504002499802052846608156357306238339856692353313303955307764601323327693636968914785567055184004481189074130311831194064137412616412392547934240002086246131174739348861729431209433288904830771778865040078529898305826904436440149151189113116147081193140890672893745575492182541832785899669696982592747698934427295443808953479164236276867434093714058784752757074765332913589393841394045799783515132210814765315712644623229233466296335395587284294258519944642716587886783107173594546914081777912062533753346909708534660087296725638522898715960597841387756593947973712552602268097162749236532985181254038533019970954765403346692464064950429117798810588297719510715601174382236033231048093833365493304070826965956305258482952114455838763334173171535140233055885955882814462118565468466622537449366682263197672350192512766061036854308209507171922713937270544429337897157764856089222059032082900725649955214070010125846037873142431206132124935887006612130291783675470219889637288654075527646687532300497266024564998510103979747543588622218207385326032107056440411900936981640602599020388410623222588834015123543153105654947974251135617681623136899305045060346023373175392370952577912036018120270908881866502751178694651454148124396720979151183433053438879641287813275038539224678879245287930163102871742770774329460195880948059516483252738219073788096717969434008558586867677430204424795147791799011822613648485330122552973776039669511387856837114974523306442317992024564867885184540628619411645602364581504110233070886903162862209907181806539976201159810754551492475848435360308489269284440165123530321099474268535086595004014776256877240164982283430701224934529077864355056238740863160802459592881557157951233485853041588268439347443802464003228734766918253424893385155564423399466305481781148844581496270449181400644841350036115198200207125967909358656796718454743277937799606884499383836576069821299190236994575938123938886426194281753403869205923256702792340994917405535680920542855183700615357835227546585718211551418040129730052201601634291006100979586714060420842412593720431217279855896455700030754522836964067518146121293874862936586092556376698003651733306133059046682781089236260104193846316319796255644996253496550890695680589955108815518883127195897441683992175852363766799161033717498629472594578204941383830985486365280867163395245919961221327127247554024982899560376527878767717430985120588601570383733115965159978953078919707380904119257789612981777762702042840689370368156376299122964916587473154599029909704384861038403815163294110100944700553760218827552033541386704993879220328209193195699103634211170884175157164522545449818191976494517858577814563136454957329215049520641785360883615724780554898408039754315265527914472130984098362569212249928491150396714547761477059128295492315249453249087433370220837553414027867067620705041571929158731991916523166692155899573664390093591251107756586629273940714601109670330133905832365231503312751977265427306335677196162187863843694788169099758088564288708412567747702473853111953315780280112523495192836668449850764968111784481799672499159455207962404568607668970592726112099931220463384017326698460812596112457997494926795451811638086427090340564168520051958590255010052241055743882334889401400146048999163091644180188459027880563739008476966721961373415084406684931099695222390279951969756298446131530743164889331068371117162163611783228899541436876208800088743600103019358890899326560035538792155090241122278318947357207455004343939051771661108197215053403936438278260306377808529889803804319333635746361742783606051541186458191727051809199896438145947313653211915068642583644601852237001091594061431064161559531282453608908508799784269378791772946393448078970140020404459194544303937205650839194989541789143039882294270253955421085733227015907117547431814384696976028590578983183116389125128287337969819152516519561988845667182513003953564110879299860059261757099731077306952083288840128319163833054276614559792144784019834145963882474518750975293519668126715422634355897684390552567736132270789529301638154629125629519783755436664130017389199491700902378458892582584329374636087306989519006047906536566581979791463940200211727373463796431160476994799710350210011993321525635928526682665265131087020526877290917901103767844351832229316586089118617037972198668318994777059357996086631139570339423669941744910155542771340462865268637902904832474615316841556866601953297692928103890753910797257964021791766623591820539677147974488252340283988788038801986336785610818469545078329456795511568133032919492340274744613018901931072744389581623892659565110814029829131386849724856766103901307154068086861512023532784137817883422462222685140080161042211127692675466859924514476679587347913194054133731929371835966572613490788736662543166264321771297137926654334301180363804934065653396932749620014159715083007090545267515222939771829746788460639042585857487557296792695496181470347099510021195784729069698334559180577447433248463220730289860145827988272556580340808709345988067757400335003541082088392291193535157982849939216639467734544103595496421415676366052132751489026725144669494969140730686315740611078734092652948381559827610892242171465923933767084722380259909506115873396172472608212724698663751721247996831291988072833194643033099867197573573465007600866414499432199875779254042832745212443667389869755521422002775807826948293005793595197411766336136318876688745500927796323197632145753677447530226210386683080034099954690840928318078805787589298592422115434928130777951304200029041502131335843825186378820439489551567377533544126068691462731848519631415916913992162987616943972013620220103020447134303132090243026256788997645692687122617506937985112493887142415813847905916110741298876148845001143232564720073086786957823207943608841298007083250684375890106827941202595519092620248428334404111267343621131967513725079842791149354753290561966857202595263582598240643070198394553173548407894525628530731322523127715890859757258062951211735126811207874888925493057213377359051360674773805552403972353032554112270882941755798966592876106957742765078893284746807940832589664539671042824079777142755806848955181466264762656809082954275702563642983191578675293550196811238038623147222959293387811531629464008875618941835612189518962964126593034289209713144389386632794417209944112976649780705689349098924717739615019281771449623470738542160984583944557597904484742675332182611116313339704701962611281902203775080092178847936912168723724785857382440907448483230165239233272490362224409931721625690523559074976267496047334176971529555841189234567138685908216192337070712965382638392385795619340153891095289104799569192953105706447897501500015251816324510249561790751365253415331473949349826543725110965516471342339684249056338008627836729615094946285283512066554509147349428310543064375468082369342459483992348000163998374426523545464688406332160750069127502164602697007372445205436263873794700712454500170942004211848097164592073865003109222914387712292885442254652937975229500884158382519114760923860761171757857570813909216000934506468702514660449591725248865044386594677031471724715640621725385049880571848269042215973087212087412150482119602108863492775371676815526162925320854876248874722803799461762273843766013408799917950960064375648730450696198770413660201650094154551535699788413513397392937177600337681306387860303685880255208070398193412688738786699565311818242312585954735374735732250496556863446029150903451522138448249447991658552673143286675876104817287185948683214416380758957184229575102569660879810661385186061969943734927599995697430867780607716963248416529235453034925830312892817930443688597116261964498082168559568264992566473323287549015733862275513874881436338660738403199028113901930241570414749265890356848240298128951973570664364319251014202000766745919804453852575151432651164712842118515755530404203700102358167338873636479249570275545388121528545334921941378156085905308922293260628255608629870751698792010562096614227897019870344942991949590542606148631250147688882915002694125182416205489430673336885525902335884716396059165306272496560370073895363444229961053130247024430376558909859676805043035625649001437874524938498215100333367395293168559330494722748106997032786845916946588875169708850490745691419569410789844634115931437259741392569741408503839356233340708370207343819125877125479968756355169172344489592163186826749862307141299708028482240597382766071691152599283211791087282978602410896111968639198011775648123058573882562444151680417911614542666658686887052056600204527214522146199643821478884970986181662063225552649813938928093468232255709701729743617772240697854706691340641847977366681587460436363758504099559972612554653804661083416357818824878827905746204198956919788097852734929852442414563158585227855136260442509015121657638423038013252297528123513386039123789928075946132031943106301024360169760917590483428732776886486414310987463102520977163691301960453514369265587508552599380749759789202309669807908015782761246241179238201018837105407815454316930568636478575005172259922853307126347904468285587042694817911419322613253752956161876155664704246233448893508557911093766537542937062450911939333364333959160543727226389784754397831663486918143423323734300278784431127794312194758732122552676555563567471189571918671758181649302024300817527226030135143939717676215488714970611143126362384094228766062304260075766561297277094424849157955390172717717177304093266958523779644496116862313222248131186320870862021021485134385293051173281801832004041715193827466828212752861453427046881034833704642615434060320410473130917038141990011018384461218443320013436942798053488603101503235072100045888840327397538672609169114877463181317613085515087439027079601610122603862569306777265879343334243027788841878215140189918546978564836335444116589179058747947610579361438920554653215840933314574633467009644569817781611276843285715520882596993202020571037103131623232965017706461623662315534679039993185859902467959026764315490940664019106684958655239850949505770835862081529450486752653296868029527468581155769249338253775044392034976190559156835691807776413807044093364834667580337148644009329825496669280232227838273590641704596946083674701823533167078233763155772285649670871771801706643639316309354239772732401494745493866221137974718692493306624004417203594335245621496745024855380079466472339878759045478835843034036261568913054986620186013882250316102132229110005169020316427838473512168656391588878372367579239991167012171875108749436254771171481921924983926853895331515414138112541763679189907266438105813021011549446868813619012606508845125782243239658517508865169347394671855652473972836172333467388323030845263044638164862376485546220832453176342580827113264271282401508572912141136355180010784067875000593408791322696801487941902332469481604413869127781125533115500919533413106805996462264968165446984250640091078044254379327835288163940098474163131573437635809653792118882063231509921254428896470646165552138832508712460583740511834475620577090456830132837664026028411099118411872602751748857902200097012991064669323036310671834582067351237253378667813705733831525583813230864475459156276627182461093475400330938910585192463705806606099587797570963101055541956631774225856547384446414555898864464179587799319952345713643833231342941304586803447595239344822698425601953047747742947044192840042804748565717146348437674170429756298264823728589297279996917911934191138813091775260090646010097322542860473439029228082863871261750512638459794715266590967261025779421231810964730804265104758775039828042111292505299966814276194505816847660091427898476254173141673869582593493088620600715619228086062679198705995962874917287287665630990130646455151827761756466432202572883260590534138788011806356895749819556912871577346978033877137004167689598330418453500869142157494184440784806310433370211729602538439392643179480878241061295438773231459518339486637718822727787221598271508655125165323733382494798945940329494970855174313469041782516692171987478198399907614008320363602888565840788765606138457794767553601640548520399085194282662791108666854293531118901888960234814157993304421357860940705648319951179013327160815563183203574196942163546464620430365132118911558952310954660142850709963788411676646910153222695462292649260235801193467260223675370929532621157413575003888481755713722368792016693599410610877788808851105932409905329736463852629049498348742581111177729853919943643841333774993573986635450115328589133748724816751658453110779452764742589845498606864433999785521772160711427167221409034661548606774705230245436406834923786826622999565886858738912478733967573974983924902268266274359868426186903325051892507716539409857068458084822390825692407554684089076300202545102369481282948985799934601765615882153598762158536476919527094486672144345404303888469767880896929642113946607932255871214651873508033749642297467743655953884483255328075569080753183317411630335271452239810890913166789661079344648558966420462588390508407538665792217369157065727419602511300478069991995512045684855012796785294041797673510407661484427726056986030180219666847622049034999211866564301378456924057532002276429170025866873444302162437695707056739529137232482960713315719153782950062779266945530261096028043655001820114857360593359461074113224267921176984894171119654084037239613895306656506076660770192394638765742352235333012240945477928482444814642237124442672483990494366316786644729898975337090481337603177239373051755987079997780533725859945172879745383913239055381698129748680920134280200206977434626812605129950993967220598300957339197835342917481753462408524959923383013333909458553923569297129224703393934353032153460509722450912747597921656622977227405907110475801411950581745794480246886760619967184941078375347967671339821930027848833084421497034716113864061812934380566526729039788123798901780641532723645474960061044797800733493753199500429272489571513739035366172537532124564764303542597955164849522490252020084404554666390941709375216344279061097653574607681696495110135080302056626143113794652124341510110276566174747796640275215698839077236068439507882984457166294145228042776680426014821419081543373549694529233146664702902961145478991409321121344211152224901014705887430174750601432299564861173720816445227590455875813819725922456540575718096631753979082220675498717856948006443888233509798547004358328326085298699789692374757667030790121317478199669250607275175053228690901403063838882117817185707096096464899810899288958668170093700888902001006844030900799827690955031917151318945382365159410156359539203600096876842390094931836332120889605270365525158244076097985886264836047928168409541794648874270231020488610393528211121923507263135602156313071596863931560117137653027003293191996214784198050676052143237750073653872643490533869408125070383802597624054913230795734766618947879364236980543623262087417119886104964971383077097284077123402055146072614720523379577467485671033766541747175040805449227785826153590033322226503775273259890885256014138931621755012032395003055531786994990022532730579746356094636340807564381070979812417041830706003934754283152479133705584872111176714930003460957532730707061504478661584696555483538398761415758248132686104335526898697461408829467095639214775451152428712268907834130056197376111409826115170333896648206806438260653346281046633705676348944125371909094979352441509617255970821322749964919831350884833438873615820417751132678817819426080682897570276906654276014507867518087909452358566254334055316992479617896623127769985769453782337275348037526280738915259376958715063699655992946346757699668498240943264571539451254805445241356833780244219552372307073126788086853707211441127653132972946385422969745108800251173921591657541586248637120425865735622172721588344932490526491692185792626600100998443621780755019653494513503178154256763316978676707724003900989459260394584846390542005223439846840246928762231217374802685141247547766071915337874170100957787782497277790846316742256212096774269096012858184509668586214521376682409644086604160439561451478061358721824592535294324488135931426232626027744942285595417201749427820895139677390977432180910043443997696271421232458561676008088983937888968673141289273125849180397183256127391833204162378171902671587426028628110987005288233286224765755622109811599311876584933872987878778398845754587472279442874992290221120163350561566677319360832553258867074892749538535527475929466594687846108881039561568028327798257724637850311804911997997669922276988053792594533050785465447886258652023544574420362806738803260834838692079621406866343643150762151046780884769857658986368885953630904719931174312397938317119469405924606491508052915874037405290530017227553735010021576562616121922078740600938802507820409932959716711341351299352000118191536598202096945235737243731369489444497199155146183980825010196544987067788637665569263251635648083489257971055457319211495420495048036533909374373306684697663021954280326518042843779974767451553619248259793210124057629030675511858029221965805147420797724092730664389262113128892073257143560445951271823364477947677606645252285974890035460541923925583941657449915967124571758064917173808642691802114940580402390108280275634441445731142800303713365837414944510580728264255133754498443373396916626021840823259230389029523429704679537514863841690188678845224775406376275822805568660632296647142568487953061539465845439671340222645930241819063852737897542853647294219731560003631297414425694656708280395252372861067557757820989135416378180907309891286629279684648269969193275526067321391035541090399111945960163481760595672014712469745014126238864584656436823711919858860513048499737816541856717954682310453844978008891410846689599790734996185209391833978732032319533370454433491237964444461072544283509874035826285967319069599084195801147759119929438186535828689897405752042180248650850980490022902674446941572698229001021171781858452403906345323610944794676905273486351009337180862072601650146462820933584239192857895418937705601133373454333960814957632248030746757036461218636263287336709086588382788347932997431914294762317144517665642489160881113084680450196449291697098920793856858908391003575219427609594360460784309912822893770386003267213220169022253798704503868786731376882732062455168751924256724949030723965389467633453842273929644597015871849110874651645753273844262769169066238792053768962677456553949508802196331528690819161038142158777018818299215697611855292644904324604128660573336162140914205215621618056369094105663426271186739911607058677539400949838920629478571851946868066782175106736482404828708503097981357660833733355235157089655445826339357855216430792232325618434555017288086861181528097806154220073514399780549156132515043006688083844958298860997078708116490554114377805305196731580978173125358654174596372805218934528452251777257421304647588335756577778442634814984002550303153976638663661208268711405905362778995480052553229996596162893344295417071587086357256625070331710315025009538303164014719179207118332908656140401074078479848534527725258719432923971802657756911407095862801747989528646939231497268949748315789241930809254821416954071036848203896626866769696096592569423808555558829214619269193217341642363096980313741811247173122201298182851600247999411786677801328697873244763075717711715905493771829534906062259555794548719125532100764307143139056031934158100427023767658953979690501147936558544121368196947485406919991719494617035867029007696776390980779137595233811288881181850970255113407036985717224250464816867480779887300044316155728236215888382894154946043769815257804528375956896161857986047059536926147623321407129006593908234102283457693648990678930741920921325180718045502089709833733128380287659863602795259198136527369431266756174538746006997392279882731835539677934599650985528271750461088038146290677786330889316577455978879544603502022226968867755036939649129322294844790327476096239842609888465090609050160965307476274186823693807603807654204324234683861327761726249473460370426235514168842794515328320854585443068804932360690272402012038515603952789084578746811287636172097236158215586946206897036610457512984570995005523903447073611783227505454276504479941415419095776521059021185546460978151984379718077472183936640178713268578278153697920427362274499039053919970532305946307924956074577225846712070208707869637856978747747939691740040081391661958031636557967364547486799259075381097499765055205735208432414888238357392492842221564273933604827970889550687887244281503727158178096412582638001124288710719489773687800163283615494153886290694818729093019543537447636554446460784168159141524895279807152868939106990792827947861627578473343925436142064015872819069107183267404753033387273328205354695398258705330722470105420335318824686944394048654925294089115639363234462594390509392837512953112875810397241232814226097795299289078168598127740180083546180042112348476118312194538603564588065431828272230502757059526363810068295969973774177869727486396727857935507354338808307523195767565192800260720576253535291868449961925532435481496325096120698224585095488969402847626740174402105805871136226222849012873293901782172741571838560695030320956740067163618585515366780818224105197956401420919546654631243311894026241405912757411456975877084626565475177187874590955691863801514716754280143006263076999384409015724482821386731741600581568548567064876699736587160555163900273790472476020530820166838512635131632726763223857597677243501093035863683294792846725042957386376184128403728821459522761718525255627468431450497241272465436077716702376967419961547791978166739110824373453348186391065316893416546708665046942447345573707858287990307328229458397434653454196598436997976349406779584107965457100924716947549385329798415145868424204801347757844308046214959632797613853799908582055130188955781388475664070008554517148464273968248894941519855497273270333528947447638522441251565219517531914921814622782004809664234678594825076873910188863414953678456468890141705456977104760301560087961863461577950322272517793445658474469505256736987285934567746713900184263093865002308461159155052557595548445641236304264732009412371517288090079004247943687181984598603291903427474415739928696849296129669547565313006099337112007992552890478635824180598104443152939826403674529269400081664989089677894514723576520366079472740622560701310851677712344602288993835811262896916651662528534459001566880068561311684657745517952695332292901545883933479806623419388851455623011922863035279050427190747958806542218953497867407441794722269671225537261675017258218914323678147855183567349160928957420774841237493277922817091942854338379623345877308166388375577323387540694224944838787053080589480653237689965893542399468798140232834360960502913098814303343211298444418231434073335525082388644096303313088214235520017716845918321437522635299053202453486926414101426200013214475919686481663644361323691732998868634018457268924965464966688189821263967582574518981010462170670952414791174166836945601763831958813745513480531186975862369462392620760007796148253614913943304155301211066936097457678121007213423286826846173381135623679505225330875401791777965642274064306338439011941779089271194780630496307846942383869296685630727228362075101910680192762284207150884880454437688600933139442860481556314591650872572189331180829615977078413599191359296067544200606778183064432654088020442167875817960235034934019649807420227947706918220142067928549441144332215499706410132116776646386088866298815052593860175992972617491614987911775682200776438454904658626905154586129990919409449294695863035208743164469428353316102171195842721060806784649178093055368998864801939992581850402488741898497415171012538750687906474571439207344308230501961738195300373725168994801435245953048960287327355223265879549041281091460831634373165962791770481392549048298267209997622904437107420827990586818288179881190597740239474350827903932233735836856243815095061821761247392176911293985823654343501519742854653781519990680139659488183304115055623992581617951097966481099815256739388992832470629711151361917948203182268145641535519567999232393297900520329728464094126630949421690462609625646971164147336914193362495255525586576654046134026368467031953519030717337169622952864214622791245313211930200804289693331927144063353525684403908847371913216952000619869270432713774984238629846082412697534642986464704641406307614133491238463764582866001803058100821298839454203455153071812723317537319312065828061092425085990685116434477062285943594944756179174035222486106378454754063864579901824540909941724187348014512874657452799592221171396779176918534211902159846674426013190168539263257744020493177440956016377134263550745964586762546434824719492767602327568304556294656912816867499458120997255041818507547671312415450689021572365664155353949558910267281080497615485106830249448092345719809609936706959312542942652937326354745504394126059981695668271035799192092716598299659406397692525665947722561835366789586061994775905176869242543984158595155138480554535333508255247897519960811093126420297745304356983872803021256837595205379411695516419536257106966887161305813789122632820347439350199696061614324252748891305854266128225545370677228754907946648048097749549781299115867115864171484036054006963079552880572246173741659504781626852339633443435212653751691197882049329800609893797261318333689728602152537997942007643573904066436770817039844668075795131435636705707427916539165962527010330550089654230278938693925190213570105149335818359409924359496470393583719429171220335002808061409180065795610729764223153098761235978651996175154481258253815871492028172581704689756945022375886199334609860673849171979432645712227145188238823509198365489131059389620778996963029308498376658840364023535889237854996415053696412288072174650042904818181794477455681780727326357248976497858081770413926449366068831149132998492322353669105833127785779046665961778713421718475885521493795707479700121613003951178116986857320204476401069484278535959484347844226538875542324369708776318222666820489094130662168530323221814322732510654120552202459683056569592629333264446792652595397254489643321176348100055300888540414464548551916349895768343255145547717538351720968344186054543749231314754951751965484624495318457174401857039509044219046727497005857059710996551875316810111528394020387657892990643483228102456756902609514267346548333632315551473139274566249273962488095251874489071236989010591587782927468142761944442942769199559720429092572275106365791232439832096516723538119513827552186662678947887366632731276060358371991797495872629709223267446231410559103096522953944449896838111553754700423055614731572450279642587601723239284087311502906392580776492856312823221223133397652770680931122298216722973746966998266301216977140516474658937632520199542634010323416773783960641419143392548968281499791944530645386573966623407234776062353129836979886028521583722070583672045543811553789702690558616496250086644589810827379541368357495299373969825471291640283254950310716151771616066349467740411252530516819414140391465372305826254218282614888908020689379821323777993959770750146913355812398956922929907825562976359650810888959733275750440934822364084309772348206116510042320963262627351655390222337582585359979011156006562295243690832928762035454441330799380003141184497851870838187832277800012551191604709544377535423968837523049313673377194602268775291861589268166408365436803557539907631842772987320650318009790550522074555719576731087163440938778333214676039483469814497358898480545100373555877202900991613511926764397018535240545274922084417815771589893817933215176174191609169612305956610902300696960276822912093347514352938098368463082809937787652113147013317726630537941420821822978682628931930365902769362726030271072072863430562044001290825048222711615956200546604109323433369891779097605963681934281421492792575718925369728433230371692688466207809758443241866359171546606365443451248563442043879358641284028026721081030739524328240743542590834600347537377853574029874581527311511995752587126795118613895914493086521405153730253292678943905051395591755231148186464009754790776299457270048464714089111444500242519869531185928553160382009115061068765943605972045801377693642371356333073518369577602714462055927708573907633640270312531755713735841616772451735694917764091707143910798112251996298845119907841923649217669512072429818258660726169677215844606689959453650442490206373781459412604385452029871587514151679381761895526126862581378939617015846165691618568238178032931127356134749340719407677423397127564921048116416425629488003096394310496845338544450020915053157518159527834215321061584432174536090368119155525444167252008938477188809550451213149319683481074070775403299650602046524356367235361072058450129097129341159515832826295305993743404453290070836417161621398250814476761891976887565363843897045576641020884847271055616639832351162173634799181719535604728589473831771655407284100059587331654012754803804249536937101117390850366411678855878876828626537075538423507495871546616187713800022299870486441318105225426852883944514086656401592584889883620542965119793245204665911161973931964480818474993255094298830524138761862393176439356849921917541138506766237357148152321473245481250094340687515480038259366612903583408030168320538516522424383565058454422053607342355807470346133429383700544956972975454044193055554037534879270358773906410102642586148961978036827340360675215047571084219987215442541606165040354521227444377511261399414817602515308874372172377829289764030577929911923576868273269514128261289528178620143005918672748114258771391799006075001235353331296861930688134073536904817736002519974015578182232391018157961537754239963008310301869283944389068590632464765132031379257374767549280204895964358731022508165519478498651413140760135275260752489419790958530366518498465177046947337798183244529007129831639491901799903510818054966587761308204872852862754901984235712385048227083955355059224671672518811897293992270030313511866478694260114470476834715357027656637321196405160527084511976029095040240946529585693481762345247196373023951753862553562212418255165887556788485096964034073803261343398847583845113845415634579285775963526539836002501547923926677160281138400457464448641861868033342757019095991873900917685563869211561884806499219075643108928772935747262766211211917645266503328861951975011757562059422311816430770236596716782740117800379067864889956729787272583086774963946562695527459812963491027118932841318759440837035605044822731579097661477313517677551928688878104926748845298083805544697361026682304189287443845214888346196044856019054973181153025404734047534122637136944270316786846664577116095383789358537887746221888920751300489936857864249816202365551186746274738831784019341856319679992369076948821046417562153342781702362579931512832088403279720440610776354403562737920903121157845312375785378223101039672534236145638050397594326596031981438285262961723856053969771733233930025039497990942189031772754890815629662580380675355031241307198950281099447345045872660453972203760387287602444560340701666988214293966296884097829064934839903825969088418969085117685247862283440095697154165021535516753116808619032925121683885524403898258357465645238656523869699581623254042882968557273053818800092378755822192879043045058424966644113823725581385154553356506888887388902612190952355611107076488071572495909243013333489829300204112338064762373662506202939591777945176957454753725104855785011636492651063815073066797922862435271911958049051654498898803711716653255150957575748517851147217508779847118015312723027612746570961920201366262110565473267399573112484896348516444663710941123443869536922962745721152060895280017263906552536818552937368462417724131437720911443581754257145404278760321594644469302190392980175592818418870319383060883316047278522187877154846735520143459061060783182823456132707620520436154612871326013485799341960509926505729024718922963449021232072267109909206138560630579120886135133396283338096120398829764991844289248779788608701142130988498317145362179817799238712640871412369252360803912993226597083569487722725291129249613308272099427165350396632124922795198561785188139603074611808142962249614555888900275801550923172241793179622180501337036684780274522407157885192667636974849974358210323524382401107549285375015516307725946853059505480747359827582913417454506262013814086995100890590657884900041066219416442939054114139326749681633874250158815470459847101101225996778768436209513815686705114583183550056552846604854958654500663257637404325329641567062753915670069056132716607711981738043479067031980953219304956112797870222769353101364716551762293952371746359405029166838666464424162801394514946724695391547314439638021521613476663421274033808010122626042814827968266890323195360935581917747343090875878949521399535541185167370597929985682765674824926461116646304587760424125751743897007918200254558892868431206430700361452358115548916002913860268784032125760332844295770136943258304314778697195711196522501525914654056711042626104173353337945613415875688918238917741946850929236652598232552404992024295751894385037830130878781580051702325172024791274422535152928683718138960791880169873313898633179734891635640158237304207666225407152549065599968858256129879312981842450129354868077945035144701755253791890613497403786883752149047360544185180891346452198751940811879491201933303129576012999025061613826173035971157279083343080817420744034819568282269606059757173572457611488605591293796616920899400237534388675664524689368306293278460126226251186841791602231453267153491221132588503240302261248087782510390893539511366210524507496084384140165857103819079426175531070343759783976467169530208605789506011272549935810729787011515322900438742805830329551628791516728569178349882517594914434014675264315226703370026978188019474032572911560205712149721436563689554072452092439033455156003239035310506123041320129936398017130788378700685239599389415744505599247534918047429477244385880494853344680855764555610496589593007193646851329646598763188689262005561981200864380114922714965361294911703586856807458801487500770946769398171766308543444509795647831193686337903266704953094530046800358494178559290581124623561242483531268848171934333080770550765147842470317537260562577622138106968380726464842101110691571627079679905575800473891461453834542626990194834047983796249314847241103269412234763581472339889209662270967879878043511932355732751264857016544469673454964700486445912967531361930355553271847862993382946758899699108018723263378726314820604315449042469136608368937904150623989251535451293089667626126446122543924807948184885018990891404593770215308482146340873501798777309495714817292122087132881824679544494661300902952583697672494083700056875266182851095674382676407686175007530372964047728587909439287589954230223870882447466742865798510974562771680757517323695730555428272462914147152730702033488624877459579399841649214427510440138261282796578881291356604796541259808789009442364325180495461195759312196271621604923642208189319470581341260816592180589261094498691743632024609169672971695012760399658443941099044534728957034893532888616185809097593559948440572616967773623427534118564897246569546525528467070984450000108522673673644892175194129191484875690741980347896237805844007743798119582041810154608176494480904062595878750648354683418793251597607646215145475722006756701199555534137824413508043918813359655625146310853505062009477342423634985151961128676386890031495281465511862653056494926901689483533789605813088963004167900256026825289796158590090145252950285943808680699474971166360326489881188683083708535773591502981159381380936389800626631535756181717086076850470488156701878626108585656684817108613117896574101210765454580187517019819907903078823179886258379813266101444895956818117492223797012602550369691906203402401398448248621290803508812815352712871865350024182424833762610688707833563195405639616820509261190792228621969272381202633915866090981864572479713390162635520155782363210751924098086615892082123870076492131634218711111201693748852409123346015657720602481973914073010677887950418524595767723280101832379221949707964178319750300441563457407697774269797930405113336988520031264560521735152443431797420449712470308363298409699882137947213865260607404041887329460229962278042688394775703828363136132412667057429744892210937645702362869076752837947281934754259154588217413094835536247513757525557547356431898658965330697999680947129305567640209892112863594707390279403883170222920168582926154115215445273321795805332417719976153259343093903521514704120239212022550711674406579717152899222581576590204737742424684540774687853758624843025362262264266590747945991037729098259093689887756959951098481642923289426316197946819122853637072388829957029139573087745569489565508615460874243747893869691230405885217145598487413953615613168239713856467269549902045452458008764099123814298081550686609229020483907881332649001460649907365170270976068233323854042163919699406035514598975669097495619106964168319799510498106025324091682033917351209486338662774334112312454540131815544124152579240799433430815607190727470840371152694014100528937498345934116453212261126324810140133628596009510745537265795097203658355900460332883261350899764074134913542998280679935779376246638208301623479255284806680344652399616552552808024886927411257054777509247360710687057478639911609403655861600948440630397850924291345061231845534929639898994111028113174694042103351254432309318705126178538661414882547032911521501664503769066785586339848911136068173790291489085547207704094522749226040662328119297942607442883609644164549137832939883977133013812756632278813284568571401387046238918975258783232050391327068850310918021955727315425345857973518577423563776315881511329340938870709710521829215729435670090505418257511775068683322124655002998959165509629317377244973600835220660655531449179491572536663750816258668294313386143256750325224555123262571816716985296637643212332355100060459937302801900814292531967957534686356020440895163928805936586091524897921207603125805732218856607362829011844614136716376560808114458914185659280391035940083960990332286000369417445623401051283660999768481030982185646434295387172750753780418812322929196801661112869903377497172918727396990111130175612463377014337301486903631717066079203370112073670898868258536229099201877856181001627162555372638703932128418026151304305639867498387047419330278935475880381201350750199131038522496337863963793288542734666749777456541868209360895428084778654238825759516713945738062787654533108106943604565852455449008714091814453869909603018846192962186240198088064584830548409751777649133732895780074298901746387885519314916414668212136195392970844213652479029822115687859777329064232985822254281666802704247035337688094091348629541305256206169929222159047674162423317764318717069547984784892969024133142866123341367378957952103186941660905284229478307356878975035371932066611802760897164986231857578843732960885507092551366745200138954777450651136423748476157943704287956015471738768170265843661539194651268766114339990437528328986097119094935592151574568300987355680291864195604375490798120538481877468837294195113112255387368184823021727290584044801047767855421992421005446322462059658865663864636797948979089926109550421087225733687700400922527227941629297394592400542752660252626473091811183605549456905755824872087827274449099565763551482151678713417381782458439641530892455533093082241668974413671080380788439607629117702564208892052695455924742866988030995245752299085835181483018004656461997587190030792589351063948912230603931781096869112980321142516606966707410188107705018887411950769000291333052199741477387854660534005354220584175280335417828725704169716677341372661279788154976819306790956949605215556766654404673343649690752153189960404466883759595194353247198704857705143951088116855343638436952631984115639807640335122144910002606272318045492946692750796696740422375013502303533244754173060637583709700522573730040320620250384279709178475239902885540570623745761881450225438679449965789069035853537508523216871222889177689300628913237441431683258225957053989501183191291510835264177573817265526354793665123009186662588337755780435685365096814460415034268612298799113659020099172220962855850869156837282672632994940826137111880643034795837293598839807691411394366242334103690034376925429178866359784669503830945874839386992053031279387711313415790543619494714913257243705055562123493946925653954347683336674357294543602615111252589543510399127887757737497774400652350888721294026278624393530720477123397424081643810244681115045037790213182640242685042801888777386103187262526123613769774878723170552919407969457583864645929474327868311857193810715559855175255897113734199118898315367382639954046363426224115942137520906694337248588456878393066503251809692064948285689181213183405584191295678747428636084649234551575490659055393216046487767404157394736409581011823529680352713164578289871620633757197073744094215805215069827117394811892292751627265794671060730887310254345784165557382085160863910989203481605320525654119420521690313768720090624149586242573375817660471551732589050379937481107060135933664815350739221290795324696389918089562109972090940805088475083598075280735639170345492641442789317745288408595315112421061978145613032964390942435209639452742698077109620751854334148131224546490435098288738535169060461614508080153178498536404951183472221822267286570201477797715050815676522945326560130607540082360099827717305665723736143363491044960824354842311264138210338602608476768366321321255821702773582231870065116610143722084063263338588689842985833717075423626823903686420595726218565856401419679469656174279955416500488345783316286287243455680347707378623725214075360944718078998642878832216825740762724035862546558179449139994402625329086611458824861530307363693531493104961231082226285697242732991705462418388431596167046168037340291339938209479340077088520129532630155587588834909557798485766809571554608669605910982575127469561833768019888957716672779347641687999994400179976864845394621769085944240432130236606966107408908198912999570365131527676935986193586644583658881298760770927105989938108737688863593157994752378595320180155863033740755666702015686638967000174459436834165092165237356031306863452752015539190127727765391578266502299491657213324332228914286345388399421580002650198103061244181288385577748661679204469888509561834668341262612925559680506055164657377398058315835507741892544041818717141495419238973689989723011323316506143498242333870254141241698454049806559959895289893490749219829090886210105714970842832905861903966393330629393421659461926476235295076126824524984849214745356383243712981438691468413359658045198051186404633832077550741522002542990350263603105872790192468365882250664493184121750134346243909568019997666027220847876355559544610239121769784692019823096856506946333632104551391981455960201388455289562339447803462506955425018404751301057329702346054587248906431602912241239637495325391154741806457629254550351458649793047915790595407413515686195975003127558458798651950571414807932152719565886995412758909941780676507716205275322055030873781028390392117533461352383099558728467903472493292604338802391196628523162434881602066902193876575294740876192706275375872316254317207805635193449986762677286853816812742559775288507135272610727874889724362545645853561731043330642688619031631907965136275032981883919632166457927731828442961794553821474671025304410223223018923493500099966048383248817138670582701437729073032078027946023637033681988640314911389309885390328650800489124145105924537994365522314231207393997355890670595377495929535134992794503534085635905204773165882894056184696141690175625577963036161182878319650506178861412420510716730130332995778121656129028667358340386800719727645400900016238366007399312763047542133782215649970139989474433859661907929790252829693544753242252774667449193923285428820003135229764907217265092291031184960573377675199575061842927124414575021652066269633815396525732160750397162794701403432393341099072918573782602412762889246876398376584778357104557664405343535491283480867630695908970014496348759336329960540221239950610898716427868722947216483429010237609644421707135707553306323521455387463907151526797737350069030211407051110371827072794200722433690713285923374812779924866300987764065937472542355383924696076720417223955701002042651283499523728516540047935658168188626843148221694624943902441823714771139691030012325583670608808762245246735087747372713459128256969759164531603710221848903629510800177628229515728613872349405999553050269482216855292442677200164351056997137562010070643007335293284625851448832655904837215879095988561134432783232759530579155315556658341557997115753263767652201176819333702905268216808546996978170891598785479415215259460133545914573763290627729269349415805184875541469802233596810345554243993214106907136974670831503607598458225905582656919080668082437781418648216737249618297022153435318379007857523506882641896753061488963862991331214061927760385855669436070247888642289058111013937656579986793814402733788372749844032420647297761629602293072931650634713116334685464009396625105288861984038105957296025805164285426507130863052957723558564171969278754331842168074365937672788965305626603682103893884759988230487297331992450347089365686629642154769085782314579588114872405202870992698947924245478287050845168992703492391457063319872782260586164443940427132424702933836406369433160802759459408619472934960967360583342015286087393107734999208077891011829005068424036187682962142631008482946268964290169417371236222953619336013836861696875115678764934277999201937814300436434898522901219228844400810670761035715134006333939227794822153162121218673215950405249342107762068014938405282330819330699558651440703835268897488380142073239307476315017063033991662691288316309987189490058406407816039201164366167659768005408734249219822950453472186625657767546508211419253389365139170367541050947321003334763824072753013217148808368411651914158626898861344311295952181684057668046042156879060349859948027210823674944110974521716678731841432729741653440245646978513321924907828278917088465425766826967015995410995106716282946792287750957782044080552521815270014539263969760405600983925753395014265527505539529519985146737808860500249216576024859611054090309189175934866439262051940178594244494274227928746041847612862250716670538958857346750991911648048656664320239547789216688611827344908418149207865716523416149135777655758663136598266947530417237467093045967132267848189578961667312518075612281702795794411906080182451699565388012573780843238856564178842418528212016658763595737700230552250799659260892155866347323458489928272064709901587364419901805453534088965729670161735624939161173020421182251710421988779918756528543758410496552842811172361173627022183201384516585688624122360899105831820097785047360497626563319383407762791236280792086267659492461952999054266760030287415114563058278586778700304398708735331353773258198744929642601886568132229356165407265636594099793439191501911248965561091463874838976668808653252801055117547308486882396453243336355537751357142618707359011570723597654239988902309618070152253361358989607572693888325820077283943354894490575407572797399623214717496705195500105117488636860195207796336022168326385037276944791373669437005303418067292980029723006708202541377268071156217752611833347919150564008391189167358438313721997921010203504880900536792219417244549023904860163340056016869465356049625667771143898400809407832361130414036228191126309758692332675833194610456936582982522647591344332437840862960645556046723301458445998892385725134722733166837046055075970812817604097504355842980835752606335871518775393159759784411055431060800705446059335159797276750810491981566945147796227074203126115735578087174422180941550225376441251519712319805762897727701126822788555551914113128929893435132916742423114811825910701900595411285961551047915076657707714231143190233707645097167403511164949997565824119036788753452488473851474943195374285320085461931238462628877463190786248178048440612086838919338822840061055184749545368684717238320082093260037541355755086906412555976496810009682506154279243878025044248206473236822895493403461747134564299282813312791613051344960918649403026396986414541855001275062785802795956463109148308128982664240866627584927038524968718842287954179871952467886202032683325284256388851864781110463511188131210655150319620116752434549504524972298650894172741913243880864447496770555733871513823785268589182314105859122069371555502035741714828054968757794102565167679923538362359980385867365703868710508786742017191809848933575551016045862279978623649627502127041359847011904523671303767356868184228203014710195661379830695261480841320922800967229472804266901189944239610058027921290299658394552613790032562946804810008807845274923757004755957201307356947098613520214652525383392340110403465788266362463713138855825459454524990508223918830776318504080614058043087531405223398438087990382402882570169882689851821334396102828086730914336509409128611237377466236616518604160581426039127002337315752674951363739183274862293139023336496026531757779308478342036481122359143795279832919627794842757568816760438197223510870026803136379333921627353523705319537655122211286956692345768753444248274984625766253793059229044882278711462631429022578345654225570352523476363194663003222372173117601831345181413535917719952574697241982937711319787591724615891534666253864281183204391208518847699599057845650586833808177784968788957032934587854790448663228597324646205257850100000625613038636056485862458456166272000451593758781679191064475371172317706882638755779853692087457970692652927866310706338561161677981584210279229726070509462401098378077605606002581149190613410505167679256481255100519501272313396778049366274899383309053069074995004128120026631249470448142229460620204367428057272251925988641906867534865432752802156490103640289783103434804693824053315316710578399627968062966775566468426779858572019255875883537505290754533077137849457092065357565883572638020974283038802126215581297304916643364102584917953816448333254356962135871802483172033951337048794943487677830230405180891871303542772295219450942780066611876415249774887031653229354608031895300921916369684636036651444563509461327653588011724367760948967394307296668370280804451463975468284174983022261426894079351416776176224024653546700698454813570843583821054337946373772890608755755617805676502326947301706921456397220530835371292800704172786094654526291061643094432435589400795244075120297238756145882285455448265328955138602365261703580966682917047663796340659908445995714269109140226533484756354532283195674460001308868831140502967185182647009313932904831382482090821429993455518903747739743332612322251576522010603163161680060851659375216666422297514931098333688128634214254430936609357631950894490506069627838930223593364177973806504651885203648546261211372768521158057650429903340043339045809043569896824083329765371888690925759449949615712812838392531626509559663510739754387231806491991535980296843796985697393343435824553846267162880935824827217523006760411187090929960220288471082854356352121636216308325397822070678106247322107236337637573910243941844580302226026979815212078088091257772830998577029400294508064096025658191309106851650794210274747468017041358353056235352447729694021096692159525688084242384447197775460303247573576561340347478199604696684510219825200103159975649716888664129164987044778239542958488097841984593723123715628361911369554334905453514981759966907689954242463264725535741201775261280558478805062315051410072839014198777836888354488602297632808601928922341201331083194001751027718081292713548801111445376578154921062078642336968643731626066280927082393285124302187906705254757174597402729085612778511195750977347104316987679126473579854702252453934836636751020273611686385879402936804482521522360171102135065219295649726220616762629506118081323077835264538403559762591761198275798685796705499737073665596914553415494547920150089724432747165890788577964678701547391826274742096916062120451873138630159845299283790806736916958914787393373266497344786977816995243589201495059670905464889063658157571463733508499818001932238168482225001058996992732415830632952225789173881534837970056242723837114671742816484936765005006910194399016931675611851458073087595844155882006843287844633738383758768563822234404413243296147373810650859282650995545445215662586176624297004319839631205594734627988323118990364580145550427068281285538949791483593712152739544262821412697765687419340636050423058207209731489434321762250378177544751335673998853966777325348905009786440136225642423558843753897942367501225391434417650130680018532402220495182315783565749224599456922054127269092530780950692786038585190143007102438096346832283591977551261516712663298504339148418879062226592670340386374885408862857312936552723108928288187435523419211083802716163362627349198120770488735053674210852947994920472191889438137704687037271292042745270918428423264010147849105085351084414337598689243308269102450599911944456980032159555626188198296194188635986703888137188808933518087495169800617821261603967068929179904159437641475503869202454125183325418503728954645017060342563868366186401174786334020987353916129415766115266726091660084854923084807908046650507029379558824202234738163043841792610845486887122926898743370905002903117100195880896260558734824807141637977858389593706497553486192132008714500397369683004232556296751401711859946722942191020867597867255551943356495933732530705312165894428694495992958457918116911530175640641902990848844685320161546031651642046593133027180831527852348250100499730327792810651365855765436904844950403497331871575169718933931602499192659140017313732927187568393754569148297335731278850945364336662700962321333548856241658074442375774235071598772950865140789501189339404615497828289511715063264718678863783626689088867706747761775559814573857327569362539181641074494184400062622718148700428491448498680322832801970118945199227535506811306248147946937971001105104096710559018051062679322173204472636107509923000448830497211565865958951587864253180133387722755002169533509650844365855514555004876116933901906810109223646246069953065045368821604800582761482622649618422288390129989003243467204656708250769787776890464680201984922139898496686351574491773022075945397119531590446205810252856551256913690516850976152197730783003923561991034129266746930198323093887450483281255710107375898453421683705140797360063508193562842749618479274837702824772718433324912664343058308449676994602009437901083800030976031547724591000230950607346045176159304346750769267713935256720441996803120997831002609262662150435940197388281651804746899608534475261767531938404089107607670949487307674839841237170477798815996432250304207317286959487174770201012722145677694901711776030907246228907416431986239126120868953411968358987181930745910203330372260591301202359582427939923346550855048778050639722273105290981939330034090936622721465847874035267180974696640845744723143212296159377193010464344783086268567292014591400745114508447081040887525183340150078544897071705270611158506618002181062354271938591530549299617055051206638571182190483349160269504145594878253051534269084011013720477570786959716668574405707787634517197597095625920914716103955362333485584161321524720461896925018214839700781609656572205566743187757433646474466177500329701824556126926670376512540425475293833537391190452138134841848179220009909872396631258365058366587924448159515451349511580088845274435008085520499085165238732307667206163333347697536393733921502072364128824640151664850188956256474431870400514963659441059043404302876396389513678873748768560370002642602988582649127931031731742158929941578911202449331192416371589218388359268267319459906881733739703004218908967896340652658814356875558423773538251126750155772181751381683720932017634630729097270117727047598147875108028360945034893837006011325166879402911851959443347565621853540499146367581819725145053532500415184031777812252539311162560426148739678669569253749622472096348436176166110253753136755576783598722849647898115850861857756925961640995950339764037392300409826628508085668572100052464370986356147776247016164420367921363945366798177946826356677047489235236403102730896118056854373956705262236070753070929980766690171658527386211965726983182653123816910412158848658165383279739418491907768563155856805215660082333268535623695661050705584872899604565526162754565134950811861856858318569109976934447794949514785267027589343428776665119527446717510771493742151698196008117144715964554774343098292008273824283382171928579836005826290585114329792551431984874898004933893069697855184402619127823658065334990493010225913676080773485221221459279141563838654780406566787537593649196785048302490348646500306662420589405383328526236937646708824735180267670022755836622961549927308467740830730639302429917025045495954769718418058253620255440968805902619898491133196703905416108438514067702185155900614724593900740832961645345509459733556767882296764860549299719647330367738496781106847913656737894538721123060725579838946645686638803665591470081690926827459538386367387328611820430027181820221583142486166723198877229082793408866550843409159889962781692665482453759085271509390408500751132766651862626221277858783667515124197945848686278251294664515820465299050400723435733664346559506373437643494478380301470295935980107002058352605618310131474720053657514546340033521155532419517193930762863332449107394652573660949032606290145569337588003035721398244849956260490920369379388576982321285865819326249733865277134750012918987645486752313120997239089789858847724851957641077526957881997211809915693784430645255514372653575434497158200188436047013391300880537260939469167755519451715741402951490247873166083669258011479215311992657138010012151427981509923926936282671169948987649502428804309727437362665669713137126032129881371068601445924652133067099889173400554081882654884935828792178164969736394301900894784553101490561510355617673560026398174183847284174328863374204837869382786239872571589837733305538179495779637670032354321734598841678986737220964284150163765801025520858573725515426222576305516223878035614801133534931623958652578973559964351548948634639227233059988985161322830737714788182542118024357066338378477121517255997271337077604506174364031021039929082226861780855605457556052649142535272948482490319642841419343578224308791445541604805606021861802511474892639559694485811819745550898231517201637828438681179829649607670040445834425068849203633083713462546732691956305432913404576774047012146674231060775617462873806650379832356033260391143173927871792746968283238046078039778185639413594578047956182926905427150241619931027926534153920671266105091086571336505637857153558058837126785824694045951777770306932503339211018533508323037458182990196821730799087129743728144075188798113695238480777859480991642949604293910325710160954126644890127887056394316920681603529329172927748984598321718248480897691410056674067123990016301146554758154254506376637153345770366024355466852124501565773356913433028051753352222441943161590022242759246764778783362615005780772252465174149921195475691234198062045790591416370937838803554497975899522803865330739954124672211968607643107397613913045032697621450574908789744144709341918439475021305937736744547482522131429865199295806470411016394213503285715059499520309702891647580341222645513232264191618055585776075828786470554120480941893419181582962400805483772619036946995967799099166857237979344869406740097920181867090594273145554684723729045882165184595041311595015392214858508832156750539492081772207307294897636447557631905612093148901938743900306120795041627789077010183266648437964495355948833531456273115007536132541691766758126286869838532979688606103552662098343830273850079712367543815607727773305723937897480974086500007337186070238806043929247005792897808898676810046234607892956974008798414578614294376679663542426045408335837299551605930792815030846936082119846393164351076935676375927756741865820292076874707070696761650935596589693120291201489137070139330688304856203843531966768727560616772429197523374938971494666524387401394305440439746278943148509326876619946802864223410300229009089516918408200566029505260466246458659160296487886472887537492189444318747684632323873168069590013530170310591432287380507360035964143578279378662804090359361843922338291421612739223385534224691046250432150763647427153882648711713878390363017927456271633994624735464694338521713097974804378553767943851382826214828481326012498305708136382023509124852230966648877637364048183714903334728779851670712300508620045719862703860919011705399414131158230501631547011234854912676718105260380752176867669038869429247180746281468763906775150164426604447259071058577608878860592560575645870683257041494717669609301761122479379061629955488375571140802898205434825327428989683790161979822280714978729990108346301716254853562325358401860815769552614215608065253128651921044373577064467127311175091295224981655603123734802892912836725880480094394832393826083178195328334357748365719268689806453497910415298646133550960231368486290505640944903362167007988850376906548421315825518768182462337476622552119334553693091943150879433398487366797779866124019968567971041060859617242508738543392160416173344767188146179245262088217691508155684640927194899344678572544193082876515732221788220486285580265078586561745271103079005761397897885050487486228048571302981631618250924111146601548127882045961402068110415579183100910175509476352790126905842370844752865544654492301232287334473716060325053584068746978127573460064289130375944717990413724619402092634274672851068256135645228076655882676089247346086785857498253034371797094821115895961046789443952917523443447891473788782567570396312368763361888293164495974320054100557241777718695968598188337069385154812169414000072720707628120081826094356717326961168517901921316410074177745060724861724089401276730317820088053464836118109974091580979963972400156525478537368676716884845012181510179655388883369855556219099133813021120195453749425438427749493362192680669777025239783519810429319962883500627214373906942803096586482138914365491740405987904352698742218347786304890293372530548623966652636819391479000494432074901898499149137893450454663007724336693983449429484235019925841843380128886031662890231497596315982637951024517406128822396382822909881663137053138369204005252850008011003008034894682066686973520949178301283604509523201305887694356417864922347685467720196299355399579732843762915171331875852395520253535309876072639427813685797303975044407039444473321269863737396830030698768116758161586134307517395237627890744181467639217310933455627790755954622598886107923638873323632560281207517947942221384488374904651541345119996155143310137112455185986671776978076193039557505410203358850553351451981856081948151727044776270255111221564652718917665917775663284638887298727565440688395541590281730049103057456365418894025227233874486222367433371047359439684854471400676360737476390665419178675145002478784761049737199127089344907839720167298771185786335946447712879028755123887151506554606733664776017730869417350810575389355711028390076670283914205599769643082211100511080903674843958110539587476397586823552999673919785091625264550720731916365552886755659291201704263118408721651467622703371276441660520661554707889356195297527304422598203845438301947161916419009607254294216500662595264420139609213214367951130601273705305316314942049694006236984791777949814554192464672263685646914920827061935996149672671465841629770121721758099932497388064347020228191284756936173322324046076827617314429520820647211889324485585636481132201307694323752169460607267979262134284789194646716623960049788579830870160006713948495206704986941560653744229883602040988610280595406166750421287541884627576596998875944335479051484009805462146152352606970674054977574588468507228260784939797129831213425179482955574295440540722883694633191002619282755506298909667961853839831235764812532523516495387628926015812411473693337217081360795970009440940069603371786045205867391427556250675810108818397255633271392297524334146905008952035083498513292293884744155337257246402335095185736037836732188647620665901621478292919317445384850517075281533512945173654899255018248961405149160999144595181859819296556198404725506175472200779679943987773032172797178984047426516078539289067697502385337152978184385547858213072788888946075051702692032786643153850729729685405811490863871479612555381967800958287558773368101104507957794457114097693678866482565539097617049660708473371599518655515983024111182216705662630430848720492168345690685091363339154089541639006572068509134428400311604540032271380860136374734114147425829266122225645524614147482913164028506862043480926596390754850149555217873341469346598766688443546186909042874524085227880272586430859240138289558439987032152778625870808257620539708509408167485807206472445397959452460320797056430458692919493365339644052011855361706591759797645763724122924398352926305413458775164825013063143340037572510283387043546782174169777974140059463451327853652156831841282424271135683897659430567474099711828012634691301957236013375735664532577868677463578883836246695370627136139296351016348659851835507143953465268624213041298749068209207667383752726126195949276090724095298158311157725865191358926562283698029927291202615322074677543303370581058932013301390709680183691841347719231141803877785030008938615094583271810393125148825153781483925883722025707826961352513404225525030730703296254625349416814848195773922645462196756170295388259572155711310474216555885142406470464826016956706033497287558203649287774067093570522764515967755851106759848755649496367320517851202210147471305369055223717902608957046658048420148572298751027480134643221350959882640257396484583522762711428017548279366765008354290471216589854972858232827638625375937292023667191940622565545603103443514572707638253756169038702222017424754136638867543386407766476863275298116195128781945088826434735432916193407409858561939054036806126267692228896006127521048930756846252072145100474965792937990828544435057953584802886123193346647300902427787333104253313108534278097438333770124100911561754924942559804819884523313972650452833605311867782113065554326891952754611996320297333194051512552067665373730012296274603687350426837803092542569876888944219876775332007380993865201204718117896666936929990611255802548110057211995169468664269351703544780059667062742071201985678911622055784205992204425791425958854046923987511646714387449892672271005802955905823762357082357856202534461915649404703176653890544107149543996873109015927623046691492210205938606965572776448841713052879202859509486600756096734371748123321908347728133137067243148034108693060454338125976492447057685890944141289074654440962633942325255220076876035615100037867389127803710239433732580502740785663053888935884534929026698385024773141533147155239897482519508513625707156152757973896897637109140897989987793392897577827641192696210012232613626776108577626802825419967850988678610543835711064669536738337206678222628410815882585143687874346517637021780253992675445242999327392857860895883523823024419796400718560097927695245114972161630077249885364147553721097743389204517944521377773543728025976456824703090489462803981022510378537230090744607157861283868069174454989576335870864367724185294223694962298095676342205270812491760431219422839198875757321179652210290262014873311357820944319601986223461055232130749385096400831300109813392986046886705331348217870034334050223488263556665990249294659383375072187368793110705715487267501403285255528740613817430355446256266753012635744774086131451894545000991538590559018519531762014800568292141169555551901419507219352052378790450134779073810631159905928489198807950216272692736006073461114002513399342999825665135002342754610977860820017502219067195545793947628809131919712842696713092469646572377532071359206680984418066603937618317480340086885025990573790662320297004057685017694787992383771265319883725850323187786251604319334253114775687527169454507053022301163964967719639008810162249362864964207366957726129526875277282061640495117421016327268235544557218903270368794182510262731114566927860881712290735407194678062258088577468229423621847200109059180613187029844316368043201951364147105108632813623251919203566119798959775584978027274469323704842904840115533949795146173149468345829519576972792984872968634073300054321209497260183265880357168626994740185915721704311419216259010968827365369333790932616200682982494553654233457986239239009776206347236650800058372436622248733791202169776770997876314540936037554063098451157957076498737007105068443329070699573896798390400264178875917792538541800967478072055540863142683411039696896107647020434721713490115279729610871186481508920425819083267761976391616271745945647811236831297209252626391920143785926922303994603832121127639137649254266341983667301859370944305712731275749903689036599728333515806546073186109439414348468877322092688262769623066619861427654227810174934895239768175402825937171081333726700165133963568426270801185438938067718871038081271771651715277857845745935736770214535039852501188151076372727352204886134851808811072554608067624640951457799601137546004618445179728017585719911262095038447960314865749939132312419896116619168771721288601536410359465784578195868756867399969129133613621503940187953833559759945108693829268382467736181912334626228161050475829098852352235967146594754757409974240535341831327007218553830311298960330515704459579946625805672934633480617223657678254037052389791088006677045030509806752561003419699655203728263794577007148373011111664818842516298425532729312604811870428790322562263684394649722079564942015053623943487992857800023668116977299326349870257167982472312001186100548144307463123291926758977679530592118836017195864262983732367091203393321473177459353117213535470527344660186750346084056661673540482049210930318851054899893798068753976880711228806928816673680152493462800271973797295640455695163637673758134471222483635492041245042546000353903662330666254137745268656044896800129555561487053180060976642934007323748743898175899859966406830560098426603535249627355548712942665842304321183246348413855014147097927237664656723593543343479701803923574518093352088911369073341432711656662023821909411950623311550831099685500019376041461017595564910295049505460652669717254907807982718718914256114030069664700064429436335186241652097201298386697982127162932636638830781488178246010720753284296801559704088102867868749155186336986574418954678069359892649667966755236639264505821407878618465721517168403135367530111219777813282591380751332196535030359462688392474610376518125737510324097056074750217820814212354557180053982619356471534054315838588777590556731159894045514000324680407116292354979533126504060648162273842560591243450713109218927546497522001127818874774929738017694794395352503903709368793698042813837965806252911382195637818910084407035207421661144602512906216945606684716543868428861035843306130208290406007241707217602494713508153786160755693075874770797924372729371086468961030382315302006471712027928626189874597635254744014889958226551983323239725120101317386458269992029044009284094228921350230629769307475899626666580977611075745442989786233753359903131362387268756935596841945121958957706636324670705313838014454405979423857962303177082957780695095189796873153952320025808069118670299799917155942203310518901242692817716836567430571011432658181451901770737583237614557712164359032351650227166757468912863553927291770702240275468625773781626932447240493791991363420584646815262864408976691919349379524402645212358537272369773038579559725188184455381374145178940379448149761723581906184128418571453560685478414220158866577193378290112355641341987216135668771104377818370461140883132928803890265832429259643746979358028296007968408304435058418816514164110378434191578908015672908060800510233597304565375900448126561826581339778271148978786085340779621137985416936321270615507900222022692395696486081946844856054780523723592622307813529342813097060647831499742962532055053471568101810874783054696399764298508248097954707822997542742756264226813957362220076211138037940868806706475716741421526921108239339504116905164254224059289904751870270158147006262490000677730016703626295089097489299485674109557535396285504210912959195981429472604378546237422434812355604549972082222902885513684439879325790926518529268893648903951324346849859872880669247819034310684493165839029737445696315723819365562641956956747226477815740094361292414487248326732083631749582417596907004140971882516559420249977625553317659007007135492301378345425825691116866125422977914392632439626038280474905913624462288777847821904844371092158033128056040168407080158771467696533366661806776851303058059282931673786774108315804665559528385338168294315992225549624117967568789016463367672222889165572593643829147879778035647072728784272436010892262341635963717718713004415806698811058335225401614573219912061692715218218220797004451817124796430202462893811918970239863872011586230696695121243863311906696362839498350234205011882837811588620735142625305149916316107225129769053841919980050883802272754600894020678610327431015034042659295579716541891526192907545814205437076897529671705022700325905133716715162722705162289695458044694823721521971117627069931405273126669697870796572054191718738388277387554129629335866221814388459916421410302524597753481706420019394749394088983347180221061773354887424216336606254491396739664382339949109000393123289425013377632937665756444621029908387891446040792449774940622519770628521592316140724364527527242710648859345441855562849323507237386368449358746804075076515589125967561156320584319351529568328253855285451167296063945917331276952439226711147186080033901736748987316514846583887254022895585034082626366579315261293923256254253916839235314658131865031667262012262785912069534319785137621199752841505907319218489994166038203482601101948491294763412304814258260349379902094708021289585326198599779794303356439306633706786224882397960183235055667757903572661828777771255195106600574710974981231716493237999680178761008720127357127710549690472038459330747662812927523617581489503897907720928890001457133184225226019242539013226313376462223768064330729584025607977257944135927605704076924064048826496549517564702442532929053753079184643464117352618779177939527037081802262006691599994450438498630568311479913545547958912988124683197223875883881850053884795863915271972552780293211519566349341625530429116506763824072932758140922128032587240973428420895107172749010840475780699788393347441005236648567537807927127654184608571790247307090528176109717873797174738647188770750690707474772059147586106326281209909784593867855992611386015731431491913420030846825979564045258691102841590406035890579252131388214021740457572605884152961498411341120372251398343409597348759278768985119182017399743616380851703455168918260524360227378443126298770283910989065782387092319064777808480966669276127837757075681109866664829163582882487691920090743622955009997958582114741694413688883252559337544462521273422497511607072231665780257950520955247211393438648763774651129993829502449471507539791556780430100219645877859195691060562143382619226950085633960175788022382516035465814882565420116465741098716546234881101410282290095907912186391006948626510969190428041297772893390237719703808808939988832943321006756944005641568359261642166832451151770767065682061754704362783791453120329388522241786110813904973260982602129298656449854313851687840567531113989739832757549549820005946244396209961538372008522554842497573855244907810194583734224743590928559979821961509672443527596323009080735736968572753300163753482973460722625049034242118163185322538367377695324170721480159499868372545739899747294058417505910640434305803486788810816851585484343411922541558666813453099454479983517328081787006454602461604937898589840563282112427091739000163578893754732627274116610331027861734058708666369101609976975474323893756274171054114797039954223469493551308134791469616052419205651297106367166643670966438078873248676226865278964151320954136135193014828343309244329231626678235944402340274528147512888860234332147490089380753207071136607971097354899766370314745584483032801844409119111717590308124901146558680783715192173699237863779265407561706545490499458238945320906776857641156459268326982754486864289988504315514691733668172196932740004349866481434068165749858825218539440642183536687331766570509696564408340758102710794695159674044464586970351442521222077891440940344698706302197908464954528652714110594322991634293120856725380337797573478957870349930665943869179268848222762817668435665356858240417320687908220799981431726233623000426373328789377530482932944746708819745878031813424787278598238694899356500407004257996231177630207073033067587932540622052542625727590324165877736094903295504914606832516800160940197147224025578653004446304122351516096386886065773745633523936303274620281695967009668624946164031100148676617333584703159365274112885944978359173260213355535488259170922068213329108522771958952301671357378412616768813952905510791035138710575797428033292563533824811126451006847994994182984484220125403449137073632476439331857924909117851402702232258478483843591844925378545310372228735959517614620960457995901717110633711734492656453331349861714629471294608546365098978246639524415019771353189066414170410720942918756671394331213388788849277320744478917464339915044158460278948502262894419563773054437434382501091522158931965873485730558642729833686753719265775113521049484778612392292570364330678587029780378567679192144803567111107330844284617416440843447636010729840020142318776485166813679654598569878561537115575275669496966749726626723585254038743270585604494757722656644663719584141299836665763487259802086964624536585614024195316136936374118645466291129665084552110167649564980419153839030603120528587894441495221490302624254881539613113411152918359312772193422998404681091479218143198000342766290860614988822366742394485657597844209073940642312678712693055656826711325174280749719944676897608119627622977775212743303924911538089736447849541168595732536659538085983417107365561515267781497198005155543162749838244876713626981705812790265625448458736229273324102748608829830526250000400843300922867540170627188329717965579474105712795560994902204187165024308265867130268819374025769631082036358907117391881700233522450690806732037151067906633513289288340469662881172536152383402266053569508488055200363864841549485638144751706305200203434102249059380152874942462756088816620151761591241645456373323993025783344651234256581135159219840446470996030272243168845222558925930453436686706398828562484224484158664403017026728804011804090968964128782132981540982771385702252224751235136058520494582994978180611558869371150987120200163325773699127980689670778722999500125743886465150472678922592561727365491267117238447303940987757853303924483863224945390999800445851541906808841603930943059944137076842712900625117990593332424530351573889322438871992428599492931893670689195461827914925888650577086150243711300319184775142814930942113195050612755648780060068811615427813469049679976047156212574402156166351027672940645324109383128517051046488860310306804537872123743872421234240928560284078430965972859810345415400330007596300626817699358057531354493487821380588088981507342386456002158588527373176818778116040824652892777546037548964375622209297416876912843125423985685018284291100396504983546304019666580832769065092537131974773368428693736823910004841277674884337084200106644118853335623859526929616248525784727835504996237511577816651618424269444035317328144921140592632908528571694033496684341347387621334941483674989751223148331264998761837648864847701973531754264803969126584488963410196716624839855573256261957939389961097531988042087459394110368108904557632655356371363405905282265509163024619661162082455991871598589436634863597174224687904327655401598408643675514466389531241581970354947377038667402036284321805199896372576226011719704960981843645258421175221419795046358016374599420609946441114971415458326726806482167949266176253630304024500573047028898568205494516555661534021268731537748937850605856169593540439251027377049553012430302294041124273267830200009958909188035503397369869360093672071125225035774254275032635191518954653378623623890529680406990234785277469785926873772651947875779097939448026889172237330888428879195229114084112850974560062253170778142722266891387182711793837116740421166801551120140484994464004675183906238822407525036593575887918949918872917364344661087732467043492456414448966141878586018878017647650541848199662123558560704736946572977016818655887221835945921805907987934401322288562653829785405814265992411004738261553518108909056052329633512417543192396927894858240984023698497370093014904148749618330621929346786529723724261467613145971442482936439829391218113893326914613733970844604981777120844945086627521352286374450742257800870130523961859389597189111010417653999847666185457202332979790295741527127949287183289953164195214760921337046925792519636059751988745102204956125138933945617375663405213499002238323538250556694783470779635687316887455709521873150211103164199811853340883293028403606868197127212584408757340159253690211337456260438868154951799912624078106716508498132490305478013453958346902891614355457846881304977106729292030882278248653399325142537108486667573088047425677045942436886269277067358148054593048397725180331739800517981871812998353128332762783783645849070866005252591284511096268653515351334995125308942963626913230097183886284319898779306425945430015264514951833561435538492696174823713597808890590925374744154444194127742488148666072081437448599021616220504600392633605869733772745145744845926376823044098047548727787798456821790022031332610871391224156234369020451691302009990782281082912534455062968922184525758982648764368507174267608776131835087708504021607412612601861834830764220775351482582494611712785504038413377729454302917009006620224334073334037343636370928394068328280706572742461214305676799179581346217874690577057000945682371509535603048928733569352790775267476096294957974693651221134301407092805174746506690759335601288424219295106413928772354317368022557830524194953468249568476779382660672765150983404840646425412686894570657332396997341373221155069786906342809806590544190761452677165757170497731789434875810064419271139884469563470492257417277334242627697357441026762149633284797125235576167207715751658471650155919909685881927880403370127979951909086082775976887690188477256152167511247646238425430381813420200869225040319067166589944722384019434512977515199820267770349905361872123492097068507942483175389792532324779187640229542864634634566397937953530583086045652353725606425739509949716296889575817695943453703963821119763602675358439315431244700696522134919876713392748783845732148424315062565033996337748250094652531509587682913372525607074740404777818274875532333351783814711921158391499242300218160162314944860234317318792807348886890885773443264813751015071104204721020240837578132968908465213558218510465101653991861052281945459737900166321828653675839166987012292119520311670727102730724793702831028700509789891459564276559989088626298463252358989681723003505521738868050831639904536948738872883171956960405089273343968706293332890171485878551072264841776339997723900733478372225983776402364445841845419275188687592452289181920573872507727160798084042231319771718978763053218923034110082987811680455551444390629633022229858469204440669794719465960647633763236758741626105835233140300437732475336105150945609262791150872402209601183640657929045284741115598696280248493053260339540210808408419727774537829423580079141738140918410694551422215299860796913639416739039619522094788018907365981275262296510373148131529865845966516523004847936169392352372688918539531854388477476431576180551772093854227496627800552964616506572169237688014774829779721304618567585113424529604868603065941692052582754009205614659317481238837552178999609025697390085115309348464830507772850616144744948325983500183184840005084760329676022953656610745687840403371708336995171331676831824366507712219773324447914005542871961407157454141478612338556217197145727828754788473080055503280268932015624652947946301858145402765915631812912448038488744595792672070582538076222778872307330372015119383593084922924907122181178288984233850302559855556957588102004650168138819403302162472356083783857471174712734053197840087171249621674060086450246135564062422111126685202231558046219484752186308609175522266530390473689255447923343128427321910707987136472164295984671964510984314336102379693610789880890649336322494475556114248345672100218507971311828530905244546968745674722391431573851282427403786353315602447063636792728036642449503546050924608830782896944349525187632336960352612773274742832004848637583177401425639656246412872829136569222566410802695524683110366526670188500845912658852881936976840276727590058306304958918929818458278556736847429880774936890483732726991697284055202614524341882807535455943314231710805163714741132383938643263891606026188238288599226540581030419489894438276043642477008447659695568573287794667106697977154791870379979261783162726395505186097837731266582663924372859063728321605042194128030370581656867930385360236186220074546213132684721303616373102865202185304444306359288620423940833161417711104256429227404863801123011826611936885968690416070792906736305447935247224017999631274047503644096234238895714058758276298994128431197227720041364601533429496976531425820276579414763750845971430492295306274520091596158090214838192120324150295614194681865388095138369817197772661755010291784388293494325086513017123010157941754867531338263095511079817601151226363972135368352694770924996740346557319993420605687167883057759706104091613434849042894864713697259279320660791296849354336251744792521896241169703381340670472031636147701373912552869987639695897147641203068541656496655530723077342520358666570005906950127321271973615185169232043769868849967129112113238820600493306894774953873462419992404784192983997472549936440121605883627402861034777586418087300837578680478478501359041513591463933785416200576937355599058982681981733612195165508162505656681030645258391276559901756973060347631329863511596711241945553105950333594785623448703830697433898021767177448697039614658180750675174978760963189351283440257595445065055128744332096878602566971309579961623561401905036884440194861743164882337768933170328052666898117873696260897361783150493924050310957344986421763180422585561480510248022993195372630667432252271826922964974461271272066615711601756002363765142042036751919825386377997738447033804622674129255832509510708701249252071176420758846738272698698216167672758768669617999033017064118119382286408002662788187786849798999489744393537929950910312421667510856433944937227781926119794059552580573565911313548998842564955971942547306710075524336821810685220510141952330178664420191793752626545629676698334107523410465489176869797043989222848833925370020732166375695063428169812768061486237469777901507659979562927573756178408799736760559471615523199080325528761366377490752836495561177838898854887167353580708704842324702704248976246962718727045398634064895473612573855585697601616366578384403743532083367560508809550688075711979940470215534157115504825384309249071128508936166019924148442359551474870742169515877716322243871072764053989861686685774810591285669845074118821088906457017666639734620359520519723419424622170291472277021007225433147628710528560353757031724230845560880741745881660553697317774052588048916793765252562955048856601810371614412624099951445369498720361149213475401696936165856791922901182816973122550710624008253841733250594943014209311846810473990896878694665411391733035513166315761577141471071592667006281907783096306658850253289104815373832484990909584384928962898368100232116228924773324530720012248316910590328875058159779211897201827222520278431879068410720972617434462749031775114031428252823736396513103513125006094852633929387474367252939993069388085053962465841168137472986654643825018679592849743966618425735466817954707068375312843891557686439630035361036638000115500563324046531386953565210483710316173104151557173699539318079999284633054167538502967787904442311348067379952840974551725105585428550054914912803742646493407772864880225709908428058517860527038842636019259239687848356681505134737501894037147506177309138994880318001800171613493373053256579773705423682984571389728542523499265621203696608683598724259072439536799138878693228355272081851685086134468460441546981922959157836972688730875515446212216504005343690737897140802966269832082241611936911280127901580643715954766070058831669903618755106537897457004720613355400810533778159547590517495749647774634422230429659500064440154885672413304527202668003603853577469808866309076741719309610355698481556478991236882884763101250594570707129982758268639526061617937566443875856307345555680133325419279778962407532619839341582915551093802460621785262661243339328498903049011872246699427015067653690923080395577520658864167653707775913128497827347775015401066115576660904789248513385585551737056646757599101327272757384352379347044625451384155829057348416551573836925507647714669733268336703708202865785692932003027801959656379006536247252951271760567769201949010480449240911400078405616050831722005331041192802854279372526181562558280301498852232618654564776296433532792564210307009955517075456214168796936961950338975774494575532571220548286862265645657755092716606564614610543866136299891778279013245882232194086303533771935989961579121163198833159985258369900096243096430414845816881809956820391930119154732456100689615243824942706295214805873935853974705327450788742635176747707951064288326956161209711808923725469996436741144716434745237540438832482966099289983732727674262695900271086032311000186232392280824309383063975384411974310263265933731610671597552220561379933923454252289384446436541192871088191189227397600915940154492509346431475250791726553660363577934745285223234926333110858174930850826286129418526815709257153829705192119089678509772375978114499307706765925465554967977089726844148223458713395415575377551754044813184328442102168999453125041370678661960029169436445522447464765272536033946874461261076927114044389630270659896184319567925688720803108908027117537754207473427284113432295623852653436183054575388468420099179190640440853669096139544157808553727023466884214115037958606021626864914790439857740839558425127929810617845244421201867223096105091401367828629275956357805953781079270776745255419709629761918142048415578565273420656780868901061350733101066995247401454445259259810087814548124973778311155314052242436350698969097696192404151850164939781547417190007319727683195243169223402825011401967432633313655866061493037008617411312733186894441424110366176934158760243584076801439522488564973540432004830630302538178171948777654881856840338622099345372504078161155001991989817590555041525546782221556929695581687339185198749509631213533577946703603741011730699626116362697985372070610054116324558572483718126562654865052699902297004013836407290378926668933954244643254495454619384579542271721044867238194062178869405528642696430408247096532571946207777774384941200680793158241666212407322062469302912633567933341095346545160763656046048874521705241222089870122635553741630046348707254242364313077093113157499714309291031911923301286245879104805547294730413558968358187539938494279887179050276587985636383138354234392014117735617678588584830714230642708971936066778462808372876945609859897555912639662540896730716701079458813577891442773003193594489024178996523276609664167352684843362988984709838783059546204236188567584419167777246482555027402915211057486051708632729887952542737642092260266290749826588496397974458739054395278003746927083621894194055853208361771210619792686202549408202745272268332811755643770928656261871044859517365133741148319884490154167132032474884463544009084800669471126576219723473239899134504032211931523123272865946487361486274312262450473976739029358530530126583413706664685539779402898767352601024375870343934970888207043732828714435423694203598372994859545641003926678914349719218989966034325664324762305721149071849870080211546021478034429450003657994866814039056250256175466751414882152013680827480079883132064245998840313540903906107178619806668591900620639846843610161476271083913349367378906167019121424685034575249204608627580028022593953760497990631189134560460505093849404288696794782421761608254406903876518432323479331511915512842718119990375186248725467163262409153096287397904425813115460179809664438231196108284836523389844306700758053996378583085805874927140769054224716905467258963506621692543727587720729836678303772914647174007413183227129430696017073769058532492578536414948960595587440640578668024930872806064793841855688059911250712578175589483756331320114237395081086504721640091152495758527707006195920878342776497612441153031084323745693286139729540101658714098893508613613967781945036934013527646658909727440264413109381182742256864055030135212756661279053581398853433180473299933388753973079790167571685368175132171525321019733758300651098220847830532049527304128112696265071552132572098879100908000493168630447091624920570442770534539028729885531922129941559088578988632020542442144366198238603611008564711580419037631524864102120805725506031880533292181712669920595402067074101537019288356453547959481237422871146317384810758704850367962870124466263741759727195969634725645012537180776258966066746257112448810765504934391359133798514121920945006993982414285673230671423349946724835512964760909540211026938488431389962669377866785230263298875444577605130886597911912573754241409916689911882558879423186836106205311081075736582444083309869040354938867979507904223248510606600970788377099399024716814417191971430031043382209974267139905061014563984786010363247399162575515755825758572302063777771251635004585438037642328415124988961254881512080418286878381860909155699741307671124938837618960660385537447420079945570558423592910465698825764211846072953723447991944149952438823197263144712748705716602931988523452041601365382775153263279199311770696617923943189053495557556344658401416090758390899944292554241127993105855548604544641168813721774548314500837883542176839873953882256137249522720301659693011105765894019537135694270018260619770178228023131406302363846008762452552208965705697184026425687148479384057387028097987472298423996172665324773331579811445092334128318459021242237254679202091424404651170849055975752259485008959283270474270294215903368564348259255159208945633095301770404019868406095179953568091912993107436326364552710813555384660762816447553144106748196902983613976012083447215972730853593481183043592984759264408475460981079042775625897005084569521043178436935646564568825838993120097831793745801619516239006504293480643478321041528377060667398458914208946719268047150165901844408357422445312932042531476996490578223413028351913550034355790454153815038374221885957898457971662408547331574825694802783133087563866152158806132863128673228079494081989460623320816581973660617745893464118714977394509921547653845674941917550102855446907785525740424723052416399274190706681542544968837003392799152320214942648696365895056745122126359390370906549076913299726106880994713940281810431316470678988069634671211910724189702982678089332567529166733011659815204141842731901269375873423232359425912704709426075938449090567217381309680299207362900154050530745836698177882882551353580073175939098556102808586519322261763329776485224591462665995929509658891863472218420036929121506149924077202736005771403589461326990555985317664219675193836030613561704353551986269458676111067210820115380591579284757784408591139366287144680527943122826712998411161657293316906260089640989581478131330077150345100622366586561894618150142123293995135593536044895907087645800551148831223752093033740592004676725268967888562799167669169276039698325643992593548222067054976187520666369882368335634513986188653820678397917724106898002634153280999613149009038695060440659334495334240717301414133157109838297065135916881766886218725622236245787448045835542638783988648057646272740541041019126023467082820449498182689465852376764846269623494755366497835610123286170471570742601587925731789973318370671942537710076253930015969049753952293535079737539082094356384663538689878702076242326136000316688502308956411814380072159217575495151175873018573472504682662546203344650252923093643616326427744474184390397796120349622607592122161919955383395069499983907482324662455752302275119822398376979422488557825110355183081190184662017011777889925647147038404212060637914578659293677463172352592053602797308757501000593900801563892767836346057915779339076964811071403238484259899760067947554526847761682851446501698376009538791355769927506129282619392497425992339609837871695304358228248112697289433040732183855759382111608928682884691607141430330679568731901639658171864881542483992690619203947956878811119910807216508175288950752332025633162060683291618892267416672870648664081650169217144908148332887934288343314201509449811056139010996479623611229425632103125936082338624970600964272539343881408134173245120650352748548021267080293106952617491150006327887604315263007938977680524703021436345004987932313725329868325870409121620003087886058751538613588566843088620543768537978107216338567718603192703423429594277854311850797747243344164983212216188714803534456196945787838387959399079795482151147685448681647958616311014290942832564606791526032324886276695646161503627349047166376753255541178750559927081524427482144272550229256982846831487325830459364661985105255654447450515403682311915825254240008113905665836230232364513725235124312875025588066871722195879517385581006041695918074504524303383583813756884076417048494817140307515089335238422609816185325559321171543378357150466272728411800856800248258391283983805857603659905059735556574375336217922512223067254773467621417776478563101436267103448476287761632974589759462439942067826962134076077382910299383568849315332350588493028023971261752014278516337723107361358935379182436402667847708116541361696472166981531336755120988809145208287531096507914283176303465223767974169641091741378232624863929712749225993171613101576357875878502182757153326148994745235298909549720631868914306357705991167113525658157445990394521226581189254888079528196232723433572405343044359621216129186893372878729289189313311937323612332384666278851735190663684696959394701397062076216538914368646148175190193790885595259644287247559587436029534578948525141093254446738123508743389666641143446770814235602155860911151235613184222183844079409387307688037002148153801590980393879560991022745358110477855921447831423044726309927447914227898795824073229427011603915982865108930941471986242463878988379779040840200154015473868497960227871635788247143467051997209838521353319057405408714988778697023333401687494794581313252507523031759093408127970843985163200676536476871953959057428155311912617234507011946514323928584718912917229633338319343078966746990651793116372104753740499768130550429072466503713155027384407226687254697748940982841704867527896481084205386295547618397661234462377787444882460208489825091730029862626308691264199406163345744753156797455667040493856338508212650180652174866945400366773874626838833670694375208123045114536668310094133080623725598457762815322282720894182080171996018382228942690624417225681653745328687221710596207747864717424103326954040689205383882635930497939613933153855905126882728004554645094102923594544488320843155008253313846250383771245502536958715473469212748858691112095567014861757473876147180080803965434964461505840173747668764977870940437765047874197137618399593174375593498027816151501175495270431504774978241846894197092563978795635647416553592143809192496628673829394642616735806875224177047776039780273912759228630362011438780779812287634394047802711254241591593684164948241636315235371121478418680001160867075343993022532624371105844515522727627355517791914020374929621240209838380399262534990803231889692020351328070442645843277738876491657151604951672646064105056451145007214340341620671531024190116597201097888876939921963972782985648530340486572405832384468294353599515682868988326499602138631951363816452063608675019140137253383268096825041124337615564265367083626332755356048629190322394760192304635242705930520632996915962567299609607156573972277671948746568612683521080378824333203205237431561892654805510581750572773451261614048348967030527730383698038902507866178297254191580449478098588649207078137141059030996413955360970134258617544351166528192225044024557022031983571158757494918460289610989874762996557736342564535809658157378259229161618528731497721900405737771397550297484304580791339083075372386379312835026310931112036493975646919013366737547457163337664827071717488035807141880353850597135066945632723789038082036244790346852573778264049433811698571693590873322287174448861107176309725480055012625482726881784036621753209616390288171062300270455568103133799398195013029015806666854905881772283768765396853406551735805635666961446882150694619325294042534879056834988815654230803504688138403366794962919292535001137600838472669978714041527523934672102196156215573072123272475090321761410223339960046957437271954476256510228699238476424747025795268045798190915452102520756129396098716577944129087007858326316275762389719589337113216374718241383697076995247797294385614329184512283402032625595522587361931521962794184364979478053775574176849267302774141450550727357815879065106523329192077515356141463390753588670512916512452718800994869407725024841006633510372672258379400818832179336042892329589691066851466715463925927170271259689128681437619377939368266997535575456738127418839296182280001371368001046571975993009754605110992425850513324333673557507053398340726065071229220365412723464411472937320909840016839389946585182583782198468491453318074398159344950197112460971850706164403343931116396030169843659810578663616615671631721675006370044880603756353958558813564446661193856897985791005773574633859585562533626985624298520546369397937545719605757316279936245989291753271785223617162132590353517877392541021792306466899554149897356322489454125857710942644160148599707869852587735157452683815154883675733393821487248052836305314794850991389627391964522471695280588047106109190044658419550315701226967058474838010491371424470910953446399438772185235923020569732722890117521949295812639342331131945189064616411685736248603920996394372893630780366476391904039195104638682858152779207027460340572623298256109603908040979530668537824678846798178495148922974698397801130046687601515519762324030140736408130478583105696717111946130341786470997550187128178701615224282597482275791763304444618423057120137202506931779408898381456447767797612142125178205791350751883751189287916364051113998205008563412749864066770294116258611378773226993704836625300586991362347325527593118673087486436274597205932389652098401178909449884390916723452526042687739513089529173572874379783201629592925213890033669894028701246019693069802596469862253927530298662354665836683053740877378335495688656499713525992439426348858233377072742210127462434497081935037548892971350347875760870035986872783868620228199801708730288508199714484443786638094118551047681308011850613121825726311844572267336051192780691039795319857025688180693698349211179279499215223174807885987543286974281834973417472582020282932576790096113720477577157459170471215219526578077728746646877127848738757233752523399826149790714180006303703188083628193468349335752139795090065912130023267894195580237455799044388289133304468648208675074450870172585127174083441634084045218169029126674024265493984275445610988295661929334763438683486028750108392875621533251597529244947965819377453190316471802436358118872445300682342791189528265905820657140699867969238691463437847768528062633379933372001252171437776299416505671335521191141628167661650571670795364606900411037826299887396988639624433159513709682499714783982916791174543085976142302056319372358032605728203488447998732070192083725211820063723744440884398345226404906908463621435365766394415203598828639460772637117955625066587951538392256699182835652331409524158751743170147752254257949014011026880291638326961742600554390641666065236879247028810615535020350484730575651520224092115341280033179123672347600426246437877561594417303667490186927104526469049037743465807306250851976903108251153403496417618531045681191662648859074360472721888313038103993703565338882082375868382328157859121103497517650017402270105999888175036488837071320860569982343330170512348752578805351241577818551734561114286452885516243929316494925944375472267808643986511245777107787864254208246310275440175540624323122696270039894758376651259553144861866722128939276270949295173458343071486947092737259960185363878843313336494996421537200747619205065822993702716825731577810409098158785982436634781010462084686537641275630450588856866832665731071493696485620080003189091172205901591332683775982606620984258109404116093434569536373424199376146931783560401448557773343729736266511115481124715946894629655922952007387947418244164887261397194827626042595867323456198193604899689935815341276994725494165889721008261661711405235387362946379865919645667496063013114128321439280485761934067543818008075112522266341302394706649587595369799388654484754286367936457877730099065577413843207512806912391370822857158040521206860182904455676102838036250524421235633457108481070572969565394529762800915124062649888620750208731661702372259539386125699596614632778142288104643789066922670482602234777773723545283946614849382934308285148016600574096499019407111157713903312405579073921735944313624625544967347396597457108835175522163603358752864776172900439904243691170356668222781816240104462648270228838469807628451997370907337764903317757376168483893085919286796725015104562612925464197787299398861570472447017151702563987075801144805893528781979285446894836686941153982376314256966505036120388018711533458149157678347005237299344540090574721931347105844474382533583286310640225643632868364130299369100057888945513449343086806112241977020096569017304175653616087331153466583510514784355931183312403591124972340388568247898203104101209058815278437990230093594631286094416933938051346880396449730074041937467222224140941334612342297472901509811096261816888389921305062227907281978753558305054373421639122264540515733859482161456166306852378552665914409465687239011011955806061453088064277073005150478898704697450562781462788082862896247514932960915806195663285090588303158772335497469005135876175210392282579596598958552891826503681726696375292259819426482523511281981290242370070819753642945503683289446321265499108278346157712700781860956393653665089851196141904090249969282314461295131435448171843810895272350482889585756150409429095775149417820386013390379944971384656065565068683877686082444486386710623625536007354746408341743342064322584697268551789957252897471761577333249018938254890486974585010602786947773523492067157749555791809193864107527742658825024946992750480309195336367126850305158009302855074921957834962419621806028119167916522974033556461582972056789549299551240213613829996631616259672003462899253863023831740630288299461607378176516477551894613376045016260443478898723650057244623105434849674461399050915221399664718547097240185154187739904768508458217200846116281188738577315821237885201332594897305563717356854921944998723336962727747770325011984320203647452377097192798774323086620886570599305709051961755363047585030790993365650494169540495299701488793428415037014882577003649334048809341003334710105049212407884260119176379987790654187672839784200769856122687854382493057698281740474828962081230747587582361320669410963063960055494970675173231760821074813344594289416655997397448217659476976547721333068457138466879768533090083700976762228331105073640013893441329961502696436005059326245211425657682383709083403268654334307358505303151085644169161213531583869047147439542076086783193501447026307896632537807795682247478633071141397131360795118521710998223014463052173227220542743047670699488389871925010740660108015946967325766735963896448827958566036888027536857624362135758788867114888192092628913443453813927955491276545647160485109039419502675853826083706222387393290624127950121979260615132205087714911796617386348461715512847549004871775448503520797915368962997286513604139945767914282828919441127987495736973235195960746232986713797675690960178311803925489725683597966813929590221546102024973076733274468701061028434901668323460726614549918486525523721747888484598655875591362477777864579151716810867567419374939808989342309302665009177745463927775502373270864215105966757808740158793261586363765888420760582675001669660022799073829930038086483240662400838471431508055290248094590701667229935581736802490949389105845139009137498960697491978956531840895399076709391059915843153437782550861409415137978868580116616451511081877169403876440689168585937366838656002487452776346589337968130419505137376520620192220823172440216991551352712956802865690959836776583490122390653034252364405948051797138665739228851694604473982959547777081020359175884390028325491641776039869203155745393478622751725899332680428440103661075249780338127232304341939812692357855806267460428525047552016308265654097765112771458738756715654763431173003585784123645427669644380538311173802339873998882191798718543444612563982946392562071865817330680627424519293150745828032180648199272837641386291464866779742279880828749182920171278999100988844653016836088541675667394807213691258260701671477660112997949126979176451744543861701235499247797217116270698699034447392964130789183154648323479764492766808963239124171866251924997312838412446887539797268493523575381787847684389312622898933610813624064477612832109465852085172125018769133885019512292635385670792525929315572706387159371548232816913855131238323928195174219268572495993450971119538706212241716919514453542759188525934673582360566942014488287787640044916130572518792519334597802923781200080103142662340802229484154513353626465743495933299053326569892250820631352003608982477793944995854189455180028601656341768232216108370072546646678824948312418229537302162419113182252653829209448666094707678736358388089450948865325978352803103120976405602558233191217877823838484431495455893515835098423673119566721786468056950458596429163888936342788378501069940955024670373938908561678544572777408339116554991220956883016445823562862108946695160366333600626188093981476304901580214461131035740826996075840814084729944394891629293585358290649396086843127184428512621492901308439703582984315127672663077541646204694234112683140660514896568971667530625587615651767467055575607133699874556473165913371518228777107373805309805472137412289345186177770751897728030031487773312087331611344023312508086740079002721198579715251553813438985930995520733238550626939456926564359507197113103790135891504807661673749701993409280634178153238962444832246927628325444976145137500427950808507626627378273617022141967919044781133074211504547890510380346621548965506179384314753234028948500948586412782653233245526146819591035314834034447365035206394660698674121371123003585333009550390083743157751853202794655797231936193316337525013361001529484370210121177772062454777451963799589386459424751718777478688006737871146188343450045799327683220186928800494986273152950812403802516499227401365729330140212646015508992362500385046721276911131692392986642452234233561948317968381964393728508699252427094476981966480866868061277036701437828672230948438649114443136590518340691143902279404822056421703424822492161104312195863850107377353404510383602466466920830760495006583240301573892146017458321293981085759904287714465102919718812602664648967580598898943763575418350854437210720351459991897490328441667267431072112699829753163366244890528709927616211328565762455317385090900343561591223483359356454823840619256019399160992655182862737532453301448274847555062002203356326552850754302258556759830772186641893982370137291663694640129917133959726738214776941838941952613902974246319586957308063456257747127628429957148501236738376358286075302324509266915179821757403440743373774858939808588432919101945616576773894613079392855816438087211969076094156295000577462424693649374598025516215553104351427463773816041779621055764698952327350436331294091029768541632881309188773097866964642561171799730974353408599613332925082471238712109725234728933924406444326541917162871721416278479365776695683892878883358866875673668462352225989165749860691657434613464018449959126815694303773893264826196239320133387889695107222966442123304858124141567751411532299971445738067244627694916668411213839820584347303615800221386133771568913702378751348101661588269977716702310683220159470809368124919370096796582492742778170439550140761155652727492895961126796568091407461137623599480475224280005907528253933621606018114268400938422260998482803739706060390215371754966672550108900685240977913803969496605097204620598931875393191369683014423987904105575652113402468217609106900977505371814628986172197011742507463148435612124045075306174544427865985605502682614144118433704958088797957290781172150547414437647343157922620950588894340391009317773886866003042373963689568681708839469280622656029090542903488430054589198949657353655456128678414951553655460442590094078398136731607138878249599566648666981601412479471342501248820853843510365834909010055045495549788263647517494075845411925912464863002750720922286142981924286539525469533297601773526404495005141545817186029969808426582989374722327502570350491613951658124502446333801557274245040626075043108498648842231557941894165904404705175860413088284765616618925642940474439814056352183004487054269143646844442662769554413284360430588368808120651068135749434149085274097260656409944427069191027376324240995987106283976529412500516249171382362461170943364196966678840077586053832613352175685149973153638292794298720900902848843356621226586185001458824322532982467632546259381726917045072003166459386845819355251106306494116902981834103043449060537042809870564492666848236311336663226561630687215294282869689962538520272606898809588667535203064282172498198156716522601023300351848794091843747381939896785830690058211971239183766404138281358221995017888912903451219848925042691666218796843646377882508325577492175692871504926682760947991440777071940317157552514524223984068319192273674959824860861577056485808455326520221268229594345560440597285686249096262866619153850867847134230659234776966911759995814636143107545655922161223408018231617575210263201632497184177793416066268453645087989165200173775463566624147694895506799084856987043350326116364639156646812588804150241570517600602750310519866412116396635988428032345143037243730544389126690560389996351576144955722769541487254356853753900656240825775852087620366784505208391005331541271440602475667056061420496970770475982864316615287116125589610894991013159807315766071864520702919671969614202167182472765808011360584256605210952720924718489732674525072292924974182973221353662815016743140490021873127641693513180562509897497609808935628613257279319848039841990949283121592715385394203386680660542742448532572324626652636821991706220794354711673966663748865103140284081044280370814628136252377350779302135570239249481038460263863514699548717801307228834647033964697283504143928862807230130361178481179722550635552927314775048078525743043047163455084951957634330691946136513439035639796770821291769708319956312128298610065617501479042137684073944488134396982969034672172075058474092563634266060003371809143190921623791483319351755937736499207576636298929935975592620697442999260135667717851474707198546199500324315735868194507106428244374227552481259609905800944530492289913289863891243544374159288993188994565428805594908425843185550754356166653054223305913590592109719015051007074554351484068838658383365002076507592885477041456434045239870570241271581527050170702429416319660405581902846591396841020167803100797461653723007738515162994491861889862058269097486558409744037815314037752560549192238154467352537905848996896573179606609988800650580168558963693343339606010896120821917333652256949329659570519089755259622742870529739523174015278803728632583091013156924982745230799261340957711885797097735391137669166424765376450010328612677514270784637694373613818486520113381668353213131648000963623109391670561203615980946432668497217545493950016767994338892442253325802014133344861706401015015488375815922036450814304388189613326093676756380005814369409641765177932249569509604110815159492832377475850933233513935569574969731119481943560923614025279300378195461974898833471770248332253351216689046196293375432727846784477844498110574974594571763930769041456620723197668766691511651395875554816996154315613375705857320110769704721363987186319653732353197549202014202569172229344038586235955145197100988146772545086795959399836353464187521379607486078498156342574215230403937640653970886693416907532639270806603879076219633035460802127264536607135270473715105121770564421766908239303443251954598064964077041897295375674408429084150193868420461440268206552332831756879556585274050198726285163841461830239232988955128660904329883082225372150091487455100841792610389578087515825858287054989878660902062467726985381733368327985504071910873700318994836999761963440257243459513393449073011289638074584037232252689196353763891746588409294413652217465290970307620566577584990983681804185065807284305847777259577599027163491761989314040359738422932249598551675379034087588375781217117165029837098916344962025108681264580041792451369851405191459942092192395570923793481223244831321860449941190969508754928302714037357347609261525428979971915096880839163160931366185717583446707584048227889149551536204827620450942664546396620670202472200081899153349479686897800022804824387775899554844670027717216856109805155746519809173378046403604997557762447229512368505763393970455935513999683589272017787177224700991912183532115177011409720313975886697983438013375524099159898471083330766160550430482742951309062400799905975847220200744923272409799093924630355685479055751162646800953679120799286154796982371124304914474630682033082130611613513828072754075404657155733244185448931998652184769045458655483307701212671463894838201555115565268179748754811838458117572992388447100942661333585667220653479036024662549988783349737377314587598622227908288349480511238915684735505896824200685285129551371386135485288656193081069412301499368419079981349381567444344054813666815553588676151492699837971088826030053651748260114980143475252795135299939852271268563968531143988386337204305878747945478928159256372616550268585979151788393141208064757063735433793003966275664964967690859062061297743139980293520806294302059088413872482240933342832209981053262826291478009914419780156984659256597192325706579257635668715727945787325623358111409053908657375435759029803530481419453527470975531523596501903488639264741048398506528201518088064941589176097909690418917568249615816286167807083197202544636283123101041563722180613031786806227819701567197977093543483682165704517135594546726138178979550434536634521920193938908583636646673300650037193260996047380271416778373037086715626983784898282005972978377305725264614506849978373808959375131670583929219006084394757584653564194806850508672296094820179267889672715371990607708499899344123016503208673780340685458786492170875209634763639531061141360184012840974701198687956832545049233234304848419497288895109361264370539059118184213774567666188975294601426553117957788956021769020169278476158611340905107866695544412761072375301014070714799732260217045294184571524851896315555284619918065405568638185372400319568809277292469074751672097121474993206218328655704609249010688309742566237306360098604690073581237839327597855867332638199554143779227128069899204781603767813467164169800444196356412482167553542564952874868612126250070764739838143420095141129039717127645865324780066489191475469115801381207422864851748359863169931403893283891193765620353598209495817758460383642330595009876329591006158022875924937924044799896027198432860684781507480022726231073924066832348952405445470495374608000722337941084164175484258219655831571703033056271968546490515617123193520830158490929761577110570731954910199027598455732734153985700269331730958261195866640397208771760234515257293689103385133509123209960202525433961669149489755406980991218012738053229534483894849641848905119724091360050227061808793795800117427106190699042607128672876916991468064383240294510517665207546322068819488761135372515477213685359802240082262704217778277819968785503976899374039112736789006490252919255869318942121425635974560726886796888365659104969295680527820883702732903552523240264840897569304117069407376423452281086993440473122330025109463079512219658887904891315766269697575136838072172288597859885759929884236740325711592552460839340775597000306810159248025861776881327715853159603923338964513377652132996675444032274136079976847297626674003289092583494457423382362507875362280173313865879883811633045961238324788215088647454185187905737452124895539883583308649510182138878941518482331339760205524988935526345558980735482873836101217574173588750459745707256594540106077686946728820182211328757993298810802438972081747616355072591068161633079221326239338091426653166674017484386925442819191917947378407722915899273694815439309787347695614759075192523012688046050532761670801711555454983853857367661374074885204000953277973812231179030114619684625433122642589102462540703364467738280892540024443362231579453507971857055562746125931490836829172794309553986653978906888035089016062867982973307581777034451618753458033639638428824914123586443472000892267889926025567677760166543293445364405630652990682226930242005228145782523040077239937804386699572536150036669931607192413123313261323159669368240107746628980953483982614637765023255770790072063880383509832715284202641394871993182516411903067499310780999559659912720772617032335872117913026808098468347479663713448504781115788039994808877094567480776921855770142651495977318955681533802234910434938880096086570119330902518655458899880698005632407961655643094572619323862748824523055866129756944882403835658737946468993597333048979090716812526458090115319764398759612875688319030441848975723929222070185656681775462403797656451170246849450439881825933073879471027445306191311343710010928071024485544219895078560670292172039328304381245088071144673842854681577983153531587013675442685379350254724590849162434675362538205985733088339695434379518766204970044567222926568436276405848398344256856969256485149731044479322499006075178133998570616698504046589637700007624142392384353919428290212723293777997560457366579099191388109906784728545009169958668561705036877142208240559451608252546905416328057706666031465451800139954156678492023001273131590964285084787887122394559315531435204114299194383769669903961445550603761169275858777427388582124120422786047588024901978704703402014404146643505335384263931211940109043805505588276736284854102091519906605410879031363854652814608720000403370615480299964099322949515353223378285669284639908633641518279209342503928460149012285104449687261796775060470685232086239713007492306667863022455050203091755884039970299655806907287287904286854966863254425536760109197095994190785964473538204186639140564753727717414479189647321325720701527875436997481826927987464314661498886272966380375389099306706994192874624964615132513887170182741064097302162913470403779686274593089297899831137563073014066654584777920090333084289222037321378674325629974371876383391511568386824776326131662130984159266376245890957373740811535741598494979120548574414204679493397018998419270627015047485835984571415389737107181368478014416082223504778370265606549598221571708615792421057646532491756656877529722600977233739551317688000177590253375921386139601677660784594298171635964610624479033383080615111235431074247978594309660736511936983195860254119529638026004206355878049608835904542469097588422296889370020093852793136741620114952603144460436102556868394307893602908116764592021364388603074518423788614442512199403904012850208489328227850642697108551680855266428129105521190947733194859154398802262839359079039868683750706912182456402356352945776673125520572523878270976107292766635087211270231358481486055033870532705000786677055109276922583831846209683170834380898731538997862828922221443639481891174724752774036609513517669333368464203810497366990331866185012926247914726438817284375514591422291946244991562876175345155395751102670611529670371898543934184693188685587500753355112282138759004721492080333619662444962917704334633049196956966197971430214873108240119798143753113425424747534395319798445361923122116786454131875104888697763295855252232857758349896407584752722789908539397885730741453782241131856897727734696273232114046776701853453148814697984741768020173918841234494830835516750805156691179661377263317223622765779446718761007215731749429107552909213787390141025551766081549877627483217724454669642113112623876698568380181754466030666727809865268532217328668640994828852714335420306763075500175865996246595741103937337936989527467125967996515595437514747931403409181674006217880125478345998963764638971977362471290502381571693394083655136582990659510762898727031688760828020655316907385855906162715075587690424180168305527907210111310295587567455069194128075037268545668209438414556253063842129592339880646430336962307848263724158009156342599112784101348590734884090128601267661482715053109269950325410657092825700041483957906901991118645324382087601317459164478750529172892378056890835937309974286450669856003645347496257027299470414212621764506120375479657656837835748277513754810390327620732648618317041420182954782171971788784692135040209141452675028340105930689320196105790073177673593697245633063711740851416200245948110864422669295015647792264985978981191223354019114478563708239323685824984131296909200572342644853026398188284422295829963091300103269111420131901747745907208261082234086499804850804767774158483469058480203956881145723369843837368520476870114419584413928731972195168516599460711662914285439746045418339578008493224413410288341564414629631125916956270504710654747807207131079805274862437784981994677659348680001008454557453662320192728187292198655257882885659077769824793885372738302361763369365534248502507388604084436830814445591049422006438829835573170252437137688753183257029735777495897656704441151250942002539790464664786092398917530608614120795944465754243406557392825206875919748230920819018589707296737587122990072063213645807234366234772926877639910408721095706853990824236242252600934029117981379191732097967739881380377485598392184704297435922822688087692787057176814491792460020915396876131309535586471371221405058722857588247551871272356940837713489892244918024373804598917167290658226062172028349860479088725374840343701028495135485762168457688037609674036709227867722570014670295633329795700550702266503885221086767870900586610659960581491191216090909058157803236474500036761764404989040604114887688066594725859036668550231571110905662979046691411102001798286059046352869596402120321392871880357589448210574455547285279692836855236523085102550980579689455326224900660067423788268859975306945510638794277665959559293716752633768490641123814076301224076375450905795832104579584392906770045674352558265699051578700587630765580801331741697965133491134012493504369786349447924303284545106818083139827216096425033178908588275263422985181921001315934627106044732320902658688264779128963255632583870731710975862352396725348224750547756584837112140057755408345687727625056370563440516877208225893440695012182165874432899742562219401553130025953790418857035426028484298398750941992581821063916668181765978434105052610557145735633010075528495396818253687800644146948188031277764588525045149851645145121711236134024368940164904241826990781356629328840605569414736663242116791390359568333826795404817193846854902723477191911318733266917485520634386363309394607705147324321526459261551324631300654814899822737066315295368552743236700213065703150252188269399840103896331931126342866169733528042557009656294591394897334152864613070025191065658086735468328424112985005810954865897679951717842583452704247776154149307088483493137691317608465819458829055680578136082880368351407089376077277722213407584836184075322476504365888969913059519825610470408118945424189986555297032191594430475885194162068684192448717342753683262336845127140206022308509154172552841539501909247057106893640328463504537365718357644519676344584556100818309175346792642423994841999280405329595542923990557115345208914281400161365601831947349092094021808620635630223563704502916400021074218691531179434359998977893629264087942687324070684965446732760066661525999991086617258057051481512286192840981039644780325181509085276376222245889111125585639163618401671994465874138385216442121015132969032314574474486050899774011055702079965425476470207925231016058765046511680132827703484431603368112848591865945238764869750712608694414514457285985545142417142671123173462310186581512782879295490321373108112999922196597977697303063045550067036009562064965517994115614995253931819037919236012398760325846476012082579980800038721654047846319096125711771474059779227888736343619096420709591216346627855279823756099452867260879218632140358131304048646277174900720218002474615341843564711291190862307857065545840181735331788813616849035211552102347928029893312299491071455212073746707570187643061593259771848921711573281008572009336721772265025514854392222560310268309118473792465261985042665018732749082917383629636791636553894174513921095135183515616412986825280279554566115228935283358722928720229754587393345290774311705265663114474071428528989769427327824757413617373690588455616305122298288901291518659909656609121393876547714220685178670062164372326684513480717082745475940586935105372314102544431404287446926123000646704317507684663687371993624315333684426730659062755458901013312828085581348320984640814866122105214470073611660715509144796796304845806985331587621789121349000879029800685380566748138110977502005361260823032798769164437050150275311528013870104917017704186720824229960551933558566783221391199437201986251975218983509646896074272207940851095361699675785395348915779571043148727895606576627389498366392718307511136827990560541693197046071947972725452732095438956779208916489318129188544495993007584883687910367483011747129205716400001117970383578255099729105255053445233682543394649376309248763149637803117182777877364987848809813761110502500441482753216153801026720598410665395320912669514464033112223497512157315074411150700782047610045435943847504720720095218897887734325564125062481496361292356678815317087932992217894395547424454104637281005973512010120608395544838750957250910406056240480946165144583360381767575010606477960740221456411619641855414289850192280538339345895657513022199340404994425452387028492965803340758786926835079428219841948098751859345054466355134925550193832522754642622365222105433941337184748311643109497194863407921434254290915321068880202114127867522098919087466508857864895594838427714487279145160220427049006791731010730556459760924394426987882400302796634391957161657635862385807680985772949810606510241638250318582345164898606441943556787519489442538553130033210244690209541740711816270212913807941770856515195141202612511988724880244364927691681862013460574239687334560265322493756457609431434227745179138811100370261938190378743386451744185913695936214270606272747535513247381401890566763932018033023528183697808358253426112615709209020985124889668013430985793450545711986672933268225661383591194624120884872553615712157568095823442374764432709548151627846351754524219077680737857409705660577852626325093526671412412076124876695468829270265116990620364413896073685784772003916023516756191938899459914807860838571684255748859181261146900245406680553821764084632074932001091413580763271841439809018297317156116768055924259922007727184551183348863647778469545789747018160850346165874449886905996391632578211012416241525574808027872073813352752620058983730947845987185906711218777398612439112062489669426725813361129696735537582902698824638009243607345109561352421031123358172681479575560283341081945208661848514961906777565160482452024425993899326745904821702779584883005162418600751085669554761741087601794339774935443377897093072237030846482695264159760483328885500882059604374679652872510537022886079457745888635739742088010870809909471844043764097840520653944794323878837660842228299456077012393201102489520633556440853775353603628841125977235039643868397697052664678587127754804680016402742263727378606597644733524063083429320001444032587148040833435780242808725033389169746379261188764686245407072108774542264668762135318210434593062603487188566356021918152440008625582311572282199873549447253644224783507206525504158155432439199428868867203978888133700872522744194168717886702020076698618768340713864326843165656296098660930950936501820129200079953407437892277004385656376129020468506138467852444688912765121327948277082564240154460838925427616008276692122098771476884320266673260935340790713596740763142578986049936434799606260125752582384565929998028404534153224680474649190468088688272681814126495286623302861089261507789207943907461158873538952343321608163585475470896649951150757457736745963942456214906613273411672725490955103314192434274761019081042298040999894217425122777334767869495411657139600121111565310542253924530426537789849359645189942455224458681466185725652108182148301361986116250789096757641500068594989114227117167221117307209235178596508465838279679471122144952467681361107466358501270457543031912492440452450253085202974685306194801661783952477155800513515883887138418082391506295999249072208045852008787963855915478346782274159690651753016970612591505740321381152683859180991311123862952697741914146480598484303876514319316733522912655965645040362740837923823437723196658959411758684245860135012548718415159523491140864890772493439862161438534634735306533756537313361385778979504774014019382192824110530406462010403729531424673517543566083821356618616980367831843383699790842491850983988028833808189355193064009494307800609370038126484816004502977907784089869821032853561520510848685008572789489788727645757940581127310241032043710776015362732595247419744108762299562012445390777329180635561813482123683602831008017366049152440443680153213020663729516319538667478825184460890569043507567769486114516091180628657776680617308444480913652158781556061103766709081346256930247475303581089235189739512269608204515396867559885005379682551462627414958136487518190396554533903512017835119231246445265153677630608607756656338350796072405459634536859908023144746898331180825561805008053151833943719105178156327290572146202778370180132590080235583657974094580191378765035401046256666749922556575197412973492214440378972977747189317735602828809893808461625992962499415892558631904148565994534445317935539950973281412332543325498094970137118301128921298857371552231049017786055238530384299129606701843694738302832015405649537209706437020359221784414348204973969390925013842265502270693976408883304197911569335158886939378399638460281542055449371892255342553905210825599440722217731051483248851908668091183019097427482834681135753666340359711797789641431075800756160528844155360437466632346724001965975274776118505618748636185904276631306699269573211913627920959385567156118170553111730573381937249428989055317021945479412359722825562261689039473817931149745236523028398175596981736009831508947881282093547957097944622663269646226499313266553474964023073350619728788897345841163420533839433823165128912266754337384961545848941631817649969829368358522096066122475521409026476211822586025677727417453781451439991260167142982337222086343836981220044964162054896155710266396410733113508192837462948164042583813259440273117735672974362867105611813657550167041860722894453279083135267611839969820738966404817468420645884692962252847308350920762010332584769307945114044009112320349017850511708382540893098348337504833422989300011396915916996105007034648134552071816747652415539102625200631982271501024209763043885083077956268794812917003864501963277035967172129614272239772270858426920473555621921903139819086423278827313289655556660457710295976254402062425069281255622432307242223757803128133266840501194848018875100383160888855340360027911202088742740108576338695459092089935344480094457918401261470858353452957490606868640852686791259567613382486719816729524353796523158977086395170891453196112678823317744416957440043919565992111438960129224622981558846001790266234769691297621979384582974759023396636806289917541840082654358256779943178671328446182527394696208818271918745766908383494205688591736448604010511989317401173737936192173724636001085348496409034154739578345728091141519606524958818112311361689155379720407386479643440690438997750771492276092049913349715603041017987083134249957143163127203619569809921992153395669813371540750385948118727322568819476032228597036980455185867922203115684541039367740173271887418592133044674870747072076638646985183626579221367413202094814226837906331060311628332669596052739767752411234463565174380590874365256689740796409746064252436169141565943232134745648571109447667810497244078319077679927360785701324258414633943559806815130830961098477251147778309875512226215911701543966626375992907296337342728939540580896126101101765841980420830164310773506514887425416854119820771807604984735406516347952639954078536508600942472008690060851100538599989846974444549216820812294958914110077820355999573356463471217720176336249738527514820808227377811855345128148088212763207277302158937107231873157595196953890547488080498712537490098244314605184437459519014873233300763541150941778360494661424584225527566939906751111510548631708360444526045515602824196141400709973998429664577472768825990454903161063894931882472397333334229062607465784021401047084317029419521529036569342872852401172465814552874538734337151752689034349698702151575491402664948765916432098704865132709887563356431328162220280337503151744856911113596299642004727085482354450745102604320091302451444564375667414826147529824457274025496654359776087775207032953738733337722462404672207666409192838389393919335066569643128518268981912576191171045444421842945635016189808134506973063438721356034108698344540844613642888877880911572993516734298507431687874447933943017464459816569828631192871565978809175391429400059789894860924144985174764513236805641192131157116246494234980383482966231709710403218460021628848912296269030495129052201404725929416055458586076040326835837758187419859182251520136652604992050650461104230469419367977916035999948632879275741470350395628508319207225646951570548513940351804654350897838013969513670157261539061433366223258640633863667014371735834155696614004388140112312237084867806210417654166748598125599878870110804040744049785707174340996110553016589409440047869143224557850525983458025384763846208169442008379731113057924527973733897746891936211249326679723904084183743450722184447253365175825694579254690983258634997292447133881765628250930016460733596020086081573470520188684024909608629024474233448599093871787865042904506811559226543303498435225677969723039051698148417667520223709211642540883871398511964338315634638172789347650385455493807173717380807062502689503995630199382343584993326236592703275902764902240501767035528906605150029211813900584530993690130270930356399856780560282528048772766600297531680724502273047199579439813849004759680482094586314372470915713912387195856054957554007839306197912725226084633262692075771127215227605614227829801342704107303104691931812264396526122269592578189575120615933218591609715289851958905354857906379999365988331388285160918205558508316302849450739980717462930564513468775761540618394036632055549319446444576666020041162929540550390511922109379151281530170736592490652470928544115656727694594025133331972184523449543577572338369540758058963098766308032685959670122249050440210333859618168020324724621185000209096771767932349287438271458383750785404185730218775741494279901060661671205125513324417394007447835694170513358228160429529911748205660895624006378665804714473319827281544042722812887223062212884704222619482782020627901845810044411558823960665272344159140469701504922461173756758628930376938456211729876465673401904501705989137986426013733773575127023244144257235091979394268702774635328508716905475016763020130930249704782858535589421114121770265498783913628053548833644663487779318926392568753887158308984364882305364808975414351073696551492036137418981557699778183553383805906582375937014903367677075767189347062057092357090799338523261950233348013229338910723744324949542477145323575514655154574552649550940155359725020012044292405723617336978434226640191149249685653600949286987086042676666242624708763923951719137819243316442639147133257298189686361304056232230963225575181673792295565825401838329229632339645139670264968492304027145101609313349606253916846744203723915926470910423029283060987366000545529740144840490838393642216440588863868008331975430278572421924346833057941040102997231370442055265482562286322356805184689111521935658100777954566768178463501457406346464060899698267939378222759763070794282772519736998895280936623562531976948476677052079743905320694754404735908516589202690820346424996978122908269929567088508596021411714846366161589460472457651697951998759717676317153037561373398501319833347817182576872763908034695363119153374677085365069987013189659285110188755168888934566033688982582041962786969904126710434635488684751340890699522152801578027556834041688287096645523004154914257474090428914314920746842205384974007752366820801880531114036000479253604494347545888249565367858375481687277843808548670716536446086610271318596214476606049940903540270681590188078885986369003707955515967125075872271071980778728995394978112391789150961249131751888350114627029104944312949341733611293219506906823834545252418840067097467992616604888180062913493926635143582289625728153042085985731005949097279501128725593902599396246145488932917952947165717956694036972034249612321410841292690318376087387859197316034777892025990374118194102198454614641331532839208726337177640072333390592375866174970045384869382372173435833486002805197537009175595774565050656513274225133575688453506596494962001018659166683928559326146723672835905711745717421876400268069350632533040781367944692658353326802064325130413415277989020496410224355448244590308645232145064203943425105046572613950388930197700078794476203935967039097222994557310117260549170874794789108937041395221709653470706489434158172773112327219219985492645112238185672100557617431687312717763515310445630335110777685523621176862504901792444511540075113595813214929174709341727174503352374325411527565620300790641585871597832934590748080995821016157012017400176007164910877311440469716895566777654908611954748518230740014349808897636379638032108221658858591544434609689685752432848637407713211217620517540842713448932611074579653863458523011515677041341893661767112863387047070830734896346303919907061369666643240480221961184680695005983990464854200455691762016922415909868945253613826096242726750831812316511554382481926338496711876157153966429662577842970816231402776598007245039422059304943615770758091453749448755847235148923744312056511481528974614419537685827740656833350351327314022556308048375663398793502116511366998619198095415228234169964609863789085497872864200165999803477231371776889674414616284426486756017721384001838174708162252483356884179938090385296747922137763192385261484776833771603560415945522828283832750311419131492000038209795212208267873151047887015348511718612334188738239815892609150647207061883566612375580450670735660553204030091587370807271588576507024601322902246365295268324073978767643976335464087483877751476539295404151404558679923447799788580997786681560212602468771753728291881411092088878421259879050674380889268463079935158793048274099663147842006279405784260066650651834945586232112882515419729582015150420076946642282352052519527784143454345721783897607774145505255404990807241099612138319302248920090910507316035016062989760355349762748225987218125500844863440720602411703882835493486789549975937695571016220529247888086821492649683369745304988301250128125929953729654629043959344356952651767173869349409766371199739422365231865260943340336456692721150742852071605570650840273487157292867434112608759617867623745170439749587632040386533309162098494954219470779528955695995820885769604170365307218773253927199668555820555383670017413535225584232477571130908008030999524931878921372113636880648915195142965044819940274552917027245110951799951328629921838007503268334353009696091369210944520729695502463729383296751699248487414090053117283380299008732747188961155091231420818744258743940018068494075434004113038635030228209245454631734512993125557107591014845241807066333921929770603901593589642231454719371236571140485756053895160743124987923266526352750370049698898904845617686981251145034874662795390164509228489808975169984915046198928727553006360072221021280602213943902402251647986314904587265010226920087530164699007423651804539492594030073083524763689332649708570677605352341498787823099956096618954977187266551531866033019710589390506966760612085177537736108845960436495250803898458035222332360832006164019285310302680841800516626532649749553216136872601121297881939876250885029904858315429773222163746564634876485792534009491372281276661866129433084020559150985136005084725306752016402653298494560538706153720664469661778243041520733558842215265950154289671464955214705011063545596343578073892853283245221137026525944933238844094093602484135311403727060558465023732185690243197734852771881021135734985692841878980588788060525342216544024733969186181909949578075159694809255223686492837579102689559667826308113995504059495235039019009124930448305243334677908165558775992263622338079087511910863210204940711608858293504923497754561871334152817382413279539758641746967628661541128935815046795895435921037303572117049763021032654926896441225891579920473743846471396357272546019494131705108215462218769289441571781495153424397284617236082882389944832524731293419792786085821175325816719997746720871387126558915815859793183908796799871042261388176034245897828053579345952992132376228384779116925438025096789010088366913062961468556277649963553788289567930696880781500472221722571838277394970792255633930716386920509264315702650437230524481769379270322111014771302841114560079366084056467417931669892830580077946841445480621433456786491292234474280967354495068785128707102926344806836914142243077209840091806309219624324669173911099700724297323374136667388675034416376632049598596046992165747822144784840453591813743975367644481562607396748014000655865707909038673131706232137243065439283071134865601848735063621841968898281282921567972198522705256667488048633138994307859439391243572721940304418144008501575181354036680194663487039950205798226036555385496919514617914612891002140837465103455121489390280060213140306192185687569518678975384704603632231691331472964151096246767787782615808715159784089570612462633506269728858564102454804577057927223600899874981311692330782351953841602662881035156445253322696022324812691412720932966530416228498091364677687534461146655014367441527144763096137198558699041785581282672919599901729864250177430095517044427405779521641961386357428989799627326299159422099266158926735136891345470040792257351057778841779481450594012473454017890496188622348993593635872281867078834780641270076924984717341485685857339353550404425645854393665744324812697750655140288035702532781756942907776206083675969093328526997474403835146501107659403947052757699311007404469770245197457127451174441636200872335334710421770302872034605983637864593139770069810209684204353262499749536015695910437198148607452281739047455298515690087288238231826740146461536609149341408045375661378206078042399400710888489814470723821021465855819398552673509988169835226546379000982302821873359043648646370738991911963289166452919877234753442371426547456250722380984694483330767001150189914169555809251077618875458749026971932134545687582817205241883151621983171317432473733042381016761943160946753584861138772031667497722012001224736946206300664968173272453096221331086242244584117401549479495629282315161657012567948888939996474967039848378275431731841128196249217060825397853297765527852104916623892639815550928499444214833218330848753956813703737807101702210476615263551390617501720708069204363944780565863418903101335695170020983832681932800424766733494073597934716447728649924476622510951954996750986970887266955408776390949597748415611397861669076939638515093496790637640755848866711188510185362967958142635278009403760678514247132892303722468944183166979857523491912669960629936232896970814525610715124351781682533861867965287293452244519728998386199395568563602235861368653093552071515147635905636112146618587200815023982440000961672000910130887343736828704400021709296175625378609480924941837370817916852091883910527832439073144609230799823099383741044735188164325866534619897516081780663345675593565861233298471965347592539021867042689651832998579045041173204238948830071457131041533779991600990938713035317104862591030191329124521247326253017629524233352677553798112553808308496131183708878373891711459065694919252885916440823338507482480944841732899143442565576660399627930999123046275996348684287157020634075745108778163851773104308423085204687625757192225090171102835123889548624854745984900283398965562660460449399106960063892739566311304043519353990077317993218017662441647610797843493840092610195490139246743347778447007485507940779352506071575045131358498614054922782117161644534042057684261074652529911506063781299423416708976645752252181472121630284280471050807522093060118213587930645409583614602135907088726607687971179001480268512336055292574383531146300382815030851946878685516865917270645775747775588340684946064012377680018775548510909587475131301819238738529541337982960640117543671489364420041450374460341669049664110466128035794500196167717216488684383674491006070436666226985727213130554056986172237242620229654241454164387528366579973656809258932930724360152718582807209222502052486429724788468655287816154028953592441555015966772780223560160314069181348457722400526075312951067529059678488155095500413433070878624865716712702005067427173702186782207476375518615346204030620687522029662486475291079601940048804151114489707160532998918361299387139625134388081191657412084113666081433197863708987221310231489653980392524791853033861215859535258456437220945655706329827280124910922195660767754847202731172637076308902390610575983478985581602815526848970609187076635446937669039551657833780746987995649671361213133048547175388379712838611001773573561387480503312744130451902251610086087219520966000497742979247935550199251079468770942501654712108578499540150529213458074640818324176881461293911545916820685467541854007705899236548927505950005186935402668081163077827822260191146454291153216271222991666605298203660404477727117931436390818235142326453245893357400849962830892784372978553472466042396197278772159894333579045714724116941090976505042394719022783013970512238102675694987482025530317299624720663805580694990888546174221948938728288425148190366284286665117764514944614329797906170040766783068740988784047564148103650545077714144983331518021994693679796718020235055670754072471433612740821765768354509838868979292924892572508374008083681777468152459014659576268792187013369322685187995736996011230119236491183163924372939351361907534510551812626234433932353027907850577841099928906347910887458851419327547324919448986845153001513452797317284199547237805228338789758665653097479724910552512632488718891410689299135061523493196032579161117023944589586298984576809069622679136184970352692394888239336068566586441438618135293509711507323090761530151325593029189850020127529161371937471639123917071738434347349400249428084551788226347130411685952623515345422236878444589840647455839146211979472753927992507104273073337677196031482150168642322008629997895380425640065551400542192231480716271524994733173157661668152745267592535508086343947369808756267333947238297156729290100685387398118531667523969810519349273860288503740199304997811125796421382337397483138417537923345957409355243183057427606311592130195889541597102674762184453210507379044459919103077280513495116511076414496704986888569505611859058468391542447857026787353984999295164381110488010726932535537574776990190383439790915839412178828361098475636627529157199711677300346199816655663347390394452960665168809366031179675192454684672049458284671475099154652019047249502827095880226344691003590610030927582803565648441243550662819430465934118265162944299701741300331321998690418251803632272582842600871225115359752588808250799289189454885193300272356289056361604293336984681420313172854413294740708924778986739794671927066906212971768397933873013102810657197200490062447617846038590683763960400249419822102118740114150561094644913248997437863533862852047671836111302806377670960297102045600208469031736068811571224202450504569290273831635220833130321145224323489888642930583507509331401028547059909508684664768813176988723293930129917288933172161453151708382550861681282078173905636763601752578893203909278940030956500413259749084376844736439189122084838605479008184287563192472408381335609772679470265553685919438302848365639999382653364102055398077672167876636027281273234462580810152440346815247435689689355511895188388035167193884856068802964782348438876261171307307247164045989230517073458011154388799271309938786407591189336037559119995478161578267838587773078281267944093138131651131665410243955601051980475421196122670766003544388232725371097787359843060534529044388170715687582884747810908728929982701402197146679059815285526076175324032044988305611264294382705535882680240720030383684400871318594771117915043749931852550802554818973633311429890898149918228951185299245824755930863279406377202964748222518947690744914869601028629131143534215296670070551344339500263921616124883573374327919326727062458476996570802701678318969151501776950574101482836920743567111510027947580950910961934853082019262198820275434066355076957994027884277219066024973400053871311606382772412603593436122732211437044722656516193157732385260361884483026783499183549308303664490566837636710462204708604546981502711739570187298106330036736677658173588327699373964876761198883908485791429382635977948603238431559384546161486264139014311206332739514958803203115133392463547794338734401802258226176205322225876422543387942064130430664330653283616784198795851026779215460645924315249070086724927096688094144293719483453419031449182845720436538399557974239497407670480255103239117109649468516117535553376798494647759358323459335168579628381030716612123055927404829158810676299670967447931298072191818120518151966276131619853377621072659627304574074978820661555020652118091413975474317368438689522232196049940853409090354277482448090880382177599253924887960475253290344715511213224338902900095453584159965340713221754219789136318682998910797550910385172758014344028607845826809627632220737846798675231112015717440431476112072330691465542081167779839966873891213590105840784131374697596800900837237324480772875997830718453988824559431375349951723903331210728365403823868523255159281989819560547226564721280117816858817438900075162716164852591558651711086938514354546735498561695355951232321480983335732906942345543991225715363666997545414115699495174388551963815592761200371021176254808895887735049128488493554280234353475051637167119345335182976925813979819620677584030635973074712644794323752023239079941973073012685547583980375622913683946607164961573529393172938994204499715837124373855422436895212709504671139102697580742224934931315032793656986466319752112376472321048316354233824125594634965559646368245251842503909788784637876028859236201416401420830438824341866393626967838219327295927085605800539637439428166170307352802945846985032744868168628169714819581047818353497879664321957847307611904792804268923088558709000831316036917286179497682074458653546956080481513938001321158748620170306656747082316173604158435718617592871570651406348964901190181267593105102005384743353179158107220074055505766500113407486921949857223778637580759059873852656302713954428747244193617950623740545483600029191061154005874916347887195648489268204806819309564069342113951418669392486623189565843037351716374518337647688298827805298283692936419626416880191840803496707168663906061474527119111734731508802467088307740389875613521140213531409377564225583012726178924472760448958487972561555671992686171338850056249449949413693446448696613350762881408515431107397765421238506872269626022529006487305245201617862220619185618368703298820217689300198451517672727059937322362914674548664138237188005146412590246755928007827964296979376645450996555787447581133908757524789972868828020903981463632770790346328593446137849058743616015574160324178409883334989750734503954229855313193674998927329867760800454786124224879512379947850117700578060174456396641756238167225413230922792295569214949388583052247395666563131011369720922140856693582756207160693932809705128418062372253364839379359674756260573750796374717866737770897521921666732299440600754027172893751567475937721559480016646243309187300461686075075178774636196407808706483705435379056780846562063170520720549614606829735046726427742212037426618452000899241928148900510658212813806461819141894243813084336714012824256707824545311746416684513706002378851223642799467891985306154637365884344769114645933937552360106171765830169136071333202689811174032938684158141935194520956815277219011598670080686153314262568487187884130453119384703037460540836292943307926726185253513050799804537855571941702731029489536297066983476958164627850400709275795005546131679067761933872629265238871938097713160829572083921701257932251964606792351886620093442898019352854844781895826176884703875779567518083038312953159292601953947317244192368309704167764641399240297598052959110218199263971409414238386353691274220254860436283597283874740511402598997934375222495158476970319359643354782987266167018593074251565579556420098986774753495208420049357710547035978137698638554010613013670090766802789520460349881121356452750673135352785123818002691890419060271716683755477315687654919970917696503125520389256478700131198002584213050929396314636927514037998209143000292292943660318843126136905085622275157986749340003166482736232403675223946678311777031768225226487834180019062007692532991527317461329091307117777999425464593280467158380097551427378838638096264293313216878924714217901051184690605513677761014525192403207157796010415375874435295936406125544481389900877822828064977684576090913991437434565936247143439355413407339513262527063342903052084449832065042659896533550459914876861169024565586761993927642512666475715936475867857188207828926225154516884497704590215526708786641010743810836499439857600556794620851293779655589569694547874908380533275892395190655052130716448381833677322061565828594880804188740389608514511071781170126134424115006529185885382731141159144375849882224919620301196624260677610330918934511688359517695914643751923519859786193453823285683996772510673275339469564887878008966373701093398875921445997160690620072497806395291760066580029530311213962043164609155820045817794252596770314284898877303353010003864202625778319269981813375238360467522057434039757982906235353875565726686241276163378837056337230999971855133265979403347259487627253221050055634193845357899297962925482942904389209384629597803162553047058526189155657958659632239361056376688100310533898621693377718107494121091500300221681136702666067245349816287849089704254129900355889548407523429558529268988023294624566377799936833525837155677881218365021682092678455864319767464806476663501670378613638654538757927495632697071816825630608389261862712898225592719852982377634915988069530596785198231139023308004203921673500934082350607834373637985661642698973996400255788924915667041481521434747924478365748729801307773803246678178826240808364662910501745898816982583871766836114105617634489796717286138723228979295792959337401554334942269575944648706738596971538798926357851863372889772607050141803699869086435492218938804360415352786785501490782638739506800236944020497553502926633012372096855192647972570146764721592882812092179931914249155930893724387834870403295413514930821282692519576138089060453648866380488043706225095593680606686728218844577319187530644219356968150481263922623775433927194052955600735262836772123729827485860795747159281676768066274676164665236246662920851954271259890166756991819192276688870001348426752260447361138088727729865728926913911041947795099109346208649508130818409826475850964450881988928139631710278096986378457729670155308733865802399872302669674865809334404390882956085896400865967412745941156381829062355633764678865968629182419155612269615282218038328898526643435725008151338497738401382644391087305848902040721751916795234194228418070259897323248494821068817184564815858229734555149605404785230518368811753754779413813374518248573675010239420477524627567842628062319399217969154181216816514685841745887223760723462899936065614116116990803543234752569903456990900424423684665674896862726035901158588078669859283256087009051919504595326331267851121958122077116211900900822990586774558999839359574774737974495972377631810916535696310946832330624734275922065197821427257543691716802531675861445622706306318220809150759494549573173374475871985569774714830966393789936448511570838886282984580808227151080744977570976264147178268462390135803732379621184018948196044515723722286741880327034224904007215976994384036588769521544706978916420876533832789865305799300226776315674923768649046044124632358967808442732740189853482899169570728622012123950501346222535203701219456498660103637329927301228945301696642890615799074649953385655300447821749606439148439076847490643956694406128479872624311601316228189304811814545616167274869759295893402148582015222892208186636756201402854439801984174675286624000488709769646529045966224963715344755961678441514600911463975981378648238367590574972947956749790082341237222463160602278658497925674347598833942476243133300190455327281793601136557761933840218194162745123785177726401227092416393147106249546058952662983586686121365649357782971722361062951646235490777366024593392749263113366281420331056716649087109552400945792498427006193637712713452851100905093175206034818950359194153883023364794015688942375470577280145869828190232876886751532220696410661450970514869366895329501124237082513165473257704374941119361658103968080144026452720613342309399013763382105845742823924882742099148484401742511276193195179810697001822227360469456028596637677652341372229081438322091237014419939363753290786884742347966918350816830368652711273478939475056657707431290180141875758012941545133455420145114566253659329679748930898279913212570509049700574712403272760821479568139495582747380415483425376174308060934377038213739434198529463466299768690371388839361084782554722731067996715326429463176858336342112306716192304939663347338104356769388722131710483688704348001544888242431570415957745007770478891549716912010259848193692993370972492899425526799899690984927493071220058203856532475593223765155470927194759294522828317632122466455563662070926725625743796414908505992060840007065581081380023230886640729717539157183444970923935842846558903036005004392307612729830063795030805811833436801744762063978119190114553181260618973768662078718831528400287563831907636507778754571875073506367307980503832339559326528943522472349000210797936513275077053985304742619463027664651689851817240389720442423141037741146721671377335687589798324617852430924127989195270631321420257622435714500083656451777944661241602740389109563029592986898686655452867135639014774060553707320838412517061278057445159053747427052754526138156143694148444800928312641376596405414121825719492699971333916814423300160746216950938856303814401240911276531260099791211150906285947064536190456601721177671204605521606995714757713705941621205612924821643563530778490937927238000625259488842073118711135109468390852717260449843301506546579349785019052599322369556048745537392301979947402628173783074905319063413380850563667696418401680085197316381946668739506711431184278564015243675586227354335667010661514590749096198720688990631076824933174180191946934075434407398007441373846964405424422226873561219248311874147516642028622998437286739416900600966004348500437006367646639806844932434321208006788667610814242251246314440618348792596009773153646670080055342016858782180828069395140573247877870067543623592747791529451862621169248612712239858163649055000271642637982536060747612822115951889608976736921412577206280499184508196519835706118216818386336995258514874391489287343551370620949356557728009126795718726723144573654965307582269928958640550918941352503607242697280291202938508142943147451876103704629646682107148146621208497227977028876627924133776605804698750681142815242639899966940507824068604718234752843313926378890926930948109149104423434734959185654693139343855300099238020469732191675523327477972223532412393427185875411884391582893314176605666692119122602599831086261270996778141898214414692546815464080519566382121104000898846786561122684965088987082525322832560040009761431001866267712568151974949591906011344913755186963883988682372289992800733745719782279483153073782227004392998214926885721816265354746164156960022785568385291777448482371382864110714971982681574767845723264101140740857578481587068774865016338722936115086615275739617250922152596604457129835171252430860853714579928765307537212910250987320833571729222453091500899038480216368891339429128307504289511922405981043465991595162130641156979227643790018132566543291793554441926471160170547275661393056924021792761994329314421561722641165298702959395450734912428200122474487806418295357008315010977323338277260839233374694776832880032654127363555770448974497529082811182482409427573328565851792872229820772801714734981400456839122117763393257801260615589278542934298017187754515689490652827636357813640940725940971833665647226932269917429414169241204918275164168758157629131812410638662713184576133953029564741978931872001923248489128213625753675584470475936099894459028616381163263113162859095310664654605433291701609132127356625892624827861682643590151590883818005681044104191373931254135764492007560186410346401479836433566568317273309649886938554003253017285738814099472860511956141431997710619713847115817362550392945076854049368036254255510076742750803378279937704458566631577156932641839556570844428167669385052312142670755012256085705365806730718571999846653146471983213800990040392304870125500332399243547154913590688901379893971425149949622693674790819037094344632372878394039179722051381959357697444980286177747242063876714677041720808464885065731520741506629019225461233052255218965429182501343667840502963566260487304554084191027630783439972761624054651305359037849410225914564878476880395881611530564054538978189697385142339124946464438919374471192204525580710027812324004426944926214476059070214250058814885565001439435925846404520143261166024979240872521816822662012072528403042631237747948399670758944081197076766947736303964756125823946355055719396072753425871669832026119640929284844393463725564852853509553317141890905163810812906176303791803391347051130163476799193357070268661683003565875329346015240701609379966732154736641385507775959549086557384916510153215275170107190163378345631271030180986864897925733860444307738279637145241727558178756961221808931005130552356535563208540832215405936648998585749772192585979076074891954546086936020664353186561963797683818898934392881540489316077380908057338039132091505985658825639899802875143129607239508174130992229416235950189188768913291424546222207314827199754210419069762511921349760381699236904809590347945398158564858151415176374701892188541849063191822551202596597576929429159367287347885527433685488983934625085333997081631847520499619709276029837346863258889688257883339892205978615900364240796824744430286518770655927495758012209219172014429371962126351897238346159665732542320509944555684802221440539944652046201146048425788800421287563017163753407908642382418575957621255984785095347745373991153805347517696886980201294960093915544183745372170962411214185921186679402739842341696227664587195594965419922970832715956048113140304207822876044187619365548256784034063741607088251914278872018724711023487334615807535520513271789015633246215582901177831585896307888673746027495447240642718106417090516267492381415099489143218644186618819100737888786038329076984565164899726059726427307884271746840244424125170505468206151114506084925974907557615604502695060780998319164143011542353948163248388275813091855348224737192328229517675063148658922483560119591322661125113261081066557227370840111135263182837861323457203798244190931985302168626797558896525303711700995732000948726504118388883155536575936575221895814033713257939173074534906734637786657212063824542348433461120828049546752283283932855503498830951570597163256848032257292631335072517314833597207125732598992256093660337274049514296471872826821465296330638794884237156662333591204490646392026810783447487622071602554946242506244911209161636124790698526554117665116927714511788910118220285010257486705056630809596155486251167517724933747463321800664082434639124523012215629707750238458060107526290646879043058583319434472153527231503377686411283020819793532409970996533908101645794417882365311072801018148437638783265160496944711902522657124922674866055500957800117174857955300110314007884883766837463886657326397496944904862922462023845161085576395492767842996613838887851316241939953811249686144951895824079636197935148161383089160282995430123022748820116229996255389131924820372579553425129530139862023939018741983773184517533017811366078072000544739393669702354703282567307661377889452497300101630550369163117400715748327368784618388289702625518514396318477229105421099096080445331518174139968377422316527600120500942633313885481553391984931489075974305559356704192626935428534455405611567211313015428849839014263003799787337083672784799446118235293567957648558228890643514295301831600421581730795801521816710004619456311991833198090413772099594225422313239382030691649187943713205395788039360117885145664233561243698006865017667590816782089373608050458249630969212921466712642286061419218014258857212579437423426593647726677947454589994442694259524447016199985713292121684964156007741603554440021372635789800093765309968024123178555962177544538116612687056762624541789063827260434580528621409748363650112385544392245862783492100955552797447089482016135988215036736279827181153490893379640466236354544380779515354150648266418566286829849278592543041066431963440080250949078786104341204146847767010458973467910957771548029116148559844308554202519993300525924369386151816775020159530228195521431469275823353135964886877357083962797261392515115235385537170601998549226432788890789541682030113975607302047981564055190290777525982072462612428540992577339926212646652730899281003442265989364969645778704395315034013795539518537329066047640554043494501024303773810572843281022281409404238137668120363806211286854630691219265349143425287139384922308261787542886766720035978684861750322234189390193967071023449710031212417718487267077626904192196105401727582758258275591363629200426532683997008432304298230909070713088445948377807953126315478016345

    #16873 Reply

    messiah

    stfu

Viewing 15 posts - 46 through 60 (of 79 total)
Reply To: I Found An Image!
Your information: