5001
2501
1251
1876
1563
1719
42058495089999828774886903772156139891495857326123338057351218670965095047955183791127729158739021386625839289558737468138199205418990641818163638186737136052365539616718652688657392416490260213302238439232787847638996651361346398686183572669537309832513413167858805217548167732150538844530376056626821508898739158379435674052241856680999889745962735102126546373667234678428699011547855814225308775838335019890928837646487784221212775860774736895769596157456328585518893266135946247959759283378364813284070777712041776558123175237648999651833188511130047646456373542492681112823013046513985991843101771854915366758151398757726228876456238141158878239856260619054331624239817726310116127696911841393902433206768132708436221222584432459017845383319367806556038467817785151059424938619059475457377751618998041658576262677407238764875802113860664678915537442023582528732408687363772149379857222652978145870257640250681858850550792071511637336321768297542147221443652204279691582246062288441379421731823262532310560493749869533812997023654652881017772414842580774787789048162319340935366616542545814170714627467177824829658781975699585898454413437668269411241437721322846490777211236536054496179301098319719999981129655235817481951363841391218074193321814637216915121574272126664321017233500318464129492645761788778967371285976952861635493397008104332973658780636742955548376834777947171218256898845510592508049208410178522818712416675959540368851153777265585548059303139570742209742404332022067647645595875453924727217899980202697407712338020039986238016128786654123732026068742957838419709615327197150090867283788186564682330621854081104655726866586684247112552256297180689496580538865395676862216078862255860895024950737359437968203119095282148882323619205801473674322642003852330155282376758313955198213992115954079410745152738675078975107298876859173912460912881834661334714359719793968804804408397761883903557454386159095518182127130508751458162353521328139498606129510378316409615170685216518921011696515559071515837636914403656951795197500841390336091781654971473305477248044359626311451561544256464676395932948487196766061809765959191665793548083396952548878180595038604597218472231929426833767379381863435714405612394031372080069224502331081229242107275534628821364312346996235958878698781549021832498459752497236283942932749943211146150178009341436336387617189782414480723137151296737196115350446416720952326065478295980761544944493470607817706333134611132442272649465479990423070464836192136945614792978775543891311605166807852377055896235699649275865790077941795029827410342309619111247328776338301846245313510498631006778363235599452678003705260761885358038535615953700959423711650325339480793273078769449105219557337896339346108219194926065367115152965711079999238451083208416871691262726911679558820591447352812565914524673404372462226994609824458358978851623602925742892553443357989867609773444935269691541939499080217601709349511535532172662422990631356858383884373236062380432848720720760808936404045656986734035695596520083091932862424326118677296134097297267941303207985081498303498252242498678526118353701354856470366656065260623813922865590767301210713322751756481071475330291421375910565999506233344113129872344584682392845113633473311423161279801172939980446532242791713503539954289733090842755704510314679481447992244751230882275138779928358758391477847176492521558086998627630178615605447187599929588327792505131429929397781896411312518049501578278044564596345988211908271731429649653711565505047112576958175089941476987703208467166996389146103555360860731523428761454359167378167679293948782469147583682033576710813822145216469647751967725283979359915127507139990893402327960595957100230904514839995664656586543981695579698735844712101829874787799717628374772466368915542361233260601091874641981687116364496245033779318673215085559883539890966390177449776853829535519597944388809616171975988247593424595702114513782991242257374499951462974516187941834602371716432914635246673827274316611226574688869847845257775609427126042544313899542617889233159093479186035598561586478248543298979425280314134943347791648715798420896208914134855615137201321312695531321681667380655437271449462092027228078095199471010156201510108838065944970384589678219550788838176475997222947763726751408409367247508494200374560629003804777937308049524728891683024143687462856485322447446176446298378147727488193312227471870401043134294752260887519887338742771984198568185001487551747476939311254148747003264811067896125291849989147518806205919045051251185717537425681689094655705657439312335948277034956794222562685911382233863045284451488819899732349451971721488106169570693672801474001143672195767433308139386711832210662007473840421775448979610934625736755091185472370548404887294324506213418278740979004513071783655356941914269421531122729286571927317228779914963609189713854277018106851571213316552840469064898446978321439435321926480394692534477511965361325957788544811486948476454791964624083188482555667823279778740324478713148120256454119574142412294659260557059973949432749629567341088735592582902821104621094328023737267406973411957492835513364336739149663607554500821593477764353875908615760543512313052503234626691613662211027853698286753376592394250693883718735554919255278282212752874827064731975715146619173819756676543550966376824973258245680440677285032849416011677653451844437503862170548426944922195455793263993741334160781513956284495262605613348957740634062664187395380304552474361168266822163469950365421509335284401870407994426188229357521169911331699544129461359815916072748923834934169741508888285276969896375595739265018286672853125179347264937559229854941572346592468134626071924587647152123171202322937996876221948119467362989621756230864437773467946416236128671039514424245507428876715988210896965694431861110246965287860430956757476773799458974864677953208491195425506312510768210722420287961765972225779814268824380497142243761120754055309730840459572187995224589289459546008701206868443505632188987997189127131179857567972013421992151751433660466140217574478522285096628432472395649484282361432719467793065673674289934423844250188113643991883351005881757874632876464181084062886734129974667310875239791585672708525597943270654147506175607819367420253571286271358838035762788788977343139953085907350551660412010205215681689754344671932881002201497278853717979072345639933012083128963865542414770130757847912604422764908818213677306780829694865155805461711489672030862740136613746389522131308154250484956128699802732028882611575321688959370324628946804120239130916566827410808349797800763619137179173689768852850255423896447916411367009276180396945967466813536412391989752355484494374941224797426566019667984241611224783587349327683212237000828323158506312301537412874041529561989367996309604448305825847475106607106942899631599957516097455555488413002538469327404944938919945080156395846298617428388319985987923578973834733821270106385939310272214114287510263088782990427626016066763467570192763483590907322210591189459504636454455470691638532251992932110029634851260098461898766589614614908787033502478060566880260238784425137251388475420385379665330829754695843591563791668146537456261801807897698916977158845043252834286811372858846276768713893765558028991681708210728852679450628515329300836395654086784733349365851126535237173797687360373677397478957913818097405589654926460191003304626971343296725995502998141647338196091479745690177679398006195264769167329865079698855026319298841916688594421459292691397228770355634337372337192159631684708129388053490359868184498959672675201391334208149902635773875882945656134107540958295718685805235497131535489380285967261323191337134469506239539878232619868971414826196382363946714528528031802706860184601059616761954588615293835556267374859633817141865289486539375182511554726429706682174462130534868012820608937799950498273487267403113311435250481666658756479807568922940482130855693371636467611800568423624035267997683022754127211272262158077090238822868054666611598310986511389804090476428051910116748281399224321277123715991647913636386479663856549341594551239463820489495848776256206893865624281446320259796375051593135371186351732152857492934674623694978447074020405865748823385346543531568172460385019038735790896238184601935574843735363461092942028958069179857096548919255384080346953093767223180561163376814806607700284267693782138095544145674287672805416468096665814482779512679582648189873254674808813179884288184206942333452103595510477455776715888334944321931770552340379013955937630858234924350521972291188736159582706617846777812778991517261139180175883988840592338795299835428546350740971807915434466936553389569256471844186044723351392078792384537810169206323128797275100472064773830861125405516950673405055520220221596274217617824249780383223264876460931845666707752170174496966230425738434063142542389312469996992565791303287232938218124379366137110077562165861983773205267626265419859587149448618461619131758621472636187951272577143118038201323356360885094606758598682960281966563110733987384014204531242139960395708791491458855156129086627594823517689231137633921868551655216492134423188792295534209772211625837397374769174369378084544285264303715066957784550545524511251092126734691147304570452759045791590279988178758572132257697377859859451858169495612572593840662936574141445958144434320847168243398312667808476029943825983731573744389588430996744624267518114940280436636960318787072751892662918141842005172523688629477309422612262498746319509761886487511367287668381498931783263131725867016464748263259797724672863701144411515250659380531287229859274529392926452925494494111373461584418578189148354204879046442754550228656853330373280667038237823521183817382024701458606630598799301510261642976476023948073876180894307290681173365795838231699426821967958736422145591928919734403457860247159234829161925255308516750192558882279456961706551331696694172465763530821270353758532624657150535482549230157815123994898358956199027832201967596381323840236845689924517417961181102298411841856941185377418561805280328699822583334679095991878982746392878018061803553941489614539228936907861373885148177450266937653970232261634223696781903568331267954923051332802870614452344518050282480931766632817581093779430514217792210228732031725637847307000376156656347616789626439538663881174262395688169278487651577791303081869954212769695342632087426566719269288847675594232311371825248692209106923264241624939174748720876348967943567566859185353099557259721378804661579604754974253495919373154944069857397125651023128961334198213602949566363372256428144147369285017370375232242213901284381428767431758634308128031631689878531952977734526102361251216027804267561998175928679692625165657772130991496156015187865241813409637184665199359293125157799518732836075666660759692719499614802260985999677997975768538937428224908864791170784568602574841417819785282752207258117441699449195146628266108048911881634095846901917443468629816535431711391156035795829656486834386495318352724804660468851311684603677586325596674349848941685859271386469532883549816900711036962230687810000225074281883411755872670854289358046861572062457355795339777586624402293599312955464214750472046947497825154964515634360421696041569768242431347955361109823797986009142544310440206274847848196441415799615529974877685152974460488598280232888464267959085036944953292253441293194598850210039035367090944244652279913429175062176137637152630548628238882624991049159636312915963773815089381402992907147936459794548571053041497914318758556603337651007861365428437333777537908047929872711106759198247716679698149169922818325196659285855809816131827681919185663829944702768382782256915837334057403146597049211526523228355780294537868097422261796388863706821769321230947645005855201912811541630846058617334912851588546257245320959470158338819763619285398538544933374559733061306687593710773212477630112179277998987347270035545647056723395902982467343226468757261224778379414621868836083369543107547819827588233153749473444148156835599866320753303738293638749308880141502682786557205937890028435587721979792841038163599343710619632783097291756586728824322941569837818398839249390806226208520582973172451258836336786976181095629874370634237219980382374468973307147675976444595584742782287494322401941502548652552511667694694678442887959047200949914941641812533847333703342869349432787661890534989366795046927611458279536005951420806856627933703671864587585837629131509706356899061425842893193515367196555049821250983554671168171396516741245394660998111879183309559564268942640083028384662135898150918023681799730557366935585845583503734375677595727142722336836426186452215455778161803396626816438997956526626612196859489870821771922532413444643949596352541741463917057099194330065930549349155911462846516764384120713287265179335677111785871757872883798108979149873036638877288611918646298678122478155230992990378866902927593085162189387960987111579138565039319567613081210474431025150876131663127541769475094637577382009717160349073382124866433858883561829708161882649926057973097994649612495032195862160243226470325935655551180316571714773088511140567879679567583228896277674255289619034129925739690648239236781926745125686904792533987526998387602842334204982976239354389657454944483629354631859337658697584233735021964325992339861819578446628420033897007592791068872468748985092301889056180308897385623049256759128567476589356366233932505727323360138064756494934139844414408436960786443643116518448644768379541455599746316030932628575680717327214575302941616123382532357338543485157805364781789874755899149578544624029576374366102155140099273414438408456506532966052722840101856981217550544588516908098793589948864929469484306228642602845332136844965660705459915518669176114648679952672625872188751137623573881158420516082207206227635636025751141752234719239433841630561830047272828655631427855638462237407930328392322258336625345151986616723439984343946146694344041946212323110110083585357744624575635872048374848047670993773222328681479721234872032633318121732326346771916858161417103905397875521177904172092791694835224953344299798664728132426935529213069869700413524144551250625142514927283863636392594844067457779121885038821726493616962751291762343142834623169275223190318159688836461574283123440236259193704482739640513981765299337838774238384515330634079207348294581896656174220676916827524459295975946823362195142291056131935741398855454043218915727893729908160423735131291875188172536829483437048579970933988482870509635687537458410901031275476622198167091223270836080174189203268784335404956585741955089748530159148327294236541107757926536790461531569182224049254534123742024388358252307501940573528126984381278788737557388235441522816152892590458116692317355085369547447941694277153828153041460003301493030673222930647273876363708946096264445419046443676320749606749603494847382937057301723787344547654170662518170589136555902899245298140675066581996994299034141444173437359407389775681839086158089264568445299871276443496612720119404530495685231939971421528643653809866614089317375508636069685715664653621722766971471690983695046104446384838970888596728555728834824854818264113161199378515189773953743508588352729953397148767368869885889188776528290071788976437037015174996015456094907562146972758685458300244033335083569426196266261915421777805902469906736969341537441552565858219704867077272401528532022846899552621809723907112117546456223677519565687839776334618790221198047500730981854523893825349357313152946780945184031786249344899940918955384523484658795648223989138622579774706820151592023109333464466388281025001246228141776866716165701392106246267022885194945161974688683309525921739471212574058821571934073903844875664601529154278954469873393811904118973672644566304583853508885698088063737346328186685994806711923368726140182808762083233246846591113291691603978834033531941174826602235467128464282332096119501644337698119872349922875519889363905018949402609494784761808362267076350244591671639782656558423164392472078267143626707421757866261971354674836799518376506377517698163831551657689325724089362125916876863019643082842096267591922921245634979181092676013576445798629490226545758275320097001973380194853702805445835687266272859219357648070159480680549832444416789253537918852991394718691113532348597197011685427647079858945541073458347206251012212514335904998561151391721952110664985273725492262371813966358041487858501661757551319804378888264758546763152003225831084717507669429221351243966602997390883701938433911583317157159939609305344277683914571182292782662427971855563348624948403212226826235731866787713234141469654891834434525167677474811818135585357204331117948955781208840789350276208558796099973633757061438790261121657663495796435268612863452519933329966645953607194191155836962140501771272597119339706398123168793809301489933690221547075932118929397519969104819463562381637191038905399074521177994623327508042729931162199377099231044730550263022796877418932418227268864827611751465025709974917143407924970791150246401664425301882290077519499933780706167836420567766443218328934867334912909617991924992367756751876379544562569419876664801414589158301990879856440106636118753275021279179275995096661477554223928761151573062866685810748332972279116069516838587293394499439536271821414377899526440101613229536705831819220114892177372980582216983353673115401253733242925097139947327273088818875017643704290498085396748535829126748714343880631019686210627146178663982543634273753537829188410919821074533452933716596590644829101552238393403341091085761426290611929972598281918063707869741393616511941407494159684141448933394955048483394546097579900155411436688043471734236558785309142670004126491585970409282448172487682766462378752684980575352695152543890738158442412520570792474667710765706759508572295475615741049237808719642448707857049164387735177631556149998188222456359370112471314583213623855347235744549965930801834749948691216994364281920069392995942392188186413957898075720812135709565083507709361285428245358144911446812971212036361633882320317438985936173946129187594470276156171417261227033360481050132536127491371953428977039657998420078436272319558315720457340807200154727025548339666979231676426955838228785726633702061653114249018787959725921046573137640195480454679449168859648519234225686081313268311344964430990886091892712751387194301154373275326082351627359477224163444613865735887080077402770246078541769897223795840511913959164569113824623730999219654593424556144643637076737197410399822693461778548848325115517535280341854235294742716510881436232046288495249233922487132357310282603730711950863141835953122967356581872006563315049492379656765333409822989883028453337842462370475518696866789848428193528987547753805513086281183375170665991469441952972493037542871835208374561744494846736974709535487125699668317789575391263297122568861214149745668649224274483887363807841713544556285268009901543290076676352469780373255486397645811316736095392170107096175037383679595408540913717793629996188334544247542750636406800371728568590567881722698493872483942319674011388640486631451873279573231162038923832116248999727149688753355104589912751571625656341824573109351786157120962067979277926413777300172646397457756351047677425115783633501848098873122271634981856643715181971834564079320269922454893369241884593659375920812069902267815362560293575185109138151167762566815783649977233514362549628942843909861085857797968483072891265113002855331295036289355650561535916417269531218942097285074144913184288073207662370714981076987967719377833224999227521382747559374425070294311475663486149318660238917566550974999383413639131729026696512673434760898931665170672945287713663424928849966899276751447556992127488269713442597086312318421157375441603555002272818499139082870967324718160322287856645427396111017167883898273573679836445904929038452649429770803884566220663332261404254348652445552097004288103161152946526428467326155510121946363590825979267420879924363349596632946295281799365253499598032649413589442631153342289355578236209398488090597763588509455840666027813166143492439407910094211561766034063999263743582861713413612355844283855451277844224877895987048831939849762533984397649502590471117408614372212575524899165319177528622212398579478356569038089103534814698225375582725399015150498951088425415455309761983494341598135919344254253940357192677324637826049308948591276368094881304154966235784600114866337409395508223673535879213666641561814406299315908366609968686656265249231367891642998398476827293312129450335305514581433812591289356427160515663655251229247377152976845271588011101538368239488051237331534763913656723697321161144401140140497186379090501282181831116444615938156711835133658367465645111776375495419417244754549265912026220369072974583521739697879094711913574399202456357482710174219408532983345317856330225805047575413729546830997874857897688220452566102375964663264548601933358189229694443720997336994409645923123907800026735030285079854179153129858466878500950797924195532817253158575047328505281694737896577838299892691302218884044833558914436159352513147248646525961983755092585987613636632640340873194547991284864437110813425688323496883739050704053712696788722384391877149422930853625291539423237716733639609672625783865570887252686752864332725384595572318366898022340993765427432853066535357793331513883646330933637772773374362908915915983363952818728822632109947581325102272793512889165240719055497168445546554854904019072119221549891738768206588448714941689229972589553367227185872217696324604668695914878750823247307955746357909907592632797175636663753161190737404115582418143157613005712505752417057668137352706401296339605741272749924166429188075518859118812321941281249648429123443961281755457024419419620977159248770763693625459469489009576365064411718511988694120102058473502961629306380279053304313277141804025179727394369657314876824986314995632776672176748883195735577042981123946484201666376805752381724152836893286871088245438497518558140211156491518698617467498425127753495572284106007164136015686491271255916088885914825878651598014658528344121011164339178725509478856787269707984292114729222668711735087703151346951755324726203787241766843022831590284055124855083196777248374696570768855229972244855099676650648995361938873043635315846484166994190313187133026352441424751484779397634133054998346930563003124484465226001609484169550301508850067406553358532612695320290006768619258872507352033659431131455998587376358294192425635919268602871152470960349683229763393734607149703469553585643112234128958763843555289720448118841351116042115759916478880704908547128282814930050186112415677013135133966834546591959399290485056087873112539307133677845114747212478786537200560354685179625984149274249301642255991384607323826176246561175796767920674442413951474996223321191178872685662119105157448210123330193610496775990194328542919624004608621490878085868622676237661250177487926441726994272482117644253298366579041592482178465331915223290955679524969443995036360669790319893551581025254028165531894198694816998917723394292827685593181030739629845374066394658774181483851623779764839536969953296023006912932505740359096262590733061379115574136144551117240867588175478567150773893753838800643545657726716062682172252357965755644305376554905770576218814750697125158367812223012487339973553734796218784616237905923484957031363860178633484683541129762023979284058207210581978367174469480191262026153906559121670863412051665518113635037429133593497642059137499254499902915622741069581331756283235356014563598140759025812643556955262984099323482797536360654024809640598916349480597089551452655330466311447837760135172869939793631435101784939876764585086174822645179032739540059558150872616576558182398284379156814673421987764851629529151602258122783024753038555866803223474511310558067647436646311817782066554826414760272309297044817837696393737912651147012658892974321447764070514889750255773005833644726686097448470261617400526317525900948034132599899214459260641122982830195976607339953144121688340812499531427463637353406045482195623695227741537694936669054907527159375292526351294985769053809989725987736398454234443444602548676140195838186073496966556485163788528231912633042319120094371871149955795209527949389290693110405778504370199678601812239580921640071986452325206762106798591905285888454479261716097280343235549594385714935228432772205754871013956261401128248558713864574593792717109906229543432952676058472649269717575424543331429875410585383966996411356064101117180533537492940554523298564935251655606679105990361795714762392018673571609967703565663872051987352163596620561285391292174457240296770136063807819157429767718151428871340298841685747655387586063249936675340426292949331821182838177633184363659032382812688134713521583081717790286687479825106571786182992015809988556613119818117115042889244235439044143896501201480388076498815240180429330702013552704271911723488341322772977260332625115251285928334527622910598645327145280327501847275767125814244323740382687912959543496324718313587532608739748039461744137889796241148328510305365548080676696634367733503476378558032226850387323325550569864884447939556516687419653615969011689997388732080734702384177691876580645532056779144255744394445605399864511642580483239485996436980068392619430682527306459881218994503482865509988543443503179054095016673629898452965186725469648130011876008445080577639589898121605854458854510562755064617120124661231462722852861134273484677157194056785216082083846168247502878442661605832332355519878967960559243742232544112947445423778281319044833323171716555171826817062611274427137502558112241745132622175811234382957189488805298262431866655799823096192228411323427347142849657787838633862804673822654818538865437243596565076065403781578273905967161558512360545513136804735279716340118733847698656054310872836207534897837068415764229763532034560511748770321279838319922475119374442071322516551260266010948737112140136728606824470185322746395592822975741579671735294341260133115601044916359301084393846404778059138505211026754998526777503319190767978238696581259494316783253076729158660225297710818344176423823883977242772107696842464311349741491937341782117197095397025522303926741046267399466949892192949613932490805858616812287980611906231673589314322129590661740795077715753857452325118414578761719298105662870189325547696362514772156976537542233232587576506425544402949430292974401883788172946800979241935273838666913390869463730915079077139417518153173619551176190692225175152718541173856697786611489192032152248516624183254572246645826517243461063687708040166642934579086409658594527142519369967565094145977817407719254647302705852775257825407357826650268123452357410136576631572858155364607940746757919985728832654573436964281639685731081002385576985001555284990111203172277487857613811590681132316201038855487425173757898696013259920775576365537356508432004242784025486619217940979523541680753047771691726761732725073721562481881938540622947648076301860400618102624675236197711133498044357456134402055841439276208314026306472858044925143748326972888862156888800138237619172433134002011114450656109280982950301050991315544584185272065196873030807689296038127092934544931272192281514268810444299841300481263876989478212390279641354228577238470597675967917984404433799108130194939735101979651747428090923009108810110972989361764354471981415381117012447716566179711691802333222298177821617774690242478741742854319893321855719674742589617525785198363705769803616366224268199174219977969984149874122661441263527345678053903254611258662947346142323122664906602774913434412837785042672702806350025819586976894971703642728279807063490452202689613316330589056508580925857155339823901237812373194621149853077276293966881634533016341423729637002164797442099954264037848857111834171349489211868159623968625409529185637520958697992542287515915068996751561786138463712700589448134544590438753756373395506732018583683593255538784222587124432592775745949039065564518793109608908699966171387597397969385374843086843551279215527948610736495940508504671290277375473354062334824408453398999331254588947205927499691401982537102386037369821117163184976580391783265397983937207888155072867521996950446123979980612518393031816916770590992141549543827248740137134629771584386917825789405944622716426973070207316684884790369999418712967871184674788039122323985635045897883695097565553511294188955143624626316885438197718211972852531913563894605515933816518084476543236427368427094898292747573146666672968376620032415048251880679538081157974213262173306279419065976172837508514575276539539229132724428972071053032826596245453984549141885335565191413016437423656891904947904471273443187479772689337282993804191989066023468547322864906279397387654243153661417508026164424459326959343499181779886456384806370143022078410806550932227388376216265998069283188929643753778666828955484829472664174511596007477638791355328600409159272919307288587095573886040669319227318999121543378747898995197542991106156461902232277174482895337963861654518644132292473463052666793881841612926542745275437479517967530912475930814414949577467353674353468181099741302375621061568595692434911748848614893540664480355716109351970375168145131044252034504064207271983153437877258745201088186987675676433947342747957519516222599853144699374992480966837566127610779872833517832934182963087763202758637899302836117855346775566967963107637588301330559461942776782210447651961374479292116151959126224132668208919691554698432591122555926118518912683164254764818440614937199388553469092770928574122934473483159306766139975921815710274684368831041466150961664362274355486812196789194543564434839264364834819264090704586951158809450892707972535109047385451769378282608949418150593174116193270829572748443824466980482515424498599829985888947068912122492631213946827230171826633730144039303046308182109177185894134449803835236963633783329234774689706697399278462874604749376642814925716277328366597891466832111063769445368921362237965793976593616460941737492231323815666437154132826790194392708087796526651273856993877865771811496387558836267354871380481772903642384570123469995824296446353548229529612536869554199914636059339233479595141419589054181379657352253135908911330478551301456125043935898319639507367839498821679412303764389849179464795569633375614078912459893199968538341306933960164579838206957459574647846264535287354160748641026407376390695807738394157129033083532399755326835380960647375929599516953520972659639394587464995571727476835573754963680736639668169962740925713085618010757235520587322922014358099422820634666868775721264564306385746540524576898073319014558698584605640421538363367602382764320447614715157759051971518556442768625874183079226288960148987546987404252914188933796931063734872401233782618944334884629274255234952807438958908499918943072133329522877583649861829572388667195836693439612105854736869999540249324513500416929806723572682899239189892626081601569740481724869420685835615251961304248932029269429619428392498959976528218726245858698252797204899286393963650129919930751042010467651931127907165721527245589395056072203171648317637312316182403917981963766432534062544320697138109840203317863552426638955584113295821332251939589053998870253393175805659950641302331210788244269735957283910690541702550598481596922607965778646280392654356345026181038101526369384393381853043044838959132089782571753889782879392937014917173481386884731751907563114314795225426406568943002300838856226058514909895783696084873426136148146715556134217029737499104965259877551822825457396832186407145664922602970942439913603732393875866470538157092480218246482170728375086635965266657895471961288847712952699908241398228497209194738740251669576760591165318385668668927357282210727156727675590918494010708916467656123214687252157698602351933178466236589785851673524322742628557379684468556139337782685202610068539486391761458744746654432341612392447548241613235754189704410335541802411822680611728171853290172523765219855648107323363590377603702316944323117697592404203335733391990893781619741417696271584546476193846498391088799622113900855886763878222295249056391171988379363473012779512446384694990753062931893456395295987309236551744087754441938093256608992632839410524514787872955386540781043954973821315134678972196913165624707886331565135690763714368700818745289640634933037826113319211506361838313443382311958119677499536051128226790696727495479433666553381971129984944418743832554415031671778280382021630625618197997751017189274921809634357361481834518868523371210158301732075326768199700914232845615827978756766867324447138700833783218992375602776371843677925008865755884132209926326050856147905609633871391975892482371817989876164935374410501478878798635841247619576532944056288532411276657858629946790865419149743138716453827651619566231564767548632611220627273348282458868984145517141011198218801014727057497233900688466510471059648422057939199860688654371090563797088135164452141355264287893378069407347322183685037262283261960610586296463045995527807147882122518701055038648069933387637243399815759077804301963440891678889375448093736379123276681184322394933545247376419147694392527605738076428275874973218918523198424956645451514112499793644993960574375464490243115934151645048323893400646517363337449592564273458529715084923180552864808333140261896932327071463270777784617179715248470524362843202810658268491911819497354399936406995387521210361433503463063837512189563123941994419174460373302166616486992403858876408958229584436928164767117318835284131406645505399454810100324629475388419172133495883001553135863443589386182136592522989575410117843633898540148309767744347561711029836517691180346041688788302685059264221589173711188411090814013203270479840638242373839631202243048971076154833199039631494455004131780394098504494834786321967632067981867468940989494540482475962717028865657219663313294097469847128196802014168890313739066347418513391993863486462967737706719617108407185166661892760902047513767710491183532215731643059800377544876672587588684177930866550559798497759700492459934156115432755524227582289983287427647605815611496199915683732401477278873902163791532989974624369584688231622385951696989525974416862689576716415175414281917622666879699750157453241685261433998676326959386508251754744328213458412186783245245499487047228520107287197371238976096810499426790873023051167270157504676678624830223201822208916017704283495939151786417427079729711974077593696997816704587863928574873010773260732618421153193681893420782735598003273563171496780654926893610390016195121973127696699772184223141499642592621313589654636816886689967764012661767591219255884667079456154750840145177065733394784258168256792830592711375922829389215240258529109522400590432459814452471848884194486731304367229895894222483753421457830867897506847367049031045357573467893178823148413877322251170234426332655922598457404819342589151684966489374707588876633362217637904122888090303490643260153067164083579842642234015683245591456936054514311662221623782105724145287944745187323332669675978209297780090696546426453229678874239826210310677958231891832613791746651855679601488354152879424968489535176394956275679496373407254656280558977187972026819393865225514784261168621629568399807326765924822358391163644855656199279731545597029279710657933852273381421412211282771135120655365001776923644467565514655872246457141296198199212527711631031462512922538242776327776647481055260540523456556652343288643366916145920044471081137854858020345688820672866539660492365367805961928507857082643891506838630456553904880263460587098859461678480339373116349419292039438922848201175960211584234824373381379062108157734373675623333570971800716495529298252306433871117286732665673863251697269850581255789754472095381981901475990157918908967048052570787533715613782145871937995474580464129405982180166978790421989874407599449057468759515219644341292535463132589638887781141720556455566198210300961278716243556584676818235832312218575228647104179177764768336088128966517674156406494897773373206901635744957245021349245379331525345263929342270193181832807665953328514342401437035913656308634812301039076186385014401118993445135714725811407227352221468659115232845914863637489843536465758217903161177966135774618536144815003460775819651399589766370404246124697955169140633138037380569341439923880766806425370139449613200249160846309203864337616215629360710282279098200634757973016911488427398189429028122643951981177344258864887442858106530215393197630139621597629310997201124783045922030140398692056341195040454535231327855101941937192314020771875291571246996298927204741433024499674524593931722782755122884184184351721649244016808292797451574252614591777738965144851731732337142539680806255470613362493991778881202665848337371895881324907994802991288276496543834123817701086368462700687585993946982909882769444006433374631874731118068381203994614694122741035156564569720980599903216341623388185681157823488189128758951479508153898539899268801811695771753045558912268103475626103871771955230671102967095601231630363975769949602080467612802757379244533824402862365484407793310137133969648206522467080275483271383503155056706866748754907143799879165795195055461415061245918515062027616132751607789469143313976654292033415068254227976824394614912106259619571185977580113581199960736165159137648684669978771391831204658129076669229729852548857420337748605933629565835268958911034324886287523480399097118798221674203247665772450017021450578147289467193716105420128138137839319035919628565593853115860149103665025335298514610880609679343871251580187034231882140560977684973661504786197586309918587360248137290287025203616353828161874983018693819376769150824562947473477655753809636307298836177712836237587303862874456853729981318038229726116446591988756049917595101061218631572896107056329844382194134056966720963059874979420562577237401435983695499806921069561378130278999623515636165527705864884173956468867456061599055460183650384572656397086894632947183635370045965414871491473698863336571673551877488063544469469179626503584561127527743618082187198580195234665632599974171071490179469043288108630711134282915243128782330560622257219973349146841317476289631554208076663088202221288796782860459360371210491839573896333312292150164182135111663933918850596810857624924676423168302658219617183668877560021577302367177708427499484788597129934387925574556744607860575396460426225829444312646551013729729138236326419833107723115389015668737725632392833790748031824575420649749572483926645210793577046868466916140553335109801338466892513817712001095944265628541579174023105918723727017144522757673725120535224938173196714741824287242754536565127510499553704416226106726123447781746869720131533745856408216711921875366114328678309816241245679585272755757079987336377138406000699084898779158736595194899360731500921584551924146125678349571257693484828729628668495694740270031921442370277764800584328458781131055071127314465468073349725638008893578194629131075772565458252774341364677874361842433363004333350147107653283847414343699034683054178897911050214659561550252583111709335041384975174364691355179595878316774001551784514501041983474149696529663309008770948633480929887812866165119771981753867775267125781587249811866367023652830111653260525686489436389535961242963453211349917328653856959351716682295781894911917739319690810359985819368208546327543440544018142917907365755914754798584497067708748192840250766267835900477262261141755393195447880095875940179965549201923257885116905746266539163657706913366598989614947180824598508725008908829942003845318113675123361751893186678024515476468483567679416611642968782642839417478666234876845267795032396883444110305219563156376247192923262481542297225396381972056222380461587790265835838424532159845959898807161464483029329868563245947041741413385545794741988918281246821672155497496828466417283287678880130951998337894734331791283630762786893466072944802876112957807243943316015545079745625942670722329512978246582950115797686965447356909865572340503417913752106752221547560248159755564415029397724413574513114819772636581615395067371404177429772424753872914838860724348744717724411019568077923075816157502698745350965636737506642914191472206582919627866014479225115669328132926527440076101537336014330584987806858682158035439713550432663026663177940878034914175611116105625552407639586268204261592384494923240878908931696527678753875194661845251431870589981861984676335175213747543499266561592737053637741141217828247370592778418913973452325675731978076455497252964123654518808090672675883398925167186289101189232235229586416035485539028983890697466725254478945793645610427709761681547180948741993400837324988131258295904712877265712679128840309091023795162515690709173078594816055168841788287536357030253315353352827192379325463933002738056184330288421788850415228785413132254241193371721739125878894220838446422847539023430289561738536665676127286783301450924182931035729511852086614952982176196041805176211950610756757123341585696674937952847543326195294005296575358273543709873598506258912436445372553269964431795972868415280880373862139810374352827721668588804981314216011574348122825985471749110481086673792913890359541339090789473267391719858145297200595258421312939758051650530438431973918219401441756482045616220264321151879608879765381618661100028172754711374399764992794773144540240241087924096979223789550784226219163804032137268187518379554116532688610218156473395377815027633559832058913494490494057490669131276883560243127208394322958120929666948537331108670576934386933522899076766279094805928475621676294189026501152079454324948402075382146571481542492551586029661472499069443941720438166063656128159720658413321634521293233109606550790474962805304649386812206555622228157941209212193132786045272822416967322269812366952100798623727492798571059124913282676384241319244100102745672665981523023611853651678989394781840039835739619429769387220193614123169418942563939231630368141806051394321802348685777515409347778619920720487756806587969731381994764888970248293833156937817841011871251078729267838472156542196767642992333296831196483179732749203120282992594697458582128417110476419953388598410900972558784396167104842821837339227367725127805148819469216310898842450839214674928949946387956171818523353420831508165412707129618057893414148570872361302216185445982975988818165273181610510112672407352544373112209171142070149086755299963994879510361488496245921797143083719473646486838564287863129454407673648755290311056174031380984945462557235099824761404597941169732237748117541401717259756866808276091303625493886839517390250776636711476792175194765644911125307243754233426375165055601462577255582241704748739765387460759166459812069583321442061747459237741863684385543624272365827937657901137229646238564253306487987728484615522242945519912606702117056053860599108493350797447158991630745839986239041120573625095412200338039696004527076191963986037156127183095293311858196429580821367663288587805023723630554852625773441323399983427211719954959102330728241975160929316371320034797768221610341920550188204121502551543901722410878638767419885594831182858826585640609335906719389764212022483919252716309808921531112918483646606115284476404331818499155334528174397042536082078263216771487034882876573340105561884797971031920665257528344386454696891795741589795597866597493431677665522652288073002134840752216993428466301284221197455824768554749154847281336985024631047243250982841648222794556633299499182949861917171317302588405666848795036501925559693469884435862724736564463156546399633842766938236417927933487169585117992308703618981802898705346377197082698384252134958147932624790229237240977045425695454271983777197433092252053927275629776390988667469238908163432976539896281373725973909558747491941795798559333193079828620443756517413686542530697624249285549681831746066027689782676388185723255982028213309339865552413718458572364567025760390716712269517727410504560773358801188624729273085936561216574128143959610612570611812321219362934256141155481114610859839185712534645626504588598712986439168271303316258884090948851979956470333975428905662613854918147669067297835932564940510181965564450590456887754727100806010955392748830344562419584225648031747491341263479175417012625773537972880141048789514244783596754705160996481818449111430929258446471514336231718582853014712393832299474459918022293287769488303874226812228296769018847908408176697198989305215730525656231477960579539340574379577431437935924091320751628844957722032245502621989061605954791706737343932349257879663838573396224846185751614545581443857972613415221723850827666896881581310190779497435363217678679464655438901540983626529868756119199478115146415666174059869821141313996328546210550292292001909748929150615490980823683013918353981613531191944012922944387156247590820206004143393119515170132627459415270199798351225811761298331873952432625692069071296884875892670038155529470482293562749218309996655619443173313727292629188177798739864129656006844454393071092245700996667210878043215994811280667264869828412899032558617593625454953660042966807163987282942114677739172281312092946002653575411626062356291166684819523325897619537858572676915707401873779061734048501531483676814561064625895418728451281412340119621628358693757425596457563575580246634537374342270748081486718765744553499296142522468911038186676468299636475983595231524169670932029296961640848176922348471482791507457857666286172168131208116559625813894360534511790814084647678763110617405261407249169277769619868770351490232435520215809533193773283981344524503337755833115875359519579745117948895514934422427097902953425844183471235569414016692622664126351985267148711018289813490619193214466741586477582731699805756489974458141727678326494940389209542320186635881948817367264514535593339970979444886982105925907168780198592300805754074034945818154226925385986533406541012097295975807640648092951694280643392159359555546870829128971256836769688489653130133173970458349634709496003786461178532097940850449418718108592051448805327836767631886654619111514619846950652892637144196406538713154557770946832376552303427737672948846369199037188416877579665201417863499528261414516340934569455125576291772968569097477541839529831120693126339827156262579418007898994451864144064440607817644159226718682527457747338499588853941949706206971390034248589629274041275329777611072301451536789541735955635221666884112336748991169654841169248505343580382043067205956572958395797985579390067572381272673332446718651276718867940923459980737292733168064561119679619266113313836801713946248555892430803190207897596508245976004891168585261317298919376098318943944756242688596078413036756714257865521393473143316020364824940991928568684246358504951843217846092747875118651391675187111073360112758577911748803112753686618577955972707070977866162910746597854538759381629306107548353732946890311494626588971789667763958124468641701086382277326690494634910467477495290396555347046848488519391576376594911469554744412636798212047845686654331255309780976483455742575407250669159534496440323747925079852310877396332619795334466026139058284404390613756771637401178722171331664430362488583153193741748772029631223213191668125648447860315638778329078577456948472736166729090538935002344358156335614718849743074617662367457398262999888165138384875678862337520762274556214335239167579836774221900761942111472165056198676281152075622423122663763683037393914548649605267222777293476886078061649854783049680413456959838690469190570453889230568071944822461098354642629775123342736271729633041783883170794816519768032799485799445579117202343650932314838270393452165366155572407255431536188609367013072533872947742477609959888315576244343961661647676504566095181165594259382808205185791539332986239754547263692303973228219612160699783334039105261835330929836830705429495984449722369278389853752451582551613430954953922201204463946689429189728802196740140822340577242519624456473808310645249136721529581912435034624841645947261160374659175670060898895160921583554042718411336085384142160766082211231243136919672329689520937481232321025460415044155249782255283665103314929024411952294491146992548921566057479578071994579110391538385709964683356811525654902304547195021807340750407687679533305994100198925314344419950612838306183172663484222662478652752890467606787937579426374420251452602809322174864850398741804454342379379420982366022756682198044741565584495609913238191799629153269421064938664902444384099205698587349918194825639613987828536042827603855658506069807586223407984930510312310976312264507208381519153415399771228871711268221719087174375366521722644773680366410456590432100505716656054331852699604193960656084881224766043239872986751917064326119547397921440917243243252447143617855617182484906938779819036172981266638121027186323242428868442743678344759915115975519893432540008520777545824183571328739542229844997959405441106296642432217103466363575228564782210338575826654320556205022245835087764846772685955828533333191837885666669950413243800983294639990813783292528942410545296410525898612743199177745653798083014433865385273734653952872799986221238749449112695583759528455324616356728446384716098208588875957677616120966312547959317476858972043643648054592185642380642701392887994177370779365204866303853853044875044259042784112480623546282933018055284490792664947072838112605823019202205551192094533132642253789870647616089464771437238766244978547806984167062543530714087773673714136551072560093672712784654955531809543426096262700350212432546420356789592376907531603414924996925145856291808567134030982677538952273606804085148987615156458826172202238330196684128753228304675116861713139618005422389191391719721186525162423085647713892556358282553647756770843455375663633220768259430661737871383550369618124120411820187622512071986236462637038244150540965563754062555947606595914982114157836257625024884283478443836003318285106845515125446282244577421022694665384019029654426244162326217467871618877811992346353213462475957165236166804897444122213402239064841331537666831581469588419258280543953034771716804381816288331918140226905819857291203515948785554676639689651498522953266589767808729198259677425812420652220868098707818595940605544136066252612872202203765555565429577899179396603662562813233678844690284806722634909381733558696188206453147783599543778632065843187345557985887564540121116662474343867247350712127661643989915174964487164525264457771294907621278861650581599622862636971141934466885178223279478875766342158906317588028311608692909291108744496269062384329661069270714019666384625266489402801151355543247935550383768692854682037968975442905079234626802933663594748563761530837741357782203050878702221961490602702659397766574465648790781401502370303673389329952357006909876088688305699157199125229996853439728187733903658042147719939794869512971518582696815506697111355998667879669591977644587937166556066374616716707489773851385820345734535547158641585346432831591661999980069739839568133303431127587614734580741874694808351221006506966462799828415509343333631322179797404074118874468457719017666371835634335673324761218726081817047384191983139322213361752986919665728469992916933136144652662497786845786167871206927574853363725090966185850425231754584681541092492808325626023314057233815100284294048500527673377665141139823476174870271784589346879674951590018789177562371422325894180522278137100651549295158112016308114482312253475928893678565342819523346296246073113676957934088944410904981949333088654838943134421663768274475887992761049703167232752945726039891289088883903256519370953362008408495764250587215721528130099508617480522006051349644945066964669389064207975598929248188768936242498528661623215723387268495858402412710635524850678713667811255581702340492987186111687223340253468346813742197578832218622926732716492578273885498174247370026424463870658091271918330767386512645965776910348113764216875657867677668390194922895493886264917672534733770935797128908428261722504139910688497434884833516516151423256335757511030471365370654627486151099272248294716075626218083088603539917813490399335938184338053262976430103416901881384190653506605055856520451991118440380012693981136988614969394534786523309311081034525869415457316674516127079818315260717458343599688295776850893451604441421630838634668880643575999945346735386485656525132523964667952717409599808538139597639229155982823483077170273836795721842396466652763489215849348691303357758248351494783607269968932715571939303891278760913208133175444812057765963926121643258891861777660839818892288168667278160265155875389848931722374339291080864369055337096551821472117534210220880139203699285915103373734993922165611192309871162389265401017257344912647420316524371657592470877229548657779527662164014018291524299103916282172013027223277340838944567323778151366342649164397855244801954713171854498652377477843421692375858213689249323081545488384437347829111680322446255635746264924973329594324949648183861714089595337031487506255963200688494811778620525644772337889644066272372782876248660098482149431749023421219184423345717054871397549639989670670132529484235744182525370668176996410305133345333692373048647826454233826449220346158892105582864580408385675979863562548749624971253965686445743228773728798912648129710883644746286429722309952998886577014247472082825316218144227777771845743879545346487118332565688172262465981972677487546010683947953605150297128817310780404233284973800150337489558881559012906690903562810473255680681046422146630825753739891971476973628943282848960880441592806413667478617384390586894201112489885656702934240672943734210280565440259247914202190725155209783354211812365836579758916858187829846931335477938188117873033244752340863882524173084565829662926812735337774628825238957574851921684983955822059508233072549857263071215500554086502357152991691905768926797964911495606986913892354960961729273422001205695183220255224124314304859633346079535250041290497191582247324175211788651471916419808914672333428822476561672856327468975825451636439570758838786481926172799659549020609852780648157783013838628091452223691178610560217151587166713070028608758969265525245118040408332880134236787107731781074698262013542354660369443610879574352636365909259771938896823994023245130836984860871043979820484686247218360391071811844062944421306875548737159725729042597231724372134310068358447597593936923951993981592412911690830385602442061385381573737746617100257975897623625346849031777633852115916014317759847368793881435501825592042517964589288320922054727224740192745341646127243644510541309991931088165803545902967367341024981764111564483565989737027527111494950551049705617471824375620681601345899113089344182689583557724987258611219129154040367738279879746563805587441928187001719797514992869662375050479390267502608525575382042957688452995863655776538995356045427887583715579339801731364094658803822987700391033053135609066198089526933406005886245705828295143573966732985055237992276924116916210935208601531723689546448624325416578860893344617808248567716985124737297676442645192467524710477376211605184499580451265988189661665991444579356013705608985667301126315690998378998671582384027412417430969322854628025598266575959945495429621287970065331710200473232991119772528738447870042524454121987515341699997852344862624865616220788117330329265627701184886929516456232924778113554373440859367085180692084134374660367019460356004340815950512693683618763867401635998513683799262943012461377188835446189587945552778464930403224940811535697996657238896238550190623889425824295732643835979466981355436601542686854935631581439738005480414148973558441060474169196183952130158296141048125738733495503224814324604702979432127196343188486281799136575475919610194101773395728481509544380297927955531583992651959937845889830164511849743197265784147031542827901062698986769162855429132682406982417199542208103062031589743241801778104527278378948893894497095270472170583999886119437995057463169193452730908685531848297330963087519227834037448979505076989217215347789900331855054705875149749345433219085549941775223877467600851744165413188252670965234054237413697588781821113673806635328367658086673034749104184063142139658471797163746833565900389266299919230899558267758906059291956920637593498799656136112956149633962224731996857397418205482613503753675295000298716644165594091582367609926242347612762911742587948635694961086132470264670266478174278552346421949170981515834203058566063961330697884413447722788750167135262534902644458317614604191670742479629881728611391910917118275381683224967787567147886457897320169104227697483750664967802737256511341459401393543334263538149918752146030022260810856073186605176845283080587862775080120725398734526889038345262195322761384139596454724072331464204429962276573875397022425462037497392667313782993643770447642377278003142733673804467376885302419226486249706794636687947418276129456932853270639477682396265163581926963468785277379853300228526973741935242911497757975959525606884888050384926352029602995668988196264036648308372825655881755339908692003653651661047162973818479554681928891608512859437484907180634631029848266988993955729239669470262087565125375025719869618265517967357830960006760308309679694808988686683900579179122965894609397147869543705464999376920777720316885286450582009249992567519086892891081189469240011848345100933091862211263935006943389880663036031682189382155380712216231577767993858592742158638752607944264697252553861163834627090662762214214353242053334499276997619054748431616822114168354616104055985640544704419996402186485262526280380629061032731981721958529727569882492240163340445889879918869688631898794365596056318842811174118576415724773326963258311623595200137517524457754724477748399841282608614660320092332995818028816741184746012983908845575603840273991735832912671483567961836450394668795244978798658375133884699247410848007997567232842986438055425438195822667255509629068509817670964233071732522174680630146977880115248138636454866861330118427931765939723045516948006363923059193704456547143863696397986868800680682709975709750266809856782172913320861736223306917491791374061303967434174626389316877413046381062131429894723216384038385938213025752423344038739382827401608220818897466325733672129767832102276425848125334133411164495511739237509700952675394315228727245747511693789670886186372214537090351113871316979653754242559332221166075786661845590047337885551269222123670516798388259289335482608322550148610808585221738416381781774624549030552345992146557073321187864252118287126859671142630775399132310402827121135474519407176621486000745162157296489647086367009919906507997948927381567051218701540755624786573955189620422217183838218096679166196748317268984655495166410664599892930454853033577461106786589928885966540428814343938394196062873975612427748945970299776796971558359062505263167572784371069067071268243649089898328852097641318439593413246340196901220633465429906863608875938873988618240235994817997230577618473227118065368623534734145050164822337706487122418378694605687779856442426477199479137416567738788600260699213924232995926419265939887942470767911418455097157748249629213273234137972162571613868681537092944441884999322578091950921974117680599717254911434515488081813010531596364117612675738857611478419907755651967246457372159360736592266524983618176971219181915495666777113640430029583327171446237399593842732130130198636392083768332172297593477671042253573863399587793498067174429733097773573768843184435441358141629869498028384268493663646942367318173536417345724772802250010904726629079723074177630579412994859784732611950548054714324496611362268015021816283621139946800421326202645121229028504863541655642257019242052912581809454262528735769747496432844218145939324162167433801127620369138535160373689947071646313316211706781770041915534786236608409588757172537778213156690539192547384657155792325003476344509338897984903601616154536353739689265173493326451459199204462004728735346028560490421442220437946631459732526110606474764250104600295079391087504562476333227925033393796884709108309179239087933781791264412760792459777514933843621558272724025053873129399345228542265724355845951547980530163719461481164482468586033153632637987072397510187613582781622906894843898147329335333645553392362160712341854449369348449095789051153432331508832041759332148895353096253770261195268177587992480067165635716998548629008871351568678332125512101450253720502744690796748786730448394385845988033226229163816637922043641417141972327871906142373116878372925869315531823179311321580925384660307851539798879471913118655189332353569774131766219452263063760531728368511979143345577556771016845815045688465091958196434910023035655356033802334319383271248541813097245107883395177311355312640428088413736440362844205751621479041903615837861619559411449074626723968959922678961598293204275305018158259297168088355848812893239907055937207618161727838463152378273331902545118037986942539124978824995680442841622525753239779590339902795353467725814763783388819148752747317926273910994652365357482921541418850868746755137846808110259882153946895364519299104199408657636136531924375313986150433416986634060155378168558676877896454280309868641945738694989299134461501798414936077011957719672771286542793479911982658247712404197278652618827280653953115610564391951051315630754663712709162375969510466794809634611738034807229545587608882981012922071798615348248441303512184770363032126861663784621116447986119699412156227813279932139272118227979176311071666411022932422018158498600172635373363186429689568460591836590445401953640444319867310691508403423884052410486444168622819022557623217188193405246449175726887584240648306925682100880798571936949955998698042333605551883504661664482913364734862048511518740324686671737529357767554995482597860765224172360871931239438265982096001518174255626295108960587390226834320447207139338938542646819751904116964303681853231465459983139290789261321521436541506360587316941322865674380652885216021695422073508461798621232575593957504657151225766359881565992671687599098586551728043358395545356347860994706243201611681899558031412684142952929347109530148325862697444437840189916056903379015971988068557819413377350082214429180880817986649945843579402939236841879431930971738613995729918333187654271992826251949859044417073852415844537582595229209536118920972183692698162345182126753468461146770778350911396047824654429990357656912633614226434479989785983147347555310593492836436969699482617747495881581909692614296868242479019885342660666829575078138613703199592453987412792994673736281014889861865885191816375109483417696154115596798605294658590119651627436755326876191511071106046780611947242274278689790749474559165387243976554181107957382443289322539841922259932056169483830557616327908638234046572344955347187350286292348180508243113133362143181080424095867773196522076756830814489691795479668594940224002126476942757563352196615899511293425028701480154128913121261264809129734773848555734784829898001251835181571637516575852392355582391882681024605379949295301432690632847443777360499779119893361609530282222606781430554233289624053491311477376693088103111305451509715193975297679248109339659631671582800727523289987502475946345447357089687427878111758360278929382511768763403921558310535646451872465398956717629556742468534088362933286720779584082914351454381745360481326213189559847994238959666899061911595293645579528376822871922759724059963616448444169238148196381940350473376845058419811042836116317283863900016132043650726287608367825491196957215046234264687153447848268799699272998459359275946442635051309131359464177535918772899914715799961705117988666984948304585709365834015499988119864844129234785124624638735100645222373671317542032588741849853291036624062947917390628940285227407234992564431373226151373884878896622044052562350043580708596476623347692966006989139026991860933652182327849974418504931121598801856061536550627706934257552523492881124508165347173234334861807694244418156970371699793034893919889295355222841237830815976631592834773857948129653988387017127398979360326374984637256334246518623525369314782721282489834192504432256247226144492217699610276343361744043339908397969584217600884479845234878194106868732723378883659129527257517815777662144916542575780117330731415031327109539030622546976228479800700148427534543954373385361451100542272802806034405896541463854022876873041995231812038122111103727943217911014797248822213667643485328630084811153762587963505445823655944821696187344448334797107449174575734481690355339366302339687065837334438873855486960928083978920399592647991809165496793072698115229861956520219994618136871290127297609579721616755898439318795852625141587966313205376813484705734057298066363387238230172650571875826245778566182761783698263421973027425591392877688788067742256709437022776600982943164829596684888012643582155214413395317282710381491539525162353938644481141995792017923923734370056648430762477176799552444417435552750201089785077297037199958353130669270952995720231643019388288218419707193245972261857701698824713739544017669201618983322658469848371592266126127013125878637587565613457540265153596407709088115079325692321264792346351081631239486769022483978398329259578512798895967187111904480126532899312260894748884892373013574051930879449783388038344964768371222621177252450738041465830461229021175377254467555630242455888585576737772937759375201977238176519207180941580239057768544327351194928061786286690432468321635949506347778451123716112444573443652738437505492816229355910302552218726263883670624270775316554771755611088311291866588082259924254305365423469904965200364590969993906887011615118251353621072927086538493930019912673521933445534838340284308757776119779647255301856891134514352163329832441653855318487515788328742080520519986776367938437342532909586765951023605535972519493050467852874063078345656945276587383847812420650440277153371247865144800946573275570072275381182088009608804118347007332957597391929686256583144694156541277495224874650159495013897574267937918986533937752038272265553340776068418852995126422245036364195812598781375615762208755479305702749666742851697265234087235277571869777358040179035283376822040900413669063160766061711130920823865987021448121619064847485589146585210805353405900688530159281642952786337646196169944399301085667496338291460323842958214693817604100584822955189220531352067988874876089586962743310844052272481445915399545313257769058035401281557965551328952143426558963095125185842682356810422519524434797435571352757583440276123681578892996421147173249578373739526557415934752849544423932736985323569360026355804197563645866723736093952723072416739013736896171216824542388363643580459735992692426279065956846430407513129002352379863218875433470108894836911331246172762957502386773971381987219479854376310438296485722498164671819420150879763699595393185358117676264659344752317282310588672077771395409217486491964639780914404510332131578712658640488691218339751452641701361229628947600463044714998181435433435453787023155642699834999004358487281403191872684621208415796909289776923483248963536472850047775405320217782776670611575864831677169236823114253983488546849801161282342231641486636672035818541297404665298773768921980168418766232427482007112569225851169917147598132657853464654203228202951154646479095629210909788565521298247378171976878017502474845774116211359943224433174137536772644488811338784895297305815418655701395382742825925673768733500240815861710599409180810499474166958820158015135088424324505817788212410959981715461539662287222040814483536074382308546367492609608466968112907091677360780649348460537205439262769757360437451955070436104379818535194299630016894918116694219733663748943006276284681537225443683185446276224383242195614725752514850255481582630507424012812743315418126013307911990685684695892297781324249212836942432297364290733197131417566870001839460124614097296691028475619947866279997449011407838764216974142725229239832418250313209608533281728971418527707952671433442189209850265447705855803920226140632546851736972489725717668393822825434923665784311445492395756115524071192057947669471199690534749621293814142986912688840331431378699852443055892140480630582211912222470999249867391138860376127225914941495096212826492130494669742556580050791891773703719518141294395366886495234535871808226641792501219129115906051396081759542780031703291543278974296940990736638488737349729870957805650839950692586705650762550141474597330975388609558685521277242614648043898621132495980786421392493984420455617371449525982238602410549943027031949788745841473651988830470379113270812654857172953595955333937744314786860520952801677735919148562045928800558458384669991415733204618033537675479843463479949346165509594271680438356492932323694912282980412380163633869982004401142474835672034874783992920265102270148938171474140119975322970638627723423583486569350135475449197192999108881609667031678883301554634159035248389756549816301464505120236142947280705231581961406440375319640758230649855530060051587162750921847695269959341208859803471149447267456182629371139922613064209354084363520227160337215833223476780258376157113327222506113123794191224755438611664560252359766886290182550553452349121958171728774905331099075303314769906216800318943369937549018635447064801201232935075107675628936796744574912555227447087163374998434217241566548954100790857420562537039577198060735481391272235191465741573904612817163894595107735497034730824124911839454475795637424389786925025083588758761301533523969009817299588111818454312771962552283967878484717928672247331473481105849143878627282379512221176137454419311013888827276337618579927670128411675602588553113261137652966214104503467754226442227542139403983696315054154695452624889159869142088675734593489422915237394489499786420999105904927848037162960189520993217592945492893473912998987606882610817637714465849367732951522247575478978074278372816657652871771356834315541219644871733457650217629191586255811486613213285681362196004222955663241913964323152356719679192514829263234385670774737873586658089032566678565078104126767403087462221422302488871384990778161141422040328728622719726048005835899590493813374720271391543476656639245377213746063624512195392588255135571800824762978376607795372758958366847800753997148554434319061859286550240517355848810144084819974639358110419557794675164135512232125414429666458228603486911577333991430716981565408311917882188513656805338717241376191079804845205812165442461834244914115381644264270488587890171503159468223632426734413882713206537078171446736796683834337076706525750998135486252702171680946173655361165066714190026636550339239683826530986617946488275986241544573992487221328943598968803134995299646697582312784724970466468391193539619245857131998454286765901384369761588510967722386646102877520455757317916906420279782404227186316774380212627613854247091232320493656522073233432976918934495681321733144952235771623379802803240964817345476685026810598652591804128363172870015267543307952737269237083887232990234681003583728295830583711081281967331070864208641721060331671350567947231718364088358191377545957324547361348085854720539392604357795750802863566697448480376108547915331278667684677271698769369296187132839044574371386037157753899084524348866504535482938946805805467561992732737947561604181484197602822187759047055985165848158300759996404401555762672741359172851451268590134108016993133914241851958001892634776598073839853966364524816266569963848699270241546892016818956519449052139236773301098670968992879166318998995378380613528901991161448347081175848858139341000792085969716503394281157860243023122417936546347465882574401219567052379548891496242259478403949151260100193734353140186538182435254471391325815915087988284284359858057076419791948332248674348667260434260049685735537642946397510066935307146461419255836612368718151211053544801024059806780082231854224040172477650916597234140657568591194345460088309190114927073816778113246439621403653156740426592821422284351224330396146810156286065192607110355880808284624450675477841066275217670769552877633656212426463992211113836038178573409877152332808655646647268163122250487374003357283777959012573101444143705766671168039257415021051962446400473048752682123376489756347684491943702081423000236093631897797229218272323619235419909149362166848573763189119240713031377445917523501540858041591714185840122640510843833131741360381771673441199666447946290496703679097898290301133377379752035749410249280478379381463141976535771072799815814405662412838574504338580589595696874408120518577697229319154714285167233314730637243759514397299427855315746034682701646753628764117376534956526277677070320875841821958435495258771179926038470443821532616390005617575962027880324432129962253422824722446286669431966879522447450518693907139561726360819442992410782468372768319825488479568847478775677746685752019430566270850725746161672028602868920666534023596415934342460662975163608786939058477843452309625409596842337729945886398628762345643066562882265759598559919698919857013646236824474173633932587181424106661512641975975575186980823123062304358666841114642286881661851667826100643825185359770575123662215887276965997583598172688793392904787650429423290715634276194762781727657728743723252430612635480511989758711131671528518481672859212655185116431654833758463555834883213480097770850846783886514828301591057817063477856245936227019249418733239537048138876671915796337054169870889473205737272275207121554633382439461003424871423997751562823069603281128031819007528722529095303702233155603865847419341958537842697434524808419126042843133765616265946217916547717631792956641445597189511058759878849180468156114321579723228777150718519032844216059529591650338864749845661169997581823871848043556741858422852684561324084745016194943821498193753146020186864081555729907606686943254378113711603471907738637311784596112962688677985325413055558046926874699133611748403932248444640543925451684041927430951283228323679457219898220822655988906576376126035827183941696816689615133702946627544179342442847787532534864120777611611846578816957045747165219992154630456698449382421549891321469219448292979347306671112373986601474897103067634046017558127868886358991018544165458677736235519707687762997620970240665211351044817027988637974283473960814475532147852995355898494281176492032190662578432024706452364921203821730990875950316211247725326858336006158113601823283967318567373266848689814699138537883962136605451306687243382556330494369079525360422863770787095327620366375733602749134394475063783899319683902834983000179098968612918695249935941821396101621346442702535416839894745758110958794878959626434258634964291363969447472215172410024809061740455388126593421618412944013269547441508617364283468330620746375814321528117761048394231517284000440657481080350689378545513866809616442348964386286204320939062887604564514894601152732575269185639419688895904257879411322293519871993984999216238124745615591652441807185517117455496602242063614521723613543866804487285772018992315706776647674084926928365112245228471543664394569826363617489359921576894289534678147226752938263042276907386320549124221624616908637270790801542607271668698742146413140404079057963517095501456363591562226559857568533152660049179607025514926769207432138728926862253240114216732046362315149112161090212530826197304916778292282956837958875634805783312028401117528717342799595633597031763996215208683825677823148393692944403662833022924698890380263473778457999190776230357477873586873445490948398547560297644778457062934754999830326074833136622622441795460387781519855748435613962327497619699416232255554676433886693662857764361065739804531523055912563657518654069427469255769557792514489011842888691805865246720614877698888350047325614908357991689721923427175835533282527037357696471581808682238358022822695588884987968924832847838957642281032427046006496710172623725775311433275768898795111834524559299385892772187755876894124867398967674966344293255573472466634323300202660932307424756112381228442657990874687255132020474386663588589683827155783773261870057845769432750957362918482104675249146328499442065251786199889167723961547082041807210725433991812815189104939587645423447171709133781037521019426419257162551249321287844196335523311023996914514997352547026666411279851931187617691116101126423159319536939646461678135617727837444268173038762453695886378337612381161936120121744582627115498369223599787322715596216375469667686378743599244386696393164715513058455530122436943787067112604087341666405319782965821147326455774510887958342410360153268589835786445318983701820782232015512748601868583027402733712778728700962423952616642049671122230489212717223790567979556558956998463508175754849278238173685742876112345780800660445916428397211447191819215888329430855272493763627748480394518678143893278269787245958822715041737717269397451747266325231337977697178088388234782695372275575955812696074617311165815942142122651652966476954893907079581090919874199636506238058421293787567363147945755943737682871327147747182571134226876873172149292355152768063979427004492212476601908422742609791158430928962884034952146093249106186664335973929445288664615798191933344997504592406861170362316556203099194810366087642018698772162169943274805171749529523948540868426796162938878752963547624811583922996735414944041425285495929857153249826329598264552350579407655277714824359477114137222964549198525865393149299299589257555166165930652931723847437610907878940668416461829110949739879548824793167430158505672934664075397861249532153486034907179821466118796724543135791416099266191987593472605213618978966573569372709910066817565181860325466514793543470166651199425136927293707673578650062959775733108400253460944177565350191104648411016662202822737528369934925043274837752939365086855088519249861122304659585889724398293298153462822860077581615324691920885574355065883724295001992870626195236984829180838083455630184198660346398624525476368264090811474019285064741382648359576331926904976687564725636191069032743780591366898701974192457334273865593205079451510956543130133755601008764105962765333855619752324507384044531419042656763254439363203204603386026246446394815653860951244907166782588107839058373918347189506271982754491617643420829673689555311299097319248533466912921473480363652555157881566744396293197858957833821402911322789471798276136606392164936492083986736890159461797685893674249410226068394644915416793483274641691435819252376149595164685692738471536890826916812428415326612283956591279357275309519833206480223718255532617261364320510325985919231834974016841104923959339223128199915361647205974961551317506639708139408974284698479368083175395124677567508102134387797200242711971503837747755752622745826322924931680880313695811488229965544887857495183139852283668640442801384510956528172455877295194405521961370857855331441998746836099695873264307371764499337119122586139595436692648801370129578534720853974377500983221269569185772353463489780558344768232414232432612563176521672295954171957132629126233849701958788418407572188771876303541256017570854799561006899495011352631659137228856532175556194653484927375877669472680501564481438162252969377383851246855904134821363102845593356079550227075631567587055301354843949025653282828052528324582205616283281396499055291615528216823746450208223805298504114304666550434399901421396365111805883622713299524781287663491166291818655515607897413015102230305066217909497687254123075636493744582645262824933796429283169556355970224362846257685270069131741489257284827321949555897645782716619943237010143472528035910896467380166324019132579440659762676279473228689913947082652768697562351647577108536853914478832539149282935452642409016987565397586774256037895051762167812296682226671042409728334697648161827691413863219488367556496974982833049075231945136832783331747627595310412927204198785044240853443824169424921763183978157889530349516191175462902306398777103073340895998813960527489955109489179809859920606506324395834530382673597879502816558336813858961522753126211930515680267565410129573060491957851784514357591549735047651119114917175775384772872811567964655037162059990236999267050860576771785317977185215534456831890809214240828905341354138575426619977722911514124664399477975187514706633565872269220793937285411285324663290603850188983198260534276395135851887478236381739932531339336169767458156655614177675689522381121919493841382740594856957238407907950534027314286286214397349970226812191267180739765732056621220590919184095819555394735911164883094218361371823222731847896159012380699501049813542527821348560885008895284787861845807087073711012937471241334014992493832504835736947534954981133376723736338324481934679885435618499812844397609945952148953446337635702176282606990496352037158353198915636797511669265373546981203131997318089118495936922690962456185330271034748186319380182896941797477337193452041777510587617038843838588779021756134292272357462266999522882279612388977821458173579267751204771301665833027741947808469185427525242819408862858397672180373167597778181452217513623423744425600274220007546333620322739116256916823701640906789603118419616828948513350911777037335892550684289297726946689479580117716889622158133160291729369222130523245581111773944055592480121777989989813811742563637889460229133711166524021613336008523261084916805658112412639793795609390713987306166869748266818552040618857857938697559489977206086605818254561560815758958523297552774994564159015703437813708880990883828145356467335767766192227241222815202079885464284290707573721441953154882679081453205454381947064077897851190063615654575097085947591072128321278597022409701156479621323554265736756307977054067487459793431970473287139535553303061188836218465097087206729467662005120830438616496313426283337768850443265494527964986205687371644699393787346344811924545944017538827841898581644488938837837817669100876832393563426884330786672965971409282557097999675393403430412226841173019557791088381709383169275670966094627855190234817620629844226437719676488371547645673726949274098477585387789888377620699817158294752074205715218784984592315496795784523614038442291598232584173425403477628076301675611174343367777985738627258962855066943099450821875879553341178643180138145822111517743896754252132473241596421745485872959796869459390202632634988880633327434442961465032352986309413361271022813862613258196491415426443334442626053313613755075728816159695306973869861166484022336641277963754759145972483653119511648958068261656990231919956844333158293753395107812771890265378824476280304126136378120887825615746220084149203662452508389087221378827919741754742545643727574031574113990773175137038243215923103012016107748563773154638916245319354720756592229217528822347624168324593062359188956715305128077856998609401885138819824145187243545091251112614867604013380934731463342438762112367593818973278605610000938346498408761824012297121092178437999041642371480623647828126407312895180106720736053937637530270433377329274127027395290636987252359766270775029979019696731416741219806073747239076834788700468725595252611986642429842952513422810825049426995816857723620457564193792351189766138325343145264244848832311776868060831622145744348331315990128796831198216354736481688426831278280644878381889213109240809202697149256767379959305175440664911066428292561036136284999115592897443053061412986766589850328380279822299438681682839659750688514075198021319339703437469653504630268688262940829859861514658580098100912388538659331666049378250581935789230645685081825181160427622664223461056968573331677158345680538236667760520625758212824942700610672651534562240327617668533145076264998241544389245232874947817962612598291243972184119413258271334193758222941773825805018887117264583426288713223525161995017415769826934524151656355823627659341438523831852771504062363856912357823981440872045779390897831665360709028853244194488153207046959802500135393575674672655084748940069950402083426588605597424139571945941775008251905974163601165918528608478816724291735702284221939435325824474812555481888202032475724161266974179071201059180829653855425403674223122737958575651267018689672755490148748336733720189933494592593480709921941862183759151556911615472699854351773746109744493321857964700644112965696693063725247854196410231402532278794627978057252412492968101621381619808492877894675211722278744549463615990426734794511212335439489030518057190657939558625401331239878297695322445892283385226801599139729954824236389186934397397414986843421237116515924372250634593181600075636083688369649391939643769021913061683326635224239685446338564830550576492338859620962560446170506329490662035839847923552092413860043587349275728774945885952058066915751858104466321955068899552458462454424534809240151663112339852754738023901368729171318444208467732067791646072966222671199679898915454974068407754345080172566114099069979819612479633686993087096779186261135285191899536739565814961795642535352567697204877252556818410726031616550231731044286814342656427782830613323785919884468149312167453558111109101144893922268278139145974041178044900282337445933643688314857666493511095369270213093450621976133071259427780530815447246755039363136938959494421185384997479514288722452349055667221431541869510208758664050515173975618440432185931694971733607263987964141759811269138326373342294763853615111451901456387348481969528060587051419663657967647511636759264631931111135708787916726640132831089981428359341881377212995649122268796354029862679551045496890279823502817750041973295971739263883725310015286438515942888672001160981698534243402773943142130597331792814922658772689118247274696729419757139308967466199842104055178931221838214819217311574681036870220156017110271775234442665436291897605236067663158748589785838781060293909206776744846652195479967503951629349843523968293477256138617226306821473495740234168675939861721674331397676773332707037783249721366545858439369596671323012786873675363610214574722333658734160982647462906954391389562130981560391550358221621611868381056373142676620453987604520319521406544315438550127743261780148687270129533992548753656641026523395542992690182340293471101981526137110250918769837664934415695437305048837314813739980467132303914509235484210699836255727304290930035278130204803421968844879644015185145084968327259818685972131895029827791737252651197252495077707639172215868729699297886213368606860767617187772143570421676753681100187277728680675798721201624502982978873990992706347177415421976359387126023656594709805950876648174697341886571586970538541162150925073862344311681458521006612526053227659110260181676201096409525106385933724684861142946532194368015569803899528072826661468077240718015478763434041463733834793473639868391424837988298442502340294418179565418558311538979185734700413224626273189879605255241797896790372791901534670317382625532506225142312266098485535817966942102611050424141317561797116847680586709751242124838295853529224000505452265452857712811098436459445230492060716306764415473451996417995161124175232360019727455820723911906564077092579343989034787031177851317315262948882112727682011784786843379593098962620992211569545155523311320410260802139873382169509706790907029610645483820187473246540168915123469556379170870149043338978119002864655172789640477994945224665278486715384777556445202189305849496922527418537436707100390095760875926301116600353673548921577164495228623908079809626196189988977627649169710144629141354863562765849664690725609007354823256778913989254259354495775566485674556570307094302674379049528145793663381218252554153518853892028183661323484383713358491134023613110989760414445583785291238842969275123900839113046540377648762362671277009105800927538141116219431968873407032492011524481915646116776533109872047637021396181289935089125909883679913322828059893866