6.324555320336758663997787088865437067439110278650433653715009705585188877278476442688496216758600590374694568305680110297097712060907760029381039193400307806689843314358519881318300306948226678968248170633859154180943152922088738515758124075617219883656743423096812657105998237193649128406653923209382628672257899583780533059087225352357562700122776372557160927366269904956062287538669343947639026371356806462483590804436616091745689229200507155159405657288058048815955792069087978326698445305224135585303352062096873395587513852311441000739789818938843700014716697689287765462218578218084696108471306807814548039573087451879283452002613980001911568926219253581388836672260362605789083406631615463252772790387587409309530441264127373174395644098624852106908223218713959656264904594001597767047519170657158502725929373022995350434246919118476078751250250739710389910650199894077687980672932330941294469999592264686806043714104375673352691579021465965750315890431543304279252648876798036969121871525204063353608481591789386849562829161302860906651779428935386222751848094101540370920878544256717883842875968652686458820139683547667121453822214251098549123683415517308884152051356683640748296589109230694419868211834047124522318228094655085832540225406035633917464894482197229859190176161503570531121256633670595379159780043157185824884178226336069623122324641678316657713406772506625751284246276935582322140964592006603345166780246475333193473306194277217183131447234726811141034364658378104085153945650530215993900782284524404177675614247496437900306034981912732934153651569561836896914210376193626571753364814163453319824711449956821062617932491288251804431350496977199308451748522904153694014606496314966499560441029475314378189396617024110606908527161858894270393037653392198910158238863031611873675413960582139177968249480333405258097710536757362067016562649301927297924377690740740680914528891703425845916522797656358429396429609592888026948797823298876057215412850932424830585380140131150102204978578063935730125958142339967615100561876640394541309800823372142405708908742630714694341239197978475494082322759306571252270145664995726833067978646276579228556270005392748340977011139627250804720342467777947398690683450570383769504688136909899930795315530965405166032570515579233786739763737388871585953975617926162730691653654806867657261902183477608690829760430850323047626616753224620471164675773041314860043496797384999734329497627837490698767916331152427221167098446021903760267642704396471037633620400512627185786903686799082941488887128048164985260633466335562785516786084526256833259080680364747112587133511737427875746766065070509928820546742633257329413468289840266808805590110040112916652457784352187773794603155452572553813533937112541817963808902864476937523599607967191599117882604427398106251617927723792756655131552056575224539818735148225042847000417257395838996999805646050968358919661261974033299285700297723921204220738732489097604345244880263261893840075659280887149870708997205744737861880930388916828767042073965164846075128148812111355381520602691404871478142397636876916578206516370819680927200538793275906314662740409842893905239159031906090232419122611477302910843423098814086952943835007398850551629364342772014214203810791926493513887505055991884267134869901396944619764487173499314029825276194040578770227431091130029517459414396922248485869820948984459739375178022686684899343636888589792322060300146933323545331366351099224411345973558515440355208471117325613476514695963245794116976939026578767349436732550476637214562943413585566979313953816899936349335179724636407004962215503622391455789885015159616510826429323419419172232462305991130455940973500398943740228690601367015133131301598961765570525543717155028419173380675089959279757994819320219314193911209706552820697402828147033359979720864963137623471413568391114829921857957232088922357523140768520711297750360842528306199033388228607057564195428044913745577012522913189715216726511954128699726235908788341477679685114005607691276436857433437055440371329435741923588884247746477320185490056982826684997783207678634255648485704615740540017085253997723104835099997258242484819254279252671098750386580030845421366054535418434244709617442444169969740131862364174910784766690567333522891971895495142132486794482119622650086261028875635060472757303597232444761599738393372067286762776403371941217088116123235249942122883402257706777078829645717492951086118114235689801906192953491620614733694499348558626551046652885900579115648522430487699590805783041189971345838763306573158950557526155707763489793633590729773900532024162065269698463552857569244564521454667853269284122021822526037081906459287325110981579342641918675958998449244152244518957926604906362363312177314255869011426223762034397325846185131215281758137957864803313897399005721986665390146206657788651757426315752086115504809132674869223907645036811324400134393273162456953787453947589166408072327767430235968240401445674347078036611313919578331032539063895223421311996529131073611852133663588551019014081112444434866106637629685252722437511319154708986510282437628276360723325631786008918909434558151271992659027539274486290944196518146819126838638456213379302253333650631786957493865006690402492375363400909387270823727203774452540647354717798569056702565772211322064988555258083826939453579866338259392429856180399249824230546684172002467161570605342702154223499897992153345239454493713962381688597683185326105184131414112337540928239894316660984105149193306915517769889339145508443534376216566048400948835573238246415193389045930803838319691354556482211882762267244920000869025064512185042721511423069578331187496596790303075183741523576979768767383785965635724041234112090251975180673057666115955667960495487666527533001187755046794740490281681143779460079869955474864937445413585178677103685703442720975542040891156375193031782403012853152831064848369750810214062794993593854509758410340751608841695897899402864165512169952975028958690253193956328595023680226195220961288665666271822750439020139219123385626514297934151679318109831159013089030481367536929895319152147877460675604634594063077881941586215678990293243103471087774960156505652493695173169307055833571461522133683105477680779148316577848273636008117149710308358574058946710973922109898500107050447979782910718333825895753485418407153178434673942150709814292248584437215570219038100653183106647096244254628995071474389703692345995356369574131713230725580520065062925296023066714225758953560864688500080957390790366800196427723803018838617216774209313868102966265952913974874592751665034326174423610233099874872034193072027059432990848715880223601558856117570781649930926585604415870603351248099118883767107861041775477723314527442543014347262912841092131491488535289902040229895991526509629427147818698257735183439825589464102477080894456188026537839521579120926607214530014290020263556486136077187456096649220086381205262039628953738980708504269836690282351175487224223161556222433121051250672968132015256686993075966140662176821877347168580024119920149313322450630722510736106282107648080754020261324097445903496389064562630009540148715836987728809698862884848055005761760794456316570124524607987494276073001365173231578511729466463803207164953616553445246634712189093892989897980498527819258484058632833304404133800644756187374940805276785019846932652551130071979683502521264882842266785173355591567340311369541260041667478183049813206848000933225775031679606751071680170611891410464798917875264698215167513263031011474628329607482038749500987411321454047341484996771472125379357149644169683043683685836161698862416352072387761408903600083915577665859703107569305588583438167223310821963314682994952972277770008077814913003981962010129877604054809989517414234603383833718928674133126844321076541371210949880637549684192762975168319669889722858428971541166609181859591388240747131442305799632363474119183429693553036392653566486753857879483984411705521140731733732327709882982695358256871632480942428159753151983341290373971701512359703908133810747661348293804837858652932001968617456830493006381225562532213032550312954979502241081958883839434236349683571383081799246121248533719768505612646915029202375785651607808378068855695659848638199019773299377863881544916710998280520923550753177568599349753544460921910203709917467749305221684111740102700210679174689495639735796238292062220873292696970627661200631786000022548095878416044955475222226331257399011841425175369798599691431098780102306950468567467965176405859757919611666797440827333426666017349957859934185505931169642653004787096355888661125771724508412697556751094974596465513371513970796920855473310932874693367548153478721424405988975963355883647766736506784612984188553763113340036916502300779397751420141249698496203907802882602918788367082772948938970723218448219425835644328113649501445135969815411788840662207856053184065876341454185262216084537046889797398898689440080293424279103760198550883742423444211842456216332196377035062820994149556898983927174801687386841287558058187153107867199127649961097652316675937976322384283775932945416545027103936708971402326468591757406251044393364698513266163075601422294355286888529815166504980680004161095627114600388408249644152406920645163562505232044680703729516526986544992166640624587793862846318361544547908598573362651786416987995423291746952425639616640752866761928674793943607835416978552073457112805333668561708233489371573245599127093415482315116434475745556099917023533531707768364731304611217239858105152764200240102520710497552278153400961310499371528514970409580526552064701470065887148310615411970859697849564734916097006111728465630987766087814678635817595300589598171725969287969998065450725119442547248633933124799744440470814131042414175908020954389711718729277676190459322708506768059447415415360385225920441937338734174054171609150257248186030896629313726558959406595739797942086977554036863549636888330884710203519409088702441693296468325369725670019017923723564896788841003150185189062112356308414382461070664142525944006745049818319004496988637431314809182647892128587994624150861621822364624803510668329985112713822305805767006778423845859956109111420184053626947715523129347154464896569271878387100852534652151704020405782434233969259423940065780331538706596345746419198420880263244118418021673477559338249011914902103829329593019530970766809366245097611714360036441095025253359311447240903472274526119090908422381174674546514573248032865437488821377264765838413527947536665999184213926323531910160581326397561500542589851860846453909392451774573639773761288576342634165745420933972844979422568577853094753354219462043891372950073461172366601679440681751733469525788425750543364154837261748911161887737979656333250828346712911773230971262699177893153496961490036002827671213111758205668607496048205185487463987629670324011544114498894206891055610072281067006793401440882956700224383376441628885178255853686555598092322353546384288047878893215237263977852234132787446463199820534499275654483627289707807354368627624227237313074122505804376098514380321277358636559922466334064385545120773689009716744356052372781891600648990285110340395534447100468402924317281852840821891176149260376711490423893739827784518849728114273897736112261457761397581752022391511374648223836458495706117183648984518900196726113708866993642638229457727218123400067650782594654685104071056846544299927227747187226223288714071982906504239750708756352965313815724682617618576341912493939825769491093166552727864332208841979127069969254445550299139067141808613911706713386596428754555462842936414457915520342136954988021938750529664908057047629786826996327427734397119086906276514052212353115103755365999820710893639977847019011906106321768085402514982754498901215491919531535221167616506899906993167086897683170271551815688692238756684693328647736102170055339935751977629890060775753200504049909145365144510546386432691811471064136780892018191838579157205436354430176405894169653819054324807259397147921632386028788811961187973308001416214940589751134825774481732903619227713594144774310501146595915138908561261578340227478448652317667520704818665796763829034534762062292223847682056168234991934202680110200311013288300338493316214336557593505713061644952177212908700970542974041046108168189802660046280055133073130961031267316885878819626500932199070556488197449131141978781244637204445753957755773531456952967628693138720795039057397384338579572340480559754573437126520032566789502970100424372775731457121305474288101519859696289424972568898949378536056118534303966434612445579288592140468413029691491812211030958048763276297876253039720347760231716366506369841224200169665868268873374846284240187882628924000062632007100475382412364644172577123746377744301577310284306368896037272814055807451506629121659803618269384017407637295074330538299964775349898616918671075430067087756535503493637760901688405360366515866120141750852987499579778275313301516519112128187799362583460697652918397957062000196158332063949938491217289672259528637607736002111060025037653651702401413268835478981963224210666160272445957178244427579466208097050241516451619825839373341211997110342870474406441328717189449086498560834898473340327887168510119389110830549674662499731477566139752343019409300298224143142947311660852138874147644751603398273642510109665917712755145160988407220023829520249398349050365883392313410772597206299952538771719731320170821477754103606405232354047084620871298668453719460342909431052915492345718807558941883158390946449424053612674425637467418134047954573869502079922735044768992736269636094310337540272957181836852286567718262594916148220699611423335729021176744102059281105674295490993520536527459483887721480606977926620685967983976541418262365976094059761371376803143714453772459053913883599173989616667152584522026454750309062350492672835083902277650171145832951309389833288647568525325923135140018624783861097749504932827142443102010403678228441318144465094709106699810777483505658186404946262768518509124720659570815657428808478264309458563572308185876528746829010903771931845481679248967178639903890313170260898534686028886501413346471253021674231205892818783831868160842227052686206814743996701987961058266938157653081288501121605228950618758502759024188729665368708448817209545804229523458526368479361146637550451522853804713478412624880371069664631094440174816343068873796210392160222644309461357292369009876040256049107855182388820055263812932215499062826948292102707802979351854600712600245593455982424848842572857089503699597292523369556345957955795297329440165728076585919483394203121144577485724758657440848734579269344658603208360814397672839077056743368431811827057741777009101282574169012503027951265109970975847378437345287662177859484336809368183087293624361810940166709598992533919122892278353220835757081109964927645804844342332513207558326387398916015149196638934310060857304429787676455132356095913169887358644822334072716507085723041853769968649170386255425315183556893347189280725973140460041171971495428519578143385626396513914556866776109063389568606849780842736495030136991625649096035444806486339564550933811817206609951412466218537152412801161847018619017542469537928340813152123859854084918181859404339371559056175644946755534830242947035542001923911367924475234430753198279190426613281463222155586788050159541502937238643745556117601456027233552235516944025924250493760714689778068389202392291100189577913776726746760128553710909947422813723794045234001858354870854369521189671387248174381783717632136126549058829303092042274780002537714346910931952968328764029512255205631340633963811443205130246052911390008470789211578117895517714406026277641240556803688698030992940183942210661594507597172742600851922983044402993043615718341352372172321437049713892890495346575247794356468973096520674235070846461011692758764497720319535091149520186504984035701807171258325792057694087492338024307267521212916846090037462637789358977102893084290351511466563225588389673807171264488058171900189218709193152384381560506110414176570266801720948685127420145256713928629669469653524125827784151343919920293260243014714875602421101416889166570005151554115610388352450914481409009220500320726758472370970896474588755309796952778333858632088603265494196674904445225880685104234399701288102819029762532699505815390303233881369166467315508817619485746954104567504405295300341787227430852866636244609904527835858338891917424411863665947875320251547951850058220931567588611624785358148849037632835003477175595779689910909036024924135166148092320474240346091848303152859724443166801100974791567061215892145793459565455556941468001477323056693313256133069474813905899779159451445011172687762273044487082808298749124683421532293788119886989142153716787239639343113167050445845732581013294999457301400633246836804607865497120872942380024404419666801044997825336747038011577371693565937410286051793008087275574234354312574567027834148090787422206324650351935625487172330084269446087894326801633799485984188634772360246549517565256944679831659305732219675093325464143733364717959145850667106522908351569821461592416145405849213185290929871756917937865864831832538549713291283766833995560252869423031302170449443523554800070491005598440799856297405846981363838257672038991230250809305732498655871233688606792586871850249028206702209895914656638142323914145310032640433241858558372566145497990331648506987566752385656496926426283122271356025495606691887556875778965862328666719484167185803607989620567700848085644514809136632861966833351936129982441767200988561331807028335212759001918608865251772406885490532388375364398907989173433256096073978720017814041672697530372703382362700364316622874707139976776660124320684685907745606297014770529469958223182465720730360889358251260117084853187882368239273657040855451901671464557035294855413758535058790392809855497907624531350858274248141974433661005847047779203174555641830924115651152661443137014486718988203136295499330658647771536997040844650515758214789787767279610900431491248401795707960264986977227650571880203148924876401148977972431649608681961097175224179146037589479744404398511976858771999886062511625836150228291317669953730703814780844893140484919216936982301241369580181110859621263063865924198338893939814572923351322292494238813614749222891411575013393711566124384250607401571578776144841306365156328334949780150469896769069274909130976716928661228474886606233073144956133677477582783353620134861192634637896990929375866829903386651950977627676377397795810970941361474920108313983117961986160291603362024569125296807794375237186841375057188247883969214593469637482427376591968854305784738286640545520024389723565471774831373658961863583428023091166168253511790045334449853145920425912973016820295465263016487417425598659717228113996522485620193813322902005043818310654649607860343189281990974874645040910680696471817115232530162458343700297300704121376847256618501761376496715772943463192994421867526866961798431925141565435501231719576524840582993686425761398446749874701655837707108303559856048826601753369424416270627585965426392142498007247684152918111553205392866993995525856220118361738904354130648611994247341916483399408957299355481436212265425556815847773347569838649612344563765761364204289901152222005039453892060991509784093686778305260763794360180415541158933741467520002878972816445580510600107341795260885285578345161070740687955024279217718121200765620965980450147338683667302334570009237432202847944505664300154586857776010164953088892760488013922640471135496964842218404568588569569197931501367455114045507053137157420416187786757036215494565292709440848041190779739151969882344543687396203397517233084694487967107777955249831332589191898993726911506515274100057450836363836476866221170856249233117748628325068607363684238416045252973273833039378427623373611951932419926740995238477100813137685355134132655235934986599539963460184072333660615911457450492488496743039903084357655281718816082366324839521616925101791222035967995593603639126169671759016863195241491804758437437199649551839941870180202127457549763587857719825607738990293086749672915856782810567519573389618963118142217707957891765897674260988723538919713767868740976279303436416713071586585402567275950870393963535995598657777369156609950134152045691176172611611585891173680397709417288116894983177157668155545992586829471336884903822294395214815150394495245674218082125286818333629348339103842530686824210691604808093752090206369389607212498562827085587132471340013220058049882250180357629480241868112141171748128064957952841820279512659202273490825909300818171393893493267801695064549161894316967356745515910582494204613246113422056107002013671458894155644866130218165028489206955343220671675209313644403459734666514557743155006083658469236919490744291721102967933272862687604570333548143293705951549527893904212318454803145697058719394419410198199686195291769168601602720348514797506185821629615885051340479775780800660848786725468235659111312697233089297971026212080098327579637667407424607881222839914052938504091253144583768477153352175355425083413853260799158024549734492837854293954545891232885663528073848656099106787923248860989774170020240265768689722756959156919856216487085104188131641224539193180339374056329788907143505634515774089052935150775439828920469452363762280668899408619277947903823857703047563730337606719571207609216032370693185539924386944515093867339753083680672513919631662117206619914056812965789766759291731484713970992923512063995646438783075161754398669122642869241538416366759046913244828946374698029263089714913222547717832587232961438168012501032642738095271716677575809158707730548925690263852806861762584067742621352587457582038184202756676097194877319489430343375898007016121743493343693099240359970157352702341939318226053782327680985869381878842829396521483465545450470879416126873614735858958849977742395705221170978419946864657999020342924786560017040397990371335639199478281879550137586132247579292173481376811452248573250113548090946019301047633550318046036668676916487601997060710973792558221395851220212198390288370703014544656059909826536693158712294547669970958032282918762506402242995064824560419433264171238759111246326375373655941455733312158020399625067306921791959964437997158562466505880878510365308280241283801091354480094965623573915447412375743486753232029150801376603537853756887281662658550999582303077613782940154810539219136500898783381677363352826934697402638281830307893857855363259194850439648392385614656682841093747197669505009292670004104720229746267754415235701772629763884113189396829647865496932584639424459818718229044791450536950933650409390965772033450624133112531288048818150634237677102797066458934491645117558590263035408786111452828826802510833128578260927357606558984793438249752960257293298832836891292907052914636495019621432105651566875555120322416428802385101658917048610677692669829072942970788229492230733389325444327354892747505152075921441874846775839737938869085914678827850350629820461190681124170678650720845324103640933142515199769360623332145077723994330032613728976814302458138454112677568262875540237362134233001393637963642908798888998442065542332955647447752257608182916867653150054350833543648392296235076814804000620146428236333142139604509819022198933435074558525196466228126177663901304497165167961971475331696898016052474309060657717040145005299877876717543540947091825935332627399501741046643203724899807343999324146961999248617661584045537305752267523503926045867943902301523042468458905318984447390679294815632776438466289609683752627551149502387745030929756409126338014512244063055176323688240659076119041552534386186969634215927511314908448007751757939643340618558303171739149581576310032471027656146130484739449264436919912212790531468553473467192098340765404567909895512247953761302240111012979761881625534247970158184940690325097231885074152183898639880272040505887097262939120351884782550157407946264521374140925888652612081582054824426066757831673355761599877843616852133618372752431499845144954524745388640460108928435265135467539639594572553042657839239920725874577433007601002500933254622045797473934660865636881098990709211517184099204891546496976124946647317114832441768129004826970203777739611323461794455671743363086122240554587055230982921733002991463770034630766305488670685363825373317553520142033025395992232548510569354611105399130224042189076314999781680379188256280271593162362472697674505960619886436219315238645026136083712144767849410907855137813794399900906802723652714958234700717662712869813526288749499234857052405967967015556008203340711187635538928301797832926871388592760261598018162686359626416540477433731489726269853712897454879232516163043352673895352896917721953954855672298376265967433317817723208436191723818541444099364083470665004251224220043504059477954539498933595056259715668493796296012684300115796538443539362835910425881747151338828825434321208692657143487037774459652392869496926957246265717521414069871190050742826937059611670041992009839027592268994241669573111656862941919835354931872548255016272194564841437715830781429325196933615824855404256354485026555731474505620746678446123907526051984516724134406339953812626261419564544779864038770695551547772159731978993179867241616467371258865554325651205102658845504614487421678094895566142959640877537995642746217125813284933364997241509318416892859744965258903828528313389813468151669365727205465061441699143644814478834983434728072340874605927496603178531357349859019636572958937896246239444062566817787717221503416859253951840776177149305192262758889138992183332626248861170292000836570233119770604167173981472146932073016027419912094507436345408107838991101307863195166488077480722040694672520723363933134652788166491561217349629782947865883173495926700865209446501887039204004361922440073312479951284939633339166788521534591142033519209487234237174918457184918204555186548868394622203614300675155949510849491281462844213334505341193973076010520757071265213557347459188885251489981694746635851620798502984258276413034665741742421220666532952321175554642358301687252637645974700068561033033033261312043363321222921070977120289654517604224150294212035693799166104007236085625735764889181445677735850222841018256758095546691898266332834571284714434104571957707457570693230625309054779275731350312717202014486417180693061854036325468224050001647120935468428346743226449167052361739042589677264443061329825121385533364658391016837363425669351925965463710982948410891288846903287807294806266261564074355349336003476897816232609022781551267091061232279743894618076458711456524933537031173554705315695063656958293788189304243426572823300999701479208813074365172877818453070225368719678420237284253885613003098832275820569671231436464216615458188552681024398258518255881465496609284513718494784683008747581877213717266167700476963570615524301166941757793456662291172685609287083250885263390676614799141340834339917031179105451637235237462733880393984561728559760361696666010802519675478026086801645535989445131960962267685592802037371890691373090387075324683297726254824150440866411489328405911634023867725046510198866290550290590936574077635384417301266534515669760534123145900326902201912713313900427925527401214093787886031410509942307649966317821261840923880595148458361644408081711092471562385635198361400563925542852934405783644533460560521822262788302901644114169107547007512186303373449369015430226206843124429470620692111484853411159550621370820253483770952379731509284753784276657552593874446009495892411461561042894569485074708646973386510758081673693129077801970350035604458606574142357955478647096704568109115339737520538919766531780341038947776437836756430047727265568623728936547414873232057767925662123473230047669299619942005914227073433778137226616981057282013462521530675240900644619502743189887506804851765421679472440682636291042226442177977967538102167097931003997026923883576007702378861247308258192408249243121563678302960655720083615982693602302318641836145986475854123708598796306465896226585194335195606234689254565003108483896114187231654019285191873004440924043241165176139298006501659632209181282399021831082116450338174313720065982462248859753175369713366100364554905217746617346634309337093939278741227992488960353962565835431125376289217642367179792645543490066617204859534740803396147803615209941176727318383402628260316699212619935295707992653506693437862426155052263555607805917701506086442477878583372602769648434695103681897281473527937539402446558124812486711426414670015155372929405772062898717813689515660336378723592882959527414199132078741600432413036541030120242052677857312911119019389664635125962785441737690181725842907612207378048787574895440725560690794324325872610781062452616580328988982884924187464487559067304746046516240913352129296596343958222101832063032362781787605829030084764282631393824869818868347358425979027673427526676929958346635966229334714699489631177283714843868946275745967521453767407172142756814545661244554015947301734111631300245653076396525995570851839061267125302858614421005578118756848032145566741073417784607507969267589794031549142444567907450945960789361200771362203518583784209848300861435111643782256386088233403254780684818393790255398467777858012635989925356952715479112607132576224821682312444267644139380854742657049059791621339158317561821223841471003062264735069968996730543692976348062056290288230253396841377030890683075109281720810333024438829501170528306881980778902569149984168176161205505678928041813522832485842784914454647815577931687687703663336812899631982998643194412830065154292392137647610078210951798292497907181353952717161299728412984527898669809816374656239212857756481615630958424758798304670127885630805466631021611762696246683709465765098200365516355965641210012782478295170576821592285446601417272584964829767949917456070206347890876392572643417408910458243803565158790906043273394060751548428168433536671593119040104192527983923747523056833850126299291666486332462586830454895077424842154495269488151150481422987260117421879165187964306194109635494347439850397147750469278060832364868967474079868388912214632998679700702705403829128792941558723964830150586121581354198831154184119718909401035518876659879123493678330023198778528092606804623685057531288834611729323165176067489815293537452700349401139588004149426284410529340141472184704179254993573437980165340090047807187929325909961870960549313521881841946997769342296247192360522764030791517402606182874375463051667569653867652904407002087204402152052503764480429295974753931111201046436777051594129135466902637129256078668443595357858927822759938753882815925185283211594592897035585724409545094296859493205789089353050891896313210440065725937998639054069275736723240738931913460986798629367773862343717672818084797010561055424873071412647574772609994059150851486090701536566343518891581361457009780204985314960669444449294616324390540855447618258309274389961001917444822357807090943413675871790596611611494677896723391646824997549945515613270674890307434458615997476468006975237638298126926423582535783512832657861047992184082491002607392037084069279343326692056345661444987455703715075126407682601925848309213109585883569734245920471161586927377222889033414346319509720412870188327030770946626966253568674931275483133524071187138194472627885547627703083492859075832794528585778092925828139511292354816644340078122108222670315610240612450215190177553420984584305727648461981057160999256472214169257372488462958536686630480958096371620165829693869174987884755370523088281092818341611763046215856861937064606260442023271094262063720739901066804932067316074683894882049455024295696500810366506491205670118178296503394423624478847234542727722669655227662066233028973949364415155082711071339053792471882294576709377657963099217508767524983254399468949153104444363785939869167134072485865738527662816208162181244983034556788407387035361268336101307183426293477611460317533316721890024783091763267611439596897871126996296160536366927708508248454196010677478873749669519509743201592702566202927852944621683394957942442557104232907816980578809508240365135024446086314359145440053009069447394853039525167138981328482572873852343222883220812005435009361066051393843790370683531665879666828332387765398168713158989094287918944075395472179802770610623605502156817450476324306259350506880032154753302431909120148453280708504349771946782047884084856952281681361644875713020689752453235724180762121186357384810734293823807893849713698626937556427924795707564722226876446570291256185783268379619397083742439032266719772101278622567764890886577624586857901803856864557222651753887786855246763111955072864653969809706565964888324952219745007914479181037191096000702336410389294971521517573252604636261032231680387275583092998538312572879299897013864726643269427294168114340198576188538995102032323079625796401309867166929875269299974051500283484157767670349302189049003339988898635858539743346154877442690732176558202868884259481384494966093293345800531135156213896215590707186780364623109771738222340692888201936226071126279796456225001567907147198939887707231805718842160769470635050203311864756074259859228127225668973843168735455583767709615976789198712597266256443108907429266402393659063953918664628459084830930185444105532578667859922743306809320603480916800506230765940925221609449578831037767949852846905952670860039877815645622433287322397856174837494854722791919742360176893813320998521363986840274523340021171771989778227081176916167825593428296197959129289175491221692482653525289828852141418541554659128117835866116081335123994447274339194802041681532464582955240970496045995998184807254853572990641792548655214494194293482223627453337074642781182512437089489962919864292635040996035211474583641639733259100689895324651640794511800454166277025234612875578177117667325503094105622589101681691396751925275749412518356104380015666074894110165467614641507212201217710865521907546100841058317971041424223795397058368007540675606264711614620640908485090205061055959888000980305547855117625030539804776096227498682948734942827429703279706827547934394646627943273686766151001810058139980333181754327565658721242281757886986181194006999508304534610442456807195681188425893533951482534070533621298910894079638740337316629507720432610502267719299362809104087185612709195632189470432897863869533716751787449590274496143468062526206618541281280169710987413888529788421363374521215898212239187750786354375247842065496532574902844019669620523005189858045265791589360970282180461389623730257372247985765162729589998266757788483914769893706719166846864669636266704191438709624861978104673118043686789094414322222942163832015768419486764130634983845061302505557153175328015141443398297283503251113559646465418941326057605784770413027291773980715792214319660118914073810973142496685147652952071798822394666162490526048940944019014323586408127374764097342293658926710609448995933516329779864381693204529617367876952561079374996518995379815458959877925069542293967809779907108584279468324536616226537813232504477240056785112235857317794567335608634492990424188922213537320745778563088897474552413128864486362265246989063673421751841759235170373636288117133673728607543088927164044892659573299029233948213743649058175949027138356146143335020475725757939503123337520882829222032822186977285618449331992565916027102172713081498618313834470835955083035417258918530138694680304917610578919262166158721938391920185832201315020700983675893190753531361487180081130615194000429391108353573813535217885076700677773686251533205727492173263567014695400588500099067056565774872314563715291153617266422576470782686443277694830503569425667555706999702953388502523836359202959661116533327235674680690905343481871155795314358839843242549754941201321803760009617631470029930669845712796597371062677164567885903644463373974082633195287747443486287853559326925309551327680739767044058086256548545581807292921436734488671958696648319171902855505273701283723224951231589662165803852497489591674519844250230020622006799614162475128246431043667064054131765268480254043546623503185209444153152594836462734756516197951583909234936250048674245323831991072469913195515325084672819904901406893740794892027619875106566059134124117993957661717420147536960800787130731290666042896266963014732042491250691487665311848749179772236092526561115786365688082392055891943274168215879909269570355139829104011482963161852948782397455535233167909875275357849476991022253121146100979359782870537196237948101918119990145323115403903043981114308694381541618688278773497783365456399615284271711268787204297403674572261308389037407795747382772511402018998004228635980706542953267408660628288966822875909301880748309169979602045907874963237330056550318168956221236729893622551333933186568092599599160320356402711618964920396431363635594139870038390093946044099429219632982489007153492686470408457343384272084573992712051855131884713902508054039116809672507716461522909204837574811196408645006043104974800333287776917265474338128542486649751859638945738307534359959467328716277468632204663889482584035187233027920877858793518299492866679648516843162111272212906269041459646201953409646280377059982352628136155890869378879973771388995072279666241146666717607921850106872323810099068598833420963101625496485317080831999426869888699120339667000180945466077009758274423410149867650782436622895130813689094122579996034251813053145995514604409361865945677025437680442601604962728597302765821264037624594677497207557699984372378435614275086307441895066260253028326793969570758666658069420624420645926703046667702735139965294494186418041707484615026705166963871006982959408991459945659329208041071296443771013525459802616096962104655878728135688985124450976670996007052805890942124122482272036051508457142561851177542559513867844632471115634024588414464398553967041751836384614746941157505889921274472358071175619305843495519739076148428708555228164011629645165640498439554258952655582840793316028651144405658531666567652458685045145577000693616044484243795447693410145042466978546453114308059849330662244135550898711068352977077219993803850839060428173249901215725756083479507585647541137228166255481037592837639809678000539189784574446612985856158761011075204776023723567521243086392402969658098043742810535998974021608246193980557004538609566702062533150351917569394329885560652796502431953107670892599812255990139898485035085715656238933789452319721043799478047908917508788464006355573237150649615860625596617809569671413808968397013691594267435998053292824157844643454795078137503768634573770831729133189390006471253153637075691009502223802850749432658772926892927301284792856419888473090418409793893337997589792409537258589677907279396983828422783705272962952556964694603634746138470684898082631886099895096671461764255448628351590624677354906765424133484300585073210900709906344477392725783479348406463637307165703126877723163962480630230910361781482810809975048653664668814549352624765275257191454594188521264252394437994554891651685824307943407116627797138011385763471835237002987297455907245044936558690699671600700082660209725862833699974011509970059694939253824395761042620009374143456478047093062035543017451356615809638876659477576518993076397022316733079927055349200760832928721167769268679102893596514704223699712212949665425779352271255425190242842574602290096509549703555246008447094917431137611404991149209991296955570301731304569662560411241564788867359221564738070501886544743359815217131479818785941357741150812354314666319473908417456372224887467822022132664436754990608254059582511431987230561379339564141951937411007712149615062929482215266175013519284885924952224315140376898360314133798292947502132017680786897031214031828532536992242338463439418140113366360910196765693916958972308623840060640535199660586623294819904139014215503030734675027063276178249167477855491566340535552497687275283208874731560390382160468794263339553317675725150692126618668855255916520496596275279901620981142934110889782797112175717172731188917357169870318373688156444976320831896316887288278459593642673356721373283888719702567990062485821602936910362234524842595361915620243854259066663487079473889908890995242864450408899995086746464438811076423159883063511454209361979649760767260674193018191948708318102026631638468607297638168869490891942192725819612571858725966111953698422178585087680119211450145392338827021941902390891696939628467678500805545089185892754537038047101246287572055390645673030320037904148118353256377515437430531686415916153100612880946705963169191500078990900323349828681287539380560195171695181923890152636815252791225714793780800689908070702097170902433997007774352660160734860502762892538079811096814070446758153121168371167987787403695624831947395083642107997383041217562605834035564598016493926951692586628830166711182995511656269012815949924274920262513918839590488381075768549870510859477068849695142646382498063167463113637850663271934532865638581273491358963383843774854460391146668213408757781734643262982645457976506978960115620448955028141283180965858745085940036482572090617705838469493889200700684037240644103387927295434134500108536876292769012646871008387809947206737795698298037250258626700212794128993766189844393387748401754512815341287033856241353950301869276161112789109889721775465711811033980444611918508134259809757958289583311287021740241994845787960656391304296581542160141093224920503030172198534398920152149152541360526175304118071666995806473903178067829735029502408028799191315674418467436625078223731845319659854932232340559151322541476634513138587481769762019616442519205391957286519639176418175780691262672713930416627634703129287474861412426319613818950501584656581824505586793896392585576497313530102943272555951412163314757229528227316047630288965449621239397119632740585719195729501586295265785850063603379348341173068209963736817874084819586041059856919040320076144979554119526592027410715165100212749847233534625690968378758450139932835055684507903307855145756025998922564734012233738009401521978737027372476047607464481568123681292492363266634007382415983158115138495375962779842213912274613070753366407100756062746490093288300321883683166110810377911574130208880990343171047506264896895850851184860753467457954272990452756654420835127210007056603810381207092912207347495527040051308873638205777849982213123806998112799473257798883343592847176321624345700920289924877498794552423260800897888400535239751059848232784790847012405157975884906987840306559840450424036431036233250965906418985141372460446288902501788307438778679941404841200380470085402640914352839831712648541349384589512939932526136974356994034515311231729975228106248030663606333799555377538805848742520815539374411252208844118749870166833020119720836687992081493673560454310036110107329892472003711874817070672019493521798011398740554179406336857235270957332611853596678925404450154447969379254958719200657264105793266618652171737604173556364223508679614568242145225410716403184441049077078646164307189045394967413906277668217160028326527481559685149187115324876900069757254743304433912554140012895932177371548633041836057206826719511217730173190199834024444183816174363280163817169275704910258395213914241438640130888371440901555652550933456379004324633844161573412742355465779935538624171481584745998898458019773226556581561708174120912501368815369115906961667228463723012597643579236428921948250667370274970205388075953362186923083304583554269453647646214884963342196492991135470902825605407369490883525235843406526212547738917687468243486414060828229793968406901963295111347064725930195565223897801270460152737518106901933151877025585600881711440565203143229527902791560315342578099050856553294041842904304870958688460736175533461287280967984341746408315736368223119415544588547347564358007680444862705000827628820682292526859978506417891585887575192054418199459087353718829225994774077313536844983660567425460789589956769415524674379704278742676254747490579377189434530052032839957345401328926620401585553969184417007342272355311751857994137695787678183785047057402230132499148465417101220770190356725221303671089497630000286761762117196433647798597766421415854622064014766637531509601628954187663569487732163194140131588506195640053349216172305813835414873169021791810199092775786055597194694697797122775958608582159616139667137009700327674765821601341577130586718960394880151394567872574727354284765695342883420914518799256054444365591328755113323612669955984391762702805645883034066565480686556594740638844518222798057390695166116744005921796855186430378662730713144960405470019674988950503961383483697805266941372031191133049779053877851750491437266576874602482326327166565489271187218000216460707057382447672616679276129613126978087140024507586557351782376362466877382007276084092742242902281434019314971330216467750914101226692974870589033685820580110594305793799014172896440986078318131925745947817583398155346587783715240585636479486840138481564208003939720479647428442072361035314209693946033913186817814677986656178062077401954254658497626954658149538576994664971920944106423838849294332254778584797317326007465698591213502905104306112845335906249346815591434909602241196241236080027444769220184924155909611024640703737771803446740458017652609339373114034997906741771286589407997294647548990443842492220426521419445049546715090403563547425352698781366112071131961489300321339034928034342250163471359241428289781103046673567459629750432398129437118093806389287464347216987108538708408737857317628936450358063577593022974233821065487462753858888373330777331058892721761573622050985413681915268426796925098911769991821940097505257622310657840705985961356795782688505676444812197402727530791152880404806266216879978018751771095450243577495871333464783498904884206175256775599904078557039192050590455215821408945366437734504717977854918970768044891276569481925613210343984602006876549304534589587111422192347042841306780387929892033547788309094779506013169096521820182155177487012215094581698560681765334289852687058129374489302372536946240899543038816450679968188485294192636409454888348161721261126256126128571917292998822050861349644384650153453426936174108462582261718201746085839918886008939385123523813557492347457865624886755365611034755897670068230523896903131907692061530924346470694780210227893564761364377496584729151494889807684955066627599462017433777775907579421087888786047868134917100122745884380081570840885263243979590621785264875415707634599045328789073649002139388541916392555125865247462996215094330380597510091122703641078849832100254198876795550418244793182026761304904530592887852711888940121036722696412931165281231597829344164713954466640983833768813864192322771792160237847599505567532633404615862301652717768844459233702374840146716172824890663425107046261318522960895602181497081809564476450170561517430521584117707756147611093620494071617515161813094233949185941916102016921740781971358527116119915168249231103414192385647686663130894270910889276851720219541548811339232417455373024030569154457121458422462685501021259377461210092754079295364724134078593319005836083555512134988414559201104729641444077023701603045075049075103234649164927505145858023227946484216811723017648709286924598201360754081033389934202126445208978155318539059361976553459162599877708508546673607486687144804495062305433564382394348671002100644306150134687056457359194317185991907460869971032502194337995110235476734935054214312104684588591390076825993450312866095989305048720419464072814459890082790246314029956829893345732395721872660612588524480617805656307865907416406158842467417789616099402810234375729054490907820900783858640153437663345647266872696020865995016584534883943020644611442648197672961458089486528315902002808107673554370185781345972790245736828378868902732091801432556092355035780122187675719284345848213707201926008546393322877824246145320358429452836370794739536025686566265580324305136777222780000629934607082909014173130010806106407134039098412807121352901292162240565921326085454199759015998623338066273208378733810979185558938223531506426174956762169662072454626198992497701889674519960498652180930054494065852425898746539569635461635281985180445959407126620665419320602068110453387375635846821981702815130100619429897842568463358284153484420842951421576684376083081048564434714656382282691621493140934312647603138789470768695300975108383907116636736201354892118170590667989813207191063705542793942044694570781999371561200440668435223218211248976144787133062846126937552245146571056989522006086189409387336232775786024999565224219797954869967027782687312503038173364540476516286749600281574606669089222682575585788742094003621702155718056636061836826930648033789371463360803928675315592195499062152721169772530584333050599087348818063554369984531232510823017102787421773903814001431323014589667486446186919352199333921473613371834588932925421629948879739211797070647871012457516751725418414786060980992673437141221911531847933259993330506392210327194348736718241760961475106650660510990844331904364294524068522060785438741716543212410549535777982733502537694078767069913500469989518956757898497749394912919375289288267692657807663139377623751602858897827372388132373655889922186544158311950642573691066372188761366038072506689294155881969154586441385930833364830439895477397191424214684521888784975154075153774105034352619201517388020957145234779309339246660236920831352095446625806760407712785517650898643403814282388417585955741776339283248385965229938267341398938416969422420857829793389171845694358706471899146183435714755415848833164023195950045196404794933651067524255326138356297702253633589429166159008743012914259252634472509142988272052404623816896734661456526666871180692307641907766710825500979634606964506960452153942508894740645605533083178709400491349598855023894824219408899889185975354674581661448648748951365543610964092625136986063497947577260983949028726815744650652626692178416511466542345316735726636425134144826936418325411472885236222796559254019921480090650847257652994873746276408185274712434545989876194467579745927178284024116833128223065244551783343831313507762903691200792106490424427113911199346192757931643478193756381373482311211723834031996805661288108968107111049497712709340116735802839194350345918145906125353002292611250366914141701409680441298336102258504779275630366730176768878964057584507137135803773293494177633784751994399495215422524375520278407109798453630986651704685408928499206509072104832565276009138380907691423084719065973196221012529378655418500258756374299578753096060868564070757401933469051130930514489343837267819964856329635854758002013912817007562994198756381865097230229625815966068715201232107359416745281410889543011139062244625358277130116651934503676401252372370392117116158667550567873172979829050273362511079641881903235092618930194822178109391482111443243980422150962623419672734143326606550564455990166029707877171492635007526796048360094049417431920914326375940161689643211542265376831032787481028068960924767939929496952497089580464511050063501050534830137691106069458239449443145789664404808843739294782932016626720925896542071151500961525371450360374204820275864310819223154186041058948746893344878452263018029938655794991426558384801044280927608426232317764103926369107138135495899050974096076695220759597846699913102148622276111406113804068504852508026327664442170717311224743296045376700963255844471990714837179206797555048634446150418617457096275064124962138372692744889349491836268399512145214133632529512052127872395608618337333469498861493584890598219039563728607524977988972465520261256124358968511123870918115673466860560880769824768627643667429880737584471292183353999210007615448014096130354302978559019094587604390416153532352318660350295842517057334183661386047943721358212026361201318726930469412467313328691036946079283790156186659731574053827413936413499129691443754094594104332540542853401802668021141087142078138696510506180401391430312980389633770711765460554846062893748734999368570881967200871656516304235392473020432777715410614172193946623053701384872417593450175624580558833855887803955380411951142355960466985816995237636901318567191451610759468952058968945741981602695037928867463716635983839828040099347174697563309280239535154893853659370284431302017069639494572063877506134911809737258820652836878892545622987281726514157644156851780282094350766522360293377648705629911129903471525173608574061236780058129768326289534813397853633241232254666647283012864493373925146957721636198751736047498313742093170368557652079781180649720689021451239768163575846959892558625340514587015469195954093502378145004037840725475339164531892772369458670502221216379085717641457445171723684717226311118046134244675922656808685441800513296823385946257753804078381501086320917482510050267903775508329710600085991750040865835108682476378188732244010694384461440791737723848422701706256206806908440063451158308797128151535017029987561661940394217669698538843336272181021567156803830085534441641990718559270388721185095394894798338370937687515118383984047941174595061402717527162441266011036156142449716306025054641197857022856167762416052323100507989167185780228250141430992036092665415361727815302221171964470860802311385214522796140156571889340150809207391375496181921552368488876657209365831249305155458648293544030067049497389587703568198292117071060352120840834815805298526064768869962555406031856871746549262149515739030158818907321303737203157061072902714513997491673023124606722084195270178846975772723161590352341078917687343430670054606092942144955594396912938239899798646721509774131938280047683043850362417394320178306236674687976505512187468385441101561826086822165122055502535698775067735040278777744513912255977330571280835475836753755315021400361257919232685225446533511717668202649409666865823653855332955239294327651599120629228293065995561724329724018015016619992517737376931786268973428982961126905656147460021069219569657604336896082024979473740778636926118505325831507901132049786319910681642575843995614762486093870596951122702826707897665690524066643774862541883414455227468603593725976695502100505038992053956095169450803463597845324332276918522520122212187134829585719560688678397120058277435178076748082378049024597083159542913774267448484715384450501066817924057180550230519224417310352238936666151349299165864622312526219316480858029922701849930498681784300858468592553835453626737385659554121509674759253801459007272225546336742595450014049310702222933962205453039585247972505052228924141246969120663050126488492310487548263438270073637983308140644529234872203787149198970040313969562599848770601009090541398822156049842824834760574822090747591958665287550180559231712822663541607341991339361417955316921235800879900221497992603091010919365130204376238245360204204184162797001759198814300524837328036186693591295668774270598380447611576886210142885899631867605190993406028565269597379725427888825718533749475591375363988789069167659765862653219857846040553846887777573770672659633241167888210226930984740441152495138799750412764407659484412933017617255322003478707952325631326438375148962197053115000028528579723616299693697274351268402065802601538299416817527787288971639544200862739470732222723258296248973831463541795485680237345953633662244318150345091530576767505829404822446580298370443287562280117876132565710252854438765803239369447685483239451687076069260730102019675548179685535499201577306271122586372399594123625747916671823936253927770231741582878077994729338761851838205553897520205305551916501574327531158299821760833663145155283812307716193331933996523905625097054147353296067471396654925861427261498750888722283537997418041117446413688352025251265533259699893296121045400583865281396744629789830665021313203399146351619117868718277370061542240922239410546109161413169616742992211341433085180487483620693641308108114560154519559315383178373037623054067389076775200226670193326877793551029644676624771953039390410343788884646101180356132388395511808238450827727885026349103798256727871632327664689623656307943572840554972507531761804266800201607919253914767089976773763354538342215835037365418361707531066429854536854242889922352029115593750874852293386547146076639235289661864410914242759790470511467946374070348814525134409450403510092371013051530086332550256465414242415797659689524457256637372452039439434117391657326175809185639046219497992904301560597849325041117133118874201661266952824659252611737956848949098308477421406473460149815908404428166254381821857235497867779869667864616094681610393565430697321679038003950867871093264310244172390476825201263366083292966418234895337806830990946160774022897650685326213586383237757192668693453679196731343294718786468963882228205115656281930640813296006904662960921570940897406039171969943452759265701853822628608836612021756790061050579535687101080308751650111720651882104884715047407509811566042197706342029099945818509218565490300792907967666499604577754385036176301398684713645094940220037312957008917097377263432051507251702228409369664123227821448015405104361821783295226857773882111122657562124310890609706101966026046332830926008435666732152711641177716748080921407181582814009025802332356546327014277935185833210271825826106484414086962216979948602835951277903007571101163430847648942711238182813539221005035382759546249959892192011015451161636367899603288000327180214788104278546748583696301962701676363060397292680156394961774868791940407825812601818420439800377356574930222488604758372621755481574892484249667847969071888340918122626432657917326763919795510494924584542679411315955237679666625773518329181129224376853987045077138022701828189927069456287768119490770287389723242617288948744895152900135613545487759164260352832117572736952007048317816841749813544875196136548598050900123914638573299731316711607046565006630145139275553444799034370161667749865029269490463176457482456228162776631880026414288952837408222990685398247353072854037791459861440077886385940567800083785676310033951804656748843732918137624811093933626823769122143149045062951723964746201541026823964358431946287363389008127129137458309931613644608872675425321954925237007345087271546358681151354822135224485376689240723185641965648240216866617986461138600116443730429055798466737331343123884607971846340250611549701600522089836889559615193277022694677222408480693678124615080103771616331493379162403661448025697729757519321226366245869540391563134834811867493402496464794044899812207398554715245709830161044405134571640230330063688299855885214252276392330467961184277074480356645308430790353219580900003745530608363504241159006052706563272221670471064937873227271970258897502984767974009347076839767208350253057462666503042751280866750265806753556879029617562457011159174238074739132730936753279155427445391546657495949674848322323759513889518298452900443722105031714415156453419947486671311555905807318736456270714201811680629203319865604136376187290555722474117897322465412542000685561571502849498860925861250029571727557401230141613205786348385626834842370855021608483655104181249407102056925105987737480160423290225547568839455743826097239213619927358154183925012561830952300284002297965391633500519624428186047315907853895031691816375482994823837909382700468447585598396230246805610956339845807849048255159498073631945627093325363182889232396641729304262939997588917801978574102519986614857171189260951471784821845390338185542169764013949586075341562643107281927218110890452789238167142545776730221550138300482329640443230314326700514557767542529190005844444480246826192040456699792686383147110137289098380463858258265658237725094176202293364682668084514495665600711520447806767738441310328074527943781157272700956082798363962253583985831595733491011238010682140974539981987869242603029782970662717400468266095574936493343911680054533715718888997117790105566253054925067634307081807281375129912300485760300994539819972288117029847716134931474072969605314273879155302568254797408632281809053661783232191858995342462368996573033794377908114571562983781399489758809559945116291373688325053907991638029028357088243712898964484317435971389569889533744575049693612708406460483568413758864641970042291593119523161791690026282224397037350573201224758927445130975669339323949768356677177518147063376253725285566141711189327471249210444183385890950824661289239279648457196799538101601430001996432899584966650743537746873498496986505454541311400302950961511191398382749981088553597756501706521704281402224161171024765342612394491755579490709659025013718132804226161724940380176905693622309137380516945422459618434262713400346956447048185446581268986928277625804146966607958067459254725953187473253757393707554429143755651608448219959631024039016505289249788846078089539074801050340608829738646783301578283801927965796369091587820589166284893499394688918575433606752294036064667056016146355172135081773748788073969045833397849841840198630392088112101415579315226129531003943804685073146255634388414185280417049124061495480108945835421073831756461504274242329670667469185749489826342531858430765922836966115487849319633500138920873392060749763297972103668059523552545494526530476048345003774424293038669452901644811033015565320679600100223194570745391635842425873640467143346589162480385676825979431079459006966570536752821848368330435005872451809235779840046762807582163569327796102289607710998220396375045391867003207848069958972511897530666541999882719135443238126227358523421939519559333911810730513365764669420336861096666007058193143117739403703074113450640518975819567941374938248857442515023518247068402846573770406643882228876640701881012868433616142567058472053790968462470800461720492754857963273967438626466432971757232086605455658204224670485206906459722580734739432078155512512098757125033615853573597076471837949958196396615645318365875410341320625752638171030507172649737035026259317882859915956780009978706703360220850452592647510647569491776575698645304455746298013100085237842018578230896422842654122455937382198187076960398652302983203789329458020787030656769009128948496655694217071350019097702454024349859639679016311747137882887354810183429546809090016118218892643690526903042532003056766406920780720049137362076213659987614224572481332600859675778111883879893703691204135328063633733277620876737126797348395212019600702998358887683590827593652708231258721450659655198825652981006101549146170270065909489035068183041909882462129592126173631419117051142173713112776627462260989741700531509999514165101940826993088751803585859666919275300629153503597729548556907141516312569813214172533171202617145027724395463236964805517774265735523706851611478709771009601413923558283941207594038170997627740241200557492131897516097722805756406603168395266393942890121706914357020379547214347197217350471805232097461226964049539856605305011651318629437580544376284735105443496889183821105619207499766406474081032385189997677829134887831442011614770768505926145163171589342539969506930403481134562380248914573498591623112382154812560082688402367864515277030739118689680198269220100506521219847779830659541478588152481614210883741013489151103573309739215862977250592043733197654252051929697205952848340466080013601475418933551558342148431057753458648988909976011827486080860898176238355711664485625307334712894771229399673726000430281043538448585254237056956840387169394585235992830882402920617911065981900537813249985074328421288900765159082528497262900191930325597550224182733398238898426710274341609127064901625008963668477438373807616067849015559101322520824971393634565256171991734276827411005995557557461097591397634360026061976850807716264603602741487450657800407891630064170046094823919107650778009066577429301496686771796691137297163139568754966653682008054776023713168983026435826045921586532392111365459443493129391211573097038064339818507476849179071927163871908380867565411985755372360882853592777026056003369995075082657319485524332774405483726894204380211515580961909802718443659634929720813979092328292927126615696000627210189955199065378468837155906385456551755028824302163642161068340449125962652459176431682296144068927909530650988668721236368240963178165741543708784865628934039289721993515541415274007326066129584842448765385334110941350166728956593269148824440487726313579934602671602102411443547022937118088201397857504859229521615704064124875668383391252741083025391567959056252623340891832878926696546236660219273231247659508763236271476042021749717332083217031849333610935111066594128670538934552371574454563813096895714030909331032695532535670947075283386152826860216681272373418530531143367533233641253951237530128379165039867436549196168317384687087306306327463026600416829503020958653385785834510135362495813050063661979937544940416373823144443668907245049073856111294637083548950930585694826379692348935458366775823834901351638107631148793659163354100719829063912417357018036565044646375719229256311917770356526002073027156799291604349906289364843375297188777178851858447517182312492109677477515176993941493685317121235533568422175700634024985862238361565126883513501313019824962425466359377464446688031389274823399010364510567363827286390822774711485157669763027607406671024442774700944482195837124052841682099905717068546601933592271293376269982295067856253556293784142963061106793679585238828261545673599628206578473641598433352664869761757778377095602064495855844488020203678655574867762342789410739818417328237280111677864013220647629684957935867276451786332318317086818735049763169477763136341568831980748621174759973638904910364088282941031983935778911043913780028424055817503162786791325997795146966266161284997222793068084411599341209563546265586977657845406256026243059166620835833916337443939245174358914196870576028066985422297924838809448016112262705325254642101607974108941386269590125870947033909707743817374121699016778551266857837149429102969520059729680112622869648517763982051952402544602337310164799956232000889365689250417536766159561255526291185492565646719705926310842839018000029504124851625164472518121230109126867130565266384310103207879068532696352811953494176236441393114948726820017448646709034712693871091270851396421651254747269278410336091580897435221886007060076661537719422116698124011333717802924423838716499462259546601994619080981477085268292311503824547899799497391115833188518879530937290256458899741862411208998612313748340162443626430848869787800717974450473853950800217863992709209236490938965483648903340818052600428053007746407323928288114931042130751878845427419012657356314066438922879335366387359572177458001082857867407418027829060900758380808534118723154847404253219811737033401333891320898675377653475370708148893520286868047017214037716407906630732939699415848900974169924936792174785063550485357147806136683415011742026617049311757463409799069700220423477615480201669247489207908967030378965360661875030311775896001709895148188018356401081035505996476721877305740143300321331615415742772696305853012731393781999400274289397668794306718360262781188592281915245052006696130041216929440273781799668126822848582983777581779978742668896428256302300265319908954293354968132458331891426708584670134760279388395612941935035149486814615181356348765089990053502173162920509350070607531281355509038794870341987505526284876590219792346658857690610089702173936588737777700541155419401850649217485572127872874067266455189014617568813103386045129086778600871212200649870534373918164647069990274903512715374200873200387373182428860220015148408890296388115501982608993013640233024927172213470755286368217221909119591131258586627565848394646434093764704125802305522347209067017160663434916237166015015828856909870191980183934831573932495478419451262416932449386747133314094928820574347471959484485460617558022093624657774678961476046459046314204834621557889561067138083018864485934773022214954481612783516962734585751171895837546668627523140033525817619593723677038510741729146319225656940228472285258357842878655976679403432951582931567701696657519858463563370023368947469909848414134057315211144908564533215290139434356589306304848350966123153353942293378469079593009692700632529529510124519653874056985059571471374808080629172913984480062251365253304907932854441366254385624971962174831041425609219659665557516089241447326093769124159548942403671123006333571856364550216677892879930355920489973818332878278495779434997776597296660840018271849195830459771534288996373902863557079808525207217982327821253558341584335536539928736728555201550538319230436410525693860632675428913088058461708753316308493534066907335182176245911612240338339491699268977811165774863347568312067178074395618069026724743064003636489218698735555778615694945972028236642310370195904771740550025675046875233865860416011828049625914984528160579242485410287799795542003438110006265257324060922271620989852284443980281749268055830463428001658483669899568304557346850240514549927736067814805445538823570582592260702358684917748755609038157998408110002174371410986888890149118291281579440186556112546469881999538030787480236141873226977705154159498288175833760259628904611840525520908058540181474634723744508148681798949261732382959040961634979661421004296896431697728013581906170708800397625151042427174929663621851826045959250716033364002286114675746986430245122416648425023904634100202732439379783563337766365473666810064782487269349359579649615548119837128734925728963129092663569514506033723861428851200106395272770708848941682673820901229405972131116372362797448629298631383864263362374513724825152279854868830637836155597980191754450652493432752174236115758353090148201980308601931174389152665272137061138899862634846064149445266343916088299623579081645248640416607260508557953483713758342913987334562767350794717670066708576427750220227231245498498008319970841350243053947074179351933649919619480671617409782487367178240617462679799898523387014551485438923156935335583249186843447160224974161065418573855050058658445410690326254478647538000930347812506849283004543492044114834670552865130738648870189843101310014362557753441357607451103973002036116976263866821419092000361226160706434019315140977480482714772436940305019404032808332969176833256608336787280209836536851221866962573815387322198139862381697077241828644467780600695974677782475183757924673607330048485231335515551920664548650786657012406036088849564961167195323144351391005749571651826105473666413526602448712615168829284867142130737694548738257104454656369867500346663457200609576935750159320232304566336502115548399906741896596101692575189558064207690665627301680280936999869779749725820454372773447619029616503339199125717787518518131920715539464384166362551089014620729900281692300632491493481211399081321265630813184775215959060502281729243386960133406237570331257203104629951126616547419238292529182154252524594290858616902367235570777916561874181380941324335683859023419801260726951166140778783187569937211394123074179585778073761448930077375515757666996315077322441965514217278313603008171216860299661330089153833976287695227938320225667001134768977690482033383729925633214203970663242290195374369632912762954404959880389264753218970479283179414455184430003885278488164760570448338124137974361112919835353752392919881943496490724962042601722532908548876111731536604930694142893491597013816640107450455330743068184105046509639618085843382251740718652102078955788463989496274369912381411718895741070357307376477791546736936654048777186821875262849371219833934779600572606300813146710809998081016221798887653619393284244252147040571127657074707399826488735223378025807600169654891573851748378196919807399001325120393145496206978485793384660153121368571219765543319895078847370142410288309216996779043535694853843247954169313719722290043195756153772914087910827585229285829138622229866779719247101117853056604204280348117106156957246197815702571700829395721363721655155861448029183196912140319619046588104943945915647935642149753897411884989517236791444679212291776451301584307441905301329803158086697743027331121578099207556982786229625472569110085394407281711465281186851022662074273833550978921998908906882927241787568301721897766071107980349300683638573345082574743190904447952690296738626864639947357191885024810233118678618782053683900577434195714809158526065348953375012997948509260695823709412923855976726293296787836051236360929934747111429953248314813874279880088821978417711668021594043955857725978440336782489559769490070660566143840174415163368068129062279152109860536147584496406186580236032220667859279136752500830653663859547509193137586277373651670911375154217090021721097981274379966768200253777646629437564243228372890214245088111986836741866730469509937046319144481358759715038044209210091893514823914173136007093375527009779424675227790728052963643079595291571493971846835167372506896754150015119280333387584001659671016607645060321732148291756234373776763337261612113344990739668797260941940533832538549473437967699862500158309362107038009709078643320517423454837589794267624466212797978132084583392799231864641612771103519350157507262112417547475486922351789327461134331448060766698644852381328515048475317409136123886706057021425396936276447556956245242905242526753303214570322309706203192767236261794950275457827057291429467484299466320591909036610574259670051172548774827410537667889296858759797578487952585924729232103837693144788393398247909919242508487873393301506760095923742069427526951099447784243067333697365553567104833707364987207993698381939911889288288213130919653019706031928455354109456028505852674266229852737182490081281531988237658155947785802303747322792972926085043130344510657519474353972267025044408583367079262457864189771142375596916064770462024433210832648515139504611758965865572493190011236140877415286932361293512362506431215805055820403237853164970249292151938752101323595652898177714583547060965669834197073883832401971403024734412578593118896526738707758456914810605492255241807196912204766442209375196375712473041415424614992289336201927786731276886980074512083331761234068555482930000012183630444610688089262335378103746544331197788837587970616098608214424039723518142272490023478063658096125650766509504854602430255662878941103757654836082229395095732172864558777965263463120893758851334149086613757303885460522153299794984604003284197944075250445775166308074746274066709208411431298486529204338935462618219759987319578439499941313390274518080911181004041961469763816710959054963221571960039772755589088787694722693992481325339715945558474598691442746653278179845292510014407503056118870234780229663150832833435986951400693658688908435130712189438437359380817961044121843245181714174263659741975714016171223355672510927915489349255960953381087616116497942904836397867935624787282898088007062416793407939136703631198501342326028718191912882221317690567276164694712353232700558752862513615012123055172908442392318542053124038140819084775698626335804061381638801100195704555416056913256427016222904405296339512287908240359492620937346058255340904129248614315158875630953510922988345875003879257782455235206459799274065308119039310704967947725371617173203356487545316426123501810254776676408657421742163718572770434347979649724512192276679821615580944084245739711152581930075220197621745051621821503409718309367410696924277316555103561440065292322193969973149905210490095301556222334658914485721364017773983476505593667255130646839167658012166366714890445539818762095698113457649619558031851024780809968679600129673762002662586003626635138636240186901178389121877992314880092406622934915398044565643750747975207830312293573589023612884272246975987710821138639513996297883952396842867662531877014166904149977180634084911954962144703533096135243425512388546515091779138294406574119841175629466500338406255396684456738705386708246087752964734131581671427867024539190216044040009378579855065510446212635507043370701863771922589017694928868764034688433280803551616901890277763432732512422548573911632064903012507756342010531223705213593676411444403518718462578116184965684428451912669716780774928709249183309748337650070380252172026020840920318071400231315356608763084880647373955258801393140475334111646315442203236213790068410945350765721898788002497295896764580017487908096432351716804982025311731435363292646799355083627748858180062828151785548186125113542935810920620168627967539129421850178701086297033377111695193022753535435063130879417355637386508332523258689892384465722661415578157007388328241440154820585899240348574709630347921997848159758418051665838211597464172937590312029305868238649010802022591589618065054841086904331249788484531313878751303546605930244465243491434394207028153415306892568408015239441643503683879164067260523798875602258144223185944084599485947419774020368469939212292882137787356782792551354786703313526625343305884801833061814454574330193091342319550526017239001010632323584486506401723660300032739327416028480414574628170751713459758849047137283876298740489800760895902661759733917168457043807878150063113456776036251559256836075346358860779352893272314166595892019877787826280390853012523309443444586732998391658477994046576378509824628326816138775269100610033873715753944257355337366345056008947750668377224464676818242239810622901349458760679533254927255480528195509469578022994075270619046417130734873182358373170137289389554736140710973120894430011272052449358633811516590002934945465837758989027629219445473588305743118719556865022046533887743428219670206961463740430119326357039445953641668719432327872464947578415653587570320584864261924848411914884166214836668076220862623826508059773601111808234378285101580496432473520230894048527050415855004951005343475513353597812917045265580243548801384916915873578251205300027265996547691914381578426748784299337505123086578603829996192569323158484806055998414867720429833822844374471246973783613671411986569964599967395491563104795849426767316393268509423629482787871861700319771582663894905695273300145247714731448168540552278469595768733827107000662029903113270485480987133330872712973681107126485830009336206286194058436672652902541252805086981837263687073593922955474072692297385072984124511933204137917367118591411092140241267481627708339398078420787288312517458314382920792335460910112575386919769885919886325351350892913915073854966136406123847279355983352345959681129706201982024803736785493451077303827319271186727209603258705187965847915899106372264421908281405034085967754925251189788335320808292418151611838665954396132032462950630683891385465604723841844554658706542355546303270120755644719940989657483101302191913312478470928776551661366951835326203663075621627993289301425112542542805446364678289869916990281517991293616274974901697503649254808552089322400966702533610090750274978983214906972640645979187899797985790122496379942364487570644480470611288449163045051546269715010714759033913043842180041283285716929017427309466768308990113339822389449811133283946442191154269889508210541529282518557838675362265457366788312116366948259934587935336151392243676498189594610176455869689221497722682302998919971679095641462445928544830107725530983548817503129602079555697020102178227869225285123435633375006466208008948541607896805383635641753286436089130865833403625717233785493906004316883589667838430472158167783967623826657513352620304316991630342652713055990612030212983411880218359301409620023408715932245978054030865227389573147551330618959513415235077192943668060464235546274536005489951905430076528226489059923289087411278736528706649193498540718837215732407289526333146241213508556016657387355759262637843376825504736199990831929633858538003848314133464535224186042900778296517052226987514561799332822017638203706776320748269832617628843028492668837007984036767805080169181661883610322239201277919168559518170519407076143582970391411465163630932180060862838083537054153430558633241560222436008125709443305320716560643721433461850643434212722839914327469152467413639512682902437615775824771934508681544418381360621627305881702563220191597566253327771515773719329249122682494735398486205498609945436287991435596755917053208884275898599889257988364619808852591839138377878329246201063837161690514340538375464364115942092651685959426160517273832279180823701237917879415845459073108846769486631961129281962302912623022377222044689935665846940940037465726676411500971049728866672522236189205142733015780249465690724006629743243638234912431061650455974222802167986875338703927416508608200557469669915780953106998728108273810632581753503569890458432258944369449101903293149154493552488613887911435801061042627676584681754506726400233648507246001646644769099763344463804902900489309936716342433804755171811419821394549443249435548672413808139635429584157301682843266038975127173894947271806732255100776778132455035027537884763563481241929979114088931001960032705703996968866314870611817734118552111535366373384264565129118288329294100801938395587258039074669158041248236090464191642445954215290745127238612127277238879181041219470792304389822763343446471706370378505510038947965188738727674603573936978605003461211483573720595897180289455358757744207768647063386756577804866198039007913331438558731903107909839013945652278808283103712548002913648008427722928806324227716625516052804877452703415441948254492938549072900537781324910958526156265426279686487905294057659245415384467379036349450151378399522708475299116995234808905465632974867989888252765597407806551192487738251294943770766776537775610008785045253521509858251334052909498765502877861708338229535498047788213465247698238176384865089692966367113738581549484043251041868800859799538380349444984472848137769814369681572492002943741155818847538298056779337854409450574314317764888648921205384577514032749394821434197035287780550718599516890709216162185460020727937181935817930998811276838498324862955895849637432763609908193371319851249231095009076846459007339019830357993456750561572341366706858281580847553985899600670193304153171987760112282470627556412002578223527722449033156942259013219275060317303290800863860926593743139332037204186623937457869736581784984548416366210383532975628462609262921772716589105361170501533445173795522466907951008048776205930424944072694629531052212657435866191551127887363579278916962927237429094486242096039514693828451426415035728101726107348853585456122305441301246475752391493030917981631210220920076750310143325914300666521446859021746784655776251736660356763935345275175029460993270543473817874269826999043837113737936006852981153025116535222622331200308007013777954453702933190112514545746435722130834523487815986794944288304822043296268345763735396179465287615048838317842077920154819737222424671318047105235876823809727609685919005713733199340533159592514685691334247101614348985780163228592119474570154286536136799530474721723183324160380441934447142043778461000152085950016425282949772454412253353174628159798493983606950548564346962654370564050450115029511230742413176429882092182746065839941568923258466043288095392923376072193657851113461793668919157573916533626343132584021657160609449004815793441174690756150476784249253546479004202665694778622640166538794824499896769175248292043331648196381585331653909531257758093294801445537618217135656635740537405775227543287699450906663631730120634641116840374702174309014787407345685163336970813881894064634585154905131017139300460385959800369649435016064892228567721858106910908671517254656283696442378230469817713535896876672329039597673447237463379476380997342514284872431469412648108061295255904659345066208092640207854254013304843041581263509828701987028724264526996827848990926800708059917484705208060599537955538993083432088118501956791551873988326561274634221285160338028158555202836000800564289574178090373323380965550701974611687424842225897075270009798391180166659279162698993552546742489529090327543932736361203741975715500333996716234616238194069734360925539627253570250654085799048722669138874169913521497810823559240844566213599433457723768097478504190777181942533016951384556864217291002274028008381795860009327917759421610976651574284732110690559527982526938149217076436315144777109114918327768831731181156278826728915912272345019505589468967899165790135857631888805845089327161492459718134456943739056170948458831012504330738204880085944711454542219595153948391062276025755036207651975507321953519126476493384434346642901743686911686020465887579680865572672228323867699358683738558435231687573586581177455424990298652593777927695699129892335584377341694866095660025229409181213034043226125682765246740791367331744992587088657626557579848677231032966213215069844425373571010012763777443810925901263321372634222461068391084458256571830630453820689796318648216969338956227126524968180392852680847806488230167485380465982372493609990958102947917348522126579410638444572647363156680265264393588066359153228254357141112052652294344079955685543562901119610860201640126437494644712340167885974443477616861862658440349401072566313615902243133335516439432242051395964370215609269949071713248657639499519722571451267331280407485759380789357478965342517098593138341148081134768736780218992800708524983379236695046774356510494340011020875596373481470309434237300531257879177862849269032134912927332665388576819179112928059621397910060964578388372187209873644093537913047845429864778769983882614511272615158425542962517025613531678068191447858350916082713459747697016386220268820215213509478919672913325526100899980445280904065385359752787294581228653989669791084751934998796618008827887767817143450294808259387771057730939197421948082045943667619059544904596525430426361695059113886186491866769858681703675418264455062567878381736888157880214680192646742419128146303310251242107961274080795077149175458270185907163573446248861570228967696860291909508290825825591743948000438200445465971680790292553285216147705205672287155007491477363424657798670883564435631283190851386525939059828265646141426258184658162778784990639202029172732035015525671145576177649036649031882741639376932907497326879121270890195761732989426349864895188000235035352063037522658372120582097066341100744534366041599922163109143451231042999315575872744036305569549864756425587814444764829126343258041169712586729367921874617829041438839252520284849697156521338751564077429406201706142780388764189998315852074437634529153208925286501403557785105234971207259200107998522963810924112035006398632468786930893728421576924644443743530219165432451438895934542940841289456579590346680836436329346729590292359265581070064562589652923587610555604888320040358655254216836091604736948936906916241694220767539454748239873569268152240831189165040522388326021933078864650615303864863536371804774042555124345961905128252348489419419633800195597497819593337506178965242117937219255146674511696831942611166268349026701081206450271907961743207473650844091234490535723027017827681700044602395401164768702960798853257735815592319581255318188054348224665053351763285470378962719612966993734878433338247608584715330560293023361919165260868553890723573961299344543682225670642208309859368884812919666724898376078537499634674706459339396506004427797233996623780276215919572088799962666986139349236263762226422754627851435136887679978843786496451008290091293245832099399240381868954405282646536498754506849192201612235392459465362862505036002468238446484329833295477854597723730549432936253680651934887634129395201505571019390321037793743901339727171730335568782302163391864224644763020971646465532916369572224431453701360364326890038217291497716916377265751106189518113374098375019173890285368934824894516694485998187291372958547340373194403451156506970841335444343131559755059068774375793182519694331814033984455224574979766387681936632907257543780548686237802281750565877217791449479910737051091231576343757019556840744159389397675309945655272157743545400687852333491313682733143337902287684090172797897509461515650111059489010076997105342124639397891035274259740428931132044794611550176143177976329183737578242446334810543072680948075340296985679546194733360367454844031541984765748336282037033142674716362446342759449951601869216288111627596737858607348157614819428067916154842916084294972605802133875340789279397661125768012243050267672871196225604332198476220140786551867939623899712071854363405267598784160053446995790250518311041778657848234538413407032875635734895697005801612053779008241541352454597925274462799136552914615504507180665308690822097632041368727151302533544263690530100484147605216803808138193788363531641304710834547034960878368381370474810898999002088797612690020753853633566245836547752277032412195909944005749776791130236962219860843440973978866679649509382853811841157711334871260333654514194420575307402445663110434274435805924789652385515481493264491859360119064773976287891606582986481367801173654323272423637315890853201828477465472948764567761117163527818104710837333963910038531709212520368522877251242026359369998155948666536561681963025919658675003044449541459312077129446274221834266803665914622366054516626005178449894820499191812269380044848505412750363676190445469346016199159607774539252081224292393748915810983564873559858415262030364526900537261034778097755120239399452191622301512213591942099464536220683793557947329623983477006425184710188035275843154700327692863246461852002243593660183020517196224652899651879915085313485524649020225024666030831751432747498345402419003049168254202904431416850280464126489362829910785949823642943008779621294193488780609517861688108200277847441571465400430204925174976141668169909922977698186811574330292461919909523554720906111748003012215058472207759760355993051584859678731362952942920348760490696688447702787794758541145243805752002329015475294039912100026562625957961891634324207990907468161665438395746143949417608738223833693201580545302842774544813240541792292773631574426126062028220467389082320252168928901320435794796621597807066271267336673470575853637727081010617861007134826575780371011411759264792996778462122798208281456861277947441183951303564114020441062434244792914809365248518115470063704355895875270521132020626711831848918225997202422950277985684627377868237078190053803483074436817088410471163283787724663516861387070154627247088071883013698285372673666021896417832609063984262061068664088219000400847304844010095599140160136038714297601687944307758926251817699213988784054053467618125399350751031288136790927482860749841383405950901995827126220735419163898428121919580903684920467835257433811421069378605074444695850175724343057160342895758597198461584651435409324717474682999163263318686695127507676892576613692788530937831134379100493019007637951598275531322875894501751955057255237956091478452775210578954796573116283589869896832700690443599415586369507191982831973911382119857781696835053237228797628856479470487818166112797392536585138393941872579264796084825855274187078636981204086979340314404405660216978731010445521315402346288333841769079892976343283367388139478601828222945046679582060962320921795260829043317411588138419541504912160398755837840743937179896051805475679852068513266444332506228527393907503774201064252276041363918997632308259734583159457940622781146112920648962143448814341420384503180770236919957379676538436557584727768633862825973685234560358764501866681436932869066897404531103501327202382795773730507270653012324045651101878054150454481878207333170308614099524716727413957803490568584952880014871123578818663214692097459102255697769928670146185880464721804833377646791681111910236044227354796467423356875955162115160679543049847859833030031105869260820219816722741743655787544123570245897586630579863870101351763966680841014648524496511312750773597981787091983520005650136488608242911076692556796442473969634204727873889461048582007812981224926068757669696892330648368687679118018183116683275839513627410428959579790091023944107297850045134024829409117626299164214623786787944455992242878056876890233544791089089170786379384837707056165499628397008199392047690669951444195585100678327160497247630843462983938237807990926380364731126094760018043761540061401732923833947264918453071518167475156009351942281817855507315221221729905556718112510523472729513061614249978069700834255569122266100061847732812627024550194499502872852749150397542660311947640171313516326170871059220338795290801040926195537104077177781319393457961061470649494054982246383943768998277417584719975652551430190727182052651172416649666221258355513610278327213772803603424560024539008640662474815042279763879117388413893369666579289813380208495190007545526635673574971429560071123549723971892713216525313470526939664092350650147496206849844811467984663049819490400505572252293670549167700612005233766377140242438023894291566829697831535217155979188669975437075326050734183076110527220032749769400707566549021774254952884396575944279388665341614104906279041576950913002082922748070115677310232679571701271754000242465631716710084218006693011641394487550440334150070617776389268403316558062641105656649602693154861169669811247490309432978806157023396920265898768099514979800759663201485328434879238030160282461588616347503029367813238236662679687590342658555273405557227669822818791844425442074585337808855074809340732230119294471462954366634793676879751167492353568224597608579409736178026092947336270797441978526194308045320982972903642918564504144093592629086267284604262423480313702769109905915857172750889750879712876799360369916554284264829263896013370723746490107667873346244993076958576914596301836203809436616912763303688964936573081333180132316961871432055922038036376040181602151821506053915039870164249684575823465153034587387168040095625464205692126603430647191808833039346136756712191862994006770317187167252100268556322132987707394248064348388324999972207286173553425817749779379953391591213025832391055947561888035484563818057846593670151497132258926183815940498342428195360458251427704373066766296745071826168769257921035127519187384071530961846763531765007521092495160556497387273830855135105396089408116698287785618431518939137929885506960998711080160165455053300891999801860025009937774065740927300403459148880375725980510492633069106824124706897077058541823204741592925317221084508824793102564254076077405827171597143456985181765659732095803306114427717858242472318249490048522339832970812988996706045079624746771683185931407696966373503008312395479919485078414266241686006772021957789152152703207571660000707490810845382315740579539301226883101221108506252039518732662268749682550349817425674099965696823806175827545769199790309324027406016679484037114308553156463734389195386123288020299144976986635042648392694211470665557135640358546667245781581079322179105588747404721082346892478859630246327109542281491808493241116221084114063222701585819093295539880710470033803014929630952736080890381228594781961940184007695473759352939914294697171103943808630402965092548501448031345404680019420721473031860073973102500338198996230754970