50001
25001
12501
6251
9376
10938
1361360086639634047594736142149399984821648528879225671631603387774888715843827478069854169392772387958732297077343428045383159572978138935686313635664093403492297096365487083171489893534892440856630662151102938814351415051181972847089664830174878672157484328826448995518872812944633083445432890698146257063567898281539863409743471168217869283409641834478114385459330246561468573087318134478828588727209042572434371216412313231655456228291460142751327678559241162761780072321161096906193568204114388748005275298319863353452492623054165132507517429979342084532284308180151416434890510678672130564900048239132021996047912491183032231083348219486996945937641550714168444118900599942706423568501169002633992576684459946285043354542879452188237615008987782942641391538247936453260837396316037278235479294688490376141160332012638875501875207398771103553034484663521856219417525343738090504898497751888164876269737727351308645278490725689836156571869292724064689495390491469562697447226481764595838988370634374804602162583093368701785425487643092301766098520421630665538261393577198948706668892459117451763422695053152631670926432558918957438105741891313757169074520711187822347483408017718560191166898137195140722112246776823130380284244572387787107704246975029105228577991237376021674123329611192741349701234275710987335868910768967367738295102459259631092864795471330275526054275828592535966467335145821725363903785240061296147169950768893963799480471641720978066489317985014414466068864130049257357764050698895561011656754795967821598550173674411056810577384324966673621254782683294246640146980205794114208265678272911483119753547292969343641741623800078797346507147284533740468844059901234521329722379327712881715489590161737991175608778753604727675138763177376633411947911672802122750488671237740045805646574799242230556362922880401974993175447746527250650883241644403630537794266978122414754203425002446399992568236965023210646676294465322370107419551234529764211258635407879758115503844762096587034880983547852945857606128378238357874529835699089589318286043246986372981541425884877452770121263575730330457377948183251061525839348541588747342582295832113726814995966947749788366531951333364538795920318505399251904217376954146346906211041898348235069550894013235645529874973134071299394969342890609760880925493265159833279494472561861188732864789446325412042545063111377397353616044868426235634963247090576722827010010106845883094332443523749757417432668663024610231368368811558058471129816989936126220894911681914625606805687170429071680107574555689861880011816032632175647494966512351644551553905086944188238468742035916998983861010181464758139139619920711508372691637879298074619998585439995363111064240941820914294872841908406752805948650849864397368479241185505089842018669831301458964689530614760456929497731190819438186863681270252676802659154543812195669898228357417864649597505547998776592616307785207102627888134552180289654713496197685908540880189733301328868064688689111035442184160357096529752149952693611355098363822723422932140626463104761775614732185943567292582667988127681197348243354824412593658318564467094816342453628102557101635878878110797655178556553042448769313378469294814038292041252835821155185204727388934733997697803938018253774025085983184794123523889396783924964393588494622824453396646444052780091362576088913007461066911267030504472537267025515603879513727191902406805315700835101762568251955477467741498307401426684156392927267787711750854727021313024419278861005334477394291111283059062803322361012651908628141132173979369561648429848339606070541688179533584762268296629923071568158819341032815279318998655793453673354101300515883877134845998811258845306490870110374895441156114641469072574889288709990536464665686169953632251344534349913322441221621741721005587497384291794944465152732956114979441409386157210294314021325644354434591692079769987786871145364561308782829768958108434149534211617742037186190050876584799027385826807052923416153390743788385435334534245536383659866607522364678508209965829749282144845644015888380699971755427004665071359622014890706945296644261665407847384216370334241683818628025698430049798189487668733927422996745667346194614920346297378930648593791865488787574976986643999097213402554258296573794878543061261439412516240355253794696852133787742247976778427167175361853274443171516052313990218278719345935723051395510510857573750307443393619780493693576957141097975354688688552559237371092480838727980689403348826881697702657761255923262701640278895948649757361288466028105177555093994150399396936749485571408024711897757550156396601009962349918229224599833047188715934483040480702167011570102453111722649691915237317802210761399918303738123793340317920675175050420813346983888548731879427191161782939562478993489468288532478136373995005722844756831021355892635634748264097483226964221134453882242731198388839145121853570899696727844718381985070862938267821254941260884333444405798280152450274485953492839439097696108394952636927474365606582286596516259151168117795944355273446613433170536613242686669678393644498407854121006768752404633806486747551977692435653230056942022154456175309133947870519438520398894115546746724284633919894836733798994417574834010577715229157899070737680853256854751421438809266024436512932545484194964938186073109973883475596108605827596651072495781688241082695619203652086369232400206852668417619296749675057269251699610388355921988864129472594895495318754779191517342435283307320896038335706719355091305755820495238500077891178003856424252159877528861596252568194137782233626000215536151738424317651638820404761674501182733452921033118959535466778896799698637471483161516241105606634727116268460161963245150310598671198825722169792205651391981683119552377369656821448643811222849140926601292412704026058173007937414503327361340028768870398394413614757995988683289503938101133920485927118932320405854143892646713578850697578149763090646264718968153558842810500877832698223157543085653180996401064422104426129861155246196758228076399687649465756832103344473217982733252101219918364623071686614425690314452384818393763088976457014671994717923826572566947761927343204303005250231802451170756290582876455641598701042937338263664563850956776866677261791381184845104099134754977332386146182483225842815538271812573237770739474743113210873560467713903692089967197947668266100939617438195003599093526733480196103288663808832055145785018655351594655691059429313035762696983326502421583783532121589752164585024967184409874260833890365622792032844127199098779361248273928717847862209356890076899524950967421821728841825632352639573567475199142723919505951872150610825508894937762239236264216422419211087366370374784890361061515124570192578169122968243010588761872257345268477958607203087154627082875488946481084848202724444295072142608739938844879663666838680387013821359054400389951234605278198299937388706952738092872434142427615731341049958098256835597817375457306665080964764970931284472149295813734838865352657646857216422107028685026995781468746894791660894789155534198560954249434752504568806183407595488510793582819968870729132659385122661052540274885955432461666702094284762348488357705416976305136664730049838739926511055901420489908249630347368793673936446433235248474914732907055202333699516785837481629722200359485158845881035423015015327719941395536286663770264989796492986261924470202490383428800931986530968861627714677942754611116565703854143774865946543873348650988918600476645230452428666201384955880672125996885592461642248508027653330374483946540856632183436150644527373098288609163042366531269489407796061922868256219178658048360450559291343474715756885897515643872400354509135912780474539121519123312867741197822690822297667598989143106463922543932668564614104087815715987911162724581194960770576988676620536431897992929416777057862265086243494744461459087131173441136761763942078840334481832323198062396753153254941584783967285027691527948232219146851148988943953947447284378356549334952398312512070577285554944955818625929181688021455043771689581777224227534279245875422830597208343699967737033761658256457313432083019050612886509724243466795863327373676202796388301498558335309869695548255278488727792326907411529697879381202177124432412177035555595151617816038061893542067119067824498559227258067430087672281330905691984019437664837939637265626156071861834810118829613637537367910453286033042704572011338102328229929752826991473971874686117788065646445179210112635884592738542981836046846856733913073162114744687527010180992908173951869536907476455519267144781019202335541717821243011115101645322417086275986878910254125524810413675944358430348519097679925648598562684596228636441960324056450890148430196906680886895391009963004063035655941396453571709220047206265185652616744751856687452726026178044956192260445590531261477738932441078997449725918569472323945548848538622104582275754269243369782232156826191146422455978140658965612174441240038129443786443329974817910633111791469022252240132164251127096452853879053518178668832407327225338404698963694901464940898446877935409464208765390992790854675658679663537138164021226478938528659810195561468668632015914956323314344406022190480937430546310173735183844373763692248329164440695608286593862795161357282258218521200387937286686598277367277688210260666976832914081809446633140257327954840387957061766989105307102536715221897481296442690149586271016207841540158219215038328239795731579514833239540235509011809460398014236278466144570193738428160031321851752474385443326711518871188108493953321533055018560852002632565145148727049558873504009816045393533375931577626861628256417163448975726475983783408148883796936390779432416864113879076557794871338266364693924717943512499226568459311950318387445153143235168628249341105723388054945451556134809375190750223076315368795787220432263863467855526524350761038314406846538305498743396378673040279115014499765357105407979337167323428125282697260503992247648895464686195674680512378898858195387833383381076585943944831557928285145249460152244518260526314054959805410507193071332886565395471932793862462491142916207455058963467204065235339422435890676126813798144678598538934054119963965404048260218083605548472107138716401241190499917724871286472581892355707858909556766836117377166158589938057754970539559943236515049197173247856268494339134103753950829688991156443586787416676396177272948756558984783921491763647140069869370457443672810059409478651849341679754043238329433066950415683264637398478993746894726526659211959579382731756533753209334072251194606186665831879996646321719975357795036497826870639888579591932023034118476173907378390705573961158353896197068788144653168717986484242292651892412897027290504849678989996502389360332683663427086310979849871647491541422994485360133770146115312252306131318537052197923145114549779478356383593004256686344053681397791920814898215296860507957000895707675908002043510965063070920387243939239516615481941375195827877091205529738341317952199976514119017576883749131628442172093655958660585389366536987739208564245573995024359921963614115553816491082151791259216718337104303401593787155187817561871924202670488156138227332155658765388410095723811163208871985370330881836128988288242155125986864211138576033390922811175947146267445870247593403394111963988110327067364811835551474463452128260539101485896691443070499253223166103148404807130175734025428633621444794877863902479136952739525144541727664951009246218592406703443923467680315066867732983425499767251974413946263794123112623035226991504679783025816802066466723184133525124636147689817336565817697699117781368800740937044170521675271738413927509384607196352409901159520446979573034003165478049877041571804711879813723012264790840395879270374832845061883795688536227869083488945405387123849601671272286880858734880558758310583322151086868121837568540510570647627985115331254038101426448834726431943788482632100694475271363379863577761229719332278515994669477031431858054825624692240790278700454942292985169004768018235590359592357695338362883711131471834967347363088437871211528175549954991604005420150698033919284916257755375824408840536510399668850080791497003165141358370448238398086286620064747954542873201805879638314181453793558799668510057401587217579989158466956319797344081904275798488951917576526469648309859270429596041714029942718926943236624654321300444601260617176213587204631171441666619255646653304841585701756072383663202769341452168965604108414274460730299435961798472422495668545733221416758867417678621349235630468856875644625508807379855672929513888962255739363155294262362291323096491063496569137258097518954920800362489213680620275001596278646366292646929229418366368967477271442720970805613677686818202056559498524093322957693748835966959118383366757645217262383106310809723492869838465275454139776574723241407067948565276496611683968583052203315894734028317518997802823028789123958548899890876978626574615052002556209106262301321185186465891846232354952128660080451202768437102209556760590960517668957423256779849669654956584696468306431246147176318339530923753193664746681912950332743696161994360860871982361898389651318254378717082545362243256721217123045842571937616672511218721947004847580173118684073410735127433115207961763884441399412966546873736981434996985340854662171548520892921627323204962011571266762443341533362015090505151382026460442238901271991630590715019617240485908106917432040645103237375939612160141741208772998678829751028528075640736132278908259238766283882642068601993150939155136842986641350446729064028716503803392387591561555718174456322820026264303564314167986190003383684782562498197449327189461283472470822119834904197199528094261346262761845484989812889231508091809599574722554202479149700917234628575809495269343583988963398790885724999173108934714851187792611766447775839224141939658041613045847862954955669465510953765117646524936439809040928590892479239361223431187870340597449677258870785249702156691734683420506209626717372213464562334023793802427397912604345326774058719599849144586796018541415609363049397807531262685475413939744021548940886726437100770487995997897390086017282756707568624835095367558347529218896887796527621142712122792914901629454730716183009730113507233927610657826927526361387952723374575008523114728429064962874146334723791592364086681020102498535244456389022812425587980017089176757638021865661638143091045726738746606666550240386785202973576230925900241084644282703028634825635998432088541625524017322315177178243231675640384289245217816311819426503683424394731171216242181465987604371932847917072879205194722674922186743581751178423965993370710924294145808339677797865732122459445785915346429159823112052950813631476810977771242463559879642105546294839030218944813512193983481794588280394924125995502184576657112519853840084714284263162517899725853859175261178296797968388426023735736100356942780632556240523265134730397403779129484644996248112184554118622980830578227897403160291508761202981804822778354981881097116011822052067734784572898790278197832335917468409350854080297855417322285527387272847569227669003303907111744116544786134933152483475525997747072101058381895632192969389855372918544023073075951686829725280889649001264144968613824445421060201753854016249252895665517820622123440931625283727765843155783217539054686526018259543568986466622412730161142650357158934540789014374628349375446820710503258002903797869220792738719293887651820819236937249526455598541060643711990061148405733725644924726033514977704441425434107353555061810430534878679282346102203067128220407185336239822907129660958642848974837899545129432214972637432488675799562018197126419579052676563809077490694850230587753814863473755507288439932231309039947355183415472059830438257391313534276807580412874729306319169069848733464571316369286108621993738442569939750628537024333613657667533803654431272940268453409707556791913184128943754740228281999484462234275292487324678960130961825126173626174249580169650646458340167550086562699843298154798824016613599027184978914246569159793684659088552593773404599477876643759851192536386632706186256793537376877873575429043366605324453160438636793387969364028535352963229959255688427717992571376619981949815081838295874715872717838486819396856836588950994466292246431429804099631311973151716942797531552689354278374590232088161567825236032489182194691168711857219957068238866802796645872741927953347898384095216448933289637676254137788472659175052842773207160845530570147742385940552567495063194045432979259070561151568617878737414319152748283315886596492876401043971807829358881706647758920937854390355834865648607898583528565865646000481306475608212166521664567290464973804987485114261597236970463807325038412276064782872843747314636259908485653555976689275886626456662231823550771850019983440874311548916358852824448550207471307279281678616241573967288141249972371659979517558295913185872400984977574172409494272938545731852962515400520633918333537653778783487194732118179433527313449300872334740468573510363655777273390536071280715564538871493816747469137818114457836279848719623955652872782800863802206502811984792675327881673094591073667044215493165698049756858862836510792091032604732663689149660369183997339313996570864137626975199019883148011787439766483116410432293090769787154988628367847791162326171708571192481228751717575151129358928895172980538100641514337312035629207675179571937631577453647374546910187071424234752578186870886035285428332241145823291797461165820424699506742812146763388265609979829135766440268325295539756560742987360040335046194913664874111649330750814253968038500834563987046559853493060102358293793010314212535531279812116743601242382980774917195633455230898762131697793388639066110466564609646461853808707649940459958481643405128477616735849432866016828186383485415342606791080759922403626953094443749429513979602765177779214309989425420602604438270242589491232342454667554763344402472921397671189734475906446672975105817507544918640584242905560664030017371668335968243171839245080423846250391318511225104675872264693521986397962108924633177252461223180397199881943829898213748193335814061061940869920096213748955271177843625426231516660431542841666722209748975871832074037316275629778891346768812429314174437294182714716412735079262561376962841286317281858096875299438599452804389654822715619646440660347694640858374934705832328943941303159217828449037563194855081259737931258617550854765234598960320813725788451828267707175398094197986885686699916430075976407331761966973055073192197164434032996734495655132585998229696350729448456160595302346524656863265047554068217320106693949035343755544739353403256257587466121331971623656581171924864420794331034894295988680151603452539253137009500931711616552111890783605235883303192129775300602778009376895447273017368630812109725289764564257891615973654634831563624400350854134716438477589734556398952922895547690680394007253369488182277175216858222173759959413583220002290330114224667789223163835775435181622224837744386792856818993512056939844521028422444531464498759955874350360937858527287656125144134790569725624224007939409557506908716133442991087957278611673196568173883191750647466329108780807717661795966748772118573796624866462841391573473136271881811256643438663365254838994183802722473936608922475757401175177527932582751875637213195377174751575315588147485608069578590178765784991807586107906986769136977845218934036027519936764081243102328171814984628060446490837024677441095363587185934410758678251835444285075844228187173119689634825548441064427477373499357783833988285973571579237381025910704977424743909335696945796174548183696926056861598855583994442340604452845272374489520349296154201123379255843663404288160222493468109049915724363684832370789391433066497305587098681057021151935652232995585418939358506757158616100508804487826722471826776384764292347178386488848788124857609870728585345279607439903379254037533914073328304679618100573073267941438259567082317178247913789091885290712215684675672521905579993583249670231728986962864118778970057720337721432413259538310780957880992739522208820828013876229158637625093413314317593359390922480368558920376584360359985450347829881571044144780538404533203929078540628274263820073229104597353233465326932168780363901985145322150019842838408522636432355922230281433235818473636194673555733854542479411431296858403317559920755135314165334264636472903062624671576527121644901442849745728391565152696308222722936180783271302616321544185263598751632421357737173668455436597261592225367179307359246832569499124728897899695655159332658711804653892647545507667588434597446971665412129360964288426245960558205766811821545867328541754064515870687603950516256925764915791488831419167372377621202721697787125571534825843574327223562875365392355136606324596285718514494501684686382753291652183573344774156273408966064658665222571596927473382181436826640624473522461398756261047830526282916532000679761407912122593677468405441190996414588649853416356649008258353508415591393168826669508676264321109659307859091919019768120615395781436607507509965386760359087331866323910046708346461255772398600428105095970249867576414666045586314105694672780339332085444029021315216018645561657434360718795513626878729358669878328902986742566365902753803615878402791055494026971464714053420644942154547133279615639861972670883358807848572573618733926548434395543743585879701259024695800705947519545358906810413692707859297825231393723623458489777232483821124656711898597272017101912883971126880279081535430665429924448779995002055550313296432475886639872732459936756526477747558661907278097622298876332049219461481495121672166733491745572233324149109784708907322290645781730974402819778665252233363849699264407860117708119493700428388606766673180932844681934755489662532616844456395568327815060481368899769897666897203646231640261852410808356592392023614557565087430763594332977846643121517519381016374562037009261650447353160740152920836352554931897064016179851759271400139167885925996791951758486606352845324198813787410494352734706788665313811422985298865224035244745646076352550773194080358850857588024787419929695555895670457818445475439312483505198501797510083590964703756073169680234859140215111335746910122912093476977103856131621686658884580522361411307859038749846908217676388720403778872084737243779901049835842631546958242518665205262435824796905724711516432015130142983711992468670381208551610437246862683004552496751580681399409649319777113183808062614294837250506124955565898992322628335264156622736671636704782985296399342014463558575320829843077218340551621355164465569469622959916998427416072659442667267507152974087783201468362994277198163874577794674602011158886655056867657904213988090276268139422732494273948053991471281669193219021336021383486594736283675128374187626449468667352252876665375113266224193817346629751439979268464118099991358145640747513107667396694292183031680789907403556017288531432962138424067791781532741608034244022255823026541110124212246230023743329997637402184639405651866943592529770902286933974688292144489202184342735741562372197125881128398368425741313833411679995301172696098623646008462812208471073142455214342877404596115505518970255768257603303097902170126668058159576892490452519660287611013877695694088423210327568344391571453219482779761755185219480392986946167308028185621833208139480946857000911337969054415725698578933733330215819027437723119587866638846012084076547604644823047179621391591955483939843098441253575190839935657836133041694246826140475150177365521110328682238341111802736935580947609528879639586481685959208045698496087287298026131539783765572504081506622545828964142273361783759454521462783757364949427149887412145113135885451520366189437127815961210857329458417979022165347266973358711322558978888523912751416626346379382439824466399820165278536913994329699383702651835635997191983152733283693865764094267933322598432303144653010868745418059144252630122898052536464749578599592632971838210617666728621793468151687829091289675681354962604286429633259322473045742239513299384867764977874346165840331226610330533937631771245819760320478503228561796284358627715774191755888390713199176517217248656948392239832105748612184856251844250423306703136175684513824874122494564170059854512252028575326273869487154683066138237127832179854681776054686089194619693890398535909842313058676663005372407708753518117386337191400491989637371955465029574351091730255216398175938324484600152901232549923407329874877787613889519073205328794110948653435831286668398392563883038250789856342461723658581432694018479105694399295648444697751968336540893567909455693721018493919622913316765869107174311593697652750567299819786443611468445077695213325222862930841442391586195448633518406935522726448198746139123692379990175976328519300574304803293126685096561544220082403488155862220098601692696295568238272490935238526225377846112862738074029652310494816834060152047943695143807256971588383163968962242867562487164442594068586153822666675476949878863488325862213017543686441696663789288112166515949369474313455575210316601395823304163594591849819598061601834871526512122610837263498404167678218238777127495760416228410133407244821978505141733943056636561936929106453525544695778553277832172540467443876003777571927211544658357279720767317744438963601786513470019308402815738441643907199129263361931320309835179839106576758675937814849183255133572958486022341274665090241839715702799755163395732864231446583590638586871411046307339020254557236058742463514100077890233702941386762622369739114574761332367607946083343705913429513966237533621766608295243809548058601510294439540514496857160254806758955292380098362559870785191818837675396111196184660673978824391387765435519882075546328194127691801548173552852846228967582535303894786711297969107795290176857980527870864500600497260170035762253627579695965181668725623860827415364752925631982480864985707739770900213665628511940571888625624534098760797160769384792365739558849540883516116824666813842836338028773873437901736885257102012581699536434611362621054346150225955415273685225687554917991373691415677599386396468887095845839813299664241763317656935779348495212826156671795388997680979014045830838219858346339529843227832694739487234553961602232636238198650325803355817413673115882960627755466764481035748763633483414364894120158474916620375839201284160412367476346945763868750592006133035079398117805629114481066527631532604186755406104053183432728918118749863914979983916203711569418851386964494152019480010028679158054391105377676791252671179945633352131898186481525666656667635781168302423837212282106368063404159246188587997297483916716754562875551310286357533958612112357347844162506181144268024489197612705725713324854264847334592277421677634406825814625348892622692910347526395983874177514618749318907105567008731686992753226237728232016525252003276417949729665385777425266638849939443758501159629975187378988081089539189407473748658552546266966992504599822097572140793722942600547724227555797611131394779829993008488060091253415514322073449483472354347522767692260858751418146195464626360454242957983158868552503634327856853554585407590233106722237686196696895469561974181787696752875554597793471518356946770572063517610195135136019694406801865774394344726865094464708054942438915174063407315821712423797086738409402489690696054786485539469630116085386341262864230466490063178163636856648821584179615072780909923946927535933233265893554468867453245999335114981416895783798904138362244837457158654211771735408864335850428266513991524764029072866505115893054607593799633617071720339892932386443604685894090383492633210622415067713357588405987058364615085464972067739763264987474247357640152747222191072162279130561400710266104320467656432707544076840512467595855743329882100916712894434182289407475598431088744691191200059142631213354242199225684656169144191235116826180620709202580194446719726329804639650588214792357168101769377232483926288239100793991386826227418771987112113083437951904772078249407811838532231337255146798783169598007101586947082414644707106471887943214015229076991627657999915385353779446341892949791717684604687464448503765854765509280939017654507242743044155510116268928144929977113525160879708273686833276144598261442173006946180609662565116504224821825338392647785081072831533167871864473363817153975076154495070582217634402293055596418269508476909062795038823033849264745462972026996611857641740843434132535328469594889179565933510113628645747655516641058365430954439534635118041356559973367693249918201669093988565981375453283347847215120553815919444427327164778450393593161167635880768328055271672546262236798626172528482357165394775573845134976216561599161669750682396350699949903231425983663649377439890743821861896005019551132676296024084893808676997234548442147016584255311887269916708025938336597104413513658157271528653259692569997589667932759211789574527042944413899721798044688918248305916270140216947103389577761868275278985406400308703271413557656630102301017586856802723229076278977856334425353507452632239739573942486216838299214528576975817819563998915560689203251070370276347017554999485355732778706816771573487817779788796778205519820546622447919995468584536022372423168737462295549037530432668361728539310393719617723112239211181105373483735841977705261433524577312699637740788432970635320377851920664599176076276688808240524697654894758419477660876424442259873878568407477355376121655888853432860999267715797999034212350555362979702670930266848663949974016620369772153089945988622659075763517010683289341176183858890437297891795144999537616580540606018535493907830151748421087194557758878381765786062585046902992189981645981711772891956741967318269317960917596389033124931205412844318995923458241712930722712586012279622881121902976517720530661074487679530443098410322872472840928021652410679861187949855892275714952405946440798681212331476990449313340775493201837044999558937098379452680119538627436358740632382624908820343071496555386463734850673657704304587658435297504395175063406988066749260769782282453960451818743095642716176460365984533632209891369596638316762049736624895447626141212261996367714407705217591839971250285157392114551446009275763101927729150261160207344018631461389751674595146224027732520543901875486897728599120147564740280391078401270884779098440892607773747064133599695251662176485300383266033459329484177141548275835580464812568899495168752492687835437963374020448325923119957229845913434646149356542259345814466738385314874142179964034294347958926375771433915169773527292075671813039705090994626722408796592750032667110795163425332641234277229098971028387046346883295509550615281189020721023436611087489818462645254140252521956013449540047684832018058499186921859117975729486677731389674506804901783482442799033756943652845894759073553471726875631094208921312138961242955259924889732066308668836870285699655434520530324355988764341449309048834272058294215480584051468553989489026606784288677774674869906180944885960651403257982207921218874277867048422737882452422704517993184328357160171889943064747096108948433701888177614209920171880980490568941666633485851401796168203141859396072974744193654589986354184120485717279668050788377844285952620436784466155538044519644588394736436672142795914692680632067922273774233548855330484457104133303464645483738940325067488513960614212817280385924218312459777527852533387338393706271896168210406620348232363894580040985056615430316785123961646815777867337936742635436447839311285042621789971187315434490778221261831734853466500901634363593631693860490737298708264592778348139912428201174234735821143374012175012163860716777648469790081620924227255581327031687273893454122196006931523144795985787462820225933977256472493368003165277720849604060997656335352500179038319829862279133444252832598062924211333524196553946527884853181603143086699161871802450444626805935928098590195892448919558727114276956490255946271134912478580973148272026129648784535444196459093718546859124331557561806989523643262415135552114157199434178413045181755075189221627847869323881002484193563316118437012786430593229172900799009761316654738011936799693090168864107735796056723129053245708509231383063876191421080887293519566075126286918939155585498955827776892251645316884176596240872302198905014943749960148837273894925571875111965907879487749648906874340680355839273608632024935418623937331880654119654379153564015907731608929927392112021349419969613346431931041898444470894285132797895185891255110696291017518542209787590015508201467805164875522446718722459869410572800103474605861124962823796529028445528602035733838758375025579380649621849421996479065815273437498951189933177357849274899427861455292133703727880348126476731359111740791401443663123792991525015129665627980946607129343916242248592208410274109491098164852628329341786676370976769503177705692317616781902952256877587594280151944927392686048920516496222689070874221978702558160171621513332092164024161244608469236807134837427960810609703839397383259910788426296276672510988076896588781323646855923202213945769728201479533359486052987038435991997456346946398550232005798218569690357526980866290179927160957696205509431925742472963464333442373412972980722326954117412828686981353869125354442535440116690464368417514319881712697121076406585831474382057540181683853168241336744673974254237729223074563678128565977659449662397084219598214798392754534491734421437873735387028220729731256722537516804961828530361408464893023261664145885334297722919687170179409923880774938355702090504296369356537134921805582552323316952420242232788966800618012815209361769867988721431870961217303726140277597964710632232148498319290396714539065833610845946932866251243721220253159458516894188797347625791434248819922296791399340883529993989285914951387110318585800975160946892735939933934698661153874911314403345336845751761184895154915489877491470907016147188277195932532163604674975744359610424865940236941261001730819694699768276082732892722440056884104060810295856615592393401778697944920288172879479491667530087773285265274947694784919305053852229779777298671749260747674260643592322181994703199423610601301989928247273153159568942616797437533849573341392982335394733565491659264462824614018671030262279231835093726501588335429524944913776474642075793235746957672506695141084633395406017750230113547420701012617958601632338934238596730595132311799347469447845833502537639374269988963658787117733366658535243259324029633838095694640959837245715574255193964304712694973959987794122994958425171114527923728106649754343796276979236181154928426530644558510491846583164209967914137786571575004397913325029414799927464610411635385770594994688653379194133777256254154224055161851732061460857088117923089811553179378983055709146123644832148521261524133531953865739293342994793334751659322977620754764554777357538448506006506310769152686042714252617309589388483434153882931125032178593737143299662168378438907853349466828544744248062822607913026087314217915694453325621181120902155682667282571455900420782824909313286578711713818041590673888728813443420449650493770478279647336312616469287577598923836858080675948658896077243544792118138255797999526464971985666184775504690436866753924518584366295496148074313722040584794211782526802625843304195627341254467681814488312356587804216087264051553252044370819344592358769719193604748796025171628240937682405044279434405196881987268971787763240704326818493268705561915735552350628630745926064179754677965206239744328416229151181780578998198431460114088829227474890412934974236879864412950722226419132310201480952425193864921087573143036958132204392017247243709721615358344758991064508538862378403361055260863723807990744728266851347028830442593348254804115049140035273141618646796122738666723383670765125562550675556960189627250912231875021673541800892264788581809558165319446542886712561538012462716211557596228546975817565209605410292043109818603348281186517465397631599934915122796729192708599742624178003357741657634280430931412207546107662864024846252012150552951323860754772449382357391431230998437493572534245029944919935344371701733146855774032407168975516939832228371404815156726896630182753245631908688276134424807951029378168337613796426970171909465836591855892742233884095828383789613778783833597211559974464526584907011110171358503755176730694677157375551383318412604339170154816890307999997668865957531023294457953918038995155607386219383905077959947958292378910459706499978293473013922833903060950864616649485030034904294143928981647947149158408812751429425539155535051826300189810644959623615412478753359714870333787942373439172974088893344630753180328678372734595381604345432157052958489465210362408100158321974550276099158114611339911768981573619645617852782615358116953961933148407264939050869957712339857192145245579456007269075449950546443773721665967116152299331044563017659098633369902657729635717675168810671165934902804421699022670646275127514521543417139805711381273319646218529882985648313069087953699624562529794816240958433865583596508344236101389513979199261341377114482640270943131315622357524612384149146611191858219071128201531221667339164368614650447151103979720472414304603487918697788953185278699808979465414998612178035119337603595324332121676179758627186816714627241148062523431685183463038548544253858683192758732056432387488831333544586729284450578173560425679120434457343015590752883148239717595674715159683547038950100687225220961646301411475782184198625085591789030324096543403555584270531556829251093963253048140471868182887705184136470565218339126839391280390236295865494739140127228685772305750297780908284026732184331846481579985745849253903381264564796516389740390097355495119407336123483608182508600814537063517982805121569190573361330100430547793287557421701679596165757532528288096344496256777101247448252658116190179483103965740980791758046105980286658895046100741559333600304223155471117594663355088433675162065679605094223531530893073206313404356309312330112721914356177998499967289316054501451646639983965339930437960413983524125269987511538658681624796270949775359129162018404408768556032445612425196371226411596068992759234543713640565998273679185056827942031801939484147328721664075795729679028598895071969978114235080088833615203462372757026448027090306533496816898507723739164319686899213695403333052166390424262208463252449818719784726784394802917354710789463814970032129426244454085811254326900935103299355783605040679598232738029752765863860948889881030301262238719034227162260185859844298578028292989389909818673115228961547098373423504431401253644202731756482715518299569862923052354682931243021138568174982177023379014427882109471315985575278456668046227298930806546820092928807701436473156287725786204759362216937054443769353667078030870851407343301191121461163506539108763955990302314568282046197631845236233720056725140087425344010908229645152461656748039609912417224796472337349439451376186300468467051054522484113180324907862504737055921727668180019211354080551367241992622286408492556910611817180899387888045452310796478873856743090888994194283949394149222047683569960643271675663427373767870796590538762396328578896365859997098352936807849832062496864613823610626088432098576898523910538606296392390271302695744501261456668965258744652549741862586133325828639390846043898859471995001951141560477149096636282343144802834792479219570133588239436017741828734663479675111885152557280673788443927221355300316214284840541329587863827555925129355772213465951392287578772214563263163285232503593720624512961492711708406726278215700379264519076468567968779275031626673308229923261575035038551987662957484484816314787124922066886108320226952540299767131238777574573679526325349107759674345973825727736813650110690963232604013271414750576318459022870202438349656747427687392979213737130267243397519770271234230157616692694632992262347796883953278247150887889099907204944566091466668531353076100490444280215350864967704737262785898611820571577096839242657065735779146127569951576196712130958514450221257769817645912407014544548181678210430409558406313424831396022922412578760863591264649752466859540269960112473399812874733195577447473632016481807564713774601439835484729800117111982384609546843816985724823790532579434527782178639844014444376583033753620884567988997194806388336183713141205890292260269958194728059355413000260953466781113952407504801684943161347775907315565294098818636356829719491974734519021518424786984811482292880189184017664789913123023341992777328347823798321516128031927983449697996154324875251165425457983377698545674438330254811387345419276030306382769817127888671119362810790457754593081284599473842970359096628543298488090885258066839339609417433359414524526085637739855133667702215272864829653424682602852801260545798140430909169563260265352001105075866374127280152033301743370785447292714673782377545197554475783562989606111014917286511580967900782787393875195902504253315693248629972604897321823595663714921442250314322605627915330455691537627858666947943561287831491468751176999691352496171199258747309221149191509911992218107904900527467405187492774528299066719055234900635008636326212074102529856457183020445229705977905824235669478431161443221962468838668565453706027560662754210259533496839406741104677495103302753176828868339179134464943348421779997169313972815132368646536436377450027470703601834508645918637369122371305442974114705343246035412385884787449512306811235974393661767308387458431737025699717842397808792419312481033098969857627038621046518736564242198490949987682845064794538523843698596360887893210769526645231055655822902655991902713897964858834729763431720985818042060571566146792728302882140766406162544319449486337433141854844650550774734620396495544282568116834856275438257685776271774155871976475501426675719145475842154762994650102385798232902826958468931292996947722649071889941002863947787715431591072809319571031475192786784738863325095827270423462169159056379183687005702719183249094973791683933726930988218743465191719815624435943292530611341339936460993526073417808364175873634319860242894547170689079958104994862147131435414549300297113421258611165868959117682836882290317725353817789188444695576455926499879333929531797342888253162259144804580554377153121932541655476279377127509751187159715499887687094556306884109695577448861365540759970199510117394728413425841501741092198830791187598147136211423555451513995335359616852106220364784624334903758760653857154120939298793380725774627012644285413809713298513058331732470517715930663543253591780705239272854550138691159077440699067272367188913429517831876330142039530848531072207903932520317188932845244689962633329843753517049747964292137566419106741553974397353158054268715259874336018081881890247065939966998848350347107845146611347333953312262698598136606523235751410376729837218804761815923103928572122515040351716243419015622568161959141775935585092535578423475354453377229502092037733232652423184086274994607887948947337829021343611802926193521865684445819953427541470731239934446191754108132523247961603480518503013823156277883784792991369872889461513586766987202912215630337226578252907219822933782774490933354277668055915534457247339724930263219245496035990718624078193269956898391156001774721689238575668922072754614806885574255537368773875965446422257213911836839663328980294560420951591794005911643999564507812278454987899505617366136028556532287986287844450084162194526595880011950453578336726200999594624574270381756382669221175395207073404611265106336661647229352763938138037662338801387723647564703767651859430748167245629226549188250757429386697237669325921323614140194874659842743607442153681354902967709847068625708784850944182162528865374773274659471868018475639534173157592029961498858360730931404755582734642324671765348437752951245363879430825578497862952295344142802518679631975282634558544588239703596629393889084395694314271261486787192449532828299372152538782660047136714965589984196004632040171824971885559901861553519651844164369324725869163434269956657770562825231914465242824900254200684702401598615914477883746439857189332427085890009465841253462165511223184119399366199974136026040662045870898210768582009323886747469647563880246641566810354839840910039314789196680295267873589368365267596216078376603102329397560382753339819291988257957878245920528717492667116414244732272164826215275747808209391411825548856451221101810465231385076354547614690635580883816752727715427767616959421722317002745526669225505405563066691016226162162237667808626981567428721381911465991320253766456308846421069366927100341745193232323754374399717646848212004619203106416203286297869272727201195534851997397532314291487296845509548622165269549537611884974989020472523320677463319261512766467993276643409717639405549463590812681441181788728366228256890756159242299863848228795259835348545487165484923902221584007502682182567219985029573858154741116753769434211122577641258126795715286981483054036037162072112777006370647920912438549863120834049459427138920607474770879210990173947074673119310542326074116870882075764189326998167074581276429833560561491115062413357696588438872315439303969772186310492347118098596399856688964874022314724529994182761060341788023225873281478584543986127728509147922074772716431189643169789671895983852960991587603960284137145155091914254650089901379246150028556566888119882392482056673061842715470216891764818915812687619423431799348786257059427054160139098336234761998448792326584362802786413143533488422121722519935727887411143846650674052757779995437601216259141016217919264615985966332818793831406009803901052443670828124612021283224068376681938601667373955455656463576196187710089170455639516539594827006817578389655306525903632543287524826209224347907624351612750570997930134923170363155454138679325747989353448343500343669192948228347270835022222526354631682572526519392757280829081648726229261282802026641680699354163632279293289458187918719025251885093540692116923998917854415204172461823413081812741104508629777831516828439161237257044224953917385828215963653451397275884252582553999507490781216465682439894715518064499382642834694875182882118576104198807195489992912158062609471941548213291936103452515116822466848628824349326100218922249352232721238047900321552055323430315255426005696693980111764789216538861732081908534435081325576636928919037587981376524762399427370531276798443499686737851374101369186939713485601600438398382683319537916430679498735206274026070568708539921646274539984542251873122561495552977064603214105376398933267914265308937176102479224324328286646382390842123243885211536464378439936430704802279429150173724144980223427521536628428373108034664053380207028767493556553513792475941456411584419216820603522177275261618442232812533198103150886261167038889818689291772643140304503367533279809407620876015475634593887678596430949562722328116817029371285165116377749074849949038459013149864453942282182520073771999122228606683426081125646467671591870131431120440193326213031450683898932368550793403410542439536195377891607260343524673361271879439714858174792020269526271931885498276940321675855702627622618681566228925396863214311832890981706186132197092110378965262002020193884689179272150231938453490838935714692256648749110832221303811220974149663846025960679670062606117466140986066689410997296556801914381955561088661457735893192641672696355915509715376876960285155295203222421095127325657938368841216764469991086153018571839108885308351929362769242440299091538661283184067529882843182158279931791520321582278133722426175469126611453559163178272298781058897623637661094286779002734419486349433900812936646623270112750576682152698040061665441281402408805915048637579788102677192185685385765432483239120297582599955784805635718496646771628258357595225897536961248626672609504294138412116185348040620286269139743431550956628135561997113488593467072920442534052303239509779484827275891088736691356290146605936872170114390030222689191928623242974811214841525366492524107508224091732112105980261075600363195443069610727468822726722917651721746761386806294078707228009651485636501116914081645488081701985688510161059593535262168441087611110033253774911547079828300022611531428110285336676702574751296300991733926814359640354526340072684336593247812317660199056679885510424381914634750870576821152806647453289168205757126764872373479714926267785689970618328421574739032447398366507325493340939933177192666924378855222384656345359021742400594690486465656817779111077788624322761601897732450134186532839440972961199924943360227940477405377118366944616766507089537207354425448256975566950303573929285438878083426721263509606056147324454442090441345875788496419683089153610557771970843812904232886961359701513168739427129522362017104257732270283288788573410116517220411916143647834494628273137312972501516736077166651292763481975216438611995472568972733491239629535615212381787976515362372456175524365311506198122534182920879588441405360525551976036474335596491898122647048551510330357223827867440241642270960348857696170154303363334918685433643387867322104057430731069252811175875230975234885695113421359557584458150843130180697859199705767439273813668299828661565127465807258571437719637203455547566268497967018998932335426670616230734492169902364442366194276377674558548181781720271997351389712702857512993750916658819101897048804199101325473553121386234416005893242990932236726464173512988810988399379037537475940641070711477899101475427778658019483923820536717461189202436289205952964222997807743748221465536047411843436244683427874184243415845863293485621048867892879824521967184135543995512307662365228140660977171409514647711363192704774803805190117431121836970098807142351149214624190668506801436366984214085394817426062566158005939152709433281728416008657812428188894068761302574582551810115944777491363478968292144581067188818818465190728803837675645892738862886449086108177383394818759959232746496411770547496883884498338483713397438193756223996058269572922168926558929557827592773730513715323958920643327535192891851433664498529467541793921333887989345725867111901618667903890320529473195695223328903496573589652321104411594475813269952867794580766389730404416630667356184134152518829897168183298352756618809291984684195622723982566567752441146524252056366094018238725093538190181691788387454847707402074127642943476711355075175310556158686832643213346057780231326548124594965897149964133940637886920390346799889938265047555795112965797682171386418297434726541167077609231885553242412210758046622879497305513946721193421855052247225815070414650191569939973754457128895530520611297843549391389778020985330500868554230045490072295990716200137699226004221434568481979818246435082056862419964701350786483450528657134375526997689475401818235167734921209860225439111834746884546846121199472585222497157504045947129998409860039096721755796926886593930966949598792937497259682761618402674661012419931353321222007147512350528111128363361286278855520367040485640966681717763928447638782128011825792047567112883551292180340280978856370187695949960237473538590075718102083172299430724988469538764318077916661933487673311798450616986579875437835728219187384733271516637323621646978475242723650253782609406483058528512843726306936625113010625484282325586842541687261635811145928837062958698905420399997292335193549334769435918789586714152418254190641218223589483354114573652245743292337928998722913863062779887282871545522856703993949459870455790760375884972396601355551692347206516039812824919732636625392560096330457214536485249640069543761428031297300968045410930323567702674483884575638919926588049794253969376712924723402762347429939888571946009014946491492568065128708707559092291823966794056493913539646684115989033701334749812655428104607929117286843413591810743309961634347040831505209121229502518140126576643070445116326105868566157385837652670382388289765975437505096189043540076352592802242721254810045262908705108730329490489221921291809425589069753169992940209097718769628302317189187559305850437449950954572171523890176937565070635624509644626825876877979480927162715397519749518501577362185285322856989654358941058731411756273271760745849274525948682884694001888078915633664701302160932691341082753333304772822944476703100131457437456845834283090699706939466651740248475408688734904999052839495903935175210608828145834943878642230009364327207516683648113850295254412165023632251458680046974670609707973296519075835507474574150494007417299268464772849439215022462077487198805351916414502324591127394834064217948765266241964416182653291250747993969038939130850630336587862076698173123552040311161141583334681791796340127080975972369772418589542240826835114518793611597125497483958881290404660173918468625850975718263371187604861130079953036008143874786737949684493722935156337554281055648799055739177529123955968626714079856456155019863654835070237826677333179847493114911899349606066146933792428572405131026227664912392585589773329430743942154943209527003461312793216604479660522133812123459811578498119875773145167277810984245696427731343790464644509277271663719264630486751590249742258161822002176277859625510490886245574978156989357858277152446898545929885852754822686737195808929475472468916965393961755892438301755092276299473021099958118256293418996738008175248711683714268179650972721142979105423619969511193335263885920120467296330488428838872096542659776944058753115891749310436621729659895369222206111673815687534118288541911961406756054974266510959589352117039125225995399036179816124616020355296170910762727059242249073574638332748093581649587979723785469924339751269178002321614097508795599833594496334711418280324104596239832203132972867279541585274595445944171415833763971429721469850328795869853898428493794898497588050359763582878670116941437626716175879234250202652781050920207913476279533429735489652899372427916262625898692881362278434883147988020274866106574759214414415784603020018926947201258427232556298357583185753821285520256305543202609752511116039669581541412354544852000934550460124847420646697323088992974122064736363683562403869331841821549678632343538751765102908668285127590556376196925382845768461581425775661496634602173782467061120882276862311311110991841917439145675346101920848849362540391277688282411491279714776967509797666372571380994405742950159956836978092524925318973714697726456730820266296052468214153713445848568829080394531992814441381658789883298481026583114867697856438600358452176516075157045813183279508411825232923255936469475762226218626426306903746980039350250581855216412420045217329261667678971316706518308964237807724795739029838490693637540047997341682371345791361776238593802604078241106695747750096444721682403232966275978601522948339331314870551464192874572215213285477174549921563981983797158907640477085347020660073819230319244768397431914490686455553802871588049815100795353489743295583467351185230772183593790023283128744317154170084766114951999935432956115601550139916676863541889989240997214209477655677185538086519689638037599734988754843883342220564452165375557127871194626094983337487003125939540917447446444289469947981656277071269339212222987540236689458143939862267979623437287212498280788994891253761022029815554745366482328225450747035165723936426584360767371262964780421565285930483227355189561286872961368868687456348634604575894378834745757237279073247235443543840521824537299264588334534672035705976874081146046854512358293662213752527511828849494191239392513148969966988763854424268455591344698405345514108237592912606590367328915555135083874878979510999693284801918918526837795055953022391732798674656910983658378731637581974481915719851668828471774213331491326507443961132341179257124512262643951414714323518786088467129124356743643768884610261519329134730164126961051916580784722465504899175851267081817741247462164928051720233804712262686809605031957699786304641121861140914174735572597756398984007598894020324070502104914394892896675738490617962088420121112136789180614316567616002544632057829080451408191772506007661521782376681123583763313443670433251316382539015177358805936051359828248525276926225367634149710840586737901490437919430166486916336227167110687704917172334592442341196883977896695241357247615682148241315057219158776723084805592114276580758967554518316895172590877329937855643716749859773983113649091741925868110108044825634540609041490640459432144744324792914908624598076251497018587378213457167827603772927647063510879718887360949942553744469035013101818346954146493993556968900422596533418687814468536785640235668886571302486044189483569241499601343846215086637055834377702145358559548569826065928027525572010057375553577351991506947898191924684507308390793198670645489438058792292508197063441523264954184312986861170430154292451338329077484605969708530488178136899417759291728695818944473918033280563308592819033421202999059560524576933243678857283827450817057254241340972633023941468303851378788810213008279383490249946683583318553487431182719475672862533561673853928328205337254524607477742964910724726559386837688172364235146287466940016708403378648476638644817286386848818370360636137278856436978981972834653406972764281691328037568931885478810802803851202728629829266215128426525785161420642069016283801498169394827246355501509556617534413296736132725346807098906276762565919811164053536788791492877093502758081722407234282176451303752094742899357752647843756999860356711513652512091756396336620617569974411792804643694422869286371534591564774850768987985125817588826177494790957278540476301175621215817889111265658556825440329701616138624952729172668866217323241772312793042860915175194795932723654475443981533266446104954191709448393270129296552165198352253597311618366726662234583922547682326459191687348592288734573460599390546080190573189267768105765329226842231616973774313763858945546429827472199343619518031176529127855004746862307939976542458512485473123022271453933961303037878934303576905034185368932481791453742539097024643738247573371338154537751499228549326873153901188849439620639898343367768844214569702241554650846800948882527973260510848377155940429582927962223873507983245604857805183896672439944392911771684668444021135735481092325635941941796498225372507631716519620000347281809994093564561026788852330985250550062406598358687588677068596607445955115728196440634866226560774365974356409432693702289991764559886637451797983755654898240835642069453518313164298470472085839020947185051814391554858422449199225679278494808075525950707421294826484387623482915289709494598705649704537883103159759150362644420116306864003467072784473606574737488272127729831248544764625725121644304019229902416701009721544975292874634954764203750217252829766803821577667239111959452589026327000625187915660106172495498997164818913870590943135965688615302803771972952958605351691889429945945231839585274270789029251544597533648734054790376677278908102567888078744435309125204803258131825967179375454834998962003937824465159193646306444806285455224786559347607361306054168849709300469832476206724939115111865719292504231238995695827641866695612220669706964820421723125266914515781226407295456905649607122624361818135277215053495185404935330514497413435802339540075527941259185238279868206905237086851332335921769213429172184282049066556157150881522116212617544055247495240629925116678079266968128980430389429081314191666108965177223807770421225887208673483250845346194813761120863902549256199257606101422238364676095516177923977128930512387127064436739410306916255371292507214198195413297129189435467326979176614614352158812555455632480921154605068089876462565231177665719164953934114525442418922055942966267794832734577324957387425547572533352668940333908724363555638771813759314616166095181899874974896839139531334908376539722845132888919974458126942055945054985311735360142292329775849866451092603583553642443223335534882607708442961838814631688233091486953563292396768271917602885496634607826772395858711077910335116922090025224271302285826331433434785928260576684279749674254576494977301477164316387268139983153864125201748311800584749359873176106027684234990299024043280154022431876977639317447893343232632015046397441972152314117181700947922278452367672704801421291115622645548952296302080352952267027160182367283611834150195969655034579063179926121749546796205401343076479091033518919639526376758439825150230100653554647128329358145131521622984326412917372121829967659016152912352376678702482749035444877623416608497228372305571611412215356450757609687942177937641910306943713612794172170977496444271135461106359789732666591575369755300589628035210239263219643347243594044713517420634636221156357986028402189530399249729212547975833425559518026650123162414740935447484855952505219865484270972657501630769410304469645927464476233650556643817321550812874588837354814653674514697369615474258451496114688991050808400409680261491234138092095273189242514592880778704262114433487803643247853911669629695963162153883549687500735333604575017777299269715044173646069956809372376753609081434452260187804602949234228006492496897547383207378815984034965099410813778004439978132257191223835435901991973981746158221058735302365795423428473156281097373653762402419251125786779658361527806228459604452471503137532173255509413843402641581299482177696578685973075555386827250676497745452597819318880012192036826885746467098280121810154308050821064418793113576395751344453509954913982595444235108059287603295902945133428315437966045949543746384652543285546393584634596579155825248472014543329017774438103090085175189432184177721329891257771542487779694213824290896003102643488679813329604608289114179662982094243961686894090480855494106479052382458455784853447089852546848242515032149643860162366520495644380528072993649916961177382240661466544038700928994441168959552543584045627484069509754485698283247682699977832731381409586219829900318102630604980959135658556454018245731977833857173660991302546217276585716978335020592340895895253696586702415930827604353454438512735134008570044913342496866033705011686281329496699128192231809461734919546594526809274535004811077253516440377553973781450704362152942517167323215336538095809230691333506287861875266942547138128409570329882717657167095715622571633810405287677998304235185685794901315939428630407655029597561024259393791524046494017158792751435953578786852305344221969351879841282388876277737177273505319260388528256479993640706572317776945657405817256769112463573285793089556873295371484256581976790567404158971723976588564714682269237642931505358174929257422725612361652813520305557292662480191305936626891051554909557663456110472702763003794027568315402806931291282052008743506103315262386724688771137434816016747087574846601427561408086997161055860895791730067970215099164892508836061247004853347130962729366299396896878145028940017078630673253447789958161434710771334408515426923104958724568824744556432049910515116145423129241546947103588488630652837982008973795387675770127246248629131299328158342849734043350143807379213095186384304453685199291923705854663730428445145246206875185436232889826137532888251633330415688456807511148212789523178854948078236389120377828887375931921360654832729965966751418618812113855174462378667858601578292740658532207016122018712252936718924298832560175134601850151541555549152159593339963706227762787712844136429933192881427516305847801223748354039743246946043136773479343106156649963074140685138807725257424662240858765820517692670998731438938250455070753540787881581532067977471031874204503438125786350404186641347767430082647046699341205171653350317605443231801859854846053655060929657523758308317627830525840297599427573314640986374742495395523333811559364025844917989536370137923667274144037693750902237281045669258818714205243210961146673934508110681898081970607583479855910502797518536628150292656186050819926436196192419284521274721083710717062453677996097408374199711291649194447596152900148989591194499730084602182807142367178649919971458516173307858239299090797210753164217721274513017437064334772675493615438050409221323397336604359546392731561827124157186863219853363697741136671777065367130417510769365631679604261120357482249373451893413465665807822131456150289484396506187421127937814140893356447304684292297217267444358436239325676884910152454108281006628599372025220445534618591320482284259238915353231165282324878678655972336404642510238244312120700534712261776435540342225278962116524802333715956875076641751126641805147504212161156224436434303495441682467238581667512147925189677925892824824634811854854146231987207859239699280634078750441708436592579484671568245707986207032920108752391506842042832616465433126980954467322020437517546263198830733934214285194143017314930977722173254623488593580215531358146534713460043627130313519597156533891826174965416174674821783225219512133305618528348586504151234990639073718447055182058354431206846892123331655661710190953944832636666916933692511542963409674938676495097174665183030680523884487776818647933543533543893866415023596357497113092460863558035189728557648054687748521781688927731310128399610948880519061246486477962999103503850768557351062559647844598776367099074598151935056485680284064044938140518833501443690232325253523186260826113373113957754491247927003949869970127402346270400054349990942676105527467327271156600425665440286821332646168732441555895334857364064798347364076316146257703563494381583565913791864785930887879924157511256824013364434916146645712559491866891652530228780593595639511745353655410079259267751121896744930816243128701202783174894233593805003419867065923157360965716132085759319748377874293144763610071308980145193655107562894247325091441974898505461298291109286006912829094489022228672087973659449451566791318360863169447410471480503278493996787387005788207919132041781241676367009995186518587925886613175126639235137220832074413139721352880701569204922299915296448912577719955403413577690851543344172706983028992448903252907736635403146708253175283754649558531290559278406331053098967494778227074624962138883126542253611716391432589626991926627386083356881511288578586326628972247252871953294652215529765401534128025142674441684341874716173390045799774054930717531964769678657852136433583857478515333282221916927631411564926912481109922023037166883390108732101679426470960857111185362346256837029510435663453423742915264869544988713746641299432127919492658442536147073831498188036805256493019469870757683404415229853044667846673129527038635136909136473892465001290865193136574158474595322039853221371512947765414139779175572937050987137059029225583497203063273417429853062282438198488332435798021286580684381243126159721471150787299791971149528702132957704550157274147049390803358150970588565454431100169532601966052982848805859321324417088052023130454277839500198917568241087728371666620565200075724625021766142137915330117001170011556195372213970358186750462246145425861253854034012383470891892339756345739287365553119159753210272814382535410397237523922508199667564163864915271882248045791995986721021723617675169261480575398830255065868664005857883934475157376107078396171076384124707492729562949168773743460077550453501730119135250621987868343730990358698433428269611170284116092105499078345349941063725377352259099367396594388638637335661838249308427512778518504030799740047997706205519360430151825104780236770518726026167384023179468517158723525941709430484259206088373565008430659044210413464845770595725807965171671866626357379023781745797006030977632964933713599488303585158107336696300720452185956662370125898562415213105106451602342140613028182861087813627469963857878192512678205988941427522409516035524904021369823103527656849860081322201642614376764601461481351465620618106743759560224483146980116462657168154353037703224522164618637688392705895364410454659505358563648014730962932116387561331634459851055358298043304171289779975784892642519577457995168906225946680510017107987381615976474124790419781352251625410175662395550546461855843386677546421888100469809845914148781298520395496975836988656852373652182985892128672420078751361339780314263473336750026063948089759270811412226676025453213147962929635537854958795342808176565935683847361188152668983039616649882770873779538170208768563088526161700431467174995081362285118338890860484003890872128577128553501738358157064262051443441735087430030281313134549812787426318733380146788553339073044302725921689499307530771198353644661441490756984562064317443558721386268369238862679192221555779627446390589287577817459001171245825262214364064547789627458681909689032814867326259957313488205250129937314415808572079302857512231076385777943182466271425725225555679907596431235875343027368162229619638940933657097714970209464513487194128418903442586869517006362439748303930418837761578867327913072729506913442663315101331788236319040788446444286840109568351551004994094529237551831268003694087275533725778577326795141468545532891653915230786201318731258745174093462725203005591899824720490258217281807895912985582901877438240285142619320401117499194368177535342816709464397858021880099666063143569837063541282166723095214059618393148785834268337103526079790439784245766383801008017378742715923376713341486783867570950441319382328749225156199872588432193193623175281625844952563927202601768809253987145726479098265345363201037075802255674467725323488187027936245731919367480131420822185716870840049345491828419591834651718523537379550455944562508797899834185413128424336945789640898509333863541775871711883420751428449825865427502936096543584906519865802689523628564906151490670495287210972462313342977035874358527624767360584112121392387692704847234658249786510632743882629084085305414037580567456688432861185068948417127418849212537393633728914459937754847293359563909530294765645260790262641824275249372388021860510656998194830875598066829755820918258663791256623494123136223027167997617887961062607846177426667568240633903404628251576653936785747245953948450842052514239419628885149760432450599704649248614127401992439466361658842158782020387753269995777673919706689388098150982192141689516360432788780939065957386200136565488691469767303786541564783007346372827459383484134666689152189245715674553622460178425947633242276648373366908677026676787522903693724933949894121969174764385730352170310761995119095388872925492551081005750904057129013942472260847271120747598966960537668658249660574204326255572634862588740290805714942026880902655503344281542601279888034652192476712082561383746812481815495701917329574966498632560835749944704788841543171286335865962802456856354296633828367935899584609817022243636202686208537516365417738389203129392485372736551215417703494640715642407020948549482275684116492597935379718779265250894298965767815743419757674196426304126439308063209519742335169541308444705754649319657205377431154642835972602994066039303233486288389892953896031407033477432552676242970996588356817621421571772370593909554883682456298495073773024062544594081122401355664232671578687961670285233751834198571814940062241835371182188533691635137213596794661450957650890128994005587217500357026378240803666323546213257154876212230401977131326710633723094574296192757247627057033312995286997176675616975688789973154158118311551186430526397806436829561191884255806446337388332119521745384380415171448454347763116213248380817367941955916026205855237512101655248133418567378809975017131895615751920232383843207903064516348184472901083953888950424634624475918798445183316683165582513454566191118606647148775132718157141006150956979533624817684857185875893959553846208321708062580325750876722058474929861645337160221734149175912166966592188722527793343544994418317306733899213494196151168243107664107652371738003656178942114059672515826562128194553480260037768217335641139741368612742086652673029263411813790858614872906355380615123673882311749113394696235827283431840197078735803718928903759354559947038455331634244074056853839161379513326354874714889727675977064607485773316462044581160902891685117683562395985310104613153753274585637014383339480912797892325111805314938491476074930495865256362323435077466833443826019613006634598110946796038640659670145553694738621284013803765193107693632947937609977586634292857684446174760793455044404024102150986303379979736456773519515522656666104453058606328622728270846059913717197276344492918164338453477800813135413767505950021766453252994538477290434627764485412279284952593858020660571603503648398261768466666792619688717197334516586058360002870562763483321790710943672918589328041595483955536363779391937331204821142213579829771484415633141125616432389239176752654029016643125706248201749097519395877881989807401133524868481186294138623427779706925989745923748978666643688231638249535406331546499449682887381767252471919986312285792251003949332952142837365400129042200984774222941100000610644850244496474171078719078330283101676622843962497661680616573288457157957427122981539408857249301954951839035957368713619866729063779324493987869985118524284111973688061612391543205939703444681490305433598751918554160121257402542435871578823222608587712714499033457025419897813891996173705720602115961299331486330693767287769741377198440499278851493337617844669822847235720866034352442586554587971106500341553194892034623398118784047969698830075647394895028416208683982033768172452513540313422159755833695917701670315163004595311828722108728773660420774065944749851029794299576627413205520248632115962550124896178871792217457721459331807838717696278765755941455320873993553814123348236385849199448854269754306194889455661112514206403030381702781671371765259953781106908992647024787821786608189444923926063622294146989262732734597370340498727650232837138098933498491243405991283955879421554764015190456935341192819516952089250787829642854709242493911967895524614974988931891967283437260393662755261370656642942261557892403358133638523938261042919150709223679302111619706412579854232598087253766018267133925537872812758452982133044332663799573782973269335130820171318796085464700789639041972057519828288918071999074956574631334468110553336590681215341873126639574912542352599185940068269743793608697345189244778310896285855622789219243649292992607089830166645414687238665463647335699637393476038758307312605370105404881215626002639121150584618600402203948945830426532266774025094009139946343755105917985854730739896746449321074286363301515966708983375181311567695346509816776820636780194330452764690647357485610549185503116336514925472792637707543666805044979585734697607589156598446927935672986291619536984698810131916523857968320129807314863535067299562874875611110371579269539272669739131159734907168925300883508846929967518271423847512268023180718691545410394667883469312157124981365458532544896081640467543527737363760231651037142014925948436957282225147446046929878378030120248964730988611220213326227634650245652529097303235567362251007404473774820865254336957040549699052316504423618944843014056800617909216577112893664885760043846266111583210818984879012361195876547515466853510351959225472560791744824631055984654355220066152818293232887264499852975098556391419402434356688018608838485283841420686671570886022965673525717363946736845565021739281659890139296479725846568353947302559022330172677206845969324409245954358847855216669773526627469657106430906154217619559968114659225695729386569271357115882042183715286524062964596060303873637282906258605647226515553497175105030685315715338913685591194884747738047166422665495915103344326828217638321643955799839287354071735319509368324704290576195735862071282164238745559530867693521736367061652516439827919978102827961569362642396466320282914992270897209619701923110376196419743298005703633063748966992042857254007500246285619946368686035981378898582969848138390792552052758128788934099279402801184327575344487071687289242504682825450663041652098329228286340273081548256023931871188755379198547326313311897639025993444820041934923776394948241987784138136261453733323034768928577213099122706093291391366877525662489877169449337409922872871569454421945181563827239874555775980326003698717420807694207501663847852058724710501870987091672416164617338321276451246472224419078381163127736543524817133729212444825328129114227823041262884257882544470588658708796779501244995452994783038493666669439120498695685499011097864271050467154138897499471563901819480275967483432729674880179984357874647821506374672938192739440243403729404303486779388754926520144672080219272829880884043451366650314535604625239499395180763805880735449913212517811176110901884622512577809366318192131345040962531149288353707911692813705880819452226188604953635581754752530299266113806520293803084428391464087483705293475824545584436637996939815942751923294446184239259930622883711089852249223573614230351408403935454687197189431303823932933736834904987276225447200043269827544211834349138623168147841875643408266112104674331087866601669318302773412875711576650531812977639318210883983944811394862674779315071016481453961681113282887364293637892567497156994741287148239071632655863001217331526916565318322883269060312915584531722661134811490861226357827885415018835403351799399258833143723623834490981011490934760355894465487176716181881151890274333144010031012834625894744683192455644128949154778496144941245153451385866766535787221122548485345720904194534726228508986117236798723318768153327922120438231513202821375930121471362983425818057420568369221297321285112320462929359842979160569358125813732134607921573358793777942377981257241832642188292312501628634047945325292879446619132983754537813343634543904204921636918922425453598151484756322573811731217187022597531800414330359688761903755848060825849353864779101111492217297913652789436948632320896858512510999773555450760103665523542747603992961922737295189949094632465341379669326509886411888264432817214134734519272083690656070859419735683799151095537653719220161896462696050534761613612066448251336225152945575760427094968282462549696082799761201598245417997502368749499162934849421417214824949952505794356134027395962076082991619535343405118436103230023097335340923455116058483694584678528943444869590496096943717960485663593046673083201956468829333840547691150124060328181804481587467311866869371501583368732949593209576871349368612921472307427884469708000082142599336864698700394011604182306781067109847285557392949971313043119407258306583439864375811507303519319749625179529296770928504829322299282516432267590255384450165690766923465946449485249889492256876814381306877282802544944967664554364263339003868516763871143454150823409313375873228419695143317979671612879551796984654996513645538626111580192169734199141480770608728580413552477558954067857339677438758268881899126970392413382088464020927945588374246149232349914261864895416604463384977022199880907537097860857487223049103959717495780574376814753818613940239817433711567582980269768595919639441367266094009098939306889443172191266692060713766459396806344265573513418887203708194212886529339393361812135193852881656672525993348310881828688494803816271315018201933702673282323989756524445937480812397074542152244890689254397349624666519916720342751511800331582371619787975966132717540238884209256255742227698133985965412082120032397659970912747148686530958586116329835150458657422233134175686561315364311453080190458229190382186690528086963760459268914076835772079238320777902348787826679296509727723444145039502899853491012419707329396460300829727428565468145198713525469832897816571852873657580879055352357250333242834579248610555456572932936261089329735529865368477161842111246032047700978314456441923157188298643913142497428819304393963323010516745995978595708247088082576284992222013713029836919475079742199885361101545476949428872703986333096059782049862981958413204355038516484160744141832940394942756742483145906658207981161393165195686609083616643048772596938043482800031977468005278119706274915845740299679858324471124794790883291439523718352684407392578674703823444845616265117747335739662390570871728668619867528019230363016551643354590308788626087681717482237232414884265762199508149624375251739537474081371253909420031378871001636815485497841289652575803141132490502992286951874089935645515326220940425223983773112599326954799079385274927279359737827400779829122904702076094970497827079596823087611268035381408967375866465991493036666214708604466868528136040994926631911325917789314731825389693316511797473764045405053871269116111145707797545027660462756092569875716770050362382371367398381761928944055546003278272332867597903602043929539838965621050813710485818060699633448877662261104348803454002166799409501807251772991973209938472975358361548148495289108863982095817815682534087774146924686418577435587531724872439375688020836988122247839346320177972393447416467276360015316392376851169288798175793333314898801365505611939333215978885724383377306144764409212023834336465974783262781568238580220707577731214543715917005545111369155231044599791593122900599221298558757230414188368082192947524752951865202122174675730244685086344762058683227696785607622789337655525499440416439239323020886202834761975765558111549015227433975857567119552165359803099049943379863237759247500323601814489379653547584571667646397596279641680427003375887498026770643087513562054550468547142867034022443258312505997744125698621274859211050278425527499340917177983484376422896846531792085440814315377968844589705194602548740835462136048836661343181602285242236775966885315233361813546331028220961505413418465167656759989976175754116579739342228662734435850150837052715779649280332094904784383630453230420740734711504678842287910608601887351858934731560534557868277928610613459006669371705557720964611859928180021326213809349830417913620691419866474499955008275471284225813947736332681959133367450968788416460259682825079936251511189186880172081322365193265640044990126747738544261499335390934855485368263358143553281287571617445460931749631557812947099260005691219265532961070239614328232104747426439843345616764789132918152332735565277233336433656816594901958141585698877821724375997997573712968499097516966469975347318228575533526727533527610685392016934234361142553763369733694050673317506942027793266548920420909849233044193862587789711211771999134653783057327220272085233631936314321543885196723448564225828078620643474560753447772699249807304670721629212735868346820733524392944898046466380958175824207208671326756471666404183155950291963413489243796272114357593462874789341606912565972311466749024163238952440353253221417081466887915569343354098416041740350349252359332748131038744829380487694791835209738418349667726762252573438341781839257849614539206964598842728452013329821307406167942741518447615864388176642162318131613597571614665929373824070743863763046125683594293169794047619198951511293435938471908344451895896449178465879128182485781754455597936078498586375355753193664780358736982723680059615231307427521328791146499897972450321937108783569536261403297672164931162621807542570701968545854690756358330250076253121485953095147818501562104976972558974516614616144156949616598229785866872872754739193341110761249882767416165387194341167595043642792090515663170028569870820409369822151970945981236426567213956173251758578784077689317680362302719986384834529873693633512827370747055960643185094376199345082924966626139702056256714788186214168972755661243235588745039846466249034320492423696928656102159257569235207144192481882929017351521365092588041580442135495993547683075960430249922888759221578503248686392125680642888883196379603112286533713666501263351309213019484491115653951112161844325595366560767656400162849307778027849205509876747593126687211909904148839961054288792466373167288083815156388544714325717063336361654339934389134097945708531496534229855166676303184148348790949757413449756992795208153044110317836443159373868517136728961110215121875958475929783149175973176611015842894287741314630793386250975267423121998665819221543527788201207020134755564853048099243756956081131117425956324554154731513711285961292673852745684632029023953305342836559054258712486642678562735049143119470913994606181028566780973414844367146677198762513825020308418507477530952430865580604151713639329672049951173746536996766047531442732926444146371578700720958014592336397234693828367234551967824387346741636139832283025942577193247013088586529282698126867958289895517847671087534341865999634669265849999017524407473642929145887804592762270438204665165332122557357512061028365214638640952638912115933619977830784324396235296825499448719564199901677261945168448605842884802632686880306023149164738201075847424373011660098574189663390685811847821656498823560877481418112527948659975137946349467317798864312317523647021953249058187965536475119312073722780393764111682913246446304724631144071947822741945070824082453112647981514994188228046146476730628645320021921321242351009649679958646644970374821506933875646688119115447959636284622956829314871385125883109159895007832544453718273870752826483205191124279171642556638164692052193760942304819182740443782328382725589657093499169117543534403492135684535563502970669928949363835260872570990567457647874763491503660867241226143511717035891947124610391377432563848781509266900021503284946405986512768957882101746676292535336832887139870526594049127731661472217727308711562647660191250826994869133032289887907495794102175742970793871654980099410922131488180236423132019660117532831732985486569952500799747824143338426243384453895814846723634073286347895648373829901588085478991698219441481580982697915472403794358414092141584713247052506307688488259221186155688792247816138985151251252679457477288163572991344832859154729161774918047569806555562565729536486662117158075336739470305445395286906672461129531694093060782811601886245275832026344153700725945680435903234158964547971699628962568730895868260679714855244532599115527539355416452415231282494245285441614266167981938882422098840292559931616447126912339356147612693312412259335231222207040384529180606588717121516244319795093346623826415710727959026863216583444546700575662573852221575030577372901975084297734976717401633424074897544214024134689416327386056181557392526614915990670555833408253460427597852986530128443166167986286151851185860701019631209693679466012973945579647584444106478390374843466985991924501359940306492567653213616457650625990453099328136166552107391035156551857793557760270228199323923190959169022162494388457072141731792201517312846644596997154777148414049654928852528124237898869848135656672775767856941459580524013277385641997057812189924248857729238016749663443199949331727783142829798104344735520945646597538101562291795643476361718788300801238849815914417213903274509202688864892273869518751380138204461879769732971420895930731462873141565807362658572956300877708244137827954528507429854296507872696676451179069980780461615065849622136398399735043287960530328374737313364765248373397645765347771636154994102413266650529988598890626830151970189145710194355945546127717920312888999198690848413182572303965702960392113187724432582622327025330496639051873770556020879729522619627376873567231107324882713265031831489837725453913668163645896888534821240939903816555477602962834510843369844769449164666750044382080878728221518759256696246219887869625042655114270100744568405617907480949975251736466603239921062366817997143248242116853741999891544604741181503629037322889323827787849690093162368253677927631845162488567438305433655407944261040987427631580662107164264673795792518539079481961571245613714040686574681114507369734149391391431996162088383462852405062848658587801655959838056033213984166824634651393415460639046633898846276386148040768708166803932151394702710036279671904737972556219143134559745303313147269427454657183181338668380997722288509864409700681202590971309783291859589787898572038155699270944027563897125277886897953867764046933384743959692167778697550245834984015705471931817953117656470230983589656859315759361391022361606525089312827675125123841761216768945441141721896730219207613416146637445828328252415570378575246079679031284297079862660221371242036797488806339161238426467563653424667201271327832484368717263654671847916033062244619344995842010536965999302573589736412729379202083341236143048880548168599279595316002702492110956387466666395915794058646145249477795899862185580008996336831121939801751928126946287252853887187217808902680289699767554492861352700518663619050900314609480172719290802651654590763811272666736642938173168615194630756147696647077282672753921580929566898412031770432819748594184106014145492524718639553493070725709031451516363063427611317740691395057643739358912690419750974857940121224732996458147123310261538689622410309552706817417788755447016850493958643223364644519449238642651283343554496330854156569012115106565935967645378811255834759147527237266569275369710300413664550279883676698914542889148265362772031974731959886766223043187452453001497148573735436972144805062973345435380330398206555313173553170184168263034210949547800168849842439591195282939472833272823947965762549506251137262942174376855033261402981266149766661270138826988434150181287239031644829255277893755893145463419545492539534924717670676411989592784295614673587380923825836910638173546138627502436293299899158189381567365052426249903631530192950809579156898601373399290791897152812012627356572841603150105518685644325458070615405912575616535248924548108341530921558023773091502212825554522114131081681382741555643147864556290370866086978526821028987617209478234341261941452636860073004966304638708513268026957643208940287288304353650768871001144645078357573499047111317605906260708550844978996111364502804491661864279453565629945601010161021979582712152453735289832673386298829428430014564546032422284353486131262118800684379240732662899114446542180419104469737794443705973289654368701167726009841514283458820345981956714447534639580116476955758005417044600885260776331192719142595757361252167662442790150104717501643380214698698660269909569465227063389846706905859862668954514349266533639581154499578830550145606277132909217962720520273249717765348402600675206688688165763395234355518133474368934458093676173826344849554590326209092734933328460405717767963339732354146455079847166288685866564757793996485938344712944781150403819063318626083212061558605168859934943391282627541531215599457117770445883913722267344233418769895074576381682122974021607839765449780715836862443404154310659859199448880231096122613757731855833107569398910806930589658876185279455388212219285733918609246360527626338460647460526191219042437402720819079848319574146217291287927570015279315020477320592671506078704439375456438979290602619680245495398838136261302223942912055150441869424902403937310650648512316497241303359942058283814061893213560946145630262627688096911407670327228217285181507086522134167241951860229113888375255186383251344063243960850578763867132821986694534813667342794313259865259756597811763861245171094772729739226629434792149259265031226530689113158015992718307177719859217000333937801957803526664867241497515831614726259033734358464246143796728076136242207847179851272286957151964859165276191838699307715355544638958843588926152759866393739953869696217366973039126939373603976010194054369642777833946650872085492125631908672237781223559735061828714668918324712762439642004892395931884649103103444643669916463925094866534872336974280470724347221829590375312611538161175146871765864856780752276738658484071345151268344678940693731282437589950335729336511575394843336199449870977245696051749389285771856709630471164707366080446788647564476381196964816930042210489810878815765854035728689358557577268661360345380999723138194253331923989787197729221556691813193470741665372878318128487816178898535736367044317898747942802583274651540439813114720229353038288607191291097592634854492814408948056223870213046275673969168668980539200338127103828035469374336194702172637006310822728477395649965265757748702720720889722127190486700171356181870979376348582600530101310276754266513457337026281546039462372725732621871147494392308644454407267825267051473513469797436418426689721201264144442432860384267165911035878034587922289496715889129176244431949161960266950858371678582199992068165199291015433414328758277174365059134373025737469905275528663643928419044388144771529599167306249881219097861720054772354976424264702996842550657755642565926988382077770233464084234701163982384484946584319808026104251951948363271298978153211797485149103564685757313917685012496147034119624889565619784744582592836323245288912039768886638352711099658645348893799867466992748177173675003695258648626309125708663827769338337898108937799496414069125583577026844316323510795461535852941384695322191872092595876986258268702713013868539212152791991763051102048295790417677703324839090530445704384385673862945948117326820584872717129986482511459530825617230819413311292243268926549784520569665211545668932725550063643195315591372353567469312045160080191626514750643802310292375304928319325457387760529598008125835085562602998437178800878797810567541388316443445656062363944042307075377624268137290208158845899961873214839128721135488346350655028305579538418785060914833760067586716556895146474721573540625553950836510616189582046292873149552514932798874061753489917942784313665785794204533264949424981833408628402326219757683094465531543208499904971513880813187362183363916215656763578604547725839499866544882679788970522446158936771875772569773619452285821378868717438557165507157261252465580790408307974634519411768781970171913404980275660082712313993199135425277989961729694576371970039015937024690994463164772287408535464756660785327337768084148413894689962598538364478630507919870870620923107498853511937344584801131550523578451311239777489829010987179645388225953722514170192113986794419967695117976404183186555237516230210900238466870065613717597510573437865889964658942205715579758454571394751322235512461668794511977259596309279746456327728998662691408781961409857995288475345686265275696535841557349944771483158868934844514357862475175831574991875231171142041714898081433726194645048926759975763120307684064612349667351312647155095112082291531153215461962505258625298314075671589574449729940698154427974462452683500395332664854151668399572214076705148653319644479993714093072940847704026314371078992173398886106223273636880417807084697180135758542480796198852067545430331208050075201364922240764470872894549646751456835670503315199466339386946963532081781750800064085388696861746252325043813227970474617165947586271936832984294486029307591283750855785137500766740925864262881533540626429642447964883786786541267368543630731169781328541579035080857215881048109418999134233613962938951634366572655171367123040560685360832027657245584898704714064448926943244053320187928829799559111211268050243951344536184633190419418116548461238735968291195215599177386146123114364371317025939461081286095834954103364918412985395162755042123865340159198673888475370288814775219910080848533215739224011752373677518813615702579977900359954120903265407458036634263821289315544682455956322673195787246711282721185630163633026514993959655697367376116177188670341861386845582721617787919719120194715959327722597058443114266346171452978342480388238651247919764445110418164402310737832157179259766102618339693593127741446019569524023135727172487865870261921846130937506176137814036063724053235714856602346226324838125046775768537019288407320111620286948699442538274515600666840055873789801294713092590283756768980518913562197816799982699421777945572163045220734712067278278841152066559556758786258830607820307971227967381643063962086204171648865414873565149791279567558187647837877002874856864857752783793447644305399246954356148950749805063306425392200098422230381372223018858666392191878721347487613436623479094236031947930887022882717306977280047996251754541429107614964041116235500974614400892007274821421038742032668660258483934215367467134406112046755125146412043940452332277300617154432993710964253630277507072434588285301591527481717901858351580437406256629571652257183375551102118686513421556681359896241434464515169816128522242512495135330769789589018496778984678647392314796798912245223733532095777546068640414482907123016335845546022748773133350625775483535538668943102151341830659738606434787173937665288521685352181006648989217009317728584776636239829610628458962025579789828209454189010481369704863842281267461551527437286586266771964472129866766796383262130728963669445278563077976813796954057780521455898871391856029156767794234964734418379907353265986355481798763514969206399379388815177562826542443073191197348325243148495196676990779193445699443091091553201358077684198324804471769462091682335067466846777484667225284318593668733814920323166578059920177708212074446618722955252211545269881204891602389802607194417461686995495122738815085909182167251950880243922417067689393292397209976816195103912976531025820359709921268072777237195509740115722108468539313185902668267467634368123636125550102458633480435731554691052048129804996561617907359448891980514169613613393681807332798573433721975680208802349245458788609690992505268999820510927336271410519939080606746083299755044988878861544338816554418502044435280366750834567648721020929633957407267717432516871556027905104204106818065503386540131455535148602504821719577900569227030597412509587245916917331958338465051343575339887297715386667363113264985707110779296637194716436366668906858934279979392366639533336935488381103445899208309208979777443112413669182125798546135554664937430062775323442460396117353352675432258714813317801799816277849920835550881703707183751497160446287219871553096332706141782589174499348592439634244409296692104734076093813303254495092328346242972141673955892395190056377036588870827604859504521437108819544861026465735299431835906163149562536147547097485778962866945367878042356712837348287819622449785697794558083347328955039380612726795258469611857312036008801187321226673130981076984897207597639713663362288783410113262061967338206638634131681712534345486839426067265046478516817870595603853468379931945244981899368344774181362841113391078433994780481294430390446913005165290410240009220153567846634186959266205933511977798602511596770947425908506985583571728835558557892800763900338370930328481319947005930342849018515540158494206923516320163121409269288308837092691789587350633142560481547316588647081805675445534970811682252471307122731479800186106807666345406269106113311498415624348179865361430220909716265927599237317313496708012029101337512025457878593013861607546632431787780392903446925522541058320199684129879534789986870875364008778861128753455133808314205316876542178109658625687756846278978744799594694491265439711822322867300578534145463896171748110848903188289209135986079724445130055271193213211694480544036679094794150039593863633511351277374606300344233429179858471223479372193518175776061089264885408127417766161967857444086852606298051232833910331446545188115674753699319081923895283719973536324497841124170828596785765705911545402917362996875506420971888051107540186549864790412992600318151880858083942562153152829864699257599155634905350894043972746138187347247312053891242321736164150841333343730626029173744489574987482559297080363915487941173799887392895031440997180063191285428072199889271739863653843695115872554095791360364555512957756287416529954750239935415463533936280754296581213295457772187522558995295984739920483692821279291035738334096716552842483051594372393163425767874846525374489261227950470767506275739362347573232763132399234669002424045425971444602082522290585280691193961111585737192197815525354387596626217635044290332170997946219629234764365983572052459857845698771254351437278344542347855936423665319521248714201473730047537231106245606998840125352159854072938129538662863016163367673715855047577859819604184735217281036891634236340996113112491934320147712589048343502345557500712299587841889757393129502361098184388059637264906018689489915146079772067683974429775556553588350542266294786103875285791777803326697437991133822262113173899259332924320782603382562466953389492867427186419887641531965862682519122363185678526956853415259820419727374945035673114205087247492845148580439600573197677515034899719089136424617215427096563180893534773666478549201434743589408356420287448176773855988151238771369881826431211431999841356124768446918845367496255348875109601620573419559289515427823211187619534547273992647171959431395233866586993261812432930223329411727713210445601469513368084758005950976000295521138964941333420819596169467092674893656259010374893844301765494884174017136117709297648054272628330120318693056847173316698173893676816439882634971902163005074538186480572063206454155626220810033893663261621351578169258560738650272425748717742390120831614507022434551591041046292496374551738433941838765161321841778810545217935077890145775031866751121499006885585308875875660613839059349114187703603104605895126458599593003881361062887865083417291840757173318760890053155571899971398029938902273223726508176378593954082242374995828503855261469297871690709684626835976117380662227172386469323705333326730849394972889822328375479866497378835833072958569054915351253375633366471832745277899155638948194621913662985729130325975518349290182951639974085854492874335681906871279190946522076351748736491818862035733163314980191722876233604537793283985750792170174678889577444391147497860039333023955735805076764662880592742343630826990058724205287312808165149883062409937356057997386930330196872773229227007146137889311570411467657388864817703763382441318416782976622962428053754020323452656528820314039125742529747208551148586277088362360371492327129524696658227675590126677086670322147363391918138526066216745550598365265328507298892359190582268043572566973443272509658603634987193845275171635607832579625197389970843625729330191953116436775370849126020849662625692322235184528523227866722067757944449835644611328225250212472310184045293218316765120764561484986379052757851834578508843344435286327291676919061471942131492255455855874572235125312351321751409684422509549512866358143883386265620240236449737515090184169270054223886459824348842184692846243743382429569711274525794784116897893837938486325905055719432388121310839213443483101261994261858791364953618315037872350887603181014102986259838970085757605