1732050807568877293527446341505872366942805253810380628055806979451933016908800037081146186757248575675626141415406703029969945094998952478811655512094373648528093231902305582067974820101084674923265015312343266903322886650672254668921837971227047131660367861588019049986537379859389467650347506576050756618348129606100947602187190325083145829523959832997789824508288714463832917347224163984587855397667958063818353666110843173780894378316102088305524901670023520711144288695990956365797087168498072899493296484283020786408603988738697537582317317831395992983007838702877053913369563312103707264019249106768231199288375641141422016742752102372994270831059898459475987664288897796147837958390228854852903576033852808064381972344661059689722872865264153822664698420021195484155278441181286534507035191650016689294415480846071277143999762926834629577438361895110127148638746976545982451788550975379013880664961911962222957110555242923723192197738262561631468842032853716682938649611917049738836395495938145757671853373633125910899655424624834787197605235997769192323570220305302840385915414971072429559206706202509520175963185872766359975283663431080150665853710647328538625922260582220510403680270297504798728079461658100417052681940019095733462175943893670249320422691034369812463720111185261084268910299720311202100063507176374582405203847555197279933797614906107894985544223326004018851303631561144886847281589288163245187265066645384877599162576642872111240842068016763517100102943180715515190961642460907039408129216903517492961364004139670431041253632327030922577327960292376597745537095469115742140424230781992327617401906424512454877516862696105333694216213605394604245654140128533007813633449856736406703977342229811961042925534501601405940479547154534548407271737656262366549166640233006013265744070107836858468452313160467754480500402240639911970362218602920238867150711017169400296868759663500040895316214233425227956834067013470185902028360716762147743493449563595808082130442586469468522610908263353008756612603460672195404055984128912975994810000772057440230047673258800091514371489475444879157191294659083570873961515537797640262068370848046072969382719585689759759626104159152657577790782334980567840022901532052138935373775536566427046826874289963441395743666073744445583086477893212985302148197395341478170516614952551763291993699565744522639112519093541386989366817430938226424736926202072990967831154131946484377915459915923928287714695149274026409213645654041644581490201945749419305269002613972646081065071439603206077510594187798284793986195249964165213139715293599421897416647075187235788629466108560170428869605798394052906407430811833388677881562635867156008396760245349229943938867059754315442943430957258470988215463111260766774067864571578060647447499750354544559313286549189849336572747626297414738235686914837831363361283627903824840163806671607179848728555842931349226093240565957553651136754644387834283313466644554180390821898983294626345016171122016929619460169320621033039744866231656003566781813443100896568706742965658177445572685015631594412507361198063472886466241327193669426712951450397518928313486192841303255188431169014671423794374728334344652482043796059732870616274910941596862625302558889768470417502003140262284691048046984032437906606737749627102512710602060862662843666050192890893838320006091228691881836842361693903523126930368613796811526946997891926635284389927016519825502252923579366281634568108913074112678378199449772765448294920438801301783546499213574032791577507786002296423504275996997626918738414847394773851563552091220963315839034567189415294357040653076085290174249768185502885276344949577449110422502453723156063618103504871759158032791798367510067136100066217566049573766777112925287302479926720158996418937762016114118289899682955902511656391422364995062850030696812973507251727918598301115277542298851885311763594786003123063726098369850308310852145595748359555715739356633680864821078791247051031631569581604348748829614894154585355561974999296877955099285527423590251810323766861609592552544319954907420679739157072614245328950428097351037967736660135917522627061232312589450697634813177754456066603576220483006904225389494867729521325719769245927670660765816558298675056572894658860919029644381285057859759437506402446062121456085608545249251368328754843438733720201692311630432705648060137587936856721535087816844078023292064623163811291772297752725531075161383682134604577799854625622081960631636019206330968516216231660683468863116621501323854287391304495123155216365621295187475530976570639955029880425647340557785191349533039888643071431785052007986242468481382976340802176297056457213162198306829364628682222279923816416353172598273213079714192676286915681181839966515100307010826703128664015918312719604038923540682591504595764918368552614803465109289896559961829716408498135702922729622140263750595519947501618105854474019764971593766342388569701982214045410209642908388248860987218876494800835944491934478931331080777740838035601892228537110093898091204853232990455598524096889180504497043838415045586150130902907091306156469685958969228276473764261083791700284689036668670497679170399954436330425855797794077269935288950837827114357125780631282729349883385045927110609526062879059715054945907279841681751687041505072957723365201003263831478479410794607656506369332663038206021719551471952041208479627248539111589302866641079696991524811276979149995102660574531123881393934919708926940735738491944291963007280950338654302137812339456142472424586825005490509782168419895154077663046648660253211821517058546481699010351020406040779053482395457081103662802419307833539518597508847118544793150345001580384709447854602092161934402798458912472052941776762506497961858234776556280824940544437650597779439080197924300154959936710407983913033119996866535017872308995874345981050410546853618716669008602651872709506307892209449850428619343629495429310972099408595585896796000425822959426943909574110166784798090792890754084338798997585569009471963248904323366036372887420477179897787319674789334640099238795928413280479076582258181183540591455395810029729132679714194354057353161415847980294411862031322519054091589019122255319653737392856310390787757920503439443610560728204865743914647280480723365927320176656223005701114685591214450995505364985643365509525473974996502828824922856959093188033794992264659862068823401174394496293131985985880254199347096201038949171977062258657266707618728353902334806925083435649537445628310757587186877538159397085400698899220166054425026312832880789794907045544329548492870187596100762027461311058672024649539970560477439601070677420574723587570759024726518532288910223630374462004719642400758541636765726892037163539219477428690685888815809704248358215149135699281075072307826447406718734809484544537264931062922580337258517145144805462076646086736427250483015812043421751869316708560008335295934426745872998735071625170300571157138175301302407011029660250955862422560289064674131908000682128984594066091487347598861395910049396065914517216530677681935572187655860065307738893120925049062804376001777854452265015206218505020438314950613721027080139203770756297830653607775736632592864736585895301156180017817036902280660710076441006254000316884037752998124945554719004248954149482241055947835787572003255966447123768440333531554321404257417457980060298308291771308271425542469232666444148362798525717975258224681220471956484671739892041087919384450786335769786888793914723176816815216706810214555598133352126063672655392136952255122818916717426718903555974152910467258069243862506098603871358867229314289239162034332739310392579643586655581342530172510423849606810290219324124788330451974631601707465226034298916454070948456229074179174009011233862395384545294973224293397306200271688265880011208985226125337807028455581448577751811935334558123538018435432296215284836962998919261565716416977466168244520311448716278066949726554837191991467614810797468495214414497191266124258209334038408435153619698962218737471928474471924073026312829794461570159696747688148437922575573503278944489603012657592199800298772012290539654233631798150362169688599183870495897032507059139657134431133435500776729491890270768614954833994667724162765514731195167511681718998875787982178391089760065710008376769429534350552888108658911706758721195159361489112823082306843321196072050218635318399221099714826615108369065711100630141510704075711085481373570334484736386128973807170651264496478839340250121137258483942385699581395465756563747606366397154802563573736399649847255432858858709495446990631685255118599877971074544158828756390386685624045627377140357608225194894648532758509646135351610864380606204739052823604053014706912323032636557053851755375864010248567111408373108906937774684792995636886177071188664077388146229483712818019171032155924150060798705722914354391251957368768223808898244895974697476781022726203514912904936882288911507749046386972301788252888706432486798314996711993510261548209307384397532266800587384309407578948075198163816856104514178374428640041561357741112691299329388959692290096040531003231833821857778799348218402291334737068921889820714355129864315508778507993701535229570998843782958817370884720700044671618700284314375344174419498974828148386643492741817980451021795298952911529535866201038223377187917498695532283164306156645936093457367622020953383831133745543557069333352360541097580806251507569082018488774733352689124246378746329829720703684819427992012273665336822499743175584189601562040576480296573770641163928360065612427452793024271878190718285651448469895898930784416676321988573332086640349160325821877167265004656302792274657390679444654885688846995270196061119942760195715001069960613187691725593898690715131894766441022913262339796228747051945277137351683562025074527566498235871910012533924011031324029353072705845387895559662035656086344581372260926945169885615585672724591846723237672388902404630147827209056907327435750851263388215320381801796701230401972972357680130114900154576142171798250519710483813459592467575506056795164941618738399528433081943374489190562983895589184236699724394163033601597798177096809974708327966458536136421237326941806493170021835351063688698576140997580819323308472615956015252679563482993344813086293615031068794445083856791938352452912500459716043544428226155096232240237316290050437377278134782850559761357609228352570952081898316651640195570340999938598521575963837145303974921800116556289159210817987474217723581801024726195118676125369006351580152604502589697970825935634889059869410595506379202616270706771808739064430612342360039563008819424919327212005058541456290963769904961706255909705061317054161128163777764306237708256586091579578607147131299603830721219689885589139448000515510706571035976151849808226704380214453353087716151726096572198031258204666160405865775656542757547026816562458055301547087993695034082328447526589852789049425455215707595591494511315673452310195149726440705233725022381076727257407453237128710453930716691099308385669534529276899726464635212014999495091542333314534001402211012480682489931467517186540862268722311415802443408161054616103417854992338644639905205027551291197833729400019482732931514942753170279830474111167498453081476979943552813329441533944847191544091025309901990650852240243075319244879233563721688405282399772881061618962990128635978281538394611177847509031613815920769703157712922588367174861032589627732734977447486534565477637531612059204650108524216702083433062278793755687983566170794853980567240534881333286310798349125343157348617609198102142797922910187450802582026363623256193096243553231587285348829873765869344524453602183855862838769337163340210642221812164810815804414855098492145223278119621671769547889159805709982033368323640084054366056096021339773132113437004115777927941695373329055568984754686013179259713833914745762809485408199711482358077319436460313898339029315722957960599573799688089219875062513933674942824328971557027727256873301559356206093664742032299510330257800043313963427109733664666149086328678637398169163930833679425191320719427043977823333656549271542838405415482842951244186019213692486416798239688595105605708213590741375359700948324910678228957073714936858286176770569115178983794547248178680992583349756413105043192990507107473572021036190442176913825407722587709825866537712336311454672809622686285751790365617135626284836872993372483886964174300309514656885807310607860633813611410657838085791682433278786605101775560274521929778727671481864358632692639714410744007637989360092786507634449861332261318570349393965292581031258997975668211352874690069920869246104470307994873938783610958992428754830591591690818935592722854134661028828583827919033176185458962052979337997293754078536665290973069234805230896896023890769450388425300795015348493690850523854493714546234377923124787198041802950912040661491538094319823130128702813884646898306680836365735339079846217373763652153055581010795383359014910953368894269865628276295896130754097700711216056079899329507813586738566490035746080812067091993588223203775931420023557565111140385238879403939632178972644173102856468644332562049388031703151559309601548162154604891861503540323374954307645281608792881959442905161197374895800121625134446266101552767507385143884877260387501305912440737786875552087993017069940230049438751945135676608498865620814272593028396944025427715590311828305592946674615946442066147739128507382827031264129811700067761021222409250450958143704435695644279584726742692575136416909652474525651542917048134651493242804768514155617344246171002265205375579930509449090473787415459558571194765093584004933389801732249566742134959422776208804244368929167623787847067827250435925805960087002131890384832378474425199268419192170016794673539032615667971820415559522300956095276545700706153115657324893834840453907551942983761662231637747855947773324043764333302258879679890097289781762582718270946585710636846528138632235229996778391065091938813351181510840625792700141726219404643872065341494864810645224661417773908453016085890445099208961929731116932911409149776985185044406677451653029278147895807500883813212835682134942517751121646976485539544014247126839916511214372735520119478276444599374071653522646130415885577461858334332170042288550818280319636798634501983044574567723698297806446538692130641922018796039791645154373037833963115696778926310927723598077083437160672781382010390917687601368792007175746209743974850849133059261232489728816159412286175289504563958819931939701822986003770641163788053317134907732153448387264705349260897694574356458407192242526389642846178969383481192251148342930753311547374646918285777514125264384554497625684219137998735627506335916455535977596570960941017564348959222418747988579147047519831786507988341085244131684731587340766401641878294885249602169280241300692249487272688536223796240281450594268890536871675539194642770353963931597542120698028872346953516230964622502386938238646084614888861227348957457780774981921650697917045601166533662667814297127318150663295999061074620175913547415854526534248035177071616500719525903588905054751031785704681105232715041721021432888881028470373054958119536169610988839734796022335815458204651123459926191604946146743366119579038273065425569609765663797508000593816342657831397016769376631706975839713897590384804309311454335524947565978830694653256741186522500883715275617164886147978184860357589143644043324866921011959249436977074495463488997118051028309022926853664402250842445615256641230029517650487769748631311294826086418708110187837134153294529429238993837578174493532138325896418841269403460876759687193811426631531469193984816089542060668522903576222132984337920693831194696132449515702829424546025879634778359347248476323092944231888244203894982387584785604041954375412364811383919894008172044417372726905472203993955935777319603260665242574038990320249622467054443796481121397442542073848272813998358924273860508659652819973478979438139142586181065558071336280863415702572637636056275668509270273765513105521124448071866275278225587577903463728902541201901970866479641915843728994471904730873574209615081473776147267554137121811210568818840995458711550328274598416594034353064117047606251305701836817927920954390827320145641379299849306222059064180761885690141972032183669391613678181396955601711772185501568626423470006741991723398482080210555179881444928336943965845632911386578898942370761542258917359214671829109853559308127299807657603771737943034967705469792048576916174957504474805545514058393927779560075700532316638541303332405986883975128082601176256561709065860657361248873254030420070660363890597704694308784962149652927906284353282001913802890262330481000608649416819991272911873201994927317727172877011609535652307466851112433070426860381234632004897083120332171039659196344058016831585833535553541357977008582857312560968171144744328702641395582484648553027091325723979903972838994326978148524852717412637695594282585878016953814759918924015800433034292535960877498173210653934940402139385678386645114462107531741316450789866707522893203456281557485515033453699207971656489736564925293109242549342998210348758542616289953951411268872811967146426430962694958216183680275310297460388787577535756769947846682160167265699585048873640357144610607013325378783550916664011858617742790402925912734606637862747202868577642326309428985480618719526940597693261077656542572179823236080279677609930628335016725227460793517408831755980395473759258581677144820567875825065113900559566525895561340531851142339824188038157812586119688193301037309192461384842612929059176993540730775746653829217041637502382018635315096283041613681682409188366342813000100762323577845019279017434515632784862347076710117262337564760340893372160386282993118405983804360416256513353901022848807875361605656977080529667681431709023562255966911667873416643613503178023486359815352505353514174646639500208007575159474796834174953349073906583765423850906821854191332112452411499662869961258677653046098911974042819194833606017896627882520435689169326847296049311954102720548794297412675648777444104925233794868861149188866653240083519394541611156138580674375782739598813503295261146183487207775735315663111495784079046592893644977942250935705354043161008338524130771128638865558409315525501685279646921600977251991529406474295235693044744654553619384507394283738779388645663297069618477680588339530544705105808360136925458447025733815917785284341432492896016398082409807141991604885562491076949963789655232885590829380855859785468564496508370548170291499115192724689506050298582130521505935316510193507999808880656837746491305192417099110037647643998194964202394605003550953813223244197178740788095123296037022101271511356431652353761721154004738943662371864805991998721019411735893439518302823943392491379172491524615847478973142705800830569702656708402712802977028135574104186781377217165682897216222130033865658772359427833671119844215433967151524703230093351721508994744378007595894881570080599980140390163234426489377127086242622501926448704608043342012488513882270320128938185444144078019438850508805076284810130403458022211981495215414642835410758815159199671486668654726607582621119892718606649541691981358819367052281800212114643955345130625851894143445391024170621610457493742666127264938266640567314851007639276915520490667301193465519535366818422486650777252331019666658828575122334374818842170576637560913142627989974836447487436732165536520986484852353861008051515725711358204257193351400341252240830764323691986568394788244707804741961891564760821625354166559318513981075892789563229326135189532003970719071213984864921051912822268345414257571067040446525944836269143982218231401713957236551296413543981385921069911509904642773553118732948749554978939372477622992483142920069679075601499325151050405770350306642964439704825702117365811573008012660454676575198879309322737987045954431233060396930425669441274199210106847109620490068553404750770420098652110147877242120599078204500088787705638432815221389015815828141161340707088853967582098398989535062775527819756612028361905891988708008682928806332257664439234301664784363395759402536666938817349940438049807698503761134182728005296363763912991601937679518585731669369803005519637360741010162710039898543125147886324210821947046245366932714679913662380540538922461163349384347468712492094193755737444450307615567848843324146334438160983532265527076957684992189280954893613327225163849644321965041314158076857440029593932865010438495320355129037216723824051228924866681449667517470502590320912348811553503393074316909271311434206158448945792476661970605167277546559457907517531364455594156547970797299906411928990193090424249827353388022493875190329869332674959927593340075836534374326638384053440737427833044356808863307598636604554005241423410010682102067361549723777850981114213477023223423970672956510368918951122464699316344362752481915753595468473774854620169783702614528745988541885149359752962779842692902283744889558122828040665919563687389147216998169892537819327502802798948283731838621492307256311979010281636362352915164654933169757952378785317355827310911427242945896450594314307884748071884407603788253858919496262664641492950122382181155087905294543111207741935403413336630555579632648097304038652557414257081044070739261852219394673829306587079285475997162517397784751375721804493417930699945039542443210849635104491297237604562566485430841707343642968742524319696478269845199275167082229280954184916749410858560039520018474070767676993556150166685781333288086897780300281855963499521300112555248524928620605266874905928247100952759162975454555550982409081106968930031279317680732303515805391968159176551918168410639830410773707163994452077128512295074772809817623865423945498004278982189952658424501089092767631366024398201755979511514127106073272770983839951370878904279446341198485991900430094316135299704427668089514538724013065818848542463799413139994320980277703005076808107632630829578974574856202744989168334533056475094755197367019876573369504602429323840123420106230414575947282168878699366234842326198861165671564255109944863941696423943923783077418574110814931878019115811475531780984571589289111089124515360130484690419966266145857872056912197545115188346894409468292328587502025246621675672148673988296248992205437561857269175036588794819230526949924540422889073700935874305682171009770840007014188754752168076492833050108600421700114300810561928191146233430707101357372849597499358589779397664608292255302603435960474931706211141099432015923172038695392673056458668137074242722912626056876758077913092897979243539604550933805792234220004291429193825884555336578753181782520305383906494931178913432529494263215024908596685856655631627496658293399870296387904350946114898328382668401264903144684583027224936135993696178648882829829919955732468091256659741683442478574678509162513405697034658404768118709880930884098853939672754437951795051072391473769319835343321238733049533994788946854925059412601171604900479308388160835239156325429785604803654711061471485102177958258403455739494372619869086072622646249604188757609084919104023305766949934241789622057831112190040050371731061791623181407284394236915074269694233817392262931549375956941764928884957012588564392878212522716832226187420055090883561069275450937830924478985792787468033083154736151487798509276758865339441926062900553490493085547553710600445583559607625202761330031539166285695101001378155340132994820705886973715804830934337190113757420085323283375129159772947562731126545607858001950544304781325479710844518017843916136494346752632640126213166770351557614801841870965043276526293867498638383096711631730193487790216410036215188706131158580975673920385791828545201099983843152448420155658539858436932179224978776438549784504495042788820196818201506403361796294790523227360996108329495777506115986601760736100334443686896270460839887469473264406890202676071350132215347254009010746196179121138635673747140697299739042515317606307057558146889992561192680682381206905132308955098617178175513370408556905095697210495008931930121397845538742108437754665856783395897341270607634777905381778291837708647430306810593983350388366043819074510597625145606657671915953859318481066786294756940395940063074730678942311316585420821339566717136610813860886570983757322022383297099309198421938479343535627838515797337805875428196008182885222418492516970371644730976977704804994762819979419501819956131310649918044992193196506521050578676524253821192438801072709297912236728493250753450309328644872437827279939017338964377556379689251938220844778556093543743209786236835544526193750186079867205102935112333612377817918122654110467355079701325305411410255922915139852377708442088378402290707227014874664682836255458876125438284892579201552592159043855248547144143115327615994402698220868195373182184556464556364886567610861497831424101190017737081910927832003266554406935169010814459037453537675508516514354574550931735857724016769271170915225830703333400140976909576208005979647591839206413558515872262716675059156371837092344853501839297998981006373398128698694033440536807248026583512585577683179612647173722324077404816480868913539863293317290938729453636880059258826721915250656422391093514954053301880359166479504247980651500747719940927067991261620677427471539140714870610100241925749885070376432319129339244599174750160783217212472958600392275133573210735731342716847950974457386045046319759972451055410753122608825646585321445153604214671325322970520131019632016622149545285499099579219191935268358904502589243532261263892394653003780826273944000137240980450959172156947209215258766726581919974501834394852440067649380138713590189745405835549076952522532271772034406317507269925161550650408330710589078629493641859958024398930782866850694017573296112238167673816972503381730999162866965726106595638114829584906709231079674517839529425677287301913256556551683567083923202082185634177961689694189312396161450249059307019444632096128088525949275352774940027572437765994531747504600367469616096989633567713869787538224012805276850479126022504333476567535134867666699960186584929251953720999751288056215295311750926002308488742519668726408610163893570819400049012134791882771105493733532368204703998820616678437695858241190490829291787744062713997839230580395494034051905556977854302197038658970641309331558160643354684423420965063214981332105184222842028018665145288252016110424445593479135618087684991073868547650516633026432838488854162250638564416461525616933360093566084803097490520525863884225317637454170551956947754890699895661423233861787957032427869555149332954500954347228347041167488914478346092814481645849311941258880694927169136199791975219920517502597547214379394941199456001734324497115006854062500423101256544443745683194618073700735630201662216118366630703434341793786542916376744986894004679870863723139473898638075365387764029250257685088506068923296782356339516121771352681566938630034707293329455194361262162826729624788371454833818294903334017482744379628034998030352878025113651572580186444925593441178476696893385758351987194680577540520899719581979692350428159602340727928701045334752709168339331933924183437681491072935853311673398987355311628846235431943552727174247499498155954605087034395110720345159860008170537810505700455635330361621256860820205222751026577835391166716057310524908652057540203732623345070676180495670343971241211921809960782870703118401125616457700409300891353513828495022809630486091903345579485979642742610270327644962866411966914581147281774244330052899932661820512646226512650003199001463032645194850229184333744247991882648864435629845827622393920347463322875603619230586224081986532474179546111414244817675373044009090909965660476255751931580930399718998437661858377156761055497826113862720031465264042498301610518350487617958189835935906126619276331312488593274538867624981705113047614182527910187851817554657909193567575509975672881944217058150782163932769013993558242125388711829472241560269890323554382324334863416296580053257329354154243995843124768529868817079283606652084296037423774445512306704236688543435694871362563136807471279480198141582436162886544679725243517126060831301874081719060351474133515485763244282259253094968042880397223948565238468143366497706010711643824043037628624380472725631203748271119462638891363679259391784062898110291151080223716273122872958073392081789347704421142778354020613208552318710001107997038326992828328504474684044436810205062792598256921138912176169572216351007525989842947969739834909459079853293363754223914055937779573862705135884407729645672297594942746892298983488382487997537194218918407115784561571691869371855583678727576406831618882556850761613408568241418342884448135201184992489924759576275383345674576321187656307854951170677852101746590236703960517702855108479211725864818981618902506073255594424198771305629537056035165815487056717372936140792645284438064646293135927880232981035117858377591392250288846752284486317063225474225063090989004779863594738016226908388337026387910152644991939222610534184834959680431956149341297726816145863554147604801268829693955486190659326906930611668330055745961297519972976559132792756675230274547827422681422798854801173730207560971085968933637550090003265927929412919333541849181541524283367800922536024177150377638009740242071541763725980057522556183140009857460083810410499250265817790637190536157451386204526648647379283659298982480199429641009695054694871746911688745725411448909437407177934500762958787533745180478260143262729680055133822597655311540221636165255926930257912987785295459571819435643800587077657457757643396032419447925955796652736850304996978047854107765245069889365584542331274182432030404562852150195930191860852283420060860318309770152874716509564748187288049632566638967119823406620509380541994328368551188332714034533488329835050222728565621783128340286302535307769876349959324257007364884513160328019571699366378034766466928025982374471605363567058459642791707192867600499917350385495799757749593058319412642553652970649598637210902425468686406110736842285163613673763215725675885300302908144088596368825800513544001671578062298740177145669580220828947929155164889685079335415597453228262975662585286696852984780027398160888476387211364707619156882046381623977657843891632898682747555315547826726267598975561135070022475039487720601229484658691951401967074492665438180023442383113830239374646049037430537622986356361193776439417007775862264433480979099516354978630319307818367733208851888001496539193678040531386773495139858468899450259585639108773493741616846038871263258146099774087751950694616751468771190019533517450034354060476620409224606262635626602771654841650825560412877667179145569042234557793373727373822723570043178660880929494231764297121875902970396711992935572302205908503712200594588156574562306508193024903993855089681151271178369514294561513674441493180702038486634193521710668416266002254295100197798068415164870895461007116351507356344782983310844393419274900790539671881870745068884157123036909864659970704200516300221932443177818963289459247667645696953311196022922728151401170877876880574356482994026692325803127634947488390203291608154584273635961173372171131876075453245658908041743552024247579809407405319573149094041441962532510543786809309274385752442999857063640749334122956932588477206140098566243106028967053559246660379846739359348522349579356145640737829326392979993134368111529303846987220271006806234680047595083974742924150299054995885958729728213427839234805992908236669447850770366373281448666176140014819522727510414954233156283286858497291966660381469505377185967881103143925754432690358573758947069909808946222156801828196493094467134338293446524288584961198473415567296819472793218847853696234994353512394472489918057082987432479875051125116411075012120132701466038138276397556093217029713838942700284198553044437650808629742104907721957717059848120614880131094402964800168410478379669994461763289064458241623654633143865866219263503709788480187578547329454985554751726516070823559516644362480332198618554835548763313317091967929749995218354832387695140032620187628625903233988079221411598105852296119521335422708193394374228136536359456075108566704855070123144533159607359115601408790143469238001889274934815960200251517161761978453180645105860455563501002269807386665299340403397505549862841725095317117757733260465224327279349985441879748361859347094390477695429440944893374244361036548935106438335013741113423934747701328941093173919418089031560133345472696066939124139022190924829839211082495350137632308695320424278678270257378128650523338545375936074317706966476392882083790327602791840114530129523627419161187277809184861974141933159986149609701182969443696182751244396517749085229555634596334335908823078543647149781155181389622194035400834197681935817641432881474225665370775047373517081029554255919959979246167688130459243612808151384507409626275382825040692271185992582272234532710084138234757790752530765386652165318313531795055862325626754851484739075720211076885486276239945852679656318934182189220751674059051238284137546886493133311062610711134759543412538625084090988604868109881229867033526783131268412539978991133188911440204276941593639855218830068176770166331590801497396387210504806523142222835131309672453776904148489923533847288709135687761285154137821890840905239745707742547763222036297662787501776536498146523124953884406984898342003491564044082972393497693340989378463743877671550591077489737062455410556573628407118942884358520403555976706280114883806368833549231389352042297088818760016347790093246210820101828950453407231169961962726936419603036891877877452909979227543395972550607816755623218774486055791376185964738468860516298157753612210198051863128905378046168701487857626637423306856674000088511082224551840761923262477101390105462908585340325787897566771376346109906580374775827869049019334582504348721885130078783637705408596462494195058584795897985602244403629545291674533696225058598698145977907957440644633253540618262740147327802341975781461507494921376033103169660821922591490408089252180839947582217150860710160411657105516563801965676478052569983586754862948374896189162606391858240555599943188195055273683214763541613857294110073182632977335238201931546742248429171819581717455980721076107413666194028572814498240502495932580810483323973976003617665336971831393052397949077292230150519922860560404126312408794298570426045374387698203448446175721433476205327777048577020752261591329917730716628938034183010270068188434447044095505892471058831480110652875094799495958452673175637412871551978415808474629237169462586019079994626162190823691620482937699097391540764068673324824643074871563447663821981140146529540975028323625486536838509008514716688291061005184831255835063354779446870681010409948325507724267409046627569094886358842633890122914472982230950212889380490253317927982908567616199986052670777346301503292813406008134268914503556553240497718605596487078150922333789616717396699394233424284611653591367395917594473342652792618286370792364058245683366897139656369050487740970496740721836534516404859942829056260274924947957391821192086412698432232257995245278545304166888708337802303686157585417470436271962361259952501196408576406910641065288497785504821402342964649169223715497739560662745842969180675155472965358742998416829964964333425813838807937633160072676647665528207858228042062366287668650719624644579903429734933633570133472187770007743346372096928606416887655337648229723193798157022411418273528101826929043436673810793916409134694254548481912987799842478008454641803788734473410578847792749230082340643828994264562445550957573079446006347458825467221682192738670842955931808294864961118888488196034906164339257901622261445034722273119888580884795917138111887072132066359851007845704836534440459185659658557824519205918994234752724229237244747396904412644048551831115654991167731058464878286505762376832819715559618115580671409829564882903715271368730973224653366276032448613708754221853703935800143205237391563550584490592814286214740681566789661450746440839317935543456631634943265518792684990088179838489955920036745197935992783388180077181488661872294783675624375490501987275525159844601996191772049167109481818656734452321084264520578872670432204005912260414284854040678519188000302753467184795178262547777148811820614557113065770157532497183458885462251959293014463854301419386843436257341295925689747423591540282654944736191832696210351577744513242455876025545343234294846930755817003869655168425683203729258035435726007445198534614888884439031574999652467683612109704490255923490260655468016154741837553031980593330153895196917197062351049401093367463149607827601159977393565673697028743093294436311932567206518023467845961114782830204897426455844406950320414111111922833205387125015534879767891459689932766554619740993952937059875406254460570267593301292789118729026439308898449655998412906332003384863926980711479003785691897882450636992662477165037327550591939077043195859132136929574288978994867855114761165523914193726467662389152105061270720781850565337583304380348711802147067962037724562240600501126301719544080305809941025671322815952019673232030346698246619271586804745464055370380092667837932798937733137846407510884135955152441961185727528476391435502442171526801919597831619784963324748989987995121983468866993440368813075767927105544345467396954066809787603049056062627687181505270713653124781013046049362484776466046954257772338694286170391654796917477704179412592152525696289718122755342003256034901669961479974884215783860546120543011889221937538323568040078392262191052622197246584924694050810697177153263826975261110588632398867836273509301511587137066665799477185862441758417703150709916488002721373138910504594916054498204732799633893694265005935847100264476077228063956175015158847349383835482091279652654503114143942411699036487160273472412755357225226757436346211110460162719424534648866364789975833163387157159115279171818366956251928693360551488412568174337347476639008969030847013667842130401271365890011088964255499636930520260449703603655332502645137448677777022607417141497210321883358302800714448703004888241700976870476896148879988228553095604092900148236601499578767483500700526361638549204978654761340134275703242629192741917997384419859941619750120071308377390007710795599950331294430665362616539383478508119588235895383808300801356783347766583806477978071561469361470097393963646737398968081279201852169653517949089444528711227901736424967242263001570636177162566411142989941435116162299346103647960299896983951032266892810088233102348656741816316884247674380631173269146149573074339569113362426421819034712252432053706014071074057933515786344404841964778618320114949031423341132397225406240406506581338856798764321230751608323289831328435651810366567513799234444653520805243885228352633899542665922596658120160873658698602260009809964110562379742129117309635419695748008262800228169509389283422091063500652032770628309810056804873152555930751074814249392927300902544294559350628246067606881816362478741136182364384265329824473477452089981326754768072143542161538597092966776071872291408647054062349165986548688509051753164178314500805121709099984200657096117177800469325466951498706008648105390532372032394944439565270452420671465903530558236041887248651351196981645229171740013357566487460416800660583782977965131175939723719811436121094073043604491017157864748513631206794134435864614061920006127318024620120345316369723147920510646076421342087998296287806859587180865715973276904294532864544060839139995254693114942160900821252468210335277569095926210852364222307108725185615879398803084139031558261637431819751754639812798996207594447357530579601135307677905219351709868504234332263982306924536771973817237284134258200757122647849320358977600950220112296660006696678411358896116155171845639273654001213232161787092972683508538503433210667869454055565052736483246722156202236455553608335359446560808469533039812779395720721193855829086024839747447268227316725199693655804248794033516641627396070443127168179561784581810077482808786519905510887413113308930316702178457393768540404974026781633504799690980926151534794657487571114121482219706762823660491443735441276163759894175937941780688572447822521671247380591630626400036493030122515159927867686341064569790948890687157391602879113517600650311380955890117550983940359467409377012728434603589079905550655988527679931632198733965537213257050402410361582560605709347511612452179105310798490962872093508399658323142842397359104340047831635229983969148119240236582685082662577839462465884614656126082493446645499147821185906938856030000846397516175527586586138252497799436705190977962515345427908341944767249525029177103161174922168358562547999843323579271033312080921003826937329275329316104660043215186106313698930047403715279126963380279321277640302033985343397103275095677708055369008458569500560668017863184113486147448389130970550194707213792791177879659494102166966198551125461731690811623672297833625053413514975079762397039173059652849921467259830779360483112452055994536488403493242194781259888388139451244655821614015224034259479123097888035119170077885639794607638703965691645951991528371785020241448803131023041166182020868550740123627135022098284913629399703335664424627996298656050588716756679476366674707134074870467859248102980848006860128792931811793107897505134436508020059613889534519384108244805908498938640105927845937672446854954571171199339480585173492855613794145189609970398818336998582563517761829678423477888539977534038892050016306147266732067634250533428256438795482605577831934790150488283788544979487447947544731748671927219373353640588401114931421965410979035870559592425984332296740937937620483107324006696576170981042221048239269324581151836641618325748143158524028669873955469930087289063831991907687238822567689612123436152545140525273003513779229908952729963321146681630421085403098954983707241981923721061344162721904606747191926239430064673545674880149393036248041853444829436327373772678584764703006987121279447718114776299417403974376837042026188431411969096818928365375227060974708946924607891791928871603113789799243486672632026528007118728774319744063766376450762892133896152270669304540151646253301942712881534639832092573072266062201071835621756790088637330635725266872428356898459275519965265725605820486417057436142056026342031749221459239660573866056254801444358206998065402953245164626931502948447240430597301597117110763532225930471690605620832549967507811883667423712841641381774926116206750482976217803804776648430666580366271432929660989810875437618888813459532251255605862648138506585017374064574363724388690697800542410714811922555952181290734028750543206241812007592317984665955937458034450877477576261554686429570532056475325679266481706026147223167577242920239624828765772669709329751039970295817501280277842973638731127298095700334384884122471348147361241257575351066372374507286000666896365644799754974260105319275201040921275876350109035940396721412303965117259455854636916054368621194768315325945719231214922474457113404701000151910497457949603693815872765080876995059487589445279546324655995166540659008138051733496577551174086971011324909635377800663315844866240179967546874125434508156996597646517345967676783129504827148091659495655224936372265977093426480164724471026215759080465701487954922346023171346918681759856487006887689923568026609667356257551941483046701794019870849761048817382611073811075571892858880026563895589605835526249937004007998226602645003375935835035391728870505834007555954641789012827741676848040092067254771498825484940245286823094611092408270064795490169830654476137226525744150909455427192739682315535905864092816519351923839582970414497442514352560699470981656442938025950271261013254215015094314200723831338896983646747549743633370175026886796820371456346999760888238510905674359368180840311310361154425911703454688625597233263654994361247085982299985656322092364547331656512668001328047998009615926263929379594229715419978876656176468691601984056809685627795688426050107865917177597489497622060449640728047320404266859220688888969382649401564869695860220913042681214166848042050897107553906447703402733627555373424952356809377984529827102914394785642141048756453813650025622167949018838923788073837452582271114114851160452659810685931956255237008865871477543373466432796609171307966712307102441069964111357495458507517731265338523123791519984453756414453100214415080141679877660948151086691951721531340791560412780669926240376652556854277185112250118783025783810709234726231277117776861452995837545378354687520107631955494177050802866094475354887076840265577333959696791707389180536051894554112300927882071221657494779250029092244346514127426156645499742503264396455765274442996965544667968321470882634220819535893234892080017427127151766892970396905856393983669291020079123536184006548650485254003200167673990864343664034889500115407149216037047209795499235900456768683768390536141214737753278262403708474649365402362202337553906079209765733758651756827855373167478444963951013381114637894259479282076483969418573407070684142053271534912478129143934342166148856459542746458837480235219601617276273447025292799962732635635493886733138654192280802545049533958835253654942124279246378436472673096343354260751254122635799791175257703517042188945287950730562435616405201364929844026839422774981964697656610981627272245225247480368001687750193119025396338571915360155227854158386604441828000686053501251158308704343054486001167170867362133086471602008415037005685016764704703155977016474574915942964952590918613988426045110265988616622817326216165231284484194402079807669876128373052687829393882611824391870944921650843683002837091808982958243606744283955074686236972373452458668595954009250872433442163301141088384657684165951957532459069908545530804285569029947342490561793486406606290307831976107110051669852936937818869988516113278242141192373479094955733884604788966878249529162880242428031438201629003172109231761388334136300167008082956329221850282941245180587969996400503452958800358546024070004212498357099439517373427510237452429097538632899411406425544121981199736448560551009617479621576590712035357029495298050786789108192693436910287674745161680812212450911946437304603332334288086757570643886739053449025683177173064628516735837259728445609500930905313826600227770444431464308870475011782990537658626374063728235317098129138889317423297647131124913638883945419510887670409728321752151035444163469091928406236605907816549808501585832779927896120275514419585024883813337261020650499820589604668496795780251305279699293799044384439511242305990811787072080904090782521753860800790816566293307389562491433887670185434117031834104183404215861325634372013059257948053418915241414037017480631844918605704338673859158485040741262835927083734050537030128842308008054970878421121159566134093211407083578906170301540812276366900074296150293296533448856373458202420027752882758256987582118555983734954689712289232310935175722235104598798343343692437282335356441608743028372396206688050750762936340571844924992005661073947834526371012557323266367314438411477195598028931603929958330097671816933466876909711616630318701856969450101560944589697388139031218103951238860656700308961921846074855813913843530235785436231354631834856995274751767999902808798972141939942253211515829769684162083392077970897257979136302542412878397439687854378486897358280296948650138995558880722218421693828591914442738832844182369639089235614361458011486880011661868268600272140641237455061289411444535398500004424771378392443468750732797014894069102818610175435104392912934127826051516718838169559417641488838765921638159733027110997843563235103369065775656259986367058664949650803194724481242946525149140846262212736741611095424662034497583780813322584495163425516764659270437635534617990316683151083108763398209139466071090541732141154439984931817363392083655274233112181759045264214669052952031945540502257113195103623771943493729114057620126296450167721420373639027196154980739209300680740283315070770791335241702051809980943006629765020582783428142692467911042346850365256693315613704112010322370762056191426485287631962790739272261986391320269736205756486688190855797805768715668830147747262673246971092274258023398916053989899628952457025160990868724955262685467805774317971092675645040469916579396303578238964997435207573535841696936014471424030661693887376223119415111886554311220295734884996181934370220981420656548323260125552030383128408306663122959290420694110676531165955594395011077297365958343048233088964002310547193354085766382830163184444455129099717046207796106841675701075882513406766615505709259177782802713484089942242853912157783524306631713715668439768079368130178960125434413463754031273479671181689075840661668848431401481602261581852268944988667382613947111863709553032531110514183919140084435076512609799312251505866908688181215937728820725381935864866834785948664884168418047510555557862475804164315240596721917717144891977726258377191589102589528132831164808603657303038696497650209187852628455821805725289700622904937648132338869752136991068604290424527778553868446683663859276629275950017225398243200837944757896373307185099396355258175662665487910210142272553998527848609936712784624410809757141641303010750226064884177030967682577001981347288912476937430047862837840331245479076969597535011297471862184381562822253021684250487213352317951791513598786238186364983931140708814377209253626594555417176700244104492957862216999070837419314414835417877373895976828496769087847955502664137915645863456447820998772963238828128749825908724329174467070520730575630858796936455962442845863720491472016278530584713719650572677789682241790894430994265815217647912219247166283809695991364405334727617133854639296402900159470796401906920733685840529494524355719115953947476184922476991466312120393211877267958065035940281219157277083186957899204740932933281455192186914962713891534765538512525543130209634398402235183523783356924677501750278876067483631372976992602692402573296017907141324669822807285299503733220067524169267795651483969213363619113035999073989525368444800873945983698170179527009244710119759295757602958956225349843881180818959487276561019377315620707544658247935826855113959408217366547600530335290122038328242717539585040151253488020516056073041886928891174304052577113137174216946686331978810207115650625796494204880257789617847956320781018092544436976767131941817229123376684101506163848987363851139931748664072303290786251727145612453375068048498361273567349578528516530620149452710421072666065897912062167260416675057005606543320663783114171328233235515833379814827259156227084925861471095886078131402636680198072679126567255897998161757517148115207790664647531643170666781220046475457370800622708692110034154439438343129015086352181886194169689420775477763223804662832885982437074990083818165199749647630895880468026830487437620429017174358347340712707167848370916253193571529775059623797770847874768232693604414391167215114297671487134945983159352192118946665675017079646394944880987581956716548053867778944385370625601417015988251751666052129664025307116518330799715366621884950458572388570406676999238501973538661516646163153116046487793477892802813541637684861302181362817367238939548327989876484713165782111546354217427690777084404050821566213415465714997704501943625976916597079636850706970890226563032866248584721458746284123202429965299885635407333652065866333718398922619911291203408145138387208939441494915148760238225526570618466140009970600524744284418086494472185560091738984956973511028842189860522751207234585273036482968747285512289483015761955038198870132446768546307719162852059017675989784551156878067529069725747212715918636381648354277652720285161473617472747080920535174419348287121573689495332268859168380045689002262385930090403799067322157772241517809860570236564367640734248068030763391908955498346468142813129374078442629398831298550436930829378462511347368571426055465687918237457759186043045509759131729447501806486836841803464693848250215102362049619539364016268151116736160497698449635327818554928633354184097043311061832715554075009743445770791461055575412323359552146906987763816613480860892794150554005709052004185402251848316741543975017067529694846045741368941747649666769978356709710874834667815122554142216411856256639315363500858952021267661306225543473051234542900645660134321276992609506917679438268770357048078824310065898854374318113844773366232413131903635651424855274960425077864720394004081385478088293822924345171075097790581794892234351039475894946038370778341242412327484821848838204348843623517490136942562871913152802477614658128538024618096634232056023253113090460974259807604770710715970741323012111380499616632306528978766409981888542592058138673947414410545699420984709731613462498261080365440192178641570650297519336517564514402680686107413112149591214829482414286961601098762194101056086556079819697338495046380434549596145266816445822858048092158856489966240493130114678908178995215283038113052753044566057774550427347230898513757144657688310594890531519146031170715121468232920057158374012277881971903313657721952757986085087897438649050418482569377633670901567883632577410563882796467092708097244155536679603826342313702725609279075242875892721106532704438471419755199905967639403411231877844503831297496583507450082958768119633179306548388513147462209290594325437488199660093242586427299629802104217660068039307951605006218344906606206913902431266197725096039190766967192287536735400375945684584155450605508542208623160388156571678846933984415394359454247270279417723054686465702918056255000612207185229297367926663046246049417106676739194254986907814304396582133433567445934630204838456109838315405159406972534617152191460711363234395812392539829443289904416156169877338532592318965043387439044514792139603425604388088085819550233399258147487746646898284723156574030086621070743131608364341724345656000635502266892204365035191480321284100865695919183510223427288802271941380157496140428823787866179598066808807403253710021798798866061504566002325823748267450411340360060329436521831322589333310705067941967507154374258407935614299863107756919302587113790762622540984267040544775452201477054054839247936819588074518224134753979291143487836732863439335404250758033688590959102429030105236828113064045435255823917128612852162031709536846237466523797403773063946775942325446794844568793000994435860029719082916878204151979141385165806990268557445508282590017548154116808104503596248399268033876972832333484265141579075100568064160786359100621887968884148974939632904832975672924762185432386483733349396701453014042456063080280687424429516130405298011416297617658627903501168935573387865978018005532875059670661651540300681173735070890259590118735968670582934203976407465258201431770251433530565689240973342670822163044447571454473403268517685314276455316401258435711218426348865094704204351198307213018970216312514513934170134711673128788373750152838838766699775154309827695772405779699482815082033220562904406436336074820990075009579124729323511181860887650283147015504327388010083612204856305199735016894485589219431584959476800080942331392291927708464340536371457420853897807097428623151697017264458299508748895824434936968022080355559948314672327572168898187841495269969117041850509029686145932927544977749482099127462143103501808114937971189840302069910381632909257543405096651475698511750408609083269036191766186962179257152598084363249842294571476539004650886891052620226052447983643415999329047053680393382791334928562043137192490528793882502117538782213272870722312550140469375752075242847308317080553775411971101836014607627030562719083125138646759513197552800577044983082178439120908502338036399324748903499392462946082862925724609681433347321635892584656862351673667160849093925637644780409327037035732297075811469367961851540692151293399439392874800382567611170277504670893416067584713358130847276988613379338837344123042505268166572131665709636165079712803154885586604913789128266966677701179314194760363671010092858012769568830863268954882720456840363492931699359850933461739879227035357819084625167315784843985776198921475193936132091585799799479641416321879990126274648768444822705891259085194918830248944057988953748256310132743124408553587426128784815355956827688877418233711174573981709725660668687668305985927813654171645379466353582347892727331494112411905303540920010427397073148689951136723802772845112462506298641243934132486177971660082143740631294571461546760511855480539746749991271346960954149649929032759688549632506658124148965422128196816817272308569798123739243803116904976231705253368102210091638177492447663745156361939209456602237581439331614744619107448788408690074559089110611232516442024057807591693517658472067341888308780938352425533179090136814388680531555516337986343958850709969306360178508647149647641833573113887855254756161668374447466470823397635139812003263890550176288504054936110333094191352000345917998413805899791250724641286802492562812371357685893901675674206389100839991880254695947752213083783555077437509130576795928192670583156514990393942593369021839628911413048936148691229199688276856514368111020491752063858139730886953324689035859097288656279744102167804386468499198750768309120501924355507081764298989085122757392563249528121001386136308886316658861560813305104699168110305747880882195457994231299095584224635342401006599810509112549441502706385179579624495869276948021562496330858923897540861370553176104023609619362820586068289503314202983380198862595253945142691153258204303323432144838407304041678243128868983017368960609319192841897548955215643374854293812373534035135292760877779306058402876696137325874087277869554470726910311084277185678743681543490051494248688607547576584151723652208112082871430026543068649868763464397219530214587376300294132434334166580236606095393393093984982514730512965968396798958799987070498368154410709540033107355134773754389145794039331403468592431070289608041856700016552787968389273874268043100592464143088784735204184407667287967116680227842961442324313627702489399202250745878158667078304123769563571692597754205572813622443478303510383064973884329393144717674428115189351674872021443465524979273260835342841781790605059294982741629239138576624319966271389612924198399681142453403159473080122149797543523812611112098610177611369124092271333357523418049044713453186329371148359447222480924677185476429534598436260493348233802080624743050470114131585885493499167519649630995100440780238114288559279514089757008845147039027124254905425382978684037198464634515449457242379997276691215123129039828417174088993557255431146518401466903590339477042977790111284169021755107625197763084184756713409056556944474709578060159703374659744624256256980746538992496844321371889521643876863732728114731236116617936636126328005244267632258184228512691990147844648806383962502720955636405486220388154765298248506155387196455163494372642134090640460666025320404465722530361858958536902640894336869509541713929664279604905781214122718924002617420495456602641523353059528797597299612507370743187872067921733062058674770973825693320503246469891203266205164871624758612047257268123514417103688029316414716242379780339596694078284846856221633764459180197082444267096894466143762335767776509400762804737292906039345138104212882672824029851870407586654823626595547159249039079462594783888169030715417392748643971466383620493529252971809152108748820707988014637952478493242853195958784204812070999126794970553105561908519000709082256228680201811451016524864126803402882258325818922561791461733386432116862979518683291328269279411021701005682858589454811093711593616322683519037628851754027051241360874096196430517749436597786143877952565247665186844939512242559176015608012670000287423914319628047646146775894843047430578398615559637422262762003793027610858988082911915741070459477474026387302334031579355171237323212004874319824266082889021577119761341024201754186546497465399958154940968387411615703396612415942120238977834724873881117491921663968174608696583631526237256650872173259535814716461013458627125932989449594165140681949059425929623300761270954288877683421058731346952831184431971389659433855727420682877471412323978937384788890283204154566618083976475672972305605749629407207898203933806160917695803725432539974530029529112813472284787066868296392346631972320850168080879936900195688525670701281869083656803701386998668055047156316750776062485148822641802530957072503580758509322145903475432988696145744998411756652773150899824564164921473034684552797428383051970321503779597580135661744649585730413534996516256003613357056434483907887002756517281901521588014684966054096109198669577202791464265603960345234863394298957305849773706034124128547905409258763868078528858905338838907636523456182213752691324091800724520965635101574698413067288266017955224600147387266087116287434183961754417302942789070616993906565523011012954338862696595898824939998302880253092109469405433340125375689717866193560563704643964792045586188650035111773505280936258585457857101022769906005262973270311259752497256521835998969741761269667108621518760226589889299917573082609016044637337784174272865254549113530691996178739759922181275595949689197253211284291147425091680540256148547685380178852343413429978109465373555630912020542379869442243466239756320474739507643860629411645524835671385727293597727047561704004372700227547621869484473499557275791977728873722842173771521026588973072540447068027410790371671327431251003259925268397377164366463317385731159333391320220995094985380728101110346201585569293678310495502686082849667985437805666708584933858062684622875836064943782057068374096872446019507839155269903824948958416894186600041500796614560145303296411935205249485735236725636839923353874145099808757119060687407425830122801576950181399174628633171324470147888207055147947125410129809451629805257772933109705628952156162798775604766498235650912975549888843341101963211081030638971463884017916083695556580432748762417340452010487354014729663087838865710313434158739196846268300845374744148697268255656451278382244059539287082310491836282128290565208804472898011093277743005471853062752016021820286089738498697285236957067035539282217609109781378310076967733316009251355500587299469554144967683760506042179230635590458262709649581833163389771475905370323552882923647952416236291540256876194659561747373065130558513229092216034805387235106031128788691122533720093813027431111075188443797635226636510279986460616126457109407540090613194596341538399834522660815459760849311082368728232055174115463684904854338092034659855934569454793755606577849618450090783657716451975765862735081955386729773151248741624748078244144414732187791781033590899210931791696123648973129005264908043814539456224069964567041746421219885118748837647775473784681895344778928570308696586162127330572757531333310854480573187158770775920273197010531561827587201931568859058497613302307043235598930330627855217076776153720285187133477468611079018633370026749644297747746372781322251624363653946012494309715002422076773613754271692326039098637286890084656850900028378677452503625750621247165929615178971282914620602471873689093864650904298232043053399233511398918808123754353163804323635774340395370463754623779072565972341352895534552815105294752497837566634949669141120705086960271201963129296471832525176019360104246803783251952267705474962245766605841915086205363999599697546185411587853310279964533729844616162189792020176002877920574814183498070041398540120509718333286365648103291772205214988021029505184872595680242907392700817259702025999822980497360560785402968362316349526879755467586661790581406321999743028703809213232728496867369091704132098071792803840532729025077720304381937879973577866185364960231056158589730307215742021871905862014888562532610246501043005379555778416711435558584141283393179122463710335082760144849203570019255411955606405586550952957692652879885952431554379048534380911345464900476650274645208615530619038747228542687581570317354495690115249603456817414303345634899014072680201824852296517763184860355052709935603150163005868276518424430796595789841328314304940501288882843873201625506557544766053949480642107513313166198991650246433107555542623702936450319541951334756510007090096770595438100548322880265117242899469549860856139020045659036769652154033048754652494831317526541730685593069061817571303355944046403083033893956672424902906810357995546971359954116477855783291385204483494067848824506484594750139951109873647445093013576097407937461522336829419313611795554967650807209027804429604343324651563379411493486009899647636297790603922529451037085770997213875296503519797133549300758008596612709542493382002311047884062506134235162260695203533009579401007024373747983115120770633912024441841004020182606298766217394588797515930778962153986454039719487795263441479746448334163905390927850903504368161626280335011054718119029083796823017193023989643169184118232931150014979236708332860361450877320090262454037201906437508691285024828516846666748272528955002537151088296605271312471782079792854002154878527081942806221218207818780830499645007583296199208890349850305613632624345624865254480516869115084539791503414406772215585190595664396748405467399538453357851692160818209753187555210350024909807567375648567477745731494833082796518441805739556096038989855842235411780229180547568087305589460208051907552829859400138518185492079590614239948256734811080091643464507145386834673286072001887772463742349109699410047865522242120214149484386590681841164308746006201080325905011422579062516478541885023672478091011343067612816130613316768386486277087731436938513447667618088880605893048409898395188422372326378053042944762803363794452654183156236555681284083981068255626408864204918765795722254473408818029126621396329427435539904299826937799704582846238858875260316798857199515034538199611571050672234089518430122062622470406362242565885506986346627393874639772215963579591679776558206082376414165536059838728425444486354710233153658642881377517505947070890492496014609569164134379813674616388065499865462961373940397735418326953222558243674973769410982713543720253217394011436331173271328847144220833965018714645693949888840620015417853141829963515781998215816520486840119116664857882728491176383916405358413650950971220396977211248069486113473463501089779581215001862920684053661768500432973118894280017880577636450100619056149349933460892550953761688516972665573443160227643254528670811542644180695169689074928412253898317786427259610071324066608042063303046062740378928067689791838633266494386265377159525444086464727807534404060012637633117384725682862076023768149606368961370522387727140238557907227531468551599464659755409235609672331906518147813270840434559704010519394796770469033104680533793553607213280972068621807526176251335634617914361856132156785465068144523599068039527022374642057040840995018598303264198821782622005241413152383247718491350885156939780932655969270996351254005946329080821748540437764591609499699460362439699484716618191245528404209559209698277778550412627327147503944951541259400282533386417600017027673540246846101262147556919182687747686855759175591601082948405984073394811839776342076024646345759434698699064722460711415184762042324660666093293819534488092938694846483766466009078904562093763289735440742153077347077329758489392440480948476217640611628183049926502178154679969028623183434819230382548280575530446993224181149916066624725368264807776233067071062071679934280494578468041820065531598450178697424411617657450841455503657852484857567293135927392787563812780882820626302628548465107764796094209547003996385269247929717974432634724256766343277762738759151157514784980690430426057367772756304254684771333520873788716481030062111473274538161081217651831829002385581061275373071256245706346891307848762585894221075757207180656959195807478043180143034950904295270374225700658104931270999061017701986983557644655650832013934528911872816478192632905633261332272472895199425854196191364774566879671500274554871262796079143065874553568013277393479794446046835914174522315926120549755184878211815375739347346879033958612427600702210577011511252684773426942233896270753100892438522186208344919764242388165329086940569976850679665966076384805800534108606811721842371694509922903326202806869932300469694394950123345585333909122497718673622350401254912339423599304355019735214911601004451109022866955390517513493193629475883665296751114291135287931375658435879588893991988311453733711064837151229686268358931048477318969942737997294525089725860805874933357990279293380290515002077015044046066731969223818410897064717816495658793241908906259502657610391659491150107644220804318904599657551733079568569093405446893375317804569246783160880732456028057307228014974842444361874561211881154533604088215872062615051024944393839384951857360131269370451573288236563494853206008847772105977817832210369393152200753964352945416013576538772551719750052536379433128873344712453526658476823966680357700969524264467387617965369360771536575507761804007420231799598455731061817191635287190075516851831042284776445500817606279428875221224127908720660207403891267433247665215347646380413384124824023680502735260088650537335178003976917935870655613606056656175759560201161015059218750469218799116934927021332778887064985232111030795507100525430910052370367811524915571790953551749167623530078938351716566782040146944122964154137263805612379522685769490526312418187400608800483852198829695957024757955363695832104598981827450229109780543446521158165418416929126771630405388248450918231650837782147174665922982275429670019592116964735879204989483462795287402198558520800088219493558924122811303018391538318886302661905424484553384737586958988783051426077711346407573631035299372351979498616858835505489440743997832691521910966313111320039994377524197002802196713914614433594541013377589878216364149940428686710026811603817295654414775005006350921895105215414154634727392504734849741134818020402164525200802196903466267658991630055001116676953645923183552002071962567028544752613446096842111419067535382649889489439843103737998690239459271858440173270980525190661041549757846663340129639457908480414591943272453828630611114801249810825416629128819687072679691759632967471379965033055387215410569955083296793618864017289559024973032367194378250541091135617029313138179833697284735925528275709115318109623033140408015010394401935524534730820497812407461029966961219277001180129436420570533369276225188733352167686752675687355960259476472589533668890595890977956731331272869880960362870259401767740078099853092886137149134948707789245000494620234413595816491618719974525855373032098211179073855454178121988206264528223670032860549403365605974436924149933657877908024348078315922311587207206865123907866094629391593047734192202745905132507072674772137541146138907017882702789984068587150586093033788536839725749659020496767629879024283122291674718626865578904771920949543513387064835670089740153117771034780128260175964863388204133669651179320481454411007108337577859233800193529268697627722336066224624843134938737278914231955397907863723337089244984554871799643171744109108670602339213482851986626167960634989422835100082314428632296630855262124417747482544874208660621144576345724121104885144084103727294025593808142851944291074841321482195778495157450685335974804297127843011338375049696230460608845450169899035932082192668891479691595586218015226223636768390021272816474425919884749167565092741843533990464034924230453571612228726392953031835440854605902116078008681575486253165276872858965532808002577402369430494084479718946831380024460520270481101003121495163550882511813721567740984913695572121088894649463882564093968876637009618448459807609848845633646486290715031249855672289465761944126713579858963635960300436885156125353553984990744804354040005041560612795855215004925992998809083302852394868035168797473423473480223879005848144105423087155985886673303783066020256762890098534755862556250210653863502991756060433537458016283482214480282842824599902656440775524120756675051239007584585813891182202300066105622679151624827523303702201590045000124203005342295869555694626377843132283968014920889236927842019067630431776572893281144015157811032292653354876435613930284227187798295024645207395172987213900588970292178047998858697675369168128204551573285256934481772100891250222909522672102838363933269327549424503225373552426057185669840979630280285480957009291024189863384529081371252315036219517261790275742682915517384664099781514655350587716685595130650766074647740055412109298679059470903629498006663490057649592845564501108872966545825957832274010101079311735000806500547896823349837179727344540494093989533593926198227351046525709476767663685772543075439622462034708216461021302668295050485724852731110440247053316974987673145183888186954102754842548542211525582457707429217557982075188415021866783687117484082266324707625614967424611459090246455617083229378197795838330887788955761712054494984087904501176419043548193539122992883306396769575577284453808410384757219198365658421531140203277540694056579357702597953843585831324030677375978375066789911252713458059664684244678826371496731341560432585784976589816014860910080968476514092469529062972120488442758679758315307193129443601735175172736746532903951642386582708661134540381325934068813818695310913922393462399226425615891407994427346048792572468683559428141856843884029128667583735653110982822929240896179461122352037661680659496774575225195333793321308572017445469026152530542428232842892735665241378150082690462490214088235835502662485428983493132967487452176741715098976169630090576318012057819248464013275255627641092505589671462066505455013762520998888997871956012687066003544422500381906034286116859123461570687663293034890998228045343749570528481864685890084572581527695704766246070359145520847503367257648677825166246685069870480456147325410105175876658257900504372614995068288084752437056157776912152929447721376588091397664015026149884409406664224524461860647474093793514571381378790780945307212847235650656754923640380875667997351027019530738049305736750419020458856971472742721986241396186294154448721298040434560324178352057285767984735630547218899074564625921162836688531841229133934920220168152367121166832268411610430429891289931822836394508811892636646469734505844585001578879805598752535701638193205931962972510052511516144614104187716105962484014859192847333585929925200941209801013486870558529736444121401737411402507068129052411516288021741424990086786127864237578760433110947196835952266088617603818146752438788887215303489974239195665324158305058094079856756173443828490250249055361926270857082087709433440604656463459310579177963648147088232952590271028316529926668648687407652444611400053767398384616539400365327381812724551475859632661564143109354669502236302443120512539809629906401203854739070818604023816715693750472539892971138934839156190254621600299063603483695259943830094687718284689260761992580224741543178674831946467505518295925613214471254708516173482017723652230395529673167168636322932632233373098744832645890870622418405021451572766374638631071002899758085392116899415683329324080273368705972221850015750424249799324022834386308280674959827571877759311741217112568408450934331831597462413045176975902819309142791626152370722491714999275835190198360321684401614259860483626608941260063099930268256977693839074124407478767788303711020748948804205969456532513660528937701866533207042871151787928257685360188913433392116116266293102824857901982264806048128899471222184810632619912528383089969464484700220135243220264436461756894669801068652462266738957787698218918884177637521562671693927873018439339690500098041127666738201919663980805852357060953821340970495580430818064235209996698169504880303352225070673758071504045324806890909948720034553456752548685977245252639705336887607819723116366754620127770407041241426439968283997497835075273873519233047516900926545213775113226976829542532733777575249914123678148415527347421491855191684872088372114185019599250444606793666566868289925301137910771403895901170350239613230332966411007681350720395546476186377233091670729881113801174916217930781904770671344549118684450647092925918058017295644917518413652424444862371141292483105326810453619793752333892578001564561673997012287775906603636125537276457539237740819430891248821618541871863216775498971379994677103308211208917171553092222803643073102731940169422610607591450939447072599383892529834758616100273881580474862276131722757035696444914982374078706421654013034795774652278014202237453334647629184543321049045894136730892771922444710622666138415103799580235775352680471936902203445906210872326880631711849612543964051591013630916979259337373991811738237286829034922429102218935751456073232629350730818515062014193699649432872337653137203378204698952119765630888381134257586411329721536982276521846796352269214019332339812007728839884978653041012736513439403580140632482201256987391906989389271334862341052003666972624900744899027610963270645080588948907391543821292312067358314803168480827970101935277375089142548017507835498261101166650793217031353592923229198220421012641857387655896251847105790303104489643363442157824592973865740265323882130359026643596321975733448726018124976276749484620300911201020535566580669472030048091382632773986915667502146419348782607150868712402884687377559939607060451171921260075695312179032413332721295831211167662153149953027131127827912989094951948766702432073128096499931559196049603164955445803213007361617785088633459026447848954025331725165666223996066115469030113719337831079214842389122995979980155470179915553900060836476501255630393371834121177789705945918753467343661946651957562129126962884679762699395809527599716165912114568288728503704355332023505407665198563327999228148023380354016760342349260179039274168512907155961150012831094482264889287997056992375637323750015640200156673390438760824769796440949747338809888936232902419556439687695316161655991427045502961329424017833286526094108965473913867980611177828152636271856851719819975981493371737494773013093950854984584564637296791866564150991471258077054967451093229948997130619749800435685808980779654886331662575284787748716077242884830078891365249909152759713108345737044551390804596486060888950428294518253581836709276784821132283059178127191386840179816935331566186747686377218461591431925966862046805173497758242297770220183545190773043189898183215077916903824274229516820109300740582594121057091335799342076610360931496815863519817443248152416488330654366301255683862709469316710347412943476363228341101646652401026830181702260140687383426733616311236873982421456198671353108631574442868236443225284554643885728885777274915879666329986267128102738826569529060347181726050841819779490817643993688682640784248621090942374218945712318413417435492635581971409833512150718038510083559125191600087672616018387048864623441699023865058558689976888208246756536834101480637915747845722522918024696022115881967959381668292512779396244537579037104174212245628177687931226249343845335375801015868896915606089357541018226794535366307340692738296850249175490215200854044976640920070640038817157741375462749063192396948629281315260602065185779865349697026407879434223516543069814985148803546192211902661891800837386947000545876106062426630278683536278142593857484440024815462242218953804756368484174862187624577443288675044661386836734401733156668608606788878471981112837558453221175734051153685630435470714595317855155323880514355743098848607595468803127016757609764635346200714259190469701651336314522103759900417657806457719668697760747327649752821995379961722502885083801493344106921536829238392616658192135807799916450520518064678334143481861520039866882356953278822681067432836645715232660807355596925098860372527533980850254715569384548652145292162028957151954549736347538907543513003409776859998500205252309283889328219802277882373325355010382049376976580382796679207151856276342158532111058450906990779294273134482009854330256731401582363371876573522045509271612641369853811322475378796094487776802374767639833126105830843673999800156527503226702643074939494775480319061522132262478770087025299334132906632384738189944918590051914886960540888960836045983952914782339105171120368702059577230192135850782814603919967284924120823129774055563634542603988783419664318363537792849578886342839941232202762032910528403001709089903598136301901774880595183638510771878162804241051340026042535704656266276613194737070571527583601109196636802421064903839451663500447065902198206846967071799513075387261443473935392750667223512050804838543008145159388318446506639503920221964905616670724456823991960089759998721060862575004278586126950700760332597946523398150802831840700409994049350320132464558262447052538523703811928085364485251288849380265477932137141245768410602685621689268899221503799170911740818490653449606674195867645373881408662841287001454220038281037943454532725298241918976645267105724230173741578545944830345712455163474385122384805070009327369465275411305621722116493932881075052066906374963097688638302310825613800690021869153140460691161932749791145618576610532753215058040719207977503047816609204656031192431730056627844092094746765149702464683676822920625486307884157669861764276368429652075391256858077711051036119146781677769706926983633145411961786434690199477625756644292454453381532311880234438888345605548917227843827538743029696149962161224965508170709622696487857359885531998828917072603581846016192814898659049703053401607147428140915209977475304035556271618315531697473646428470493113162366054062349437342849082471792790908127557414078474085417468213371290719619626689208522475078671253270953348152805633429670055074451419064104734299844781046829560834595598872921123900601934380757113878216128369166446492630845995330091516797625621983479404334515444484809702659118744051680401841881944619264429859470693113561267698365016075516512875756130747134921941855506516366520918261188290362186600066402515819657051416344323358911531320067997483266005167967510097665935756651138472902990748410128019584000980742292194900064200526514508080243165764926110132715054549806704893174818419294029313065079100996310113445068260098195574263997464377775435812473715125729734241707976746700875084467050232942629302390819079275200526762471541205991642405746584941185897029570870763071914293565667181539567315844153867898499055445526251254642870114435963711248537027805634303223296032699156758900844823518673659104823308646852152949619327396348518306244582621559881965745204200405475885970652584642429788995353602235981552355146705956844238570218228697212853992347982946487137233763342964173769295037611038252631136773695925584177375554395436699785811969322994777926917587251866405141400517731254787419500134813138708514694944095558103979256266385507560267218922190688232654887580855347007076792292430101951739008856098588591064450650614997749825272570529969300273237124110663102497863906898168649444085622173268031343080197489472921130491330954337194965922514495853949834549587758345596844405605479291167629522052146716693113415076098376076716772885897902303617795344867290398618280154878283319028877765173502575915057989205672063193467864654201138928030260796066271189987410224810873705852709063963653241499668639331579547102803343897526552674155542119639372786399515629682437885645289772015793480120677235334702122054248352382174277938868893201187438338885966988831556694630512336719379243004752226651875469364196097747208104134172379142805132633756492079770945707734540908079018603502599266549794178206417288581437776691700361373143264473599783613124838885431612394270685427531779700215156913863521869306641441482377500112676632796487928404107746714417116828216137921470489851584034369435027089025316750450964869858006264363339052498332811721439859522791942372624342096958491642131179964416975639607027341651047826138712569476023238246134133204428502228317270278954398220992142192493671670685030078474380753079249866856358210985177477668524277997446214588795585372765268351750740260245576895947357763622007040621452249538213046109584345161024090523352249637679137985702127380536155720217973165261461592722824220179660010144480884096155509642400614662842317110113862982862667244881630489089088282239069452945114213811318003951068137801966519283539024200918234876938562838876812566901228437216189351238377874784088155987450885972746174353384084762598647578695823954802154541014369568669272122720316968503252606393690936502555104116519086755546526619643208386809937977692208537919198684507684231284945041759307731384189605430604242257932940376854314291069980469237304173645966193326008106055237308602540590533435887740782248665757751957004910889514015595871118802212331314077172026980513297625963605344072706366318579779619214379117437910989706847779974734229273785252387938055298889983713676174125338430105419296090188441126884446174335302025898070400349575558389749617740885531247632119311012628311840524077168890110200681052120740068815815382794705833861565708509030466128361164692201473052750679063206560372644918504197493874749403329850563567398116133601151607992565418954852089650523941361354366764234129828969560594140388264337637696494614354556391911606236737980285309676546564598391346861067414611421273909928244550678246638974439096190263269180360374036067884297374013725393476250635780610122717673198771791610598113397893678518828954574679804146049882235296602743059150815414139612282735999661790509614148675835463077823032067573624199564988117813447602308637138483072339919266417783970824528319475135366313804601392572322231746567028792625614298021255265929124119731150364217336844887339073972446743363623825384241894024648774668028580162117208410894984582798263582710353265612119461181328606360119456989398181281834264863004276457107389676755366863190207299537233270013615488377420388229165516764950113251622028253421888603082864355023995405103123666544578518624918639606470279205873898788807920894351650002204983066298200893047813108726195895959916924127523846789018064895328080909331709055109832494240515651593828727490727110509519987603370456489255909599599566400881578596384410290386350713835460372978800053355067010343605783381420091623915355182859380385204966085665590516138929277307614721527337152807228554092007367395519281557964740661326561194330856317517276593341690629288312178217298924105349195626716728100857624112585053527604322949303739465200822534460977043970839150917646608936010603510218199169132081361551022666140673821105103862109737529426043550682566252381529224117758232389490770381110519889843616788024155856062023296241149263226009778293894019684601957413737927857867126437605193079880199550714254983259060426200821070449334067894468010314274968065851447291270346276121062546161395065424187650357423733034904615982078674594464614350265539542749299321150447536767952802224116765476244346227972623262218514445112980573936028563053057892249461639088805722230305893798086517296988971253617115763758811789873104497291322310881195319748766590387790703611418673020372828801382861914758986776185652304780835323021557594709759817260149300231942731991140448892623122281561280779520599503072818571929062024611522613644932027733890940961530180029601556767241154924120457224371360784108827327648160130167476817083430885171258633206299658622944853661495190896445667809908249296819636097874608089024990263159044444479618544618963187386896012293690858717144585343338475118230929621161691715778608368897138964885813381819207453007542265228482038974011360352471155279520406496649216683000525980639636201446278066137640184338325620075991393881418793877195461729757750876022070497749782304683980076594368366391659380509841101413558855834654548933095272601145957171591712521106437264606417477790112831974185110149919214995711500351980186060344184255226314329827462144405073198405073077068877589141193131945953367701535606984296942028595047610578618563652301901299021938394125489560406784728391715506602335172591749931357834692111025914520396298670708194659532801797927218145712017365037907291881717892486780188443833832594731174821680804723597165472183927851964722903782487157440880915170435569496579904018133996824554768263010837591782800826945915043921440270636467617243561088380610407589202467295508364988862712074698500850279014742272482270918851527061923660580528326162327813202341923350099630040733515809724042509923816484678269072445441441657931802444324723494463760496761587245326963652916271353944995184036838622267114292449043345226142407162440055953709064829911548863244247699427693417344901448946236986875562003565448581648596678405560752445842284041369307957511820706342958784365995238405337172752167479085152932250669803351354699038870762202589135532229898545770569265541002812247029311051853208825951716230454988013159127439728242988543914528843551710223413845546882342704578957624511717937657180228602772849785837085352910067846574624558902926056867289650697799999666108154691124055916555683983466490947917699482564889467128459266973263093232071950655296109424849846869201319684167676389042928359191138902775078746053627010034376317409910822914155228177652577271164476220077321165501559004331213317207642296021880845715584164839013448561301683506093748675760029892690452275958762266550131271095532995655190822825610794101644085637411359179687944724729146393710294442590239578848531687563912060803660188399860094052755364010747716460398282605824463502166684826648502314865260930532481609636211317903280054953179017106767859383495145843682801703943370638499416608470211935469200368063666367073871784025603354188836886953218638300560575472183344274556953853046641266241334211081738995348240422843221187449776767513357429740293362840942324311795343526904792288047513903756100429480602780515004081681348355566182725447247361396034947783690268857852888133516366716184201229918315744642925964690529626894680621419913736486151003875240595456220327757751443644137420223804328857058344655235639063061224538072140330111086176212763110675662419836877565881220975040522151528976812858786291054137779800992169030129787058124332819220862076541112602630436030060434711590555013237048591797703487936275354744751088883491704941463327035552067070454459811614358322168586400542964917877034341679697000361620159387736047959767661276370404704476676687726898929593064876975924885155301400975448934925387581339909346966422303172902565482743034251298589095078449831628067945979006622884570264057811470649129727098306961676879021893417081405381486172365100461322879813273353921367447394203687630126718324108362700043953777178782904003612035542927487438335579661424749533846027519327577648237828046239235569222472096997822850040098080820541699298782703316572341756983884988768625336020966126458106560051366515096198420297957718275504009104865566925433602429053484106437929273136818599478716418979769036873959335941237473544455348071052705960674057807472933679622366265979390111606037154662456635879582586280388358335903793944858826264265689183541269617882394112004626677322839206676161047231119221540093869323548663481968440058542451054448113505005885485773674782207058593638015229713152373295584934764334170691213399970812212254406327839474795548990958062418759863190482683132193800881461184492698190394144358546663874895362267938843419345814358109387225117200838973200657602378519466950585325597860596704333563911072204883188978914819543637065741795099766422415198815166725085192308578104540342992438851700633503238543199645253085515837625739259471574105531434012331260820489452183226909282614422296665252409792378559795477506842055247413746160826545624517363989753501113187907567712795660933458570981265066733640873477600621598165876502624542846304066395126365107599037499650060320421802505345251824136562647167345064038198182640225783787798189215459943418406501817116695954561800935154950963777595047416123020200239502557307826167000662592241711886275539962437777645063581633342583377971462709771336095083894667870416768834529532120656964217505585083816001991999931517857271548791409486992222027869527205702917971352148057241339957508077538177959514390614747347066006473337839051794173661946368695399060164474915312322130314832876524622197096788854239274933598604826673730214639221179726549294103619321739787128526173733412233623906308522240814486986315570488825746943822607723991129306429969726950686094425294062881391331165601468121818081374231660610882804314263961058187557541724679055351330991916398265339242968084209882852693302112639065249336002197964296934707006568812552323359688834780944003945808664248998272791113999831740803016175977215023342605134614280438848608318295098084306884340314441913640557444831885768970728327912242562659221396453434275827288471881951901823279610136728811589252712276993592156069497236815185037634602117715081815016694257980552529323646290983177047120589095173985624062126971376608425467028231309227308247327757756705412093607386906964522438080110498275141309189151469559846174792856733745517738857897039244889505720646556727800878103616057787305991709962018419786806626005579167282000844142669660696689612546874325230997516032949438059401196247605270434181815204712854564541459973093960483870664212715727892153068189218098709071423807856639897351626275703518141225819577958070506829647282865898892695867481354726744339704456746024159330266629243639376001254797315337239313167811743849056559179631821755650070517562169359961359769662140534065575098091651525775348844556784167735415876903317220709779141300847315553785194526821379283780012950807871048041782221225248987893042329341877020806653440834533815351134628272032051949288222476650689986124717370033951184151687872764948870512067956923628379125883527992177638548010655547537299224573297903316786745616399613137698251273443735634334764240525095301165333948277210867935424828232103039209967086850140398657132803941046131882265498443915112207493711300195160547740846847150374609810608806706933650597414720151264375232973231288266071774387028200036732953536413079284712485800175960440136775327519351340923740012917978548332603876241084556495271324959944456309030828912072732585525648377450002710929086153209818067767584389057474505914536000745241259693478802833885103713046046764256509495276277460491358365589449582204563341395763935533324432574447782814479348207037426089781398481327401055833809101660003044603930537159829086346836197214409149245108666286898632120432147190455642072093234772956493757173180690653396899482139093528347761940802499464920929432649135191693964130921934935638090707486119888272340572151057110690685747394945543804612289563483666476188169361996987567769451454451618401752338849163250355532534582484132156293151958859875225328874678007270025648084431863109199370542686684136737010993322504776793710044410846859847776839806267427328851934829570136418976007066318327071251770523273526300045576353117436505910103946820654371756389371603213424970812027300039089516517586978033049726366565479999075886923863370045381155589679843746967608001809929075983380535485723741972994298686946944910935952311741740439342892315420879231635739116731830710134995297964281498670161353773210177965250526479088617414469158055550201953873059057920982012900693490880464227278462483365680081669081814616828402520855741307780659394104066441631216162314519854941001781583281093471392343501600608132976279402001213572262964469536471396791305893264811825933865329462090137521031573228740058066806572459866295579823167825658401269033236513676607347085835947719557247409044313827957593809801548696221587868139522142802360234377743193488139062234368194448327852352870723298649120972047360701142325495777737423632372910789180664370599484937491249180548293944717909686378324578618146593268958726373103211245676232925518296390979747130840351283928555187705128764980054609715016398079266194525464440509129044311050119161685477517609173268516984773265907683635171190204517702270993968527485850447653941475298187619189710953996746544571166906945356864087574438301986961303607310351173000334854990599147503110036047527750210419319582967642940303158569139999308568219202690369739597701064738899890951999475896581174622031324544723280465145812740286749576333636776860244847951658252199003511737612394773916211207076876309234264930574210383556945648930409839920193410261822563268171352113013643264944998048798126145141311059454777314599304748514698458554710284779980747752662464202168542351280109916082259341317299074696035457047141386562562634851816418880606254979763472434571532909267366109221137473299672995473564076844242760366685559794652210189326967353984143208352737846579414701932205165045668216028849909461869563180793111699674735864756239964425306780455859261519193884998556077831100279189205508868663796605337360122248952330547399606530079433414777011095445802444088867224477796325004438254298317453233087760570578219312664096087878928275098285975722884406579583489222090990746767370301526001626092802393045220252666072441918883966488521207259645166069388253176965511604715792237957435898799421355690744875767412070878820603935069286859401991579023652645418896885046795648095368612213463944624307991216693874354915668739497052049085923975554563353959190359884367988504937176628201739195760554501756009700543238711801868883841630468574659856142085871038002275268159863107078855187575037942693613811011946755240529990322718236616857923931366870238319377934069137903457035790209245020548953253643858764227912139946091608816365801595785186556733575660635213868067090420142081255471857301579651914859106238110333105821339258499763091359556483097400212722975001312425028968058817497365395337363506755258777967897601695775987176687129170357043545201911740574902061542266373757812908210816168497509753107366298285396248447843901645938056020814741586608656914122485424651033475548228386812994252031612997677847824769312969221366078510817161928070700547349259836638945083468854296388572289712660549259117062051690946602355747694794207451920035781390099294605837191118671357412192486977434189681094181335991860300079297992021526422252596320879966832058926803062637905435953722445654192633028592663884962345956451803282006247990304100715448855338217036467090753794999848492493688781463746780254737518935939276280708687058039819502944237751820413853372844668030096267170325887744346832322049837223734070042836098336063531094234796795177027102267963969824169933075244400604574775724771195321332611880243764904377293995104145343246624109793216663051700767962180784980569101910952798523960325084468303547880253668170408953039966041455327706488608420211800134828330937065399309057806375543885269559860756806304236293898232121925378355722515287503003958706971346161314879708194150601295540703289328114905624088735619636617606659563243129646867180046764366702528928348021743358088620013377144063541695917657893295997674612736855930543331869435849693949837213013468214239572628971483494412249113007966130566343937011263754031377657473794365481457885411433491039654533802406435822769681293415792364686136137814796346517649161468289110359377396707006372071891202765152905067333281662276014213114353430079735399327696054218155480587396901638099496788501207917365530027489047215297807382592599825214486736958183699653260808369705282417420648388801548036608264740357352703838836718043749917302585562564842776675297325047197639986665766650102729508897388865097990803303548439894860348963174883774718037778740919462521349780475779785290190351214460085778642064432771116137323139386928986547735440296296889365355813744196487079305609457940605754039560383514377164930892626930131783947361907800797901018237231695133949087850920463960534178671927447145137938695490438481217369837662091204755456502742008430252423729045623861233749348881242342675456043707847666436721547104570059906103229003334874144890688085