RecentChanges
  FrontPage
TitleIndex  |  RecentChanges
 

2의 제곱


2 ** 999999의 결과.

4950328114647949125348961808150951625366812120893783666433198057265854741654743051527307275617324195741215753517291861941755329494708157463711282515786452686157434688616435887747356832119485062921457244807358169206094315551896199028003870068135480276535269333589906168030796089639916366118215161431303287154628458139291021417386000897246595028497570487551562634586971544807746570189214588356890396573976678712065807097462632316135230515525936335771723163207767366414164422238131483195680506059712012550306715858262474729616378588610390547705817778162142811700699922009436063170196501739191357250007631961601145061294553086145185332749111627633285371182339438140972035089098483782156634236519764735893209988652933961439109965324411516725325172983956107619587775546378961015158372181722240880332608696250023130787280642625095539344427992691197955455140952376218913584661071057106196350172819751906176751251559566614517851131860728362368514426091864836932719963327989288886220573556767114909356480318011710624191290360033374790168845327840463507182470022385048993450314957870877452695106936147429756263728629217843465287147165938074402106293535254060549490533654800836655927559526598898447441387511666927370199845871485941737882505108706393083035495690460130690907264843944212217613728613729050826780429741374002325192706906559322563965522046198320838236526504803634082598349927915819624801267254019231131167075302380574768951101860555753803957048787289056697884631788075644131491715775707809127025357254524845417846941218675187406840118950736611744822929681515458796898307432953963617837810312564849713508178239108011216836452172403803476092336914381014637529124007646637465698290949928633339730716653296871682056906846313905276777570659304594807432014873893742544400802748510501725480123393711544096369320813436255434960261389193538606524318051389741304280343981519525961202023232633066094529756161544362782239802373170813431342120138071556126819466571292923049281918316018719387977527100489406888021163158314309551162299056920650301876887996695476138491227738259068949293856539212654285665112626589458534341604709780264917760129511563145001616796355469896494472207326046912748512440288995025244737151933374045304133622750874821422200084671906595854654197301774014481503227311136563897553578101187038219212450530402846539970817778990585812439356948733100631326102189477801949344070592112139976306205627887362141693629699703820243456194577470775785171096983266167987800324458293698873105401631033711740217489631023849311297164918282685039670016980524909836532594137525629459233816499825212664790311386735294365846933554764478281933554723756928661896477559521212219522254429355932521722382949471386764664943774513775665331974675667956695421119360945860380910724140786459218277222955118732071853050790797717278512255678791362569816767946594480012798846192788492920638127692704145634499880338938942107832142442878385899203978918079340524000423162035161277224451835814446802703134720484177936172729735358822359340372385291816194821004760984583139121507012280570818596264228213085826042457373882558804346864777692054537177773254943766636895376343573857311956226730522119648886883995448561869037353982518792027250612378229614532996177807297325028174460535999259729734923503552111677304336938793923620067075262036079597385250038242276712623062244079686392366786870502457823511673548124262452127905229718487631719796931579959425485431551274200842205216528053396898409012233773173476050859721307323860149719336684464593846840180001636752185505637336264526361341664850051440490557789077912505707002153375480531525946211633156345931656941123572782442635599491527482275179010984008363671482884260289855663830034176678298759108812607623594545651763908672697885824322294621630306412562458048946706608878174903809130016061732866524835455856131519219507948043482644199197795509035112104372158948800097850795250122548708483878771067312235282570503895271839037898611670603777467089689718768017577585667755837532927930634224634720497332947464357997722467047389113195519618413434531590617307958607266857770572433432742056460769682804855764397821904926033264891471028819800417821972403977952689739522282804909055477421410853548972902966389167734550819737241384606383288086512716612163444589692539147299409375180119182815328064117010226076580895882245357502877811586660000557516749384084787871236837468415622642024390128234891995838997972727298716623458863048517734536653728908295181727196636584350833249079655227701221766538732065229538248409521119043745350505448736879586411022347690194380920638385464994361999894710445804551439084427822874629478318391863887207265244669762110517887038198196351011826472576906854247856627035415903819639445911883351031019723773041226621776381243041983949175137136684787646877298466082439195939798107304649439304941038020448937442245341154273834360453189749715737441012653497380719737459337515909229209051394023801230374539528251657666925793513463589982052469177174441524839650758386478365204541597828569658274767879168580675093584687789495991188524107481377631639004820862616378986830328686241085067444384089953311606910501713139925217382747663794789725139589267308627301720530332004608487853875422732681549129042028898517480782313719850301004883022020853254098362568623188696144656393861719210476482174882239373846839244949240921068704344140788529913504854573284298138695416308151093021044683305498756963451217130639135726069716841303606633356733143835313182949215736908130620033285172464472503973893562848948900290691273099905757129953219736816360514928058258721353757650874763801658064458200856760650870568812278095177545075616562594713674037411190851906583500405315849770765131965335652294506119835406260717206388559678698546818276504897295922335721478554197123952581762321993211039955660212203012429016326468842311094899445943026346929554776306760674151455108199565377306282370997578944532138381712911650434875474229423842183170208429997729917599212077769140872799240640879170942361953597155327774148635379108028483236020321917612971439820547166616644293441401423065354081037091918340366963006639010563206378493731896559957954065755144925558301336430312400760141278720025056233540040879490593025382360689250781502571088287655585251541216273898886285243121388876528929329245697000855573559488657113026758942756907849270142587053348920857124763545124997230679757512689490149654242101028592598335396341967988829970391547370456646389348730199476417759100252735879414820882764071457297950448154100083835256321980753120869934093056479281940330703180026538404088213287650331415016308962936632090038319037890874149877304445297372374619482225244616339163391584837246756902822084748745089203837256274840048661661829595549140802530698269060507949664051753764803633506876016458612775742057593554124066145419217065263212340395013510912804051011150805386920982763709173658923345611587892369916660008083039193602381988065767558227555233765144115934142418193218741984109743804598658914231060352071122390709225965398610145793665947338215820307741998221659926860921601921729755775823866316899141379014632218845219911222510474634951256520781717275005214414892007115671902764532994437820746760262023129293736428119436494978183454755860813682578053616749944707392345399202550167580817283060689138596522659714979691384052875454950282269650915183613144848874303416931317797747694299729861692305748749586138789246185960701456107706506150848123727896105696491929604840998637416172891209117967882351403568982952580447415787326608226225501834762401241839885262696838589738455332640787528214378195421654730029068485270084885086336352823651601863588059551211614609928837517975394918525614903430201381425030821201338686082909076917452453861842877696094593604298863992798922695330127136306459252812637701591383906078946457767683773473782168733119545379445191879183553103447976018262880204141759114964459021181421741723212808292651987157879202657162774047975727160128808282942414086891206721804390805808706910086207531819508401007547124227055006171444492160339920331118964885844759755825980009685016890028908183439037688183745394921437407840236449264414231211169442983355114320363963082076641163954600545028407317835901535824710750315857219762229497608502707590553733290064025843089608399285477834765816547492226343758409770845231038465312863328139895158409825527853262215488500198018790027809842297431172170042425923342189274536533930422628070084013804923520488056696216526276998609182686245911717339755146960380455936300504621158368842774355906321252581859232609209117732728845894691518103723642837153358845079517022875695331787921546582548426300790783973794574293800330906973364379007649588995449547656595110115959433560278305390321315369694422720969936281849485749773386588130975012284094785141009329090496678675460861168702678496916921606648365046376980141006464365391268559516565418026877553680838776672984813805336670574161883420955023079976376269672028211143609880056096219682579720941938522564599893312768263063234147078342183353692920618199426874843974633399004331232194103663585295084705548933729514986529214458687465425147908127934611164843848845548137511800055358271645603658452880702339163018997637443420869690041756302470268945410550676305375725352578192164212704507888602176352053464650237531150451136885473681929021550686912851804380581837012643406940091931332016970067307083977015626922753588158890115217285754615202005349942555764390645893055450016347391753275625822325250774744335679431853465347755661778898062800646732500699935270665669767613664695085683907531285847251675417414363856350134242676537817381927397972125290573083829175663742013842355894013159420548076600917395124473288421098800244697792106232230484056926408434745772916625273277598585466130009324068571331133612188541059035007028769930701096231018161199734600844104253686372927649667360826425591168933066064232682899407696074607588193989983034572803987118469498907168825703743488313208468932871850099056100377541601063857197826734728548591027311365076891892560801983870861196594576767881419168802165899812858110270366740963488168824782242722768081636973838011438123739715758073092343862062379826853790481561855094620581380886864565215987528262284876411741284929407357022058045203826003704787862383582275507967684356304243229465762449700414738181648441821352491482873329179374311285512114143294681849848767488406653985918608347856309033783791672485100803642598932788972375231446929157311483236582745445466129067015046096611377613398730619034015687230511738653197571628720455383609800999121726101011753355644311131259364946444094059816544407387803814171400476453697173042184153513160158135618726878598830517543159690530410306496825835569792975627961096190265875221832330248700835847585712210517565006205504245376368568357612847783881296508334921282886565567877628364888493030715654760204591087041675361474231929284097610458392298874136586516442597290452401030078128695850822481420132966435492847904887339345264914851247238125655714505306663750011969170099966446179276850367137588584306574371472443411707189205813418071129427925848997421414671130149147233095733555154681291119254309528333654178093366292544446056861793558298955234905469277060861126599282842919752850117651122683776340036322477706894526793461966199676796527060507203192444980639841503511101184615940762576218654825211641529676832292881787805026024291026712783531182681703113547639104946136780142252115242604676461867662064762994738733148748073007707379667442394859448997641079152153670851871132471084048763690783874604293013764111605481527064306892570725659808626733840046518509803036425285134760764495270513488618178374059558386288146464407543029668758138615518340497978492198356930915238333409197319721445261192887892839803976411830213854249459924631435173161779290093890520453245386755595612134486318237196317157036898524085544112017634101725801920007434164895875241527722401902296224920225615622103691207813119262945372228516923808170960186558697506319952576812838958363791947418939256185191990809399332014791616801368868291125199132089339775118581921765752822280254782248899018362079182612819872163368122604282484301874909440018531231117881044818389833868744065783463820398556955810046960243312387762193555947415260264462447521906643810817047653207769804080983476683543649673509441191555281695913163919902272450779137550596134824207359598097137338453552586652199790256988344737836102745954284657698759912785546330626769186138636826745922222218703601036557529205367329563654661519676947292468653596044696992610842184016457714635477363857628673386730382806206433813067481990847132977772593497716588611616189951606617002839608946248436043681610766340030911774561504968250895033552994615706666366096029547060907665929522312467301600828200342067808048047772103082528251012854917289649935545718385357365742019289953365701536682875073900383918747130004822133600470333557261233456261997459471907209942083834041124616706222154250147633303591134018273837353194634988038096419427687934210776480769816726712630518281054419211828885527500477901015995179241497811835106131463323728571157708675096859890419031626802000518233590632319236797532453354367298006115628621680052355244581344134138447134079054122512288634270106711536185008682643956003901541140016933245439624095241720631208612829196403854454210777097245178248178776516517475956669052907493482966315977821246611794572244204390953596777382834052080024966003037770341582917005831341526748796727268214954778697203766319198199169609600284823314310315690331995763283438038307768883412084708546133587890874001484698899760606062399151195964553888924853933742035422466244810306818046643756248386392454487342595004762025736870699075758789984788589439103981141638262220955804881500004944359279804851165268386936936404697027252146883542494580256697452747088920387870665320409082137569791450581491575487713216244571922553292930747271022626342316320954467878952734253200124560209742453338475106753271080128494367988727805782776287978368711649106083963126446347382465253046019787582763816290577282687633486530699988859424843197076151009941471097643883970950246629236255441611731822578861774449515133553841513907052687265991591391828602326697583814370109062224327934149748574766197118733564669767779822385800102344244050429059581849022670806933079074243895143334649983089184230188026802450382963761047766244929519579816188859665256948188154377145129701340768751170946511041610927526330208314332854173001487057848664391896911397162355798788359842831831913088872563786459607414034548573787573855688118789061058609965598289592422862733086408838974384141209169951821743958898647240184867772366472318425837401903576313895353851384989501609650516940164129854297923488188269363104316757510486601540491945904114762942760535205764541709459156504757175149757833624408382997469550939271066101353503458431599148113663575450277774234330815367603364060515567008841668464749824309618307761601092071102682413693429493032634174021400227443806784385027444679788171946145860966628358696853902974302086104520434362644097945132412585960395595993794422036410090837770916356674103337878795156076079717985663380406128735884618073855557977744342103658596503615778686505925526722411159906391566410686204065976339397436021250890012245947730191432270327145562367087054217297401126397818601558706222895317173328943125961647122960090614398125876299485993798454202061799407283839528776621642827640858183768573238273963346998536929445206065762256476764060732907993767292643409567329110703479860091385113981628619263813741424805797901528099494266839947156209671275535910569818234299942777424285024484766243840812730612146817077430579228995725188992376293247713255788102046246347870841383726382629550329600600098511308071189110873571087037028116641687229315262237080418516720039497681044477018376774204935195734554976696290385263758540397342281563797565570254737240513483813915690652058269536141672214406143983387114317526696542415131591214017105235745891726183511361385836142144659983525399067772719133328855649848985406669654958844160073987376250739020970155265662945541333411816856768036599701353784340084223202456978432813487834377877227775736157202613234702557238595582616371347632857062347002740766588677648002940980571646984675169867154730530447322795442316178362521077018350058469194696441711661179569285154396074439257071796671269765574596684319570237300040266503482260492231786833822589806683441277365608950297166764746978808761425698670000541560024250623631389096429511087547431096833627173312006783073031761894846133325749040589007694850164488712651152563217760432109000215771226836718643508448773589830263693945495434958494681091628028885235826915974332321826820783961623601485867168244813710802401881986650255149561215865682914210796758271098879747314017269947949026744341177710144643831985317721456815838300809065421347490922025223073408496817154869618595962020614124608367156154393291804670364001763070788627957656026123034515210050511513848588900693895463222172045774142205420712473484318505372649159715317727306638269366228052476459508063659219995110962077255612850902039546952638256830458726336322116160535628921664189307216468791342473215458744871382203549946722213004824629448807292437625589550708873386426225052059615582748859190645778527927232920766189085228262232595408044070954720337026057603047152799980970801005896604848121622930172342705861539142681909664660399153930763259534162163895340798992245028422770847633043737521165625997827645307358275323853712992503462405232785342431395951784713994433018192077857978458950102148113093354470347299819333474576567890659645250276995161343245267575990247888687001775731511997656126794619592639743993710218183886751369413826151922041319157828859010738291484625998844495574034830346828559905987638500207697082147680367227327667895968909249797835139949171300141683914757539553986293104042970453100178945321244400141841275880350944619364364594626566452628513313584977903738252170905185883750822671047659716674131110972693226009172374397056177495302822472684532460809719412501717670094554784375755962105170819543000022190994915712955907044351455747109906606007660386660093099302484367539215761043629882411149179737690187440940942214647016852457669774450601352026410720964187802295460894320058938017503495813581066039671917158727197576729647334678721541565065544297744724974898792859383664174646742323381372812173787860634211156145286522507394200087487605554961358887854699749795066091525949855228600412689412527595318832458973367440955510927194106466629623828348049548049990537820471002854960089711418128020860825485270275669519851209835241593872730734427204947211905355892057399343595695055068285255824825697388535960052035955654221937329624490175067383348795497324912114953443560377725384361847711267294762476102881648583315895933448276939885480479755477340896733047061291890630511636885996565700085186579540725727498144510564351962601866476445065941271152777199082573585061761715346318014530209291856796277896542727835530715613043593381788254133754247615929539478014425130215848445081540907684814701631362559949631289144947198911579821826309746851101135394653929681262092041843444997719536493398277201706126124727977579709489351990499283919682866667169295223774579024442195912312636062041044608241857108014904865630675980160243788112827093901296526410711929467506325195178787198345508458157566192638277361711783268450463323912234051167806635322677756644154920495431506095810662161526051082630773421189194212993723472345768986786083276479222728240613908706031207470275843522766569032812840847804538824417655408719076509158912993116080475260806647760265650152675741800808436555463938043061618266682506734147188423647602894824442805751746352146711467980084460553546218868872056955662168778380329641109669605343618673296278002717851235094080460013310591953593963991276719568056919458388423825171292526070171506242426072671857552317696963234018016736076749989454155629575533023556420142935915461264789340117562581522238750016781342117089527581252147810980607818067706616786859431438004637306665417864762667069329361639275077920176065018195530370843576966352946494974578876605604172095026749887202532219633702450633695548077872695652373353022384503743192898542700500851823157671374450968044788855198670448980202441019697532758204144993729251683035524383252855046918351306343044230799359487335334696964289373033859797046900594727876726448176852213599809028304393146056270423630526665453219779634099268888208582789124600138140305695411035201363493895832532407823535527585403695458121602515363450573449795499004429897197250596430424117974368582367103833534355382242497657998196355726101597665962434364701181521160462031043693285616599440328331401608536772385436041263061428092496870590411268014833984282710616157233606810821118382362639893225892800545322833816303263120543175263388911493730990437544734364012449565722725951172097198649150407709285751614517935642625967212032913462306040367456686341946532808218015907691859444023599572456570422089528026178619944952837703799013554183806226254059081333387843051585957760743493342768837791021529605317965338216025436966455814472849258571704492623732338369031657255644567592695475835672846524525807028997211195180377002493812035720852238567541005139756343718020678831334906286132232750306441846843115983678903434029086551145218604066200857779630652590333004503665107947531074531280894734821269620853784479033970001005573280027102822461319512180605776272567073139393950306893980197710084820087647260506344120208154742265901315182764084995879599107779659282727270192674948204891168993647257691860242438795645720380748153575116872464773274963473992383964426865900543819742019016063753809603948073155303023524742835161978644403381160208629666130068561863655801271553586270173210734620088724857050611670150725052592951994572104142024507837211992133693959342943093902566185217308771091151879886011696301926220663580975850916752065281937145323670412813969512862197773910616088303982594698012230957025054497245976383172344663566238311137779050016555012097164016844610321334398914679023749479340970680082525645897242603749015155821038183030187095366788766048092673346293287806344710504317911609615668496117066426316739440733947585747168987457480601720672792707089101628143168561894135828905705701573995546304061415957616659239428396409411850512522355845627390309760178194651368157063936376344626421420965667551719961989358246669202860141558142883871392851711057391701428357583459300266521654392604461397239777903758782250171059241022007517951543909624771786718993012652186278458341403950253945314642089681241972695615145243831732528978467231216057078894715727298979093396249065924258112416965575028652504809434132078554294856250818850274113493128774730738553494665036123367412768616219475721689265686172297040134807562144783830971106316631570438113426669951156819963741905659218626072031799689271267068486250969681971395869073713611995060009519847841797261730763185710039927243264218676324825854582939498138524403880229461062956577690555412401817899227941625913438697827215750096611780429065230637457282256085016304274740953081088973126757824001444825671283679708900042258134532208082848995331872253224523320429001623925883716359764314478139411206877012839688118081947008164831115951169843637967986795114979151070766715804465208250900047264738963865536694499708815756734531276707473024003209426565163870264818766608454372256560046439851405991037384604266301019049446136739862009063632900526537806023921622928754919090716606414357108608269601811274479384608682333664436737131724612190771903870640667675383111610011579664614983110960420180158633759732963303344181215528906633885928746644663916175910342477737656655916544193329028405892625509373828836262221729510723403849727329086013445781561590882631170094444304757823685375962178454302443449569130680838789008947591716935519047952545279251720362180075539372024210510773724710777570818840952461023539333200103811750001570640249167996054142635289204571711401055671216379955384750519501991741998031190358933300309535784008694504155566469195416204672273266530113182406296035223334367928489112779730942637730500850650633326176072962644694291333043816908561163749693829640500304225156433570291820469114197561309577371425820745663189861210911877953486085003702699351325559846749182406263947124949714781874711134817282734570585063312811027685804154809881316943411619077128675118222032069736550503035565678949800684543839522581639191898823633584080824525805276119818127641466683349780514354817430932000613758242331269987890350824746791352962065972539308256839108651914026754660533245537646706400380070076046749175276268334489947701389556267726549537607529936499706983433423124221477822042602575448713675414902504243849378404475679815157393182626272707442838107157743629895929095674824166336452539767357439496956772472510900281871315716692054054971696777006208671541385482564196622813864989191441081358383145500934549125816889669567959857191801386393258258096143205138596071332331577349108578912911661367207113372797326851576755699247741680306338897720668588352554024543831037313687785231694107418967681653520300589141420880993229823061011677094587566255041613080211464606455911195385019447832804916232693906037772640717041237287688496934953570861715807683382936552046213542003851557009348456965898495033686076531421666418519395123525220047126516059896872304409556838784519549191148718168585150865673543630885514454534029942143541986358847581824432480402061032386228803989985905161713090493417437412930252828734526679576821731161913727352313963375173523120829183698941036705697500123470860442743790025955849798863816997058539845457899928808687748746088028128981834149564840861576436777637112584554892641197350516554344336360746833125963731594649279909115309338083535842200781435798566969120284200948876884962711801704175236817024010221537297903721725315951136668004663464985548489392561828630293285482541862437660397145283914011537809918134299002587333965125618365892179083186439815558899908374676053335308374518010430059429283423226162443974444760405847094244842878879575625046688979097712611340597347168315606449546359845622424610481533839983368084456245189959820682632597566727945959517554291340352574679837815313962902079466281310951772361076611766477490424622455111315205754933824991645589849092841526122824444350131414598939014291022969941646604723200846809280966256200894156420533491974931735502017824503511139852664013121444779688523463465071857470000859812692852877848239085327571372780801545195834955011028158744767418281013469148715382531316918721688687883489682842952909457073217083324891454451924736433960535548465423422101051180659621661509899587000921872749034853580398400433951283987932608963350747018514751913848220122373457106104241821838943184513235458039855656741755641836529637051911794308146870261649802114071059738503613196935300920407428347533497753050539680432041061462910512465390132800031616269996413638120389373878576125728592460499194480380234133170945362602339313417737592751016456734166478027885301283772820341026479927252157509676759483601581409136351407027691525118810341794309760766572815702267241519620409515364504656097818885830465864237525348957387418540255489772929897399511976651772424716713281079996020436503476020332041730561807015674945035794988996836064479649757243709604949200703173886425886466191488966312083341570654084069132822341581238806907142290969844515227504429711340896310375209308591534780839503860335202525093452848944604713513734885150004042643409494938521238177072332578387994363139124191814039517352532992406180614201052940970055286867785282376023817335665940785822277928045663728890069346298771112987926789954563931039767840695146914479368546327525276074910071259591718687401372920817988146433288886363130448600986397993981041054039023244788761468546389110849592613504330638091894141924681194891608785665235520570213060848413036165155134005577696983213139829040914198369395768738028536054428520237968716397976725072796059235848374837605789306276831641125088719676673494983513163611745108505870634604636537027518824398895933499187678528067205548817066983346601970875911361423363746568144761154678460713059864734259384900177472475865186836060563292550416261771426418797788500074618237131058684340538940312958931398289895228065266991398046259980865230490941133333992467122161269989912674131464209554384206753835893952460038729687107556186078440997807989823089119958547736470940595997615205381241740915848221618792739489438270426847314439561999825570892519023931742307240338499700026501332637768359150404457363822381140064773864275567625186851442561555427139975427774082178839020792577429953513106031100600059301050544902148730060656226136642107580543906258374093542919099049059464946566290192831040780610820041084243894103664483801977493952415109850575661317630726625787183441515486771932561762751392015540098616945680225591365289934301405228468510944166215889104085658023055741609541760887520427291954076702515649868591418938684230445800725663107952871195988259548124827542191435854340108553929435592851035517692391009487851034028980803572822150429623342112124185544566284426245360555425781479127851836115868746884792518638640916089886680042588324811501358537830430678856455304488025828263555467428507080910471643593189678380880253721854441060253920326097227546956169757685272503008451219437366723931565363659948186723136362636381713615057803516255901188831498116523114096504573579426064098201742253835861211811657721072558214891200940184517233466922715145559401686705976840158511664382969503102786352601690205861152740481814911348676220048229303109093969708669138317296645203949388603627218062832871860336662106657285470190892400904908198237121330920147906697736876344413942931481627354820183964880113408123915739665436105831228068925544828893782312473184314349311525535143867682415291452849184860201542075268504299757063395885924739286374743153526791117369545208910459110685265332967322018122069442418133713637868641795094982973838601799849392192919346504451247349754231775336556054743365336785031340742282051362693982435195330061121613407784696161324290438606915532982538445311162831286322158327854904035398224452496934659361033022859392016461655667650975933679528141651865187520555057312898879557150878280383724957248010006697745830448522164307436576384057638284419988001960916159019568518192590534722604314006944447901739890696518974753644602608087262925703043452693180609361334700666324740927586913370346070779080689732084548616149267884244465501024185342190747982267910177148283666910066204342011704741026391672151078977387530725944545870703502903154926345343883407355765481443986203100380794926178112339361548465073261549422976392433310284695510560089813714508361016604221089372551732092680206855682050630975172357881876235326686435962928013875551822248116245991822302011210807116636109741007832445642303078887763588697924920339643114144695744900754030708662453130811717472829363459733350891401938772492168515159129221030830748752677763174846381779457275469885568847699011154580273742778931549977547078014917195167931446833398683489719950887048468537203191142137422981107451136951841557790135909016991457690784411673823184292616569119768614190790876649854231077053128852321192917086609932248936225521691076004824988714882373278808970015947342881356146433225878880562419398653501933053813952822075134606995021585814010831587175001360839763123273393398402115196886833309530248503282647765344669853395438378200115900353884921479103471925232709791672158441494141287376015070541427885812167612058564401078460254586922041237023801482392334932872501424435845601213518097079764577562652013258443558029531353236946132047536084930521955179408098583182740979075054501657746150051894042632972533292080737586511264087285559439104411051517595799339780952457174356561902997728798238610997322142598544743007576375130871034131696153964688463293793364158168997146600627430218430178250837008629196484015613357032220451877249076617194317737365072537125775834157874123127438321898068347957255913571722671517628401925100099646015268922381057537714306777071065309765228628019949921034206494178507106468607749620577382301765870565214931411548859192768868806122549652428303430649955782419556458698425134266224132899010014007726342336210636196202462765052848475627604649260774804979737026181820950211826629578334333307498605529257292275046359976793180339373422210368915326887674886619045261632583970149369688985745290206679036202175268589308264372246110571854349789859725260421313402562326234282321110601107257854266520368852064404220633648948374905387453503669761025322089446273944896497924761078566019135319339412713731076093037890586972323223942649122514620722895504471976533005089571112327300863697396363155116510724630216321764858971116247592989521533983438944866981407822781632636620710976667814336905452841078082331781856303039336870474150523724989152525985723955907741109285482938711192150510719898557259667041423524197028675374644182130215785913782257223563386011791787205635370206348319795162032178557216275331965329664887148464285466601596105608124064881866576924340360997909664818949801258108040772682906513384725225086777185000553838208588023109957719890354356220557069795719137319827990123421783150289228492667802126188935154195096391593803891531514496651833441183255538427287142197203776208126531414051657501047371385115472991262794755372600875444460671417661317158609024906586445658596686981156746891752554710898653067951828213071352341234151789635279594755570085084587896139953198891981672518958494389968967679693982309472433631238389569848903853532036057707295500584326781985167706379193428832276812879198209079501868562112748963885972215660332664130970536463133423363915712417061618422929927580715678996056360770904903195067052318592142964350890901824649926163737776791814411787343177571183330352196519128748652849184188235066773947966162338764816810215159403040835483534827698514052104939837575636194591893013391041257732179860669562041318468467372929258138249715746973743733007201369565793334905738770542736537863106922009608613302643935337757858521275571278782421436040193158596884901982582602133277413116775053162906854761434086910033030630619517971403430585150723071331740861379677591887455681625209009162659267038983247965166836669811298652589828626543011366992125800900788642258497383570284589066505777765769849528914249981175360674581041547859099302708052163128645459786056165414390279259378909177612661118446542857063370318259560768875323509791179094428420167460191224555457840827911452795600253574537001549688163500118461869214345106723490855096600183061337391339845276942798449042415820155956893072046022690802338825752178189423589536910613449408180908504445077127381121416426398319393040379879583464489268527004146583090906519709088184849794428481118947374379674416108377785142083563516268953081171671975678943720526025247235576719811260785383172786605381010850436883667704428344235058579346168542080268531113570191938532524256904952999878767943130149168458182605143750961233537290041793051353131416917471692605722530922034763100092236709243913625094451916223282759264476937342095956689268564170085271149091794149156343553543339158237610442087527664308088524896113604567847766982437723669389032623034705707076685943503269830417715646037507854367877992603550263508481905174786148735514021975875461957234519548761857384689554331401313502459939508656603981774849222066063685845171931909007947037970503494720614540176764785872268696840804837438761326737021729745865774865246755444989025047426536323797783345261304131688653626388007300029990178014145730430824851864849498935773766467672549582468519000570012744794393766417921764518352418522460423123570288775471358807315350164047629934213558214681527966706730660680224059077779626369451166248875124857718718874973615210040863579579282088270019342644869976249298144335880882008950529829590122005365675360777191817681514536507293297659976408970796452556904877126414568261409264187835966458382595674337861920783334820259898631388437371026920326030588578409962865812743609051427252746093944676328450532183555833223336299431417165874975353651397949553103355762597927183366234077675215011926877727475350530008314749699820161813965620140271122630500539013291646153727016883048269606340299684468628260211030112437655887518666887437169860286999866962276892299135956340480755897313772623985968267273241295049948337953239935901022092965943620306332298250620222503831945876369159572472971833516454289692790959430745620955270634099733731668876169490556742709937656415222696999552644565752123692288355377965867478755981035859960143028136276510611501195879662886354730130063399861930580454280891018619324951457519501778607033050157189746797780896996192901623068382887330460075544286350111015419594964454925800208948914238954155739053849594966216096860812069033871045882064094104719893404422505815559446003978921243931995732005396652445309571956729252365366593005555855133419207842936263603306466648171620709349664100181094707631075602166525060959413945639371375801260277003681706567835730925477225511467547424302706699927400047625803851294402776189504414898679644693562103102323658124965886443119121015742617170417760706194897965021976897010925721318870348204163895418361193536091960003400365844321564434360307880380208461528298270967272011303089163206324304408081160743462092996113722522560081061026094073302981078448826262039215264458499171044877604513553796751179589292248076254882482399916263283076098744854605827476842352547098398297682503064426670835354817131908954694379192829288998570115846265978134579381556347760075703515260365134052657402699189621494111375312214630983319358328291080100242468887484833250069818491609701061072319800915846402820202508790322929527401509312775348921237787549139544445484311564557134850980557878678087492971080196060279455532269755958019391255772502316513792043678742809177157169622846677121481938333455624912206334433032492646589203328665404117269991208887358244386398296992291893278001304353762099484505613701988819954984313583124774550761892327561386933731967443041755076818934283826754724701827152970045053436493050413472085090963048461808107656759925187205579776295017133109707218172999072745113091985495797289687038869583402540920832431756325926837736341904596220738873489516813963234371886923125641764036684729261021414109417885384175813326562296935110914669202801648737150183542671637772990791864738337434306764849381651335756911298059141221349345407820626775223915038229411117530433496248066696003280352047567639667686636900411402971621835310656749311598970921485375355343570238937297343063212686848449222307438966154485826238476876082910908570972361219593671569370634186083851417015855282913036084647535311366350096092920002791483136322156285143091797984128748395525580209629513558647173081980511983269284023011791787568715250591458791299039296601652500256231107904606084336198106081622342061564486692227905315315361914135258246973460465065534678358362599806962925476950393813892248630753639273532214213974614752366838116071758781821685832486016006306320976458587223528364300176470404208412582799197631665149214635079938949131861990838782584283875618590156590819977397821783575303602232214463696802092703415496686388350366555012912860550292178126227307645971357699682663223562306163365492189865292912163049009689496311625634884632073923566180766416523783105495237638617921243035743876773551226792177929966326621005843554064554119769128156807118243833207713915422120951685958415979225719240595111763579753284968652075924540798174809499185440729197894648985668224068512963602005442825525756078513299583564354929955844396033528367835044533810823430536979027619672912066212467170120152121979321226988322217584381918653003238336711992984433436397602246386697839864366985725275683790353426174247976882862864709186303311149239923997378289188366155784307108022846126427173598148948042294111729561108374925174963604033240101996597975324322190069525495076828639875363572326707550274884159350235920046157328471879930265081956306211840183224184240854765535147764581523953616884748935615476674247006627490472909123669439698877210880805847695053354773268892328476846679753936552628879273189756206815417825012536377195430582699200572818475001482823226854719263193282376483492831584027276417665207439245558266068915693819357487703475331305765813979728039047685743860805463956231002517865413164050792393112939107103880915472208502084123291295940541223851341954120542192531174722021595257376351720666085274418829199563383096011585562660897888609193606639865149372156550821992816630695534279082986188045964281771707748513795527292304611361756438129230600373425871147329425715439492725535114762410498847149441615386341680497494015407803311083460752535394154360163222906312716535053878003154753515001140798532608371818168119811248582648573854240005220296988887071891298010149252149446275673587660614221257392918708063623572909847613988486882749198700314751691121562312257538423142206309622449615478003232234632223942103413638333274404736810537372237928782279129793989868892070858461079820731288789306759265769508989361246316104974147947888749901099329004153798420462256941011253953173504484069435466476539980741148065897138169430921541917868529839645753734089738607295329344199490983539129219098174874296713099872270594041658677766420792594864137024188555192725571095288248648907281925420659814490802088015132224806213759868166349963571435692329762773233602407952096968852757214881801858335878585505398012818791569551633250316681338507812840097443909796362624487405943282364606558307616444877562133295812770357680297384019953761029172931346535693584587546820227446526751544922746639469265175245311761882839218226852753020072677504390847510098918491573368192534718558462123723927712931712938178609372275729254585695604365829157162734214721478930201961653054243450002380682810285681666453217122857511456232039485713295173392670469267840586819394027194066980262120790248679313151690683878619978911125055107766446694765642467426424001870217950839336583143177204106668324320650038444464820671345521748054804640724867311235095896481444194917848586342355192119700835094570396787723185586050630096119198215362176082688841506256491697627095527865777311266206239063474506841425815279477354276717256107405324843118677421686608777121763681639734104986310930836199212635813288003529445872362949252709807833312136928902533427604327701907351708964397326407786684991680046032103734693060615887628532539047255732884093101798893593240114073964996917090276334413212149636568380734999457186982506501938023094070399036703697031831175669831544632865880101781155133606291934078847235411169691702920300314801554460155500676369757577820444155617293038278884364780400552643542421299887968024278754598867030115839290403635803439047431247257498234899593097172002892310421475958925812764183546996902423718288903741711137017346978819051126204381643357374374465292808973734833823674860030447255054888729565452696218645097066780319993815010302793349827672681810434696950370015489325156161756945470819377531473967537036955410579902903128303821346830511716184575068032457876304111156462196467144436591848307228893775711533616646954844666713668927367902002363799676314194831306493554841226209043532450853216844717584083633011121656315466326739956660432390860171128129792967848749752236472498438192355784458121400708519560970661837738066302382073272574344090102203771447499517665267379497860623051587790714607945976646016162357762512851218400820789967854692074442349214362937551937909392306170578194103402178910504466473794002661272096177788941424400793764641881251251899212028298350399595331310109989113908945146068166521721592827956086787299766583542847277507543627857035076061779176076380231035357752407258030917623276754496326042175354460509075995635031957317647427471495675305691184715985036045193298289213159774590695645860780992548379284424742287810519595665741558643391723624217829868409536458106638726683859941603773170822413983674070992428395980397421212186795177252754501286415527753422795445061395959826698416194840857596272208342028007571977392312439113762074883003879873535579614596672273224711340287637151369585052651236845163653274084920902886920954363895964785696780580849429493127379445812265151871067739993198883553157215834104500624974737146522505352298472608711917611179397423479469476139288813872131432860094471867484243177907275122355840781008791911349552728979935625255638402477996792960760078288648445584445011715499439201394828626434071089699503701108076094177461372972672077757529845351408403255184563104656209616753827936447164411996030423081612747707011887324820270560141471324824183575561344607827175430112167881714241582824671718143205633113111959803956777194794387346030500502769445083390362967290742303566255195364680276153910674853983735813374748663358770708507139018404424216788671188992278270133650054858152581265309159360200074536109973136969954934818366270038786023159569813670819111337647701151496222942722674393971945643888162542537835517286956152392332202560763046817493164132192543916814290285356416036110069450366187807929285384845925364034515791060878211287368418121301311842322542489573926165087717325814245313361109059895973098865229617137460873784632439527330913544426614101822841337238806522057277228770134049244981539053298407344111509112891581811590634915072835179451854935970479738720910606286065868564366843939272590048651415022829332402162228831795769068649354205050603752340281071220690387306932383817259633602661308659903616604752701187972096005083072363480670429173869513772171443542995948259522424913355061213207558985868123374531040398701562047303563557976500510458019395148264147792256565206362380338111488654996283100387835639024210150380062908260099107663667039731750186685782324358220643298854238926410230352373081664305764462497345918648038180098352983730138981701278597387294769745183933157012263851227771858286116824690415711386170431077268895295929402833101452344145870972851438142953056837065291611260854811054793635882112485569231911173082841499967663298649469311286211061373025529933311440815502849140540690751989448765797806750405397285154402368693430361889063122089120162517229893716314567836476007519497786575943715989216908437469014492313371227199423517063463710391403560796578030549170506669585942270715267738249504912853031018272987145359082087263237646877176879679570990516948552921148534717522662481864799895976945573290513585550146724006463380908727827877152952583166348901504347385357495211621151723813678239103880436169375242500563134974169278779726905532753372647997276330858704099184237551566655718932508523414581321610582046593134744654122442897593916494031905724520107085739094621815259411825785574503611808325139426814296029762849942252644190900022620901588824775989868944431126592095585214739685823950609341837036201407987655524929612641991054131340315927183919596899686560482860609379237164040256014443863055161920572765392551829688743318888327953278256873772384090171391001510776357349754618576450895717216617468723895781119002700377423866734170134473398890179595501056139486096871252005142762629236559948013153921170848003845854651613240713927589794334813917112373366713466730641998201616156645039354655406977173242610093433083401149603212010684507685653542516281007153441053812618298131041108473415481411522198941535168546941681567223221703801276126780216415370915325252874565917568498584564237911748602768956947097468910253207446087653543449885808633356023224668767162932260404657665475866089429314700382783192384863801024316759295430025615755922008922299506096018493693290513696965324356483180748226753917840278644202036809085021669680673324331109796080029743879499425218189221486534716365160794935372352406398035611658314152316432770207591981571641571486509361394865847794130369839504641869848619798883750628622307231991679114065972750014603907722960182461401938514832244505341114742615276268710717074651759979717506501957440778753984904114160254456550994176861216077820557603595073026378725290657385706775286715029185078615871042023325880427189707250263574545672608018434964168941916757923993563458002104827060740854417354497246547226986166781026304832006870654977920026187003345988502214153683684002617560112207996074295359714878343131219334721892124078416168390472288462833486599567190323764412121639604935606693572249654217814042513163563790213746966407629077326677091535581152680776834793956665624961379980786120312448551225223262100973691127599268443647392738867455972531124279473661533427023903784370337086684065187441417513332250860983239447194134572263673517331095989253692718081444403264243947342658021483197424271641822151533288841308716765370785651481969720570743121101020918265850999558014749346065781170560236442833688053550633177599915692379468804466063502224031855493078643467642260672296513189448726704741193592814465166220363891782495087941133765141907657789963834607698864535551090482620361243028093385059184112882571538325001155413273812102014558490915020302469410763499619952461070699796308530332275717367444719942538874224535907319107123147271376737468498311479095700852678900678317869716003035674881944734424676474006922626716049922954739306527935603597007771946064466441250894506216447059584838565138651991870674377762520606299809967538018518402706695169466806723291881457644413808682869519796860748981223172688485594630265554749589518273489016502362152557006819848362644292555764887697635668020594876926457359747269002540436662958700683023884204465141393142444803888026641781565922057471206592263388276484813856718743583238106685847934780358361309940811044857255379336229560748028633086502126967855421702662945393785154367687543198401148173939163545800430842362998751809062463851706217654597766523195786965826194300218501411829364498185970171308065665328738361696004765363378896691154451452939738431581419282943224314456615136087453501571073861717673044170582740292353200591968245887351519028795612055489326623132476918919738031394584609808372851723784143431068869476410784803674441332355136994924888698087965860597838762044767673922691662482091447731171446652881350749703827243503337385204037814347763597177252183985213470491500518680255496800303021663150068604783790888078181863886479534451282019230700365745124217084134418869858069458210964501190515515089504509432624726259553864230493753040153332891962950906577247988200668117071373131745600499711723351879966718717785814035963706452488577109441199203111385570811986681211124770063854959312210120009666846441382881120574395112989596973982239013211083208842747798599278082036194466411984051569901147133884748271154900032393629979701032143891954969990899729190090542835305173446535064794464222438918787998597138959520108071430830963987196850212846012750897048873115867301822665586421376956525205180349721958606157785899536293195702500594898757352299133620840976290671620228869262225040711765086420180856021585736647925440207258513619701525737330116964713735158688397569413021588266535136201227480407643038762116780020042981482653484613300291957963186632591148502302549284901483227492219226173087421212462074814587078058192201570973548078243602984810796841440625593371340993037852386124052510190528249869630530609524055757308999342865533824374674994261154506012502358248428224530684338925674736549188948148947098073261840942239291141829295028956450822926423827475772668975571937886806064625321056141216815317678530584529035434068636826903234843171438050512697941230472374649519112164247532995998050872752447677956232169995974424112544973032738889216194471996555866451857692681290510333232964312320624451763358213597898083593878794068066008592276132505972597985700805078417341465835468751088481843992776733715677708300570676325820577334884664223815792553483165699421231231301446497178944975270345360702731251162147168456560030193988570623164232675184919039494890496349489197786415355740618412027194297783660325601999576526298826921027620470493579803625970146932324738518006062978818822384744754268899649558874930708892223522533390338916712905023443462742685350205771221760591055709502020444169722438327997195790551305103317545191965362604848475472646088021512901115720839711454107096468351472815102127688341634566125335809446160248905925685041448215569814394546902568916977808912202797474251381825482241899930290892695439066705028305681084033065590698359132680263756022860337408675407264536392241019780437259891673613503606512294987038370473378824262235501088286485036675214395024204399882949723375336485383560158635648985024327688698558271817100025057197153346162802947175336626978966874731229813211581749292919462884032259437680286281520806270135331046116592378883774991061262174355873674301694566908622796069274587479015924248574599155153122486750661676074192112002191974455102847939557359863212036294605731614288806285934731656760860663937622442805599531131655888983090402527753772134382081098458953704480809603477052411847866539347448943990035691912969450270635593572925452376815991442640630900982464020310350529817958750001360089245437602117106150142739111138521892226644114226445914098521602253573880416064821869737692379778816743008618193423837008081019629496809168067476839251364496395654848179658179722172042837355886055824509941431386459114209214840995549417978274535625416199723759807881601436342356099150168790958566061845118654208834742348821952968497777886370231422680222955659824783509496964625603425569649508836039784838297170284509485924518892000062624874387135978549555191103422989078972117011463047570502277022517318526698710763786721754885447202601594916732627782686549255115473247775348693042872344579918396081253155393940775118873828130513406569819848534727157274575434365273742757913679209861016692267834916636289133216859476096984338621761478346230078537657088787638518258382884698226751288286424440627356870831990218254837257915610390991830834409799429804261616340944280669458207052096129735039658679992992415478429475066460369483369345245839071094253905020305143312859099035177900874893395978191267624892709099259709181321893297073782878400872589084296446741327592314775443363542150970923670275096219489778569567449734002765340988207184229250742063696522807044714033218425879177258263997484340080111671814273967493444330273872816300945019917656722228780723537847527717719095502796235676095693508983674144962244313290058159257337725518465903988230212966341574201456212621361928587202765768135799946347024286088767042204194512201659766803355037092465238874054216458856124581700921124643082492441811349469885254404617140154558759473575962219966543499463308851231865868599182020222886810127174532905084172537329882363431456874986799640147427886834957306388138812485070491535210070952268176410457325920950010557509993346404217460195711302685294552199404768655037568680342913318133188243544268305019056601764638288693734622946304948073094921010298732401001211950955298422105968682880292790853692684872689414465724360550119211483528493989661558559901040709623688058706943678017950301401486920273112070981129771690363006074123149347590154725605237429287552863268119162119501183618759200964385133343058491826016551030066350457250325943949197300980309365478447626206526307897721581518593315694889564764433955016991561603250521546545098762718798087164348226955105856945022900658200107099767497954581181833971106217451983015588595340453957449256060497188958182745354740100415587781922737725189132707908072803098234930024976176225796981280466678557443123219027867510712545397501825663439125339447635423623834237210183800576215962231602909538414277779173267705785930658667868750229353038355434263601760825924004002447808233545469897356306514229461544053639467473452591401158287369909524846774023932080341856680087396311422948487616710280275623873455626811005867246560750839777116723622584117839399076214714315379332417105259412075772011577391404879272678876301959484875586440852841669451883252017489120844597248709538614121453365106267833016077459146124157391801415869431495460530686013452689489875942896394517747971783948689354717482727753776908266030808031475716867470739950229109802179854019443000247324982314933590409768501722331604129493714752157662920118072023899991226168130741986438574026707450604638561182492897509529842694207589984551901317855721889798762654775510015219858195388294881442192943728978843008454265722843913260904744563879277736066904954082727983521566587582277016060994867801072069962515289405484976936774783858950299942168808160031131636359292680441461148195189930859661553033968513080182827038456714977121756827374668064376220613928657326972473600435359037149357488817645900907769037053454062767164112205950970374865161520347342187551101142387412153133377172886149098546950378495997613828372893778104616183768712263603888237145736766580339259719969295313883980130871765546867951798989548909111566205863190426712170064577092121146122636916975052658340079682238714618450185917401809566324325671023835775961760487531248118403423262244369916258416107453702423041918994171000119293869281002528602167168387178702289373517004949676921495338543711026219487184609713856258101851351933555608173041172952284657693162586280372050135810671460680267839204961308995189782509481054385647692760625809762712837203213704110471354499479075029274902024813867220392041970172833931584841072856007093978153148476516451983543755205220997947245289071768510505020220765730049034440753421145342689539108394077748546109796313511772029920972502961690105908677290177598873653503905661686761792818277848752843478443114440830583434860019470664697007613430418470639679500102208496797145388577065017161018193840380561706187292693133052234200272995290743674302456373495823754224671990997608105172948029619646008548212039299038445427789630683275477512567280890856938896679381890835008041198615416593907658877256168161072797348007743008780340586580469741420014462395439794269573219971354312104942653490669258524717393605169627273997921468757246442749312979053340030330601528067422207399236637044638475435394600370671133727309154766974029435404690873632051071816997310843831058588524975152045672218509799618989662928053573472100833564391928817931390236182425037057957394604098824326149403829475370138862504042955949317268535813527834608757565943257672195455785202678618671642626998811805031512734158207240260146517920686857792261328652929794415883272525156913181257716244861020113361554524430895939621618074042463995190923387526584849731688902353238385462989150735200264628648388411939269417405506826037465996032431406067770069838071507342522636278301774401719037301393867315269702158193536375110967442627333851321358126845598249766388727938230187647825508198577977112047571615493380472255918352481849214660898032191546190160794578516145715342123965391082600631865853858606452116786983945413525253641027743827725412856957026448642197520220496191772120165062991321708998394564115116571273166156480581174605132933327647264529784082434197364121977820287638445441563080700463767736959063058850033277767435214510650977262121809883994163421309892326043777789212535579041009508493979398038193758765330243958060436095502493759355942582477092792532918989698439346837340108470512265228675243176071105770993041786784969287149748336890146240514785913020011091873475335765350804754838354014970579923821321201163711858283070184617674262963126771140283214961576568069481580421889285978942791351269047745089944922169116716482367877799105746103422805677997960244147058649690254731903469787311813345351676428446961008500269429030345298447377433437084022492781175780353976716476381988064427921344313346583131127181125381745162416374830150871545822120041797722677635403033106854299983399712092106523306963973606341489176748367546536872072946682036660710967515233314277625007042936189149872499761250775217066185504838773447895191548854042269566365218149983677241524778779872994660631754158092072457928585704889103008087907270488988646754294358270252835609410681387263572683727971788882141864058859551029559836263929878561514856632911910472443087973632887997299065451878898302822412041866970840095846500366851524110850543879042605796370497773802439299069562082086075166057706272184079069911706675233905473828603163910219946347808923312750231604937920273978785685915977528077102036793421874116968273743890195151208275912560945905175687043740372273202936785332779255010507637464714491884097023210234539540900764487099639099074581739365217243326391554784203997087013182633771328648538649272178201545585260090762882360199550947757937769663619166304684557038811315872125663875790002968918665690881338660229334864572629077089291330379516773104738756970192707859316876965608531189614591226793457631059700240335195970038389084741354437709562892043149481279130942793859057683263287552647265527473154502467989572170938290134800960395980499714324845927041013391230197987927008382423676057938049399708031330566336351144478150559610745085527195292909777767768900880325140940342908025269273637123335912775459417352967217877257356816257246059964436827259272665640503812108485487014026324066388981753819158065805357283203128467761545289773261224678046191205386263082608716773386343886562024496848003004499897444660354706872938111761163384700685609873499430630194666235478158317664810254641762536467580330764802207085958668630331090853084564090393011536950852350338326203809881588666995972427668001955992787207840811504224013616429423646852876607804678252201507368114388480957407146578347460804096528753570233778921563954887161820713456841824326572403518870851108835335982225343015019855935063640641791515660479212336427463300809571082148237073123182549616818871361181100271019500783021119040651267239442755842942690861847642607645984992077869879066326560312936020943788414093035261473853934253129556948975307340661921244868190881439435459890016621852145601216843376298570329755412414628891018393579987221511504421248648576076983095240802708087623243146246787666357761086164513482658027132790177164414213409888518097536160103824398311274593115857304821018180645305205471009406647650722859506864888650460990948185870228897156600128647109706952287379896113108464827923788875593408170519988336348242013766949055405252589767466169968040507657758168607433668222001213987630516340725688039792697778889421941681797597493829714662287580721813517441454095163906093155546071578253200626233736220607178344682258264048868252642344810047970622297365145886929266168799464752468612891749949965438969288289594761957768309520021740627020756163958115313148507723374270551035285291629109701565468616872437191250222692367893362804001362910591596014109056941170674693223429113419068143508952251875847185231793253467786107260591641592182361736847163954246709994835155089161486144458998635418186460558459983919900254781160613849050089835054518688258901969159374123290753774684117871320803604629620735645621506691530144561202260068445496347632568707331975418615049434290643364229842661690767041147790718032653660374178489176914412570907653664333571435298716575393259769772196882199499426255537690277186704564946185117090160869227723876854489561512483102325849065781405530064410957222396225581501053424772742776825653070583760012270809501074390398478691631396931302446982550691399144103325059214177126433964008244967800266183301431229749974470195968387256101567435767419937495485342214731636610748335539877983505468840183835511848692809168241962993579520319036998262276653335172426991302659834774870633231882338797103371352851414937735822655855028738928051959171257923640679042072225497614412531393461819324797507428428650044787627892511134207980043310109882407012194689622577726660161998274391151199143236427909341530794095339941655531438300301474539991133705436916124656756584581239648515493435210050844065831507190044711612323735432207798968384340837780447727837033373932908365009967363277592493229615051149829913999092579223951749125259380911392523647194316740670492591734459326411296864871422670777985017777958537474627187607812323802201701535046069891679156528437930298955629451149856590187485179126352094349584219167772229516675432571329359692151386639463449179643836389134606090840017319153571223782751758367609308841704346240838596346149437059556857030747895908664499787156569996143684317506401774650538618988834787655837874273212317074029795518258449124442723380737083628649102017350815157532077520917757687374028591862675683055460983178037004494957429870488116686887012125045902436077125886392921351670705800475817685932865994941546188739751832806947631362822837352446944300614280545171905292632115106920808921325640809293037795229447096204503044004096901100154605110898278633963449738268834318489915966638480226065471355424698328052356938001674538859557484437017099063579313287132076167182529345795520550563945244356738532013030249865655133243657224038870290291452576771877351893350102916581791252208299259397076935696456666063592177295468984949140123834927923871391329536095968504155527709313020466211111291397207372813918725926018294542857791051339286425319694188764358825551536770041947037085373504425183408376827273675436873123633085893955331696058509861453344234403272712643503563957989331908967445617592248030461488866596761844573725639515744950960062570102763879878203746312727901548989561389403829313242891446090080578254508262960455110058164745007573091350159717072560167591853585539902511469084411156587851908488617231698014833873910050046101444096726230677464418781242339706024827509535425370895865749903338753503120895308499705737135139591734347717676448496807847285095736686563185475927724005976171683975633938020246215201554482044503877521915863421372108002310760339987848442893139270646804097622421797166662693713732590814908573957408210232270874729223509067611144377702609744731931028664254151782097631250705894316790197993393569718525776293640199599172312033800148309727338335665709930630020474661814374064152736500319617940827068901375886377906222277909870070815137003754240561107655765572823946837160362519997484102045900016980608061974092601939675227028232378675143679799431592776717852026376877021223349047601560598924741651900702900529563069038769251664823214975504647205233277252395720579375102775189910554174747362170954257288036852782520719639082665078040411313644235560401624722734415507798474025798318733278436672308643425113313955753657204753506186294132686404685400340076030610480733774483997632176506677334566367969322319239711655427906580006244242986197512308392208610432733983480360793751415281260362472089191136492094942223903676577116597951208442283931972395833845526369516544001163227026012791356055057740530909918268392530908367074171474619284024758429308517482724751338394266483874460901282411260311706414952436957164833438963885321750397504613808239640056653310998723978015957234451210053679200105434692266206925974752248825803758043060449153918726755613702532087105738795781312864531716278342951016647205537160257946096255944113454453245539034173402961077166273644909222788466500377094639629966887369067238646791932823208356622091862634765072322421113728262563369996802656128123366414849152583137633697722985531444689412739747730166653150236467606093916784561752255613352367027127577389113430691196856560798731611639863953261778582593314231854207684515568130873850380940953054180550303629409755937349330651058548218914021104244485672231703970541680493711862257128494576841272196517986123144586648251328885819890164004008981129326106732680444711928871827642897084201825052653763662341205606760598977935056262345823223091622126449021564806601704273239234149867125665158727091962585841151970436536346559480336931515989842930812302233611785425285251062741177735608327184240339385363891497104593353093120231747144196488547626591393955316422079913647859096047251629374212476724678873270775627118354429807294290903945431202732357455797733514382900797093025648201939062229485801294034226728510525407674501024566315053676538713192301188419512575744534277717755826314571153921793350383658328685018324609473023300430067702053993432972833091886487869020795352637795489306572897836459972396773266364021249889379256781381243996322895631309381504552653766871193079526251714906983030171077113308484925220663699588669751821554313796342666367809454379690063238891535151524065372763969448610793455815763540911178087227229576372718206680287847115294978344923155724227656504460463937203496737686959760796610392777398950069419507877513103600671990812731110231304911402222956014983261969839068301785519782947657889761583094044148880872568441497357086019830880113792053311463777982668465366111489082010346931305962036230119845315692891725027382192324925122421047917698625915324256174415882382221498579227583643351526836585063069206548961557899969438636402900519280236222371126841149634717716002088897678521756243498786035186499693233574708230892326773631890057340462933547532751922824600653499444311158189338858710870123698516672133801034901963907647946695695070393395180756146533060073636398637042449110705767704602038070022722519499765065760536594963059434350996428823028023153535577445655779386364242328725783802960500733263813928170599709642391280418472974201362354757037602007050258232237247425393853822117558163455966611697405359265166500823944898396185628791500128494351602949670073573571321698330180128330288902009409385862916673727717735279573440959480309497870511350898607583134527575078504757315223774408884064030927055501961839185543169906132497536162748617989171516427507039835730374037872343660946982966556427636028175800255536434422736555455769436685791198380821943329329978633385092008152035701322749236354889189738230525393580020796117587100897065405816013079713378313741400993626308116829850785459260332203380381410904847136091504727435589653206491883701507737919276917393009875162629711833255644690072554767265231503182507641443618306932345595849428469603888504866534093154385979825436147026178903183654096737963291457436671790533416727592271779768549608692520193203789625336954549182549398344051483491980497739301257480722798885882681688005399071362035546981084755344698818840229712205932658318966700232373803590000038261504155666702097938817736721684486582574820650360417412080757330718573406090635820139991913358601102223718760338725085350163222019464854030174858490481720291030530633645400748517669609974272281397113093845180671752256870844063713714436724328995463117236342558664118996466101786777361977402937984049654893434401262941376802098485348359776032933882460633894332638358865330929985010783570239307798769489009281478805025034572983467108884626841018743360607120275857553164969447337324381980928367217692398379748523440040374940474261762521941413714904205643176950906646920054657701197341176037545679759150750685204531392187588502238776154367284066148119339931677772040246342758976937780086509609772906578741744700377835013193581585952615352167835918587016144364100816030078545694150768718812336610435946345245889990401555564621521322346942505652707868519318703330430674895612677118048822194568120074049434939980018468499699822945880171214800668868830733855258844905728896507452473968201776963202238034794427451224308203310505415842051295651537163346335200164723942015563641721177513943579148063095823635410374241112097743822966760744954375402371376962328808919719451144203175681146122668513127328662794364145238978823049967219430263157094720579608738524528479460781825700470365143936919640237155482885264515511758520867996270805910354123026908588963888683463982909452424498939794892386270727164831516024354182738060156130016914868934324768202582543163064535964378094298179258990569355156417328849285635169082359717255677226887968268972798457733210367488929843441648231821515759059186640970479520892425860359441777547259290318892675784604989024574676170378146566904614870739814725664679411640798653657639520848676524849189202382957410368844740782617518422314729162642040861740986985780799949039229123117664403051586823288891449979811084469752950868351235988026946683078291081800296459010044416871209758779270044667462471441894877204626984410644945840640417948414724401400319660269611481259520836758704347708542717393608427310752685961743746398406031067343072670435714764213895455346021714738859303885991928144862398804185481600301641317587428635651322881444078417002441614557602613683234031364642028384998935697207315212036440894953739564771946268989624848664506681655700477362705416178175372959230434446561570649400371469652050975637174974474523477441429667848290858329227802547198060431687640404623682917392271305051527581569807353020769570286242473015865775125442357035656333597600344640877796868391710078742273735544508907015160433616877004725088586652784244026967386061328078187222244826422776479527746702067068215407395886241814530456650466783541401190101662923950544458740936811832193539511754061233624416732999511387548495062944873946804538825196751252482557186795510727978606113277250530834269296507580086135413730951298751915507009078587935937405264361105384868696336156419134759928799589425049156229328296495201969349153730409205881371111572966030657695438867217472796360439612389524069839116048689330761775004073486713927816453459558604506273923244946430596594337048811231074575198985474859760832455804116042289520498353069778209298043787639887344550946326246291150816073446581354307395653008921298578423976877493758124814166165798320922383202563696335065300374182064507147812690179688673541096716267532583129532871576660953418035647493848903219744892869920258188935537384913777772345435176984128392494363979295744880873058054476728377376441993038609402569850818274562588599964078889201187606298617809547101700608720819554032673173528227307870788014409021579632529608363353567195987143156228452548841071887726927784833455013334002744826451198546203119608292293487430135689552572997022142188917175723124533539207595354357069968650348463424422784579944063478329874333472444801936966479064877017124897434002506384956558879024582814205166548946105699753882802919738847325686430215222545744636090736086771004704009383883390323613753820355482207626424631574354051531691481735784021105571070598206020881950772056913613117710940728556250040993866496084085940021024161130996498833522293812836226443939999234071558690741775119175251909198063341065310229410402036087182766828863264401703715753703198999298884350865469314959371538561100379105889062574602464433075443891587023833904681892548987249200231887135781567190341467288683079541367865293250234800032752225248207384721740036152371266707800626270635846401728704928233551790141064821951208027410231301342423279403234030429148508165034764127645090896406888240676337715026749119056059422549750969630334017385320323813992633609281397333396973833671689188677234298068256632963782329479733167527146309958694169417161087266658145703633395204582805651430924663675154988977641935265350260147237897536257346016298068008508901039133383652528342195675536043098232961508625881982643934965090171209148367621397780574814926858572083839825892027865046252796505475104326033198324418216291314970189580509048308804117548672806995238410184564860579550387871417019665513745084383320006429561962826894098451178780085352879748196935928501805623164843108227393422402546755512284525024178999039496773102963779014696536920816630382917025812975855711087700771962482150320394319882688353998280086031291678143824378507002703045183614321078730841919103426037294696966480739858663595084420429486344299152638555715560441100946313288698457405624720335843049477677657042820896797119521475286564441335218396026743753576794431771791829250708352360065347767420073120342057663859039417798989143722663626511715476475725922231082625255535027618610893661774126125098706981744021354102192637731536078661440214936182191152319794528381880445494461220174140871752752750712411081132341357918368778406206481311209131688118734119373093105798896919834021763673296666189960368610135607744967881441538156840037959918080484233659286556642583935819221246621283568456254494902793435903823601645912365804116801862198033782206632420800330179511458184498210557766190629798499643455745874959246827692294754771112234422546771706791205468533525635031988209966596320473380761242215863596749658302849913753179509784209414847575282175839219166743594701210599950869658284745629454266741494632163390674991347299812448058136017378014855129877713382374207078006012069025523690837357551659728750014139845157928857640120989358487921181394514735024407612658752390754200452161854324162982534097660787766287123253365755790437317167172156618334249337857853036931706533637460866520929967425677088988745354401438140205804119121433764288600968167479859638067876062001920425064401654697012059539009085882420154038064684090831918733962645086259779871339912010358182644786531294509096885374055446229217222297757504125437146728080796044702026030685455290780595082111445014356481365894387863789039814376985243167322978859264494876083552552938369716497704340325542321567804241749061065338661024695532430858685275169200992503309564128727486053950635789932808865786960084392431978955990635338336709177933531489748667735658253762666448517247132572131646001418547076590812079816623245417778875095942928824084002266595977025711278882460019370258222416679478677661789884063555612060102652010457509717076184355398605422250842158022453714524850930503962664310661487496190665567287014961498450733740621403028414554551728184990401636792026748177421569922829415864316296216216454699882330303551037516623645612863730521584623359438490086172544471597943950360453965731183155137659469269740282883247603932890686533586807111174945435159690714083111927704739749598400394649940373833624825304539776180729899974692062358213998886004939837728664009116918140921814292185731586455380443168990380448640812870708367281526852022799082823476647615337693047013322568775978406150784714060251730641873614008016887618161859845861324633396849384228983586855624431011808494422729758835261596126175674386703318338669549796898527632333462394248090463113696010553612205875786075497179113758317054857262744286094397511403513013682911393773930156315337783600625971048270214645019944730968461199868873884466945685123400200665053839798991214404515125815750545117912793850090794174699403470385571039353434045796429659635799955450714073229910500893668097927756938979531562620031613847073919185634236204711420201186584515209999688393044939889508262848929372133489040512867516956697129911676620016795569113621888183403251873550651459237299105570979176969664396005184007112178579184992718724648907088989275683147429182387515821947353198888370793049168048107981485564997285857115054478860711711157197860428487446884866947400087231745975187222766023263299234708067156493652762523580665938383275509634886300608404371040505693932461388908149698602288944599870297657598152684300445531541761029598606384468807892913386740878439065272408629356086315952031429190551237183307027649083435527611651394273980454198001169876137592071178903819217031490889892676347496578687355181219701156805951077865858500306124821978107787560371989696882448458741995111571427085820422091457902006950896820695686547651200934170986269710663740994102305884816451665152735620515792053736419388697672329549995793634410189993478180334245003533481828638484417087481377432550015126521476251841786606486822321740971620054166971388417473149201219457480063128297860840030817537058382429346301266666164500686100816619309393923055489127123330713665724917232829527654605331946760445197649858291712338198737457899937211400498569411797256154516608931402021671294392762021958677074448752606345866287262203034046957427307767455229343116125343945323559921139009142040050568162851613685326596569017296379786819063655895539163521996753573209754327727995025080864511637616758336728790851235423544467183358336387922265058295680652466049393697342788920750721179385222260294724828857313588671765002752885150562159588753435304464545949048994377369383133202589111747299144421353099876502182536970815101304534481360619485189161996244136874623869727492665079856639935311273229889336948403988138651781708125704802907424840645495331528957250699219793286935606336712478393350677577824463523042931667393910158766652203505224821930161115152665614468295434339166886490527183349228459567881291352728513883252973080622144037768892135170801351596338416035872393129322690971265556886856802506613726942568354793354951674307116111240046251997015635422609658479916126316131716425155866009493325661400517042227145925599227300537365847103709494847518885316818564238839320124908075759376131704583414489166949352121436956464430625231831956660468455714580767278599530576633557588404513347324490703452131032461822812798985482691879186579697771167869885520820422257151384728368062131235618460982479770177790991886791684720740730015562421135605749934445789486605632820232912460469126211927431578427892197299918516684417763966580172374553351395505970422404829034652621228523456258927561442940214216362765638972016803159795869495266810788223563269912991641590569684590037757674476252098237608073248117618168954737946606747342421722141927512587187509968392342111706764694234159417837475281605176111545017720848045328185938711190254859725758838803062075880756965990746250425443608084200849098581128556118973948302967995896337019761100467724219867570411616627764636183321605049275993282980540135416757271344008630652208561726022045978204359352191529925433445801288411997532975322798234052030253326832364346629433197381453682333710670952428774297076816900618374011380109971995278406074252537541963706144172535767883315279062893964980036975274475391563026751019924337366401022513400984635654837500471694433012582455083297570904859247419891511079291308699389266089243421225746853005689347346281329747632281214034620289306487773202363424803777407134752547095388029224135854809195640315033330981141312448332645897807572485216462032560782699557383593806768964996245237627721942707535066046895872883342170433469474790741040780992544237245638306286839217515171012988472062505525968877444484319454192916327810760753130442806817313227237339704279295550195154648689206856233572622975639156428088644882899899760202479857244119604729590001265530161501257180441679217298848802831643484531372780317205107828948590044982199464231865595227487146331046040616183251510156661840137176889602495664668421459515127174355033926832352818293623904437160544673354763510344628070862451007932978270050269756015196269022884222580689076470212555544248434919515555859613939738348984017555964681538677959737404799343567538634912287677994477969682019870807326856217065291830730280660434582461144518228133618822487704585855623865507233222306854599902344784514761627872603225758948177492227728056435336511118062917714119131962575001516612747164304057232783273031377484528423095890206380940611957249052405071612591917145206446132901852340169740040972738647250609833582758700413980473386943158177910712602094453082589804860680847271011423974654605744790887853738477432562100568430619164119866002540245896071452902144574416868250111526000936054009106600805405612736985824731467932227256870958728774889811286522108374522775536241409644454572955360341480604621781278629931826407623116217655559901272611011471837173560457850482769227792377909015695964517593648472670600913694327766155567782058279869916165273836531994197204419469421034212397014254506895768612684159577715226533895642305621971106169685598946794759474914505510507547881940210418336185744950867531772225681396316487667864264511470908752669735610444335891985478482388038771681881800192109741885472735766201209376809082216069289591804732382526601257222515849777074586646404069766961395406953627342324443496322926885072137138217826695603885700894159428443796373607052106205335580538782269759854886850537428182386054396623828766909445209367230579632184222810357979023250129238870027920629127370161792763319338348545704151437381502204626376410311402456564319901909704578219311258270594061738095394942999078852356220855362706695375941962510513713672067142783769283970408330718875230509531828055011088887564208906488946159561800982434029710498029715994259929844527536320635055973185233351961177102179996136449100468214092667942077179834470260834467662516890617168329421108934624412408460537770690580907579723703424688731141589537176145500320786111473268150509730751880636054065430515721337952522364422218288869109515962879065825305794788633282955785666403249666299862934240217363217581284579616410310837065959801532918384941195946195841827166608048741131356678417759339063493747839897215328724643495916837736894027789357525707402590808460018348232126630342892158974426558091501525618017209964857056185911714317731521559817142861207495659673752531807857492810643356950913035870198524505831914847653206709881291490141050438032237954437803020983528723053378726915245629573669942508939454709528353521593833772746757810389428184645131051051308074850094899614165955680954724245126007783054429686726754764184398305057109906591887200672262016121216730082084792437628696177036555357402570345258672156628186464086181322078972518592309738356512083441809583093233361693928846533228341608692796561971079595207404648492408901311486882321630943577873212626617202869662730396773174804559276215042136736963498694013848214766914322976225179117089283173012080830826188384489131850718145369265857239674891369822234906438613943642844013327272183227375466928674301331553199826000214100834015627767788819392323982295781055983211822427850760168802116322913924212018262415200422053384975777355092333738256229904214950482504316598591641802421432197771912639955353982428009106825640695760511195546378963950387679428346024811847192529723322984032500641884232882363959759287434993430694859305917841175715862432186290623856810276258888932763023827297559088155550175154417963405408251891532679399700927775408382190507224864475769575279808368304401868928860479185539299176289971459243213218067485610813471165304293759257405191342714896004862592264602593059100400295408062125018442621943855890136194864555788862244133528957384286545134718241227712783261365276780979669047866715368115104304058680073718773207860554786301064119371645416184006975238131979024504423821121742000354222048344188298229149058999113664737016566965921975475777515452694397851186107600872389407247505379138753975677337405761913726956332256059360295982895137729065563026370919030903989792992664923636673302247747051601657381358541090453452527729551999133926285869769477728187482343829043995151992452767920077497331290236233157427523623399691483833087443811685747891863191226491415996071460846610694656929988033965144143745288846623231450417506040005752651971571166773797004945548480426933897670288216140365641690441197883500173631105581222757428262687244211562918258987308595156622597020520008462544627711590024423430619108014890991205091543531881749691424475448723163847364326859159210540098379696198299038986939040120623282388538798382719363538484400315890914405609496121999367355192967570924726911820524993330937819936350138568959031919736601098144382532199774393705752146402399735692812588955072313735674344868584923797469308595392996269132812781262841664621420325974801123324538209360219286411481064153616083629909642708487831985751875937269325093152334967773094060390179232383305771048032709049772544087122623489487415307815854879172828958089250924471312005902108825991246198745934608947233731342343089147288097714878159590967388218614444486969870024667761457198784853161452224715425044290961643135361637260037497836589600099638846938991081898377629934875735083492228907313405962016566212039457417193720116900554288421524368226262094537017707410574023110892315292386152610614712775818661734352201309459613400992015979384984428043936073249583434417918185266771396268344147435420787940554186458954857913962059654589194812510746130209565373464867710950189365842343754426126620756872749817057822459585154608108329725887297346457569069737246231466493660606854390217068458780836837659092953643244022974144446198626507758065150310960142958548790143297455168757331335429895767356087204176232055525398894187104019874868492117594102862274632833590399958978371430842391670268396851610896006289048512288323792540198461820648798384276722646434712335487095522428939903240181092280154271746021414712774136223316320685076395324148553822575602165897910622098358657171768473826148009604281074958731188039476646871095252759360487618868611673587340387666917980053263336245125560039452460781332519172351528406663530825844091993705759926702641501252149685380841786177360781946826038060954396179888669951246066430216366285236708585316028230266866448018758012999529204855056490410140319155092319036143183301179545741216475618241171247497276128271881249941760881402748078531030819167251169041442857080848817136157206272878630180630881692007539327741008545827342118371707815197336541381352727437280167334081809878197412909108265278797169244326151405548978872289405554862910691420772651090208439922190041265169887990651466955139408234396100400862933393722080166679334914125932089690440704884538603718605935649581504241706021556484980033240215080341250635105363014799046232141073890921749688128316498424045049376508187644264792259135942501386772303206464351001993894086364692201108704077022066564807892221961805937381314854365872596530476805635587323280362811077059838105538394441224541297137516439401946832611055525532766368566424861604889522115871980637465628711893835602772154322814571140694387980306756564554071328491845665724037094904217517288516550658855278189126583846553561047651724955467406388652323338649901666692136063068689270232809338967495106663414255030478517166367490414125996417618548702242367862165672675175448246483001318980034095240406459978562667582305053525399084292846565368187442779765830889913276394800803765013381185645873190053253051839539401230520034885166890226919891320164364424044955963159539567723420484356647151892488430985909410023034598455144505866401616809444273959648563661724037864506874564493999381058767953345556524001167234316019705129455207596461039352993745365512792602631719203211843124523974619606405530329220953796629641455772064097092793152127523693015386205432073538848580440314640959081480298310603533271663920240147491986614291376537231765775537277654639659215462033244468292007696393899345065207923696101305957234706707622393085869088206369303059697606032782957658304576461960590152023244707866025469492367246857117913880969822657364073439507981137140888057373852459746327571041883700830858880793948455771847999540803936405582078914179129081593776375540668392324076058019695945272185973040141253978479027521481510188748759895574769524413786682374342142304146429826132231415562115286077663458142684394610388699459415820984245104344512754115701458904922908243590063144213969681257577195991620219542212068739545115856976129053022703069329816255717035898467049103793954955129531544952943496596969064677114667608583979082227289019469736365304776493025469067580478011010952920916798410461759951907303229345646072552927750993647407986296925762275587904213401874187037745595757270615364855598243704536098585800588808855629804311119275420697248037128414405809569368962409474130326398778889178398890714692267155679089998200895732538469309650588212733098482015731206152340938430403940360940315201522736945428002437969721318012419627355854113020446728530048826903595677817344547109282670778456046844625185068575331856707985218554472812042455356348988517154814142645158561201833289624743437696383358583609212631898432166648052605519060228158258891485799102812576268414458796621023445634726033503516143869170555298717335185857559332782134239856212727673501063651198334377064910338067543650551416293227558219322221035866240559290147926107470964957947755704653806866966880482025512324422413504862757646577040150786343205658065175571183567187324919593823384238972861508948300892155894846559636991403023532169504630076436957614846385875346000523434264146583924593884798730244463030717187107839246633332416449712078431248681926648159335855495003018591303088282012822111650072718308701642893482074772768280039151786540045300933944620331766306493322133016432022365461594340915736203393400909927775267598952414450453151644115983186486861603411066675791944459312159699730768914397062706712046387179118376562431348822631992631188954211278378649235615228586662239733958797108271473256249900629538031047149987329084274998557705516636141230281346501551611702995618331269155719564831031077739104917769032304306462434268572229389373463675998668671556072689062453312956581825062957572272578056989118416126279688459651863149892972863078950471627658303821199077645378697484682695885301048419741439263321408743206284258843766091889751205322608250417376682310293932821938032881930652885828472088431178853354088323351223509282419455083391362504797771850236589001065216255789512797325965347893564777169563930130012256817521850648891344919994450758708203911542243132974998855444319442923487154035220071029741850045720924955860834944338301731156962779935714288412947861848494831637733829397469770463945528520742187938070050955020842904065590309041127613837897011181308787706006976548108885831173222800255546053125826348603627968240170789297069145390949797216974869958231096283164629288619144719417576472166999829625606911440237289099123851767832425481790075356273553315312200809059983321606602395808469768779234505362592738207788957742347056033782582245663263996186750976783278433280158200943056585915507484354559616776888836627273342075254224989142291435066271017193284824445352782141311237443627097313133849494822411918940278786173093625163266950952000158380469108378586206085051281791611037676944691952884044367563624084988700099384776716753793111689478554845561958462060855369669734177246006764045561690020946981187950547779046818987600633361460700839773722636025267516766086868692834597813552366362193957529948600843240015825583038971536893278205433939731297650479823863014964396410328922273303432041348171067244004664529310816943119448496333528634116546727245173460167666844304178168396285018790662547696242793841986961276608285728345054959674030650943412035103713169420867444111293781289048568374842307370994964279041235611638999906609669566655971266267636515290557560159316867341098236234042283476970229686616094372025444163601163365748153222325431330402319120373835171465723700439007531804287872416732601181643266580784793248763834064644845390195946537409494695706673336698516432066825571619290406879195140560523044607939345789859112103433178989608738253416262354451497299128230092776820216315204588626065536202672861186009366236419816739028889948028744548498909692702057830000564139057658107422787156239019138695375125603584396652847203544027021567675030319882979976977252306842123579534551809299678490437305415639929092587376643685441214290306021761783996645484250562230026609905052046170595776492904725267768881546519796318294849335138961580601938089205698181928660508086853622901287229423950816059662381877642205841254864499559508696882711839135145415679924340600141968175221250149219595173316042844895000647591954558936262328284416077569784858934923054648484402360104757639175678243484076709258816842153898501178980620539058155247331113484119173506994383518454023915980415685303905130117340693865994616942040804447290808150782643663990954302329014254757049713467357223744204824709875208291688641406018065408482119097561442942865820862148570850238218837429486580113221560935859237632903037466394579929834079276468051461827249533664220476659246345623027713366239257077125032977778573793734265799296708727650820727387065251039127099942125658587337169437421791114753116138228725789867900028024644726489925349705756807204501507712141412295361368963800158199496055461667465687049128656876190219700848337605058915599643233105344883313865483840429499033958026271424974810254369441880223416884920808009675781065626764099519358427569887768690058576555246501011011346962240221015545197162584239535833470840635747878707221519872195226242760087987097048056566002799625200503361896205707985813148812362598944343656231493347666612482565531888254832684214785623878904606342708322036582600741158228799253463244857791130968015111343445124169166222494015774198181586938187456017980182199482691104394063984542049763289333242039529599632166639188434550917693792407218276455588432554412572741135140723020600615275664271212571548836030732474332861450297513256877300770987223825378970115891495655838353641946725871556284569040993456410612362312938269340187065740671461277529951394256093426324765223463724484489620581418802846798292391787059789996781718171675025979234970249052990202615245902406869628158314234438175797909592129377517825727918916384638492150812022583882287080293275010208237298110643026593659840877447070936708143532735669018363816333168575845521394595204828166742908722708973428078459484110016555547035385315556214868256212228605015342141003898537148546646022238287747579346825555430965448961510311065468067323136450467791665448289644928189922951403958361710246696228674370166143545079959649432323258471335925571912382870287480154604246099799969189253526301840640487542502842948330188595312477327152259344166675302089466285771074980338216778643821466959208798606077071654803825991428207395495996497360112380914501623026884386762648271693075804363168448560823284269797021413878403919274848690520187922717123975411940185406745253594600326341518187760226797818142000919270080474887256599480570516339459861302939721130945793647621951196596050003015509045596245611875677730063370097789109240853067109213560054202821706592534796516748893190516063047551065800107708830635730839044457696522410347661386198565419118094293449939900369800531321561900830720719029701115582560285152789758300069018800885201096662662529181754340364012103334750953830956814865959094732234070313310900881734459067611323456482564617714859569423463418360738054028744362850671599603183180719419764268718376677406697907096647056748182990580608001351369260933285145765571258164437343029393143568716170418759409229452867549395129754766996885280696983229880026776434965514775451548993535922084550178984707424015614540188549015271966508250414128797409022455198276637118011941212479711646459045452569303973283047436721949872969237013450169405299724832186194855852269437595835591616700617779298377370298030008709687368852130095015882272717363620809380566537575431384388703399693216558998759470514927669335765261112439043229346901955450117174989801267499274544363971387969831352777798178030788436430188711008504305864843468555791818104292698453214842217689761222748549266871207544517865824227597055271944317983792704240097340786416048500332754683459384279085863405386879722651443074032006362865702375268688897450590395485675849984675002166604112362179120590167958127535554020739074458210137308485588389880109744334590123211109128216040743552142020031506178185433728308300517700842602221386782629329841977771938338068340877401666702391389735532990333061976009999726927972589360625279039613904383915199659947746395033699229620501690784132688290574144243162187161039756806567114390787976488058122078149968857014394972669330415042073209956765303192551870673883957450962686859845009851902097638429471879220000242692053984588176608062448808949609278729025227412880568353550544459022212162942934756614633029672995314781877057475214492803434091886609992964563677019635110215242243409508347525572338031889259192215435604211041439082116367241695539818223713519633957485463918461658054536319814207988103285544979641980734865198857895845843664284989709451901026141769400584089047743567030917729703102249266791030935864090675259952075365180567186265710100631363553798221183366272980752379107732836914165993663411194810293406061220169340503687965984505850212333731890501098264940949440825512521412315009001908582525070950405624463882037734301869224668994287115368568531986122492305933118806838247792571918565064317883930075436350399642439472960656921553932571889341326060767813338722150400611895327228542360140316552791601334149969301039076715441627312245663980186765012699988356752668488080372165317467291755589331320588552295679261888097711958800278709610658008074386382837094401277423806320640188921533785381084917099786140919817605694786641206616883878960535051934428298749663806567133343238122389169960792654491489380013311667468271649581256361468324166571147196421564147655059546607699347703325418140206022080638759542085199763311108251040442852724429454415475270915136453895462638181082348811090162192247712937459737489008609306172911854555128358431418884749051961990811993862471503852216718471781128280692225326034527851009735593683415470326401471877469174657772397838999797738272559574983390825043378198879566279408181850015277365494950300277009848817843579963710689993313517466583712210487179387151196256846954997083980595325055195076391345852208187548513036638028601401448895726360794912473542150742921722967013339792021019516512853867931752334133941417201547033763434187300602684904040497077917463261252863050109504703272234321723085363466449715901235906843260883281882487225729577750666091060000301579142511058217389455747562847364718214048641677218064516962880360484716055798074849063135368741126827803167007404375880686764438935383628207370251619890762867906560369555278839204642346338571762528812425756430988592190554951022884080433684023456523891868189757309560448360613161344112568654211371639079492016823983169195002709428599419307941552246505569221516000250771703585470733904227677698442246674511999254405994947216940375323317729237777117989852727227708795320173251147041285988960280808761613981045810344438756504650093932384144610663235412780396122501193303893086323890783030496348011076144477468543884642570921748892651289656957005453406720731220352058490455178309887793658814894941322457935165604659614478527246292803876333594827528238412908231115893926169230664539292348456589374520119661131819034153989637883567674087195491657711500090065508048212583292748921035928906610331951043488028539709691224044268281540407100527016508069591316086970770720127937153900164253272327670382705419938144763223715394336165509563239019452585589559290323003727122195153552297573972915584601613518246036694874506755692592272608208042597268155080143464561571315515642089394260723273259182645212682997145693098207136691429008953924031941521439248037663917978089790476867479647574487713916479700099437872517758554781347121943067724605632441762773242040185402116524628939590706140334476948099591760559550570973873339591414525802025161361509752805782487744584198691952774209474758577884722357118295774545404582105421629677174643969413037649113169098342917667901894179562016230226397124021450108459256444189591357670617278710673532357511748723817395199082639504532758673475961017174776270670540714466569298331377645450057191998881322817846183437578012763186951493398300793235265119478911351619220719970496647947167431954442065682252647528674037803675850811921914695921874249200018105950406139440546967708922311148936010202406937896647890069926618436911994558883184178237769865468659858526125266724474214950683736521751786127659499500063961092823205651644202631167500185165835043639938166908009374630548206263956884181892875843432759460354629929475532816162805387449354425970147150308333026226023162035054601260171330244233617064103930528793274959529484867645127434922319095925274393051106420003785779585622053204127472289309168234593453993134861724812429136795782770565210597247520082862361106774537135093398593673978375846804834279951713403274922551282813680398374241160166303255905371707854502230414134442464577012914415906657597460328588779196480956644862306048869004675024502051567171652428854679973973740941305466130241630152903720427911574391557477088169872967776407367171776816676098507860405384047433971951351156134964138472507312449159889763462371899750951965401147372651177470009702799605284901862578774668633076353808218132608341489533454274460177130447263223248328621990419284904035272464629496975920645338814400381141571265760426803808200698567032056734693674696779327850637168671515236661715176817618258743056871112242817346617075941851488250107581546158938350346163107400162734760852372580179094177507919771190658662701045387445817232754235053811620113955976050317789720706192799442367587315201922655742296424096995385385121483597810421976689628233215928487311840920386711415231504947944562987329766301160938337035570909468189622341476273343644945139165423368453464848665465664077851099230497532856023523120549523342973663911748535425368488110048211119070305947592082751623668406293667589958338651145444194630853941658757972814287960311689808378960046302620360942091143939433200651777992240998653314617160639109024331912149527942205673168467509105756513050723405758660113341718449608211842927306175315487207610324051207062492345919226271820788384703888342880452570448897850689629925327027040211861116252640661323161047536234631862694273576206822177377939909144794545047028409182953484886510261892184561924461620190044412287338776561580263481496104170669137274239521922410779430546096605957274912700465886655280752353234596233215346871116126069335703688372449642881178124181015741531396332053223267709702174830984164850050117689684825536197780580748830093268586775870559034614106470435485055148072909177749641115488470352737569768585248167865935480125671108128585775925214136604479134160661895942535892092270210425799601441575587951872073155633036310525462010739572342015920890686338875947524078935502094428983162991043563908593252702755839785468534152698045831433204535013273299958698719527209008913532822678530256288643063622862216983549679988983655941522794178982285404402694170761153856370614054810304293731734905939432166869518679324337120057117610219935370078263049095995860052059299515680550018286446110108688383172286997841174207570695965442553396788114416398024055624318826576394864406094681794259239327856758082524813565385730848597882822835723273756837503741250205787014602101456238297559717879388849497737297568142394339599059664313276355735055323413562077916485495507425988905083143325053972068756989298507601925463921664042566247477687167117293639858300881800117567258276329308106910923368228865498869186721165589181942672993802629750713350471877277927994237503056550786929329285263500910818723725484649643306127474051634926459327701369041395870733132078298642540864082934514845433776149935327022573415807560262947162339953800634218076420793452980032163057198414077751161056360505684269258748860370180060136428619759866905645318562959090899247168361489888277788617275010636019573355632476708864940057435236378765143734982812810468196097718145439959270400988980236490320963004455982703865059189942951677023145554880290638752079773347251463979658476408208005182750352176860960457899622225372489596030458770779760057768200192367662271232890983648787384366629985375988236295266745899193521665502497147596554556230464088345547867852441932191510332599600931646681794992341242121362556483599291838228936434776206610188408179026760541276499939798988373763278385529370782562296640072932401877745329082065184718402231706964295686823077648402874710329745162903386004165524322651436921526810620022450333371940509375113444154932255042346314359257433494139254219696067760852708470291182658069244866731249221393473926665569489937441784878506758504122665794859452239216607432244419803607114242489418240447916482904580151711227534773614980713414352660894082103646756513920629773637343071539271008517420653800367943865809642992816448273616629317692953730400292645825334536949837170901102963783839903529477945228869289492025388419602767416344074199305975120024596692866210891219388031917350983816445809510676679256544951620160398242124223587438322348801664708681129684006622226898749239652866341702653347200789540906447799776013027796299992457578977053950994853396703495259169186445871989605614066870475698908946554331425648618407231809627517597583025545650532686682513169777962710593979464230052544331237853446706056916259958779512554515317487259099700884056689245332764805573173351412850668328970328313328111244740018715014300122206157572772279398237362928995283293995645526429285679892754391445891408292948900429209643224572428645439551805760526757051702299054061012014026419784733676056010144479697225763894992498128105427724272660056875817382863516662142998706521900679659522322574782234280115137810095824307480317633700060616123944975243493077814432045715737639759004288817524654036287425528712729602823603835213117108859395155154617450564181628411462723198375179975340212554312583951627814538760534120253812344811677531797374915837176138528931081608362693042123654363450615298502622487132885825290503256238200029248584701275145000575991803464001160347698611867722689966139330799424966637482754670329965871551835049376167838769622515960452118513453924682372517331382262336344425116483269368099095691423038740533807445403503547998462412137844530901507326913398139973078675725339863599446930322148398055657404639453223140120251920431902671858561078359915336935251523197496001185205431795672653047322747859672762488025234718461480419287458540724466792791938532956536657729902450208712638130192243314842936363345887130797591070494958914637729067593037206017254863444212213364870623707598920267928363464894325036811033302201518552558725245076879839396347386779863251438410238522400081669138454321636532734818344452925615237034205084893904537895628562770265351698852794253952339250604924387895747998146039839707431546538986001552884093158732102256918884943796157709191472512326395082817397218097254489530781710116037945858006078189047458992565654058820196872212231741519653258193075242274712542083609619983249324535284492700648052530440407400990929563200982681064993413278332102604890862299695773113713086930316661239384400892329641662459362177105241185527922585439681964899928504528025595208678014759682029837924126384973366024730600297666475027993325581635205140123760928874384125396303835414578202125849683117217529145640587174368273463804441654848568218346809454112804485100606415839271578269597076314450641343653480249035718512074301364021594048583951628106553291890252783527878813112763257183266279938335704362853837298868793713948836359822480538121617682988584231679872365804070039417663552496624666266276220710497606398859020190835798091067589589926706400473294668885427906859284834264282465048516554746873800011901912174799149845715569990763802946656208343283707038203025035787650702999641998270869386951360297684382457610998869236321782312416229761304198258465113878134596751042801937329220998637447181521472773784490940203515834631302235810367408368146743724439214372848532162186696392314876084421492024974520496626426532314536748293582791464963961918862140291303278318406772171875245904918186381484636590871437969254959953497157917102806967204119259354619204198488157536454344524746291239010251994892876738171208656477947189235879737424254392584045123559460590627158080417151328673328666339451348024745138030354904313708093495391320538964225388977660785274586781974333846970934511593474799313788818485958842805293894131327376444146823475457657811676694708440082061595698491412761896950970452881805675199200430733270849619300952281360857100522396768556134702287509749035849047279080306415167578907018896559589136653657155958506265700016768556947260974293375839615445350780628931419773725140933322051669709342325878297731962884883869586662650937340969826324782460723659135912811519164594622160763257319937727520355663290977823976643407228197335784377940835616652610017983076898274234841781351355501061219888923498481992823947575519862794123840893870539752927077552450552344361684889447037962050357796677819909194560356512223929208541795813952881023957244789700174418586506580395856153791805010775532738076251244855749563141115728269405932200444041752813592236241002305302659518993342615922355646995012276950195169219600632810305754821404821907501509083093339494636280617057122038471121454969359731330691770365553215933353635990494895157169957617667168367442199836841753608361568194559196673849640835533388047773457528175655693990474916638702290230583570552672063680608431885480937021971896602707208798631786560680011984026646981336955658302282805838730870249045609588932622528420594158675929123261635064564203552521184965877773628620411371586839176085024815791661898035598705020058861852686339749861721442727552727515090050623725578995975645040946776554414910047370704434044406551416974802368007928728764598657576347795706464157300427516017290103473187615078200252710598909054415192144995027205479245363245731208741939076667535550216566119141777147207034944547884124277599905176554654343245040493576167982511101558425283564608171340286826737333427873207755878855955777530213184580584658604370077317995100921012183052373677502089547143767765268487189770259982500934657800891222783025679517893032151268296488548340537288480437073513610713078840300259961869744479587524927171621554621409157399824575029091564646815458588512768433398135785780521959782434295707603927758707470800469697868796346885575686739876657201024883953181790533898251201517589206836610028265908635085121625025678165453679453662302459267268867794225320571127443637031504127645736400845218456493202907575958556847629305707447465055666038560485629446024362722303930955414349084011756646414164506296061674134482533603531954276580446305272058918621214094913261444405561853000580912293633132904113756996706740539910856776129083219523870407676516726239614085587293503549278205280766775759338646810808257830954159109385832272572362839190098567561757268113936330206979353456761598632686739284883489591429355586424708710788668132429716509945553469723956294674258270257175056655654124094077370657966339661861960572716707429767140750734280229053745101073269107142969439992688785834800762700809471228186207944493577325531231635103635674636503524496865021848874550439145706998475533000659708501518072623106278694532991714552273331785554340375660817216186471543560041666201398386285815735822599468490704708601522136639095491728110704995294051613649114030438929953966440836972380973317623220923894466504821126378240387135551753017135805343776936322811759526173900455557555331669265052266465611097634994093924028999191525726624875538337746429644365495958361002400815235325876466934019805302523083106226247659929744541736777618226521974740955058033838037789467523819850825060855731533798330470461075315854820387245708811353548594918851243471026286762645749438530749178505696325182748939652432021143785863350606187863915628252455202608177196835769323548654916559959111548186677398436484435991160913880232057900258137651982597504575762367894378275463377574677175448359751066246844010911826935424047906208017179479144917697101959341284693102876071541180007090350139398306949070945472782721320870911249888864408531462067001864973310605930722567016732399799167376961641875917667370288730014818248495728651437950381290292995926978707505969710527053892956667086759248751603299660923677209422268268253659204113338682368942635365905095624290545137384549285412550884174645290151817945091333179382433036788976604747339824556224460036092770072235735222056658040786565425461083189581859950051126712962643516828977946061627253577731009096463219174608666918521744036663673689789809587160215177788251270737308037658931664946386152724380188171707307252673543489179842662148602301806623896920334412381895561197791183392284880118554117673707417110231738608048356853412037045373699119734558523995668464606792144882008350859104114560221630575425059564719109764593425053416148046350681867389039703272032094283473047395350988159612376552395654362768257822660299598187039042996439223639041072938309460531625206591175708484633109719873074075227153445150947428337001658872221670541041192293324051895299613948212488993965537105368020749768406876906542733200666439620225186675097708283959294653888330281794868716341373339909603492209351187595427116388600518252449397517348971262946221711117358117605781769297886390586333841849178672794569418187531038701484882497946258238168078685149565408761955586227390125294016386705586217607189450664241639318894104638137339177855538918132576265312450911706608460071210941499853835176004482324481010466510511806810702896652798915154229199773988746002826114567766857613566745760660999056980659265048544690092113958738883504457304356659430627233784898826305238711688863328752080662835334347817044976544218081885717138057430012748934628345220165027696867252013151799601099538792118387220842799263177645293200407706527935696572817453227529747867722809163289265786581367095187297531555100835164345775832188556715738665558584208700973829915918067386662035324180310142554490952440451742161043296904856356597025502755322511350081940951539823436931831845622463303435195231444714663347168700794395245431644252564203358799514786196307660071920022330580810093564920217824541098687591998335846144645172230562464850053612792252580185136998720546393539802972786709283348625797956011284342444561529778789335661736346828182841795320067464789165189101433227721682896131311123383087937309233337614432151097299067169417960961663379450547900327859817846034457450225594318485656233665703614748912466363114741979417374164792574317135882266191403544295801505627540858650036980093475518195819881672445921617065423557483620965240562312497758684621582432023811595698811675669667126368461055623343183843628574907975151319806662791105667057814911221666023000486460436484408553545112604478635048564464627147820930671382271368870730754712833125836891781060932547769471421706436110422549157671029739144984700143740311783591021960544310981802909702593398498028813851714613875813998535171695202776544206246001767417255329836806133869734462418439547177712772860213170884955740198423333809478944251265869662228608032254892338166719662889233730303279738387038619552082002648317654512608773602625510059405144661724342000685997648346787640849725498609288647723765920924796294569562463839295418070398311995778825714737734657217253504928810581295631632702716662427836099230772755320404396970046925507013025979809936245948968128627571189686437558942941534073314390309860165928339609630513086386220586772830811858511117397534607653408681456597070540148627901327090518539194334647804118230722178278095958556894206445749598705283705960253776880490345643449459967290024264394411245279887768292546877539900189987411414342411554813321140517177050444990924883867201546052467717754666618263815136294387075556609600161965570779653055832976174304975299370735502843748386036184083751369576307876233809159092471171041129195807232795803022167680286109707332498721485340272551783704954487171462344269943035858953704524629680095835252901925065628325311750909895006556555809262141757260379580287761905067566894744245501313993464475891891869397280241862350805815361607994805870311577620261101754246567824925026456958963918356719738121026031318239589339430598245490152189994244316437369940784833484733076584681923772940343565731082887665888338704570839154813562098597530644918842923835025410956985281986447980815745379257156668344877804924485952607231576491020921192750202941605358681712385909242010610652725973864449056451455091858053288202763091482605735061095152898471259485666694641076463912782697615499219464885178108589273889306441702812054429679849020853980274750799489426283927457456837822444955515352626460587037268479742068889892765174865822786044100971730349411209286677433105147661781059042402615334804424588378890471632928767252606027712256480629922930429480942880749136836239978369051007245269655513231577983430985267654291346947597957182545197202630351689859933703156321570612219730036087546937507990855551889849509272749960846463886057332617804042414270949344607803337251341169607612518640018317040493749410602836041640931020688019430420292070589620050422516865150906780666323742822420143190533261114561837228747520862943174711656996399210488717284547643264387407613819141302665434912729955448487813983614519750287783821563743365418216923124811333495678759814098552326119593123492729781240306547637716825160059710944008632085620902828356806137480719979029600233628114456285416788975659520962913618346438913834539037915206971786395195886035387309203934435864877316364957128508413788645333665404153009550749733185305207264736752767199168221830045108556970415733377472785148627882212756997810945551441082908937152387634036474592208450540475906772243994461734046864175954432724458073717477795953856299704893695894782568500399058116613790177410564801672716332229092948610694804851438641219255217625206378820946238612856028180206769385959566300442730409394728669823576482477238494502142758774531734550778506237729877074426580856542190784608455269400953537008171804328610867019038394348201055965076045365418052272506707018210130646601924945780908426448706341874494339568198283396657431648321776720080149812499132668114989644567051143258067085847273960360041939791852944287920084187673380022520468433025618515707417340122599592290848721332402778601739867150898735077844496363712098976521862622270900561506210530438841950195438656248522329924697823532475807184787858671795005316087931181283339319320605120569054623550064031861019446827218649319344668197035291095366655878436904043895858345643248217586282425111812840412947922833058120359577390050967990483589659949018485106474607514848345714764137955726139196676211413633671768620129146246996135052217547538958897185166834539340981457785415938554605934361808877822925706962798460341154031500899577196905908835707836356145569601883773024279066143605546899994428547006416528618210510784998149344365370135068285401130352050418183213278962369360467987838248371121806259699714467481582640201809177576132124368638642780259474134285761152805310595183337659212714429145191889445980107569525918418228167736312511750055325326291844775182780733361002819834725521809181589893084631701931478636908732675145659848116382019715003391960245757564324888451384777323593113784251581533369058168976664953930291565062029383903545985816847742835170228428538151521662102510390918386509562840197138981716970648365895336278798695918941691407001895928396513608455309290167996905418785673576851669142177802231217656937429135617820092460465239206510874404199307548397862087648549958574345280700996054498735491536398465545538189093199926213479786929006490044641185954911114487215965413055976828112576630394841926218055167256859378024893827369475323855427754197027756790858188379643839549885057962410702966778338395253970079969660536850154801315560617797700810281270158772945588401482384006345485703085639243926087581839051992484820426967295985081680957156902528336544490146502226990926215574900946654164892669717981427710200570012998511860783889980164119775278387747574445619271667567297130847584460295336755746869745187148258520734376208150229897671281216364491716346353609973090368879120589532713652028020305442592174368885556219098620084744668650949707902100885288185719931306757283720709228185475678470544416606108521318466862652222786875373169897978985266759166693127290018850390740270758403188116974189898945513092254681464369506850004554633806245569259178864243992818676629393439741404872952469317345071860290732236626725148073130712062140929714604497665461494687320085727681550066452156615592511597552373665572123658867594465362018514144607359193231831759668868603369753333060659272211741352991477686510915734438222228243709249744682706218211641629958310351962663752873776951981969778307396767272001629317625145413762378982171003278053259435723749931474817542430813064129366559757802189137967415088268127036286563717547647142820251930536327902209979661168172807534837346378009043177431048763887385378486978779258870918640039241299926364349477954525421840858281382472763105713151091403605949365072061051934400442299476414871523024318306323131845180195582292463228088685494704552613820707121407528163463532265601287867013278782131693570224019917718055262199550767610021126640873076295663689837487330545345313563028540530860622213261064222708840988923553247700860254636550891077741220367639736155472578580836124898295356407212943329803493137983044002069397623974552165742638366143258905380457085410725833843194941769550738416284781898536688350593785979822912352137818004284972161892068636741341266332148988580898668633426978206972542135487348557012412629502689394447034096745206624648608217711969157585031373472537174499615659690606243038142379190131358359334909420720761224862629568374110666758823416343565701973077349141545046873138934955535467449044048926685399103497797504504668252393724155892424696808340141755801189725300639325899267419311929363655805578863711524511824596174396537522664964915862726039540584899826472070739381250397029248039590586734170121345124706849630525840199225974567252752720685955599093766214798308509778457064915824764665915945914238709977691374783176910839372517520485557704578479278581482068027051331083530995457264981783599972706214601810589461545716720177006475092514132495716797716153911561122712391362657993778768938901145687037294215576075666601880614966524393934188204076099331104210071960392761957641513033533919837061423838169482003889225010900748609103021107374274910546327243616697393647360762535402929804024340778120598799533748543293782830379846191633775092116745092372389736578852970636529884126281259934353636579244545879274973805760401437457104820263906547492250347407986637210946721828516642895374996713705932245341184009534245084973073969405496759159812564258584661838028266758262436992771802006488686642201050421662687354411857461163808763386324221951343620373559285341895864954715226193364344149208347371264847572963471834057050247428303153979035991399021459975828185542674589067389793829849598681485809011603832064740110157890397317345725701749194426743709990435870333113297474750293194750884880465641813657899122152552022989219031229190673977719034275606841609923260517320507163884764451065802828020332945375057969633781121219385671551529609042998652699053973235918314277911832707887048072893487035631210012569892502723316106344967237182799128066557157265992266045343549095382596148169624834046969975713636569264568178769015289019450851594442755283019893671112061545598613199365820376490413864308273508434647747896919868030025845996735017652170932354330991950946655700381163226650459224460900353716934351181334104450249573115961362572080658743301008688154009345614774233442173355317383929476114230464883623567641105983449615199480148661884252712598063715596756323567313306943627241752956942191687238398828674615835688981971283401385856633073085748758200055009474945214395909851134667836163284496433965132489188281737645600608886504455236367950850559949401478893169927052231302778632869399614135014426402552235050406651436254266169249400619188638332687308779128062295221967743545619262878050149062529905637540146272274738603781147102651341593174118463109014169864244262971054877674216416533939635851247299036686309783749415007364204035805271143056212173467940654153271974593517654989770127482419314864330209780011773224487101270973143452955791854358864181471389421129067519621879616317773790394617263332170745186943191810587452888696574369128558690413076331135848539366047109551754903956359428674582890384406012747289430445287221962013195937982264784401219985938699054816916797595115547648727361109287351246774799485646168833348953835569251534246678931107997498356289149761598486167115499791867792238659663051432267846627931822516992257302624771582888528257018085173225660566804251194921275960423544381069328020152242841716683630216931707533447260877992091261873471492428563200616079567782682586987513796927726685643164366151140247562787157770199975149249029037256454459273350148516022347891740954831456563008646129128375708600381198949441717122242972072447003906346242546853389458395675850584483664198710314324871250613714040290372883239586973326976295269737183082210379477266727563006444827855651675717412362424537921137989921308305619938139234567290303766019378399642498326899280603810449512972864205512044501548088244729352630619279953422294047967931369657150066177715692177665179869629509476702447254645912843616169124314852238329536861417767355012924683040423160394802337019642396800928779949998434815466045898741450653476088294271876528261907958005258218147934773174134300243135120950687265534845087661963630224110241244509525046588882239412960652602540281934258146042754574862002681523777710078187030509235858107937632952239342775902730132491193427337425923769249316540707524770424769874177048427852424606910854738304957461228061632879438380405246047995261116425627711989301955614132577209093983493060425131925386907419942395511796524021707482170415907239184920122782739276427847500437762617856120168948390049323488380196632712416789429740697377955469328027643751310574153428429654025708382841245540742289014287891581676506247202340955106014412660562246059805220657353264707956555206430556740439388454644704933852045760162517496556577283663922492818271269100239605882073258848511334174045418038008315543243835057833334356460064281215420750644002282823471861773290121054581883542980023630535939877098054680250918019926790104580148919186315323453246786937555691816833806705004889833809099985595692100875613969788358740060495629468502727972914043750842908233451670309477105215774321848168450665691319217253013777113386751219856075748958825532266310330893601436364830988045666018835056882310452911510955059267072468164812228057895358296310167982393146940042672213127263322356257646675498245711875482343886938228510356004826104290016529816317733787902186280045948004229698796258032573486929121402704535258733762851385823055135297067814147179134484762010870241827371317522708900520388116443243545053947810178974326396214339864234792070787912204372161754492397866590063090297343837048504981774453243296617955366376098261298811827346960589090846460790539969409630483840979707883938152537327922053340225463574209159301532099440423968393967710397956600386878869307133072990227000846362409907065045017933109221311300734507781448376385783649220082136962892094404507113713344050420211892594580629254578145574083417675016609961755038727515362303118843462411054544324466790015068261049791459188049602899595282843883777582427114844476838989581528642307140418586378241221101500387768867013420737106208896075054095942490793827041858446868748629974404541562650545191575753394596819438545447629352034450465947585999049234461064624846285724042191990511344685182505228157072229332929768365252015131426930187634818701551013921313393652742494507872103716673406736563472766815017044596372066599545669478428968688295749271400991296180806386699035030280279889756097774636270082857282032249968016368667226420365249209166224365800793459496966052136572357877947545144239048301796500844412133905888527054150927362501598278534127468521526928016843997568438151871769186464902904267853542123267879458556611136977773619299681155781111444788400731605723927903836990083276947883509658309550453975210479618333527219662552425103029674623118855233846399246661502872681937983948540639549013191025263762857203226815432046764861577768545897616739007768080369043339056378866454027845119993789096615969461892268156797767286073984081963419024497944299458415117855621215905163938472498709679295228903508424731023579464841803134429309876467171111232462959247367755314110644517108438312265130620117874681133791813683436418333855139066876720679536805067963566335118545470723215618048691163964490950023917457517463373584259364318099409088276427356309149518442566319544531492837260454250585530871522426039097266129762655162035048552013528652079174521915028052821914368912593833777504730302182452227332809148528089701284803675668983593462875355525591818133626411919072121562106151980688784734052536336492919326540226566932573682693946229596738400636664288423674826828643468814930934594898386602160967485283129658990616296033022939491218382212744787610751252533183665164279473889225314315523145219636339487301455110889937360821439552690126590562651279098204308268321382029678950456802266069171398258770431974891509780533210672074530426144176314176783811415337886885555009652049111013642186847837450298538287511571844231241042389178596278064560039956049448988370566235689986285763928967440624853006542759858295200262432694911772990182988145814331861471353313800921547341882037883481818709876425946322943807551109517011986662646441869795603449326955567559998377050881290631719848875118863181113773268229386193179629903227659375159395870274088348782120183514892052980193210061344199687541877013190462879930842998755236414699979776905876677231338700795609068925383074800274948162697845154397387121774416827502929093721047539562550932272105295415821753584731066985616486928890412989551358344189304825682218053931324117763254537252610350355244851258473063151566699425591804310577331071985063451486627576109570745675582904820305514960189890310014303449645213018923247453222784043873739893093305036330728990248270359577003632723098004747197566520524116307158005689878790273575049038102427319572017221844117943857547666445632087550477826682154637596958070589365394170147857549768971349687673210949624445900816712896467375211767869175304801644657960108768224176352983071330805651980693824032558661034900892170935955524732633940825040620513975643583296768460407652119090749489985999390887702452639292363215867879344380136117059772270728873290460191548076147254655955881069450821893153680748444580315852566194389600663600907872833179619211594949140759375244017786653899958489486520476571518217876772515976367123631017117739741375815819765612971241353532091089187775281023989610994792051837740548314823679250801329859353766064795909152602846502381122784785767729123608341802410378864754604322198923774345190012891773642094970793145487845924296342568749468353852267105158055177110597738202190654630671974997016534891803474858444651566104967552801642669874507776531094078679327177397861802980329355701245902608958052067608861528838880367711694622027670518209655039684250513355876861072895041497166475773015806862073603568471791700901125773786106101368777192917510752592936665593701448851134117079367800552053391291428018355162927052267689782915423569719543656057918241679291991071548260494500597168611202408954145198066892418945721609191305911554683215118983305413293282781035464233436506453634692498825343203928361988861684912670144460200065650767413913622584459688583173214370620353890036872427982225800786519697644965880701462508099118014290775345155117167956955478420560261261732048432066121591656042832820888615355552414547539104278270476474787796001672404741453750338605502820750873551117315504655108642159201706463053666185141828095704185036034673470538137053063140904211514099093168541262994988283983697483709350690580766119123056414469246352307484527231897352758379365931538489945709513178856164949793194989576765472594023944745979752502976979025673169114347277623833737344919795308787820508025256110776677213947806017034179043431340829020974809653359511921845576681449566735531324379054579953087683158219996718735767692794591420415712424714636090797086397338560145556195641302864255300831261390476840476235435307841107618536210505066296882094920110635706447219576059687730546173619042155761754758467082435769603158823324807061274715316103330867111793989012396285075150624859288696855370851038124019844957481413482124574311417587984094702373797897903256745702644801016119381177965526184188659219573183903616048089645224141456110062484187501688926375105420071208705412474707353691705107557405854396367015409606802274915488284019649977203862473897545801073598117017411583163506707977951246542309006861079086262891173850335395539781598708739566896939798208730154727377441570400752649201453885733345209866948371452841664824568625993020661191490719412471011829456828881279516075158474712225087051730288787735690531050763763899045830319695652206558639382753879122877970195926516145343800739644575902706128434477664953353043236732221330008399463917533318632282089031636620514411071653305082875956606109323349435693202994553678897448794556079669878132402755279377689939808601710814140841217287374717048594592489251422210061256759814522911380732271519010646211855419944558537520253682148337574156178948061489900488495599397603799309708684651203148281656449303617086008624460697946322054319711795171284900109839031004831354708168719498296325240768425753481505433269691004460454661193496273694723676531172862287889923849885569033697222229284529530586686863640089908200608728605105321922675086651296174980134096869886924878849256466049237062540109898833287188024288222568142511755015004159299866416133035686017603505680064471035391409425547101991755461107284098419850453149265318834981813865420888152548047651969607229158443672838635826002233364886914541112522667246235416889063089182340022772453268517337653021377616309806847043072754441152112926036712418758234680106280174132238571967290394342902418222984234175674549245859101580773569950155732912461469371851695993915067914635060382614757704215384450997692999020627901011037956107047560998583573376460756861153503251936192884653351082091337341889254590573192558217364462662086713579499111503770257410967836158069313402657120596534424565439113142312325843916394631015246790039630526419291218297224178519060999289808982911084313246257049075390189031151718092621371199871439770815783912216449929227003903765982744428996821955284074435056530952456576598133004811024691360497869832594397183270543875484206111132189305350935627016267523894759173739648351539327257517329067506807105476180048726240031442727207653004025601939004615359847519561054135906684517487804035915433730249750808537743856066879919916941184280294235897894158801045725372156245171230123132392466402475081447274890004458881298400334126016747789697703157434569218047665295202673035482775148425632336234506991171036450039906173931384923323853015210604729571931077504779977195154379568938904596397121459766221286013436953355191895059952210830233464888645175252910025878264078678230741575452927595905422428737909181163607043025301637657993023010132438542977162320227971656927754066151084594330910991166900052602541088460193134699189252676031054446342928050701691844862152374763692841453037745486391361169399397341253636308376053951315634386529712510877545272901324486199005922541771300621599734570140944113001380706948608547045589279648169794789196521153112833794731881727738850792720002442539195334522441079544896663382733487573891466079890625818017578721132219469208744377132212947308827402425812672210199222787014253362215087128368225961241325973637648719542366542160208244857664923718755079823735964673652515024265079904262963272187850704714738680244863789409303342343761432496877581316729592510371873021404918822873382407877933057915017132660079853342247305409643921034403361355343902799225910206408845926059681098766545012957271939386885111575100390504187718861852666058280219460967790173068035096857750915795201954742945649882450397330117584480698804497053126469664423649315543346507865689879031060541552171720428628759566522768456042266093190506657270133200416872934624570839942987419289500957429279961996706128973867482930275745569692293537967486060837545312957558487542498441204981920722373882379988079995054962629608877277886665781029083118824493100824468018011384539406564574079919389750565251685874676905318088128829101554090807177372752045108910074513289310791406419707864169630647566726694940416567099523467855288570216065823152715223480626017330109453448345006983440033229549316230121910497811205450397974991067706376323602598949418180155656730735097606602519380692181390582533227372213184397773619752695211531801969249629492940295608297573001081010266601057649539989564315726832799050320767882689423237929031082394459821747427289942112998944697999111422808633776781615775399124703201604065562453910479343045746051678443685412757431650395317244025286272832934153094145172644776272216816819511730050964065749642708748605459754832330812323350243771401629718324320872805058231993542037718265978446379551366120368273441551896735028152954334949613361506546354454832136643183005731247709470909258093087537721889486002486267931067482883916662033386937811233176340437299856742108208065259706814047305681628846256039469541728160859907926976179487177869731404062270587069927440695058981362067653667706335604290881829037850697809413934117688015415656662806141368365425999089483408917142621122560528772643635338288634997936137186036211986279796336827712195357365530324294852166593018987090019010028787734955541261186026462048556047228278476323443213714904598362975565744831869208707554679309295701093972335833028857586958061440556065731286496551012936122725106223078794587525503651845794983511305294556490205368580259167530450367028112715081200464103920427048571148176558704118259575490482839273383939492377165084542388923522341869357412809787809238973984352380377786995582466833744347175134786195654271771795999996386137749976964576053295557997450258510724813933741511245938814922822141011261288080111226010707808344022384596457970140751492529837899570896684145308561517757888405730301095430180068183969128800265237091220359698321217472021867790723803107270603173587980800086347589584706326111374063859727683460122934451461225281393758048139906826821935300043296572107645735441466885858700425419613498031770188610668320601486985605328259860850968283885594060063881719631703842340190775021681330161984028406267244863875043664296276044334432467643056447247107207086353303671137384842260229287360508006154133224750257082442106451212692218119829627714213345131762739110048886971809728295006766428924296083268217030869416924026168108325778847061478426278313157650827294014323139963984915290031414391892138749664376151044035553519864763392848361323307868302461047572128690618724903700698066079082817381270747954696381803460867170359452174438450205841053316835550543560911755719620741004564663642973323092297744289734605940189291865845213186477817820919131457348690793321616075347726736038973550903730177751749437886166998167538473214098999754811440677891363533307623965361557573309959225130029351469633282957558289031744672779134385119830523433480673923508057272402379908855518234501290100775158563651475525364769724630976530868630619202522608043205008401899075551622343721088801444933721156539620867526397668814074001515515954325419568092947665303103073333199691984392167210219913583977750166714368178698872275335704231234468054767527774310560022553268111464348160071662895381473861370272955487783717878052957050888454254701944683125194840158104386721443379093364461236303863359824380560725374274403654683272682247665609206989902927016190612390389010892926057032634828444285438223532122826434982757978392407696658782289175754940473106909102634995436574455925629314800321425154069249651629828103439495347878389331852690568328820016577789396960046174704046741155957284378784021342588648782403992730387002516906551127242340538304693121584199094246832517594132527553137153912944586337506943180473980422252127824607217221880711081551453745184759420651049098387167994206017107508196132235410680393940810643297681569272484238127679237453192171480884417414931234428630230091804783735117514462795895177861941992128192874341898754945096033849194998339665344415619828558210474815254913493128919799948590185923249757947200304879609750425909957696947367350265795360739259390035388693480974988889355451579479856587335086775469739041432819140695060540064053080193615916768469342792093389259892873853813605940864880513888902728443033239444924397604651923860713148240265104988599434238020676496725347808459675963115977637831137770057648916190724640925701734447016192913764406280127734298342958047113690961435022378119852186951292778136293042359922922079891118629139549598650884998758810879733464380488280960008140295991748524297307588979901598337946783695072831034225366928606688672762218641011674321457552929489055964220582461204807592068026305878351967022995636478574076312384314831304123178058873713627121577409635333822181940016284466725129683383222590072014419016566517097769422557337094944346545207339304769557782131887764059596074979923986221499036445142714348232613883144171526318482525554209226830718189054595635896776009458116310019101425292165569607149064019067424856561907447937084328896806225920845856709235371484272220662940831851230121520795929373462928970930834569593376747206349630688412011109124877154977154857200504719985244178323321953714856058165469392790005601099081322452541848716332104502582846698106492525883294683871951876743382493742485914738685630753141050720423376031333750609775279452164868364556591611110491322721608535128638131767713695565412648314709226836844045598273762553122733508313733507066316461311441888266064333050623598511294636156710116380009058100340962296326074265362251242069834581171620066149619338086714048930188214019132766970766076892790729801917469574665772248725876765128648497905005817245050220835228102370866825650286099076913256023404285677358296483442519332014676699838093361913602692327806213099532469967769936777848270424777456240214605880361113888743196246248902023952931401729975084758657246613783562353575626360334057491869760878042274555085912666537701944984767616714412874298561701811301066887948005548497897628516111030052828204475339263657980180742705499825762320520792718216025793901727843305954805048852485774353097650536278760595384818907753985950883526768862947939214180614899123763838273744133290500927705988537434338600254142076639173503344609097601790997204128379207256529897163053318298606585094447438481203287450260250619569735211888078696013093242780752543442300798924928747973409863658356974877765107858351353984094441538356830349133616977791336307717812447831307587162881138761609480943610883441679410886129683432005651548442422530174976956497446927702082925572866843794273747489836824284152696252327005161489570555473312980226740247794431469873496434268117685724302497516883444887482660066498479959295128467091437594745862981737145232422210577451610554714579886428421869361229156341656430976696682946909688085312776234411296611720474896532229475594506661314807620821237822879461383061538346163776648780797772748168321635997097078654694206181593479654284592037341362336803303109911116809271270657703352756346520610912323103586989606332269487744619314225931852059204009543491286271135049042810711344305008758660105159271768571439660841285810221752718502219209584612343015391272934465470010572071176181691849590110272268977527117153139550083720237094680809582219312232815847050754974158548516984060694709672413690605947664177444346733850024129396295516998264106818934835830735502357006315279423280060831196530327788831786870909994383015090482469655483925272238021017325768160649322931377862368620382002174197250489305180233345195253556222450084033557038906640346758587322632918079121028389934387015676215672667573555600508216877797908544835535183513613458359460939316853467245180354305567473070587892169198442373870023410297142000742479606355919425480644162703659254740252666670715041572694641837418259064297910681821789056131935609242669201488578103217323922923043185079000504906349757656265647013417434815094894199744925988593533218894051713298799755276579259531011674710034243813422723104090049582639380096245043459224147979532719982437785108862544406023683261792163550319283888063023434070096699146593315152272746988773843759372200310368903092382818157994731030436076513737314402360251159994764931620528807307144767131948033422783140526593508217294308886800894847625106343261088206044456357062018704458767244376618232624290717851193554720035603183091481973671224606562356420785139975217657209232547393194986193817377488781113862468862998019440930307564359975793185350380500894375905867396427440348926115880401548761182474811072791856091266803836190225570043559813423565065001691730362272517831310609282176769462916787575165065129848966813831825827634681558730245374408691040678564549526433107140796431079353596799523381804166432135941782468776150421503786098544683816398238163176829520821235781753234146317543033993222545943887655586352291199876181937636555190180518594080597172771594370759647679142690347082230682827379980693399598828195588429985640693040086765294565233444915632696006111603947036688739285609997482357174626981038132942154442137496018404947195240561967067124373116466566208618352785449203755166806952447726083721707573471272772223874119227830817169597988535309509063756074527601295531617913970967194821533649041636457300558479695420164084739142834458169650545001731123735701019785033763773662479580358214441609223921767919790930003751867775328097054476229293901995280175796340732478280721357413775122917305849088380569034625602297836488022300444152116526387528884356207340200491879341819238682979108604099253495977627461964007390398688723545290935590179802969787349407696666366161607433915536980674273810956778102575774026555755235843336829227178932785293378295010559886986020826524421721745099177792398715537775742216716690246029514540548530749271238704690179610602548778946495377037701908450265617938026487172583632133311287978407395803619883043896160396257046736495663126541021576296261128437256908110229744453778844667153656388857358220400927771488434223852628108994049507060584823074139152677057942727104602039056029215023163992347068302687937227890662707546594245301438825511354104810111174513930882517278222307029035321910010457374083808009604292623048880458025586245214730766629792713683953507625475673296497150956191497320519150441644587844192877186272516017983473851974807667938615745940673461679818809195109238073819872280110352058610230856798192967438362336007232734007141836726425397082384523777363565134586082718613422296645737650885303557949398641159702117563102157420662550673268376085610850635805493052304359997723225796608134514654209712872122726975793775654929680746644105901422184390989113414730674619838915305920020359781640325161817488379244912698528828670842998447873026110993662784961897318742621037913810608916011317331055108270681865522406703845572468886962345465119385879048203358824957008534430978271762326203589486028685876362860717329230418871595758035127134550854111216943442639706868035170068206955698229570147971143205734454706200179226661313780784611265346183980385210337224346875530444619229559081681162557922915891861155486977297546030511944531190656952861026011074266120108324701103850244132048324350154656700466077014632449404232578074462186655347917198621468821883073720646699410295743329852977934865060374878626306982825220481836327847663684232479700731132863326523616695612961491702629744749069701762297668115181206876262244086777753234069668312837274008559212348139214196802533122783214840910596656127595447766253027177316919360073977401704199901585135491265313609119715713610891236132847214254258938177570611769687790328168415438758312364646967671539148687726947527824028738739866907753672084951381330286446736769716635130467743125517887958898362668734244008258762582125018830396560419294537575568175136954768950497436997452160157915917487179837343858151359710608841144832940817395892783234664304397884533111628317125556119382253489399427967861661377256464119651431483844517286318070307572306807374539246770964608960755820069221269245065379689218423415237055076026457908591328640755092891568680594896794981053343257289868817665102043786917330714113685459523652610900839327468791110548223341713637720551296794290670976095416585344204853943229578881248937220359932061271960723028512982766212745331226356591346247945094113386463047417668122715908365095167708729848548858667064780279115804741449854035599818292948875827016753600789700806576933957647819834789458995326073778259708849886006384700554254259549379473777097011559854850422100204451312917557059253919446896617134592493854776340118736637920527375888529776717474757066848302336922934905604157327473925630564468185178454344709743480346909730121223914676137983204887865453063367214186889327822531183493049681754909560800337647808093601153818842140233747596848925144399151596648595829317047357732240679993215359677796235277415584041544190408306304020411163105273735825281146092729346093078159702314499100772014805210168373781837597497023764835994243590886564212338593576057310750949604655910055626993009911256687307228692794975032509122171184181298297158089136010373172574116264788252704997505862323350009148558873363040487423051676879296928599020056402067011788051454499881152681181505750484794080281108384859695805813831661155410276558221523756141328256911057582048448322401290673742680925176210169107764339335937441510573953989031277304656560067981669962250214591579119467549103246725381146428891068085936811883092828870637088303147280404511161760724396170295405465271123012365683491305676348962618358820537344996646691397417721164349346149702519580720724226330816411152723762425359633418849026318422429922234832907482451496974277599101305940833824996583941904940610101638127059761630854235716567436481213511533192369334829145241361275123817623224015953068749485193546449413080404013992601480832240431064650347608915108739408253341830064259657350728937893267905406450092014826027039747024419202812278953450259560013581141669993499525588710171432058291326652178730900146881967915138003598100035868854154186165567087926619862534290293075209171798614270765209073159291985817102725942799213094506506078020549058489742211339620299532477147952733013811702485032590059122202714030196170475352332764745335749662011875726830311470758827808369247098495874634352199254909711833699492182561705247266992574178039777195817915210357686512135122235214556605636209347918983543362948055938899849103390862721200256894325506507152319118204361847821444596389353015946004910289813959677449596761627615634416926805108542177653758185883034684600290019022572217366998347310479481787810359417690134896341598387560753086201703630447105702050333583733668747367214422253513175058773700822184121732981156467238424210341609085293999329461611837352214799315096782263074515767105520464447724531556709726082732181221406714396466918924025456394001228837843841812480419879921133570884649784290588801703732239293361799354830730002642455366305742192220222400582784712640944614136850771239731490356186011411915919633679308552796375030364970304388347402235574910919452167229067448011374805848622176149604292535339467888998151639335192711648263253210270733054547538881919734658303911523010978216106607952785214677221374958112980115560455422684191451886076830657521343745897903447789261936722582323345745458651799101217367251514916948428862371076295587547969505346709024218818607071637972927886104371375813622423785022991084158257256489710459120331209191204515249966463462623090070412976252330142113735253131572971322148813629142529900057609401368758685315990726368625224318994617046977960053135414947594878942011376819756669477216377515221541792844644631419849967627731150424289988871830337044445836710048299271289370326218559972736316866317761201787331126598180689737116277874721623802393306789207086344088939367565481272725306120860450271546536921367252903871882806643587857583919707683022897851198996854783281748708407636911799411988044884216859764912045082751281575369033725344335996818402037926039578002280934374280728269524854952994234858095762719366649532203386354945570125279026576183499996052917075501167235164125204517570929422772333160842554510558798579562545082304387859458422789366757491545428555019038797311068523501011927482697621427704703170431542607982807094623029671740145793950876701199231534488533508243135979706334655389941861083494018311939537471288434628937814390518887035929677895472605067629434158247443497731289049078059107133258534782935426711681405201774867333928292533439672093002086549558084985321312159853597278981961041977859258786174031324498742157751854809154502621905465123793947140275957572483728508410331315389665512918318234022399869024328784223584406645450987557867999188440866661132201803897189273523197704515287146673458229169505614741179767820373775710965202164476427536743824286070811113004225115783236194586455456005475353651880402537556686619967345098482850429471347315978654606992137157287083706052310420233657198013670904756985268320667775354335590865827794781515374412879234081266095878357903131798564418292734356381046492906863842926463404233681672335177465178566071072032913475467412060066029225296093278845298584650312184410176969804406125397493064884662591556347772869452545471734795772011015293949745185044522986245517712172151836811950667228571734429185830616601469212405942094501152630998877016133294128207507190982563251092615485426948878846450635232650556022329089187931974334361607618823961952185858043468908901449740788806465935963024982033128660371844238297640574256109495782574429422817061012606376016657571465376077659560477586441766873849687840365662985640500203103221489843540502196883937085514704014475785197169904693076964247122692578254460321673037788600737194238652544124047457340209492669283742752386464095416734383683797593533486294742125164706489617439023185891915707041033485640407542497779378641699936350872940430674967227951275185440176741452167503773050470895058993380384120451630909661592018347161238892027570314461731429908290952405407335801790115296070852491493942255297605847856565888907766276242565597000404751787078152878667213160682080235284887459896607167889152252289611805678476340285580616229618567857959374160725596731382437804379901883773372813521658069385808054723725503573626469974607778484449407131647577669121633583292486653172971241248771541950594664765809501655984173064173704614861129110271698624146805245643888283835778698601248081382751058847791302953802845715632558615652364449420834080771550935396184630748747907083082668415616846779042523581772666667257221904664785590869347975241540311270127895384424063876231572409547625338865094422300812177122541167934288397144615388410382057151600069316285351036465409592771858500216386423991478370456164756199881892663524077519150608209422935100744340011795558387758128849240875578333684450968998249580800300427701835473153830550948095928172085672009195988103587679608494673985717792833603435507913338969440720854108189042496408235289872114460342114514703743165958771817039397468722943258457218027100070055912783298928079837642393803006474242514939794119868157710554272874151618188254617182085857161805090378405070934045009125939222205595889645965744909478268566195491467897623827486509479024989953009061748099378718768675638951707335242533721684835653176579772160627702303286068615653832955650298120914116044959853703026653077205497147830695962070770838434284435118671225596853281554628508389301221399900925751511361922362797426260715114911274899852778695482328283172403164771739339389395382983531787824005019283505666944474326667556968048612201267972072289045427291328355837498999276751397849990712828449965191169607942651797697405608815037583871461583516577199463238731565511631828644956732439768919622205353502833989884186753735761116124318177306555978272997921890899131297195735927783565379153569483671813265158264879671665659792410757382869199388081240355034132107511227149776711740877703541612505693818390439501162003253268641676654812543303995933262558061084678029632249147708777132690469139464528232919387703964872953178605877256433735251194307210852116079313661073718088822114967698737450955883702720465000367385523822020458406064573441556300179125916945558390889958431557049594114385912361371444543638239402130997304603158373117819129313972386069314414789458135239554314115868837479771891259066405327254073660265974629612551500574626254095278522134552340634237968800520291060314213219261159865721489784339797796680738873924845862935417321022306742986345554007831822051533032603770754884972891719040188844923043719329155079864483622408935065881776988703580799127703120026818118468194527379204519460430745438501081736487934493189691628371778527574206632087617567034522824080563503803006313235675677353557605483395974965430568660263273241592143311067239210440137544874768272782233878696378532379183618667603195693958867393918509169143050022106026267424756628644660230708295782154031061851975718866217701602740989376428242185557743065725000196205103902536497931632114054004259406340335206708115879983525395844271456539925908664097892783207317564181583842093189798443047347611975278016965145487143499000144632122579856231153395811924261515123410247232727182050346188478957017796926829254598765475578152541663185245268243126902753930392266313035071798678026980763630599830087594388843086490190341305396235273942284285428472816245852913912600899457871185225918687893411506109874682067161710819748241036840297663451732865052872604264726323989042618350551003474065669494018316363587487008414418055611265958369280606745750810777295194735462236997371645385399114394733300057577327685236434703319268427465183510444410651894039070500093250827938177185598335425869589649349362761044007301358280303040270090911143185240153350238575934424678002484424439222690784900511703082625694549099171353290580770590178067324742995801046355860150841086419442122444517303373430843643771549013066536483886979326342343281556361783174971368086689298552811137786576790176088462966666579582747585148738663596685568477900370876794632290145294465786560921522873794379432475001615068403686841644512125624763757190923040877156205634198319149052884452472943747469512649515303648502644795311025719495110629032044952200850396873444686375015635809142047724564935933044100257291971824871236651578932884109293153373995580998120178795143714764149046869592715399790860685793998593935478600439701548419300471327540960242825472784771688875846624133815729318965926975954825717684331746178007211540803961667339096860733945480668348697429403504701356408484980379003844692430032333903859302741167864238986975101182320430962086572962292747596470929719336077229754276204126616993760109275611098500208076632274986328044927712929752217244426465395635409044781611456428928225648401602091862215908872916221103026418503907088357895965085266058149409233745038879998227444759500254523321102849698128993059056707510074552109495736682211090332272193686876560665182991224116595978091290135492771595943548280476828487969557119856663977777595346425319997327111488948996527767982933303838312185936208280917135945823753570056464842879611084522414616825656528028366501932503576771399475272863259785239972515355761301939288870572529619830333005693768550992097285497835883718260963912839152491501761998075698928924282180296415483393339700036659621468116932712468183058752398643415078304713371597437597898901438988835058353611404190329408962632991807091814161427031988939454313431044842347525287922271681561395041670769878160706579844988201847330622404854502148792720792208204612806416045771264641342190922583710902762381951625768348489688319506579596934535865638772353711194961522343236795527287876147182564853157598431608432256262754905625894437745884109018731192866340900643024304227763178964605123786312031176321842381434465232813998859242240340619120077653408137297567742612031700652561563957897855898738273574312705169828008042614223499433245237452847320344482004669124546547256798400199377145102356401612354625976150354175909744577692716767457362952157846130041561520032794627367961501966322987807504365313283380887410382168325518403990520822531460995334098596591257478596833329359678665147741148730771445927700990111569317695151750757018750220918471613746218364352183013393493073394098917744897807616003850702048786503742209713366394097462223374316482743032672159539092786954186207391278039260697227633917359267346600165721981069956800293698033517650555982647526043095997277533293323525257163793412788101396055872235584016229474299401752869941742738743432237269143125616394928119312323117639679810504138463157691829659000740466624263176544211975362664001817824657612801980959138368158512173306376377187353364777039318356111099154911972881220998042991286598347898024801395162323225518707617544106282030050826353695896291809424616751199393770858281847592551550606400311403236385391114735777130205558521989358131511014845187821050672889594714147280129255534132590316421100896683283018043063025861876448931372287320317264212909536954498146904012410501872300492510089699366388590585462400398071044305933257005324564071447257181716107970679371969020225422055817129996523493410733268494823115192061815431567206266400967772980353634083305402918070531859726633812674124724048609725089266712943828588311581775559173270349608729903714683190293853977561760056634164731912095189462224368316730167942933041967303399160178893572784827106564441926617023768949969587433131541834111073722368856625939715262611740260504623106719094726507051454522700476047692281471283967672336636900659339694949658529882486694342908130234976457428845885992523292241716142452822480406555255879701195457515111039687088915316534625863250739166714344265247370535562606555855951243560937775450072456330922317325248693068134078199450577183488692495749101339351092372438589351998748176628858884258551926887677682754304587887133178579504574213798182170308761367528726585001802101088224075973742580724746606568162311184141027114884753840625071899242642718398112719386672874825353071795481087341772726802001337121684171835006041597520058751293888186300173994237296974219416727933309181632192800947361414369527385761045586550352077868104027257257759472633265033679740564875961658753270186321350263068707198445261121565344978849941765613818219825264559691044467353734557219263556796854796911214201951913838234843240380590482167097433263375331637825279853156887470026077484180415803963420474530719593975051065485513313083310986129628084841064546899696510443740593342920606425869205244697382301801614651257558065174851817704758272617342432853822981993344769364237815480435175215563527118121081710105562617076392831309133179447260773328618064801443730260986542650221358450956170129376993685378073148182818351136707341675612428779943424565338154162550544910499490169093983539842245730277038593886446807848941562358426603453056914575292579019540571337880897350227130274493928280671722671146102325932980735517150958757175654721900460409379946262868445378631911113922767578071032662409190540640046892853443442924252314097163284916136150506077682895840243014749715447250255295693457616814055100484620815634650916636909053136628897089739871547129349931162096160931773789545293814914362625770168261193793808401395708875900151420931985916264533384619977686740608289114509075770355251565462173465146690525320136588720365335336869473777307162738202287261994072070682875269631783358706677990906008089970083905491782324954997977546148471511144397224440238530729692624137845162333250081700970724262908074322414610110030035346534907994672103462643905266002674699533994994427725655835983362080317864040376639638737324701365854109699055694255364590470028436490477493581010600553427400785390077488078635099737677744956340486318525122233042616759301663235327395438843516518942485323113968899197255449220580774834277660012772604792678787413442988234461906163753472295032588582991088249607956538923859515502359469334080823552079473103103221558323250986100520212129302095445499481902627954935083454429150260653852184254083435608875097878729983834279196088730887337144180647754626535610050129924598010961764125398856112011725298586875607008235795870379598321773384066042228976190674154776631317547315606044228439311373174205606702701431539639503391551338520751691848473092152735470753862660597093100275218165400605696579959764456939220121570840454532314395559175591879075774075857138313305129060411771902029644047076714210444231146719914404691239181711518052630030914788283304604446336977850129617382401131199444210530576621857327356251146567628135021692306969561568906532045829795219050269029138020608950323421719922115206188866437360775659580933230957288745015627244094968632081033512741500766813595250963577883283560760422518874811352241899700375814476945219566531252858740966246858429757292533487224192481511737307895061558127375798326052085057796083151757391698781985518829600926005724194944317838144945084596692402143128102859217029578974763971909500968231208696203637012429212867474072401925553068256650713731814207236728819884687186094652093542155476682154238694710276320371098545047599708008165377102301063176720651041003359565530329357384723876181273061080569110599193762258030759608768618650095197598820012618789701516776662026953711428732934819327735980947725473334378015948827176898880112809544073360082845175181460614431758082345397859850503771437149667919519864971005286485858023229792082429146921403674039765531047782675410126409798570264538890109886781526441298643511673639849259972975610234234338671978804144746468967932501440394391050806558820067854837370929319840708585977617585714370393098681115029234993977116298776257464866729765771492258361522309763463003310275911992009864026987291859521842677610477072842243356219696903545806173552926481000449754669222488412218270866697072042439688976505242891527023126925387335719554953161481115473225760499943788561474776008497152266961089335280320050552448394956638150436760426986324830515498658702590628771017431660991774415565293063765055215104436967129346843399420868131283098872565362942755545067571876722955200934852203599195599603801412160494310874783240382968937775831949160947364214688179092892033354399003327825163814635676146444827929832048376126506251324810241730008032648003981259514437861993044732562179500393341320179003028355720624771396175697874857788810054531498936647560428525342807193631398717111982352861778286745888529922408896218328803247737644104735276717043724247436814791126043254598738371175652949089966069924477158815911766615951387271689253755744444445267820620038410584630938210852114332364797216277351398874782674020504659434272964206845240411340017139847841357803564129037477466078175442216221019098941026045268723886455762585403939982113573220299975609006785874958441225415629894818451965177254062745117245623377214481750197544015657532703879035355675320691759822416121665291781783706549135340355982477902622529099880273436624103329353488790590754981358629869926759142676654545056172798656697772269633207538088210261943936230181107516040724791786835089328535870027429440762817426444680918290174384072233227341880945155819070797156679196508973017408228797859240674868722547690520238659432921643642873482423824745334960784842136782452281059468046872862943597062397185759521773574571986712524380938079760710274577299931052679016847928018647282508227879770658386995693299346925363334225633540672715703043784640124000437386619619682501478566585470507457675194752498423457499387932000498831476984093681341103896940949068244269766421355104351100038868503696722102628107483950155884407965220316486521329853363688952860217018403589266020837768585528510385247495720566886966659665595250128642112245189500766049744715648819246523023843271721191280780477000390480870594298743790810616372127236113000525497139394760062888520596478879628715932107903922443178412734357211953823507601884816695560678131963917276672408244544411896904112540917311885124634960178622632612150110243478564715434344910549469996741826246570710734962503743382892848231581385659545568377354379536110822540026650241644275486447092186561635503202731162246249321629834748653544046129499081280609458426927343271040581799719653911761561092844222361107022510244438973750250213578155405163182503300726925622923774997251547795566009741166002041954740117877658111555678795064051444530346917871347991901915992539645056946260236793677180792676035995094811889786494557538800318377174865500804388677527440740192206543915522939865322227363408810104281495223238063356620815646260756384665229321796986061531193541367195133078099823419517023100312713701238595796172997720255130099491659225143051412656379399345691435242634065910543345934293269142714836129961615677522200480990049226315372881213378746578192860083379281638328612756022910886314115128305406037935045059351360365984104350120656891681571669876106136951512698880951592275406262726343122204775220642316261231439771755334798166863531064281363721055401583901757233268482090813668932647183743991160112089299207171085205882293603914994646607100170271887245485175339838055998263801586517611007820478869072780789276680224725687758206091584319610308330245113209175763953438848405872965196679741396245487517686857427720649180747793801629591916930304647741646486350608464094430517301851815936348159185015609963037203943405739603639419884256453359067798532653548787522959418929205957763622473012899438812867264927931466948774860852270696686870538435053991863020261586801954526682209908681717211587587898343193245962244123129779318063304200673173593048750378103750394015660558580155444375774691109110864796772861551403813963027802294951179840267767706637191830038098887826926707014508200897477456351644150933107947866263328491163965063965836392568995789132005109412905461126957096509613862450637840889390747238456165379870986457728851499262328703429249653443638561326125159966655233459208433930582208892377449262324537087762610772576118005514615425514894733517084192610046780056908221298008143008721207568351964222930579400205061413275305382195852232832722872199791380756702316750675604816359294040835733554689936006238712089586466079769628826086829520965642040449028726957601939656673471979530383293320724580861166509203383047401776400617947809012328739274566332070060528303990308676997986568674709195434058677207604054439850879282265167499244586453190696669277971127660517678833387039175347836077163447109024641217490875762856343937269534175706247194443474396107462885108140515936138511223270094476345128919404554723928662016438535206398712803876171374659225999275765181457414472991350217668456097400336709349675557330439783419998088769298290849360782297259566621191064328915435392887184029728638824202613978232374731766316820671807381102729326922547272292079839794427303329710807832182949312106705535957696881355327526677280141339460460235750053021549584993804944038553260037465557712064851045124161111430982157744755661973272693698158463008947310641791485210739503541740075162168321033258487755925167992136423401237615924809333565953528681086717660052073224950013629902803361739527858149405762047830373963128048120897515740501448282703175609713210218915877529123942311180619188056401683126017646852329231110745602201765889002889842825004951994751269530351360084949899720543780251174222342545965434783507758285179305365152868975770376396764818616754553531374739415895072350226621739096737154793145842060723541030531681500113251739571060179652708864763698170599554530082861409182468866661050208556079295161110782660150182373376988465900678101568949835631840109629478497827044826614223695261806536181868609349881544876884407834742127330338896524781806382865750434162923558084506202643558128688434588489961840185438972828890786026948209300557062597793163294654633726768409769156985887693166132859639297732646198933089965459247348774709677326825838617779968461812358034850949322562735695735782210491506314916345112121764745811600565084645702667214026562885407417744510877516988228723322391925867638136882202222224073953125312610240435604305001629403246292899681987786382671508669958863676823174253721980571322289122416737295691060483536310274147497943622601984279975158858225839337820478282871377534882471518507754830223504274990513377886409081104432516171861841987031066550360004351448042583925942651675960436745957673684294122334710682895794188367806933241703205365324522308414175552040535393129143195392958642676215199062771517494586309990312347265866496571517845010583807852485119331024268807817250844905406147054054640610059476702622538734237391085022074687706762730055254241703471581837945708264714050731180665930490604153233713425727074041244414858587151616784803410356898242110191628927506832866275103302112756170257990102905480485775019083969570405167772265375017193602088156961922698657396245730203496273510866138214684797367426936552503963175512160909904120530916161999463432545196587159414567780380778407218182309078250695217334954729313162692746916424598788204185773561005180160257150269894875315528836777016349534580413386174989397904165318909891930721691271874018905731889282342353483250997397630348478087536362526129575632386399597239657789440587783993200072461242886576872174369076090613881112379654623986820359171395004112430865074055079857833339734458618018665988093893490899229639530216060263944354049276278574178226475319116651433311254681832187687519099019055171628066608886732287386746008888732441252688878602257340258839321341303453426720557882481485641928674389364592170926465222556460030742999702105036053996359918187161398691484596847835342445255195302207534576398597606705802751514638663418797823694328481927956346047543203058518902937806998604057050303552744837175535044103444865129906757915636430890466775119654910522392497170377697903505072113503844683792265621654407951144191219552358876592482566141025531408536333132610510774402880100463950565806007944704561449791356880612749724779428867238512814441226796437941913815053362140347966661026370678183632775349165927803906379342057263318936158447149996516883758693785810416530153936567025668913691563779237431199101627908667685374923748545900436408945930141326321970111236602384679513909800579056687487521494388983524690586307666819052018388437170669985321004014360168472938869751244900373469279152026314394906845989789639342828433184074365140364442442631054576861397478086109435035140941368246952188016534169462832916838037152825808739240177437222713497379881720707368636900012860492419281108730831992878931580755640748787438042616175385377242880670125304175507798207287652465744393100112443757889656213579723326894816870064467242539162415982355951354209343975605642282859169596774386916245178266631470608923094313604662932849295587926148983575566570065328601371393995793952361561820322552728732441088241949262032346807952991101527128864826800785222525964301575664125859820272016145927803318319858798853321514475621937145673283301926634090950041911218140330708626182035519592889025096178597461259627647513791327996110062752190296488061959619537280592506850493173896584845717186242780447520997652991083505345592622128362302580434618568090786241835214312097884601711671498843057810746234634357908646816733097498430500954022093482281973903567020171749246300545919030200516346717817894253619942336685599252626760648380445079144694022295741842179682138718851274940387755685953031729918423907213586634088514994166646239680921930914403002790997280579230112266613234871474884335275933341342136087859364955101288839463349050598410753855250013713104021433396754946476430386750214084836113010895210782966633081632347992990912219603057644636245698640083563669376008190986663138537708884529027715719468481733333416278122999245307939929729026634826654902003451758097459117853016389478155078292865079585270007521035348041391404726436786179069805468977742386178338955168551816138748247870280699640632197945629730315688071989992184923813497341006548487262692165371102567672216595955926148101088486322767484226957298001460003386429319640675453675368797435982344751893779236550539019833691892164974413165588380982434039741414281641019981597455065821976950565903624008418594160976372291884436027863281654231271383126324341974001110002115924513865757205837976365565458124396517525630675885472597032798809354113004900216726838691864029785290283796967079577693803547814842840813617931184575182637781725008395091872205116897360727566427110620524391044888285649166345929660076714177079662957522068156379308746442590091316587092560543819827741903391271956657827597237333060778590569364760460882453002645305652194270256794228868378400313261982293513335398259559687978775769894633323374121873376560448327447487700251138312896387171062781657883673042107949750580764778311833724693679184592525303553377562846710075929975774711731851811785022215618336856074514542096245043561392855339465524987886197627757052226608242913603686497441761921031218517681447329589137893022312296516274557538255022150032122694726909080194340525431546938743578891082836094613463539356499168380528629865745367229009434574729338333309156967154026035278726272091231410236517957041882603949186332413061491704197369803610041006724478857973640028339937472959827925972974547306539571796356508371363625750357044845760793530662515200781286096505200668457996919497195502287475170654518632223888755626670433491274361932792872202180978912680911169732406567413633499370986813299242709684474095595212238065242785951598302285049058681648525809822317100775912829968971270971586755901967142671817443991378213520372883750250654557239418127293318506629325237873384113730512277454469649376273470854070918479129820601768463754295860030549031127115015475165280331445410354567109612782423020585290770083188012307638426691748356431860226056678681291206723552607716758973937825364977732020252031964608177995964790485564589275385851664581245476160437608115812443413376737227974373438758618653493338012995818643500086554246017502720551330768341831319864033570838721350998417543639531758615987743141220505693404740283031940073793178876043005673250586542015946044838539058204354539742951522820535615400752842682352136192277467187698322047858090754292991378745666568774357708505527249524926877783500029630611430581044127958944216726619163384601382881482429708321006713675884876370263296769905551980572378760466210581635464198383045454729320155337060369532478773074108442859120064837566154174829553636060748320959859177355735961063585437897857386211172416033956734924493614447463944055311655089466758170978619666140904347216309570051151058106016242563590703091632507899850921760191743809111074621195929511392937497080544141393919814260114162628411503021967786366030716989807638873381500796596829558653798834791112685122121765108760080021215108921993798662151436242477979927935739747664964950287198301605136504036834835528147590789509323613442728504831169336421190119790505723981533507526061493054013776685626897819655037791628803951892432572935972160269066607468466208652738638692317534397909967047956607686445830599288157041181885394400107227429397789637987329008055650056977567185666302763958374439381681564529885934670393099971537332369909248874132573126784870678434471330477549743334238623050053929087269015043941343271884363023521380566182302013901508228965985156791641053102250197260519797139729763121579852463172069393099661666227845711722974267198722814609685133402016129900095494502762396696305201213067849622137273139312200265629482668969183861936157202685054193205897120092057875189838468801964979803344014388257743529330178350220564996687145979639878446209263295847171780141598348811517052143072153009711275960510956868495531871727478514969759932171056943326250695966448578269972745518821475495685574825616870199221634243942994627181388636742813859274881923432707093251963133669252298331614762013985007941365109994674363131545286989790126476946024497240225906578972385267790154850793840829911850763885455799005671512528326966353048136772463533356572265436909826170568645157865831419880590139144374553246626476589285624679595100984481893575274462599030323452526323773299418572142420715574597524856279154888246755431223411679659282843495675677267436354392277180564756529744680254025504696745676027634948652769047199684926293492668178248399804128424365183408726831351095872552992140315572110756203910733387013084512147019134683650423365562510453209804427405329138113330194608288640411549823541597134330774903801854935648218304895255409915820031145473412178266280209854335764177362560281470459257683240173595494928465216001805078664094132229428485264141450014005389058435220163911709595761106999257408980413930621896541346844508529406331693289849789082671212595779754708475189292167886109751925901440321026536561976990656691925786005140067738556043770651748984748709738835058510346851251772185790792858301867998415150199410332367345708131078948104398578780507973839898856966393381333252221672680797705662227647139770954352769833778715099374763021963937544942583185696251203759992709371491084954656344371929977492104666086063550494340246259323549605180356049123700469871303751031486461401513353760386813189527336095441370469135966646574438249529214674509243788718384972121669883462505138626926693747587598274294393197677075166932685173908899452450083370997220226468276293394916799125522710028055432674642705823330894763407391780758763808796176888386853121180742297595579961765121167595835367431217025505915263507557456537828973518027835998751227394837187553135886305736313991371115217576383839871069302505109031225941848464158830075478525644965905079725521266689535514741287417732660174922760814061033059284672107063307037245440921511868800522456090333559993005648333694658139427195092481081950142990518214439298970320484614677006923647503116724773290130484108061666289391357409374138366694617297214198037009587895865809259024670053197046530041875164141301325141777626459543349881819273186990411988881113655951038878770949727769201988885355922152857115890769257165311010594487100039347810044880383985483746748032457192258986877369045194982043515243301708976177961089340508222314279619945150464127912583675237733057531275292136422563331891919670617842989924627389725460655948974062449756019316693274339543937904439202064540736016568342223007558140132102010053288008969737085630296825736876396163333255455247732763931096509840008551445889518818659102225067336226957619824723998662887252111577020683186301882677559768447354754746399902473536672011373648289867346970734103385773033710819927077837774436353896981008398880113966964528225369701912391378282820953472164148489393900847130728669393365519848122747453263210721714939723996423953033324177374339223813034957734123533905104460175882135236534247425252370632426089927762128938216132893910818848939886380195271555222717237758146452329327114986311448266691456912155659649384822628922880461188112746647080947216508304706836731738508141463283477301557955399090057375880551906504375415713213760299860086475776526483686363176031781030851921634239053136539415274537378346050232481534247809368731462010521555746081994431338582837061844841897416503893568560970595603431027577176298171613337768000156202529694384580829885109989296679719924046415312756368839686059090066889386616366482359984944386463713784898544863053065207148065847799536306506744251241192538133087735279107445732494609969896020938552119749930861760857185068958648184759453553051544916295298253991962440284509150616479776059628168584483401063170265680587240933230863795353611634210462058055380135671672929047667231451577462479568247789599178900547826721907900387228666382418110487540895901151077636477356839898322745263270681708057650005164495902747099033779003071938007302046288622207933423141989748489761879677025396500503833029558882892943971904808901645788011797355546485118262497489324865322767275615239569489460476887046460934411545748727083278947210636070446062298183964564393388329742657313321733477996111248196175521406848570354568008994234820970205464607323525101058233952393568681927284345438366528635835768516677853403920870754118686964080327029046187204763206456295106674347203252357762826215298730042002864687777560112403765877689092315185129959944703560939481809596759316701287405610698309038794749038881297927479991043438108038685165068281877365970284844312687555941359879780420635004658191810156914009108019130132523000642788935436199160245556105667456952596360893754603403081395869678377736001374915816184034201733291105270545633066418320008492582908341449711331755135447207327641467123358093006801969144953703755448906145736267485479371744890556157274862622264960938904880539550942241935481976956046743557062285791367612858115130446122744833635505702310963079963192743511370259054054022312261013717197527860357234804539124069439080242262668964756625519322430422710396741009980794285717080358524949510645716057354787594123906027020027129343899087980699316566802678746031927268284037346306573288673100553417863648214347889215476760512291772491388532408054326915523279434692358473939699871492072375147829336625374896358599540094840951738261230731783722749303182499442835205186697775660323628668936653984919980279261343577607283903986649373320952835105433233392597677983681789781857833850875237209661443038126451362994132974991725975508321657668809886792267602145042031814971697008112309363528007313062724692204573331212943175358134534074719798850033150793962032602722264523833412268126614957923290268606921686222038639736695107968620034346638580338548298122425220300376527675156768935022860760614771023377156591308143528527917996947211955308530814400745471093384351968736507980330346430466606229045619203731478331028381506647574708185273001795290697189971945462948519838186262237877870225513147328247405065612538630176724337590403172296321189369148115033835632402565835924905914828099049134455847749765635877907930150043672566396445537958096473062034577359446415738130889770650069179383264243490374788976530816352203610325773040762001784721883657492666109863156146002195044408799980368823117828276675279918912476134550244998511765981312530682129692207617592134610392876966536591974910584325450192827158927831379816025207206999097742310856620214793765703187497036627777589998277924657813097384857054725896955841324224628320705649609044527251525331844408772265834563097435940611673699865160646309643914154290576820659250833147987669116210131758388292735639275697125420797955987253022051719013781265025791152857223202421399924785030801372269095841042732989068653168664865931874260124209306999045848948470337481448505078540597516679483307585473224952897564880504408182981184501525333076293849101610034315348201182978787833463702285809848007561629662925966611106832120644071669315919291630052929233676153111418790816264508303260482467056189526371161771110991495241492796501832893138759943517694910808955779774427105887662547918672531515765286226664987969165238716304187287004013661469920198895919841948653749641724940443601042674908322296800688762093915409333347467736365847592425042226509030974630004039125400266051330251084002132381147785224210188023954733482117887844606542894873884541299125977910608187341180877896557150277759331672809627905200424753223732259744712707854756363513575802713499682276795053389500200044881503609063587326439865158354416706303654217993399169218840237970221389515334542043127086075687316281249390150306053531226580044898800430369068591091579374050005431495889954393238005484599186123421507786188146227341897354857056735466217334937552053337168331890224459244235088558436831513309590990078783504716792352279210780901528912965751829402313736656493633585902751598913400885348465075799235764227749254438045931993842617087478492959286317859904134698908177595133307971607366191203364852285650562864281017549807971235120934163518470729336325999368975880925980328304208396073761877807734140145348928398441342137867082573136363952214607905813527272966763881493409537732347362888983826904922536696985186657254160235343298795511830808797292866629656121518017181066754927263186378990775305248289698341383937268020354811861443453997509536889284670857806085913951525555709697728488001449473155935870160120532937301650500120755275687180183048341652799709379039556971617364957674658145407367750687306389417717194398242360985397736667230579593933810109618244053164056169853216433090194290616299219576102424710817666652163298971166587733715906573834923704556310844415970358969985039272971430115280009671813320872201707462601228425612826500629615311772387171193558338680823482143898015421662156908315116389741209613521035652438666684165393802085732792348643093728767669938476172179319493818958919036868774215823465405779301195021283353703605204601059639705426548466622340750745200524299195467528422668848253765077558002511885605034116304206935341973002374545284228192434887265730161290075977969071792375176254013373073792756153827673850709121849031551326368727179833727453352311205298867548326900008798804120421611915746441157727154193192113329990081714798010916537540170598927784678326044521989649075098076796064367922757407175021809711100252713916352166214167751252766952424520565425209822376416523754227101505191513555314489851771343839935187131925153201836885776165705632292675055708108619349555921493247920366353838078010845066131801282213370704023298946492404643566744375965303614698766918340693108780015094684962344611642712610771560763672176517854751826239971550467694845221669995593381409100846947557890760098177098106906820309369281079326655714800384326907123552329742014152272729049731627410339369216041690022107109425346383665128548221305402750276240020283659164651223395071484282802479056587045200879811385950732437375630315264490246318203558539667564527830749677517646147900872974193573195075104688662147130756687185696545913612982995591586058084095448727446404383907266810044465566464061885212601199534492634997404823641622475708377585276345968504177781980072684422680018608600818285170661092416859761790167540508223627166780603103675510191405220194634122730400142946971079190974119540297351741898764804607210050244817320158708542767059757210912035386788976414883169696788954363688058215900716350206751639859095161800536132328098177355215345246338375186665937206121417910875005515167115566326088906998820609725863667365027827153145361133582167601772242247462736173076360395467726743632302901151632526692098963362911200808294046346876950276237140703676444508308575024741130158159942352116593690104733027467277533970411547587089844409863794346607622535803826657668982364840535458293320109146999890213669678992754409279069837800063488951712439572330961245718407390103686732794200358324959748117620757553146304154860409457562912826194071948214853594195194692317947757265855626167496631033943304590341442212045918996362077061284756563973648270995147593319678938635255446158180186620166072656915351382236102049378020983847779666648023890539857022037166906683481327369039649814570514550045923498463713717212323828965176056383424880905328914287871436818194114353760783805883908239624456732846609849396352190585566846242867835188649037452497226830929915526945122977771944061976178670474372514671157026697008555008861199155209130194259812856941336498039480300471378564402446171742668452938381443713038848026103842692237169177366408388083088085336483288984608941760478125910161143985308818668043633441551575987049545921308859444772926095420557639278480187612428908389345264839293622943864861275988203660540428324473659649490545540071463035097405013211385936119886722006021414278507388769657122032340123526423417251325330583815197121713522583378456709088315843428925231704115846941178190998932418258146749746205049939728214340262362137972219148739051997687509084056603072716347030480698227039384733211364999328646948690978451238787924322228748888088206739350102428595259195481302873070314260143547633938338951829233357191604390796846180740144837920172034657364740303502077841806387965522745162774412057727285258902274591634122917369629562198498349080938965943608409126298325322823784845587116948563467463790017731288383054341443758649604843713476719481197628639769483622595939204576038710921591313913005094505551398261708441843686461086006952788904217528170861692620962196961972729003370399425457011610265403499477012557333690430909051096153050850744580682791766413393133724034601006582087001913387419428204258444887476589748637222246872290675753163675041312922257483446263588041835278293515859167090108165029316600198061419221513035947267787688706082998223501967914104898895735474254775688367034254738602092189611782604566352360667284725284957640135411782850482191945482665748980502040992925327459447173963144962244943667664858821327583536828763259459808062713717455419560015251081772349882304423482439506824091674102851668912339148687312245676974532580967993470182192403044326463594562051773463939571709254062651247829407130213801990701010385570255026017355174746587134466703605764081415832821929042754691397521373747095033396641602291766290480241468288446765648100906668559764551229981752878599576308973454477295234570689190424719169731612941223762259797741728919860794065801936076472156642041675226492183510607297469716836261931337805064340268387399804976830949608355860011288431128827026787831364728126819482935319473233797798422551545551766569629530231500895821542020449677396140980288652671410526655360592906115898408900918338983707335186166172609875628325788437736310838921640245806281735071882921496757743557343380620944175908577438329958653555051324493775677962256164578823293749166029919006724565596101730876693735940347990537157808631231465367730664068670523793629674892567835204524995429881407856219657084684839953227676923716060905081444219420208931142156700002303512384975290500349741246472627489105242380596871784885440625077481637408258630818052567835317149051625387190428389689258525490067225573087479569520543963933558234726525036330262301347177901624123636744398209218105622319198170821064158895775268858979864120649246223862642182720037151972102754006995191796253352255634605164359558551350280792202649596867947698010717468070460005482725688061265251089510035408166793034516813491876318651075043789178445511825404592992872113616910749910347714446079344057058811707830281549611134316393628837203732013848817039418772391124000177664357530470778903057398605803916919729232715970806951577002844176947725401898170770622443380185594474672597811425115879498375053017075006492760852586161902821178283231962103637411430414923198076325116229229409452744686684922514051528842630724048166493292442028441066567848348461850832142534247986885129383588396116148167889675812548315765306430297099703347823701963811366912366147046518845435661664026765562889497290008341901772567483295646821828608634636228609758561516976079521733542389713248177558492482359311913477005615457740726469136087620029254886786592333192145333730838887872259800041412381773654078128747053976127173014608586178179306626136585815187130298479438737153421222210139928239092888779956749232863880816965281166298492647026541091169699757042092177790056101449492007535963003664092018937237508233159770812728884620176343264093265185315679470650966883028822852607371128158234605803956174487685496340856061503649872340005300029365205432065215555866262003068944170080214587743541801051559461236164668246436363776014666311381603466895971780980021530308972934795334523181977587254379244895792550611630289379847596240969551298106399540906492746020794078110543579363727750855015472180088246918179780640586761359890778457693482990533178827948506262526284465163038306606059600234232886743297641646910272722261275876989544987968065530655229872142985241446071437537817696160399038761941210973817163624324417644241633183199573522700841574333550854339235733417253053515944154358279541359731022311500038085914489081896512770048403953111956202948619078120526481138712784062916488188956369758408154438327303570541894289229142235440714201499336294096000860816056565839412398479763264625503649187561292841092570136414217931064739404285713589823259584822391578497010516715506171564502279346242010336296369522343636287708458311691286691617548050620907849676344967368094871305247098595408096753246522095414960114722959964054683391832426835682959099844033015170464866409009318972300255691203372908656253187232526799011089812726305755032926872284750278280746462134619761409138296354123927186675989979389905437340679248917072508623999858720184363212464990035132135529415826717455253554641561362249811550926461346110896593444933142875698873649868335521922625667127675196126036781580925502022744751315667141257512294685623597907390800427849453409470665458181438375594828329661900680814621983834073431270063759347731538721039287707733356098807255975831628111673611907033076276155924386299992747520309148672966628874901606053614255601249153100442095152334406231346501684950584737181693480141543062028356272949522458731720915515089388609652479896856965208487193798788500614371535555678150425028862767366820945029739896986446278720162778222572428556031611686511788963967629011037585016586985823558100760996518989236538189919978118629979170733143829303124088859277859697477044867131185659193011355082023536777192673259818485066359456883794843944986898734868265249819207015723098013211868300078535551332321766899544658640386928508427098443851039961746774281588690635546244096481362718720643020596472159423128608082188569369488864430858123512949819113817443928465530547488264967873918999901190483504129090050408084432496931308784939996842061334790493951475105353086761589909898686759454732677011290308302837173115440121544189897391750916174597269894784023075003086486654376719246007045081808793650434565780106687816793481899845247219639180245661549291303805651406150143824359756677690384190919720809777004385876177674417552342827375464385677791242194942671527259810543373177767951576970274870266651252313011447483410836309479571335881208664852986845976564716379294414647900919689180491058323355834047431015200489289309718588487733299258089958917164338134474354938281483524930334287063038044176630210432763308853259196972209910128526900308756993571950074366560205811119669165492800667328605490606542421658107404276753556001656703562432163098344306192434773261383820702670965430493011193276786155405800821789499704198201831648587703895781446558185586484855584715916226943916708008941813343053432555601781986654455325940212205716134508953905210611019536691656327010819137342334769092719126939174436988304566203076336267142575268779657255306034123212691988247595376692232269337110850222299591371733649453831802842478815743842198082696434187968267040253970802621207114855511492763812064388478192682815084119919728153910856268423518582507754586722433371154923654487306117584714538166854231974764267282193540975011719120648658129671490318494155118082458612620274327534040697866922093813026251431061519550710681644049846624177304022644234525737149157044712646862225566227174830219713352383764896273183708156293015257605252611814057716176312899659791713019104309646172535355285986598695343512734880611192454571765770319649255321515570846236722170436954582595349088456006480573894809304606487343716803325482379747549587807079265589138737291657749639219946861926265017133619003793852752901225437038786057857830264630731561837693856500854878807514966293485204798509463675481701136446963849228707473611078820146407055740283147777870830925557476737320197530248392022653573620415099088305402867075948481824116971277446284729032268581111022271565531623224617874739177630173883795719776383783075999569239485435447391147822922210678192826067362958253671638498656351129382602075894197287849092505286105249653872831232496233367888418634514458884577146699622719731670777455731181923404613984230171093906759487732418384503210192938664051762617284219914032940200511194059854652567566642194996933616253199707306537800784636719859394738187194200668906686637512783710333021581545100658663270344604312502009490006928856004886283899385074675833690214714637452971993044401485533621682125041075447387887937050541310595176987857314599823863194749939686338997728305054640562424839628695191077401506340072469014043848227709365714638692946968532158775110118791185266080561386530959304407460880929854951121191898789430476255861896878876257204611396243673151794085139967470659006766312376220640913558628835300286538310299252482765816046676360149698414875272687449855209628393063811863780013343522985007705501300956407649627530562043193939066223086660795899837581743807891297539812417637713374723713141153840850538809814596824619881664067142459405685820470994467376521818580792139091922108874016036237624366410127550244542165486692297816585561567607579046022311982298054379290451395647570787801023291049669096334634855094103017630074088167251824376682587296580766006338810490573595423427279424885987215999618574224278652053112601358291683293988229750569659729133678458715381919643033669387862134792804175458441309225169182999787010527742215880123933302313290461068968461975792253385704972218605684872114596882815033752471532983222788250965815622362294913928832082558768758182244587166659807884754630807940268030603972613873962789106757408821155819628790141452581967721954450623694716431211743691211157895175863295873663151259455459119323424738382025929121975964277272885970544119628801852468755718675806463772857528705339129208938234366072929337565982722970932038460416861539691353823089173686822597960438671762504301208026631849393201690789883497982036599924099044935024898429671194931018786318393548217617806714592035591524279315932295349337274220051179587907512714413368387298328910026697503827160201562322549767204609558949952597508175311510156196039570642117299845409271650166394888104935573883333599368972508376133173442386386124623702490722803120298071562807932366059239950087931805319873605133468149325437461443744678518805837877731142047683450565999342410145090875012184109166663593176546206050229630662872803881614879322882054684478805478471438918019172718604106402746618489501977873509206982019855404744707154656422104373440589352859054775084444902293314368220681339108670509093626597851491095747514476360709108788182049478156634681942091275331982995772213023684829745524883535835374320053490319132351447414618319018737212208122289330341698030338398930226231363683118912321734355212206928916581969482078661163951778379877689103884430587809052472193347649083213753155720668665405480404448836540011112908471246533686536492180937162958479951151383856065856481368882635969622875486692776859862484819876516664794563914396375542660241155179773122184455313678311331515263411316771495740241755630711445978122457213186584224678690591193448736620713484626448940125160965434031101010183219852082577366407590510396250636582886098112963092313281763202704970260195051309410202185037428739514124372879205427703455966099341439748696689950095277859328417091368194465009541621193119521344599578051846448099447729839759863578281522125998823580968084790370204304557824481861418098177337920788811008720109578753046097011568808761996738110575370413788849053167930496672528258164977819892213922907094081808600971814543451670362861139457985351643199898093415281735827945390839683608618862537030579458163610894323550672695714123691018833604019469614455518626215801266502936110450646793560328911562285995971642339238622653305306652120644463152001962102235454668068540214897323488211082723447291130932872960343442600409082562390650733196382286960519816219895965240331855443388151915011653856970262233991663576201777056079238973563280447483689064006671613276661451675185272510023328262517646918590669041811258613284080009137081022163445096156496232791520635767210347690091811637709202996887833644969788684751880564424666427871445965295005722150328090136791335622959186511210184918518085049940311643160947085163394292139347165471036787014233125228131990042687391218791730336612187028900513990089837327410024669724336922080824276297440692512053771863872878971080513727455417192979536344838602104214318616806527506077379694568710622588578241094042364939856258996959170371082274468733826003073181561943645915312838701274145930402465962416226196391280613170439331738853554754498314057248476892304260715793760959804221191718473818203521527516402636048594971615717594391094574558005849521455795863570772494739131945821083517898363135700441314903701820613123928674941095417747409722456075717269571711116970621570235201767856895353539837186479312663687503994380251132179430407274963131505973212606812612438080380331628885133773139304226818332662906387750456511918550206164128359284535026380584950899845006950847039397325408254702904525905095664713113141683403453723685643160287672489470809379460584863428813049878359899118722568146577264858035210058730518202022493867218088304531713111614081450007122846104959317164577320037533456900593699898871469980513079038168088651454612051578753049533789287159975036869300926842539559272383838919228736739402817664887334973520834388939784106489932657965527322297639357517964887874540331629165124817229601939111448309182860691085604405457150044211178787598839037141913733137328346202244297650966990846686723511895236356886431739834903863037608741318578895420027240074836186767626674724470405690615226767878240366310536233640102149923025892909967622157605651352851598408149332196240260950803143144278036443985054601026463708703794192077466748536001096063780803147449322366956082708340399491279479203131617250821904894118567687148473007390923384691182142533425075758033628106508943819911043554533150854914728687512295858731915267005923911092165402167555451889300305304758163033415409086610215851138111935823228468098829608503736427012312210012096651487091826450095808761865852700509714301168726318363353401931494775504978818389239338210620522474736030219105434376527720228616373514220640425348765113579683711263637311452845152767607206002039832896231591580359179086810347338717213743113975493747894874724440580920684875863412722335403180542438093735327486231120461533004382018534333878083781905863928179492246926265816302934068758381432851596173013377638170304481557726257462038676748824542183140021750225670422769284996699446016795652307552151783980049127763755224712828284285503791204924965068090172966240762027319321462844168381605739901727938989163635972922355178176140663899235038756590633998608031026921236929935124329754256291683486756318712808598318875798953519871552992946347958693426898051498103742186897675951452669320922250079202996213540828621190623955148597555877676776128520460957587513563527229212010245312417761071267869918419593614561772508405195277799362463999842424916425361877449877719407697599546426728934481736669467236738421755801417841139456172761535503035487541468163474668938685645227994842554420871423450322390461056946213787285111795237446068199312978141354586877709715273355103979189310702272746212118308155822022112108616999102361015225735332774314132769148036909310955513127580782289373556810129115731252469745980047260273207071049212428701392093117834574113052323906555774369562674825351498513596915722009184723525095733612641071028231832625384966957469056143420975442311555266136478247186923858021454684004587245243112455582041502123398669286346936528796631434872662078217252654847164709117497021695056548116225794512618507612414295523278995213527256023132886581999052401639710969824136533718291809819977192713428474317700467326173838677476354330732069293066799022450251431277850402239272091643001390405028806041394708591484408384212605901807199658416429961567751658437030227531139029441338538923766415848294385256471654984008216785895319378117611656592419689669250582561583775788914681094669051997851120124782610977127745729795069571732745681973157932194280593341749161334919805875413717598265576864758984051072368204576540884202620555046153903508241005034318765795107817304313500103285327287989952605184535232496865643726580967445549890714174834611840965746710595139119669638628383357665257091930699964429078963672344343269683330527978830308453686968270207458306962451927126123971543392527687340227763484228457080043098769755514289593694239687149688695569932985993135100999443970093405339694495190294248727939801509904011671879836880018220049913988425459816854015898785216208210078786457336933282248787663354697585334679600625226007885499168703529256502214232050435284279658038938269735543279232944328035577361847099834295454585540656062356983280654154153810512459538287604560386820857474172438816168027617776900382109635160508736534464444830645219174676213880623928356416496478714700974891814771927590886073949404780587596263794851187025699133214434901245490148046344823783474068529634111535840731006731748639534104903709327813467492720333502155308659306762833548373108687155522825291398990754150099836750854303864824759065729772799565519857183309893023097254942794880265958124275697364981104003487425517922098044846801246545037973998105372255930960956034613408503878434833787570681033945156245376126753288827175548492384297554728173613422118536532483797066568631742953191649857985778311034883239388658210149803645787603489875468984841332515440574713103451647560022741840953448378175482832166594774591714833176776375098898744566478576071515095151402857525358098997791320580040007116132598139008961814530719933530624666810375620593347651622300769629544109167311313316554805737745708053618019047905116718611313157481906844122437060364619418433083405281565705985572781509728555464604672385147842672424681287886989985188463446072276893481107149466348331782506920229403768867013914216016698896670834991286039557100823844443629819855326539525849547683573214800693700090138733328450177552308743811743691513183569114130437751179368121871789586960286632611651100446414076087383609358674970825016880036863420715715572109831605873748746263589805242853445500412359825018944651219702631562947814459125834471516339407244189468915014440170777894767852836292632992708509405237812345004344182056872749066876473262458970199221432929160193332676471369978008458341297430619093643059852114521077102270498678397318580671387681371728854505290146588245284669756024855461547780508257881736571876769674408289994723039218631363354250995170311881127435726705634551756049744345046496867637607877708533567360257037023102888071004383917773131654968105201930840475318909218652236302091213600947969620760255172501292626293882575472763917999305013592101379536591497520716907215220156838141063832888740298645421243083420987724174205020504317229004234682199077622433923623228545309257162284117030451701522677727261124273716293713703519106550855781151416729897689745095104815148218721490810712709522170029013106641847262889856274009056246202927989327992197677117116820772500369150621219732636876961887617042103274897517541267986758273348523975563428053866059017582076886199837314605808626844545544031363510180977378411523726610980436332394598698387012698996272276198035475872500530727550231562773227167192215984258989563069378662809813163299178330914972453340434968756097587115293397912190686228540079374376913379744809124414867146697350679344521783244621190317138358599029413244964735158795109785208633254375118377726329476808067621296827926712004112847179610343487161447567197414804822308474349216504566357675997627156282536550263307470407792963834378481330992144603002335657898714198178360853455956031018266103409986332627428433768776841295029369404244459941275364596184962404427941781339897274947069348023054447523661304123706632934946540457384234477037881862591967987302605388241680207839550447972990293001296435801244263255748304511154162511546179338536204552751905376466819299987238585888848275523390308719347932961462895735184485963243304233181448435945818519605188125797349039193395576320331475768701291409265638095211279962771048301924250598771620885894711203096131148971258944022210970908590942859180437881151175604031719615341944610812529161243011102507508670470753900218898279686312266954983236569410352250798811203481531534019606553848285624703008921951516916450690835120373102795437202815927583844417044126811542562144733179943844133038248218360044176743524107912405399539335261748568346054165894832905092109568243259674420852750116509043251086168462822388203329752313046716299282306369220653222509904051395682825328316667240849100559216310654717581015242694790467661499971802764231644951439766140778248965594193692780195381834206004401188916977939354712116794388513623168622125494314282802406957217868420948088703458413150021811109306786056679003636330598531785423505013486106752288800086073067757014899188247267583166583919279864888450784259390757586384946655600791835431535531152184014323370932494712710062293571969299491514069041091596723456988851860918771627406242425546067646527093691325810621615511906193165478500215595361911644891355132135995569306062084796890566761684525135445353028627603740139948438121260935609176257670099428966073206359208116226848896205163834575627438450967136971556743491485743060209350209082719808757344408643430824709021313684682387073982729629744333052297626603837581821112277457535551089526067361557512899468343600345273520143096277714475152342756662327730596276394071037393228211906799007167598308818228426818749618394860449370250657261279575369616265090049418138817809885601979648752324751348317156208803162045304755769093313358084693445563772663835969166203244556772835163236764563203389180457177202197678947540454734473990102697743061043371276561484865760137380241063521574162719189761359999122679417645272824126282391566216370149658089661623997515769076208481652551730092900769174119420014067276921286189479514895517073616365375892865953191322155010073964638122395867242251896782569259505852926108837213834969476602691042003880888311145507413255106298824546465382920977659972994491730493067866259144143320866344963937769532059482749194128672978934594961721761115216104511621764429923602278519090213310549543328167374936568191607008915313076474081157223816385473961969158001423452290732484014057230956809820939201439886464410194424984167024977094867098546329641476505427347420704384697726190823257000237482379727403118454055695190492972231038730905704914920592423269239133415020366414893049521286464589990829054824749722681322684326618938801084155564220290817789718271642152342614349043668612293770740497121195624941862420980524198047168080848135800671375765402733501049034735233465201489879112997378427529406464981719856588199555207935229433237329171697383824190904057718658269010040021022801651034562839522865887528532568810456949381002060968450008269522455041055000674683296936189192309885965964433247943857552756700949603844422113377146726224943162586521609037376156307219006655871527616070725434351975614679981759956391810057551364582112876671070469165549025245628012279514816204733876364364273690678455712477698324152253263847115016381471915257887423156089108533731927921826126829116454306401188494533532145985962747972925464929150611240711673853485343754214620398230718117140477813914845473134954540912416811373814916490797082131630530781139002770175352378553257848788916737589260884481730247665947192998687126521275596760548434954267494585168873574900999605075959444403091725108804101792251881185828401292373360752475120498567308785299227894498952350428099163554309886681693564997498940002937809607291254559230376993462347229206018453983309761518263787366209461691448265641781877037175040857681356579622832825291274363654540407308166113453642484386474903815180918713444550775858981059225410526991686661975695453005635214224095429930253422830349253819732852314524898569096994854152456112901819747249124330578429106472657246431089156828498352722215430042119662498821950161552945649985885058804331913973399740353163683778079639887962120047920912852661718084293632015449601224134069826077611536762722202956646961174484694051064250634943522275523306129462131285876382587835650489239154889199384016116873023901893624085792771974663612230799427404224552744346116795897928866462091029298788854426260654266717128021490574351101307175660809158474168345118324994139917317533256120693389632345522703318829225055175622863825802366726738068598455698287995040773765838314975961173915472696161132119613440725006334518419394723499239634429770983560668123188974547683006769469955187639279075165519214593476370510284970204919812182125550069235465103945152309622174294864944499490786592902210334228201766656466486911521482962236451138889267884883558781533736307143824936264530390903855183155398454810177123541173421495410768524167115358905139918787151465765734259895975043109167240367068009753223275671654400703353560126946028739086561413039377200188831819195607714027006239439832475938690867837496124979305801871824170298214233572834374360786853571280934854816454952349881556743763226019358565680625972016738807126170731989388959741336432900255575252694479745976626764912319457411072255033270807673107726558996462324331753077041252963004990039594406051285048780707225141427812665334671027428250746463074341834079741582446911668316861880547332852306894955644040095741339395386537072548428176595716340579919486447368541076807675963286916888817574895663181001810424477924500146987421109411550086391081799103046239685887959288231536123090978447765021870660571614991305215723302305910555716348084097706761767256676176835800903232131958992320858173733149815880500186119025392898520045606493568003881846018049877680158879477084631096408689338997992451330919285646956249671770666588640685378362704219306364205855494541119180899939069780345529079979418937339103630629894846172387872264152749100536863714338502700546294267514543285099962460790884824205272591634406764138329091637423839332754327188231469492049872654782436779183039682961566311895179765488791456591531292125564231665743955108730017098893309818562901394340789893849726352290203108968457960849416336325350915492084559254144721420224688293506513664871480895840782884970696593544974222916241745730481423095669794280248131198460385789952441567065293428310633008094077751853276130055671676931719246291244721804965795077766165749099480719814816293538743289991132281033973260890685113981891000487109470299050394939444709062238439582377176106072404498804716135469723113052969119159199125962498038861275356694249782586917664194407296107733244812995795392023435570051885969538920647995875307498934276815260741676634976025921708764779119295807896578350726118963412014690256089296273637845255868903279276704610936096161260756001740164849055700641861212625772915309748572521234668274854240349547711491610936408411079127325961773586686391752972728392932344135713696780164467112569196293224176689237447527047656801150477118860957523394821780106385024462456947321672985280405713354556074876133652477546563623221469966568335835819727443642481609819120584305355578303838081314988185872336462145022975256909412575242923249883417772320656701514262685159431310431231947848930601535282182646629357866739316242951923605159313769994144735372964479736406332710634050430739108527930354562871068296305112154068482392043809131322240727869061428537746214529139283670207732374431592671772621255512790893886049059751742433583969712528816662691133444621708957999823745862708951539901030230451661562769995959903435731267803720944432040067874718024978416398762839037320350844581054047326408425510713658046144723269139525435080403403344555664987800511048661907934959088875408017289359139850873651533660488775613321193821421717203017729981741422680861297194715708650590152520939563015744647097488793407784904185296604230872189470995281940909867628464594470773488822482337532862711706956961073889093166292658382384411087278017586050638083520791475623499813974502035170802847058761733374951523766063259664089680344426745435259745086317995903958563531454548019208182892771584718661604904227258852685395504572953111189517998881314203657021374032545733806074290671420995111010650753502166830212615562582103204250224870781792295505224873370615171509672206298807307553666521981447156824663133955095721207486383337740678333439461722463472312029991207322909043675018615174314595555472995596600531558963565716013916261824400336581612981768827228266428915624364818454389396439263827882324233892443592050174484108838305802268108890626991417666487666381053586524752397964121886967326897120104481169475619843718957197434453143433497767506408736163711995502139581234116319104918352887465450910889707716367028908419255184349254511894465653441933875080699963493746576094579163744202445028894092134228412323276706012935717259668968279448047090247059393017978207506731791112057230049476574549810269876262931424557793950573419291590312183740053573976240543686037269584813926094032249718445295511587253817995124865398243297668642881847482771815944337020689706288069975428072722083904595677067082413084210424762923782016139233061552096894519434295825596274596745457223880141615361121738254331997241472153171356406257979044748853800436044651201885704107949800931845125111050764824197820357592264860875986939177257455298052750556988058099903783480850041248503673165087738041390290838788049732595145487874792212902823409837235220982455443823585356836211781733865151703176601980354108607908522668130207167485299381051653747876776226609905981457541540097833720001055735077932012859190518443059792353639061371712948132712103875364331771170374115196553514383743420553177526170390862478457810123395686575047597795431864577399303583119341450611170171164514518744976854763717610023543176020945154326439589141538106304329723728764452262947632355454769462779470926079107107034448243643446257022994493439446082872859749820438213193110924303091848369655726734741860802992207198757731453334147947576823814342295872110349492345140655148801746581828329795355758119274460470332253131192117659862588861929404796419987830926335994845932182049578746489674515810299931755399774014169404435880727677838282450972474870371525072580947987924445406855680159342366008346271857163775963031940026904961370373102794357411636850731106484298005617091269774274649352846609405080922946437871006017007403891645331591884238792783220752644647347686436083898914188047961784866857281076166366184449442317793896367198485857864546204168507126934683128387308165963261956221411638505889217619048800953674707559311949550655444751767820976540905176221350797233591813097457516388171918255491056627823576524389302003138599286881531251370180597186423591873611694632400008850423615543511301479895100714289321056830420286257301769868506330019231768045459720355139287862764462235258614770599472082556939309029524635072900259965596536256807511609650703015227741249468899635429526478761686884994834962155400322447173366960102418227515238454240456953339258927785441490104627493712224930723313598457266884014944456789643351592414962590435825960712250894339355853833735225928509623568518806029770165157396859643941354451652294437404070760948501289697894427980482811699696977164002490827297891445637844415302118080764047175090779452365132662313937901034745221443120118794179290954474427037661618687295830587281954697267296618346353126720631271347967442323755519104597008952375658893274749733118181526587071785034504467831642016089046822307790251499004526414454728647516843757668983230062384135085091771346345083482851017450734923444899719605302587301088711362562349525242885352514753600018800330597168450864247884399797282593082947332411335014371134309773773587029811735404644092518101363521273996007078130277553826382054785232970018851519980730860312060450215355790968624108625876624202858600946518662022179572508912243991006746881752966411307897222473782904556233975882310368684640665214606903952632615121965673912994331182881218960200665996290717413354058639939905023167458769074796041357322374416345353983186916203800057677372517583849997554428414469378474595598406212620718819289730031302550596089134329809772616435743485019521887587066897402457496727368319334464339132262660688543610208852159008959056062061600606623328448029628876746525178962902123916082045729205394031951347374559583789864429415352832576113146997961724775479476418495811133477069268925926903925508927834150003803206018344250173386565842101906244961852057879522078449491912110097460088122234084432367297376009528994446019010624380652224015652432565755848379749253238379227796479422317232301106468849911274669278969144079627472528113403432136874912036950701475217125406479070364733871736985534558449730625577230626196866355630091922267374212535070496093235461303992942086829937513793913536085951987279973801749444056542123404071291421754082979391144252631691937896013024718269083354593834315298266327969544813420891137218996579641855998266604851195192035543236090103995392049929831546207153129497555735253017224002497735513560315570479806250560894523280851501638372494843425898361377345863167396533627822434238041835030246355236259757870008897792809576052733103796476235982046421925486798428759671008290879322519307251146916456760630274743941729374837158543277289981612251163261378496395781073886643343583539194600455448364310066344482859135965092871564002127662210705596142968580458282486417520702163799671214876141269273305618195577904556758687628389525437321354192448182828775237185524354031096155878576094017623959748896923590273095592809885285182270880374809623161779573437875657616748362261492709214616189615713425837452661404545923034586552275914904989572991551778480624052938935296129701472133586617864864458984375370048715940780100775500176449904310548953662716390925745708664806467501142468552567391001725053744157845594305042772990391999571566017475365985558504917413777264300464767602244790561993858683878659826250193936760029170326692363735316228615379496077441940473171722653281218298306092198259550030243559353258119795427923079112629775184165603546236636421763674588917685755253839095585507921197957226797057953152484938180133417231641258774191140526887022607779428551331478234413720725790738825642979108896709719029222208537645389679857657434481063581853296941985538860441526724952300673912086383447649122132264948754498936484761469174610062682262771081281049686412136909187054523930146833334973460346686383268073764035876592805174338384949664395923162327183168721981375121186234520055043236472354589168948810398880612408680425210654994376288410217592448790635643673725294556267658131719159976124287954157692707405494111306337961766128355883904244043508421174164811346066169807394278353256736658096852401457412207877994750792114756162970897511666104305327877623133797942208633662101117394916504694764684007820870668357919523711315411515985003453913905862593754924370663057461804400159251654497374092502786234280509124102403986837718138822867321557008670919574030431221384521686252624213254921213733226686799904027904258460782365274971669060541473537061791695014091993486330261081763505848441738389135571246544640129926102275764997326379088434509520791082937031151426818150625616071921847776429584576476331078078460941523617333387577082036743626925030489659819558910706065645500499545788168252039197167443925271121883905323074073702079848339127988648262250964695316788037983554417344943656196016428518602203222596574667260224434718594467254241781607005342127171620310031327328784439412200015508399482782009068699277260356996288045953197420734661327934682221004074828728463636111493732304908331356276117226519171757647147990815406816438329927009533099071567088704272617476163330302544619107556140823784161446285045325394145040775175520363416934561877992024692046252858969183781118811387544431594107258281886340777142915492183593840601380727934279965279032332889752759931556496216701372999120292376270656961707395942497494270957443944324354255883333838141332311185618314196237218706698643755386274892280856931100078141664343197407505097276161848480679948999850031810576238353795591209404152055936732860432654708173589654602973123047569143607366944439510813245554419679477537884332844855079293413892303290129955979056749054606537263356535160267437449010659118996253352139459115083902606560295193919741519855034272514077122890654011743280668715261982286737347684376892203973748248147698504067658350915964124312200374377166876792526997337852913768103570872239331265307968564494800180457150682251533893511833209779545704755308348561512986069113302706148187157350652549945218475054513245845960554496328850484699391281264370090408810340012134657013619762172091709897034632439064098396180567877932263975576575748331801277243364012395983920626830967176709278166122311855672544137411859553243720667961496859672427245897432974770596638455723886787885979538011237587698456790329423479804237277811596777986718770043555931183671149338921716391958207852880474295467594778409549883168138184254727503197019802883714880992853197816878382998256989431213011750281619341365063039007322644893462749927938574879034618570874968247853684974109868869968816435174944537036755751221948751186183635114177872984872689795953275152158874330442250362917047502108774919049401700239109809393216548277288480648492199681422015691199284859250977859059516247883813557206867473521706006929459465333324122130836044621004742840967636710919420288615038160700247922064358719479782915521876296909514833705923922692681634765045701060128546277098106290604211704109046631446027236526892882969218113859573027495482526098801747727684561628264728766450077115118981678460886359499756180714968645748155121786744059278555792493083581667479397469706973516585388942565814623631195800114938140639542790536461323184922328585490667408706077779059550900925959294864858514886810454822102622562425951532505690172918570554126675264321472629065603920494519451600957395056698760998554436486214184499985323079839600819825683899744766927445169905291007087637591419082804312329633194121370602280585351250538409678957748952071560644575564254562194119749054888135538134126343080875661710861864885428273799675764176036301123288047351550873349464398842110791998752225407206883981991058801772804187238737805664456178162623436477285651345159071780112086380034988680999766909801329412392998435435556659707605117062512746543956716027577790869276367452602791251265894123837942854146185805593910902297011432066012469593400206060755105094794718537927693623809144182782662026922909302867277227245656081085936073349250420307171359284636964618127707168482921388532411582780600547352228322254104531730964968317631932840835216551291940776602332485866040091043588322717086115787449938504863526953695758089742398570616748546151685430400056649882487685697482560746422116942369966246901717595413015617149111353307756078550346601365961959230828677777002026630056296908840750475634622988404658424077557196208759592990878657576681762244238246482816440797022084409148907708872539515479700910883230392762075426355249727518151082836446189683767485792423760287000418799083969019774172879842613940039308162173826776248028899070057782593206456399021526442956274504486718211407077381073335704109760992598518292355032576406470244493846763094501362677834529794126580499244943849016455837234177646404340621290840011070867210868749357171654047921615009249369353034961972682298657813860112618053355665118662512924384527086213284061086107455033922673230492310591862789888794695273543277769391769853696022609201202560524709005221140117434231160950375933335863935655041057597902246769582643899423104559163396775066146131406616696834674152957901570910348862559479835780045254589556242999354178198123223689700560840536657036569610951195839534713612226048692766290505665497928182608886520928342387844519628578359304899876597371834476646802158861707845342968307608464309738017587006816373551606611063951193239689863315682977432497769205131661876126885610821862833715044589711465905106256797586774429673755275005772303121624603676237910959431763991594566291555207420332887916793890741425712776594679187434516077933382799195313761205942499152403823761696637230684539099367499068263568396064190336707235688849133886573811523928421247194316921749920351401277563719082492956765631937755444073448905768642311780664841044855316882361513181729093815770034457915818253854793589894936962884780246602909884635762976983572384108628195106377651940021422310097908753590115120955618844498762334651787214629666355366781975827634394462349055351563940970606791548029571925226276712678926141197556804993803985225641453030603708624533396635690554566746877951318260302922629480606746200996008577299420423048994558557131870265174466460731661693203148456003643065859220009267323322416026489206842041372195060502497727499718090888629724091043709425061491350135432135753117739896906075734431867426847712153772552898491404952240328797925585125015458908766995620936060304289407483349637429975310898150442884705873905224382705967679001200802212448383753567472485771519620662342916682167019775885274380429464175000098374944701436804374250686320879512605271580093991580148694386371534245353235188234124250184516892040875526027098030735365673519128497233940052816005961225599571817209698732879351457450403797401235826250587490065556880530030117260426219656341949414438055644868990598406277263348400177969778791755310146321795686742869472885102041976016214835619362483089280034978256937576712126875599669580965277393018648725179296789799700852821773250204787344686539919675008835526949453122791267305515853326018747370228333717597026843449507561528166973468967757565960757186514787903939195671732925401209343193511093250077687164222828822951499388377698935718519611945799574789650186391265781591880590383557709753259124224196203511162521677466105651349373509958722055608344784494626717726595599703987030897355741171439671103131784743915963841740138069956885883964295215671448332132116599580401564396512619727425089627391791117982105987811349874457042185395387759966288867961304853846057969780251184356316662541921660430873493312698628238842948042829007658692763249940799943607090080360682973905685098842811068854637982003769694729707759688363450505399922278960339753155942247926001550285149524954463519142259884186117427725871386926593991628618093776464632539631862794588572095101804275185554911981461590589585209199670619325634238398452294229486556931397572961018148806066398174806131323117875137210969895061083524158238141882149928180610160439515278314768578936108281819976650008421686297688184228049588519154107419267360684471317829949167079773109455021774262536167270946963188511500803169942611638301646374197569638505148101322914653008015599307244160596404100514451488880939939426559300095363709951728689357368415037220310001501207451555910129079430552110380274372272731867358301054873144844551463729277973054932981345346026109916967204607427731167722084669402291403098715275283724768529147649078158466939277463560260963547356889902265268177897509813050835228276513884443666023248610738342079650526056949256668556439814943843704036883348136537542471084134768205381341158252326546656521653595796815060123611223103090296149332367086530340488520584781731960169118458867397710011654724542927889699610508048722984098935842572322374887032096755017018439597530662352930208841198626772304681174931443528073135724211277838737982152556962226652015635637384852239805430004740555393663977988354935994249737122112532440572220692246901954077301128694811511533217261043053548171280433049197235495638214083782028097228101566746788899297804002700202874955012265449643098602915891977065825179907108292243863582084032363675451900446226974070899693662212166173654955586992772447357666806598410788217424661672242134131491640777171636710863542347537922663984863089508083247484740000866729831875709651466674489372623094016387785092667824643455870933470118616479263775727928483582670942763789145793837085219769903944169027392326674917278875495452325587696572175890641401413402785013193428772944819058397348406560449246435046567479175744932826789154124245727776345204441903576689962360320070725983650098070936395452256722414469008062464476165014170987316098270015499962256918734222027008266780594297854489077349305135499287714023572744936528742879404721014941877062162528221211968948857169455477701008099204403660033831995266708295228550976989100513239843382694264335445717378647423888319102878252420751222754184856381388663391765411335694467399623133738251717100000486077710510433759763746365271753570904786121388641284249434262914025679054603027859047645785500768008457594553571016975146962740310762875543324939598092479221004554948233409309458491221237802816923887463580460684560996225530319704595519229507717236100580340624364214042772224953871631131235253804875124588035973104809187216580724046053592857036049249779011606408853748737880751713891202229796848873772215503265272820512654246242248984941761566010505017276910757646161637103085669985139474607843777602628530227555053660634952024939805408249213083473363394079620231960692764548312647720006598833170044321738076108145944190034202795921008358292229275155969289385869152514428809840269725239510672101479581435032228333943121164894208987562034375766357137367495026382560171921576137999391350495120730840507519996064262775002761117829477615828424773629673534111254458958665423622897861133566755014401171469454840454707685992032730673931667690766637652013860352595317235694227566935027899062312248914161963727223721309784407016742622656161719829488936694347014918897173846236775273418022401608660120328805880510539791729997331797507369641425139545486121534310199629898574708266108945329402120977021544593282589236282752010029248675555496693427879347388879585244681894619894919891564280966275410387155138818328885204790345585257783049942667373914140102909259510976851172209595820695175957067399611333593131179821237145618110668384546667740928405844266920773884384798136459430651707858701529651638723341146988491051373351556014088211748511621037120513079729504734878487975858430783041231257996660340031021026871150943572751602387556749153087618860120399568190288850876060843308022973409873443567657011094101494855523924584112965544147402243515825648362873713343731212415393325842875724605972688226906965802928814135554163841016254424476641800437860246205504250889097961402117239742415090306203960731961629035461349092656595228724246505467955301157152460718307933739490195807010761493489271026138118570221535530334292485131484840070931574046512484928570309785690035604303594170558061181582551623757913166845564488769124507601156251080845871248363159666790949944610649840994936410086525702772923179406449217717877693223081542017362744051106670021167940221966788416908141236035342056875635464151537907448636578336085440339561383015997243003139060840025955239289457468886002214773664313970595331059021670481672382696278623875204753498236505474400323668843144207131721249360890262044963066022982838556729858629342075196863712305711300532902185483100751653397821867460199920268496813190409684471478039949005678066363874799074679404372918772452346594863795876416730011659286690584355343468578896830683859081652314701575852252345199262414101587465593335493184901504334757866726050060597159983110553820135404757140047659896544664719928685280155624104080534796685514908279299909442312606324445648837801866898982027935191160763966483716142006278134918668902070265446024309592287800052468123150205591839999781246622806106998938885905843411115611503242408627124108175187264786327914136690076474337405327495194312515786826713536266206536904967186547799188178150974251743021864156614897192406582004965114239880118862736239799364120066008374397228092869495975049065812105246358862595595484332735369255015965488461752040882661831311539244169757718042729152326724627772640437216404866504733779563688619909159517654117382253026767426280810181218909343983985470009047020752360715588057881760115337381826659065084959295840134412238397798161130877520637604502791759230715773421644626295875706889522024398004201480248203530332627710019256344791778310341726240835118931519882564090074909191134242870607531267653897796361163961980652613943555437670170243948507941273405318408219565510297333923777735313302400649975362426651917850587756660157682399628487346981597337487872106295679770240936232860951336784172486158170944946738118487169290640614367051540828368744183537766289334397285750190329880622078374823168913490948199613233840685159255233464341468649888855480276364330026852936614751472309849106499200987803636579682298052914344242566903915622492262209281706735401076798875545810855430149742101885193092633500125036679832337701278020858055845168635559368143715148648141903547943434030214344871726799404495813227167482125077610565674415087818151121098913353236953545951694591378789652667246372565024536702128788808774161334274366999837242248346368105731275961325181798061735583548565518265217577952076605504492037376239304014870003345924437867466790638893701406016051142072572725017447397947999791170429975030218748930737669852432743749904106342169323569550789744144253086436029661160333327277159541281556176808932998882618478932046955893949689666983684551207962963960246125840641068869430467477714133913142809600684290151143984046532631675953370852046439070219083192951862923879832157553128184682516308380108717825161368853143575606612354831162465670053310091026778149642709009023757683257702469953883755641908786252808324013385320704061876415937538946694477050663475983575762282628112135919257209543133871803616904084819322352137888655049555562794584775703506411177378590719448331938629144813393623753563595146442407004834595541492026087526321868530705326606638492709856656226831527116108070812459383669448611002706456959698113905515407432468223039748142544944591181221714761422042247931299523856347926227265678392934698062136674868821494731227763772606754292947651294901520962778412827010681360809811047549951770695525237099539532246626202680097401889938479226801230504722472864668232750270964772217451497133983758378597788339723228816288541048743997390679278059809986047243770052903321928252439732610540128283930943449116470415878872705480787807910223125018279533037073632174723650834068728711464722362198314218040884909309450852908080229597947667392722093085502831201161881278832517017168778073250614564932070728898699019876283200176337445057664005914986451618085916612668715515034603150547558188474360409112476023892449805704380532832950092355106255702434245465832053614602633973963359431872459656572452940956239268994852191946498041142205424521061214077076052183037460373484743279698944674791928024192689994482663477264304717254150283302759809416156113688782960589843212965002319308096629615305823856895304106853348767973485960146646720713128851761680916287558568628662334334370373179388851074372604783905047320576325238040965191233288011651965013427980862087496149280260065689899632778378004669206223280261402473569314178675623784984146789367813080539185764226610572275452768031774414066597616292785468039719115508443260508059964055412266515160201688575810624217953290915907764947077807627271834439593459141847143541861926742313127554546294057380142518365449178634843175184319411334932454130134324094404323843371407055661764529362886218436394642272870773394643423864541701530630008125620790115558107870580147577921777822256617697604404198789240431425136690552779500980764327966741659997579026129468333931724400046268147412608009467041229161536881514405027451463838384026811970713060274566810050733985643064604875111688208849169096668155220304978993020855070271988971770259897669544169355143577262483127471189861412350354089280492505130093514894189578172908830522318905771787176180267817788744640757728859943524375512609934054640576891575354043287258592080271178450419119263903561074656324582198676549523443483534142871871634346493760790758056322507193907648999142325514999608485700482487013761791829788288744979385965030921685900117378038173043957756108117270928496851898747312695617782786137411156534565335580415469071088918823886313422429869650592374697960313040771132314695344984822506825815335117651097608905251990392160435845094891295082258294757887758417009401419393335929528770747797818008623195868101446287762371538977231533047169769114427665502510870286059239601122369188528404782349923767609123267907794896135491161025200999109020712512972034328897647998171621053481336007093325048793851753637279013930572220875293866934598940449883924821361110555858725381805244762236601234065974305280927727601958043313748796475646145362720605583956746550529918972587169540806244099655552416373400882678708465693588526012793383602341925869225608841183772948765234381457600612624240726008394924954408447582420497464439616578214093837339720441545151552007251622263851966396530006519128177422932785611654889753384157441806579141147818778736793411535827798235736123941281061125770442723496097333750520580450098178851721440929504556863376274188232384326398584705193100513435215845797159614674155040409910817842148307277541000605029650674463439804327130646872657422926998504384909368459524008472851858379993261299555160422621143841255325467169953266901017564792919214047410541597191467267916623469434994492904629692065557558803310463930726123953038476807454187839922387270334573486334519604819614057033907717555508527335665973485456609075873892119425362314221283870008052323635287499182707006455351477710239917928282657359356570137535444493734027475359251961475641010093105720695596107064594000879325373359557295170186275411936166428570417906841998339175016579168675764890721360941011709039739257769297776212755330257277746728587789185799035666646236456483036468128785574153187091122445717639452676105024353106672060438289824883505714244199511381322336513584373238596017423773142229971614598108049959544568116844998036352238892597512601688720625631138078578402633481414591327026502414169938982228471180780010279773292094776431512307090282922707982092005850336657846264568553141253637636265956254494448814371507469001968687500295902954933503651310064959342665330692921088128873092489817814089076985062255772911827833816688205837454909073097127490444443905959282535063340898910926283829616900662269853916348385528355385630956078617983458881072002586048676556940892446772281331018842259904563782077620651968744634230007172203052024448964730272589604896995165348501955317127385780000596903194258443362933719753557796497862946062864663280683808849548458040447511483055413487180626257183035797557433169179547163465777004606599589041379269976584756215130683645592875216589818773079243659155015497454773644132209237569213856808193687992027317092551291728442590483124900093541903172943182487547958494324810885405736297768505803420346070962693743829189493268021451942011090061052634164831681540491484507687297518137000977201708811751505168366572385477881484071261443036080219627589605888318103540096964318874223210184001369678243197607121542315481543659513831610282550025870693727842768499162876337376698755543858864143038770310092742722488686795647175654910009955510785904691534493872062134981576109032195035435376429690330310886888485193019052226401597946380009939888538572942733160068507493133300688273759235935006248813153262972691990413239549991918538547669231121274566569308654742420784834704215743356126076308798272049602608091831598713835439705454141125844221312676772087730107910251090489651974182138992716604456028552454313304501773011111812359239597830709003101856754317903840442540798811480430043885535488351053824395585059272140537401182423955803279184650456214050967873191965691706663986161878429664831989320660718830092660156592701092951807873268403087278573024542043926241073071854975401702546771591737621263666555273247965096231339025583063045219948112029104171217685283137125966805113047245170683236691829851100706224010098887946682375115530340633579363822454593609566076392579361700809190056292136569030452941915205181267312396583471208764196412307713406804031317142711768610300254819253570592162130277242959675231377087844481026122191727888436851934750769587852774466978328405187344469120239244693568626054296841311222744363547248036700844951927805942709868446038711194198370293686886057227691386918257817247415397365031548169705959309166557316990164950051489689177969525726737305071681180614071239069591850515447233280814486401220674721336682202978428115523898063792697651248074880614182902701072250961495636947907570025683030010098169742585545051493183993070054966261623311440416476680789203057302447466639186438240452050568390024912176797104967300983251076523424888918509497910035933489517191268854517483023096148304472682399272369343592527631714418224585441462170522127685564199189658593324641355264357611484551886242226453001771196472293305902431880930538858198651816337407646815987851738745374931033128979621749390089963359492734570843759689122772536370963911568809045831401892881907195899752606013816965947122210959827267557145248755568065958107347500654487053364650216433753818364896335142253177617405944754471333384819364263262450525082841646552765905238994508840913516244416868242383296129594672474347245675796772758777418733656325957909601171474914840455557624078950983726992004657574972668417667225364833057703305570330996629688432875344190643583163468252903009272665794566499612833919200589385273388766263090440411039327571029027196278237703392029183779310925063952810946428655290920005402515825654393658531372711336095151207774067524229320237551661406600682512680125134488646366581265592320009926195655058563350767122011905025830651697114070266799605698729473513996136067333322937667042103147095822859626571905620694574716317469980919776375994061342453707813729733958581348407909804414856429042695214413005679398917931603218599727630686932705968469985995632214260490270426095237050285994990782563968697734151148215198769630353691409221917497742000472996231108952259950264634631425115710012505703661059539271394933853285928943646215725671278651414566445702639766415895925233987197311928514459017883556232407856244085925802670933706387191500013418662084605589728968093846402630001413965237829255929751206652072538378261136912050300679784445442876222582516780970913456665764136954460893186587469803120614632814193082055585847595910521157619464102164578910413928305305842903119962370379782008089445480791103916860648373383276701579515963075014219043591143369878407418543143145950083119558759549869382194742646565914954940968484425299294597755983616582251352716993128618606713396366308300575507511265006220051512775525857546260784821717101364962815154621177220279099792773878266763215982453806067326685637585680028567225378884827538230102443181769864305615409140528601366388485799764409776773945767467292053513230325688225435548328345593527310618198942973257613408555709469500633458674106537301646257131246746259861274560688540848888269085564406181465380284339204875266115003291691888081293540362616867586528754280710480367376471585877486674271237922107261454082790511110279421616455500991796394188008163953610889798259628145437954598544638657940342511047463472884603263534101706037901476975782371305343060979150328860194964864208159921379291755740974053151566895877570806498306103955099717147652751448170136200425984388732167150837887158341398966942928391069864616656751806346105801340250609192603398400907513371155390604689543196855657568978739901727401022196157599166702397122995007837364981784985923629380447680092957310728441216718183591245687878357420055106351117503749735381488897793822743829548676856012719282186855339287961671305889047415212293736294760632184481919276021563569790048707180983741975810760646006028494444506977313906415188408759442582650197256553733709982359623220365925933426049059009212696996711665592129530446192845992317007613299706302210633976370768098853591547530627902362222282562586516387962671455783914603334248178705918689775355251566970909416340182137701572109271707389006971496195241155538824501980826212964319810109617790355926442112353512276419481395799507736815135866655205371950008657217788480954003779045957244980310562854406146885957733059015121499950048505876130074516469171153089575043579466876890082166706422162540425336613452114281486855429902043461275140429921854605915189500839288664795266045829882755414713825670281659532823285681501955637204413946511324802961138512785805081399128719691809231080389509695461967449110648753389775581585011207884277563392424060774761725904407359453384033039195393073788645700704465463565843857719459685669271405431753083865432432105551733665023731000863109894515700646123629738370323750025819573103210580128056141467743335971982930642766373237523480872438304657985870887301718926926343920593427007661793559029445754194968706754807018814034338430285736638920423368379408623191859275668862420890078145138040799716226227174433376731274614234455473625132416411465350963890072787638438396213780825442381136743213844842634610209967949765651756794083351067278851441980885867694869545846055918446507468583546551024427560698452897603462647328565520703863758284353423564513212731647258937665816756564140316281401121803051796324617572250535408882705225634720332522413493786083311849159113975855391495387564525041143306708557853075397278764141901396971251515836677223056358622923776063202209178065548110613004581351114582222957760993634781434705869508665049238543403383669661945730180818477468265800125124776283157248736682636490656329041804853646673397585366123058594507035903693081627561092543648212985190098297541881909900998665886042657439712980081855575177440970038543682321129324355461996644225787249299785831827035600439244263866935620976765303788308675915494612842140121599611863250301995578412148456514848487716273417422002355525196553347669287824175523627647055576363024241141638007006041095470103650806447054848795218261158534015713135541662761160192358872090760459815109625419728163467916822323498911976527537960577809772978443039167621901649600329112743633464174458331932513897131976950164984665834366440519567844949615795159701538318733943328865437101514606091263969370960968409708653339080346780475992055532451453225208430028691237486958940373186425930844400623837615543805682264993944877934306423067533217076739477619389994568493574914137716216274655321949891242315595084165414551302554828839796225238260714921196933112513361460980437020306302541606197786252602413500666250601315215332525217374843162818184312983886413221594479657430367295888910417867092789094632695800929284050925259812658907274554481777668583644246765563808331961272008080163514915751293177214139298059690446226679336698220043966459860368160297786670902553230160379682615714358461846007903152631995889926521427182057317217016436232454010206899428625612715420299945663698944091082623721899658349990082286001540361863818115453848716971787772918211303474320469794157881411512413886258951526567950743896747625534338000010834755451352296831898213248382101339916829290965991209600673647853125308412555359596623716902994620212064122703431410693015658843750384736107959585838007200378621550363519308881833307172480220216947498660034642577937910681674788774465763230686630218278948818717616787751029807297319957133539228767137029705811834271648164714246750507822601859048894659101812526823410564991852830545850768651728129706069428163554826186942713669316403503923054399037823667603303071678883967916706399749753992067785786275956599199448710178311755625357245000957833963949988748292692783383126856159329792997659332873391095416179687057736219183796188336781707129523889043248496923523181651625570200801049153522544750549795035002440666040678519246574616877225076394273854495535732610497962049937490882321801217697882382736192284988810685412303059271690352275813781245561070523433614122173113129459396759611581371733070786223541877987072935858156519104468650442723280507220343995447283194128430087707943736610619985524516790944223364026396026814517490149618070492675190878154148518023107738465909990917975508076633935861347130108327811394791383309867964114588522460861874638457496566653012439973745686457943666407408683165999329178783254675884810183443868016556636413849179645518566388009078551297600667785363758275328318167802508180125099800303508766036490773060768374953457841384906410308771472363946823407394329830899094465332180160117872550080199121474588621969800551546749541216677949480991719023917924101241921737175806976804571749893284133920437240034071726719204326298204340896536027771349571170388005141024646923350327537292886017135768290549656614504778505844781981918287747543627822518901635938672764657334044344967177833718393103035266530369827589897316772537000516709092524301395224791502505218950868600979852336309442649607414990879632939980475179452461804276556064378008633880017623489164235217351258283059267133398143093916758784095224371341722558607567133542549800103465807763596061077412661073030563421736403380659084826048527764889228395450179150364808673808653865219750432570089644342051229225985589260293503037158013416455222838938349263252580823974747424531725665073728498180983538941601211525996960382518006391243677443226178503059286603170745978173866704333200255301776127273711458702846566229008937156758674037479737807938698393398928828116190398434405187506907297532294663219651292102119375847072221563163503063137538357026713581651403671432713430334803274275006272158350089962445711101274011496851619631861348705777721563484229039490700221740295130032253054683497664237267814200612489974096102826232325054734735843227208269765705316270931542019873096530374769384356805101697225181671687830342522959487903714758692580356360962866249411489196678640937615086378304627917429451579539366115100952386985191850113502514086701064257368239750561859730223645290023875877089118547602651727759624463517508034908029739644993590424005887218275013238128858100507272343496661837365358610827467113156753042338165749327928675278831471784553332014554184884803298765810525866513367229263637113529441019927908753729271423553657022376537829916252282994753290244957985461659221031247652781026867177603321778630950627564734070762116940356446501966273696689908798031864154505272509384790710901155606134896266779919690007882644319106126791149657487791651453828150804790609985977064746415174859506702053609248205653538097906575235537662834153371674457376015066995675274134538449684589495772342057004340727967898375746978695895427891840182432809488750776633843881732306874290066379050459474538282924171586279192589928298686577655298692530250486254521294127455410168257166460791969822038761461077815875780068832983915400850881165868817530774440214095874541828305132314962253597425091028228916466230517671299908205049598528263054751956515303354113940184600654213890803398573613230304447146753935038859490994481350393139161566833237345663107060849476989729693310244572915577658310271515144228152134760190310860746328207373021236963927939650587801082225645283371065322783250952736640952250102789161937876499433081360386825933922096411145876137395029581401627040297976005925594371283159859135946609852868343047678842710853285922964845034349045243745728357133126307789434119812496456874658013517453434636186591392020624313461094924504487195197044989093051930230435208865622079772646534326781887981489121873924488318262523638753808396915799774219342031187143979111771916489627840100161475504605751922325869935921039931322660474542219523246120437195995930881663989228676291648440430300295810977547303941377693927569429804774545941109334660821693431770369951976062342493844585722287195457755836116234647229732702527305583057261692679474235212627391858628551411837702865921538918248082829879266782228529045760220347888885991090398633179976905807470139103114698846012801343239971840609768635264163681329098885124029461870415307576926593382481814196121825351783212852769054809317534718757324282267058079224753902385194919747990135390101814916647466453236392970160936732112864818012649630462933414158157767363148686617409693748875951583544797976898656981328364210520418096896679875736105326231880303328656127472632777069758382327259391014796258522476843616621870825315207099481215713311747819355021369179720881054432214120067360898187135979327411308368394140949670146538212781993819243260631200289538709153081704467163443692644396906914894410961981827566519820682491624086340507724034111886156221941636720740380792293164926642696547754633027920060654114570054673784988195982063401364377797975497427397241720055630119033122733886462026220029779084126265498354676243757239791716973743537733760868459901736088072593324453828902930066394690965096601903448384379592473979087673159591738265862230447135598295902686727222570656703048365084347714777531177447196939153158105998511064701178846370676754286427233319328564263169699523231969962893419439041107616947251802918451030261098247573253610570570418165762924659662301996230579760906222148921721549509082686168174462877610395991658566821633506864953548437028907658676569421439392757019665434804055970751666864582303113134229912187504227126453321024985891622339188227677330974295774973520898365148177151199384138481207156818260164902611706307897154613052360564228439825240063236758297208773294844061434667455027064395427404382043728441392341138281877820929946859125728324654675131591387311266999674716529935261023190333738403233139415402991959244212922960255386511176133825374292942459531452133677993252614463168142501049682766387408527442891378331054954038462050730520862543894269324009542948620523757403301552938936067065308073388656542099101863995516796468123729200915868592925532842108420869155697147220600283445181006720556988726888240127978303381467623388674382167850395877930841336222571283855741277880622777497928980539707657052385874029877877483148073508523264109708568894026223236453948051814901980991065514588789640771054531578333158671412415077893737552523894994042456479013626098636983712207105062943372006026164864696230715657566954579016365859899091289022556340664535062446524253772236643076309741418730999879195457191969613469192519244247241535766206973330386546472558054397720301377591015815689155609438655441368539107647708416846059840339517840898963976531927491576449070462779972689453055602788526155865409534756753626825503773358503419409671140032142755244517550559050966861143821009808165616043740172695432579219900151095044198031496260782864149758589912068963802696273676970861138370158215840690124481144730905267810753230427283369834370755554145064753340840881622132469109875751250499718306134067516761891435958093212383864182030382989167931635379955549884868212719169299340409886382417314670371226612759262353148360731377263499900324377713947270958611375275501623913963838657777627090000085295046135236280934867948125537761412623645628794155586320241007959653158832596182825120502109521377235814949339266503748376033657733154438765328550599114091860633544384195245073793806253718468200000282909993300253559861532642388516108948470926918376165141726068610559647823714553335880814485945404567381228125286454975968983801833582207963319053623206329418071268455622362281276879759908155731296526154813117520530880803507204549978904870342916021844964973947589136193356592217360627467382561223798514987946106852611895913196316876325311401750763201110031234312145024730730131185312242778014569695682433500070025492977557423391438061212257743676932794762063364717995061184081064194504424578835838238540627211665130021801113555494085869205250212278343759708444890638803036087689900184485964494717771252661376917300085403336491573294468481556436615808069666389837276488537488489159644402230333241027889117698357806264293008911385065570195791737214107863580932732518487403046690865356816572321387402935028881277404376242909028433140790991009696544894395114475417863119365984560309875691152061551946204406992759937707967696747230171836444503690310436650445052010955252860142462119386582645687605786745074620724661167475872207537825646586488145036034286234652656061586778036793197352602986742718703206018561398296423141748989250623369155452005330022748989848791335538462270815622084792452195694849055329143205803471693419087293155832169950734129144132710533367918005749743421275636677404772168199062408530253023320428599961259144937543280223160204820687580226253344319101281947446651376730208096778069720800553906865064956520866704694116676361687293089541333809834822356731361065117633993509230097806450355640005141789552784187421797860956316114101190201227473495949217355476601374660560041623653311545611359040903800762771160210656490750857090250280639768533923544534599945907549498949825952885680951519759073806762708061550317135367131826305503473888306608507705768574999805170297659286014335929291959609738060501443385870415380850406963539841276332180079460716627270378305530689374694149893232075304807117970660112632400296485847029740812152812604662347553321539458088018131528661814657290014092379397290588634377292596323504094700497542064416257167270084240590411217217865851156641541844454919297917882864364680756778005509565452096104468418924473568106342781195235408161118560485382500328596534160817554745338051272364072036261414418503203275070076958594905648942586231770440305158200574028998532171436726271546964549030318928237959050602412527212671713296511449931084895857509584975230185038604141462334426556797199640253498805152738248491479280124472125159595020918894620816536200838180510373211607668197641206500570349327612636027349027837152934282652167757160876623672391179456240795407146573344461175043533017213102187474665864887006012764119236383739509127538548195777279013517498899768910698767402659267329269688774667864072232780173795370893810365104758551863146760049926154032701338136735298699991936501915919571461689160173652950528665043876709255041185649696009482633671299454029163188952910993369341134502009439887565724806928894614924581118548970641769029003061559266875600346825008483851020821718701332096357306636957606401737738485885162183447726549367773875355823913757556706464815797358784661797410189710217592473178153326370918591029879287550063606976581589803664565819202023773185340209236431435035336129068331501061038225935405372036596533677659385807095573573319789897769570005934157751742188921045746518132290260558762250235884292403632297391320329901244223283141510563361356607434136482353314923373944484179631199804789038408411850795526067737327660857582741892154848129744423414380453879200663426610596916592829028751374176614648205802228480969534764597648568575343832459494244497769915522618788814596600201800719442609215387715309151650199020954699357098890777733364469439548479050538628135502014175860478053199799331389240243363595498308928931080218432365835853037611277129175970494343253673245982554452639745578815205044758398924815078184898321344981434244824174628658947493574880195792180080258468687701334332032040099600723110377359927211946270557602164319465033932900574552842324918965748180478428268955892949876927429719256377102198779266202948964460470184954800925779957488849888693127826176141810191143667147023881450270507279266154124415850366081946450680696979908062177085109782617558564461948005526130437685419087434678738967660812984976715353781059837579806747317737583564500013926162563082627096225254630752372706413106491420421393279104632381277915524948211761254736697448703163162576753050804166047093737464842013771389983640299830453399230043721722409063727420545794495015757266904048845217728614607168406712912802816921209208007451821714814393758537328942745146628402894371601748879180039013513478686773768871050419949534571697387619407229329605948297361684108726013336929872345059026472151225673665576239452014992699591100747272914245908435203956538068349615231500964765231205999842695774921742627334180687657141615782569438185807570765641528464022734250344465845092651573365752446832539432371652205094669553127496488793847463449242008712195186647583972156023311999945283083300430098408980869143441268432158365536478479610052721949357102196785591737867141096363578394422274873038210171486417640803244391953383663671124896527284896103001230846088750180519544140111254094074579017827512567602708170682492619112871332597223516043910428085871299462900069067872082783803701652021093014733112796370824181588477336124753635958804900649094092342021626888708173739810023373468599659382277123774820794313404113654906211717149675715156901378547697686205250094062259860470258010541427479938413641683449715888473896387315558373076727737343401899183168795202973193008282170754461447389167514174273420601868059460852311407269655283496152753036953448616774427407033863932853411176116089544771268584903161132277334795229814436994070502268686966899111982912273900723336653473619064890846096820775828123687055231862046887584703024156779078832229981400723651464674992015400497507573522396938541918808972581757492108246335765458752307425267051759408960064068397845439633674224320497429189604672462251809374473783670587010641997905360455600424400284964435688287684692233847979203452358168680398971151487703193981447850986307496476544569458757907917519161470640631539733297175562051793403420343627419376544258580931131625671025039129984223091299658721405909641992951737449213052338427106040570910565264144431040961391197210693374389104461153363501363841434207534535072629365727956061399924561002151519797001501467498858856091836780534292011217865449917433162927003194799869214698364609996607448071010492877671110029240446116343283347247819145162338464068605111788595126797416119620487214325444748949165719589296192776740204605832627974526630295945078217037285128392472138412466585601355183985085000071778960589665076435234510454447939288625154034430799207189583207942615290075011051546863801526368479867882377856779994648883454246291980974295905912167072090881433487864344215834243118267384706486436656161603944046503365544989475912018458187791516407312530258616602419207237761641683171232852057451504433043295370045709317148241819877411631200513630427145117125065167055706480031573892099110538416638067609848813001529524876316176925010358760845608623971096983746466343005059791163160922097424298005729610828805620524501298614912829755546900317134050121980628334864472919099750541199496258718523611608686500783158513562857606808767214352315743670315469381499694508783024190156185878942922769729814836345046542533493158813631228846814482195964795697763188913368236997759122875623463750765757686270252884775356501898664385198572493670162631567307556664881016021893634897974058911945627285385979342301748299454990695696034244063262370211791477902399741966039744239555172186590087798374837438491435586502523004290672056777968478640470258589304582010241435902291154676797507896453032665522158179710296563918528429640006104852956167731700265603378372747278991080651275547234416341438805123512081175008565012490072048995301766652755892761871027304913082593376930729664039984902690115996452651858195045002832410530322388408891466658132412995700822136351848484968252163741355157430287734430336766816789742316502490107332936709745201531298439518375730958243699318176735234724023496656278176822186225605488710869916395587380161865444056829049699330035890602953299841392097850203224287664230166801109667042204655146270599419278287087602645207583097065932620251908418228265328532437641508856293522476384176925515220319301100505801770966527013910484595456453432059739980120219293379454100269055974822545642524954318899749625261721573205477434180020802765629831224762459798454239587697164412296033235916308900635384199477011367692697068652516846506915935446134928664440673972351345729573188543584829981691969795597598105582626861997851675632016770397772841837754923021375495560261324707307543531726187139881979173849656109914768854053796871241744974234767207501904833120581350801408732316242208748240896404889005971405643101016811475592598024578261235658289405205079421738321718348692243746633693592255909778732534717412314633080589446273928153842339370182781511998302485671116485500305874884396087312353175673542423351974954589372607040775385370558843145146729618898419090228900769751933842431900957843560311256528981777731628041536546629586720190848556556840314555967520340055280495371503020219667926903745673944858520524370943306548681632782910057577291120162383372795996792082121518385230247855318608045760411790499653163588612981035533691226882630730470833741675060147938220204638424684854649186556547210960025507357687039332683447804424863710574153839397703234140469783803560425566618458907768083293075323960057940486887277522125989948810328080925633511828083998746014455606842040378666497721761849031137709579927079261930106557456950403628594787779539511904209849887447437376303472963523174076773354021413553972468617209122401103260558753665245918473281408713598022024888954744978663360956464721211935537365592107484989249797571068294979627977578145349632623034382878499942876590012662315999238265160845725550580826830892109030616448703073200288666971623470513905546502123184989763900367143332554104488993672001910251000287559790284133007476277066784280875642147530088477340677708198262119265383048985891910490949695292961675007172097648677682667577563527724373887061524373828460148433139430292095363152397416040704395423578252518547755568429388532441769405090927606375672973392003137658023858822538117177807576380948086414701496270201619521953336161296205464610689737469321532621715579515154446924527132416051878637565098941214150074889341653534021180155308718569283122891187800476703550197087501576922166855126613269005688220617219053405160697371602720692481430017666381294096865761986538180718037951688871729328455339053845945298366571401486852767382234227435205128089620002038548159067595600359462418692937778888037260208285841782519422800709659140701487831762359256588077457958863521322652475667718642252926043338412244528013211304609984360040005576177819765124335601067742820630963349762069451403998829487600925376244692610685017961303416861846447462597466001576152359929380335763366552538414405259311289707836471213481674427857083343166781677082687707822282289154367983344220705160862243576040861773705921529104326907439127257388013158811125516629423996435771358025476693151549838520874192059565794710534963019330725136554435728542970890055560130553091176850927102355437136774849222552663760368523663247019499445311820893232697752174074968431268809088440999388107711192417783805604544176093523374553591350946040684962469662914998155252508518231826184364947484645749475867582360377333686475158004708812392882795185132381120877741089065336836484930393254603356922534058531150847981621022544934097797473785098337936909228451652833386827236560971380321742296856885631404772202978283844815345497495106713658240663789738273173663933426711570605491995583491824495198480621747824064142186016296214562383697920574806628272797455571178442697992775815833550462944370702150396485465014933906541417537603252078332876490103132444317836011387091068766962479092074389577249600594075392893210798403191945864305224439773721581482745320697348139313361009831956550409019184502960250256087948451549396622766712657545236864196758095353126114809722446056969236194692527538318212278449647927753858468742776530741273133305286270042228043915078390020900159525993240646036004688874605127563946542618428309389039201881955348678149849286316873585789788587427630811419692200521761965138790722142702534161009072029801171737581574719938995472304361114780687326136339191132861022958909130313702680914160748765782657269257828410590380734762274574318689962681715717003723327158650160414585629156377105377981042268238009115128068647284842058580941389217719486879765050693201429429113889838056484357623838755122064862610523000913640904443148620178717854498605684105186434167185869441235312639062176300197730368459810115894186308640957099571818925280100097650944320280970404926328745009249692393203938840227272554123674695302631044434913702986515801058283271090127123796099897087317137676610905825203316063270578819473503484040024694238744921343874727047569964868884856638591295560681577171640761580927169874090924511877827767400159532326594953264426345000925832639887973887313804800518315265361015498294265772496644293928456466165194926377856706055845166113706651384564411623138294924210085944808116449680176156598155184102504321958071466407703325199661928311414437367113157428129548692444680459374115500194547069213273354118743445107294141105147322682544776664691128413176107581431602295556220065056894853878048843897114487680442439377878763497478012093635746206418878602106839097732601771895218844504982409958684530603225287896883718427783822299915707803598450259799668557634523465565229584733704313006884419391341272624114334217848126041516849819477627605207184866849985027660379707106615565192947514438136491868986914914585316154754421759710587387524216906506239125446207343578868377067881145154399083325923614266916080555747946485569693831233417568874491485797332940113781974517171055533721010892301043678605788122083416710085467328625148766347671919091576573428109755347513300817115786461129707448467283377364377822498488580972984723629284102889867344700298757280237311655880935175500703186264132468302108227300052445028610026595910512771595750614607403405757137291914358271497077201569972839398300306102852409119596653307104793203694040191663476643088620743052745378745888520083643015224671307334058181319011289631864489865057340183274873068537890879447186178247596318248101074554268352956152175565011503367488993961582739417786460846358532678561068389099529898998789901919371520023731609585617486219981230378533834193085532088776574654000919510043981109979688515338868263204820678737792067573536868289117339181953665851105937421680526755121079391363329378834655290819668008340849639113418656158485583003771805889815628878590605601394934909182348007576957175323236454171340134288095785038785533880061672409673982247954741384037344977784478668325352914874285186004008845552623562500753219503326928156815478867293873304621642785576926919871516589391426988093408822356326026374512828343437090038566748668916208855130457304431808150569709116431357911568733995659021202588246172408556182490961538754968094120117675167536639787607701632235985007872921323384563870909581824502684318217403268401679983189385225177460811129929636620358436259164135215072711102011735313628459955175963749005178572903408099788541101284489696691917522360810438234454239251437284401006854364962338529622906960000829120335605760620127533496952060856811986330156570914087899342625986060812867450418854347136848698233501428140449727093872222160246476268797554239947522698765655742683201683477689339177757880585065628636723892821797682654593092650365130503055308992254112990817760787981211227622168689857067756072501224306378219628049658815845454853662071495038945754866910931880852977843755330007530030085521351218087037164922768301078875084795245631690848740018601257032159485450998507040478535641186039408882798688502308112183978314000400570757381238962526344556588833641454639321004935727031706286142366658505510800858689812659831617070863062938317720456212261193964643727571992288188451204865168453675696150918583592373026932314628079185619353840264539914673851586347597556868625112954150890374991135181254877636132913430515113231961403957441669525053940815236022751248320325028809179393582807903531313843700379648496188704465697911922729443287468607328488679029152375240140523986447890441596967234888459809379872296258174807953003103107121855313766062524349501754364649633366127034424961267691994692856795602806254191868476490311011275043530469367221561211775765742190294362246934290091250344042772008459472659571765357569851508886145400791605378195516613629477145213075433508909659616502474751757814069307377918458841382798822237366187722910683877691123649450207833279087169390866464061753779428128617605350080969743082033072520083274711527335020217109341893086837741857320296725699819745842941665183986766971761793356330163204513951845314790143600984589254532749147831595005013028639513315032305172030947819242198915759579249147940444280456278053299908059847986877257404056936513394527249687713699267146037562972141797925229970314971063876594232825607333133246746923436881486735328956168866880768987062626175093973234561696066457483397211429778781280076165041084186245945040116053071210181329652090022779403426064516293891360248130799221676406800886221263578900546494628693951798384323425166789350377644909871215051119853612714108624768066603763714472528299105924033880786514906999690303529226525099022371516732020578964428165929891880418311509158600744462885486399694701137310562543639319842062476124108361109261307318842383212407300008000160769073662397764222688142582866302936549166160951919961994250797998668189294398626999150324621890161228292863250102255336239929036622160154648642871604432981740155832121087760062694424058399109913358972103401417616192093045071022067815906200740406358192803871527413480579457751142108222887393126223053214171685042689472848857982383284600846889679649736425510090098592641518011087581015759246046507195324401102794479607716082798729804206129983324773272232949780901143057294735470574240777876860766915430870261256724287235407807494512174752266145885462607353864000208056380562747287752368328285192871431825795994338550980963179420106587622415171683650348296479270731623269126767721400874775070986919151353519817812468058571199180277728638848594954171386779739700709115736321124117934054534059181600429887844828546121576443586693436366721201541775599179250149300875682467891006879346790585960400959623165892550960704957793214634882275166101365297987640825745399698988965185030362986165721866106551510390481909003662316445894817517822752186056198544811776343686169896655147700411289034516058602212457256846324773528109202833767736968494043371773131570879420491958317892309430011146045025777615385761798329246003929430756008882597111584460263150284981551195450837552923098297524730915559561281959223378182994704609499648428217909015042453378472679205255640447060544105315469105989246647786156333035747415420871801207640063642290551534417733434826112525246785714247609170586899139222975595951949424058222657526508921960927804328013895719142233797416294189314703783312702650489174963283187819893876903405526902325745874664568362658111083047952458341748448769657437179403231898672610118323318166536667575241558047601254203277828345509642186746271329598067040957629970736596720826528641568258843607637184137648664849699087335099467425704040180452190753049447199764062429777444742958816121233296866351107930974071464074534583101831660028682709127413066081305155738884105489057173929784907146942622295821587438951699984824868986590594197346581700704854128422787017125494801953453010815741498655917213615077671833064204420166247762073484534867922150194274159271782559239784668577046981539923864948399426042707899502730985813201396217451366922061482784735037236229185926633998259133478298497939321433402397513086842049015606142392632290445259200705944939068795224173683960231426475130714941975439420931352583123526429443136074150142730305161740900703211255012539861474780207050338469762846167535280168432746676915992208096670002052844551985273871916729238125470267727248056864647069122930215166413788649886348057081231985809953006468834308322005749662217599445842712519360857466718985869345156328186519390445958979677742527756825501218658775242974160591025999856502158898081445003629552001569786743460489406384037837459275681735835592381437596456769751152232873953217481457872402529419568117873447268278433536807820366911667897602611913478024390894204169004875962181290689853810900462011829044406563327250226395694620004869375281517529703107968670443405872512384532864015064446927903789667266331084228303060435284866258554877702588916775607948777348411859310655825680787368440168715241944488772400039580646173782766087432894046185173192820461798913671393546500991637428761574418839901141341849954900533139163840350968226907859463882400114237212818703968744363238249871982565437919909325659589094453663769141550957182321710773738074824536446323533300412774515554678476263156969298442931079655048067098989590340089908204117765109794570392017497167484099519155294691326923169080428116697019659577058925409654967644392328245301083331972530310793754472730800639305281876291744512364467929737242127114524232590316133203266319260553073028377325616054552499637896030756666527456871164221611355836702623215891304053707119103939014115307433762636389772722984663776758928956042140611706502374809310182390189107175358725393777837778555397471713906508424735523643227183090513935442473247807043651111843548669224595089299010098132854412955821579726029577243488925274030282495622580379014335755339268575122159176008300035615225353223091599876055532699916417863371710275968296143084485388191426913675812737805156484154385616442727274419898540427356246332183837640398501825123775088428925732288684967303105413555107150878839696118810641407445157350340936630041142764363968651016576210331071127794356675321347159720032571464456335336673523948886723830873897123736044964542638194948271208419360600074628767138233034111917545394048628369969153622260563757713940570925884687932319611864041082710141028680666649405763691287291429368414544007411617753446601439650595816038717503905802255882292538642309661148450887253240189220920577649486485592525410698525990493605924554256018984482590498623717089987542373017988559073913440663028765179137713325354708787118734077040037046587792500468313442327694294503057376255672323051351154967762873124525468544005618885249110846910353602331362789590516227689826393535128183241140113679692411019330057173063668629643491769872424416486313296982121371665554002871546356681573226673488805894759062208695563871319565251769403865959585005725950133766724115097419097836813050384986281932347212697065578194301431119287888148590262454560065929470154722324783826043819824353374786715467456413853854545004447276663546162418051593792212710745328214689629916226562353542955439553631022164932632848704915532069546542432548097324885699305756593789184588128025894305954627414364572651300819996287245363492365388526948660862877530820182286055621239958276984305097929541638981259495763996664472225966586407129633683472115685808555813612733350237904756467714909895233929283019608910770465343000978771099362206275869784875799327692576977707544473418759499281623917332515289190691716541714273115549567363055740623709526023580719091181290390270646332442221594190940056420698365661472879300178399134125579837152049078352550793424854264295417115434215963395150739849486671971071620979020252593517097907391904697896307752320527882303247823030548591871831546345638614610807779661858654541991183932138426972292520991569979654557147369096879866855143062567840705056715560545506070161314124145943528361189110843367341686482640246754190077974097790496978693884630614762675962165459022216251972182630897004170799959891627084516280153300898488065217234838009727936675226181518280299453333375837849291769881213581580829627807484283563811898568922472858954187714856991408859000509989266879380742781774702002149975023213744137544922898400163168487873217355752625160490532570169615044474062555637599826833937185120569315245891311958316269164071844914008855249281282521893440282857577058496096122467172835951725070994789233405623125198647153294081617175594413404556548506963329428344899970151392312528461035070012308641473284847655796212274770135070161642656331971520231648425522105856913648212293390842433748546338194535065073837772477625051487169174687772169359030277959934641718882824077722581693811228289686670211047352874727566388420191312391427367337867353029552486387444831438632133083091027718580088048698873329126078266015300668469919148959403424043681502277876917284402352745713336572382681716387751192375059213221784222582979823872909473031779459198807355968113469982162021729945774980866456228736895132066574027997304531703979182566789600375424595819770467779578441399794615270613751582274484760093565303516344402909713167123080394147365233119800796825687858835269219358900744373306817092162516883493487449059968891329387470314893525518380554591403122844827433123014044364664715776674486425847826321648171407275796463712443510959382292261176251555317223742493316500780112837504624697566010707229187910233558051043842159055464492619158817952285953202939466802133692655410760128199280086010644290655327224553963248913647830063469295537503026262960637229135398556985677747506856346613296465245020081500267162736768276598453056686511013748230742595966565167560526684437807246029195885067715788418900548519891166849255633301703352021611941457043030639123456930164744154702302905219263369214104025886703221799313667376053793369964544200762402018742065135744185018222032080398158782333556862013703934890375300532462034389090910269879044060529239748530503680664904179797219641104165047663344460233340787909743638706257388859368040553050694616609920087476500575699562039468088545817094415796762087287886861132373854683443198628993059925741857617324900894813299684308844945155522048564955781026789645112995060143756652198834600991158878758876004412260728961666609011713399754719254177879346063448561700556234675880990381339058054191389541291345486269694458995008442624840814971710012742739616192392276959411278130643225086776078905737345010753833857914625677902783414723507024979577931812029970313364375663042301463588659811465047772030151507082021752112919890452063200479186335829681076079530670783992132957843201628972032108754775742765938303179644255822700863760780724988069830009696453765743129592508074254078552658986813556341230242725751043635258361366083180972270061648634040734468099222735403440760325539603769940629793579799699108043721588639926740566429549836113778622067902106414028637944835261126745329952343526621106690158497655212747627819789121611720319626432519882110608764466469761678587019789919129418180079093496187444194267789337016722349192054345267791048472890759374416287171333563241454174045997282069096314188055598425405652174170291072758360571007233174140431204415997002725922280272210275867574489930642997733375518988884604723535262054533079790953741114266899181598242365049066217753779158413764652678094259943757955426838764095593177024934368470185654495024748595848817651464616615170149738434436064626463201312181268793525381199954865958344232183534339318878714868550395982157934772953294650944210393297423364693646416932466156417052334147809555216967464104283019326122273200278762955358537515535419861105404649298820476579875935754522008061543676673106255688728390182759509583470921332720873174901283246565458309928884674488441593993070713235972024415242369971200267726332589968128910294026180780318131717121795927472136766507795212013471120359755054997416838751502464157489668730035740618151784230290689901491260443188755626143982241749837533046014853846370087756370224814223534685432978999868843654898714558401202662165952261154330173998511612984889571018254153328071822338600654337709394768071841450975060709469504080221597171708873346485453634332450664916170022511350334759193051816965939892306919993455407753726247563419020634077848745580963392786743574119180256955874368480184624900010459295499569230408468707460023863971795117153335952340506368471086642797529860784570312968712656437173856854931723882917210867347565648543732232601454057786808654429814925728367705288460331818930215975650467594807447268170448216513223165748177601021582216197438917563777752938249882867895223847458210184638743581650630365819049365656768402579107273950339744590318946991523108551687778815276559767238020923449823398957492700268443586493622105155002431051355478171704990559377364074589972852820997656847534391655451273072729938478109758422172087464708715834592101443774359404809691853580278182049220009692516500926403033368625176589044139478746702847146245845622530988025537543977148642154154342588031892923016921382156735732279993728840118222434510189719324852919029135177645298297040171554988042345328610686997428781132759263591742148886482825624640329165018692719743686510512362292155969283303982898979481671775912947625537426360936625548568190794188755341003385590555084298313172304774208971884128123096090772602791377202341974539285430338829775808532471635981109597341629518611287999824701624873776980468208501119522909270531737960271437002635537332049384778641110009373767589851086720149515553521375100979400564722821719310930475781959288547590703909561433376495577361740310359890750866363974429793854886479212664239776797378177380335549937432323499159875607364681475642305973272515102808405741949376484586739561727565575319369100497010155287454536282603065694449951743712772996226456348355580643641027535435333550906878077232833484057124440030232912883247380157042681469749502288053717078415125497266520420505752266435508952517126588087466157982837888750737357565534107431492207782909758408474363803438113362520314061950008001847457479456028484219436349929785406655138552992077656226379788628589815748099474098842094969679273305417977126672142338714811376585185058859898850563026524521598315620287545410485618282200320561151760581927456679110608435538180676461758845992547009851927390888764345143974659749688560238380138362693048046880809006954138605874199500306859621306474729306831221287657916877080708590848141718721181529876319874302181486713691607832375278106604800528219475081794971570702669263148532454120109742036206528359121162414149727382479454110157811299947578401669228454030051898869611947834331556886442314087301736646400162907895527503605831798173590123147593242511075087916699790090191298161183842822441613554203067725845269420431561950614943894890253237199395310392434996551014241276937861029330995695987189059885300425135299158668197215417468477741031849023462225765329046557073434203738105650434295383110903110377926268731034998583617050780749711482280948961985369399213032922190843598846740558912258129674691919689836272627616976368763362190981133795284137646669130843643039599570348209135451170919060081681771557015196819387590098849999628204704790109740211954324161956437573747709986861869726844623603484796159919994452831853962046172287214393566907880989409716619578509279894281314215056405818035886912320510860015305702335490439592608931203470776264630167373787738793260159012558427357616143336001759260921480999248390024261355351563526206870912366541269733567258556639133354089776548922366382080035395159179058221668433273453948526727124084503574125163737659532732140412488420359296839213306320474652565187176632205326594901391808032786490944334309486716854708547659598449433475464194993828532073032857545592890600790689776989909216704609784126830684266436170044654345659189558909220165073845260081685906532469702996017893138084705027325826065219388403558307121959948304605935449321808252555443836855448590363103396140220875595123799699712570285689364792541110288590098520934215364867418374237501546905326377713439390026899698652095506348068037141073682665239904874721610133200584167521034410960157318030574705111676464137000983935607984537242543578368928384306726029523305759291720350975794074942481366347168480088342713934925528793833896793085402446236942003649943803843218390045455161356955704553809930335266906732823555421097099735381855130867170225553861322890738852256838608273532795435041015297943336711486753109267849518125245048166864046993932212369980607184573269292456934808340367318177373028760570487544377268546419161527133136381709478509785749024066299563992914549702184703455744138694542822222288254180883998380292553852913586002779341431215827865312245265189628602258965902569822042992734388238129324784321580502755478758844687192992948585408758786185188369653930545419622823974466644938273453883837324734723633012467808837541593640531570292138961780795827749677630759196497924375957529048347890747218681460797641002345019620844842773043436142962084260572881939317707988906031218686544843288973907543105994981732769744573067918321622329476062451764051405592813214562707529120998123013136093243399515374015002823589780445063391886186704015158316025585525566003156208966560441273218381157448896013087004267146396955697187495429545054658854270198993168652861560902311409739081744951270963801250262443218054470371524531072255057566507040843733593433136069527282495283984324081698732309444763613276662343317572629344382876179116142833265842229629601716556159962000402605850535671773296485747837539266401832023644680669877562814518765898380455276148212061834895786265060129683016536681300247892504726416115604885825974965039190586409616479788246299427318561585574360327422713932585854509352218235144165571403818702235419360931387973351297166616185465146796944410007752756093420099543689231911824147418007364362013463086742105421909667832559402133869295194480861655217973218088127107554664974646898314123348014810876674674157767299857553037619057216412178979378023400914968331673463749126092056569513077095381050785116388732456414583777065618501136378814210824694120336870929288785618994947587993362784300351246755847341460585556926281855688266743556011338439731222300020966427891625808620542822505500518289096602233128157290187567933087979167255387920852602011349015735645291945647818373809648208913243720836427909270832060080668132298134664317612957142572114687932081714671550743614512488254916453376844607620728539646812982118745719658510438655504312678887534574284546037825891244239299210203532298167130923731294085365655498010828853385755040549916755773297922873098391839915860363536341603795878550214104596210114436333874526150935618052444201581373554688



Powered by MoniWiki
xhtml1 | css2 | rss