#796. x的排名
x的排名
题目描述
给定一棵n个结点的二叉搜索树,要求数值x在其中的排位。 约定二叉搜索树中最小的值排第1。
输入格式
第一行是一个整数 n, 表示二叉树的结点个数。 二叉树结点编号从 1到 n(1<= n <= 10) , 根结点为 1。 接下来有 n 行, 依次对应二叉树的 n 个结点。 每行有3个整数, 分别表示该结点的值、左儿子和右儿子的结点编号。 如果第2个(第3个) 数为-1 则表示没有左(右) 儿子。 最后一行一个整数 x。(数据保证输入的是二叉搜索树)
输出格式
一个整数表示 x 在二叉搜索树中的排位。 如果x不在树中,输出-1。
样例
输入样例 1
7
13 2 6
3 3 4
2 -1 -1
5 5 -1
4 -1 -1
15 -1 7
17 -1 -1
4
输出样例 1
3
输入样例 2
7
13 2 6
3 3 4
2 -1 -1
5 5 1
4 -1 -1
15 -1 7
17 -1 -1
4
输出样例 2
3711151923273135394347515559636771757983879195991031071111151191231271311351391431471511551591631671711751791831871911951992032072112152192232272312352392432472512552592632672712752792832872912952993033073113153193233273313353393433473513553593633673713753793833873913953994034074114154194234274314354394434474514554594634674714754794834874914954995035075115155195235275315355395435475515555595635675715755795835875915955996036076116156196236276316356396436476516556596636676716756796836876916956997037077117157197237277317357397437477517557597637677717757797837877917957998038078118158198238278318358398438478518558598638678718758798838878918958999039079119159199239279319359399439479519559599639679719759799839879919959991003100710111015101910231027103110351039104310471051105510591063106710711075107910831087109110951099110311071111111511191123112711311135113911431147115111551159116311671171117511791183118711911195119912031207121112151219122312271231123512391243124712511255125912631267127112751279128312871291129512991303130713111315131913231327133113351339134313471351135513591363136713711375137913831387139113951399140314071411141514191423142714311435143914431447145114551459146314671471147514791483148714911495149915031507151115151519152315271531153515391543154715511555155915631567157115751579158315871591159515991603160716111615161916231627163116351639164316471651165516591663166716711675167916831687169116951699170317071711171517191723172717311735173917431747175117551759176317671771177517791783178717911795179918031807181118151819182318271831183518391843184718511855185918631867187118751879188318871891189518991903190719111915191919231927193119351939194319471951195519591963196719711975197919831987199119951999200320072011201520192023202720312035203920432047205120552059206320672071207520792083208720912095209921032107211121152119212321272131213521392143214721512155215921632167217121752179218321872191219521992203220722112215221922232227223122352239224322472251225522592263226722712275227922832287229122952299230323072311231523192323232723312335233923432347235123552359236323672371237523792383238723912395239924032407241124152419242324272431243524392443244724512455245924632467247124752479248324872491249524992503250725112515251925232527253125352539254325472551255525592563256725712575257925832587259125952599260326072611261526192623262726312635263926432647265126552659266326672671267526792683268726912695269927032707271127152719272327272731273527392743274727512755275927632767277127752779278327872791279527992803280728112815281928232827283128352839284328472851285528592863286728712875287928832887289128952899290329072911291529192923292729312935293929432947295129552959296329672971297529792983298729912995299930033007301130153019302330273031303530393043304730513055305930633067307130753079308330873091309530993103310731113115311931233127313131353139314331473151315531593163316731713175317931833187319131953199320332073211321532193223322732313235323932433247325132553259326332673271327532793283328732913295329933033307331133153319332333273331333533393343334733513355335933633367337133753379338333873391339533993403340734113415341934233427343134353439344334473451345534593463346734713475347934833487349134953499350335073511351535193523352735313535353935433547355135553559356335673571357535793583358735913595359936033607361136153619362336273631363536393643364736513655365936633667367136753679368336873691369536993703370737113715371937233727373137353739374337473751375537593763376737713775377937833787379137953799380338073811381538193823382738313835383938433847385138553859386338673871387538793883388738913895389939033907391139153919392339273931393539393943394739513955395939633967397139753979398339873991399539994003400740114015401940234027403140354039404340474051405540594063406740714075407940834087409140954099410341074111411541194123412741314135413941434147415141554159416341674171417541794183418741914195419942034207421142154219422342274231423542394243424742514255425942634267427142754279428342874291429542994303430743114315431943234327433143354339434343474351435543594363436743714375437943834387439143954399440344074411441544194423442744314435443944434447445144554459446344674471447544794483448744914495449945034507451145154519452345274531453545394543454745514555455945634567457145754579458345874591459545994603460746114615461946234627463146354639464346474651465546594663466746714675467946834687469146954699470347074711471547194723472747314735473947434747475147554759476347674771477547794783478747914795479948034807481148154819482348274831483548394843484748514855485948634867487148754879488348874891489548994903490749114915491949234927493149354939494349474951495549594963496749714975497949834987499149954999500350075011501550195023502750315035503950435047505150555059506350675071507550795083508750915095509951035107511151155119512351275131513551395143514751515155515951635167517151755179518351875191519551995203520752115215521952235227523152355239524352475251525552595263526752715275527952835287529152955299530353075311531553195323532753315335533953435347535153555359536353675371537553795383538753915395539954035407541154155419542354275431543554395443544754515455545954635467547154755479548354875491549554995503550755115515551955235527553155355539554355475551555555595563556755715575557955835587559155955599560356075611561556195623562756315635563956435647565156555659566356675671567556795683568756915695569957035707571157155719572357275731573557395743574757515755575957635767577157755779578357875791579557995803580758115815581958235827583158355839584358475851585558595863586758715875587958835887589158955899590359075911591559195923592759315935593959435947595159555959596359675971597559795983598759915995599960036007601160156019602360276031603560396043604760516055605960636067607160756079608360876091609560996103610761116115611961236127613161356139614361476151615561596163616761716175617961836187619161956199620362076211621562196223622762316235623962436247625162556259626362676271627562796283628762916295629963036307631163156319632363276331633563396343634763516355635963636367637163756379638363876391639563996403640764116415641964236427643164356439644364476451645564596463646764716475647964836487649164956499650365076511651565196523652765316535653965436547655165556559656365676571657565796583658765916595659966036607661166156619662366276631663566396643664766516655665966636667667166756679668366876691669566996703670767116715671967236727673167356739674367476751675567596763676767716775677967836787679167956799680368076811681568196823682768316835683968436847685168556859686368676871687568796883688768916895689969036907691169156919692369276931693569396943694769516955695969636967697169756979698369876991699569997003700770117015701970237027703170357039704370477051705570597063706770717075707970837087709170957099710371077111711571197123712771317135713971437147715171557159716371677171717571797183718771917195719972037207721172157219722372277231723572397243724772517255725972637267727172757279728372877291729572997303730773117315731973237327733173357339734373477351735573597363736773717375737973837387739173957399740374077411741574197423742774317435743974437447745174557459746374677471747574797483748774917495749975037507751175157519752375277531753575397543754775517555755975637567757175757579758375877591759575997603760776117615761976237627763176357639764376477651765576597663766776717675767976837687769176957699770377077711771577197723772777317735773977437747775177557759776377677771777577797783778777917795779978037807781178157819782378277831783578397843784778517855785978637867787178757879788378877891789578997903790779117915791979237927793179357939794379477951795579597963796779717975797979837987799179957999800380078011801580198023802780318035803980438047805180558059806380678071807580798083808780918095809981038107811181158119812381278131813581398143814781518155815981638167817181758179818381878191819581998203820782118215821982238227823182358239824382478251825582598263826782718275827982838287829182958299830383078311831583198323832783318335833983438347835183558359836383678371837583798383838783918395839984038407841184158419842384278431843584398443844784518455845984638467847184758479848384878491849584998503850785118515851985238527853185358539854385478551855585598563856785718575857985838587859185958599860386078611861586198623862786318635863986438647865186558659866386678671867586798683868786918695869987038707871187158719872387278731873587398743874787518755875987638767877187758779878387878791879587998803880788118815881988238827883188358839884388478851885588598863886788718875887988838887889188958899890389078911891589198923892789318935893989438947895189558959896389678971897589798983898789918995899990039007901190159019902390279031903590399043904790519055905990639067907190759079908390879091909590999103910791119115911991239127913191359139914391479151915591599163916791719175917991839187919191959199920392079211921592199223922792319235923992439247925192559259926392679271927592799283928792919295929993039307931193159319932393279331933593399343934793519355935993639367937193759379938393879391939593999403940794119415941994239427943194359439944394479451945594599463946794719475947994839487949194959499950395079511951595199523952795319535953995439547955195559559956395679571957595799583958795919595959996039607961196159619962396279631963596399643964796519655965996639667967196759679968396879691969596999703970797119715971997239727973197359739974397479751975597599763976797719775977997839787979197959799980398079811981598199823982798319835983998439847985198559859986398679871987598799883988798919895989999039907991199159919992399279931993599399943994799519955995999639967997199759979998399879991999599991000310007100111001510019100231002710031100351003910043100471005110055100591006310067100711007510079100831008710091100951009910103101071011110115101191012310127101311013510139101431014710151101551015910163101671017110175101791018310187101911019510199102031020710211102151021910223102271023110235102391024310247102511025510259102631026710271102751027910283102871029110295102991030310307103111031510319103231032710331103351033910343103471035110355103591036310367103711037510379103831038710391103951039910403104071041110415104191042310427104311043510439104431044710451104551045910463104671047110475104791048310487104911049510499105031050710511105151051910523105271053110535105391054310547105511055510559105631056710571105751057910583105871059110595105991060310607106111061510619106231062710631106351063910643106471065110655106591066310667106711067510679106831068710691106951069910703107071071110715107191072310727107311073510739107431074710751107551075910763107671077110775107791078310787107911079510799108031080710811108151081910823108271083110835108391084310847108511085510859108631086710871108751087910883108871089110895108991090310907109111091510919109231092710931109351093910943109471095110955109591096310967109711097510979109831098710991109951099911003110071101111015110191102311027110311103511039110431104711051110551105911063110671107111075110791108311087110911109511099111031110711111111151111911123111271113111135111391114311147111511115511159111631116711171111751117911183111871119111195111991120311207112111121511219112231122711231112351123911243112471125111255112591126311267112711127511279112831128711291112951129911303113071131111315113191132311327113311133511339113431134711351113551135911363113671137111375113791138311387113911139511399114031140711411114151141911423114271143111435114391144311447114511145511459114631146711471114751147911483114871149111495114991150311507115111151511519115231152711531115351153911543115471155111555115591156311567115711157511579115831158711591115951159911603116071161111615116191162311627116311163511639116431164711651116551165911663116671167111675116791168311687116911169511699117031170711711117151171911723117271173111735117391174311747117511175511759117631176711771117751177911783117871179111795117991180311807118111181511819118231182711831118351183911843118471185111855118591186311867118711187511879118831188711891118951189911903119071191111915119191192311927119311193511939119431194711951119551195911963119671197111975119791198311987119911199511999120031200712011120151201912023120271203112035120391204312047120511205512059120631206712071120751207912083120871209112095120991210312107121111211512119121231212712131121351213912143121471215112155121591216312167121711217512179121831218712191121951219912203122071221112215122191222312227122311223512239122431224712251122551225912263122671227112275122791228312287122911229512299123031230712311123151231912323123271233112335123391234312347123511235512359123631236712371123751237912383123871239112395123991240312407124111241512419124231242712431124351243912443124471245112455124591246312467124711247512479124831248712491124951249912503125071251112515125191252312527125311253512539125431254712551125551255912563125671257112575125791258312587125911259512599126031260712611126151261912623126271263112635126391264312647126511265512659126631266712671126751267912683126871269112695126991270312707127111271512719127231272712731127351273912743127471275112755127591276312767127711277512779127831278712791127951279912803128071281112815128191282312827128311283512839128431284712851128551285912863128671287112875128791288312887128911289512899129031290712911129151291912923129271293112935129391294312947129511295512959129631296712971129751297912983129871299112995129991300313007130111301513019130231302713031130351303913043130471305113055130591306313067130711307513079130831308713091130951309913103131071311113115131191312313127131311313513139131431314713151131551315913163131671317113175131791318313187131911319513199132031320713211132151321913223132271323113235132391324313247132511325513259132631326713271132751327913283132871329113295132991330313307133111331513319133231332713331133351333913343133471335113355133591336313367133711337513379133831338713391133951339913403134071341113415134191342313427134311343513439134431344713451134551345913463134671347113475134791348313487134911349513499135031350713511135151351913523135271353113535135391354313547135511355513559135631356713571135751357913583135871359113595135991360313607136111361513619136231362713631136351363913643136471365113655136591366313667136711367513679136831368713691136951369913703137071371113715137191372313727137311373513739137431374713751137551375913763137671377113775137791378313787137911379513799138031380713811138151381913823138271383113835138391384313847138511385513859138631386713871138751387913883138871389113895138991390313907139111391513919139231392713931139351393913943139471395113955139591396313967139711397513979139831398713991139951399914003140071401114015140191402314027140311403514039140431404714051140551405914063140671407114075140791408314087140911409514099141031410714111141151411914123141271413114135141391414314147141511415514159141631416714171141751417914183141871419114195141991420314207142111421514219142231422714231142351423914243142471425114255142591426314267142711427514279142831428714291142951429914303143071431114315143191432314327143311433514339143431434714351143551435914363143671437114375143791438314387143911439514399144031440714411144151441914423144271443114435144391444314447144511445514459144631446714471144751447914483144871449114495144991450314507145111451514519145231452714531145351453914543145471455114555145591456314567145711457514579145831458714591145951459914603146071461114615146191462314627146311463514639146431464714651146551465914663146671467114675146791468314687146911469514699147031470714711147151471914723147271473114735147391474314747147511475514759147631476714771147751477914783147871479114795147991480314807148111481514819148231482714831148351483914843148471485114855148591486314867148711487514879148831488714891148951489914903149071491114915149191492314927149311493514939149431494714951149551495914963149671497114975149791498314987149911499514999150031500715011150151501915023150271503115035150391504315047150511505515059150631506715071150751507915083150871509115095150991510315107151111511515119151231512715131151351513915143151471515115155151591516315167151711517515179151831518715191151951519915203152071521115215152191522315227152311523515239152431524715251152551525915263152671527115275152791528315287152911529515299153031530715311153151531915323153271533115335153391534315347153511535515359153631536715371153751537915383153871539115395153991540315407154111541515419154231542715431154351543915443154471545115455154591546315467154711547515479154831548715491154951549915503155071551115515155191552315527155311553515539155431554715551155551555915563155671557115575155791558315587155911559515599156031560715611156151561915623156271563115635156391564315647156511565515659156631566715671156751567915683156871569115695156991570315707157111571515719157231572715731157351573915743157471575115755157591576315767157711577515779157831578715791157951579915803158071581115815158191582315827158311583515839158431584715851158551585915863158671587115875158791588315887158911589515899159031590715911159151591915923159271593115935159391594315947159511595515959159631596715971159751597915983159871599115995159991600316007160111601516019160231602716031160351603916043160471605116055160591606316067160711607516079160831608716091160951609916103161071611116115161191612316127161311613516139161431614716151161551615916163161671617116175161791618316187161911619516199162031620716211162151621916223162271623116235162391624316247162511625516259162631626716271162751627916283162871629116295162991630316307163111631516319163231632716331163351633916343163471635116355163591636316367163711637516379163831638716391163951639916403164071641116415164191642316427164311643516439164431644716451164551645916463164671647116475164791648316487164911649516499165031650716511165151651916523165271653116535165391654316547165511655516559165631656716571165751657916583165871659116595165991660316607166111661516619166231662716631166351663916643166471665116655166591666316667166711667516679166831668716691166951669916703167071671116715167191672316727167311673516739167431674716751167551675916763167671677116775167791678316787167911679516799168031680716811168151681916823168271683116835168391684316847168511685516859168631686716871168751687916883168871689116895168991690316907169111691516919169231692716931169351693916943169471695116955169591696316967169711697516979169831698716991169951699917003170071701117015170191702317027170311703517039170431704717051170551705917063170671707117075170791708317087170911709517099171031710717111171151711917123171271713117135171391714317147171511715517159171631716717171171751717917183171871719117195171991720317207172111721517219172231722717231172351723917243172471725117255172591726317267172711727517279172831728717291172951729917303173071731117315173191732317327173311733517339173431734717351173551735917363173671737117375173791738317387173911739517399174031740717411174151741917423174271743117435174391744317447174511745517459174631746717471174751747917483174871749117495174991750317507175111751517519175231752717531175351753917543175471755117555175591756317567175711757517579175831758717591175951759917603176071761117615176191762317627176311763517639176431764717651176551765917663176671767117675176791768317687176911769517699177031770717711177151771917723177271773117735177391774317747177511775517759177631776717771177751777917783177871779117795177991780317807178111781517819178231782717831178351783917843178471785117855178591786317867178711787517879178831788717891178951789917903179071791117915179191792317927179311793517939179431794717951179551795917963179671797117975179791798317987179911799517999180031800718011180151801918023180271803118035180391804318047180511805518059180631806718071180751807918083180871809118095180991810318107181111811518119181231812718131181351813918143181471815118155181591816318167181711817518179181831818718191181951819918203182071821118215182191822318227182311823518239182431824718251182551825918263182671827118275182791828318287182911829518299183031830718311183151831918323183271833118335183391834318347183511835518359183631836718371183751837918383183871839118395183991840318407184111841518419184231842718431184351843918443184471845118455184591846318467184711847518479184831848718491184951849918503185071851118515185191852318527185311853518539185431854718551185551855918563185671857118575185791858318587185911859518599186031860718611186151861918623186271863118635186391864318647186511865518659186631866718671186751867918683186871869118695186991870318707187111871518719187231872718731187351873918743187471875118755187591876318767187711877518779187831878718791187951879918803188071881118815188191882318827188311883518839188431884718851188551885918863188671887118875188791888318887188911889518899189031890718911189151891918923189271893118935189391894318947189511895518959189631896718971189751897918983189871899118995189991900319007190111901519019190231902719031190351903919043190471905119055190591906319067190711907519079190831908719091190951909919103191071911119115191191912319127191311913519139191431914719151191551915919163191671917119175191791918319187191911919519199192031920719211192151921919223192271923119235192391924319247192511925519259192631926719271192751927919283192871929119295192991930319307193111931519319193231932719331193351933919343193471935119355193591936319367193711937519379193831938719391193951939919403194071941119415194191942319427194311943519439194431944719451194551945919463194671947119475194791948319487194911949519499195031950719511195151951919523195271953119535195391954319547195511955519559195631956719571195751957919583195871959119595195991960319607196111961519619196231962719631196351963919643196471965119655196591966319667196711967519679196831968719691196951969919703197071971119715197191972319727197311973519739197431974719751197551975919763197671977119775197791978319787197911979519799198031980719811198151981919823198271983119835198391984319847198511985519859198631986719871198751987919883198871989119895198991990319907199111991519919199231992719931199351993919943199471995119955199591996319967199711997519979199831998719991199951999920003200072001120015200192002320027200312003520039200432004720051200552005920063200672007120075200792008320087200912009520099201032010720111201152011920123201272013120135201392014320147201512015520159201632016720171201752017920183201872019120195201992020320207202112021520219202232022720231202352023920243202472025120255202592026320267202712027520279202832028720291202952029920303203072031120315203192032320327203312033520339203432034720351203552035920363203672037120375203792038320387203912039520399204032040720411204152041920423204272043120435204392044320447204512045520459204632046720471204752047920483204872049120495204992050320507205112051520519205232052720531205352053920543205472055120555205592056320567205712057520579205832058720591205952059920603206072061120615206192062320627206312063520639206432064720651206552065920663206672067120675206792068320687206912069520699207032070720711207152071920723207272073120735207392074320747207512075520759207632076720771207752077920783207872079120795207992080320807208112081520819208232082720831208352083920843208472085120855208592086320867208712087520879208832088720891208952089920903209072091120915209192092320927209312093520939209432094720951209552095920963209672097120975209792098320987209912099520999210032100721011210152101921023210272103121035210392104321047210512105521059210632106721071210752107921083210872109121095210992110321107211112111521119211232112721131211352113921143211472115121155211592116321167211712117521179211832118721191211952119921203212072121121215212192122321227212312123521239212432124721251212552125921263212672127121275212792128321287212912129521299213032130721311213152131921323213272133121335213392134321347213512135521359213632136721371213752137921383213872139121395213992140321407214112141521419214232142721431214352143921443214472145121455214592146321467214712147521479214832148721491214952149921503215072151121515215192152321527215312153521539215432154721551215552155921563215672157121575215792158321587215912159521599216032160721611216152161921623216272163121635216392164321647216512165521659216632166721671216752167921683216872169121695216992170321707217112171521719217232172721731217352173921743217472175121755217592176321767217712177521779217832178721791217952179921803218072181121815218192182321827218312183521839218432184721851218552185921863218672187121875218792188321887218912189521899219032190721911219152191921923219272193121935219392194321947219512195521959219632196721971219752197921983219872199121995219992200322007220112201522019220232202722031220352203922043220472205122055220592206322067220712207522079220832208722091220952209922103221072211122115221192212322127221312213522139221432214722151221552215922163221672217122175221792218322187221912219522199222032220722211222152221922223222272223122235222392224322247222512225522259222632226722271222752227922283222872229122295222992230322307223112231522319223232232722331223352233922343223472235122355223592236322367223712237522379223832238722391223952239922403224072241122415224192242322427224312243522439224432244722451224552245922463224672247122475224792248322487224912249522499225032250722511225152251922523225272253122535225392254322547225512255522559225632256722571225752257922583225872259122595225992260322607226112261522619226232262722631226352263922643226472265122655226592266322667226712267522679226832268722691226952269922703227072271122715227192272322727227312273522739227432274722751227552275922763227672277122775227792278322787227912279522799228032280722811228152281922823228272283122835228392284322847228512285522859228632286722871228752287922883228872289122895228992290322907229112291522919229232292722931229352293922943229472295122955229592296322967229712297522979229832298722991229952299923003230072301123015230192302323027230312303523039230432304723051230552305923063230672307123075230792308323087230912309523099231032310723111231152311923123231272313123135231392314323147231512315523159231632316723171231752317923183231872319123195231992320323207232112321523219232232322723231232352323923243232472325123255232592326323267232712327523279232832328723291232952329923303233072331123315233192332323327233312333523339233432334723351233552335923363233672337123375233792338323387233912339523399234032340723411234152341923423234272343123435234392344323447234512345523459234632346723471234752347923483234872349123495234992350323507235112351523519235232352723531235352353923543235472355123555235592356323567235712357523579235832358723591235952359923603236072361123615236192362323627236312363523639236432364723651236552365923663236672367123675236792368323687236912369523699237032370723711237152371923723237272373123735237392374323747237512375523759237632376723771237752377923783237872379123795237992380323807238112381523819238232382723831238352383923843238472385123855238592386323867238712387523879238832388723891238952389923903239072391123915239192392323927239312393523939239432394723951239552395923963239672397123975239792398323987239912399523999240032400724011240152401924023240272403124035240392404324047240512405524059240632406724071240752407924083240872409124095240992410324107241112411524119241232412724131241352413924143241472415124155241592416324167241712417524179241832418724191241952419924203242072421124215242192422324227242312423524239242432424724251242552425924263242672427124275242792428324287242912429524299243032430724311243152431924323243272433124335243392434324347243512435524359243632436724371243752437924383243872439124395243992440324407244112441524419244232442724431244352443924443244472445124455244592446324467244712447524479244832448724491244952449924503245072451124515245192452324527245312453524539245432454724551245552455924563245672457124575245792458324587245912459524599246032460724611246152461924623246272463124635246392464324647246512465524659246632466724671246752467924683246872469124695246992470324707247112471524719247232472724731247352473924743247472475124755247592476324767247712477524779247832478724791247952479924803248072481124815248192482324827248312483524839248432484724851248552485924863248672487124875248792488324887248912489524899249032490724911249152491924923249272493124935249392494324947249512495524959249632496724971249752497924983249872499124995249992500325007250112501525019250232502725031250352503925043250472505125055250592506325067250712507525079250832508725091250952509925103251072511125115251192512325127251312513525139251432514725151251552515925163251672517125175251792518325187251912519525199252032520725211252152521925223252272523125235252392524325247252512525525259252632526725271252752527925283252872529125295252992530325307253112531525319253232532725331253352533925343253472535125355253592536325367253712537525379253832538725391253952539925403254072541125415254192542325427254312543525439254432544725451254552545925463254672547125475254792548325487254912549525499255032550725511255152551925523255272553125535255392554325547255512555525559255632556725571255752557925583255872559125595255992560325607256112561525619256232562725631256352563925643256472565125655256592566325667256712567525679256832568725691256952569925703257072571125715257192572325727257312573525739257432574725751257552575925763257672577125775257792578325787257912579525799258032580725811258152581925823258272583125835258392584325847258512585525859258632586725871258752587925883258872589125895258992590325907259112591525919259232592725931259352593925943259472595125955259592596325967259712597525979259832598725991259952599926003260072601126015260192602326027260312603526039260432604726051260552605926063260672607126075260792608326087260912609526099261032610726111261152611926123261272613126135261392614326147261512615526159261632616726171261752617926183261872619126195261992620326207262112621526219262232622726231262352623926243262472625126255262592626326267262712627526279262832628726291262952629926303263072631126315263192632326327263312633526339263432634726351263552635926363263672637126375263792638326387263912639526399264032640726411264152641926423264272643126435264392644326447264512645526459264632646726471264752647926483264872649126495264992650326507265112651526519265232652726531265352653926543265472655126555265592656326567265712657526579265832658726591265952659926603266072661126615266192662326627266312663526639266432664726651266552665926663266672667126675266792668326687266912669526699267032670726711267152671926723267272673126735267392674326747267512675526759267632676726771267752677926783267872679126795267992680326807268112681526819268232682726831268352683926843268472685126855268592686326867268712687526879268832688726891268952689926903269072691126915269192692326927269312693526939269432694726951269552695926963269672697126975269792698326987269912699526999270032700727011270152701927023270272703127035270392704327047270512705527059270632706727071270752707927083270872709127095270992710327107271112711527119271232712727131271352713927143271472715127155271592716327167271712717527179271832718727191271952719927203272072721127215272192722327227272312723527239272432724727251272552725927263272672727127275272792728327287272912729527299273032730727311273152731927323273272733127335273392734327347273512735527359273632736727371273752737927383273872739127395273992740327407274112741527419274232742727431274352743927443274472745127455274592746327467274712747527479274832748727491274952749927503275072751127515275192752327527275312753527539275432754727551275552755927563275672757127575275792758327587275912759527599276032760727611276152761927623276272763127635276392764327647276512765527659276632766727671276752767927683276872769127695276992770327707277112771527719277232772727731277352773927743277472775127755277592776327767277712777527779277832778727791277952779927803278072781127815278192782327827278312783527839278432784727851278552785927863278672787127875278792788327887278912789527899279032790727911279152791927923279272793127935279392794327947279512795527959279632796727971279752797927983279872799127995279992800328007280112801528019280232802728031280352803928043280472805128055280592806328067280712807528079280832808728091280952809928103281072811128115281192812328127281312813528139281432814728151281552815928163281672817128175281792818328187281912819528199282032820728211282152821928223282272823128235282392824328247282512825528259282632826728271282752827928283282872829128295282992830328307283112831528319283232832728331283352833928343283472835128355283592836328367283712837528379283832838728391283952839928403284072841128415284192842328427284312843528439284432844728451284552845928463284672847128475284792848328487284912849528499285032850728511285152851928523285272853128535285392854328547285512855528559285632856728571285752857928583285872859128595285992860328607286112861528619286232862728631286352863928643286472865128655286592866328667286712867528679286832868728691286952869928703287072871128715287192872328727287312873528739287432874728751287552875928763287672877128775287792878328787287912879528799288032880728811288152881928823288272883128835288392884328847288512885528859288632886728871288752887928883288872889128895288992890328907289112891528919289232892728931289352893928943289472895128955289592896328967289712897528979289832898728991289952899929003290072901129015290192902329027290312903529039290432904729051290552905929063290672907129075290792908329087290912909529099291032910729111291152911929123291272913129135291392914329147291512915529159291632916729171291752917929183291872919129195291992920329207292112921529219292232922729231292352923929243292472925129255292592926329267292712927529279292832928729291292952929929303293072931129315293192932329327293312933529339293432934729351293552935929363293672937129375293792938329387293912939529399294032940729411294152941929423294272943129435294392944329447294512945529459294632946729471294752947929483294872949129495294992950329507295112951529519295232952729531295352953929543295472955129555295592956329567295712957529579295832958729591295952959929603296072961129615296192962329627296312963529639296432964729651296552965929663296672967129675296792968329687296912969529699297032970729711297152971929723297272973129735297392974329747297512975529759297632976729771297752977929783297872979129795297992980329807298112981529819298232982729831298352983929843298472985129855298592986329867298712987529879298832988729891298952989929903299072991129915299192992329927299312993529939299432994729951299552995929963299672997129975299792998329987299912999529999300033000730011300153001930023300273003130035300393004330047300513005530059300633006730071300753007930083300873009130095300993010330107301113011530119301233012730131301353013930143301473015130155301593016330167301713017530179301833018730191301953019930203302073021130215302193022330227302313023530239302433024730251302553025930263302673027130275302793028330287302913029530299303033030730311303153031930323303273033130335303393034330347303513035530359303633036730371303753037930383303873039130395303993040330407304113041530419304233042730431304353043930443304473045130455304593046330467304713047530479304833048730491304953049930503305073051130515305193052330527305313053530539305433054730551305553055930563305673057130575305793058330587305913059530599306033060730611306153061930623306273063130635306393064330647306513065530659306633066730671306753067930683306873069130695306993070330707307113071530719307233072730731307353073930743307473075130755307593076330767307713077530779307833078730791307953079930803308073081130815308193082330827308313083530839308433084730851308553085930863308673087130875308793088330887308913089530899309033090730911309153091930923309273093130935309393094330947309513095530959309633096730971309753097930983309873099130995309993100331007310113101531019310233102731031310353103931043310473105131055310593106331067310713107531079310833108731091310953109931103311073111131115311193112331127311313113531139311433114731151311553115931163311673117131175311793118331187311913119531199312033120731211312153121931223312273123131235312393124331247312513125531259312633126731271312753127931283312873129131295312993130331307313113131531319313233132731331313353133931343313473135131355313593136331367313713137531379313833138731391313953139931403314073141131415314193142331427314313143531439314433144731451314553145931463314673147131475314793148331487314913149531499315033150731511315153151931523315273153131535315393154331547315513155531559315633156731571315753157931583315873159131595315993160331607316113161531619316233162731631316353163931643316473165131655316593166331667316713167531679316833168731691316953169931703317073171131715317193172331727317313173531739317433174731751317553175931763317673177131775317793178331787317913179531799318033180731811318153181931823318273183131835318393184331847318513185531859318633186731871318753187931883318873189131895318993190331907319113191531919319233192731931319353193931943319473195131955319593196331967319713197531979319833198731991319953199932003320073201132015320193202332027320313203532039320433204732051320553205932063320673207132075320793208332087320913209532099321033210732111321153211932123321273213132135321393214332147321513215532159321633216732171321753217932183321873219132195321993220332207322113221532219322233222732231322353223932243322473225132255322593226332267322713227532279322833228732291322953229932303323073231132315323193232332327323313233532339323433234732351323553235932363323673237132375323793238332387323913239532399324033240732411324153241932423324273243132435324393244332447324513245532459324633246732471324753247932483324873249132495324993250332507325113251532519325233252732531325353253932543325473255132555325593256332567325713257532579325833258732591325953259932603326073261132615326193262332627326313263532639326433264732651326553265932663326673267132675326793268332687326913269532699327033270732711327153271932723327273273132735327393274332747327513275532759327633276732771327753277932783327873279132795327993280332807328113281532819328233282732831328353283932843328473285132855328593286332867328713287532879328833288732891328953289932903329073291132915329193292332927329313293532939329433294732951329553295932963329673297132975329793298332987329913299532999330033300733011330153301933023330273303133035330393304333047330513305533059330633306733071330753307933083330873309133095330993310333107331113311533119331233312733131331353313933143331473315133155331593316333167331713317533179331833318733191331953319933203332073321133215332193322333227332313323533239332433324733251332553325933263332673327133275332793328333287332913329533299333033330733311333153331933323333273333133335333393334333347333513335533359333633336733371333753337933383333873339133395333993340333407334113341533419334233342733431334353343933443334473345133455334593346333467334713347533479334833348733491334953349933503335073351133515335193352333527335313353533539335433354733551335553355933563335673357133575335793358333587335913359533599336033360733611336153361933623336273363133635336393364333647336513365533659336633366733671336753367933683336873369133695336993370333707337113371533719337233372733731337353373933743337473375133755337593376333767337713377533779337833378733791337953379933803338073381133815338193382333827338313383533839338433384733851338553385933863338673387133875338793388333887338913389533899339033390733911339153391933923339273393133935339393394333947339513395533959339633396733971339753397933983339873399133995339993400334007340113401534019340233402734031340353403934043340473405134055340593406334067340713407534079340833408734091340953409934103341073411134115341193412334127341313413534139341433414734151341553415934163341673417134175341793418334187341913419534199342033420734211342153421934223342273423134235342393424334247342513425534259342633426734271342753427934283342873429134295342993430334307343113431534319343233432734331343353433934343343473435134355343593436334367343713437534379343833438734391343953439934403344073441134415344193442334427344313443534439344433444734451344553445934463344673447134475344793448334487344913449534499345033450734511345153451934523345273453134535345393454334547345513455534559345633456734571345753457934583345873459134595345993460334607346113461534619346233462734631346353463934643346473465134655346593466334667346713467534679346833468734691346953469934703347073471134715347193472334727347313473534739347433474734751347553475934763347673477134775347793478334787347913479534799348033480734811348153481934823348273483134835348393484334847348513485534859348633486734871348753487934883348873489134895348993490334907349113491534919349233492734931349353493934943349473495134955349593496334967349713497534979349833498734991349953499935003350073501135015350193502335027350313503535039350433504735051350553505935063350673507135075350793508335087350913509535099351033510735111351153511935123351273513135135351393514335147351513515535159351633516735171351753517935183351873519135195351993520335207352113521535219352233522735231352353523935243352473525135255352593526335267352713527535279352833528735291352953529935303353073531135315353193532335327353313533535339353433534735351353553535935363353673537135375353793538335387353913539535399354033540735411354153541935423354273543135435354393544335447354513545535459354633546735471354753547935483354873549135495354993550335507355113551535519355233552735531355353553935543355473555135555355593556335567355713557535579355833558735591355953559935603356073561135615356193562335627356313563535639356433564735651356553565935663356673567135675356793568335687356913569535699357033570735711357153571935723357273573135735357393574335747357513575535759357633576735771357753577935783357873579135795357993580335807358113581535819358233582735831358353583935843358473585135855358593586335867358713587535879358833588735891358953589935903359073591135915359193592335927359313593535939359433594735951359553595935963359673597135975359793598335987359913599535999360033600736011360153601936023360273603136035360393604336047360513605536059360633606736071360753607936083360873609136095360993610336107361113611536119361233612736131361353613936143361473615136155361593616336167361713617536179361833618736191361953619936203362073621136215362193622336227362313623536239362433624736251362553625936263362673627136275362793628336287362913629536299363033630736311363153631936323363273633136335363393634336347363513635536359363633636736371363753637936383363873639136395363993640336407364113641536419364233642736431364353643936443364473645136455364593646336467364713647536479364833648736491364953649936503365073651136515365193652336527365313653536539365433654736551365553655936563365673657136575365793658336587365913659536599366033660736611366153661936623366273663136635366393664336647366513665536659366633666736671366753667936683366873669136695366993670336707367113671536719367233672736731367353673936743367473675136755367593676336767367713677536779367833678736791367953679936803368073681136815368193682336827368313683536839368433684736851368553685936863368673687136875368793688336887368913689536899369033690736911369153691936923369273693136935369393694336947369513695536959369633696736971369753697936983369873699136995369993700337007370113701537019370233702737031370353703937043370473705137055370593706337067370713707537079370833708737091370953709937103371073711137115371193712337127371313713537139371433714737151371553715937163371673717137175371793718337187371913719537199372033720737211372153721937223372273723137235372393724337247372513725537259372633726737271372753727937283372873729137295372993730337307373113731537319373233732737331373353733937343373473735137355373593736337367373713737537379373833738737391373953739937403374073741137415374193742337427374313743537439374433744737451374553745937463374673747137475374793748337487374913749537499375033750737511375153751937523375273753137535375393754337547375513755537559375633756737571375753757937583375873759137595375993760337607376113761537619376233762737631376353763937643376473765137655376593766337667376713767537679376833768737691376953769937703377073771137715377193772337727377313773537739377433774737751377553775937763377673777137775377793778337787377913779537799378033780737811378153781937823378273783137835378393784337847378513785537859378633786737871378753787937883378873789137895378993790337907379113791537919379233792737931379353793937943379473795137955379593796337967379713797537979379833798737991379953799938003380073801138015380193802338027380313803538039380433804738051380553805938063380673807138075380793808338087380913809538099381033810738111381153811938123381273813138135381393814338147381513815538159381633816738171381753817938183381873819138195381993820338207382113821538219382233822738231382353823938243382473825138255382593826338267382713827538279382833828738291382953829938303383073831138315383193832338327383313833538339383433834738351383553835938363383673837138375383793838338387383913839538399384033840738411384153841938423384273843138435384393844338447384513845538459384633846738471384753847938483384873849138495384993850338507385113851538519385233852738531385353853938543385473855138555385593856338567385713857538579385833858738591385953859938603386073861138615386193862338627386313863538639386433864738651386553865938663386673867138675386793868338687386913869538699387033870738711387153871938723387273873138735387393874338747387513875538759387633876738771387753877938783387873879138795387993880338807388113881538819388233882738831388353883938843388473885138855388593886338867388713887538879388833888738891388953889938903389073891138915389193892338927389313893538939389433894738951389553895938963389673897138975389793898338987389913899538999390033900739011390153901939023390273903139035390393904339047390513905539059390633906739071390753907939083390873909139095390993910339107391113911539119391233912739131391353913939143391473915139155391593916339167391713917539179391833918739191391953919939203392073921139215392193922339227392313923539239392433924739251392553925939263392673927139275392793928339287392913929539299393033930739311393153931939323393273933139335393393934339347393513935539359393633936739371393753937939383393873939139395393993940339407394113941539419394233942739431394353943939443394473945139455394593946339467394713947539479394833948739491394953949939503395073951139515395193952339527395313953539539395433954739551395553955939563395673957139575395793958339587395913959539599396033960739611396153961939623396273963139635396393964339647396513965539659396633966739671396753967939683396873969139695396993970339707397113971539719397233972739731397353973939743397473975139755397593976339767397713977539779397833978739791397953979939803398073981139815398193982339827398313983539839398433984739851398553985939863398673987139875398793988339887398913989539899399033990739911399153991939923399273993139935399393994339947399513995539959399633996739971399753997939983399873999139995399994000340007400114001540019400234002740031400354003940043400474005140055400594006340067400714007540079400834008740091400954009940103401074011140115401194012340127401314013540139401434014740151401554015940163401674017140175401794018340187401914019540199402034020740211402154021940223402274023140235402394024340247402514025540259402634026740271402754027940283402874029140295402994030340307403114031540319403234032740331403354033940343403474035140355403594036340367403714037540379403834038740391403954039940403404074041140415404194042340427404314043540439404434044740451404554045940463404674047140475404794048340487404914049540499405034050740511405154051940523405274053140535405394054340547405514055540559405634056740571405754057940583405874059140595405994060340607406114061540619406234062740631406354063940643406474065140655406594066340667406714067540679406834068740691406954069940703407074071140715407194072340727407314073540739407434074740751407554075940763407674077140775407794078340787407914079540799408034080740811408154081940823408274083140835408394084340847408514085540859408634086740871408754087940883408874089140895408994090340907409114091540919409234092740931409354093940943409474095140955409594096340967409714097540979409834098740991409954099941003410074101141015410194102341027410314103541039410434104741051410554105941063410674107141075410794108341087410914109541099411034110741111411154111941123411274113141135411394114341147411514115541159411634116741171411754117941183411874119141195411994120341207412114121541219412234122741231412354123941243412474125141255412594126341267412714127541279412834128741291412954129941303413074131141315413194132341327413314133541339413434134741351413554135941363413674137141375413794138341387413914139541399414034140741411414154141941423414274143141435414394144341447414514145541459414634146741471414754147941483414874149141495414994150341507415114151541519415234152741531415354153941543415474155141555415594156341567415714157541579415834158741591415954159941603416074161141615416194162341627416314163541639416434164741651416554165941663416674167141675416794168341687416914169541699417034170741711417154171941723417274173141735417394174341747417514175541759417634176741771417754177941783417874179141795417994180341807418114181541819418234182741831418354183941843418474185141855418594186341867418714187541879418834188741891418954189941903419074191141915419194192341927419314193541939419434194741951419554195941963419674197141975419794198341987419914199541999420034200742011420154201942023420274203142035420394204342047420514205542059420634206742071420754207942083420874209142095420994210342107421114211542119421234212742131421354213942143421474215142155421594216342167421714217542179421834218742191421954219942203422074221142215422194222342227422314223542239422434224742251422554225942263422674227142275422794228342287422914229542299423034230742311423154231942323423274233142335423394234342347423514235542359423634236742371423754237942383423874239142395423994240342407424114241542419424234242742431424354243942443424474245142455424594246342467424714247542479424834248742491424954249942503425074251142515425194252342527425314253542539425434254742551425554255942563425674257142575425794258342587425914259542599426034260742611426154261942623426274263142635426394264342647426514265542659426634266742671426754267942683426874269142695426994270342707427114271542719427234272742731427354273942743427474275142755427594276342767427714277542779427834278742791427954279942803428074281142815428194282342827428314283542839428434284742851428554285942863428674287142875428794288342887428914289542899429034290742911429154291942923429274293142935429394294342947429514295542959429634296742971429754297942983429874299142995429994300343007430114301543019430234302743031430354303943043430474305143055430594306343067430714307543079430834308743091430954309943103431074311143115431194312343127431314313543139431434314743151431554315943163431674317143175431794318343187431914319543199432034320743211432154321943223432274323143235432394324343247432514325543259432634326743271432754327943283432874329143295432994330343307433114331543319433234332743331433354333943343433474335143355433594336343367433714337543379433834338743391433954339943403434074341143415434194342343427434314343543439434434344743451434554345943463434674347143475434794348343487434914349543499435034350743511435154351943523435274353143535435394354343547435514355543559435634356743571435754357943583435874359143595435994360343607436114361543619436234362743631436354363943643436474365143655436594366343667436714367543679436834368743691436954369943703437074371143715437194372343727437314373543739437434374743751437554375943763437674377143775437794378343787437914379543799438034380743811438154381943823438274383143835438394384343847438514385543859438634386743871438754387943883438874389143895438994390343907439114391543919439234392743931439354393943943439474395143955439594396343967439714397543979439834398743991439954399944003440074401144015440194402344027440314403544039440434404744051440554405944063440674407144075440794408344087440914409544099441034410744111441154411944123441274413144135441394414344147441514415544159441634416744171441754417944183441874419144195441994420344207442114421544219442234422744231442354423944243442474425144255442594426344267442714427544279442834428744291442954429944303443074431144315443194432344327443314433544339443434434744351443554435944363443674437144375443794438344387443914439544399444034440744411444154441944423444274443144435444394444344447444514445544459444634446744471444754447944483444874449144495444994450344507445114451544519445234452744531445354453944543445474455144555445594456344567445714457544579445834458744591445954459944603446074461144615446194462344627446314463544639446434464744651446554465944663446674467144675446794468344687446914469544699447034470744711447154471944723447274473144735447394474344747447514475544759447634476744771447754477944783447874479144795447994480344807448114481544819448234482744831448354483944843448474485144855448594486344867448714487544879448834488744891448954489944903449074491144915449194492344927449314493544939449434494744951449554495944963449674497144975449794498344987449914499544999450034500745011450154501945023450274503145035450394504345047450514505545059450634506745071450754507945083450874509145095450994510345107451114511545119451234512745131451354513945143451474515145155451594516345167451714517545179451834518745191451954519945203452074521145215452194522345227452314523545239452434524745251452554525945263452674527145275452794528345287452914529545299453034530745311453154531945323453274533145335453394534345347453514535545359453634536745371453754537945383453874539145395453994540345407454114541545419454234542745431454354543945443454474545145455454594546345467454714547545479454834548745491454954549945503455074551145515455194552345527455314553545539455434554745551455554555945563455674557145575455794558345587455914559545599456034560745611456154561945623456274563145635456394564345647456514565545659456634566745671456754567945683456874569145695456994570345707457114571545719457234572745731457354573945743457474575145755457594576345767457714577545779457834578745791457954579945803458074581145815458194582345827458314583545839458434584745851458554585945863458674587145875458794588345887458914589545899459034590745911459154591945923459274593145935459394594345947459514595545959459634596745971459754597945983459874599145995459994600346007460114601546019460234602746031460354603946043460474605146055460594606346067460714607546079460834608746091460954609946103461074611146115461194612346127461314613546139461434614746151461554615946163461674617146175461794618346187461914619546199462034620746211462154621946223462274623146235462394624346247462514625546259462634626746271462754627946283462874629146295462994630346307463114631546319463234632746331463354633946343463474635146355463594636346367463714637546379463834638746391463954639946403464074641146415464194642346427464314643546439464434644746451464554645946463464674647146475464794648346487464914649546499465034650746511465154651946523465274653146535465394654346547465514655546559465634656746571465754657946583465874659146595465994660346607466114661546619466234662746631466354663946643466474665146655466594666346667466714667546679466834668746691466954669946703467074671146715467194672346727467314673546739467434674746751467554675946763467674677146775467794678346787467914679546799468034680746811468154681946823468274683146835468394684346847468514685546859468634686746871468754687946883468874689146895468994690346907469114691546919469234692746931469354693946943469474695146955469594696346967469714697546979469834698746991469954699947003470074701147015470194702347027470314703547039470434704747051470554705947063470674707147075470794708347087470914709547099471034710747111471154711947123471274713147135471394714347147471514715547159471634716747171471754717947183471874719147195471994720347207472114721547219472234722747231472354723947243472474725147255472594726347267472714727547279472834728747291472954729947303473074731147315473194732347327473314733547339473434734747351473554735947363473674737147375473794738347387473914739547399474034740747411474154741947423474274743147435474394744347447474514745547459474634746747471474754747947483474874749147495474994750347507475114751547519475234752747531475354753947543475474755147555475594756347567475714757547579475834758747591475954759947603476074761147615476194762347627476314763547639476434764747651476554765947663476674767147675476794768347687476914769547699477034770747711477154771947723477274773147735477394774347747477514775547759477634776747771477754777947783477874779147795477994780347807478114781547819478234782747831478354783947843478474785147855478594786347867478714787547879478834788747891478954789947903479074791147915479194792347927479314793547939479434794747951479554795947963479674797147975479794798347987479914799547999480034800748011480154801948023480274803148035480394804348047480514805548059480634806748071480754807948083480874809148095480994810348107481114811548119481234812748131481354813948143481474815148155481594816348167481714817548179481834818748191481954819948203482074821148215482194822348227482314823548239482434824748251482554825948263482674827148275482794828348287482914829548299483034830748311483154831948323483274833148335483394834348347483514835548359483634836748371483754837948383483874839148395483994840348407484114841548419484234842748431484354843948443484474845148455484594846348467484714847548479484834848748491484954849948503485074851148515485194852348527485314853548539485434854748551485554855948563485674857148575485794858348587485914859548599486034860748611486154861948623486274863148635486394864348647486514865548659486634866748671486754867948683486874869148695486994870348707487114871548719487234872748731487354873948743487474875148755487594876348767487714877548779487834878748791487954879948803488074881148815488194882348827488314883548839488434884748851488554885948863488674887148875488794888348887488914889548899489034890748911489154891948923489274893148935489394894348947489514895548959489634896748971489754897948983489874899148995489994900349007490114901549019490234902749031490354903949043490474905149055490594906349067490714907549079490834908749091490954909949103491074911149115491194912349127491314913549139491434914749151491554915949163491674917149175491794918349187491914919549199492034920749211492154921949223492274923149235492394924349247492514925549259492634926749271492754927949283492874929149295492994930349307493114931549319493234932749331493354933949343493474935149355493594936349367493714937549379493834938749391493954939949403494074941149415494194942349427494314943549439494434944749451494554945949463494674947149475494794948349487494914949549499495034950749511495154951949523495274953149535495394954349547495514955549559495634956749571495754957949583495874959149595495994960349607496114961549619496234962749631496354963949643496474965149655496594966349667496714967549679496834968749691496954969949703497074971149715497194972349727497314973549739497434974749751497554975949763497674977149775497794978349787497914979549799498034980749811498154981949823498274983149835498394984349847498514985549859498634986749871498754987949883498874989149895498994990349907499114991549919499234992749931499354993949943499474995149955499594996349967499714997549979499834998749991499954999950003500075001150015500195002350027500315003550039500435004750051500555005950063500675007150075500795008350087500915009550099501035010750111501155011950123501275013150135501395014350147501515015550159501635016750171501755017950183501875019150195501995020350207502115021550219502235022750231502355023950243502475025150255502595026350267502715027550279502835028750291502955029950303503075031150315503195032350327503315033550339503435034750351503555035950363503675037150375503795038350387503915039550399504035040750411504155041950423504275043150435504395044350447504515045550459504635046750471504755047950483504875049150495504995050350507505115051550519505235052750531505355053950543505475055150555505595056350567505715057550579505835058750591505955059950603506075061150615506195062350627506315063550639506435064750651506555065950663506675067150675506795068350687506915069550699507035070750711507155071950723507275073150735507395074350747507515075550759507635076750771507755077950783507875079150795507995080350807508115081550819508235082750831508355083950843508475085150855508595086350867508715087550879508835088750891508955089950903509075091150915509195092350927509315093550939509435094750951509555095950963509675097150975509795098350987509915099550999510035100751011510155101951023510275103151035510395104351047510515105551059510635106751071510755107951083510875109151095510995110351107511115111551119511235112751131511355113951143511475115151155511595116351167511715117551179511835118751191511955119951203512075121151215512195122351227512315123551239512435124751251512555125951263512675127151275512795128351287512915129551299513035130751311513155131951323513275133151335513395134351347513515135551359513635136751371513755137951383513875139151395513995140351407514115141551419514235142751431514355143951443514475145151455514595146351467514715147551479514835148751491514955149951503515075151151515515195152351527515315153551539515435154751551515555155951563515675157151575515795158351587515915159551599516035160751611516155161951623516275163151635516395164351647516515165551659516635166751671516755167951683516875169151695516995170351707517115171551719517235172751731517355173951743517475175151755517595176351767517715177551779517835178751791517955179951803518075181151815518195182351827518315183551839518435184751851518555185951863518675187151875518795188351887518915189551899519035190751911519155191951923519275193151935519395194351947519515195551959519635196751971519755197951983519875199151995519995200352007520115201552019520235202752031520355203952043520475205152055520595206352067520715207552079520835208752091520955209952103521075211152115521195212352127521315213552139521435214752151521555215952163521675217152175521795218352187521915219552199522035220752211522155221952223522275223152235522395224352247522515225552259522635226752271522755227952283522875229152295522995230352307523115231552319523235232752331523355233952343523475235152355523595236352367523715237552379523835238752391523955239952403524075241152415524195242352427524315243552439524435244752451524555245952463524675247152475524795248352487524915249552499525035250752511525155251952523525275253152535525395254352547525515255552559525635256752571525755257952583525875259152595525995260352607526115261552619526235262752631526355263952643526475265152655526595266352667526715267552679526835268752691526955269952703527075271152715527195272352727527315273552739527435274752751527555275952763527675277152775527795278352787527915279552799528035280752811528155281952823528275283152835528395284352847528515285552859528635286752871528755287952883528875289152895528995290352907529115291552919529235292752931529355293952943529475295152955529595296352967529715297552979529835298752991529955299953003530075301153015530195302353027530315303553039530435304753051530555305953063530675307153075530795308353087530915309553099531035310753111531155311953123531275313153135531395314353147531515315553159531635316753171531755317953183531875319153195531995320353207532115321553219532235322753231532355323953243532475325153255532595326353267532715327553279532835328753291532955329953303533075331153315533195332353327533315333553339533435334753351533555335953363533675337153375533795338353387533915339553399534035340753411534155341953423534275343153435534395344353447534515345553459534635346753471534755347953483534875349153495534995350353507535115351553519535235352753531535355353953543535475355153555535595356353567535715357553579535835358753591535955359953603536075361153615536195362353627536315363553639536435364753651536555365953663536675367153675536795368353687536915369553699537035370753711537155371953723537275373153735537395374353747537515375553759537635376753771537755377953783537875379153795537995380353807538115381553819538235382753831538355383953843538475385153855538595386353867538715387553879538835388753891538955389953903539075391153915539195392353927539315393553939539435394753951539555395953963539675397153975539795398353987539915399553999540035400754011540155401954023540275403154035540395404354047540515405554059540635406754071540755407954083540875409154095540995410354107541115411554119541235412754131541355413954143541475415154155541595416354167541715417554179541835418754191541955419954203542075421154215542195422354227542315423554239542435424754251542555425954263542675427154275542795428354287542915429554299543035430754311543155431954323543275433154335543395434354347543515435554359543635436754371543755437954383543875439154395543995440354407544115441554419544235442754431544355443954443544475445154455544595446354467544715447554479544835448754491544955449954503545075451154515545195452354527545315453554539545435454754551545555455954563545675457154575545795458354587545915459554599546035460754611546155461954623546275463154635546395464354647546515465554659546635466754671546755467954683546875469154695546995470354707547115471554719547235472754731547355473954743547475475154755547595476354767547715477554779547835478754791547955479954803548075481154815548195482354827548315483554839548435484754851548555485954863548675487154875548795488354887548915489554899549035490754911549155491954923549275493154935549395494354947549515495554959549635496754971549755497954983549875499154995549995500355007550115501555019550235502755031550355503955043550475505155055550595506355067550715507555079550835508755091550955509955103551075511155115551195512355127551315513555139551435514755151551555515955163551675517155175551795518355187551915519555199552035520755211552155521955223552275523155235552395524355247552515525555259552635526755271552755527955283552875529155295552995530355307553115531555319553235532755331553355533955343553475535155355553595536355367553715537555379553835538755391553955539955403554075541155415554195542355427554315543555439554435544755451554555545955463554675547155475554795548355487554915549555499555035550755511555155551955523555275553155535555395554355547555515555555559555635556755571555755557955583555875559155595555995560355607556115561555619556235562755631556355563955643556475565155655556595566355667556715567555679556835568755691556955569955703557075571155715557195572355727557315573555739557435574755751557555575955763557675577155775557795578355787557915579555799558035580755811558155581955823558275583155835558395584355847558515585555859558635586755871558755587955883558875589155895558995590355907559115591555919559235592755931559355593955943559475595155955559595596355967559715597555979559835598755991559955599956003560075601156015560195602356027560315603556039560435604756051560555605956063560675607156075560795608356087560915609556099561035610756111561155611956123561275613156135561395614356147561515615556159561635616756171561755617956183561875619156195561995620356207562115621556219562235622756231562355623956243562475625156255562595626356267562715627556279562835628756291562955629956303563075631156315563195632356327563315633556339563435634756351563555635956363563675637156375563795638356387563915639556399564035640756411564155641956423564275643156435564395644356447564515645556459564635646756471564755647956483564875649156495564995650356507565115651556519565235652756531565355653956543565475655156555565595656356567565715657556579565835658756591565955659956603566075661156615566195662356627566315663556639566435664756651566555665956663566675667156675566795668356687566915669556699567035670756711567155671956723567275673156735567395674356747567515675556759567635676756771567755677956783567875679156795567995680356807568115681556819568235682756831568355683956843568475685156855568595686356867568715687556879568835688756891568955689956903569075691156915569195692356927569315693556939569435694756951569555695956963569675697156975569795698356987569915699556999570035700757011570155701957023570275703157035570395704357047570515705557059570635706757071570755707957083570875709157095570995710357107571115711557119571235712757131571355713957143571475715157155571595716357167571715717557179571835718757191571955719957203572075721157215572195722357227572315723557239572435724757251572555725957263572675727157275572795728357287572915729557299573035730757311573155731957323573275733157335573395734357347573515735557359573635736757371573755737957383573875739157395573995740357407574115741557419574235742757431574355743957443574475745157455574595746357467574715747557479574835748757491574955749957503575075751157515575195752357527575315753557539575435754757551575555755957563575675757157575575795758357587575915759557599576035760757611576155761957623576275763157635576395764357647576515765557659576635766757671576755767957683576875769157695576995770357707577115771557719577235772757731577355773957743577475775157755577595776357767577715777557779577835778757791577955779957803578075781157815578195782357827578315783557839578435784757851578555785957863578675787157875578795788357887578915789557899579035790757911579155791957923579275793157935579395794357947579515795557959579635796757971579755797957983579875799157995579995800358007580115801558019580235802758031580355803958043580475805158055580595806358067580715807558079580835808758091580955809958103581075811158115581195812358127581315813558139581435814758151581555815958163581675817158175581795818358187581915819558199582035820758211582155821958223582275823158235582395824358247582515825558259582635826758271582755827958283582875829158295582995830358307583115831558319583235832758331583355833958343583475835158355583595836358367583715837558379583835838758391583955839958403584075841158415584195842358427584315843558439584435844758451584555845958463584675847158475584795848358487584915849558499585035850758511585155851958523585275853158535585395854358547585515855558559585635856758571585755857958583585875859158595585995860358607586115861558619586235862758631586355863958643586475865158655586595866358667586715867558679586835868758691586955869958703587075871158715587195872358727587315873558739587435874758751587555875958763587675877158775587795878358787587915879558799588035880758811588155881958823588275883158835588395884358847588515885558859588635886758871588755887958883588875889158895588995890358907589115891558919589235892758931589355893958943589475895158955589595896358967589715897558979589835898758991589955899959003590075901159015590195902359027590315903559039590435904759051590555905959063590675907159075590795908359087590915909559099591035910759111591155911959123591275913159135591395914359147591515915559159591635916759171591755917959183591875919159195591995920359207592115921559219592235922759231592355923959243592475925159255592595926359267592715927559279592835928759291592955929959303593075931159315593195932359327593315933559339593435934759351593555935959363593675937159375593795938359387593915939559399594035940759411594155941959423594275943159435594395944359447594515945559459594635946759471594755947959483594875949159495594995950359507595115951559519595235952759531595355953959543595475955159555595595956359567595715957559579595835958759591595955959959603596075961159615596195962359627596315963559639596435964759651596555965959663596675967159675596795968359687596915969559699597035970759711597155971959723597275973159735597395974359747597515975559759597635976759771597755977959783597875979159795597995980359807598115981559819598235982759831598355983959843598475985159855598595986359867598715987559879598835988759891598955989959903599075991159915599195992359927599315993559939599435994759951599555995959963599675997159975599795998359987599915999559999600036000760011600156001960023600276003160035600396004360047600516005560059600636006760071600756007960083600876009160095600996010360107601116011560119601236012760131601356013960143601476015160155601596016360167601716017560179601836018760191601956019960203602076021160215602196022360227602316023560239602436024760251602556025960263602676027160275602796028360287602916029560299603036030760311603156031960323603276033160335603396034360347603516035560359603636036760371603756037960383603876039160395603996040360407604116041560419604236042760431604356043960443604476045160455604596046360467604716047560479604836048760491604956049960503605076051160515605196052360527605316053560539605436054760551605556055960563605676057160575605796058360587605916059560599606036060760611606156061960623606276063160635606396064360647606516065560659606636066760671606756067960683606876069160695606996070360707607116071560719607236072760731607356073960743607476075160755607596076360767607716077560779607836078760791607956079960803608076081160815608196082360827608316083560839608436084760851608556085960863608676087160875608796088360887608916089560899609036090760911609156091960923609276093160935609396094360947609516095560959609636096760971609756097960983609876099160995609996100361007610116101561019610236102761031610356103961043610476105161055610596106361067610716107561079610836108761091610956109961103611076111161115611196112361127611316113561139611436114761151611556115961163611676117161175611796118361187611916119561199612036120761211612156121961223612276123161235612396124361247612516125561259612636126761271612756127961283612876129161295612996130361307613116131561319613236132761331613356133961343613476135161355613596136361367613716137561379613836138761391613956139961403614076141161415614196142361427614316143561439614436144761451614556145961463614676147161475614796148361487614916149561499615036150761511615156151961523615276153161535615396154361547615516155561559615636156761571615756157961583615876159161595615996160361607616116161561619616236162761631616356163961643616476165161655616596166361667616716167561679616836168761691616956169961703617076171161715617196172361727617316173561739617436174761751617556175961763617676177161775617796178361787617916179561799618036180761811618156181961823618276183161835618396184361847618516185561859618636186761871618756187961883618876189161895618996190361907619116191561919619236192761931619356193961943619476195161955619596196361967619716197561979619836198761991619956199962003620076201162015620196202362027620316203562039620436204762051620556205962063620676207162075620796208362087620916209562099621036210762111621156211962123621276213162135621396214362147621516215562159621636216762171621756217962183621876219162195621996220362207622116221562219622236222762231622356223962243622476225162255622596226362267622716227562279622836228762291622956229962303623076231162315623196232362327623316233562339623436234762351623556235962363623676237162375623796238362387623916239562399624036240762411624156241962423624276243162435624396244362447624516245562459624636246762471624756247962483624876249162495624996250362507625116251562519625236252762531625356253962543625476255162555625596256362567625716257562579625836258762591625956259962603626076261162615626196262362627626316263562639626436264762651626556265962663626676267162675626796268362687626916269562699627036270762711627156271962723627276273162735627396274362747627516275562759627636276762771627756277962783627876279162795627996280362807628116281562819628236282762831628356283962843628476285162855628596286362867628716287562879628836288762891628956289962903629076291162915629196292362927629316293562939629436294762951629556295962963629676297162975629796298362987629916299562999630036300763011630156301963023630276303163035630396304363047630516305563059630636306763071630756307963083630876309163095630996310363107631116311563119631236312763131631356313963143631476315163155631596316363167631716317563179631836318763191631956319963203632076321163215632196322363227632316323563239632436324763251632556325963263632676327163275632796328363287632916329563299633036330763311633156331963323633276333163335633396334363347633516335563359633636336763371633756337963383633876339163395633996340363407634116341563419634236342763431634356343963443634476345163455634596346363467634716347563479634836348763491634956349963503635076351163515635196352363527635316353563539635436354763551635556355963563635676357163575635796358363587635916359563599636036360763611636156361963623636276363163635636396364363647636516365563659636636366763671636756367963683636876369163695636996370363707637116371563719637236372763731637356373963743637476375163755637596376363767637716377563779637836378763791637956379963803638076381163815638196382363827638316383563839638436384763851638556385963863638676387163875638796388363887638916389563899639036390763911639156391963923639276393163935639396394363947639516395563959639636396763971639756397963983639876399163995639996400364007640116401564019640236402764031640356403964043640476405164055640596406364067640716407564079640836408764091640956409964103641076411164115641196412364127641316413564139641436414764151641556415964163641676417164175641796418364187641916419564199642036420764211642156421964223642276423164235642396424364247642516425564259642636426764271642756427964283642876429164295642996430364307643116431564319643236432764331643356433964343643476435164355643596436364367643716437564379643836438764391643956439964403644076441164415644196442364427644316443564439644436444764451644556445964463644676447164475644796448364487644916449564499645036450764511645156451964523645276453164535645396454364547645516455564559645636456764571645756457964583645876459164595645996460364607646116461564619646236462764631646356463964643646476465164655646596466364667646716467564679646836468764691646956469964703647076471164715647196472364727647316473564739647436474764751647556475964763647676477164775647796478364787647916479564799648036480764811648156481964823648276483164835648396484364847648516485564859648636486764871648756487964883648876489164895648996490364907649116491564919649236492764931649356493964943649476495164955649596496364967649716497564979649836498764991649956499965003650076501165015650196502365027650316503565039650436504765051650556505965063650676507165075650796508365087650916509565099651036510765111651156511965123651276513165135651396514365147651516515565159651636516765171651756517965183651876519165195651996520365207652116521565219652236522765231652356523965243652476525165255652596526365267652716527565279652836528765291652956529965303653076531165315653196532365327653316533565339653436534765351653556535965363653676537165375653796538365387653916539565399654036540765411654156541965423654276543165435654396544365447654516545565459654636546765471654756547965483654876549165495654996550365507655116551565519655236552765531655356553965543655476555165555655596556365567655716557565579655836558765591655956559965603656076561165615656196562365627656316563565639656436564765651656556565965663656676567165675656796568365687656916569565699657036570765711657156571965723657276573165735657396574365747657516575565759657636576765771657756577965783657876579165795657996580365807658116581565819658236582765831658356583965843658476585165855658596586365867658716587565879658836588765891658956589965903659076591165915659196592365927659316593565939659436594765951659556595965963659676597165975659796598365987659916599565999660036600766011660156601966023660276603166035660396604366047660516605566059660636606766071660756607966083660876609166095660996610366107661116611566119661236612766131661356613966143661476615166155661596616366167661716617566179661836618766191661956619966203662076621166215662196622366227662316623566239662436624766251662556625966263662676627166275662796628366287662916629566299663036630766311663156631966323663276633166335663396634366347663516635566359663636636766371663756637966383663876639166395663996640366407664116641566419664236642766431664356643966443664476645166455664596646366467664716647566479664836648766491664956649966503665076651166515665196652366527665316653566539665436654766551665556655966563665676657166575665796658366587665916659566599666036660766611666156661966623666276663166635666396664366647666516665566659666636666766671666756667966683666876669166695666996670366707667116671566719667236672766731667356673966743667476675166755667596676366767667716677566779667836678766791667956679966803668076681166815668196682366827668316683566839668436684766851668556685966863668676687166875668796688366887668916689566899669036690766911669156691966923669276693166935669396694366947669516695566959669636696766971669756697966983669876699166995669996700367007670116701567019670236702767031670356703967043670476705167055670596706367067670716707567079670836708767091670956709967103671076711167115671196712367127671316713567139671436714767151671556715967163671676717167175671796718367187671916719567199672036720767211672156721967223672276723167235672396724367247672516725567259672636726767271672756727967283672876729167295672996730367307673116731567319673236732767331673356733967343673476735167355673596736367367673716737567379673836738767391673956739967403674076741167415674196742367427674316743567439674436744767451674556745967463674676747167475674796748367487674916749567499675036750767511675156751967523675276753167535675396754367547675516755567559675636756767571675756757967583675876759167595675996760367607676116761567619676236762767631676356763967643676476765167655676596766367667676716767567679676836768767691676956769967703677076771167715677196772367727677316773567739677436774767751677556775967763677676777167775677796778367787677916779567799678036780767811678156781967823678276783167835678396784367847678516785567859678636786767871678756787967883678876789167895678996790367907679116791567919679236792767931679356793967943679476795167955679596796367967679716797567979679836798767991679956799968003680076801168015680196802368027680316803568039680436804768051680556805968063680676807168075680796808368087680916809568099681036810768111681156811968123681276813168135681396814368147681516815568159681636816768171681756817968183681876819168195681996820368207682116821568219682236822768231682356823968243682476825168255682596826368267682716827568279682836828768291682956829968303683076831168315683196832368327683316833568339683436834768351683556835968363683676837168375683796838368387683916839568399684036840768411684156841968423684276843168435684396844368447684516845568459684636846768471684756847968483684876849168495684996850368507685116851568519685236852768531685356853968543685476855168555685596856368567685716857568579685836858768591685956859968603686076861168615686196862368627686316863568639686436864768651686556865968663686676867168675686796868368687686916869568699687036870768711687156871968723687276873168735687396874368747687516875568759687636876768771687756877968783687876879168795687996880368807688116881568819688236882768831688356883968843688476885168855688596886368867688716887568879688836888768891688956889968903689076891168915689196892368927689316893568939689436894768951689556895968963689676897168975689796898368987689916899568999690036900769011690156901969023690276903169035690396904369047690516905569059690636906769071690756907969083690876909169095690996910369107691116911569119691236912769131691356913969143691476915169155691596916369167691716917569179691836918769191691956919969203692076921169215692196922369227692316923569239692436924769251692556925969263692676927169275692796928369287692916929569299693036930769311693156931969323693276933169335693396934369347693516935569359693636936769371693756937969383693876939169395693996940369407694116941569419694236942769431694356943969443694476945169455694596946369467694716947569479694836948769491694956949969503695076951169515695196952369527695316953569539695436954769551695556955969563695676957169575695796958369587695916959569599696036960769611696156961969623696276963169635696396964369647696516965569659696636966769671696756967969683696876969169695696996970369707697116971569719697236972769731697356973969743697476975169755697596976369767697716977569779697836978769791697956979969803698076981169815698196982369827698316983569839698436984769851698556985969863698676987169875698796988369887698916989569899699036990769911699156991969923699276993169935699396994369947699516995569959699636996769971699756997969983699876999169995699997000370007700117001570019700237002770031700357003970043700477005170055700597006370067700717007570079700837008770091700957009970103701077011170115701197012370127701317013570139701437014770151701557015970163701677017170175701797018370187701917019570199702037020770211702157021970223702277023170235702397024370247702517025570259702637026770271702757027970283702877029170295702997030370307703117031570319703237032770331703357033970343703477035170355703597036370367703717037570379703837038770391703957039970403704077041170415704197042370427704317043570439704437044770451704557045970463704677047170475704797048370487704917049570499705037050770511705157051970523705277053170535705397054370547705517055570559705637056770571705757057970583705877059170595705997060370607706117061570619706237062770631706357063970643706477065170655706597066370667706717067570679706837068770691706957069970703707077071170715707197072370727707317073570739707437074770751707557075970763707677077170775707797078370787707917079570799708037080770811708157081970823708277083170835708397084370847708517085570859708637086770871708757087970883708877089170895708997090370907709117091570919709237092770931709357093970943709477095170955709597096370967709717097570979709837098770991709957099971003710077101171015710197102371027710317103571039710437104771051710557105971063710677107171075710797108371087710917109571099711037110771111711157111971123711277113171135711397114371147711517115571159711637116771171711757117971183711877119171195711997120371207712117121571219712237122771231712357123971243712477125171255712597126371267712717127571279712837128771291712957129971303713077131171315713197132371327713317133571339713437134771351713557135971363713677137171375713797138371387713917139571399714037140771411714157141971423714277143171435714397144371447714517145571459714637146771471714757147971483714877149171495714997150371507715117151571519715237152771531715357153971543715477155171555715597156371567715717157571579715837158771591715957159971603716077161171615716197162371627716317163571639716437164771651716557165971663716677167171675716797168371687716917169571699717037170771711717157171971723717277173171735717397174371747717517175571759717637176771771717757177971783717877179171795717997180371807718117181571819718237182771831718357183971843718477185171855718597186371867718717187571879718837188771891718957189971903719077191171915719197192371927719317193571939719437194771951719557195971963719677197171975719797198371987719917199571999720037200772011720157201972023720277203172035720397204372047720517205572059720637206772071720757207972083720877209172095720997210372107721117211572119721237212772131721357213972143721477215172155721597216372167721717217572179721837218772191721957219972203722077221172215722197222372227722317223572239722437224772251722557225972263722677227172275722797228372287722917229572299723037230772311723157231972323723277233172335723397234372347723517235572359723637236772371723757237972383723877239172395723997240372407724117241572419724237242772431724357243972443724477245172455724597246372467724717247572479724837248772491724957249972503725077251172515725197252372527725317253572539725437254772551725557255972563725677257172575725797258372587725917259572599726037260772611726157261972623726277263172635726397264372647726517265572659726637266772671726757267972683726877269172695726997270372707727117271572719727237272772731727357273972743727477275172755727597276372767727717277572779727837278772791727957279972803728077281172815728197282372827728317283572839728437284772851728557285972863728677287172875728797288372887728917289572899729037290772911729157291972923729277293172935729397294372947729517295572959729637296772971729757297972983729877299172995729997300373007730117301573019730237302773031730357303973043730477305173055730597306373067730717307573079730837308773091730957309973103731077311173115731197312373127731317313573139731437314773151731557315973163731677317173175731797318373187731917319573199732037320773211732157321973223732277323173235732397324373247732517325573259732637326773271732757327973283732877329173295732997330373307733117331573319733237332773331733357333973343733477335173355733597336373367733717337573379733837338773391733957339973403734077341173415734197342373427734317343573439734437344773451734557345973463734677347173475734797348373487734917349573499735037350773511735157351973523735277353173535735397354373547735517355573559735637356773571735757357973583735877359173595735997360373607736117361573619736237362773631736357363973643736477365173655736597366373667736717367573679736837368773691736957369973703737077371173715737197372373727737317373573739737437374773751737557375973763737677377173775737797378373787737917379573799738037380773811738157381973823738277383173835738397384373847738517385573859738637386773871738757387973883738877389173895738997390373907739117391573919739237392773931739357393973943739477395173955739597396373967739717397573979739837398773991739957399974003740077401174015740197402374027740317403574039740437404774051740557405974063740677407174075740797408374087740917409574099741037410774111741157411974123741277413174135741397414374147741517415574159741637416774171741757417974183741877419174195741997420374207742117421574219742237422774231742357423974243742477425174255742597426374267742717427574279742837428774291742957429974303743077431174315743197432374327743317433574339743437434774351743557435974363743677437174375743797438374387743917439574399744037440774411744157441974423744277443174435744397444374447744517445574459744637446774471744757447974483744877449174495744997450374507745117451574519745237452774531745357453974543745477455174555745597456374567745717457574579745837458774591745957459974603746077461174615746197462374627746317463574639746437464774651746557465974663746677467174675746797468374687746917469574699747037470774711747157471974723747277473174735747397474374747747517475574759747637476774771747757477974783747877479174795747997480374807748117481574819748237482774831748357483974843748477485174855748597486374867748717487574879748837488774891748957489974903749077491174915749197492374927749317493574939749437494774951749557495974963749677497174975749797498374987749917499574999750037500775011750157501975023750277503175035750397504375047750517505575059750637506775071750757507975083750877509175095750997510375107751117511575119751237512775131751357513975143751477515175155751597516375167751717517575179751837518775191751957519975203752077521175215752197522375227752317523575239752437524775251752557525975263752677527175275752797528375287752917529575299753037530775311753157531975323753277533175335753397534375347753517535575359753637536775371753757537975383753877539175395753997540375407754117541575419754237542775431754357543975443754477545175455754597546375467754717547575479754837548775491754957549975503755077551175515755197552375527755317553575539755437554775551755557555975563755677557175575755797558375587755917559575599756037560775611756157561975623756277563175635756397564375647756517565575659756637566775671756757567975683756877569175695756997570375707757117571575719757237572775731757357573975743757477575175755757597576375767757717577575779757837578775791757957579975803758077581175815758197582375827758317583575839758437584775851758557585975863758677587175875758797588375887758917589575899759037590775911759157591975923759277593175935759397594375947759517595575959759637596775971759757597975983759877599175995759997600376007760117601576019760237602776031760357603976043760477605176055760597606376067760717607576079760837608776091760957609976103761077611176115761197612376127761317613576139761437614776151761557615976163761677617176175761797618376187761917619576199762037620776211762157621976223762277623176235762397624376247762517625576259762637626776271762757627976283762877629176295762997630376307763117631576319763237632776331763357633976343763477635176355763597636376367763717637576379763837638776391763957639976403764077641176415764197642376427764317643576439764437644776451764557645976463764677647176475764797648376487764917649576499765037650776511765157651976523765277653176535765397654376547765517655576559765637656776571765757657976583765877659176595765997660376607766117661576619766237662776631766357663976643766477665176655766597666376667766717667576679766837668776691766957669976703767077671176715767197672376727767317673576739767437674776751767557675976763767677677176775767797678376787767917679576799768037680776811768157681976823768277683176835768397684376847768517685576859768637686776871768757687976883768877689176895768997690376907769117691576919769237692776931769357693976943769477695176955769597696376967769717697576979769837698776991769957699977003770077701177015770197702377027770317703577039770437704777051770557705977063770677707177075770797708377087770917709577099771037710777111771157711977123771277713177135771397714377147771517715577159771637716777171771757717977183771877719177195771997720377207772117721577219772237722777231772357723977243772477725177255772597726377267772717727577279772837728777291772957729977303773077731177315773197732377327773317733577339773437734777351773557735977363773677737177375773797738377387773917739577399774037740777411774157741977423774277743177435774397744377447774517745577459774637746777471774757747977483774877749177495774997750377507775117751577519775237752777531775357753977543775477755177555775597756377567775717757577579775837758777591775957759977603776077761177615776197762377627776317763577639776437764777651776557765977663776677767177675776797768377687776917769577699777037770777711777157771977723777277773177735777397774377747777517775577759777637776777771777757777977783777877779177795777997780377807778117781577819778237782777831778357783977843778477785177855778597786377867778717787577879778837788777891778957789977903779077791177915779197792377927779317793577939779437794777951779557795977963779677797177975779797798377987779917799577999780037800778011780157801978023780277803178035780397804378047780517805578059780637806778071780757807978083780877809178095780997810378107781117811578119781237812778131781357813978143781477815178155781597816378167781717817578179781837818778191781957819978203782077821178215782197822378227782317823578239782437824778251782557825978263782677827178275782797828378287782917829578299783037830778311783157831978323783277833178335783397834378347783517835578359783637836778371783757837978383783877839178395783997840378407784117841578419784237842778431784357843978443784477845178455784597846378467784717847578479784837848778491784957849978503785077851178515785197852378527785317853578539785437854778551785557855978563785677857178575785797858378587785917859578599786037860778611786157861978623786277863178635786397864378647786517865578659786637866778671786757867978683786877869178695786997870378707787117871578719787237872778731787357873978743787477875178755787597876378767787717877578779787837878778791787957879978803788077881178815788197882378827788317883578839788437884778851788557885978863788677887178875788797888378887788917889578899789037890778911789157891978923789277893178935789397894378947789517895578959789637896778971789757897978983789877899178995789997900379007790117901579019790237902779031790357903979043790477905179055790597906379067790717907579079790837908779091790957909979103791077911179115791197912379127791317913579139791437914779151791557915979163791677917179175791797918379187791917919579199792037920779211792157921979223792277923179235792397924379247792517925579259792637926779271792757927979283792877929179295792997930379307793117931579319793237932779331793357933979343793477935179355793597936379367793717937579379793837938779391793957939979403794077941179415794197942379427794317943579439794437944779451794557945979463794677947179475794797948379487794917949579499795037950779511795157951979523795277953179535795397954379547795517955579559795637956779571795757957979583795877959179595795997960379607796117961579619796237962779631796357963979643796477965179655796597966379667796717967579679796837968779691796957969979703797077971179715797197972379727797317973579739797437974779751797557975979763797677977179775797797978379787797917979579799798037980779811798157981979823798277983179835798397984379847798517985579859798637986779871798757987979883798877989179895798997990379907799117991579919799237992779931799357993979943799477995179955799597996379967799717997579979799837998779991799957999980003800078001180015800198002380027800318003580039800438004780051800558005980063800678007180075800798008380087800918009580099801038010780111801158011980123801278013180135801398014380147801518015580159801638016780171801758017980183801878019180195801998020380207802118021580219802238022780231802358023980243802478025180255802598026380267802718027580279802838028780291802958029980303803078031180315803198032380327803318033580339803438034780351803558035980363803678037180375803798038380387803918039580399804038040780411804158041980423804278043180435804398044380447804518045580459804638046780471804758047980483804878049180495804998050380507805118051580519805238052780531805358053980543805478055180555805598056380567805718057580579805838058780591805958059980603806078061180615806198062380627806318063580639806438064780651806558065980663806678067180675806798068380687806918069580699807038070780711807158071980723807278073180735807398074380747807518075580759807638076780771807758077980783807878079180795807998080380807808118081580819808238082780831808358083980843808478085180855808598086380867808718087580879808838088780891808958089980903809078091180915809198092380927809318093580939809438094780951809558095980963809678097180975809798098380987809918099580999810038100781011810158101981023810278103181035810398104381047810518105581059810638106781071810758107981083810878109181095810998110381107811118111581119811238112781131811358113981143811478115181155811598116381167811718117581179811838118781191811958119981203812078121181215812198122381227812318123581239812438124781251812558125981263812678127181275812798128381287812918129581299813038130781311813158131981323813278133181335813398134381347813518135581359813638136781371813758137981383813878139181395813998140381407814118141581419814238142781431814358143981443814478145181455814598146381467814718147581479814838148781491814958149981503815078151181515815198152381527815318153581539815438154781551815558155981563815678157181575815798158381587815918159581599816038160781611816158161981623816278163181635816398164381647816518165581659816638166781671816758167981683816878169181695816998170381707817118171581719817238172781731817358173981743817478175181755817598176381767817718177581779817838178781791817958179981803818078181181815818198182381827818318183581839818438184781851818558185981863818678187181875818798188381887818918189581899819038190781911819158191981923819278193181935819398194381947819518195581959819638196781971819758197981983819878199181995819998200382007820118201582019820238202782031820358203982043820478205182055820598206382067820718207582079820838208782091820958209982103821078211182115821198212382127821318213582139821438214782151821558215982163821678217182175821798218382187821918219582199822038220782211822158221982223822278223182235822398224382247822518225582259822638226782271822758227982283822878229182295822998230382307823118231582319823238232782331823358233982343823478235182355823598236382367823718237582379823838238782391823958239982403824078241182415824198242382427824318243582439824438244782451824558245982463824678247182475824798248382487824918249582499825038250782511825158251982523825278253182535825398254382547825518255582559825638256782571825758257982583825878259182595825998260382607826118261582619826238262782631826358263982643826478265182655826598266382667826718267582679826838268782691826958269982703827078271182715827198272382727827318273582739827438274782751827558275982763827678277182775827798278382787827918279582799828038280782811828158281982823828278283182835828398284382847828518285582859828638286782871828758287982883828878289182895828998290382907829118291582919829238292782931829358293982943829478295182955829598296382967829718297582979829838298782991829958299983003830078301183015830198302383027830318303583039830438304783051830558305983063830678307183075830798308383087830918309583099831038310783111831158311983123831278313183135831398314383147831518315583159831638316783171831758317983183831878319183195831998320383207832118321583219832238322783231832358323983243832478325183255832598326383267832718327583279832838328783291832958329983303833078331183315833198332383327833318333583339833438334783351833558335983363833678337183375833798338383387833918339583399834038340783411834158341983423834278343183435834398344383447834518345583459834638346783471834758347983483834878349183495834998350383507835118351583519835238352783531835358353983543835478355183555835598356383567835718357583579835838358783591835958359983603836078361183615836198362383627836318363583639836438364783651836558365983663836678367183675836798368383687836918369583699837038370783711837158371983723837278373183735837398374383747837518375583759837638376783771837758377983783837878379183795837998380383807838118381583819838238382783831838358383983843838478385183855838598386383867838718387583879838838388783891838958389983903839078391183915839198392383927839318393583939839438394783951839558395983963839678397183975839798398383987839918399583999840038400784011840158401984023840278403184035840398404384047840518405584059840638406784071840758407984083840878409184095840998410384107841118411584119841238412784131841358413984143841478415184155841598416384167841718417584179841838418784191841958419984203842078421184215842198422384227842318423584239842438424784251842558425984263842678427184275842798428384287842918429584299843038430784311843158431984323843278433184335843398434384347843518435584359843638436784371843758437984383843878439184395843998440384407844118441584419844238442784431844358443984443844478445184455844598446384467844718447584479844838448784491844958449984503845078451184515845198452384527845318453584539845438454784551845558455984563845678457184575845798458384587845918459584599846038460784611846158461984623846278463184635846398464384647846518465584659846638466784671846758467984683846878469184695846998470384707847118471584719847238472784731847358473984743847478475184755847598476384767847718477584779847838478784791847958479984803848078481184815848198482384827848318483584839848438484784851848558485984863848678487184875848798488384887848918489584899849038490784911849158491984923849278493184935849398494384947849518495584959849638496784971849758497984983849878499184995849998500385007850118501585019850238502785031850358503985043850478505185055850598506385067850718507585079850838508785091850958509985103851078511185115851198512385127851318513585139851438514785151851558515985163851678517185175851798518385187851918519585199852038520785211852158521985223852278523185235852398524385247852518525585259852638526785271852758527985283852878529185295852998530385307853118531585319853238532785331853358533985343853478535185355853598536385367853718537585379853838538785391853958539985403854078541185415854198542385427854318543585439854438544785451854558545985463854678547185475854798548385487854918549585499855038550785511855158551985523855278553185535855398554385547855518555585559855638556785571855758557985583855878559185595855998560385607856118561585619856238562785631856358563985643856478565185655856598566385667856718567585679856838568785691856958569985703857078571185715857198572385727857318573585739857438574785751857558575985763857678577185775857798578385787857918579585799858038580785811858158581985823858278583185835858398584385847858518585585859858638586785871858758587985883858878589185895858998590385907859118591585919859238592785931859358593985943859478595185955859598596385967859718597585979859838598785991859958599986003860078601186015860198602386027860318603586039860438604786051860558605986063860678607186075860798608386087860918609586099861038610786111861158611986123861278613186135861398614386147861518615586159861638616786171861758617986183861878619186195861998620386207862118621586219862238622786231862358623986243862478625186255862598626386267862718627586279862838628786291862958629986303863078631186315863198632386327863318633586339863438634786351863558635986363863678637186375863798638386387863918639586399864038640786411864158641986423864278643186435864398644386447864518645586459864638646786471864758647986483864878649186495864998650386507865118651586519865238652786531865358653986543865478655186555865598656386567865718657586579865838658786591865958659986603866078661186615866198662386627866318663586639866438664786651866558665986663866678667186675866798668386687866918669586699867038670786711867158671986723867278673186735867398674386747867518675586759867638676786771867758677986783867878679186795867998680386807868118681586819868238682786831868358683986843868478685186855868598686386867868718687586879868838688786891868958689986903869078691186915869198692386927869318693586939869438694786951869558695986963869678697186975869798698386987869918699586999870038700787011870158701987023870278703187035870398704387047870518705587059870638706787071870758707987083870878709187095870998710387107871118711587119871238712787131871358713987143871478715187155871598716387167871718717587179871838718787191871958719987203872078721187215872198722387227872318723587239872438724787251872558725987263872678727187275872798728387287872918729587299873038730787311873158731987323873278733187335873398734387347873518735587359873638736787371873758737987383873878739187395873998740387407874118741587419874238742787431874358743987443874478745187455874598746387467874718747587479874838748787491874958749987503875078751187515875198752387527875318753587539875438754787551875558755987563875678757187575875798758387587875918759587599876038760787611876158761987623876278763187635876398764387647876518765587659876638766787671876758767987683876878769187695876998770387707877118771587719877238772787731877358773987743877478775187755877598776387767877718777587779877838778787791877958779987803878078781187815878198782387827878318783587839878438784787851878558785987863878678787187875878798788387887878918789587899879038790787911879158791987923879278793187935879398794387947879518795587959879638796787971879758797987983879878799187995879998800388007880118801588019880238802788031880358803988043880478805188055880598806388067880718807588079880838808788091880958809988103881078811188115881198812388127881318813588139881438814788151881558815988163881678817188175881798818388187881918819588199882038820788211882158821988223882278823188235882398824388247882518825588259882638826788271882758827988283882878829188295882998830388307883118831588319883238832788331883358833988343883478835188355883598836388367883718837588379883838838788391883958839988403884078841188415884198842388427884318843588439884438844788451884558845988463884678847188475884798848388487884918849588499885038850788511885158851988523885278853188535885398854388547885518855588559885638856788571885758857988583885878859188595885998860388607886118861588619886238862788631886358863988643886478865188655886598866388667886718867588679886838868788691886958869988703887078871188715887198872388727887318873588739887438874788751887558875988763887678877188775887798878388787887918879588799888038880788811888158881988823888278883188835888398884388847888518885588859888638886788871888758887988883888878889188895888998890388907889118891588919889238892788931889358893988943889478895188955889598896388967889718897588979889838898788991889958899989003890078901189015890198902389027890318903589039890438904789051890558905989063890678907189075890798908389087890918909589099891038910789111891158911989123891278913189135891398914389147891518915589159891638916789171891758917989183891878919189195891998920389207892118921589219892238922789231892358923989243892478925189255892598926389267892718927589279892838928789291892958929989303893078931189315893198932389327893318933589339893438934789351893558935989363893678937189375893798938389387893918939589399894038940789411894158941989423894278943189435894398944389447894518945589459894638946789471894758947989483894878949189495894998950389507895118951589519895238952789531895358953989543895478955189555895598956389567895718957589579895838958789591895958959989603896078961189615896198962389627896318963589639896438964789651896558965989663896678967189675896798968389687896918969589699897038970789711897158971989723897278973189735897398974389747897518975589759897638976789771897758977989783897878979189795897998980389807898118981589819898238982789831898358983989843898478985189855898598986389867898718987589879898838988789891898958989989903899078991189915899198992389927899318993589939899438994789951899558995989963899678997189975899798998389987899918999589999900039000790011900159001990023900279003190035900399004390047900519005590059900639006790071900759007990083900879009190095900999010390107901119011590119901239012790131901359013990143901479015190155901599016390167901719017590179901839018790191901959019990203902079021190215902199022390227902319023590239902439024790251902559025990263902679027190275902799028390287902919029590299903039030790311903159031990323903279033190335903399034390347903519035590359903639036790371903759037990383903879039190395903999040390407904119041590419904239042790431904359043990443904479045190455904599046390467904719047590479904839048790491904959049990503905079051190515905199052390527905319053590539905439054790551905559055990563905679057190575905799058390587905919059590599906039060790611906159061990623906279063190635906399064390647906519065590659906639066790671906759067990683906879069190695906999070390707907119071590719907239072790731907359073990743907479075190755907599076390767907719077590779907839078790791907959079990803908079081190815908199082390827908319083590839908439084790851908559085990863908679087190875908799088390887908919089590899909039090790911909159091990923909279093190935909399094390947909519095590959909639096790971909759097990983909879099190995909999100391007910119101591019910239102791031910359103991043910479105191055910599106391067910719107591079910839108791091910959109991103911079111191115911199112391127911319113591139911439114791151911559115991163911679117191175911799118391187911919119591199912039120791211912159121991223912279123191235912399124391247912519125591259912639126791271912759127991283912879129191295912999130391307913119131591319913239132791331913359133991343913479135191355913599136391367913719137591379913839138791391913959139991403914079141191415914199142391427914319143591439914439144791451914559145991463914679147191475914799148391487914919149591499915039150791511915159151991523915279153191535915399154391547915519155591559915639156791571915759157991583915879159191595915999160391607916119161591619916239162791631916359163991643916479165191655916599166391667916719167591679916839168791691916959169991703917079171191715917199172391727917319173591739917439174791751917559175991763917679177191775917799178391787917919179591799918039180791811918159181991823918279183191835918399184391847918519185591859918639186791871918759187991883918879189191895918999190391907919119191591919919239192791931919359193991943919479195191955919599196391967919719197591979919839198791991919959199992003920079201192015920199202392027920319203592039920439204792051920559205992063920679207192075920799208392087920919209592099921039210792111921159211992123921279213192135921399214392147921519215592159921639216792171921759217992183921879219192195921999220392207922119221592219922239222792231922359223992243922479225192255922599226392267922719227592279922839228792291922959229992303923079231192315923199232392327923319233592339923439234792351923559235992363923679237192375923799238392387923919239592399924039240792411924159241992423924279243192435924399244392447924519245592459924639246792471924759247992483924879249192495924999250392507925119251592519925239252792531925359253992543925479255192555925599256392567925719257592579925839258792591925959259992603926079261192615926199262392627926319263592639926439264792651926559265992663926679267192675926799268392687926919269592699927039270792711927159271992723927279273192735927399274392747927519275592759927639276792771927759277992783927879279192795927999280392807928119281592819928239282792831928359283992843928479285192855928599286392867928719287592879928839288792891928959289992903929079291192915929199292392927929319293592939929439294792951929559295992963929679297192975929799298392987929919299592999930039300793011930159301993023930279303193035930399304393047930519305593059930639306793071930759307993083930879309193095930999310393107931119311593119931239312793131931359313993143931479315193155931599316393167931719317593179931839318793191931959319993203932079321193215932199322393227932319323593239932439324793251932559325993263932679327193275932799328393287932919329593299933039330793311933159331993323933279333193335933399334393347933519335593359933639336793371933759337993383933879339193395933999340393407934119341593419934239342793431934359343993443934479345193455934599346393467934719347593479934839348793491934959349993503935079351193515935199352393527935319353593539935439354793551935559355993563935679357193575935799358393587935919359593599936039360793611936159361993623936279363193635936399364393647936519365593659936639366793671936759367993683936879369193695936999370393707937119371593719937239372793731937359373993743937479375193755937599376393767937719377593779937839378793791937959379993803938079381193815938199382393827938319383593839938439384793851938559385993863938679387193875938799388393887938919389593899939039390793911939159391993923939279393193935939399394393947939519395593959939639396793971939759397993983939879399193995939999400394007940119401594019940239402794031940359403994043940479405194055940599406394067940719407594079940839408794091940959409994103941079411194115941199412394127941319413594139941439414794151941559415994163941679417194175941799418394187941919419594199942039420794211942159421994223942279423194235942399424394247942519425594259942639426794271942759427994283942879429194295942999430394307943119431594319943239432794331943359433994343943479435194355943599436394367943719437594379943839438794391943959439994403944079441194415944199442394427944319443594439944439444794451944559445994463944679447194475944799448394487944919449594499945039450794511945159451994523945279453194535945399454394547945519455594559945639456794571945759457994583945879459194595945999460394607946119461594619946239462794631946359463994643946479465194655946599466394667946719467594679946839468794691946959469994703947079471194715947199472394727947319473594739947439474794751947559475994763947679477194775947799478394787947919479594799948039480794811948159481994823948279483194835948399484394847948519485594859948639486794871948759487994883948879489194895948999490394907949119491594919949239492794931949359493994943949479495194955949599496394967949719497594979949839498794991949959499995003950079501195015950199502395027950319503595039950439504795051950559505995063950679507195075950799508395087950919509595099951039510795111951159511995123951279513195135951399514395147951519515595159951639516795171951759517995183951879519195195951999520395207952119521595219952239522795231952359523995243952479525195255952599526395267952719527595279952839528795291952959529995303953079531195315953199532395327953319533595339953439534795351953559535995363953679537195375953799538395387953919539595399954039540795411954159541995423954279543195435954399544395447954519545595459954639546795471954759547995483954879549195495954999550395507955119551595519955239552795531955359553995543955479555195555955599556395567955719557595579955839558795591955959559995603956079561195615956199562395627956319563595639956439564795651956559565995663956679567195675956799568395687956919569595699957039570795711957159571995723957279573195735957399574395747957519575595759957639576795771957759577995783957879579195795957999580395807958119581595819958239582795831958359583995843958479585195855958599586395867958719587595879958839588795891958959589995903959079591195915959199592395927959319593595939959439594795951959559595995963959679597195975959799598395987959919599595999960039600796011960159601996023960279603196035960399604396047960519605596059960639606796071960759607996083960879609196095960999610396107961119611596119961239612796131961359613996143961479615196155961599616396167961719617596179961839618796191961959619996203962079621196215962199622396227962319623596239962439624796251962559625996263962679627196275962799628396287962919629596299963039630796311963159631996323963279633196335963399634396347963519635596359963639636796371963759637996383963879639196395963999640396407964119641596419964239642796431964359643996443964479645196455964599646396467964719647596479964839648796491964959649996503965079651196515965199652396527965319653596539965439654796551965559655996563965679657196575965799658396587965919659596599966039660796611966159661996623966279663196635966399664396647966519665596659966639666796671966759667996683966879669196695966999670396707967119671596719967239672796731967359673996743967479675196755967599676396767967719677596779967839678796791967959679996803968079681196815968199682396827968319683596839968439684796851968559685996863968679687196875968799688396887968919689596899969039690796911969159691996923969279693196935969399694396947969519695596959969639696796971969759697996983969879699196995969999700397007970119701597019970239702797031970359703997043970479705197055970599706397067970719707597079970839708797091970959709997103971079711197115971199712397127971319713597139971439714797151971559715997163971679717197175971799718397187971919719597199972039720797211972159721997223972279723197235972399724397247972519725597259972639726797271972759727997283972879729197295972999730397307973119731597319973239732797331973359733997343973479735197355973599736397367973719737597379973839738797391973959739997403974079741197415974199742397427974319743597439974439744797451974559745997463974679747197475974799748397487974919749597499975039750797511975159751997523975279753197535975399754397547975519755597559975639756797571975759757997583975879759197595975999760397607976119761597619976239762797631976359763997643976479765197655976599766397667976719767597679976839768797691976959769997703977079771197715977199772397727977319773597739977439774797751977559775997763977679777197775977799778397787977919779597799978039780797811978159781997823978279783197835978399784397847978519785597859978639786797871978759787997883978879789197895978999790397907979119791597919979239792797931979359793997943979479795197955979599796397967979719797597979979839798797991979959799998003980079801198015980199802398027980319803598039980439804798051980559805998063980679807198075980799808398087980919809598099981039810798111981159811998123981279813198135981399814398147981519815598159981639816798171981759817998183981879819198195981999820398207982119821598219982239822798231982359823998243982479825198255982599826398267982719827598279982839828798291982959829998303983079831198315983199832398327983319833598339983439834798351983559835998363983679837198375983799838398387983919839598399984039840798411984159841998423984279843198435984399844398447984519845598459984639846798471984759847998483984879849198495984999850398507985119851598519985239852798531985359853998543985479855198555985599856398567985719857598579985839858798591985959859998603986079861198615986199862398627986319863598639986439864798651986559865998663986679867198675986799868398687986919869598699987039870798711987159871998723987279873198735987399874398747987519875598759987639876798771987759877998783987879879198795987999880398807988119881598819988239882798831988359883998843988479885198855988599886398867988719887598879988839888798891988959889998903989079891198915989199892398927989319893598939989439894798951989559895998963989679897198975989799898398987989919899598999990039900799011990159901999023990279903199035990399904399047990519905599059990639906799071990759907999083990879909199095990999910399107991119911599119991239912799131991359913999143991479915199155991599916399167991719917599179991839918799191991959919999203992079921199215992199922399227992319923599239992439924799251992559925999263992679927199275992799928399287992919929599299993039930799311993159931999323993279933199335993399934399347993519935599359993639936799371993759937999383993879939199395993999940399407994119941599419994239942799431994359943999443994479945199455994599946399467994719947599479994839948799491994959949999503995079951199515995199952399527995319953599539995439954799551995559955999563995679957199575995799958399587995919959599599996039960799611996159961999623996279963199635996399964399647996519965599659996639966799671996759967999683996879969199695996999970399707997119971599719997239972799731997359973999743997479975199755997599976399767997719977599779997839978799791997959979999803998079981199815998199982399827998319983599839998439984799851998559985999863998679987199875998799988399887998919989599899999039990799911999159991999923999279993199935999399994399947999519995599959999639996799971999759997999983999879999199995999991000031000071000111000151000191000231000271000311000351000391000431000471000511000551000591000631000671000711000751000791000831000871000911000951000991001031001071001111001151001191001231001271001311001351001391001431001471001511001551001591001631001671001711001751001791001831001871001911001951001991002031002071002111002151002191002231002271002311002351002391002431002471002511002551002591002631002671002711002751002791002831002871002911002951002991003031003071003111003151003191003231003271003311003351003391003431003471003511003551003591003631003671003711003751003791003831003871003911003951003991004031004071004111004151004191004231004271004311004351004391004431004471004511004551004591004631004671004711004751004791004831004871004911004951004991005031005071005111005151005191005231005271005311005351005391005431005471005511005551005591005631005671005711005751005791005831005871005911005951005991006031006071006111006151006191006231006271006311006351006391006431006471006511006551006591006631006671006711006751006791006831006871006911006951006991007031007071007111007151007191007231007271007311007351007391007431007471007511007551007591007631007671007711007751007791007831007871007911007951007991008031008071008111008151008191008231008271008311008351008391008431008471008511008551008591008631008671008711008751008791008831008871008911008951008991009031009071009111009151009191009231009271009311009351009391009431009471009511009551009591009631009671009711009751009791009831009871009911009951009991010031010071010111010151010191010231010271010311010351010391010431010471010511010551010591010631010671010711010751010791010831010871010911010951010991011031011071011111011151011191011231011271011311011351011391011431011471011511011551011591011631011671011711011751011791011831011871011911011951011991012031012071012111012151012191012231012271012311012351012391012431012471012511012551012591012631012671012711012751012791012831012871012911012951012991013031013071013111013151013191013231013271013311013351013391013431013471013511013551013591013631013671013711013751013791013831013871013911013951013991014031014071014111014151014191014231014271014311014351014391014431014471014511014551014591014631014671014711014751014791014831014871014911014951014991015031015071015111015151015191015231015271015311015351015391015431015471015511015551015591015631015671015711015751015791015831015871015911015951015991016031016071016111016151016191016231016271016311016351016391016431016471016511016551016591016631016671016711016751016791016831016871016911016951016991017031017071017111017151017191017231017271017311017351017391017431017471017511017551017591017631017671017711017751017791017831017871017911017951017991018031018071018111018151018191018231018271018311018351018391018431018471018511018551018591018631018671018711018751018791018831018871018911018951018991019031019071019111019151019191019231019271019311019351019391019431019471019511019551019591019631019671019711019751019791019831019871019911019951019991020031020071020111020151020191020231020271020311020351020391020431020471020511020551020591020631020671020711020751020791020831020871020911020951020991021031021071021111021151021191021231021271021311021351021391021431021471021511021551021591021631021671021711021751021791021831021871021911021951021991022031022071022111022151022191022231022271022311022351022391022431022471022511022551022591022631022671022711022751022791022831022871022911022951022991023031023071023111023151023191023231023271023311023351023391023431023471023511023551023591023631023671023711023751023791023831023871023911023951023991024031024071024111024151024191024231024271024311024351024391024431024471024511024551024591024631024671024711024751024791024831024871024911024951024991025031025071025111025151025191025231025271025311025351025391025431025471025511025551025591025631025671025711025751025791025831025871025911025951025991026031026071026111026151026191026231026271026311026351026391026431026471026511026551026591026631026671026711026751026791026831026871026911026951026991027031027071027111027151027191027231027271027311027351027391027431027471027511027551027591027631027671027711027751027791027831027871027911027951027991028031028071028111028151028191028231028271028311028351028391028431028471028511028551028591028631028671028711028751028791028831028871028911028951028991029031029071029111029151029191029231029271029311029351029391029431029471029511029551029591029631029671029711029751029791029831029871029911029951029991030031030071030111030151030191030231030271030311030351030391030431030471030511030551030591030631030671030711030751030791030831030871030911030951030991031031031071031111031151031191031231031271031311031351031391031431031471031511031551031591031631031671031711031751031791031831031871031911031951031991032031032071032111032151032191032231032271032311032351032391032431032471032511032551032591032631032671032711032751032791032831032871032911032951032991033031033071033111033151033191033231033271033311033351033391033431033471033511033551033591033631033671033711033751033791033831033871033911033951033991034031034071034111034151034191034231034271034311034351034391034431034471034511034551034591034631034671034711034751034791034831034871034911034951034991035031035071035111035151035191035231035271035311035351035391035431035471035511035551035591035631035671035711035751035791035831035871035911035951035991036031036071036111036151036191036231036271036311036351036391036431036471036511036551036591036631036671036711036751036791036831036871036911036951036991037031037071037111037151037191037231037271037311037351037391037431037471037511037551037591037631037671037711037751037791037831037871037911037951037991038031038071038111038151038191038231038271038311038351038391038431038471038511038551038591038631038671038711038751038791038831038871038911038951038991039031039071039111039151039191039231039271039311039351039391039431039471039511039551039591039631039671039711039751039791039831039871039911039951039991040031040071040111040151040191040231040271040311040351040391040431040471040511040551040591040631040671040711040751040791040831040871040911040951040991041031041071041111041151041191041231041271041311041351041391041431041471041511041551041591041631041671041711041751041791041831041871041911041951041991042031042071042111042151042191042231042271042311042351042391042431042471042511042551042591042631042671042711042751042791042831042871042911042951042991043031043071043111043151043191043231043271043311043351043391043431043471043511043551043591043631043671043711043751043791043831043871043911043951043991044031044071044111044151044191044231044271044311044351044391044431044471044511044551044591044631044671044711044751044791044831044871044911044951044991045031045071045111045151045191045231045271045311045351045391045431045471045511045551045591045631045671045711045751045791045831045871045911045951045991046031046071046111046151046191046231046271046311046351046391046431046471046511046551046591046631046671046711046751046791046831046871046911046951046991047031047071047111047151047191047231047271047311047351047391047431047471047511047551047591047631047671047711047751047791047831047871047911047951047991048031048071048111048151048191048231048271048311048351048391048431048471048511048551048591048631048671048711048751048791048831048871048911048951048991049031049071049111049151049191049231049271049311049351049391049431049471049511049551049591049631049671049711049751049791049831049871049911049951049991050031050071050111050151050191050231050271050311050351050391050431050471050511050551050591050631050671050711050751050791050831050871050911050951050991051031051071051111051151051191051231051271051311051351051391051431051471051511051551051591051631051671051711051751051791051831051871051911051951051991052031052071052111052151052191052231052271052311052351052391052431052471052511052551052591052631052671052711052751052791052831052871052911052951052991053031053071053111053151053191053231053271053311053351053391053431053471053511053551053591053631053671053711053751053791053831053871053911053951053991054031054071054111054151054191054231054271054311054351054391054431054471054511054551054591054631054671054711054751054791054831054871054911054951054991055031055071055111055151055191055231055271055311055351055391055431055471055511055551055591055631055671055711055751055791055831055871055911055951055991056031056071056111056151056191056231056271056311056351056391056431056471056511056551056591056631056671056711056751056791056831056871056911056951056991057031057071057111057151057191057231057271057311057351057391057431057471057511057551057591057631057671057711057751057791057831057871057911057951057991058031058071058111058151058191058231058271058311058351058391058431058471058511058551058591058631058671058711058751058791058831058871058911058951058991059031059071059111059151059191059231059271059311059351059391059431059471059511059551059591059631059671059711059751059791059831059871059911059951059991060031060071060111060151060191060231060271060311060351060391060431060471060511060551060591060631060671060711060751060791060831060871060911060951060991061031061071061111061151061191061231061271061311061351061391061431061471061511061551061591061631061671061711061751061791061831061871061911061951061991062031062071062111062151062191062231062271062311062351062391062431062471062511062551062591062631062671062711062751062791062831062871062911062951062991063031063071063111063151063191063231063271063311063351063391063431063471063511063551063591063631063671063711063751063791063831063871063911063951063991064031064071064111064151064191064231064271064311064351064391064431064471064511064551064591064631064671064711064751064791064831064871064911064951064991065031065071065111065151065191065231065271065311065351065391065431065471065511065551065591065631065671065711065751065791065831065871065911065951065991066031066071066111066151066191066231066271066311066351066391066431066471066511066551066591066631066671066711066751066791066831066871066911066951066991067031067071067111067151067191067231067271067311067351067391067431067471067511067551067591067631067671067711067751067791067831067871067911067951067991068031068071068111068151068191068231068271068311068351068391068431068471068511068551068591068631068671068711068751068791068831068871068911068951068991069031069071069111069151069191069231069271069311069351069391069431069471069511069551069591069631069671069711069751069791069831069871069911069951069991070031070071070111070151070191070231070271070311070351070391070431070471070511070551070591070631070671070711070751070791070831070871070911070951070991071031071071071111071151071191071231071271071311071351071391071431071471071511071551071591071631071671071711071751071791071831071871071911071951071991072031072071072111072151072191072231072271072311072351072391072431072471072511072551072591072631072671072711072751072791072831072871072911072951072991073031073071073111073151073191073231073271073311073351073391073431073471073511073551073591073631073671073711073751073791073831073871073911073951073991074031074071074111074151074191074231074271074311074351074391074431074471074511074551074591074631074671074711074751074791074831074871074911074951074991075031075071075111075151075191075231075271075311075351075391075431075471075511075551075591075631075671075711075751075791075831075871075911075951075991076031076071076111076151076191076231076271076311076351076391076431076471076511076551076591076631076671076711076751076791076831076871076911076951076991077031077071077111077151077191077231077271077311077351077391077431077471077511077551077591077631077671077711077751077791077831077871077911077951077991078031078071078111078151078191078231078271078311078351078391078431078471078511078551078591078631078671078711078751078791078831078871078911078951078991079031079071079111079151079191079231079271079311079351079391079431079471079511079551079591079631079671079711079751079791079831079871079911079951079991080031080071080111080151080191080231080271080311080351080391080431080471080511080551080591080631080671080711080751080791080831080871080911080951080991081031081071081111081151081191081231081271081311081351081391081431081471081511081551081591081631081671081711081751081791081831081871081911081951081991082031082071082111082151082191082231082271082311082351082391082431082471082511082551082591082631082671082711082751082791082831082871082911082951082991083031083071083111083151083191083231083271083311083351083391083431083471083511083551083591083631083671083711083751083791083831083871083911083951083991084031084071084111084151084191084231084271084311084351084391084431084471084511084551084591084631084671084711084751084791084831084871084911084951084991085031085071085111085151085191085231085271085311085351085391085431085471085511085551085591085631085671085711085751085791085831085871085911085951085991086031086071086111086151086191086231086271086311086351086391086431086471086511086551086591086631086671086711086751086791086831086871086911086951086991087031087071087111087151087191087231087271087311087351087391087431087471087511087551087591087631087671087711087751087791087831087871087911087951087991088031088071088111088151088191088231088271088311088351088391088431088471088511088551088591088631088671088711088751088791088831088871088911088951088991089031089071089111089151089191089231089271089311089351089391089431089471089511089551089591089631089671089711089751089791089831089871089911089951089991090031090071090111090151090191090231090271090311090351090391090431090471090511090551090591090631090671090711090751090791090831090871090911090951090991091031091071091111091151091191091231091271091311091351091391091431091471091511091551091591091631091671091711091751091791091831091871091911091951091991092031092071092111092151092191092231092271092311092351092391092431092471092511092551092591092631092671092711092751092791092831092871092911092951092991093031093071093111093151093191093231093271093311093351093391093431093471093511093551093591093631093671093711093751093791093831093871093911093951093991094031094071094111094151094191094231094271094311094351094391094431094471094511094551094591094631094671094711094751094791094831094871094911094951094991095031095071095111095151095191095231095271095311095351095391095431095471095511095551095591095631095671095711095751095791095831095871095911095951095991096031096071096111096151096191096231096271096311096351096391096431096471096511096551096591096631096671096711096751096791096831096871096911096951096991097031097071097111097151097191097231097271097311097351097391097431097471097511097551097591097631097671097711097751097791097831097871097911097951097991098031098071098111098151098191098231098271098311098351098391098431098471098511098551098591098631098671098711098751098791098831098871098911098951098991099031099071099111099151099191099231099271099311099351099391099431099471099511099551099591099631099671099711099751099791099831099871099911099951099991100031100071100111100151100191100231100271100311100351100391100431100471100511100551100591100631100671100711100751100791100831100871100911100951100991101031101071101111101151101191101231101271101311101351101391101431101471101511101551101591101631101671101711101751101791101831101871101911101951101991102031102071102111102151102191102231102271102311102351102391102431102471102511102551102591102631102671102711102751102791102831102871102911102951102991103031103071103111103151103191103231103271103311103351103391103431103471103511103551103591103631103671103711103751103791103831103871103911103951103991104031104071104111104151104191104231104271104311104351104391104431104471104511104551104591104631104671104711104751104791104831104871104911104951104991105031105071105111105151105191105231105271105311105351105391105431105471105511105551105591105631105671105711105751105791105831105871105911105951105991106031106071106111106151106191106231106271106311106351106391106431106471106511106551106591106631106671106711106751106791106831106871106911106951106991107031107071107111107151107191107231107271107311107351107391107431107471107511107551107591107631107671107711107751107791107831107871107911107951107991108031108071108111108151108191108231108271108311108351108391108431108471108511108551108591108631108671108711108751108791108831108871108911108951108991109031109071109111109151109191109231109271109311109351109391109431109471109511109551109591109631109671109711109751109791109831109871109911109951109991110031110071110111110151110191110231110271110311110351110391110431110471110511110551110591110631110671110711110751110791110831110871110911110951110991111031111071111111111151111191111231111271111311111351111391111431111471111511111551111591111631111671111711111751111791111831111871111911111951111991112031112071112111112151112191112231112271112311112351112391112431112471112511112551112591112631112671112711112751112791112831112871112911112951112991113031113071113111113151113191113231113271113311113351113391113431113471113511113551113591113631113671113711113751113791113831113871113911113951113991114031114071114111114151114191114231114271114311114351114391114431114471114511114551114591114631114671114711114751114791114831114871114911114951114991115031115071115111115151115191115231115271115311115351115391115431115471115511115551115591115631115671115711115751115791115831115871115911115951115991116031116071116111116151116191116231116271116311116351116391116431116471116511116551116591116631116671116711116751116791116831116871116911116951116991117031117071117111117151117191117231117271117311117351117391117431117471117511117551117591117631117671117711117751117791117831117871117911117951117991118031118071118111118151118191118231118271118311118351118391118431118471118511118551118591118631118671118711118751118791118831118871118911118951118991119031119071119111119151119191119231119271119311119351119391119431119471119511119551119591119631119671119711119751119791119831119871119911119951119991120031120071120111120151120191120231120271120311120351120391120431120471120511120551120591120631120671120711120751120791120831120871120911120951120991121031121071121111121151121191121231121271121311121351121391121431121471121511121551121591121631121671121711121751121791121831121871121911121951121991122031122071122111122151122191122231122271122311122351122391122431122471122511122551122591122631122671122711122751122791122831122871122911122951122991123031123071123111123151123191123231123271123311123351123391123431123471123511123551123591123631123671123711123751123791123831123871123911123951123991124031124071124111124151124191124231124271124311124351124391124431124471124511124551124591124631124671124711124751124791124831124871124911124951124991125031125071125111125151125191125231125271125311125351125391125431125471125511125551125591125631125671125711125751125791125831125871125911125951125991126031126071126111126151126191126231126271126311126351126391126431126471126511126551126591126631126671126711126751126791126831126871126911126951126991127031127071127111127151127191127231127271127311127351127391127431127471127511127551127591127631127671127711127751127791127831127871127911127951127991128031128071128111128151128191128231128271128311128351128391128431128471128511128551128591128631128671128711128751128791128831128871128911128951128991129031129071129111129151129191129231129271129311129351129391129431129471129511129551129591129631129671129711129751129791129831129871129911129951129991130031130071130111130151130191130231130271130311130351130391130431130471130511130551130591130631130671130711130751130791130831130871130911130951130991131031131071131111131151131191131231131271131311131351131391131431131471131511131551131591131631131671131711131751131791131831131871131911131951131991132031132071132111132151132191132231132271132311132351132391132431132471132511132551132591132631132671132711132751132791132831132871132911132951132991133031133071133111133151133191133231133271133311133351133391133431133471133511133551133591133631133671133711133751133791133831133871133911133951133991134031134071134111134151134191134231134271134311134351134391134431134471134511134551134591134631134671134711134751134791134831134871134911134951134991135031135071135111135151135191135231135271135311135351135391135431135471135511135551135591135631135671135711135751135791135831135871135911135951135991136031136071136111136151136191136231136271136311136351136391136431136471136511136551136591136631136671136711136751136791136831136871136911136951136991137031137071137111137151137191137231137271137311137351137391137431137471137511137551137591137631137671137711137751137791137831137871137911137951137991138031138071138111138151138191138231138271138311138351138391138431138471138511138551138591138631138671138711138751138791138831138871138911138951138991139031139071139111139151139191139231139271139311139351139391139431139471139511139551139591139631139671139711139751139791139831139871139911139951139991140031140071140111140151140191140231140271140311140351140391140431140471140511140551140591140631140671140711140751140791140831140871140911140951140991141031141071141111141151141191141231141271141311141351141391141431141471141511141551141591141631141671141711141751141791141831141871141911141951141991142031142071142111142151142191142231142271142311142351142391142431142471142511142551142591142631142671142711142751142791142831142871142911142951142991143031143071143111143151143191143231143271143311143351143391143431143471143511143551143591143631143671143711143751143791143831143871143911143951143991144031144071144111144151144191144231144271144311144351144391144431144471144511144551144591144631144671144711144751144791144831144871144911144951144991145031145071145111145151145191145231145271145311145351145391145431145471145511145551145591145631145671145711145751145791145831145871145911145951145991146031146071146111146151146191146231146271146311146351146391146431146471146511146551146591146631146671146711146751146791146831146871146911146951146991147031147071147111147151147191147231147271147311147351147391147431147471147511147551147591147631147671147711147751147791147831147871147911147951147991148031148071148111148151148191148231148271148311148351148391148431148471148511148551148591148631148671148711148751148791148831148871148911148951148991149031149071149111149151149191149231149271149311149351149391149431149471149511149551149591149631149671149711149751149791149831149871149911149951149991150031150071150111150151150191150231150271150311150351150391150431150471150511150551150591150631150671150711150751150791150831150871150911150951150991151031151071151111151151151191151231151271151311151351151391151431151471151511151551151591151631151671151711151751151791151831151871151911151951151991152031152071152111152151152191152231152271152311152351152391152431152471152511152551152591152631152671152711152751152791152831152871152911152951152991153031153071153111153151153191153231153271153311153351153391153431153471153511153551153591153631153671153711153751153791153831153871153911153951153991154031154071154111154151154191154231154271154311154351154391154431154471154511154551154591154631154671154711154751154791154831154871154911154951154991155031155071155111155151155191155231155271155311155351155391155431155471155511155551155591155631155671155711155751155791155831155871155911155951155991156031156071156111156151156191156231156271156311156351156391156431156471156511156551156591156631156671156711156751156791156831156871156911156951156991157031157071157111157151157191157231157271157311157351157391157431157471157511157551157591157631157671157711157751157791157831157871157911157951157991158031158071158111158151158191158231158271158311158351158391158431158471158511158551158591158631158671158711158751158791158831158871158911158951158991159031159071159111159151159191159231159271159311159351159391159431159471159511159551159591159631159671159711159751159791159831159871159911159951159991160031160071160111160151160191160231160271160311160351160391160431160471160511160551160591160631160671160711160751160791160831160871160911160951160991161031161071161111161151161191161231161271161311161351161391161431161471161511161551161591161631161671161711161751161791161831161871161911161951161991162031162071162111162151162191162231162271162311162351162391162431162471162511162551162591162631162671162711162751162791162831162871162911162951162991163031163071163111163151163191163231163271163311163351163391163431163471163511163551163591163631163671163711163751163791163831163871163911163951163991164031164071164111164151164191164231164271164311164351164391164431164471164511164551164591164631164671164711164751164791164831164871164911164951164991165031165071165111165151165191165231165271165311165351165391165431165471165511165551165591165631165671165711165751165791165831165871165911165951165991166031166071166111166151166191166231166271166311166351166391166431166471166511166551166591166631166671166711166751166791166831166871166911166951166991167031167071167111167151167191167231167271167311167351167391167431167471167511167551167591167631167671167711167751167791167831167871167911167951167991168031168071168111168151168191168231168271168311168351168391168431168471168511168551168591168631168671168711168751168791168831168871168911168951168991169031169071169111169151169191169231169271169311169351169391169431169471169511169551169591169631169671169711169751169791169831169871169911169951169991170031170071170111170151170191170231170271170311170351170391170431170471170511170551170591170631170671170711170751170791170831170871170911170951170991171031171071171111171151171191171231171271171311171351171391171431171471171511171551171591171631171671171711171751171791171831171871171911171951171991172031172071172111172151172191172231172271172311172351172391172431172471172511172551172591172631172671172711172751172791172831172871172911172951172991173031173071173111173151173191173231173271173311173351173391173431173471173511173551173591173631173671173711173751173791173831173871173911173951173991174031174071174111174151174191174231174271174311174351174391174431174471174511174551174591174631174671174711174751174791174831174871174911174951174991175031175071175111175151175191175231175271175311175351175391175431175471175511175551175591175631175671175711175751175791175831175871175911175951175991176031176071176111176151176191176231176271176311176351176391176431176471176511176551176591176631176671176711176751176791176831176871176911176951176991177031177071177111177151177191177231177271177311177351177391177431177471177511177551177591177631177671177711177751177791177831177871177911177951177991178031178071178111178151178191178231178271178311178351178391178431178471178511178551178591178631178671178711178751178791178831178871178911178951178991179031179071179111179151179191179231179271179311179351179391179431179471179511179551179591179631179671179711179751179791179831179871179911179951179991180031180071180111180151180191180231180271180311180351180391180431180471180511180551180591180631180671180711180751180791180831180871180911180951180991181031181071181111181151181191181231181271181311181351181391181431181471181511181551181591181631181671181711181751181791181831181871181911181951181991182031182071182111182151182191182231182271182311182351182391182431182471182511182551182591182631182671182711182751182791182831182871182911182951182991183031183071183111183151183191183231183271183311183351183391183431183471183511183551183591183631183671183711183751183791183831183871183911183951183991184031184071184111184151184191184231184271184311184351184391184431184471184511184551184591184631184671184711184751184791184831184871184911184951184991185031185071185111185151185191185231185271185311185351185391185431185471185511185551185591185631185671185711185751185791185831185871185911185951185991186031186071186111186151186191186231186271186311186351186391186431186471186511186551186591186631186671186711186751186791186831186871186911186951186991187031187071187111187151187191187231187271187311187351187391187431187471187511187551187591187631187671187711187751187791187831187871187911187951187991188031188071188111188151188191188231188271188311188351188391188431188471188511188551188591188631188671188711188751188791188831188871188911188951188991189031189071189111189151189191189231189271189311189351189391189431189471189511189551189591189631189671189711189751189791189831189871189911189951189991190031190071190111190151190191190231190271190311190351190391190431190471190511190551190591190631190671190711190751190791190831190871190911190951190991191031191071191111191151191191191231191271191311191351191391191431191471191511191551191591191631191671191711191751191791191831191871191911191951191991192031192071192111192151192191192231192271192311192351192391192431192471192511192551192591192631192671192711192751192791192831192871192911192951192991193031193071193111193151193191193231193271193311193351193391193431193471193511193551193591193631193671193711193751193791193831193871193911193951193991194031194071194111194151194191194231194271194311194351194391194431194471194511194551194591194631194671194711194751194791194831194871194911194951194991195031195071195111195151195191195231195271195311195351195391195431195471195511195551195591195631195671195711195751195791195831195871195911195951195991196031196071196111196151196191196231196271196311196351196391196431196471196511196551196591196631196671196711196751196791196831196871196911196951196991197031197071197111197151197191197231197271197311197351197391197431197471197511197551197591197631197671197711197751197791197831197871197911197951197991198031198071198111198151198191198231198271198311198351198391198431198471198511198551198591198631198671198711198751198791198831198871198911198951198991199031199071199111199151199191199231199271199311199351199391199431199471199511199551199591199631199671199711199751199791199831199871199911199951199991200031200071200111200151200191200231200271200311200351200391200431200471200511200551200591200631200671200711200751200791200831200871200911200951200991201031201071201111201151201191201231201271201311201351201391201431201471201511201551201591201631201671201711201751201791201831201871201911201951201991202031202071202111202151202191202231202271202311202351202391202431202471202511202551202591202631202671202711202751202791202831202871202911202951202991203031203071203111203151203191203231203271203311203351203391203431203471203511203551203591203631203671203711203751203791203831203871203911203951203991204031204071204111204151204191204231204271204311204351204391204431204471204511204551204591204631204671204711204751204791204831204871204911204951204991205031205071205111205151205191205231205271205311205351205391205431205471205511205551205591205631205671205711205751205791205831205871205911205951205991206031206071206111206151206191206231206271206311206351206391206431206471206511206551206591206631206671206711206751206791206831206871206911206951206991207031207071207111207151207191207231207271207311207351207391207431207471207511207551207591207631207671207711207751207791207831207871207911207951207991208031208071208111208151208191208231208271208311208351208391208431208471208511208551208591208631208671208711208751208791208831208871208911208951208991209031209071209111209151209191209231209271209311209351209391209431209471209511209551209591209631209671209711209751209791209831209871209911209951209991210031210071210111210151210191210231210271210311210351210391210431210471210511210551210591210631210671210711210751210791210831210871210911210951210991211031211071211111211151211191211231211271211311211351211391211431211471211511211551211591211631211671211711211751211791211831211871211911211951211991212031212071212111212151212191212231212271212311212351212391212431212471212511212551212591212631212671212711212751212791212831212871212911212951212991213031213071213111213151213191213231213271213311213351213391213431213471213511213551213591213631213671213711213751213791213831213871213911213951213991214031214071214111214151214191214231214271214311214351214391214431214471214511214551214591214631214671214711214751214791214831214871214911214951214991215031215071215111215151215191215231215271215311215351215391215431215471215511215551215591215631215671215711215751215791215831215871215911215951215991216031216071216111216151216191216231216271216311216351216391216431216471216511216551216591216631216671216711216751216791216831216871216911216951216991217031217071217111217151217191217231217271217311217351217391217431217471217511217551217591217631217671217711217751217791217831217871217911217951217991218031218071218111218151218191218231218271218311218351218391218431218471218511218551218591218631218671218711218751218791218831218871218911218951218991219031219071219111219151219191219231219271219311219351219391219431219471219511219551219591219631219671219711219751219791219831219871219911219951219991220031220071220111220151220191220231220271220311220351220391220431220471220511220551220591220631220671220711220751220791220831220871220911220951220991221031221071221111221151221191221231221271221311221351221391221431221471221511221551221591221631221671221711221751221791221831221871221911221951221991222031222071222111222151222191222231222271222311222351222391222431222471222511222551222591222631222671222711222751222791222831222871222911222951222991223031223071223111223151223191223231223271223311223351223391223431223471223511223551223591223631223671223711223751223791223831223871223911223951223991224031224071224111224151224191224231224271224311224351224391224431224471224511224551224591224631224671224711224751224791224831224871224911224951224991225031225071225111225151225191225231225271225311225351225391225431225471225511225551225591225631225671225711225751225791225831225871225911225951225991226031226071226111226151226191226231226271226311226351226391226431226471226511226551226591226631226671226711226751226791226831226871226911226951226991227031227071227111227151227191227231227271227311227351227391227431227471227511227551227591227631227671227711227751227791227831227871227911227951227991228031228071228111228151228191228231228271228311228351228391228431228471228511228551228591228631228671228711228751228791228831228871228911228951228991229031229071229111229151229191229231229271229311229351229391229431229471229511229551229591229631229671229711229751229791229831229871229911229951229991230031230071230111230151230191230231230271230311230351230391230431230471230511230551230591230631230671230711230751230791230831230871230911230951230991231031231071231111231151231191231231231271231311231351231391231431231471231511231551231591231631231671231711231751231791231831231871231911231951231991232031232071232111232151232191232231232271232311232351232391232431232471232511232551232591232631232671232711232751232791232831232871232911232951232991233031233071233111233151233191233231233271233311233351233391233431233471233511233551233591233631233671233711233751233791233831233871233911233951233991234031234071234111234151234191234231234271234311234351234391234431234471234511234551234591234631234671234711234751234791234831234871234911234951234991235031235071235111235151235191235231235271235311235351235391235431235471235511235551235591235631235671235711235751235791235831235871235911235951235991236031236071236111236151236191236231236271236311236351236391236431236471236511236551236591236631236671236711236751236791236831236871236911236951236991237031237071237111237151237191237231237271237311237351237391237431237471237511237551237591237631237671237711237751237791237831237871237911237951237991238031238071238111238151238191238231238271238311238351238391238431238471238511238551238591238631238671238711238751238791238831238871238911238951238991239031239071239111239151239191239231239271239311239351239391239431239471239511239551239591239631239671239711239751239791239831239871239911239951239991240031240071240111240151240191240231240271240311240351240391240431240471240511240551240591240631240671240711240751240791240831240871240911240951240991241031241071241111241151241191241231241271241311241351241391241431241471241511241551241591241631241671241711241751241791241831241871241911241951241991242031242071242111242151242191242231242271242311242351242391242431242471242511242551242591242631242671242711242751242791242831242871242911242951242991243031243071243111243151243191243231243271243311243351243391243431243471243511243551243591243631243671243711243751243791243831243871243911243951243991244031244071244111244151244191244231244271244311244351244391244431244471244511244551244591244631244671244711244751244791244831244871244911244951244991245031245071245111245151245191245231245271245311245351245391245431245471245511245551245591245631245671245711245751245791245831245871245911245951245991246031246071246111246151246191246231246271246311246351246391246431246471246511246551246591246631246671246711246751246791246831246871246911246951246991247031247071247111247151247191247231247271247311247351247391247431247471247511247551247591247631247671247711247751247791247831247871247911247951247991248031248071248111248151248191248231248271248311248351248391248431248471248511248551248591248631248671248711248751248791248831248871248911248951248991249031249071249111249151249191249231249271249311249351249391249431249471249511249551249591249631249671249711249751249791249831249871249911249951249991250031250071250111250151250191250231250271250311250351250391250431250471250511250551250591250631250671250711250751250791250831250871250911250951250991251031251071251111251151251191251231251271251311251351251391251431251471251511251551251591251631251671251711251751251791251831251871251911251951251991252031252071252111252151252191252231252271252311252351252391252431252471252511252551252591252631252671252711252751252791252831252871252911252951252991253031253071253111253151253191253231253271253311253351253391253431253471253511253551253591253631253671253711253751253791253831253871253911253951253991254031254071254111254151254191254231254271254311254351254391254431254471254511254551254591254631254671254711254751254791254831254871254911254951254991255031255071255111255151255191255231255271255311255351255391255431255471255511255551255591255631255671255711255751255791255831255871255911255951255991256031256071256111256151256191256231256271256311256351256391256431256471256511256551256591256631256671256711256751256791256831256871256911256951256991257031257071257111257151257191257231257271257311257351257391257431257471257511257551257591257631257671257711257751257791257831257871257911257951257991258031258071258111258151258191258231258271258311258351258391258431258471258511258551258591258631258671258711258751258791258831258871258911258951258991259031259071259111259151259191259231259271259311259351259391259431259471259511259551259591259631259671259711259751259791259831259871259911259951259991260031260071260111260151260191260231260271260311260351260391260431260471260511260551260591260631260671260711260751260791260831260871260911260951260991261031261071261111261151261191261231261271261311261351261391261431261471261511261551261591261631261671261711261751261791261831261871261911261951261991262031262071262111262151262191262231262271262311262351262391262431262471262511262551262591262631262671262711262751262791262831262871262911262951262991263031263071263111263151263191263231263271263311263351263391263431263471263511263551263591263631263671263711263751263791263831263871263911263951263991264031264071264111264151264191264231264271264311264351264391264431264471264511264551264591264631264671264711264751264791264831264871264911264951264991265031265071265111265151265191265231265271265311265351265391265431265471265511265551265591265631265671265711265751265791265831265871265911265951265991266031266071266111266151266191266231266271266311266351266391266431266471266511266551266591266631266671266711266751266791266831266871266911266951266991267031267071267111267151267191267231267271267311267351267391267431267471267511267551267591267631267671267711267751267791267831267871267911267951267991268031268071268111268151268191268231268271268311268351268391268431268471268511268551268591268631268671268711268751268791268831268871268911268951268991269031269071269111269151269191269231269271269311269351269391269431269471269511269551269591269631269671269711269751269791269831269871269911269951269991270031270071270111270151270191270231270271270311270351270391270431270471270511270551270591270631270671270711270751270791270831270871270911270951270991271031271071271111271151271191271231271271271311271351271391271431271471271511271551271591271631271671271711271751271791271831271871271911271951271991272031272071272111272151272191272231272271272311272351272391272431272471272511272551272591272631272671272711272751272791272831272871272911272951272991273031273071273111273151273191273231273271273311273351273391273431273471273511273551273591273631273671273711273751273791273831273871273911273951273991274031274071274111274151274191274231274271274311274351274391274431274471274511274551274591274631274671274711274751274791274831274871274911274951274991275031275071275111275151275191275231275271275311275351275391275431275471275511275551275591275631275671275711275751275791275831275871275911275951275991276031276071276111276151276191276231276271276311276351276391276431276471276511276551276591276631276671276711276751276791276831276871276911276951276991277031277071277111277151277191277231277271277311277351277391277431
输入样例 3
7
13 2 6
3 3 4
2 -1 -1
5 5 -1
4 -1 -1
15 -1 7
17 -1 -1
18
输出样例 3
-1
提示
提示:中序遍历二叉搜索树并对结点计数,当遍历到值为x的结点输出计数值。 没找到单独处理。