95322685247589315937384359436405145784677170637317003564506092706743257746789747534053355193664176196844417770127941095652781918561981621119441936663547056828247779586353856839579514748791584011424144711282566620188707733384274768647097239989077355235428229319702270243385417232682469885406438780462646554040583092042691969514603725973715181601068788391227536681883241711849090956659992690554068107649489805124398713492361483952148143756621682810590527491854580998315898661969374178565522183081513947191719545150126436088700856555338299107671325589743783998054497541053477676008316228913052826943192031738014884084400783357624747676823275777787857057904854097717911883604573246524266716775490911146845138539943921973221941429177666753445655459986425992391518597535720547782767956046143691312916642257162091830596869825487115940638333565295802390296879012496741561757094474830177545480858447447065642034369629102944668389484704317172545306431343389498226418504298051147437171745581636182345863447038970459933769295867548617208993994995482911565650295589955745544733209868660268036553646674849925993796405854147565811493570049616626984931218865908197948501492433866305573350156039685774222670199610529051339561122595757176981219095871664316686857452496758734392356924677841839419977897652364614750606426372887670680848588711348106119086716059893210450567087375109355205603453354754301599192679086143336182227475724082335497362121661155869231258864565129692841129559883889372798605440233643561930590990481107894389312234137766305414955645288114392779714938452844574039896608406260331785357583889749234335884300964763732173992307866428368973113739656438676450387224393257262891889833919536424298496282975103839919717405335639157487661906671563506373672631013993640555166458333185853788131686416581693947231567911245747130638382721740724622114641731649072523396597984705464623082156974781701843787189856414965371206103204319257682598595911239179232019134678685718480768745214465242458681657105355124506258773928065643137659089183235176859650866298193132931256777831756706947630327482823424769178759671321593482587194519393568483296005240363295293057560953971113704894161830295971843117885994926588712720412779173361817163974967865291687076129336470514741365723835675152415280705863232494033653833973248931153433856072350573562605200923252494742798925155332386445333046669611212640982514649632838521918926332482972521695924975017671278636490318727580700548613685224280534399161158857924439687526314062877596880266367178597189313640538823355764112855031005493199371883123847391981616880221117328234599751936227704054652953003086699590407392013487516123419536682617150057648304036332099279278686768557022146887900880008445854945303004922426441487113541646909459474875353719455112567662198419627882700178896604529484909091342245996394943196754548723653174626426559018728531935011428473446478723382108657458431597200212608286951199098225771834746511575290015867873257850692644862672509998397727257220824599975583975472436596108759732108074880155167759706574702234989893584251592538625342097296970663454024640213113656120534437489984767624477674886913632750322031282252798852454555338736669088358614711378586859850535934285139816164513518568468434783499228843921423627594517677863214597487387017303684835840458924724242894039605552198289987732483609708503474564803638049655236651630681779800304053828774991568321361163593665908112863652262133586061293797212797748100178688746114856763739018994335873876892211687211281237356084878259979889872636217234317441647989289420402052639684331691857058923758474842223677138884874202523158444837469377885214866132972414232767192472088093699171215142946770520567727329903133144247548034264060379382382483859595208642163881191614448064523014585819358661235243931651098637437354079737958405499729978515049905567617271175034871688426242575754785852912841925153202213440722383267947984252989938738469399875226779728145480607568755137073372671523699472135616011953341634248450716740585554637180615222736017823175680266561830805143441404750950354136637994884526724138316304833134955902060762123152916537779432245105811014725124392699699203751345238986141584462167612768866626730212672812919225428816728022850556278705097964358127296384984962994713571766956366820524668878153048154590224407056808978241674977850175719292538936846375048145873131145706499404779609478966895718027790374901049594538956676464495135785319835828803673215382981404451634373058986067505372354011218384212897692600034993511363572998899464453727039164023359794681494549749717291263924582289896696664852164963281804036353549197159557383899205279388283186214683791863644873113880731287278550881550906960469638553077627635744948891369501592706946559259193239066701987517463480139998250544595877048861292698099574139396577328651285815408122719053053903106470976859353492675922533356334537928186783105466777556936392831788017121017718509724611450284482477246090994782406585467617922079033715596652577058092700158462861943672137205733582035275342285028373520312782667587932758546325467416159413012784504390224702625112378324161082601645403634419018826360876649968427109172862383392525561716833995291594577927485366477325548856820627053632625759412754631874832831627758781831358903560525388788191633203499347779274197215275543362892901673407111937476309736103963550478717440130152207790567546836987713957246353662708199443869993237925850142540895001467168868686854780849554302517428735151907188071022113289219774950725181289581225715538598130586786763765962038755042283973806790988281999779249150140127125291731197739575139781196033508612261944226600141473214948720189284714825906225393578673363954060837332331573403724854014823886558221514248292369246935859411644989786838846465293772463468266719237540184311186941440604094558873434117677053822206