0.5772156649015328606065120900824024310421593359399235988057672348848677267776646709369470632917467495146314472498070824809605040144865428362241739976449235362535003337429373377376739427925952582470949160087352039481656708532331517766115286211995015079847937450857057400299213547861466940296043254215190587755352673313992540129674205137541395491116851028079842348775872050384310939973613725530608893312676001724795378367592713515772261027349291394079843010341777177808815495706610750101619166334015227893586796549725203621287922655595366962817638879272680132431010476505963703947394957638906572967929601009015125195950922243501409349871228247949747195646976318506676129063811051824197444867836380861749455169892792301877391072945781554316005002182844096053772434203285478367015177394398700302370339518328690001558193988042707411542227819716523011073565833967348717650491941812300040654693142999297779569303100503086303418569803231083691640025892970890985486825777364288253954925873629596133298574739302373438847070370284412920166417850248733379080562754998434590761643167103146710722370021810745044418664759134803669025532458625442225345181387912434573501361297782278288148945909863846006293169471887149587525492366493520473243641097268276160877595088095126208404544477992299157248292516251278427659657083214610298214617951957959095922704208989627971255363217948873764210660607065982561990102880756125199137511678217643619057058440783573501580056077457934213144988500786415171615194565706170432450750081687052307890937046143066848179164968425491504967243121837838753564894950868454102340601622508515583867234944187880440940770106883795111307872023426395226920971608856908382511378712836820491178925944784861991185293910293099059255266917274468920443869711147174571574573203935209122316085086827558890109451681181016874975470969366671210206304827165895049327314860874940207006742590918248759621373842311442653135029230317517225722162832488381124589574386239870375766285513033143929995401853134141586212788648076110030152119657800681177737635016818389733896639868957932991456388644310370608078174489957958324579418962026049841043922507860460362527726022919682995860988339013787171422691788381952984456079160519727973604759102510995779133515791772251502549293246325028747677948421584050759929040185576459901862692677643726605711768133655908815548107470000623363725288949554636971433012007913085552639595497823023144039149740494746825947320846185246058776694882879530104063491722921858008706770690427926743284446968514971825678095841654491851457533196406331199373821573450874988325560888873528019019155089688554682592454445277281730573010806061770113637731824629246600812771621018677446849595142817901451119489342288344825307531187018609761224623176749775564124619838564014841235871772495542248201615176579940806296834242890572594739269638633838743805471319676429268372490760875073785283702304686503490512034227217436689792848629729088926789777032624623912261888765300577862743606094443603928097708133836934235508583941126709218734414512187803276150509478055466300586845563152454605315113252818891079231491311032344302450933450003076558648742229717700331784539150566940159988492916091140029486902088485381697009551566347055445221764035862939828658131238701325358800625686626926997767737730683226900916085104515002261071802554659284938949277595897540761559933782648241979506418681437881718508854080367996314239540091964388750078900000627997942809886372992591977765040409922037940427616817837156686530669398309165243227059553041766736640116792959012930537449718308004275848635083808042466735093559832324116969214860649892763624432958854873789701489713343538448002890466650902845376896223983048814062730540879591189670574938544324786914808533770264067758081275458731117636478787430739206642011251352727499617545053085582356683068322917676677041035231535032510124656386156706449847132695969330167866138333333441657900605867497103646895174569597181553764078377650184278345991842015995431449047725552306147670165993416390660912054005322158902091340802782251533852899511665452245869185993671220132150144801424230986254604488672569343148870491593044640189164502022405495386291847586293077889350643771596606909604681243702305465703160679992587166675247219409777980186362625633582526279422393254860132693530701388937436923842878938512764740856548650281563067740442203064403756826309102917514572234441050369317711452170888907446416048688701083862311426128441425960956370400619200579335034155242624026206465693543061258526583452192121497771878069586608516334922104836737994592594340379560002192785418379417760203365594673078879838084816314678241492354649148876683368407492893865281863048589820354818624383848175997635849075180791480634943916284705482200754945348986133827235730922190030740096800337666844932505567654937530318112516410552492384077645149842395762012781552322944928854557853820248918942441857095919558208100071578384039627479985817880888865716830699436060735990421068511427913169699596792300828988156097538338059109360341252998656790389568795673455083362907823862638563490747319275278740166557531190111543470018186256971261120126852923129937161403906965112224816615082353643982396620532633322248505191593682690715004315589871802783353845448309107249498057880961717996337167036554180041464667538719586948483331543583330641935929487420951478832347748481418149776871694413640056645156936116524161555734141935424721373067468333849054426626038372788217552709930958141026136979500786465876771608630804460749802801576962675913897794772214337515470829345879123898433055067223474969984942486706721502569273529585065869588997486535562186958043997125168976654169862653862891977542187721939605817001104236414158780810386172101557551923711160049880682291618097732421958328974869227183979190467716542668138893379296036815457939611339621922245430151580631743708405608536416031384982969518566952612822123716939368130321296561939718710207098007948833910197535104307441823448833331796978277332091143324514305086573457500687391475470777577559918467118308583660159437193718449039061770232536567977596744475747511584195746700997345002454428406585024508585646392791246119879093693072019804029303603738838430742162821201635386466226097198958436799430572030149638050832232365825557724534237187737439818333306454662906993311125973721950274646899065457155440303917835419756434315739034883866750542742161831050060550464223545708427393549359051762717479299472398908632970101905610107742690926475235740304630159243442464900834188630859320685522507790910195858895314328799817570981916829315940453005632543314488517357302698256937253469964013440871580108145287865790408663637945071108505104241797691911292615132010316363498086606948624407800668400671696221463718114777268341846646364242734053003138077349611998146861768585463120816316479893796426373835661893831371098328956490521148813402974238886863154313297876579912545424333856347200268129048994955042698088213026726358153248067538790323057421040330149788786752377860705468861472100992632942510887801970284117922402591091466584809257857192786282147667074087863519714256292427867028407703241437569931883243331559002433304769111009247979118006286202213707800621725732904735994398883139279927969397063567628116694054128859081982023838277035483496879734048888293016736770941584654400954862465146101353913496855912040236361872150992980651905861682815302875042754525860533196343259577747881343723939499124380614375449859068607518563142725525564259396701498041425981823785257682943639596562438852065654807103884546394453770191784571874101186223227802525194362657438242256093567692582387749116073775945140144703190224153559112506138178297421264982641618724606313340891926702359795802365841631755679233566210123133584549459059006998420067226025116774384736482438571540714626594564239112717078030637141692638644010057131095896063264963755295676936468941051795200061645202188435340473018243930514881984593076296404445687762416528716207276731860632540801428874571198657307471701886603687970364770854852871670003622928528837468246605881411754047446061676354303739923756596593696708792316774468569310838210783048315919643002144125970228906320317410114936648095290301171633453191792293924242877283787234956992923213609223494722645824375509451533552011761289751733951371782933287158609438662701179184155458726489825139255594379519731786744876992532617942338129994127939860264424519600605436818664670986594436593015437629148697959769499653352721002002096791043948254724411334224487005463765684086676215337362746159120547008629057169825735370523976123123841256434941178949861582859702097109703919635216812258224756271951938272828520914718237534365525402074620306673047695247009441381456178282666319613967359367257264603388494642489472448978481596715306153846712236987128231978476931105716623637326207595971180401514389623170601958570982381392466613527913695637655904861676205129740998314965597860253410129454399867288300624408440186181511750687088764671609799292017769624963301575829259618849485872002292248060628812177873383145882551293953651088191865120044923154983947731473578688973142047310945381464822632102331079439597462852354129575191063558792300195618131294612030157576340159785681751749842377882447375398247457599686770740854557432942402678193848220354096210606072192499082510485400318496319986322156908909761405310716511312932685349852440286448293470591608586995981988903959955918110764134466588145254256588153545028884739975324327809021522569521844145298650835512983980226238264974881811581525034599749915966400983201452007048035556858997309981503104192238508974537327612947171268165308867005472886577922467017826594827260972290347157414031669731070505078296108260728704291260823119741510147357847810107279711242797602848141151633886896907867175772593815247961237899990366617560358821813254675634483091487296266937219885027001882981730170249442140631726519713950622108276450718166391043668329566380730719454321125505362089678323031085171481149285889936287064887558438913004718684679858165552159013925603206137642715628011897109611400239130393406061778482110221716599265959682958890544989648574041220474973542564671840236504679058274859069504735553531183835808965288615889417441621988680423034924389581497367222749518112714534386974992432421386841484837577033108761767133199442634988067216670298371723057130497256381988443653998194797022327543291144443346325211479318846497359469448480951734770940726109149351051855043188851638018002426817631726458957788146589473162199135421797069639295912560383804858583156727254184614699660351900767011178230527999831318698072478216817338984691249055791086706543025629380810948236091118296066894973819763151051538493517552397192853567163929421336526958049103950351840242187193546181447795970030349815957972043067775949449017231423798597476267707800898011891852222929262329729280631476481001191709993531769730894226374020100709335066622785533772217649569429513342217056106818127569614044749582903928608574573882919365080522428612221275463635105136722125822455750771093554824186440818218680657808079971951770947419767773212482371462384395487937267559991170281970607563576664101281350099008705335620052336929605429509254541973523808772616447265372230756826505484509679771899200854891347407396416049412403555326815724626902383938518718802550684925766238748405876020851568226963759595051924724151133516339979157222400961087839275225882213091370903982536026810267141924576566175774597781406877480392728811583817563119477376560766005726467895297998458098623666372886042022108157462248075344471068266824531314678301397955654694465699247988477387250964676238903679415569294589007614520078868536367858812639918959157620043217199636790269882911241353800382628031504030039749014353600724971492214479643758821649852142913915384273409266056541107859009804754850156339629411006873227088580389209386660266980006473728247820412411924173296188763380556482765634362806022434826427529444866804709558214825898644301688129938538646305603236099773123960870297542270948386187482590661232366079611083208760971785785180155014858213269995803166919175521428507208991557973107600924829378301641820294128632633196317883190107426009661616474339415471030452836546064071934824026808748051413868316974125030020258370651319696179081369146457636041823285423301773883904534574963531243187897269622438904054033903930695288493580577776125643371595108950240899889318570203178001328019977794593112299552308849338750171861541860364176739567649056361598862243672529569480619860769068359724589424106760646984439397076406175503565002783992173562868396180408416369119211501155776948685790892247148784553154768257495726062378798014970674722354640498210776685941396850724508514339018888173055536931601670653909391147432099334808976720016884417834298884047712670483576935230068082754128375435298573553305079730500671205240128955776236713842811694763519207699037189430380421637143802026011066653481795022365479391717883965714656447437420668688735833199794916377430780910427849896848696069341450462136485237707090145221902946818311010595459003456379294809886301499826854423185500878779723024949554868090170869765483115615727622011473376443991501418567990740030037672560243741388601826281147310254695189478557853136583469555201409821287525639689263918589808251623672406477391949008501946281722380965739629579093560206866658498934080063406550151569717814639965693033183297518341636408758073086869433770130534755350707380020376787971498937491328559989959320285516202248353523430625004541942497456865778335976416571951895508961376615965441761125924395577874399029062767715978507442098881964333593223667348339760214243656682296563386296436643098365790502774285832937625151304198649989323990826721085251452196664337691929124568307902046470010977589386585361988541587230955225029384153983145045682582096197806356420181696020159418540250108519917441232044359433255386748664893693067885295996446411284996056526523608267398981987117548774096939187531617946083678898022608124243451095995683868000861799310710702963881404939122157400395481875578592231612347211869630335055311470859923358857870092118413269800255255090914405930908481794362042114949380046192562880723163672053591440491539434916323056090234305842614623231050272805681774732302381641835569442688787291214590816281953094501986409863370515188369936872272321282157944261169325925809723735145616982473133038449504125366090515653245082721603019799449338076471234957921342281621907187438982273420860284547721067207147698855269401438807380939380447076779481368156589979836824234592607151527012698013442837469806766707490882190684706656355638799359394664554943503374933857236685434578996655138620231507027267757724874814428656726218414717327824758420816863433272118986038485407155294280379121637347471936253784989052234713087189766479256257843028853236672296655170902166052301629604631841408378121554450028034243481767926749392803737422980180930297227420558605636539630767988666531730859657836792800653373388435733282136257948107214101357247663300376702160644195881497280925381097173048360551680297767033857116116357379272718506957483089854178653252203055843287505365707323768783953667065658437121236819406886880231979265992422636388891128946904020211309092652904440351671955889025854535659075663621170642493005981169439653653000144607137778634507024526291332390666480426744971657826737998617420258785900760957770282302951206237905849685457912549874939226631042431063861271724775671888206473836211757291386292342992075533360415148279052758645438463230548508211645489614370321105816670690716753966996934705195697280161875865631829671638983350351999223587550643365991933505457989978608901505691307864991295551560150591485570072085121222373236014829228808109284917467104680822796780585462274257119190623519018115588393345809208500598433454718414838467454498821236404336570772816563345556993128430168439806410112142410172335173914167718694538752598955737558076015062413471621879486188514037219800257284665274012966090357021714218690744586133555262852721004928008676550637747720269084028344949010122695083701756739211016793619482227306720274306421780338238561826407424166928738279267332182425122527934919765754711531551031634008053058046746537060153116304457968994220233747303997471922794003485294439798836062196756011376955344900290024024766289973138926494018209775659983756480868171771938495956267874842649927085898056023839576676355282259603730617278148818971888525879460802162212302900333066081809609261473615609593812495792099944332415715748435104309619443553104254164916150289163284962356216928143506284521178498824447386722841590379761915945316220998795682371803445674030205195447517707341107016209602431880273442501110931202686260491782619764142699123581121547165646328751248460328348231831183388165574952139985583172509595157114270972014718925357842172497868084030478532500889477825864371755409272827907786291461022255692919118741093445711640604764244783372979191609099671348650369891907164877141693948979715071347989764226742472488001601457843724122588168725662867207556056080845809124475575399539202446038358048033016635885864076236100234692493675465229634852537782175369431534440276447989299965780928807123536205907264232945997659234107216070073076305285418376991220386746561836015704671719210545042441773862426597277779250350012237790656702275487885514586457500655796627710051636942224073411689875106230992824775791335828597651448351261981775097704575491595470911890587001593033665622878593998189397253298307857455743323876578688278148434471425670317140801964359152062797845818216638904943399788731962333405088019153747402899737786376277973981946818654707520833775154607122766209612012482868387783933936440442782068506261914356541498500010734952891114529756858980757532959507852642061978983153186570253543099992874226189595508675364040599011288097144208657332837485797078071728398566307075896422598408685914316316830398891767220213151081541145684358224418564049489352457351707077957434714677391247158445765030667521484834867088194248376291849313419349270595714069404438486656004290010870496422475223966370378207910323813580916738394030225549027013603667925374100930351030294215350078423122193692113100735500517782125590180090189758948956829260500710914352846117016413348182531505768041478914156878481607411041638172952172486516562327433593364645281269048385080416744148816596892929875001176525062039199253202442499856370131521043205763859751596997775878901931926539550759620343899982502799237669772902105521254539340286474838417913238066059141093459934876325848519929228497193995693507177967072960203848722923747150140765786176771174408993400136927244191829685628245251748657902025770716583029853935066095540571663241126551724249990048205178938683547936966320669422958161050604030359040585662069577605945095219129191030265043557212878090927377825447774936343833336869500567523795175838116365257896893692420348314819899318157675946355987268370152972934539763387953396724843649699089955400295299155639991980112120122549591864509868990864535156475738679125209082331563857113259205813346296947083781078034213628498976780208971112282678269879210194898987156698008106644103527258123408056472309443396903625043297746420126313561341596502344991504774765705366125271942124563888861222355681773755420281393716401245093417134864892413424025308305228370342108957865874423495212421782595144749299841486632259803631830199223228460657603350268704051453889331851491821591049538380090344644366461890550030988563519195908340991033630840858917972058451512280615234348179186431604127199959142745423756327774842886188566400617380143873060743003207612908374637945275566050281666845830942463782581492320884105122265910609450782637708741962262301154596674127758538084202376673890516535970284295957833210637009259510159501234954389796041202325093036274908630148653907389582417952735284745357623120911584953750113473887485428833766873879809220392358890917600334360517341557950146917634324918300878337410688289348393687392767473010467425661695257652600452515616639412091874988944234340527682082201941031378698318477369742325403708532829103081866629753721990606554754952469721560211448667603606202012634133683982333178844648608337267102727914682174894207205756450097868407429219682943206166857287187449997094911414304167715105663939893089532960296353932393834256880116395686802109716166578981708222685589562424559936389075937350134889952643613341333254554833669109077420570294019364426971828650105521281513639737099160361418970123806103088447626835707893703990509426955810418074047284400169206702085518559246427917987087035729433403557604591332022764587067449396906670738673728431552421827877867561812710464079637468242385302796224936915664349986712790715094373292046070140330355024348693004066330868572738532272973677164815166554835754997080296476771991794064167737840211488882702019778314148431789605114418350838098416313690755506530744664496977299853108652385531364829905389941455160786514813819435930959011858833400730161274463263890455745363975189956108728174030385944697122023123418987883727172757669307185965681839138633973404508084161962629540811610895667441490975162570739007075863189869632702411877861749301141248466460530767562771838636973557965808867356808818036120878681911074565532080741195984234282835231957910480439889927848446936428272840592731174640456835650426597721133691387842985307835234937369137872671136186015704585725269762088848053333996160340920444874602958056688459422232004970376536962555658311620148387265608753485099139219848550539043499742160975628463427427120168143089557014359862560803408490525447766539792430368149265769855063540361052733258934364971524550851430383718314263065247903468574953838566695888701195769522940672065011425024575761420622882099598501331274429334133886032311038409507653801909852161916056877032277220095107909060395791676082148757500429925223671505748723112216221209854453849642693773549325070647364105321089596311657518404135166548186059900827027572327346661528971057061984552382665456178271542940158646910130551534899478243504387382463065614209974474535318510815589364082185695271232667147084692846531755309823888337122428384321480043506506982045140344283301782331503500538984069499835179356080511154463689236204373416190945346575368887887455750804195595086978694528281475133717893577782974403662185912793186827202698259105164387267329138112012696728543301449865527296363694860397400747663275350649102361205860267829024737343842512770986861808492717899399128971045344254885896235945845593590569157401818643340520422235510978735971617837486302263814629990470709918548204267656166682052428246795102433448436760055666557945725440159990750593748709137660782956407873315529825299374949340535110554652769396877789450828434129869288367745649996085379516914246592239809112540898446545867016308950773600166180826448153815379505182265812833750204598003357479617822493551417383983671443144501000741343355021703929447795257024399009058122694181788136590568263139714429238024320429068215906243955831048358565576058744160546146519670347858880666240120173523923389951718775835636909392534644743325874712454572857680887091795131088438295302869669666438408933384455366288553196137001014870294050560873393652180068918108911629704020160530480421303400904859875920405847865180385323144098512762553317049635691555300695501100512973703408778405441441813167149386518912744280625863458518035655949196941435378899954570839127804938757332662181953303843948239704332706287478313788311852001378756295263714737098128050549690455378832965016050876404978844398673920830806385083006340573902876039023846789504555649525863899622696978464310141451544796434901279236548510922045974286665427947023415398501482658682884111804548723950579139443615966284728589673938974913650905915850944835154251798266444736293513878197988241333835148944698207145382895839426560405919438978927210496151063197571034012118459994316046478954843546882407250973613553855250680150549544752693013430569215269090203602455251511692308210958550304131041053255688106404120001201099136166055181305375107432663644819988375634388813813422494814150654373620532891788009895548939012622118296291476705410306807833498247155692142269202199102306411803577944560791137100232602962764013423105232671739232692223660185381476387714311177168691144193094070652783724740215473240167984842374257171187179009518571107161845358007329848225106227644721720814185450827311132081612414906074036806675137941713116578680571564022045662048141255469696448961952841730208184899414086117374133244085076482130163565051109231721322320334531318212321984764641990525526639470873079747574517574675466162236731541831992109234504074465038879251536209951696576952411803951603518120130789753163503076354480852348429106061302600240072087832664300619120525557318793291549150885642787968560311101131843540807297108811154462404117537270548140398707964280419367446586208359485095575444306237188605894673824708673974421772046559633664017691225657774444851503949659892619399317973880375104928987185740934391440912936826754327314198131391811567046491181312475345792145456940793372602901018919861508680831898929200550455063654620823904289947153891073231571625007786674212640093170333583097314027212012466645069846744766874869544662769793016639537206331771698794443097398279067374884713583151753339253303470222941947857462096671581859022562851317514431171462047593623077176898200211333665492636096595696167459268163696994156136813765982687467121039450158200153975792382766064261125175464687588616104753638251880348965563052233587607496093249031289738573773112678553353107048396860532037781362255456996155502817203703632987753904784693856666097327684126220135679764270427224500552539368474628615509499228213093461743366278211486840193999588470944617158966385043450284180854675489199458631647534237991913512653238150375452779536285354558712367329923178517544886091097767278401514045372082278699643682483958363432172008553576169410239229769491683462925894252919101083274725870239691478075027683340734855901053457689739266341556521651735781080489198911828997918212321015451507688900543593464987023490368237160474312766106984384415439856762653788832183257611774017898493643914503244707358268325942199326928156203652771648184361166389739510401062370833088292009503479747193186356813433010140727179163831790809853474720251015751193046479449539108256356830677580839846437305493099786186055474873201142435750087381633432920123599058177587834335499750660505598861088027354786725475695592654995023272926322894755293932570157528467757826369481167196880243510385641619206288587480908099875484674351033878366642227212936929651566636239475549561722628760877133860632093880022098021770497371712075870336427938118446962473719592680230163916959562040473686827850140179909872437117978087352195475353267338767215495009222226801825697470191857366005316860506250906533765134552545040187303836795624767043743187244611336331349878313215932032325385999648453664009155581041737867492236855890563755345767220452142983844172157677596726689605152024856015323595821046120277916150621545357737496927511112158766672350692712250632891334125295462247243759778298255699705439959650591010298005722347396863290172735381267649601514457742744562254434098239837280399462322076115002807941610086879904163753709495361756187552817295708572512529604899733760986068387473340991049460295175351814295775398760683599431826579510864330992120961621670167134285998111350074230120558243218614385573641964425123351241717277546246391811421489477142838808910587541607269330506002195244637768348880777494888971889482227300060977211279775225730885742915139994966605235815119888511244965241499341132177808024244949533313307782010304638800583778852618964290958727704773654549827293893439596379999583941208132463067204045184343514605243860314041586426141303668252452399455986212224098004470627739541159292936701901008456506364214861127256969197404807670158703756537467887647476214514650045655924869571940477230771148863412017264632850183268258150122468749642699671314536428008336665900219047544688959977339820539329971488208944723250402642419839998599543443131293270591679106448624232419612736554525956717307763997109081529589473801389191284003714083064411884824890516827756454484653066063079602173439184675095129993709542928898117926178165821754706607491503292710538298033935137362074258690757570662048542092992529789148994667293998126307594899099240095764221910188461137860342640124674607151938854732400916566048726785146492344367281606532669216746189369139814498794275466539405769470983498024208195537403141588020011467572208832369261469420345368682261960113891019109146548666678215875685110695538606710582243923154217141679379748811993952938169657688688945651909996605706255416722880436908354916478136485176955339992307159597818155657608826563146215433658827180604961621821850197514893368893052921959820815233614175531796618657780217790176572385308489865552380674975774339244639207701993785200617039787857954587546431084526796425558469212054904032323606602464692867813318577270086675747905264354834981477260808758994720573254993255522034676708685107299508204392316345020449620973657305165222699313571690768124526519149147249273822633288620766060008531880739672179440348323649920245457732590842453526445644663385312311724769509878839586842509961011310697728199950904374225119213000800070901345957101662364236551095524759749439820448987254433796717609220680458455425897350743266360177372265840068875196259935008461002485118590965560329908550728975980864132476941452335737563765680688743218238890937839438725367926661550251516871480975690377580727790061699193800984559532473197952892118205824014003854533928477782555737045902262331434275925294531079170815974742727359188528293620090996573489883410211945945281126070244947519655268104997330021007164658299594364690488612635379090096434790941014486902325054008351162831995364791477077752201466736431684950064817754708302585612232148278549912256747277420718837231346982865722686818234870947295349350453329693605198159913999614604770959862135032617927407058852906259485177394399206669115419460990752431833638413933874659271828399603326407805254280165117213000940032833959442647524402260618705921904317908673671058057619030649163954936551256233417055829641026714919398049687060758946607378259660972396802601462501281314930772145994467134016736798432364615169002175941457713641673554591534335208624415434839591565719690683155741845851516861925335663864414289487655531712620094930936402418265065528241299502952864170641798408421550770376630200782021196997294333932202011724657897123594582769470135235240944285312037982349642020406996311393316178158706792854462704951006672721751178617001103204989878687546152233590221157626309690818554071966585444982573490303743330333829349604127606536103809379377598789669815108737079620002360725125145782825125413944444574421930592137374294240912286405100739723094245009677843775256965571961493351172127566316354018340088916928556779080343683546682037982056635374076506002510128674953512768719246720130813945662234650742391221032205242959543691517028919810299023002674272597334368220574413943823286386786874169464242895789237713551649598672790189828122552513190699617928526880883620191677842555505105817805808574227371192979659642047092699520487570286628946591530967931119516482395369814481638382309155013513388439885430387318275982040823244014843157621287740184732083531524891862249825972119699196288270572978524265225913154811336563278560046703963405419631167210168430546804915401766299328700962816597738787317313958207458541739259916695911488397301999798666586981909538599715100084878539348052469343156551516750135700246889337681612128397698740620812527634409014041008386010579852878968825829671711535477084153391611117834850093151106368444330100040509487289817472124902178037672128450137780031258833367402742266145286412903632014138035922961525577851517865529232684594359095995467862767228417407679415293252438358496197375423028264365262645121853966569678759864548799633975722308672457528102951407984174015247493259841411576282781817914608755745748673012876771519054937938960384530785705395062680545981429453806450505379778271872762606519993962177691392910361579295699749437400610014439472998045011754644041203945050724182441868172677906025405853459424943230154497101556334569663896901138235026325344141197400249072847402385133839813517789239414478281883919016086452855917217516503547073187755223513550654528118063836503838152669544788189127084974486781599735933523379752684037582631893841763229155445695907660581489951040924098482563305951818998461257759125936665403766338612022061709434090272996245881577260415677423385816935900405740318389882505741582796075492741899941351776233911120113669727283421068990817757428009547401366730478545999793575009685498589066518562984123784622591238588214165759433851750807933400224627346594328388232104053796925804565664100073249948164259588133597108335923397034280047849152381145224496245295752780409572003184348225137491747318667902491910920585824624701562361660492068466155177579361378315819407002020870559446764970309052946230594342503804431015671878950892918060478524475539216810466205059174942169591573861106177576286621505075669879141817846122377462044079910554477816151645721277056936046302383691887571762341719844028300388337596139135847854501795966535042775596492197947122676559521809091991632414605665771751691550093033466758835137897872872973931034745322878516626467813864274612796568470903815833514988319043756132154664896177025438820006199750244058088330661861828678744720825772376513900288413906646049050393350481329906915118617946038251980962264225733384314390558795804116235963519154906302517310587321960850614038169061049624056779027847705469449138835701811272225743091781815706878105551248241779431342970952719306229059375186373576179108870298475196320461584025429943101956203907009413304302612812570110992724807853367199781012772080143306667359812456578470424013574080948393442627901272882907175789118541396690261761244670541175200021724391676806302081712097329902841861488307230132936020369602585487581834499601747432361445934958189165004048258246724550519770714981473145537291197613690645702772625142290370352168559934150716572726146751309899250431695198393140796429579097296794070589376191529701618858414310045022669233174110095109686213351622452223315776709611497219624091347648919065869231803025829872914346551153738952772651777739574754447252190930880032299781291123241905190268383948086445645338765622579805421047481252752106153193325437559228623697792168169645820250217576654651700992767854812526961627328668783385691353012010907945594565447371647310670009339267434434008919320399560858096899879433263550221529141842887887450345778016126553163103817862344466860061861437815146130570894742863833862917120813244546289838374111860565954631461450767828174312315993418530950083111344496444227696362796896542708347939358144235321333417230719574679855952731502606530129648560955843365204590405113681701007314737705121263027336638609609604512561580561052412490955025894093233647336580074636444823306516506484718300508025914713999232134994034781120380109606784860349621083927561673938115859841664048433925219099316320411915571253257325267863680709693866187109141383075498142728819590771736109091396382715047444305692453300876372073959885414978086357425709020882704363353762691963308883025075844064067410330515242318997630909720633264662051175733311603079336282711591598162934605133316086598930632093460086593954240395748898722139849994575329145415910342488133600544743718161701892695465062508146595255704866699437034313723146217602368569859761099571104934371083611386576276184174416250846827532846677085752661748635153890931894288293894271305391233025886198787327181897821181898016928216587671764419583370404426055212310794677073687705151692006477233047220190823307877365256466173662206073182696993642865145730897121389182537648350571350046295659966424562328544191786484409047470474660633242613203904198773173710250845834440585729710535241949350777643500913342983550993868543001753454012980671289989545287049735101529563885983815647473184606453091903426062306906551163632523663556792801502366644056834285364849908727038436878558121283277586383688710941626913857896391023293573003423669741254318864330243312846957048522759241086204606347916236842466294639009451598938943774839632266289171599763950875359117605668142545556050815748049734495603360431406692299732363335689926920533460896029365511591074347730442804918829030032675076420575790646946407434310219135264682618616156670765769879809617457645449339806149589050376944330063884683087351224184721692193616195418480823025030081057928594506509981103706753705308520748085631625758488600648267099925943479594471089637138507982748339846372317339346139692052542553382025296532159521937532105829046080802623231512144706660619371056460286510079912524834163063807279887277709195581160204089140870480160693141832240646762944987466229119083452176551884176965289139409263055846112181217221646614441783654247662854340306562398952493617388069185974602304949640412213274687144413135384885392946777116200410613102331758651243311886746574367184626277592166257133469721106453193092909835636563073557326398928641124896252690383748575154363776059237944966506377166936760735953235992594583840142925961318976630797393596502124519694433755905143313577435553589936190177099317072524885843542164641775161769407830087581089141673331869620049910473746730637310251315982286658538451353426674060220415736214890345456394616129287637593721493825647073325975584864182010362294128136000884850790957522986407772057755570518530633378490560032002558779254561303809218684875280950165570282577775515467001799271395982407090089431074236149576048561876445426572153873427935514335536573753086943462476268003050659296053218820026651782331466840764823625751951515780706001838470237182567123745870874732289562323356798831217398443910864144092823961057976952726488899830508548966030671770971139655267349868831025235976997072835585340731344298923550408138404499840087893492437813612209821513444349329920696548940641487316076352492767809501224624359267398898108385025937242573728741939084985875844584085348216263369760496211982346074372204291657184823046942724686509423081504887029752178850865543788195064987383276247320949167408029042740326059617998841728868502221625097199712162830287904828275657770338303730640568774242103152714395742510531939935375763666502457890657538355828585877366967667747126021439613844239940447369800884099792989409114223027032873344923996114767567606110907421269841447229598198771129984960792065303098753644170360242959444821073199503496805011579789301670642550670671462836737014376523982921866873521252518230215521560942148265121691442416566323303977124517040335975833946854134113695454982310379742235967308995950857976295694369406614552163914682555358638135473375763245535020051002841464309331319754280853918586411199130768471819912943121737111647656706962672191899008409223901583934819237268359141574130319465749861130854664778111866438080667065347377367105963780531317374883319024920446015101589630716266650221030565269632845468021787719015224100428219151663631291593406140145690984907965708666747593654634458861830770073615301749530658988625780608664574958058801601942640233807237512025457405762247188645421758928543851581989860828218316599074562960650599900614737037586824453720064749970674400204415495960448726198381976531904584522507336164436772649028155495494963667865709299874078974414040709096560023939243113788849910659738214273696197027370163860831877228250161855085646935501037949792688097521329571720443819608010974068552288213514672866445006748931622696543542568637757727326368872972914419769261291543161629365266940798132212726908668327944516211451917727985779566931794859391682279402168040533744249133669396136287572975430775025862792509664071858893186614277780369312765192843311044594670866561784735776213749501360644292818900703525898537343901371328937100422276695090934974766189086603012372495375104764199978321022035123767870581701133115800796882790225853488365976821548896866780400066808808312634483857267903572332764808962726553262781181918858905243991368560589481472939789469774473758327999747743668741795930923013574199150033831560814223500870518509563713334249910128794974685552684330459539206977064578845215053361147117981636197068395429692809372384250818861241287866517297301028440686681202309929634304726167794441462842217498875876720643108931721511378207705330351184242019338355523970512421425234092037785839437680036246484953967473142446244893238705630939828387634623653209079805391753887902963445196915976371673712421279800251825656197428131598086022119959018342246800168912065354361964826886765365908542212116741295555239483336571817903128029142128040704504813995776514567405402178845219871359363115198035544448913053075670607940640751603426258459980055142926555626626232305981565846712614417746313241498260597226447906498865823281578731205110187070152281322920194192206173057486658632211110366665086973943361692163019952137055973663165625568030221542035276885822320462280070409470961079627078902752730185395615390602296873991968558411819127937568976336465755693546717929012590249233296636311979891374157062019127285091977220758872396436129484162136888110826977950032280831960385675430642647682098257143820713165422823118789229368510296625465666532245598045733590891519838055222536926885706655456812075707851451513518273659564800526119323427738573408182638244455630485311921342441571359208999610936644805735632573263977037673945616710135774192210441858228654397842590487366341174955885395709381502214147672336409904631469374368450027955970054425199335020333150617015756789868551841008008864081938605050157099376149941247939512756266644643484623141311707924639433892170258262298301010679899384166929927429838903983612850332460835948059787804263258077311207806466832829934907001204157700668411402898701704651858392414184877282918153017260201401815531121813284117061150846294794289450790652775388659267760212049705407258909527511486534517157196407782636023716349447806360734083149937396785834682567327053109493490734746937546018450287181007936991884257138475292979461997542019659741911057888886420442574338005122140613582461484982978350440685446891712084799824805936538944333122681189979167345169813375019101126077758599632742403330373427259395907033499769121098590556030628545891521158459839173675044667981644152391197157514416764705895456501607641279390925900528209156312112208912827719757193623613756160711087203559269701430149235721430402606166113896652527565914658493664746082346051218817137530582717713432176127706629816241013643153658253799146740103019718046647975596109855224848975950995098472178835578091221368973584526862768508252528809180382164916410491938088186953632001916242237106503520102198854508588300171845656627704083982473470690866651870168717876201826730094067410698488916167820008657594670730301756330939648501120746450744738077609855929879990351270077116619990090965003101578378572432886549830886681360046933766385066805476594086195028667808436576666389552076858844575343705736279136257068381382576331959434719196016692756912373860029020634972173202088959726810364170645532629386004627105201900340149667689888512825471849198247897248786496708177586265000944122815542138460243673775522682044131294098483158504156614683677159914827081189653601852128555865349739116241028449445455246823107527845311188680873213941390655261385820066729094912576219137760639900059161577465742325125012453504666879622198015027432310242231538898385208782926766575571431780645623313552868535503901440229069309889120663554012789644580629146649383755733771031061446930923896275114887316362681331788650081209109254923240253664924032327793336532580790708049557217451544657343180674430028497372367609748869166285451943568605698366675511751656271370018354127882043003148560759730247426293672236227368124387570311131476791204598419066838751286651808053519896340011363593527347299753249244179899644890688805098479795930418459681185830569813907482909795795928014865371366412013812451670441904412831281947998006307347849390905879165985850172212146140830093746851219041017315215616160565599758639467855453913747370130461738087815534991862884030615830896812882158403677947246910877691139927701254776283702522864827382904425200288105406672140535731072483864847497582500002498441740217035205248748609697153607970108120931711587204379816771414891834463596239451868112442630319063338968891824676038515643051405001936782735944764750264426432538415945638484173215652443669723495720482806137852246045395493973847936187374970066219163130397083661785215776254903372414705650322035102298194488292099529114169741949142402346523401691385568106617673446270924650887436435529075277432029042583145693810319048244575389550544260234757162280123111809872387694100099691241870069565789532129179871270663709297716610483931878005966912863991400489882352832884399904818175497769513231804372370556160756693742137979130838849453136050517581098380413507237838684492909630114764296050945976633517768361956055946932435563805942260327916312177965681664372551493290711843052675855936399374642963277728633549712381533404858438586061775292510662129260517376051080573105699315901308116418130181337777664871335221871324939425619645420034350257119154987159555369716745218201312235836108638144293014070220221007059204691545422601494435898035247128896540918526930644163575992124591113704976816985621668178113305950870978052421984645030692548283036536611290302719865856148894647221781303492464285966923582948502245116706505517186973040940492110144619171005680741397285312048492288438988369459348896155411787403431639765387118609467189225720081773779537164653917337358858253307013483493538985125565093003762993446841568224170551515404708751310450565193435097948734605938816269894803727836077629199606163288647144747897013768833136205943862138075529349777209717163866899981173400676904427775512722348305368202197451255945693043758454319383979879319687448650683666925998502441783907561014852175952427769972290119885558755556536378039180749107008475995042197085917565570329586863630447213183157901926544883365191263426243927482401981014527670554929195511768443478718077619796331019495758207781520346477872750788392510371343145218531951520516254478763192370290121514902272394574062641898303043084981756005134338321016395585738444704527146126377394033450124633871993189919600734571638503135284325819565727678096474045320319618706673264292087230523613164626677012732743697875062034263218910311248440188315567687646900586404965360490747972576883758130963359092767894938939570995527021736411908349286862898935423788784148701470057492511547165878770766773213259517993190276254013808787368259118660256572692887728046000456589188825044829669065788689174064006487846893722570320013619554377340589791505948336945395729890605104245538874811544392271206514577285885912585280845348702598722825620634704163169439927973880167649108025616720524915490114269685663903570170059172361759950562925372350324278363072046001327566438361233816914655851896495947450738355565316411352365695830442395430595883904043390000342912436583421206345367998608593360011502672698727642533913604524418991456672056533074270080016353967664538415852445390212179818110685666459228154561571742871178143171705958784027164455384680472570021655793485065657504762240913964655467851832469889654647877833883660579219916509741107705504705540716724795845659909530557099692229157201655222655088595601663993035152176721444408017119752468338798865075163309358199470235673674785429140510479249584504492912944064260280832225711431582440881506422573008629152867754895120722972669241348445345768370327893910841730397553562942485985754463908211620780606533894436699837911856002701216408020809111858126047000127975511384015199064829899597419893475913511849491629267001122363835650781244031332704727810671479909142411793755848485030057440269237477027722030100877857170464203005178957274286059741161696170735848385202035762596420944115401362695630589130917762202709431030136200426598913867385886704873981135738521801947757615693188463699293074790644712278314629802100145214607736009414061724084730105443178632069536519470115440584209374921116568309496607941875590613280546580198288880817161143166350116110062797082605844907721967695300579580624762868100311127175463186193409682586925494344978274579324464197283826736139898355276370254238458037081623116823330355734153935119880169959893426206181559677161162861664290189477078075998919308969438587510949564455271056686684257621568445656457675664732317953537656291053097395660186371502902521907810377289837550875158289484326305991669637258240679385646011485224151927553421643467146284716113500593309648930544124147097011731251917929669752602977815798062767979882227283508957177066131846868022573241821526977702183767656654148593761797980125998475597701516934103875538288118563677868516653967599808831844036742623229144390123140138559730789197455204907258045833155235790114726026141882835958270787508476581520173016133776421903508057961183018865844668941161167998661325350667958570167297268660179040952156604816680723040105413396930464850877419385053245905744379316665630994154263956217022765141255821514697051482381188490132024526747823019271529052632546300681454088853126113435192598244729336825407982148822814039642209772946837437527195152027448432068517928076846189236499629455448277538391091128852624516752338877604248103063930286790545703170993879971758176844656411735581831178451283548878399074572660007474176230272688149041927348775547161482216124136467318085312317820212807830188262245230725738183721243222225245634551059382264794956980797493781457117760331395580990840192254612759297641881237741809742433747836084559688612272601264966654534724800012477172915463269234081299742303300819430910380053968051264931356867780936065657583396345930976481416662038148081174025471750497096438603839441300102578338210091111002132177346405092151901683196425550890886928150428508674616888630976535511836994625379729694869599632543692331056733867751285311854296938094463626342867823692500552925060168624726216112183228303126847166879055490414426651069197594613454074004696473108584195488761091354112772073332606248351550858107776834120586717547255298245409095714595274413496250413976479480232407193675989255225133529223721876718720848161811064651068872414242019603178194386850912505228757578000799661318190669727193252080899538446002113694262821352686930541737417733573847317630712422256248971811077524545242629430518246529612086245314630081594990203262898022111017842966842559253412521725933741727815740333206188542752694087246396974678048256220664223830533157270615603033833138986633554458862083045966093350255884588485841251125366761904621645653551186898014674676529691049841010279674427149551478612775251061049858381439411709425442005394254905159416727521929555452788015557763081525268832160970768528491630530187025325199184229336370743604777525323387358396570706513213880292896194798422053239478012523907674675426507550426398019801967098747849491054121242451480671993975153472658844409345042747708451649291050860394366988443792786443732811584732839205734501417920739914449462324933457598687220086435625024328959569782370267229148441775430425999999046482484263999097467921542506339573010715230109589432724447971478833982250319505307851452966524011448242650373778965065864034649265453403061859643986306438739442206736019134373572871034187176185247867586084421222044975704852582218582823361734603612914073438807745907951479190888250762847540830154893870180777070124335163147090078643149828664973392875563546983360473137689418584282150349657148070894909603983827733642021243709485761184033401498470090821251574023995277053286269587481330554853213203099438420349596533082719292204102751489711902826677887283304269523421497277327554186903330552976846027039578633462569150325222415584623020569083729128984406717385428440620054846571875317657279367796420164526523830505819781665853977502738872533042452268641268550747560039385497836102216695753178048966042270494523138848062828420354255579647868574232104430760734683399648791093090404513174588771687049035053755202864499393982334107153286426888670261561005302692981008767203890276352482163503670180498206677695477209822734710115803944914395623771821170047486276719547298069069663872397036958421706454264714326643632114968619180196289359867761484986231591126058659079040762312473681799882008063039963973993603872902940476273145323529335869106481432267798176072224112259397346145303726785459113337000137821719811027974747512820297994814369893065826596439110815823117177482436402697872623515449484095262204398793200205630448272777062945161985973395495383668931119602374445553507579292600026305813939706252141927209839744912167808841254104639014754490897960910020150474048560764566496753313583802874972104356140498406598959956486518353045733182856186391761453411606725663802994041155996358036104467600875210101635730471700373922747528407610595383630121020645651209720184728435169747702603526084425588605700804818285278681262707352208158937604885530127826729908256568082858937067583956552741267698825427536922438663743308686289774986460009662115523082573198977897055631462448703957831429914548917812012127367758738455345685994697188218601871259863168438368477144836184263542057953146321722717031224919570734440942166475192675533506869657767195960026843004306715708382955197974595757736500821831466991027347768855035678415155476890524940185298273943979405751930686522237797586661697691723159762781080560449167535401750983296801366673718544629579271255776351056436378762068220997041436239243614103110975588598489568313686475136670533171224950382224501665928784031368422021715375453266824299976514073121504798643462335314045284991322589548763302090014949330318515317518280812097155827647713040737686601122246659959655692759550395306302567149598683026679719089884275070678126597919464686450219689241217908757749269005006415700185421724422697093115589477069207450919849618533199562340912262701490176372259267817086749322756677604112049025651313250579120681999527157544268655987753280359407820639905886156664575333941183967092010009731221820168570942292051356598700101416162881695024325702172822868844035916840051402513769819696660979029236245490096990022144740872141874890604421003531161340408175639267360917904603753023077387434970478008824665870349517668024288252318244029446768258513487540221398532410461868799062109508403421792580082493226540324505435851458541141587905223769987664936933249175940106436451830754169877019032668488669397574484605553197645697099566389889139426707730990775504348714873167479206945607048101742317263497788824312177571249529910624943775561232127986035449336524665251764320498757172008370099232605818695010736317007239662838413303653427158731850707496687905530809353632652180281514333583210324822408414888892764133117693672250216929834307288957840248739436204534881172436263174278581809923859728928812203907442117929521934058405854344091674113430229600611164589920486391550786999079027470673571354300721034582985975949233451857377025944131009786088432600620036275182483658029421285033265607204910772115944415004172364871707723857737734776669717993957530363533121257612260378797284366917480756976753488027547987443327354570780852627092976369841976872907538100009813480443560358706419314334619194931166218022718786899815571908128197277447926333857332211948761171892289992755596380729761993309180499784934563774326395126485697948057272384140118343475431129756325904452517923556094381979107958951834611894010639144824364914581842746261646070729377930664146658301980115554354867067604840591769513071544764148003301906278831316581454015248838848211438933733980181847495613650534680980882220932883467000645544282678324355549545287547408344188967440224215624867883251597256345561752172353738046137090483396933544690988025399818616567004003335603533252318875512402575108375842168761174292184107564697416275131060205046565731286510744915730841954234506205458500811044824892041788661645118295398469120705150688658969104895673856324962798372160242307912808363548964166252701117096540257909337990824555864844089605942951561306082826723006754076644656409455890597402160831501173061009641006243659816071257463986712850458316193359667040604410882970287129287585181861634180717234279256418287836309176210354872537538204031733205521948196830335325200180879919015884202319903587632601152271328866195783984028159758160885105372555825180691492667025305196119764649010132780529513378648455142088306218746563652937740826897948893401881481128404846211796627909346573202052442106664709157629262233188083810978425148997055744776934245116726661308749225367633660786405626788633746226031834129884013757944921809419269005686973921468817614245702375546655988627356645103521002640996857274665161584775609362396558436340603059274233700528860777270645198252115761832150565243369988678086284316395392798717035426872269239290451905099227965731155185144334769404183346255828648981263586588707449734635628477531872049285817430559207628466789572341231610413749089520237397775818675448631186105097678766719996383383518930631707400947002060766647763239823203158666843755455191463970335131462585451181970707729676278550542482177012610682220960517730641231378060789165638317304717448925944487720915886554526123047319692990068006402950740676725425794604100215068819679822553019042481612029117469219879396693173822437087634896794786012533000382318620025375820213946253654159720348782650464958718462376509357731546146558231537355181517433098933218241957268573739231034789977984183498615904336007109722378557370058122354923586566652528638410405073382180684649466020002864452066165706387961623176042598279287798015213592001821129429214212549545033806896363256860663708050154348274691156957200996065025432232652089722137114388404084353055969071483985965734432401505702367916030888947607679591017034706264253711253280441606483538172555122641564808873639402248571567484367593152882096558722896039851803824787052432140449019548621861306700761468707127453029134418184962826187086836172068385487535266218861285618132424016648488034247270018419419848595810657637179482695087326631944850841359063923302154957579101448415051609763967267073560167844292561623502654353345570709707746484942585991737750589072768685323725739085732157041999080373188922973982567029159660392600842670392375560085789507110978222955628458840505878605290739637584059203374103326391012976176471709070014757174555303326801913579965789721280396726946908083970507279238225639181283627803300572985679530128121354798716755762047762723158876651444533932187027086537977887466881109635909168748072392190085131202783167265607168468316022559310122691809198376186633852575355991182159018708217006071021521957860597684292627255980163555791690243137799012741922118909178515237696852662251584369289331828698901729997658746527415660825007714800850009155356679684847234997834834668244015410190883155615123379787557416461178807860775554523451255701447975586421164118475765905421246603662902783765350959772198157587653307372433915717302745867256152204818567844688325543417195067300949057832683526082476699136071751083818521255295370171066487647105873145279237862186399785139529453959766496314173113285921149492594084379121032876911805094630571235281629199240818863298308934496940782367824532468843503231947416198686356632949705065007602146641897710982053402004762462503761678559925190125212049842784615826412451434410762931262292223938455589259396893857889270916198766506596111491169748253436218514802474033209414196862139089816478548399215060911397899598539723385483767363317101333612631054517138250470398098264705454545645598413426799093734616927982227595469875575766434695341961688935910182462252234690419680231709491109189496824750059213017819126069429509336914725140902822114088544878209066037790455745953434426135294908078718050058093347675226711073368907658179086147215977436218583744670127201856261219632813906416136383853002928667073224287828130229514244889631418543838024336235340745594695319164429995250033502445639397206270604707014689730286084352793564120849439715066837082270020357306355214317004301317090603333845263644203508986425530435770842470547564853315664986982189881507276752470444342465212269382799118580574279378467892855077357742598337745162349154735860936635946681096550530073314104282523722857448765884862837626631045040557668544956516683709881368769985637061879997036708970959893117748402321007679686360207960258746376888697268307906569392725834617172823092701832888048937262305355012075710756243401790874750334641365984608251877227658305677264253694952326758308009172822168078175596251340447616815204057246281942349384329496513529208852319593025328358565395132730491636946319201916815137416406653324575415243908852233487251849029494872979709031167168293827769898970216095511652849233304391672120510601896539559795916075621344192303594525935547755322487140516630589376048340723537523201771285340395680041667539458954977555877712202269946594531941026851056514884024195404394977195078821823623658671959437746215818974588144973669789377201013215916949880797839587164608238086678824050952914160461021734925036304329686209263988859347613592692514161602643690710305212235464289564070571777702274648796986835069192355216916604405272185205360658857960427313634314719237582327565003654381670403765678421489979438521622855664238440125990704315840482099892337542432060634957363597665848693349641559217620644335128267577932978467338516884177148318788178294680866501497504239352503796900361202125092199099193161250544641318993335954518911458133911894742050718176592309812166397039981529607741665224834494534685041598673133259027866293480574452871412924963233448746932684339485213755300535870321334625343810449333900266785219322941929484191061119383144551211828628949739367582077049096819717610728091479901200953794617534031952626979858162170070673194459337067875144619190495941157781090988680666287811496740159571440636706794281196787963219844172810492247944967298954978894408308109388707094268647010820805803271704517392225082956473370589823001837400969801036862755437710908379146386990172394185269226228572088500199684243700784112981112860780922872303274517487041810554464479771089971270850628564009195466074764417540911844673731041826823050333149612738759325134722329572476019304390195541813056524258185779090023383642837921615066227253029704875063843920668345398354902499687143315666449902836351752029178619285187095080101024598937354630503991153924830432668276334302709481590158595725999197745434540600790054471759966666291730107576269249765171891267636744365633905756854097128004530000841709344067525324818245023724401110008545455841796212836744489659757967016573021665088667652660467117396054344157408616325533764099811957305568048342208741906709482151895081910489078087711755768367012235869954964675137489930029853336262606096152852407658822451107853320046754580755032722176745380499615470273228331681791823277280788204849994812788434174024748032653625445764699113220869556087531904017823257879893722277326231916401391823423374348741253613200452359618407851773833888249953804926518063744069431528029569301821435886137636715789175793701239733885432650642674193500669997851856887934431821457091068116121076344818103634258556880754228205717719855296665945391935351842484033636746064098568044399578012529106550693555669665768282498074529486693800773804852877521836046290555776876855387024605193378409614763919440280643598460251059407848382289119418656778770327332816077403724176326047204427727007269100975924271277905010303150778990664626131532343704045238207823072041000519517560647852105198561782108355464472260656753420771534341379348719286299025022430429263431046747355157101835945187679845424141684575335645248617024224248590414693183461525660001495120577374911863076794330034701674160964742528995768592700634381770416602033099503444975980315865868618430419865100663689719912609963688979269893391955609894727550838309024662587443084617083599997414629024943971574967699643727512051872374603586885948588008535729572879847526743236637137722184526231282273903960545994676764470523270440686976413940339965428124275780725210504543840327628705294506755445788327152944058378659311599419920510331680854109312725065822557442916429223652817163440798332861934849456963352225163328326736774380707658070197195811735164974598474440478201612138024816382761757346320242137075282140408122038277439028245182689660278627206152135703826235591296118067945797847270033854986903324298477610830177700922180539577183018336311223667809359187910175648037232861078332215433180272299660733437473151009036773959066612861595922442237754859370586797382757464085773513252860497212177577739391180588831999994177441236333605313333956383753646393757160768492632729686036248818717057314556162879828320503115158628982829893495766838996852651755564445484133933098319587081588736374991464049685188382808528245912666673360802372419749580380516423067825031601331034299961671532864972542185264606634156215706494790165733583148098713324614916468092880339511515840593154840401524069982720849638471582175837132231854291451206042338375995036489178981530849540049073889791806128875989745100134142798014537912923351983874131651635465829554218306685041984245492317989767919941429634588435718860013879252376272245179968889522659033720474922953548868786905142723581922208853899095904302620226943942395731368796352388586964501668723898442939218037877958657656611050328581232916094230431556525458103928679169941210884618482263051676873343521749346480594626758891641094781843442429514131606889967885343885162538587941770391301718147008952932179320422501490945807440555515405113782462357388971925269096305001839793646726490677838600600624669079083445858774724221474893037172281846376638790366005537908197941816895360866916314159845424029063149777109563503949795418082064550578699310502837810401027635932219587706388488078443033086115712461695186803201837400498237966625436648188302159742415150255403694790760950187355507815103184150648500709328823178387102718645866536279401998299407989104721859552199004034194810617903044292704037772267317844645175658269972304135929930708949886758176987265779371965184205968276486149700732770970385489752399603641237670530158589220005369296775964490879993528045051802580563046611376497025986116725258288850050637924457819189216168748230370947491591012952311884934753540240250439647464972449058201294896603578203465567196391659979654157471684035721144313911971001675171057248993469427264060490328903845785887472123299857848778001736533284141663795957029614530010380923330511213927675170454776557669426598099028223711739504956454250884053683701632863664529506138369688951588090890722876259042182166695450136252522562556804389077718939810081544206192121687556935834285656121619729436645160570688484833489595306359011348554833689541696106114335719304827296685952053502921899945539354417595187754956754375010346703555823925460339156659716899304974250997608164351011520522806379515281410217750081151659670630111610385072050143067017042117889968336784475815402942898098612214309659143968870772092152299558450528727840103565668794844992000149118753020235419086607436028561114922713713002998128993150880479119160884326607257992948916112838610080417357437014232391567799694832976867477369340050898541834685503449902260559208620433576706572598348036690344040562777900733605091793509082472138504488726858190546925304458747869877141630535316197091074466083044876207032058478693442447126144468412393067622853725682946611449045111863100195052460017093296116804260619205867439378841660350836269832302970920144341069237694987565291853630755585449880888588210513513430536304005175214152589386898741629357775541995746941023048535486960876458767632875113884060642709572217388638356012874913605691935610596793406386020587985675416498473179583966737130936705947768533721820856017553109196958687973752674957526568453526692410743972330702939724387486275215354262524730960985095996739467834807218616859039151666045083180959434202203380281063876959329498025212350862586796398939342395549362324155922733087640209288623724438465936958924961181944913062200182923626750890359073571471989939919436044395279882731161659552878106293616624062674607607863527427890749400055237566588430062954742699099408968205258648168054809693329509384235090166626169801770180964376779922036831712283523229893789728843518890292028441780350099495618550670220369459177384522023051180122486060493148841745471178013493387022452802636824136450596850690166798591845319677605024789197335622427683176856238844962009271033068436252862687806608690482909063889629999786528519699174884698230061606110966185773432573420396648775274151297310624899414631915229864050158552941625267706045640043469960093109289780427903768052606038998832414370055489364054350921291536408336576052587213589830077527829278584010981226720089783205329617166770416734781762959315340201287872255547789914474690615305322065935227997767075933186480014679219177171384272322422315756468509344813773918038211012247325246053574710556880534011444008300818984501879722568873633520791590612815645995316806302406986043094278114101792056397702572856348165504729924206550219135662714152096099300503036920108071281382306546505315551101239030925024565575481914608425154127682413417514375629651669916545384979966138770830708856058282617395105801493353577071359964687590278432455161103138376281075393761310753419584123180087154381910232002436893209672238767521025064242808619427835493402641756112886764614594925695186622005214395506978044512182964022985259430436733570729956777600963830397569500483592855944016871969293308967765581673821948910259818731939944872540897526700668172910892527388577995397567075918896139344860501065381281296966358147240414522535411240227538714286132477504410321938070023908076709276421047577820585172807480754469718449895326645757827659416569873100427128214122302992568759278530914610174677635432090334529229016182103738049038646837984440992611978560702730413167282874413777791626231032788807159850382702489973598497356511191652011128974507742094443339529194310952409851142644537286956525738538849290826635181549601798639353996471260213914386644401982193237452548879494794115740953527796789814104199625278464522723657580486993632659430301945924880846884398052033420253459106962510783187740774551778916502117803436128590981540233389244661691490434222874166073502604288541221586317332463401831802154116244338069909818533944322747121340866274846876857443526494036761451075140173238784606669545199671775908494022728529386013738095073901941645322280340835220112142672507681736615489671928230132743357532108074390901074673456402891077379765575030550203195953247568753810133562662511443519001781703101584324866912754021692941157152650206287910190122071397942871422235035552512079898083648582580157333345425385703565350334500088742604229347880190661876087988717793588734580424606655501214187496522735444315212380705114666759691303172372161159366504630985459503367124847881068090121766894541957699256683593554632446758167013138511992186402198417082374711836086308485957194772076630691183938758958051509133180089458809315103138784649866801333829510735539318406344931707304468707592352561135883960015017693194375418091897827807534257618484008584349970882241941409891701872719747836041190272668572904312254565574165414075927326868383373220192057683927178319755704504680788547473343610177869016480385668759662445689220088454246047540637726216213631442594215565150388087349819656934686671932562275886224695494146325517849948467118336130605385901267182809539583596161392113473433522355639759610196908702839283555517405875507834544407133672488644831276407185223802310381183026301132446945851955315833243897916718658944447903647879111869796873692898023579008149277561864104696553788276462065015555361656978386409759345707020127028616376131493419961265545586394356353604707964985403406621899858880063979543127473278055337828711829756740112870911032946996196431206867108160586836699543838003376097155229417392484265814062349668054881458449326124582082486221722792016310156229645083968947889421120584871600239215754923918174838715223373128649954433441839919066156906996195104508808474713251049600039234539327790699325877215364965536842140979793743489687747863825542834942988825349356942513432052502750096109929063786554189797306507510342286471837780467641566702145762378448271106949910368594701343069802831181217786162330953826857686654850380121120677191055818131303380854260041945281512130646732269276581242464560216373666796945480858499909561307855081155821155831470502210176679401869013175086618881427388476961595109719506241170227495624725784364470480098517249826233558978571870897915203404595102991409379476420554072766451233871357706984076443079162600688695086298044203425477249226990905233019621255185378409641853524877845917915747299810834503876536243527650211600038111606058083466375124590481061781606082168821904870160489819350355281590406396109372984964303702942153874094113358322702665612730462068109988940063518180238424757970458760548364684477401935489822693291062712830085305211359312656425638428493087486083207479602429331344473436392082515154135157568005686178638639465768601511139425318839735846724346122254864229631103484639190394493950988138978803949608106629898359491103291950458012233283201372162023131026775686087384305772162872816957091831174742811410145633803135057382484258232858545076714785604579423978144312324775464202991806251334881455742859742398535613053465107830154930484382632917001529497860282880540936426076943353599312890836374656187667758139438479937671059126933669436093516968918756529860108517811233118185013695084346512939748357786708794907240462863424053118819071101229673501464856279017190495148149792213589247230826605065354043390113781769980291916652290026119389922224171970950492693105863568566068469652412162768028226596767956825134525414603649259521424733474966389448158968638870902358250210854506738018948243263480370608632504657448254710530861629364426944393065221759559368562332563302806718491069853799298344034545587734077289455173205136730190174610122609660311631336193981179119099613142408435546353352664391085856501254385882785176483867631723147518206639473519821292419073604189972172989873679656911737624730410801683018986602871112276535582545524489511541472350499698571462846343518879752637858256340687079242979924488425480246244737718252568978612016540680844112282527706905194037937890593566016278045402919767958086724635854273357612643859325379205800264418534559217450361561048053020341200406356477004288086629946785381830333343812748604622767387643212119502721085479301560921504449331183074285736333361559774981119288622658064264946726126473284135296712631162511625155286519870882278883571853280314362373265633004283891132912060689779272080286823635391208067088480060278048945715681296702269157627442824914051634920822007462361288980758676116515306955569952146423346186656884022832975445070309876731536602358877828669419120199373072891747649280448088254918935283254571435642144887853116308399878843015408085513629589563388526215806012471210229068893875290531443244579039009265824828141328044569149230925462647643633079133905576566312710667135441462148381771386764074559739351948760265300202492467427735425505323895135665259598600517367347402614841117733456260752712061423598500375992523105187163200640350481547787961785644928157170373436202292316404917524667409062320903701833033351888591558438975047315072725809875296266588454711064895662597693497413190507399098170216327796965417343389441705349422179105102098056308897230046764581521682252267766236121449033168219566755432889338964865073135757352643379162467444159245646063607986908637815089485029349436453487763045529644843636470965769959904493303901505714226835026738180743728465751740072034084835647388015165319042623616230636080298763983493135567461352696214049987781392720290706207994508813477307321188537355285937391419022452070660435037491462087252483863706818783501911146532064628676023784126614381834182669814557658342972827006047405561110774224765526631575120165074371427405649325133800875235838357062225050890286129861106585906266177398594837085728362435682676663337708645640503094577783764101468413339603810498712202658824839789449099641106155607493416554309969521029075326113326459804581222054477808626279020098803528277013423816366193840968150926057093764562583553183229586680140825523541499040860171539989798091453682304408938333808473909090573383638526926174853672644751345691806521699103587824367834517608172600798487113045592092087140082998814670323806107509419057113647587203021695023861900835469898002490209160497834434671818507579551064133766223605636912153025414049620863447904718526098273945681961854324168759088475609902723116092958946910194262450720913367445316327524294884609592853997121223387751828475143060369133262551591762603549515837896402895896603218104580745957549305127928265886401545071932912410675608722953468464993363690877520754172564341777922498697161455893971575555069788585135585921765922432465357798817977415480084348252913881008112109000362120624288469701009903058233274282216416121900057841436748042074793763821395274059898334015055528887025079790386818644878442674181905812060753653829865048906493200802715079952853104127271163657291433609960913393252368305207013967163144269928577755982382391516106981870931889578773080319085768595687273556954749792008558525473931264476508178200832211280918224491563797712128538448612373258394837613069500186541501594299756181658632354435551570747704823432274647326607209265168688182708652571211447484906238251606287051745725503389785289380448403910107804473123439430916082611051686970309872709768725950434859011332707386258593498824725384302807325215080857584461147910065190787274958586503218133671201751563567201351458166012029169995286652267606365894526842432769359966373065227249480915246058558954615366875615282356974740334586508258889591789898004647837245021189857750190948114358460285734068514770061696133825883697736095438608846538219977292394516337675197053087898331319145003633436509323762928747222420999334299180504113099749895918593757024937571610830532437330022955394349234429590929837565860542821161302341985074960428311173579062408032178009175213574716473705476184763966973305259744409906239511608753207550574762852036533615215635819375696911266205542843429002175512253899562170703352739714022189108268853474058241708449274096464738282833341557753863352249440417132685788183323869753293199696805895390358580022270832011159743397226244369840504488816325250408515316645030095906004742313943667302203966852530054833032157112282321900974748652295804746194144149653798581056353096478389637814297207763616217115147212373631693301326914023958551033372769374901530189158866413516932431564703592466792177976674742221630832689291035936887753657018223018379209894809579788654112080077265380019733736486950540409363880917112586692521955525657970361047324625507335082397677243990115085371336158187565962543021193364445161280186315241996276667479004604684887236686880879203431359716917286841346271584290824525435783824552157632694500505633093592473285535757383131941052145250531073250251935806827875004239533772711696749133220666600370605953045402401268103794278925859821304113661456600472671943705695983521927552528480735205497219649988590056607163837800008287379160805324996430635592279074420165927521690176174931459894914257948907091931190578678192436225806058057650596942478469210301476472282290786863069622306665101804323672815129711987497521729984658637029633682374037986408890830789366283661123919907197676475738705547254028252916819167759122610217481041866576106351645655640151470801453308169575321162929022830586970260009828579573287754224306719359712237760565697783792141616820490469679878820550153779766407305913114247080493693154613789628564650495716506497718684815125906538286369839749958699579228977308106982217291299380892996200584807900865343508130601415947202212067853504398563842591445884752042330824730573686657110143947170558856276312861679927276300440248357883646570257108097891242720211024309946565167887052692266260951950193804856738115062344562202723745001821318793871962995714538647593262160194923548799233358971410537873312552194225446780741451610600910155608481163948723516136239044248684485848401913790317780173154731960643517440003191677771396715552135531563820990621568659099855799695839965669711777632930979707287987680756160930484813002455519980792002789741068890730181105606342969337595302644893645933042565293753918714741410888893987064562147441341789484031946378859155626380619022198412408015156865530497383904687501263229095369929508814861211436977542577604909683623932196042387553112425040938840574942026245643019700776782567343851971432752817592334127476142980384743403790565501190951932780171255273400390310086234465276871668074963300426217237538622988111949934075015533726960276038857726352060113912938071599270868763673230453877557618570856349822143735667763936642272248739208220980200664067013514500499014976378015594721826485542676578274145287145650102802315287906005255660345036655115503934386499744632514988195383632805165329913761849713265762626175950016196868426821239349300742267243060497093833218694924515840635750008546887995295434218821986366547938565329444267247274163309775121743815535700619584169636928885087390523896140698530222564626430909144856135153860314473594684861171664101952797860920430163782230305312716738731230458767109260274214520385928181871716915397056850671766657951679218287206155767671274262215518881625812040459403025816738528788899236429529330774470043925298872529592565136539485442750842549050359106658068704853937031291894698920601599156159453608216604660871657043317358686396132366824874408610183817822866741809122328179276263491175300331529181037270217048227264072100744249377912707919899832695439094956488723843140201692890781281895896457438026732949802805117074494597971232238048421817128537046379547375584088245407853589967257705578458488802349658704127551932770982548887390793981110131099655045070411261111463536520802181453078591495207048396535562720180872904258065320821621595188396527165335832631583714646661195544309130656993967743304818335819762267861206123709655341548317430900126803839971918758476834965663871711654362762413351660701536936122087192700783395468339927218656939487899809898436693329259254468294004118483811434126083362964397264770634773349288912286218317360832771233786385816920441411545061293171537603590015638836393955062409429230026493742450905414014559305963850105009282196062529917151314940899310897018434678117834590115699184806855819793319531593520092863139700367505455726795879303152570863307769305879480308887358874084813045706199023421685901002537351770895249721930584467127320232702355886751689890053690386681161230060197897333405053314562754948534465666949356062354377498533719361145587639040565932410342340883382450923918547014450124919827012903647635016072023199865522518829082004698835285532914084599301173310387150687046031176900928436880395661871203748378462555377510724832169489950397918333900598314661298006683690168217590890397418838962087747893056786387193503888588325925465743427876128174788348835714653595149478136362313465888719401230541596076318511979120000111880590625347807165256442219519541766878680502880624366858842705683504382972985677014663469686322267294197867841395998627754356059534673783666781506065601001231016669180356926985857159820360416695301764823323777490627936892821838839447367825071365203133829780161175053116938948644843383546614846214309996237120151736288343691628947602746208569883201951126899666045450138916063636229937319510663145467845178536314381758471548939720952704629269905544457508852041308075814624510121871116823760376068578909610102220342761110711666232123291914761684743178445930822247159223325141186522262748191928762027435753254074157657245596403397303545410647294256679397284326289839937572034460081889359743443335018927013372727146973740653928055369098864301200386054963123945779327737496451730517125868213752828101221221956432769649339781090095832464187482163340559868845566108420883317854103146836681458271179322156368511481356279964053158771599953963160479636521028942337812726740660370890874063466436805423506538642264083721638879835246354532763628924141561230238725332838821712713211862016663226432651976206621006726928733278052337686238655037060315040685583328697642604781641266289057465467854996104911971656454713727690893290514609873035152447135050719091844677623796965301474455416611087253308576526267249419673205155441402446976273319663948513038409220631047312112396329005769371605725267442766125285325628429190179890799956759010511986740903674036036546913039081242715878547170398941539934372687022032540468598779694643910661787551230589377599330315053193851611965123486712496145669765093581999246038131590909451460625598837520571823750786857021289187524091330804540741998455372507458910433668770981817628142700135862727940297400096040533885645165903358749200430489464019503542008987634072140956234526338033450381670141506530045528369927920461034267378177696579682069728469583493305833681006003526449905339002914149307498038826734889565958617175751264725326411964614888532686782267868265937114779202992875983402361808077119121738873978863651597332257792622373156735788494714465323862333386304958901219605029770831609313425238478310385463347785107978532227992059583963409323876334942544515026951136240986200345922391030694558386157647815719032174739498428899996139286336796278946501300246618236535169874556058130481338498320617693255209178129141970789670719796484575525985916015154746037543761178539653131153876400655492986770130833948583362963955801325159643594461275363114638379530986897098187402328133625228763212461624569232305678802870388572514300251722676052232049242652809524410218841180300561078395479802909393367118186195099202575554307628789613942318162688607451336572681759962953065186353456159463087392914675162712687283273400719698364868663942914352836836081938352117207628037759647198927542107526598492740250578432296494277987162036027134591570755782711498102139755325337262458854141521608804750618053908483741226341658202472602288690157706369543753997556103508085070329288995979577400970033079136811403448424120000351950551517595577749274194018362922864242708429864948742629034363260754060917552333032013534621569235282799150958006932866599973181104996669234655694754252605608312187276489976393088832736996197124167282791760555554504128248150435230076324495979278467679217388372550836879841845878966131192523625419174309684704150783393458543385185599044136735470381043054205153942860266990603894389272929838707881420143692038734530299215246712167808292534576966090783917875328093373051191048322412156545112898170228232119769976004892143268611592541301211960561044947301030408164712243457167665390771828663099897343963767478075173678023698978940910491730892455541029362407895298360730941239557947650444229703802000147463564113177733184345245562822351680304055599497125407659619572367216361388354627357283502452637247502082001882255585251239938595263541600980549805776894280510145599558888158754529223061770693496400658478791292066943328152346236673384033706986250572290910051419078680896767938942562034397664494751034388267919060571577191636929449778108641868752482095295302183198183230070857313542316047299271561435528870533534154777893111409269476362834968651301456573529188230216096067978982542204249106867721249561895845849355905232305978213479719736919341953497865276999848319446718689749902115861544055017791280685370363406083159468006631656265121276896768443513286743955261831219831227087681797576571022639018094209368754883633168932519404227113813171024534149548134469701151422512759351359778305602648168750530347454150697168693122890684159302677149715766539574545119833483961269352257089979626394040243351311656762459538065422012682703443394770710753044801615936480213090825309443632995476941886174854906179775818207797905245577940132729401995672385313543745194786567239304291961606950096595823386629604905152529799393059950793099046856735662026093054775046629036237779510001799373387473536437217543966448001094337621875125419819034989866523441522947215947939640170345787092179776783737027304769235416997456847039491242848473681915243207196059259444958310358309515541511695372455587819655232905844933645019206881137661938269888120750627175224663209918608819962134869830790551793777424029132738727183189722790298781553307716745274385469033825421257123759424192398003664303699903232332658569917331218347380197629600009446904854565667849513278027868583304271629741301702045984783857055075790303257267171446832216000543654547374188127964326703272294658418421764214443403994305272452650017000248878806670375372554820812849982098366444900915240094163829437729008186152937773241471993569281295987911541994419703865632848040287670797339419791685500988243163698280550656638521255758068958054069817248568760896609389997014542831299911312629709866464761756073878775937348159001590753428288349483953148813693981695209077781559251441907972568641561289374795158127585060771925441812000626309179395021942816296820472134696364145158766437166459908835110605985142213850561708207527368410830418072571987276063492767566012173862064272134189258405641855673594187375034819826753674095933638792602804623651958850518979062410762073959547957063394330064686375771069490278834944013080207101716684475809903063701265295422536020878681721628942322124314686474631965601295543261252649423074878012384007276865619105828700838153466200549031359608867538331603242099658937382317234437692822833306771896585679353802227970281533199152189791030386660025742363056573285835749686311644201979384434822901912009240359163607934870419886277153211093430810214390191772786425440736058837407285057570913685515562653184597873941131370342459435557390771015716788789198204301567062566460805206913377160912386290415078985299448623000197381868617233848783504120848841355945454812680800785951214598601077745789859837118839735195917893089319995720520373998615508909044777556361106903556437516083352833086385473325689645379227335753444451544815936165740842324573935637492405064924037915233544216272792080421959030854655128392012839910712149904378879380330660699260046829422138030002247570023194211879263997331985675161527887359495399913652400628029625717391506047246529246938353825069468575045280463159214311294596354055287434473044374687275879142230053854616970283639672006990011643355237239167589436890922949587020209836366845001581670352448001628694381810010039159487947629490727759040304629135302828237169203346514852098732644779390382921852145690395423052402876481820561174921112968461150658820423195245380943593720706328788895518128612754537261263572138742167956768124900805753763732698411811441262552446365889698122454591527307263231002304471284121759159527481400164431596056415724364275573267669485731996462392870289431080762528561379920469584627789699517049390430038035573487163879149683763011019206294231583456185782054359055954644257979836029866125135913692607792878314282083379251685222376862736398233914656097213861378280065407624078992964086897048035881780048258568747862215502123667340887676651489758841846577515127241751254366612134316442960145651285311141090468317507305664349959634879555422196920450491006301982244536757467278699785162228319835108010051491347753985252708697403244633484461879786090072576791619069895739501129577000765774913825935466986749844291050188631779146869017619868658811136550949843147515559456484989308480284298468917820115658126757174901115544118150951210019609406225728351395709993505805114215779071629003949955459782521549838123222929424399258623292413538561334479956780086224907894443618580714872994537858246888534793014827332368870174437848753469576133266111204505018638909897991489656654528914359400974252443010299661911591967207112591932168038236571169168108770582293983632733574520700801552593192822843851546286423683876029673544011633219611400788693028960761284935826909756579372781131360005162743558635088464400064219260923760405749381305786826537488590728650190015926208061234247696145544879077951396486342897772174859720466843803857471928314416830708435096349976212883014879179448562546699677865938185434683704134333999485096722707093033230601119530017030764807182562641726412947062292234358977731120994074505548343218604719425255031146297105996377760924122105571417616550480136851302516981249138729047007168298578181657564006280645965701056482904424014479682711548330432692278901542942318603281111865034224608800584031812091365162821805240627410394630435244294210812852911378633563338397407903539986752614618890751491656970619283175474357471912358327329160265205954490792787874032710120502876772761808602001765621285667904279646466354640264706527434800936566872221462669943368904600513269931725601820130890237086954846458883320748749945370956185674109016365505315182679986824921656354056185220413883079803818080240741735671997753082745708904920110894555707460417349221682421775394247891726016690637368326263055928206672944387469739660132122398176950492762998333548191563863767264469178297748013168800024757873961651720720195003388758821715588687995747441059278517804157998267022113899897238165668927507869852539283398209713367232869717296398115936391529796426940200755397550196843760773677262104855908256745845070011045106965591231268525315352627168795361065327391166437567719613898462254807959716155773831716608513090806016803215693170663221354780128431179852531188093466694090477384497223262018714831182269994141852060125221465743637167578863101907278418590005970734799547682837770137604931607716576751978166202940248094687592929846676804046277502053908852174846637839129286070736562511249182342395371071060278845002511598128853475907054158799185924084200969267606774178333207718931913451409765141373205438487099390753907445727722146228216280306256769603979837037495362615259290870807852941236818891884999222679949417688421696752081329129876760889702834482726869900507667054462349959217360089786230041397673226165077385084228980233545461556718375825526737090701259818448338604703996493688389595746585266108113135209627662372160252174927519241670806897507966434372195011805395563049757078497721350251968103060727739884824345225403871308430545048273988834179873839641129608891583933557898564334867707968558877930965577671863890880750638299502081335898553748968607566266817420073767598798156391842878647018004780870956537019560622903251406183397687069220379825147721199611776768264043378007659258682573838530799148885161644074284552967107937268587505776932698555656555260899161728907575864860778099407901000818458550633538554183079818245678931023074692463310573719659494094167275906157062029253080207403716653829296449957572810732679057702754294736767542799379838548493953130476370514145155801679546988170281278903095905199540354044502056014383177572636713255963523838668743980604390183653339765620263874057906983534598199105597905840248027472925479658347129195285331356354808332324086069294487526898205388940850910040584518574881936877164745390773890695023826825552312270811476589917691539875702204264896146378274275478282404441032891674986802038597982983403094721819660514031773613365192632962909361687568012753361385247401212448697422172790755056921434364747163953476552342511516766904094962519598558946019523997991300379388201118014706885095480383843695125654089620531163160834562482445595972022646423996824820665517319599531928027318404911235134989038244887172199946610079864314745284385194551574431558520272191735531306175574854541727506513143861193789346415305405691092743249220909018344422781554028996443746109491279394788392734949685470047221250206420859721005763475679306453069745517033615743605592040417427353734660673128151890211595491650499099383817718175162655093196155827951567890208011415063581815510182457264131493082525417107199037931291018216398364992198390823205939302633443506584474650415010004885679044263880678591967323058252818159821188719708381422548286726966359230071533049001335761866998813697490845010211181173522963042504960114824568018322548401965616651213475419651576614538836987792110921777680092605807456954688572269922911580053833660608045234050136273653429644946129360885984914696609231325263175152160940483103312652633634049612264800135204781880042923241277635228155611814111116410150626665080911387426523036559016708279424033281886965628842595877681920166661712719567009206425042013353410743228067072250148745570850837116222555119351417664967685279382500876727588752341443903299135347932884970202459165769171466538347226828883020035430334432875744763665293598267102010679847657908672395960188389285122218153946085326293642577174446520718449239321847563949606969331318744698259414524896750167605803269643257340566098090031382719945591566343886783697738883366790019635754313357842473720851235330011857328756311174245363925759983500796132206259385737015198816683982329056424239313242621476915645521993282132376635179271123081682303576331089507949040004193550205469284829680203366036013069427881662339544733862324025306579544229208919470687564288670637428148113501413497827806398576259733105194783154160190972630060609124827752226546838303259085477468810665655911682422165619053914568652540434056046482779409802113855704613325222687365166410671405415249446263562270354829480429348363399811238227109945425806145834369376504930505233088430798858398364757239767927751749582539979642844491317151819936957704117592640016452730076728241802550067049846991077579375902566514056048819648521483786111094604936166206623569614841666182653438054031112817591387083943931117766901571123815805018799906673626666287339031640892707656162736521399638430525739969430256334719410479299238219032885281930410561409571118516383515864596274563240436558180979325701691159065856919121475887387078041502438880428144005533165377399809852253560455334054226516512264379083709856453599843808973936105902757413115218702361198177887823556820891700396357837119668449836729237601156245326902180735072184698736299071581572976022462361314621028142978663019544488011404033913103588482005799220783925771806034108430505624435734843736204123262139817502857591563096362840680737625649062425866257094181972152504129531586333501876716872530149841750756699645153364472848065260277934626805399169470613253121340637799554720536856729987683284819219516513278751218760741888733634010094780768473267212758344452234763894073634790309199971159985241169948264199444886894917876786979298727658825141693916442106653599650676920908123726689310454913378180003467206540312441587460150038267298952729525265321251620460450008126462668516398285040887880401314208853817964012551692504916070421984682664127848522397552272964009835774883078762646366252264902762683177734728462897692353735006441650675146094148542605961757158243873953597155307511530436174171633125459432569229757603800292336391746356732650320600933165592355522648965023375456682941828271747258702469116572497322704958260808110077553665278892148045221784331248196680016871268255365345280316320014466232689487193560280658930709853813987797636636662807862196873264676003532043228562953709104344582215911297339886327109985491870157412024394417540066378362871391271499868625753319557862448938853673240106512415256911997423800364473596107063704749473455385738947346765969225251331506123261443196903299641479767828123791915659796005312986446150861428758966683594919564428344314879399896563806291486727592124612064279238893172262131653676580499381913369347634431560515484687347567799031879332969763938531057430477159439233955694031447629315907072120325724493026925516390777092762948398042298535868074788351810280699558500432362366881582821063296523836747751035740461168848039313210302578912476584160128812580025838762970411710472680374597406753716388680856340316331811093897