2.2360679774997896964091736687312762354406183596115257242708972454105209256378048994144144083787822749695081761507737835042532677244470738635863601215334527088667781731918791658112766453226398565805357613504175337850034233924140644420864325390972525926272288762995174024406816117759089094984923713907297288984820886415426898940991316935770197486788844250897541329561831769214999774248015304341150359576683325124988151781394080005624208552435422355561063063428202340933319829339597463522712013417496142026359047378855043896870611356600457571399565955669569175645782219525000605392312340050092867648755297220567662536660744858535052623306784946334222423176372770266324076801044433158257335058930981362263431986864719469899701808189524264459620345221411922329125981963258111041704958070481204034559949435068555518555725123886416550102624363125710244496187894246829034044747161154557232017376765904609185295756035779843980541553807790643936397230287560629994822138521773485924535151210463455550407072278724215347787529112121211843317893351910380080111181790045906188462496471042442483088801294068113146959532794478989989316915774607924618075006798771242048473805027736082915599139624489149435606834625290644083279446426808889897460463083535378750420613747576068834018790881925591179735744641902485378711461940901919136880351103976384360412810581103786989518520146970456420217638928908844463778263858937924400460288754053984601560617052236150903857754100421936849872542718503752155576933167230047782698666624462106784642724863852745782134100679856453052711241805959728494551954513101723097508714965294362829025400120477803241554644899887061779981900336065622438864096392877535172662959714382279563079561495230154442350165389172786409130419793971113562821393674576811749220675621088878188736716716276226233798771115395096829828906830182590814010038955097232615084528345878936073463961172366783665719826079214402891190089955842415224957129183232167411899757201394037881977280152887234186683454183828673002743153202296076286125247610286423469630201118026912202360158101276284305418617176185751406901015616290917639812672259655962823490678546241618579455844426596128589375648549748034901108135575141664746219518302355259568865694958163530361955745368322352650077224225828736687534047007422326614517397665174206726444762196180242203979835368298350246626803054676876744690018695720995858919831644025162091964618510574424827408722982041094371099223617528531530221210917629512088635695971690794625726032508975222970404341288082233215339011955156651407902217564616542129578780422313820785536769077266664313165931954620687206464509148727440824881281776534751686790735918624644268746419914997789399131294720145919996782576206394852625035942828640246225591037895563453828317823559839129625116003691013126590571971820018172436059551275785199832998928563860445871046933495186539033084280421827260363894454157802441745747234146972999963125109456227469597433139054978016288768106549675627564933834888459269829416314014705091414179545350938687645239093723066241906715847602921854702042023838043672135019461791505791549362845908678877098631067926076145833835169220292199011012960735860829447314407972014710152180463462500322640968716729635409696362198320488504654334438037866919275721757505740347871860602671802247420478342531809405269880566153375348727730265421256064634813863466896468712906370116270621709946670151993355742489811672735082657817248126491279071442504852234055605731208646988567460345114881167455653599206347872802657525540248735966228928738953410625449848209433400276495662573130129868683607800820356106790117544917331151045878316479416835459667456462305138521859918844800011212533573487158479449081696353039468725305378897771054405495574946719670734555228151834241026538689675059832999618720492356885351455535800383838140761044092246496478265220865438336902461204725578709086492353995150737808352730050957027649262931667276675204715579853459772643237167918072799636769165528982491961874086111119227594686522696609898993736217907139269656356257725072921684067893076388838914285333647436789836647418171497005331360797948813242107206128005216342253319908398737463218914457762184155764554407273368963065123456823538195853333104476937662274370598384326381040313726244564143119975293684710411857074351561531210073546261950382447947774449365161143194891480968597561470443196853353251561541240388608010851003166250060350681882343820385978076894500665976049002873593688338959190906091820627623243740913599573273234921191400068919402270503626920131310704069577623482998825496528304271135527880781420774176364676136067000760936003496164411821936884052892804375410680200636057633288306182787896312806385645570964829021006377650379940149724575884311791485640433314124376181156176100649353982594574420774147394812871334917840517313147957121719133068214071995664089267269297097899532777070209105459648458139969770739365609291949152530286871810187664248748666774103331429801181421134049775971608743630252200880762976081450488123285804495645430544822417013157767742498727021361273033348644465553551159479854075246382940946479102412141100798417688520741758168666852367682719415632965910742864392237900759542926001511195075914071045428986382643451128802566183610090017984374102423721386714630779187015806014734540466283306408468031074828853743081102329592228664604970880818813822912279746052079036563360689650508653477151801120864049074543858249729162666883397059878271495739791597287899604609423393431472456782403625462583317990551983844063674471365455877127466253095997182492655006012118513490995887017623859011370986518710637458283602272824374941505256213739660271521049438891186439107192209056606297678235386023931716686288497897971311685016682188590055439516670448858251472987615083422747848752028701365975698654259950245737639209967155031754356082139426393350695438958452730380326795425694781586722223828179966112067221219743435661108708071217905858163692828742785887562712096407789582514901541511502060048414532580036180845868498851812133228266457445396138029198902399095603279830282522505145656132866252331493877639021288433477436000220084369660516183308676749847282367777129370286300127463808590296293884862921790509414407481113382613844198160963890595022130092856210835510518190374263776718295319920826359204188306171710664775450760465455265954744286255936433432468842366403605762825494886337694436918785562870948199998144466406118525953222476655966633976507862524013007405768956573338808946158942095225117316750597247250199964646719431014467676664881630515563867285252608660531791634160090255774623187117549443451298940010327334515430784196819006549022430737460182439925904553182632741879372145426853852463095066087598663316221473928628434395886811278310242162162725253777139496136120233837883500544597483173983582906998924888388024395717202747321657381444730295427825374841933027575124118370865777668348584180312626656638715124417942753126195700312630996491289173084958587144565750121696290670270436345917586598234200649524441043892902107249010259768617426888790144885347029257235983664672919673927526544515138319447908766104173294948476302215854698967390479295853798739664983599900557900012091932262692672604989990296161065803580595036503175009801487037596702367206544554520343480907114331771115659458212391638703421109651586141820115271739803859443599033746235112628897129620044002850908110858546917674232041989589144164756087374378896112737836516048899926375668405498203067158214546725065781386694824760444402325255423861708970059083826400801999731133303551328190731239579563676090206071302026317891780574372217381178789427360296914003673299129440658866874859789285482510287181168696818390974030472280634782780723288039691010209824233958400240399921013989932806070172738580788201403890106403246974552646546489887926096178110850275944662950370414182050127371963359060963620147884906340047760951966864690082851686281272254421920456484675645618055953192155421698783034977463375542704478018234234701837201309240198049951705558508556331940766990116021252310667382187569319542105950044634614824355668837882369193172205960375574854891277339322554490076917210528302060817965155550894823066415281517633550299510760942325933554201175329231909935538541099247879714185101405481399562816862499307261437330674361211748448519633061410514766908315410858432599622983501722262353154634419123131295739094897854264121612709155892482906213396748422759633792764706660895576633867945745783620732816653971397650887703335172457986139286936979502968175807929520840722041204343478894052697526730878639045815476723347796235624849673115621006833890312725208600733148621695330975556025715584729083704489447234274845851168318627122573274334065614434310678529265146134612782170821773617148567717656120460668281710078194707745226902392585283199042557862270886292030546180510765420865193245348780749112722457227815663886714118007629740179732263079639171488466088394171339344458628546148276976557795117772159947740894040633366971388398193096059649863963531585365971125944602136555447032548156761486375565463642383939056010321758314425765267593646254512574000300036585951545998715818983928152688572315142708885579676608090940542038916008516404240468916126069006731629443709840735997994587070783936242663903307594907982229884889036606771768258080363563764275201331856988273550863490321081877422073743042328081164386894240896555192108338972907975665253909602783003807799186261340637323341327439280513857342777429326237838537136538399055291599543655751892192323443773621890930315773824482121962839453723851095757985263071894584565016108503381362802156359204377066152461112763263280384490900651531347851995303506160285432142861743772571967207493011426840934016686550846055409558662236733380646577061374775981427180148060981491977902729537521735688647649643786123514063912760646163943872713454839287745251741230866145927407625503034081201011518976544771269031278105315420852918952081113901919681777807524159913277603572371183188822345018462655954227606588753095018033033899301983214766787543166646049140389669480014087523734399696680326365201692523931256929823645137771504269275098050836166764276704449051745357875901075183120715890939701820451245091000603514209893966696709064767052157418443860916356461202474150656135673708261316927357773286697249873602039756559926134051908653027561201477278581712966174831523748379469169690028377953058682202744431728711983105422724664400705335571831978046289232664205303933181526412304876749523809906316593767253008418968021130917826125965543449961928391894468093022083964269537870803607651390991257207848852831973497196456012070772567833240250565321498661239316993039995883878645203447142146728507416606602286724997150727194084889295199799990171008270995511717186915318185306661450555083351686293387353561234070024007689749767646752068815503189556244376614180017477325472418332159810045397854064379952075901978118217182078593469122922140060916384254778519853922124233528728487670028204081726429983563059593630447596644854750731401710693995931082771810065367232044557695109412539687821770420604153720941360911369312098337299772123244590464781419618525860467591296435996326529165577775534904169274394212695784621335093871009523039556339805176368081585502180364896557410501195396750702861244890180440476487964625101168324641437663860138721292936419319001309858021943237305273443221483427236755334665595125370960249131536558063520789311078904628677513546069958315717718202332749691135169590542783721756508020846665971488549423793922097025280395008719818415324311799732147367524637671769016258590022933070965634289692811373049308181563094323925156893915052513891033120303832805843597709781874656062930384449518006193143098101072208755373754523831905689840929573794694741719682769026324238594402526848154738909196373005931846706902513690994908225963947175334145720323211240846127213226056299354689159547550111512933095051264529635423399571417424566308620913824652500699536230490434899479227349764409296103937750868393902386624090043210285876968950904764254028766191571162723935660462137016169175390411810658936676980942419832511273006800687934165786739673484600315023477030253824613234455282884321502583468374942863018648384982832193999734563164771851471964778969854983929230454454667749262427687252423275893412406526045011097916114616750092259846227259834613897881468517663896799854832790196887926811527056943512552438557304507921744026216097281306879233775090506852619793903523803954192638451741868433191194894350031507675348304456114130056136628671304983439946671680612830710151823194852873296569325627360434901181941178920548858526444443091890151609314241213727980861647387938641647498153512238034312261084962662343048513695692672754003040883583300233646515047232099149941278164488688902070243809763966055200353361970193049087801439819606998605372135104775937058438946478670474017330044281492910807444468696335149874628928185675801307839354802071172387236313367323372978479110992290565294578998832123160609173578292394345631090220011332108499938394820559748118655286990742905033538924139719576189390034946045682855143774388184241827598811886074100872967720086929045598660584780373184537974998422651312111568028467085211790211240738144057878631840880953671855272959920119280972152397831859638990175757205532691981080852754009180160655886944125965089051271295908598497639729227234262897154693990695115431098276847857880350806827994769233896258695848446921948603925504602765721444899276190767680305313563952901517709571031098469046956329206612587768401990160652028183660514877154134205045448733381197781709003114150846063333184944705784940517724958977509250553145457030222575654134690862048903046691308456862207935905659250038739787996694792352797619147083052029074592936294764368720104219894423883318298943341040758451041926729169693608289556060432945724799852809672701754749564900327640179048064506875985158025853128031107550818350340883925457007825339191332975448593532073460690733746809815828377389042943165581631446793824807997173878171034615960391109225702681782412216802442723414114086012113849371183293766954664171378282535885689608276936562651385829632021957254539373373474783423786292453826978916085557979921628941904952581003852062329841373548663732309393379320364532715757750121771248712535786559470926780836421754927607843248954405134539919278364937557691099435807703167840949663980625524487413247018503755086828021422467173181549624412752691803976845094545531058100879900504888078227316534162660116117641892062041652268273825514587398578605992346178568734063047717950797477787361488305274758848101289752834353722710468653973145794092613836034855594434777971888656970411451517667512764030109344130334850536378970334665609261529562658626520578645873209042042637962597532305248897497338778081235693983333083497016919594029235643169002983914421965017846903494902450865477363945172988917616754279737013196817091546330833834813410422389833257267546452750695133274004424065504877999547201214808540594440726955609659766971037905015894921103988068022154233945128852201018411968672507169413919437152523355326042349575668395128900367608205840648081765323468867818052704470101365716570886567923696185075226164023125373981599823416951117396430062014712648084397713916840136487985390756880640444474925629531846121109495387366115309935538094231925100494901561924967489981605122750183124471816202106898788354858855418289033333740083045708927615323070228311297570987202277494620765754662677678341929234965812631357613036552353159707004333199721492802534976824226019709987667421206392501340559504862023875467109707402338934971777672616066657547914331255068073454436141124512465274829766699857994051795459844807388350148685462838831486493358915717207978815019471272737763134431935270876133118787786876415196812243212863532884380535554759829115989006293741743253245304826718113985698801274548981764327048589604513266091710727267450352409814924812587792478124406084974537686475526346714841150799514874701681931558436176017884118132514556461538557731289112751602533456190505475965606015327395385632968930255494764479412347713501429338549644074976224512798815045525292998931692734803911994740567678623976964467107992995666633001693498250904591302481878192756819083380246935075056027816166172604530670477413854614396930929890995820226857430927339108687492430878377305217073394873306117712432882329613782567471558868306121895691454197407595384269241193907768765352165531836354725533983745560750843990834485667158212904122747376941709033164438631729075403662680363765450219984583522942372105835310284576224713243448338536124129769063523032854590717159675082475175220083095161119146024491855342379055466764671208674840264278560863410675892729285670398602915341298369541553791977084329594674353925188787729614978726640219778728705664898826513863487664701851657284255241894686575996877439658325007177273771488179218323953510604727229568037254365541778272079786615458612059343552051683606026695094881218643644532415411968495216527588277719720387041791964388377144764742854386069870903648022534209214619482536255814545287737136308945828965352277989018412819758529538514939762466928599053461647481144081228749740173409722519918035684995369168947364965589564950635267634962959914206240679269045348683024744464490925309265670712849325557292167974435825568617928327284447430564439972170120031649033895663785212033165498228554986700573100745538213621511565292668079843844520441718193568372002771930775453165248931519538813848108360888947694321580289948603611177867524752259383645846953690751911293684224539746327501249994236458297137920894505552018786868711667839033026597124729178629820372169936696067618186547252212410959194084259733976714712080869425679960249960441893370218698081575690020423536855269015827537521949380133151936608703853335312792184529769134042570148964236967220581537839298680460128350634696782951783334404613849069421525543958504999465715378077736028356062759896730217905444189318260901331331651707834938097374529980509353193319832909473026851951115479469701305687995476898102781165886026001673392291133949707558681576255443158297442143851773817855575746596596442914846654653197596551390179769061248044607297269544593411304825407177566056388014996115087803257157349106265439530521421528630622478305215443872428869219217951745386844734866322743714915521623550303613932420959117028026013940369001405258095898514167424035055875710991525478249117429666402034072368104327363603468285017961232126935266170100836917163325866818695839820737182610757896431730340236242022666001339155046557337103615651350567229898984149167467369162738281595519185053454793284695749322879963929616207341013201047653833011028926942223373485635463900512128590327591931895128997578292289385187325861872960963234811961642850868105042274266481622782715994324571620283820682092113858156499791242912008209138444283366178647332503523739254343890770999710296855034673848240536031985616640291660150896948466252877561695617011220860981999872869181039037498968739354551494671934176669921831489487150079720403279533222855307390534088231040038782968586920203025906234891775296614074335479230853118279816607515532604261981742543977413806586094024821172301279970599628351560860696160717640640402209521400951142033884682406821783128789565060632918746087511638937350506990646026055356470712023328262235599219958732408689913936709586150862265511728637946303034212886437849958655560252992952895093415633161481226251875054369481763223095963661563350209561858282790912926232116253810350790711383155116082134396246327681055511210454444752942376646644619917013794203743500956381306698971684651952451315168379705828943566703464520597157258588693011273386432525534763249191483586539778465444133327216398498197766293705988198277346889209934168488595648726046587782071193120347988440397738051449094280326601922429237441673021737637066812124403419903165414088467408436035339269826739199212864401065774698978627193206084876160913188948667135663345407459272735188433998759043341913847921153692824869508577243249029831558608095350669610606630661504308305277142105084418187545746433984398751015617745882205195207874415898926154763264325535551646309102342426721299288626899722602939663737222385973799315500756903890370944832441395226177261400142089927779771668206711100571916044022731708541111553112533786256952429907257661518583301413547013385070528939067211260220137717121861106628461292982315486240683653281756929797966687290713882890271913059989270638974647166730829982418372068139931573027874428125567277016955177439870011495819515115164235081070287104773327866323704741040993598250236535236016143529911132377288008633037180392313471054121370287288438427463220040997077662396372993863038098743843254620559766267551853755200535198604488811072628403832855482380274035083034080490598875903058472433339123846276587399847403879706345397874771982844258077969722169853494276518421360530110135372555624669146791997968938163671016019579767610061514532581735005661851517229127756731258996210714718583499292324627541560599309700510052862195586947467504875896650539930243700199411106171680061972249346086585953521639470698427379001699057329328167745657203341736709953024604233861611287374477282328729089791032037942196904498375675978193314039015668871810382455742551151546682830393147979966850197078989997628248773566892974765475234108461254095309463652926218458278671923738235954566358373557853285610899618388118712599682967133168977348336359467632853148021788171898260014404317743615650450913279724362796098061043283252948116667075008001480388964508559987421296983108103561196135522430954839955972743191040565500883251904274046399283118081684589074169010636467813914845636053484186918588634435332941105613510830538587035545025274799442089291041168315150092969890765470152980247673649008448125538458691988823499378695106526564685402993643396130910634510479600354410861425403719136873913979364321854876295504972253614365260661744090771731117537962244435090726008097949753799991661145296685518027771695300796386116005957980882864147595536831606391854175797240737370113485650618523227981036291817991277262275115943014523058826063489098480429592949201393406255728603803764065343259642422850473464180611152073902786954984544392505504838195853087165411723828765247233919310914124087242907382964518621134273752422404083643993400917261097294287063975306039266155538057135908648406349739084795779420493372651747020352096371785194773288362912465559891460190873482768263495361106887598027291065371649534986144440580035248409145798126657707981570219872619670755538736539824941056024755646482288539318278603278311159705341178825585259899887292738894024990447004349366435177695151069749262637032846359825420134227398028844084812814052674933212615819244897820025904590720807337257910893270847510968365704935122064941362496604985745050772489159715943918682108121741125741208859858386674996860585953513773722554994809089193352981537846773238035064663494099968316795511191090293302294501758400175320070976040070868322004061036707211005747630084604977644840389457868143417161113379588639114315146174223950274927914217242242974814455155206527296533019738414966455618707427032804178139735244281294027364796509021615063542372645736545526756705642434831040886680487140164128310874343269929128639040178529195205682861039659397647139023924209631132459459117884262508703042673177306584444858091241770148322155390552923771457325993478248205584069349180882310048544456310179569785161744624614971268256325131944603155711196005622736213271378547941936442338215031983926877465726525840301743426688133758781594829492861595866616174607139743863579876251577166123152396795128348725129524352661974834117611999930560293834457474303618823576041227654993088579318520999294364391659242934242416187928869600814089424832497753564631640021175713006475619858083510743611497828060048576878354069209797965894216554115578563494024249035250638183681861432592924562447360594664733224887173866235033933269536058925841704406912699358577934087861561358307569750170013217994810657568084417722186708796266425162464616722248881642302563302546499835061281591795774403783444146935879006593826253764838843160492113848574035643697937807618819492320650196995912202134766619816006206122124654656143820786771579760730645266257717517698671952939931180957069183595303816027945309162496190100574855924252857841219343185785719332550382369103274252396103385566128950700073478179627742392542301488527136524486860219926461637042256418972108106541388662731005756465002485339218381982665398874741468264215500410289252940476281244602517099042859860953695004517685818893048494241203454554586501176688730220905947694787188414525370477586217365806161931119118026912479108478570475862376805187001050696306844590669560710911955722017397063626612514782072784707478085671317226270256776904546734996839364510048737022987571054490435531191375524819810605251226881620736739087136170479104610525763019010501434354683110062775527823863344132380599848887026352283202968634525688567547663889379972612349966856480432386054285154115353708247431743266905538690398085471338709008075050927810157495565005081657038232363921223801331958591816153221442146505917746483611407886091718581984072902838950456715548620486967415298562828543419838025618837637028915071920175749610524242457993243255545969724040343754976738209260581133482335407769936635732642307023912090687972108040586446694323940578197089203410566196495635486859279197894227742061123487047653464130024758452470758739345050487725225645371609711353809302768298404350671831230648134735936519856275263616974288095423721739563940605534381602085411606783685157430083536477629498154635057590711011647754996835808018079312497670878662103365452832054334920627888043161037209594502014846562089693026425328014829761396840071033253369386653948138440528074701366344259798872475185299931045536045877962400745146831926851270831748243995197554715950284729350331992854728725221682034371053373595603485068008282637533083256968924310066388465260425623496170566825432083512685259579237271842946574774734538840726810519346827762366540672542782602821555457403251281533878855324566142342369248596545744604294053526707778233403438621008785651662107566104990780806351748587987078812111629502202857386529100159595404617956819282912382251437613729161051231926876064975623279834856407546737695871046976341577674019626467568534677083129232890034278076867190476407905579813913231660355370638764355225926789915984606595896466615114234291546709085880963613530503244634250491487666673548977567773905153428715518211142438827233231081623004225786100030992879512991916743390608001159647185189696262678844621483528698098518087928397799467991850084810558883690627014484053229080051267358046903672377345539458105977088002461887041969055718866676554441605133045569076522839884980101499478694109813879724810661472344166496050334474001134989185172646970485726334741789931205510914088714681425257447449220313143333897325731646779351498689487811371542256512465968818625257267824512945104466724015166162915122295164789499780888920687596503749940649998416285760231475746754439665855148793560382065823295141580781838035968994592781003657235892874421845406067573121350190221357393484176392688398895529778461064873980409325750923359437874984170658431485000122568960154856317487644863480251289533612834375115703564787827710227468978393447365920854732369664204112131873106212708157291621219748679549462815041568131214864980838432607781062560335540917778598020061088496887313403941049052898904778969212320596631422943209015927409947447149767780657530199599330615838303052153220210926936419005303616836966459253305513238625705892099714474880750633491495882842491658607965001288610315154538983492636821802022192500539980732899088108508428587736111942127293517319502909029987017167634059710121313089312560386427941121513687327793562475361545183484638396294011834089858500634137871997522082994394673270545791300380497231591175487938613798128427130342470564606878662592586032361889884989289246726876152815522056049471865111125320230116698106478163891420356353206162064362216824656019603385087225824725713791507074541703009818462777210136697013637471664895894199767761579718044972080429192227367774003222775870075580565459206010929769793643763265555914213575988219950437423074967042338085402679494740587098421786854572321822254975312955726361165138918699701369360972378538286210803817148002924272526830153024526565411931247002668643491459152650205919893211747723827872984165816504267663982526148927056327872021482581388056446008291221541393825052504490473423760133090845359745013756002524415255232936089610515633331931656357589259817688495764649978677097965502858982083961425572732067710486304320700668656144937640843397578251989857447111429050382625782558297667475293166722246940938283894453307756645187560347178863762401864143288832193271752883827130078242006389838009460639190999401916909878685586789094425854608183979488518431786509427887881059008300779074338026139840793837283904429206315508517538086677971238368284080181967247534935887103857236011525585942688387777580657485637738340449222582419266419499568985553591958540873449469064988227726529646242759079102145185053267063862245006359700947128624647264196320568856997162053753717745156287268828164352942041732013944124827251838534815660429778131820738032672877667457123981096844741719287869268292415644547457690648365496662371954001787098914588390051507831260606005739268978834082505404939225576300241156215943761436551671485158931914856864843958073387945286924808487307262145861542976077857606980060793671775920415978233971629907150015867294025106756852559124943290637607609856551853306236104144533773033117660188587334417665102950209529593695901715576664651936293209279940487339872220122626074499593662124396034455506853497107500228194852784404122360447576718955247837666303221992137103125250122341261584427003580255789669812219366403012938403195841171708868142115545367843569093323960211732329277718893213202152813655287411101641336175265940847169883996428898685490870315884064609534011030958861331198769215035509674255452252705002705249587351349042851329143122614728235638984631984687863477782664129489166029933366844947114101329328860731365815388120520196146300629902123845881734858137251062193145426819513757276266781927189908213780643268924305906080066644098293911192277248073701142181713483918280220732888461306294742811566910747989022973485803160986512260356361594866998562295366378639743909892206821192767922118055817814035248573753356968038453810253420321426574109711871052164904316579384377247997144863448294136896111117310817510022702252920029667413806250656252556570911259756391367276929913873156985279959871590320423887136237290181436500967560984225537150347452076798397037499932397477923449330013694393831776699279897755218331315964640270656998675753238090433553363131484314098355154217572291742416034909130098373020025640528774418003178487637689405628076788041287520890058881684074940621731324539325245107963560364910851637396078279462458234746076088976362072931107374273493819514360627577888656083151433422184093542125286313621679873775393327433601916784339373017394725144570596007913090164552966594076330570219713794795218543820168965342778550847104939748504083415124427350297661030699086432838362049646084387712407401212853396826240999135431286775054863110469872931231180657486995341104789408358592297396938465045142245153279403529732407565652172729983492060035967420090833996102291430275247192047957836181409030227194727530011789397234124230577278058071708841666934435693069070425163997992529348957807158905762115859677134678315453246764987526740398108260727522980537675159446766533042713652896945034622179445323506962401787434802180864612923899732230400067170590652848454442511229108729680779915054091221869468479066656857370786712628935248868131335885996739729942311385056079139351477081257653810116237557717006800907487169601358916781610671253083409700430686597397135366864115497920673427540063547415283203819913583079470332712728862973279580335543190743427539922121691504656247445950585772723306495974518050175031765208502079644450494726003100634594951125826300405515783387844740260499980136824697826058684567656904176127651660514198659228451542938116627635977916530572126470432696815261101168762853190972270196486211474733970800084786212463287348438988338322830653102673208589936385791496665175657326018169528480922297468238308858305755036542394050144353930310545359934333240382021825258095373908019246006281048735864414754764338698263134348159594334762065335773904310518121951275717645031372627423323354219033027465197325615183832918172604504897570776338291154567498681546799666474125339604413880190591722338865034832374122034154383025587606227649744125073803460624264911441013157788532208607550580624963712245380333726487511654979483917373041616478877593376349402166366989770750228358423811843797320989098910336745749350140557357170505466983942259943763861795374167258912482559538978511289156808891847561933312643612553293692042418448619235781632704452426035130419179240986520165094662888149217836420728808971864779448069051392818807536665103755793172204842565027728009003767437821742252708116432361539181565968638833199757941543961546205025004944104952951087576084634411395889963528579456021916992097939103530077605818959649881781239872701818737400495530455147736985300509175989961413901682003786267213898242816391218370479256430507384472667348149494101818733163171840267620824394569721836308623129298199608990159160539280963174183924267470345708683892949066717723057729861813455843885848749478523930566991491198224321004765680248041607997801791643634197015338269826554492948347491116078619738388962625426633028473852017843927517441498292246695902690590865411324832949982866676766143276398265067767037719676269624763062029405125321406853822534114879882211442480747259227140339318459993868913976501937788667735779662182059744350671614183131132590792869480746814174304644315695022635775546679420013312301250529549186627227280921744665259605761088636938264889760155503151251284266194714071166123422795221571014996512135156458429226942500738010304282419893405707888913419718693251901354078782548472076550682976028274382186760000398957881378634849580093148172001496724675821123237696586253244571308059593317529608641240101492568361208327667922527477390427241177395316776798769055389478990840060769793725397403624144718459249163300300742990308873958820487454066551346793421098998222334185357277408906595378252286001756420444433026069328123533564162987046834606701127649985715769844772439541619146233668025433324535258996724559970935998824503917057978366913113799816737338579780790715191186336747730076889533267619321911614740460575909644671725289024971400444439661571944401807827358166440226114506219491987562466130046147839735512108115914989100904235271124374588191409692252546868903849797236509181793027809477557517269690045548456807293923831832390788923944132376596243134100467560745233710516814742108781163799256813337909898672443316094614336554769699251338438021155254166337267660356363828493912368590396649798295779425921029693436185965117043340615911139780522867399481390794851056291901423591868007550470885728588485809097499624376644350684643158865429425729771469918378392141973334523946216564898064536600792524434289402142075069439380626774812975381333681283705385888107894143060653573500892020975180477000954730420070090278398849246599633246356301824220304490492887275358933707038463930836467213786231272491593662974817426355661680589611750493555064959018720082615147852257138836248295765936646713924283599752916534207226245731715723093077096594370572955521427383369238182310521205319571012962779325241039401126210208577104359508959101064029640762860760909505849186934300381364204344980891397403242041996141281124591059400379878577240942157887885093829270493799784598028619672146882886479466965689356309301951106279422013543047619236973026117603191731642591581715497090472998759123384654622418128004826136913834178976590161585498699405599095803534156120120348103111745958252555094313669346261165809445621113455027169566948547227819202899680903502486403328677963665603451512325314386527940157678799935212198121960653505385760644096555016856078158290077390264371492234212335590881814206371787170353172326401865010089963047210332717438471823183505724567827865348248893791180117158457079370225472095249731301963913708710744451667319152806016517535216065538217534962499062556996229751109415609318049522034615704483378343486467606771533110520990209329733594850368797314271302951473768994897839787448231806637674023991710247388477813625839776843007406966790339314033483454188564033399632776878191046055200713640339181755279766085512026470753911840131562790934523463800606643010668136934515083386463824286159084348159409751335776975318239064215662533066163491940909274360677226332137828102245429418424609008793402353758613368238601336594157060000361055303531774935655169396822926203327911992989393164217092099968937502029171915626529944707533398342464885803229731563959870543992934833775168498051907934826227841937643193586593486570565331294358213147993371154342357980237376665903512404567146449885360731516341248245149791284884263733220769253084364005132445797181572074438114064643003779857291934424608317307296214307107800036929121681298744828307789086397261153137528674878243698180710732421172702952395011240763376287044896398024965841198994685206551676078182508079831986189486120697332809705603526960262783533709620138859552706921396173826394431582175740682208873564283904643419750261217109287497004822680198597439571579972483204841857617226682326491000891923939210474618063292002607960188093485521181667814172720466278979866993341713796109371543474489199081380490138966489772896217224756300097047867287328944727075526613596750752437581382993702675880674575368492884018171471005462273416064091908952924193329759717617713981852647813642422330539939456745169563012975964796879313815038602286794446162306093855513414020442033594267987038929131423786174840770871247565610443118992799328062904645516115637713203890004004804576715164739628716925858005050615830309915667122393855877597054509052156429797671746013440166903215562200540397971588106424520181826262465185049467332079021784479967301661896800912778507992358122603612254592503744796835665440810031760646977387175632722971911043283167109737026583445447210212629754175940282038819362210273002338219173674416693616404506376392874124815551709579951292785844460477748648005765625476715523868847035777808406877022741994277867022435476334060633730266094181232836663397964006370611454370021018120059228545881709164656394752849101007054935465481377674821662535369869282784633198842113923897002001325905939254505032289110469670098778676354863510662492387996564173904652296066775065628105284632853984832282281603241256648025769256987106852471526133352594409731752365129244477922711707899216582877835436561688649745046026047333793068775603720072030034329909323217596101631104141025923029254141232024825873683421961255682741354460397593609861360044579181467845105296333279927187528227220310365259163412917455476010764579009281523001266991586710080743710608924232391887225621452692294702167953498669658477013719961407567605061600248417336350039980115912472176001695167565845180702188520118692400565026836304878311361068635429194576650185149523035665859558682068525510065653653302608948035350886174469744573153549796139012231949349975917115163767751111686663364207912013140470407038192600532752955903554614224125439033336926375158260007836959220875282998919919442532172002563716952055741222599039923785380901356243856735454872120449942702839904293147517912340700310564419937550984219588591572190233177171829226198855458878577223742834012618783710184324133812763272674245316963859413225820382401823592765688715587532646339164708172852201362518141940465733699872721550886292286729029327840020089879744182761058456596296048658305419897069987359968937473905166518919212399979569243074011619573688836296514346637460778503656257017765989420139855516146700460030064486988538387178448336097218086156889636558884212520779612210961468827970517482012203808746379880115380864859442098718281575414387042549889315548980210526763808549688194346623268345325104986303421723896372952826308546676446004210082426922965779684280787390231076609268718327166415899472064934306374358037672236694902748090032812840607921781692148019886886261539422130029284004802012686249080841577758078338603468000593342080721781494480507683623014598862991664044712981872816894665671327024467101653660247155756011829820219032802876632433778028152792356333522878459109158937440714793793936792262053744951259035174939653215730483008974608607992323292743605881741651097289099896681129926441820634183201789502237710612647095543943871769299771088539212578701049376002635725255999010675557662260864436788763940723385892469319493044495814680317454509542577851162149659885357741386851480955717314990344494873835559524178858345048736608935320108598490999102104972918191014654048562619777834772488460271608342914233736204138601686427572824176433050171276893640567085215924475620975861232192424180109227855532568254695524626567096434436828381148969036387950210897573639796881499309783819711894393920370351644593777508326669504481675757947154609581715489491122566564320431081165480682632307540612517366999611047808210681806747762219578531698650500563280792502752145126754029213833413306558560845528081558612648822206555139274858896898137363625451497750503185901544651161045790348814496688250199424808849000594448312077989111264483397049355295870917634229274498913929008932877946321969184106441105607008541742774073170906567972001940393363015117730040602044507008072309428861442407387963567479186401118676895619951041382810534653189062092928606907823434105612400276469517027447347882270326647026727882946224344379403578871180772675649164047617039570818767482779896501394312014116373943436097775437461113016439806531598334198275198943109777449809942097618246672319363017330906608179484183794526077595844983439186222936344699539412184677981956053001998331279362718312248233526210036213341214866005243198759027227617445526038027601693499594809065361617423397889965680328310083588675761243033424449276883667854872020245247977722863126328089755713954204551162708648432579333122153307505516224505993571760967568604498344587661511864032468085793184180519500350998465201196029996663856069531195090603758459667216401543261456501055130709115752958612030543031942811666237617440741733611250258461164221834472511697724769178285313615260286990814834303418903178575100339099822368171635645927651602189197908118714018882216812767221091796896008672289412440824210733555956206374241991037568297954693806140298816556328677289597562708385723937312054756670212602299043774495479976288516139544023070072134090899417466398350255349572451502534601966842571395028892880032934143947191544756576005688675329892565561384041185743558150883528669917133624604504736704791321996484153499208645574986362173740976172533849841714784667727522914513739011677194847616587001555470039301434635724888616606875885339026305059972354246079327157278708094247909651342421212897008690152510986497787781806577144708098283351847681191545358440444485266846753511157967263299673879350867295832827497996505745917239071880457853368514855112659945751277941443761355543711991881421805666319475790401757560800731218177973471560572251027207218662084919100828942754692999773708861354852509482798115280836851346147060541159056149971120271217933587485118765547354034176714447801729994608357932523271566445042115651529854747802797002612293633769867862539502820138052406749963573429211719635509485653993661828480791746250033666372592357944764403911100733826534315280985626502056628531916776916341293274168766758056866395437143306298009211294154552997317711311153657304580125877246624049408965995319056380026820643966116999977910372204860952371965795942904664428084859934109880764863041132555974817528831275797164582567455617961786846228395298378920651342182962160445224095131566855607400174628628392697334290544505407953841052454840685316208776899082900326783209184165621502449354694684386397927667282674678075505462999895940424497127170991784058806838835672797213719982542965419943812122950241265905211316861597503971721452179973659521747791201544387776801411555040281588679088020026607805520541383203648085106948773084471769871078376298558453327068910807477641014062239964042556579390192864923549007860276935916475833355332000542375345162397922059577394771409484593619729001808701367176704025807648309748561265407439062046263390287406366041594730642454026412459226066591232989240855072017228606991348686010984564513053681465327377740540669555435988806665715250956994355670795853474228999632667945234802944635665020177986400137430152171551507313131225677528403304982687070805638560502825538600674971635753187560321968732565571000587034080319208113516210060916783954722302786194574794040255304950290030206391063481888923814538526652327333014999208035675087738304994629515236725367816675010220300692468965613639678055488277832060896091603564236755787864184520654270381782385648922674819572428570642320011117668395177777806249763813581941866561983079792145623054059150707251962001065118255276561114613108693489313336712954943894456632463581334547236798644620415306754837543074529403971521541088259883807877085536626826497599363073409655063739257522919168449124087178540562508142716673106171879420540804572294761175064198140303350972074500564540593675909686063005794082920711869651625718810113641660278594864321497693503137201791077188039331841040557148974545917959150517418611187196632109942438833338583132021826445229257672887680490780120756051095559745809632455128603359569374068030535269505009090779314057169854038176340580378783383766559256930379298868128317125631337364671962104077041911723134127201066368451230372759630607512725116057763272885414482539069748166323688700888850177706603618512892321999218222790362886053697817931782817685513911155351963239126194669247460150209116401488656309375171774087567386833335542738532677303791418954622541875342773643624981099275023440176344133935160169950782503533168071149511960280202530616229744921431428270412425215295563246115733193581857594623675076743129846744626723010459713805774722321829658230304460824356832150201899353826679765406852383440808541631101310020102245095239839019278737153147489963450615899139646642587307766730750090661394848999997034177363803660828254528886392372104236116055985281844691901655600027249697296656576388256008431236019951591197370762889395332393012483638117970311978163822683207105350011816028129868893257420888356303188530349837244853532582771362154697136019663273786787953271107050132544749893116062867572196162494600569727128488687722410991661726151416012056508694118707734151670413781198938297900963861945813493808024721425638024344210238485185108850268732858947727195438853005825428379693037446768243879629242617085291983316682979369912072115520894469276462187429986204423695134694048850514133951511826889414601623360985777720269143111868847280508881959534926981522336812221304704666576972728794094826476977308316300394008374278314132935671398936277069834513697178824680615992939233013397563802699002135041685168836109685785273638295564756359355304551835055392491021526020935149710850102038773077998967699648422807662409559623060426942776745157221520285535234001410797009221673948123475332628506211649287105102997856106310854690036012826355114038402108205116941920117208035223900585074861591288532317023301394617782893146885018506257573036219185786540730178129824748123512382080117179504824681739559357452535720088025960438090095324980729790443702548781495141163051661941917396696430545760854335462775631610482827879245924921930456259591303781241968951034346628241542086640472033457815153364867438163168552284966698402881918978682748640080046305429368316142761275547297931751350182596708079991315085936739598269011134180337599990419401506087840450670637851785173775744711973984394340311999735581563454766663753905462144273672207551041768334280356481082365142184275642877002918874343903503097155404543429865245096576929033471003102329429697094605877582696086956781823280079670880980822644137210842134365067973211898771161136399499772316373369088893611226276422604367578833959478015021513749927972776513053001472339002405673171895873051706783121333099317530616389814276884079871173737745378352242723952218418781990073083223045077521683326489095464665890767248007435311288686278004310064748585795195804589948204016582163373571338894425793292114536997753506452930208631407133454856585609157409145041144965323498284492123942502899075258927726184827277559155795442707738010668625295030174837276756856502958145800352129293680229510661529084724693550257089787766670650473291046616355079178204274799721665869162137183040548915104497899471987160983817663985239353548208930164791638299004790383434007132821589763666201752416181713373147590147598234869145664609842219265609147820987206454299901571613225780557422299551075000422077181526450025264591365300029660139872956446551387104672747305173608685120502188447932547641542190372768030452273707944291968847894539870209727303663135831928000953592579968120559560753929313039102126582564969227711708289898340175635334867377844289663170742707623440485926023165495708331577438664276533019796519036575286383112229467779134420280744231642218264960936540477513374686677801565205986336107221131947735120654302550848902326198683770559007007384404739341145178794816129663518707157207666442168040297909328840792458228656518144658398712757065855823088008722684032114828420206764851554712051987416750912022728826487700751555107797351142597058759034271782617203271162321874522184996235703430551226303215197220855993617806799034244840735187722497240460190822669312721638772861947433822273958993887926691194525520108747707112573731434716919270247548492341031307132364377244495300682661436518766696147699703678853448614752188842627895323629467854547613938712285608453987471497219949605976440621752188481780250831609438339598166525067334562801312902759070342983876326712309107815691295406556152490074278267030628830938375644877245204248068322039854153335132166320558782653610507954635361371038032451813106229591901540155120289567655598669658306256228247772851188380196549405011632662666444218737972386995411753143153241852925981347720617111499385444754879968527348091562228128331271876309946671114503971764095762309069274035427802317236814281397748755850300250046713738936413158322179168244380371709905155199398168709513187421330820351157541082015381722434344746887458183783430719832063635187661448781735325973239864086581314025524332492425346476886347031185303050147510259478296168013390649557453165176564896684202024584026770651203575741808655632208437730535239516337257349797939282918121534647513675903887537266923976985684697532756633483134696403297365960684750573862170353792421086644666813749923498520974272260490550940742637268818631044014165478114034953686983838065912296390376559145569845115893484153015821793746673835655009225922657181674541815377264407662156729504664819297667640271674167935554088156589955337110994692164402014622515452336450929871163619240723188740286764836646298647798974318774810142410687681513817521754804515789563913220025538102314884970814924717468496630601940649426186173752955998088808779674449860109334756860812749277069604164060398585841193618358697876382561602502419870255316881891043095081091699159099561481116685032541977350429228755739181690208840787545681671846524694631380566989187644141834909530759505912490602514540084588127540899825977754125557207994196839207828735991492133493784519054373417784994767220562157637550881342011878814493882201983441776539764621265374326919245734112185538722731951754226237716361091116888165376412200195740611487972653071540761756369104683933171959917596006516442152743200086483969618280224268739318055500785176428303474960638567748980431103644989534940673949076000254136480481018869528814559594925007260607362543729311254036587298550229315847991504703187909762690069107201589751191941289142709071730036012086851865573958418314475442406989254549888497065765359621421663799399928418887332006151696096357995341753443562303679258082781678983664466795698375810047660158621926880647626962276599997862738769326230622813721269722878992293304944749432498357345658572948405478221208291412074425169214960157848268626721190453296289427177048394068948410557789789393327022647591957009006476809023880449896301823046786712548959047239841899961529541984216481797550579588590050714690223193425806874432348592023312116234791982903682729331092650206401606965888099125250276293041155287880773254653934778808196439300579896004250274785955453113210596402301280420067499282641866482616079874749089300068767222488949855349372436865657002300409533532801213523745515224523991952063623048692475461981628062968573488261442558145843032948017761152715143342533430748980556490493999295506840625770345302954428131098992280985150737589115718945703921870559235290130448861922938104859760573894714313791682316576331264752902248361559644865262257431161455912408998042081962115497108964495142863173793060753065774655594189393972928536732541331080755658223603272127181502102214214086955955652935451458197015911374629957425361106234332324945608050711319604034173261473783656189200854464453637010144996119932013659370733088558992813931903965752733030616183377433193537896252025354397092237478539498750483021351965698132175975712066262530596052103727382567905030331653042422515081418746799329827083097541943261041846873350482532784195417881937070194814955439699867168105737936550435539020552094940026783508660183989195859285367951296842304246440768254498702771733666305414393269068017030792456330846103196938804407754353750271023186848759025293795975418129391337335205078107815182795707203921161846756495570593266471709660757735274856794495903777265108084971105354658122356351900413421805463527968284857671677865302045674303410841162621228148815632423513441493388980588101492037929247660826661986486162700801520852289915041433505537460441733425126812497334123411800983073663778312326538835231752331445449005381912088442058586529410830815961970774592432356310927699701773125003428996551032644272664660100213616913963880080165937613103163631783550118892705391970358222901686543294263814716367570046600634361559121459717854770417991775015502418549473263573734123790356394247345898191731785309428890865712389170438197976499234192186926800722412719465466850219567351832347069911682896511416970926604960972687293699813879672673529136315863491125147804560961831604545211227452596633670543232957911146140027604747558949828741063142216287523557103926258811834118875067526587846934371429091708758921086278851913504776342713315567690601380214189079441604516401898203514718291508341533256156199467478918835846206015449386950698717213011006606633005143558651283090070048521649412114426199632520996247627891134105232350913063466624971521583264903752230554545777504160367929527222659769098653690141727373383839178037124738212197840485075813024588133471189522739341919027057935349616539522010097258779131646613867275857398022445408220070634221847973507498866429172959464079820126965139991290118359811129465674636268594271009765864359897661974407858221017113118451855086924414676751218917479886534169721976925463010259113083986689153104177205411734647243680569577177458589088956567594422073507127233355448422952377363544382148948782216270909190329791604336002528610291308521570808636517212993127664640293500338195660158989346375949158007588858395558904617966634861796082363550041084806965364207051598331062658343810881821059167875136053767743511734498837952073276716321136058729430046205498883887192023158030039930510089875300027680761114934616728349000993965410296938693048250176254792736026542483165879290685763551635966018690124495848695402573471711459174155819014745836309700923444907796682622364396118027199056297299305434277743689873879511122839418117008329342764780678835961117390583832097312860372975467128334700460241288783433092286392597407473664856609204680495587093125226746252078347546098266652427208961753076246742441464544317025776923991263229714458412623485526716030941449741378268826268663352379398509896390130395965741356040025786686535145591536087871542447216513499643550508339117356214804936324729680286640729670345338042721813561134769697321036312686003834921613630608190019328322103461822785200452907803864528557058920587609724861615445288429234936462370818849074969152712603979313533782593143055233904411514560684590535899948502459646779096067847808324444830575908284168540760107610116413144520062220906540137007732933294823244805852362723552982598403744449658801085155447930467204711641827133612422331881260230827316919576058625443288547716118505091370268213486799776289917166170435886185352550996497084898382985263166825033042077374100326830611487536533600401025316077482366468755661517222813756570850234004950245111306974463492997937480872891362002192307870556756597742997508163077481960848656570440010988855987650420590490972913745024144002322999468820270135109538601276468215505839580693271227323545960206986591191788221148124376480280044065123243954889535140799296955610813926666632223224525252501330485825973125380317035442580012640421104829256268207723772896516253116590556385213471440159145927587974409362057593398523424353755078036109722744816322831160387092265328131655423048199512644887548839498271938114771055604315011324181941963791472672817495543407878961726187569913287003558103709025886466803538634708579677159737080196454863777821104901373350346104897134394759752258651259321256026387447448621415366699117900334315714962167997848992274752307314111671861082927727694825386631749319858139458196662202618963485619535134441576277391290171958088621093294951759251444418255906384408796353963811689230126615549484607665783935003307748297409382520344955608476146567958669961672295587782954791874351760776479930293933593308192868486609591934920091763752572814082643758379418416841897064341544930877975616225326680577734451015631523488018710862764355026218043862089197894731278014617027344313539617823685450623618202440613930686620597301096855089060512444081712834715600661962254127358469916189583131257641964388602364876915738916028368682201040254828015690991908063839430079227308345374460505653093659651652481454726158220920513979457289217744810011005308895866081628895755565690761216968780420283440709217131789786011812750926716585462206851823031018219007956581061896363703724391684378940904413688080249204928270115897249830362288641206014237668789516094593206247321695209963821778159360089124567576757980994068125287187412521036479869105500116021560053100081135849542521798043490068225675060975208089802977759989709397933202927952860331482540045053119229601883566023734431890423912480549894580979199968304217452412436149218069048008221679519208636194477494398275079293502968772880158700626584255167831063379712913573556527447037303824052355210321778960723011158979106986527584112213629319240974102786192152242932330128520256189916610318075468327698216125877072376504997262089125561179549893042602772181406110833271940861369173512283508016175874775641250791206146357080966225599486197929956763533627380733981337456598189340310981417378093957014972686753504841600086272656150100187290797146372051727100801817023168450408261700625121222062526230801514242800808650408626446629257062187893780837284702855080210707867824015558154374738562353406391522096461201549633510581526995863483122833249725837660409732497420550018191722873664629935883028259410377926070143742163215238706541062637350557370576501830841420046913658643242355099987221689815135467205480045958525205472178712239912442156063775099313897619432046436647447331233336011603705963755400476715578281122480244280255763870298488469102908573761452830818738513943957868802021712832000833221879556391582814666275311194610031039125751689783584727874844969902235253690233335254536125762284105943977088343408002933651628263100974460714052089136211678650911509665721730944107900939858133416351901390397541545457402235540579336656031785192647429242159900308942301545985397380629274893818621440718112736947204864126887480984664424613714716473937746473088714891750149842715917786583582434933306372600975830640391227004085129144269688516774707482583798255030848630608885487118523158489156580271154459739445768397109393602370809629683368858167714551668367766957309725110269169693049414299248600617382663091432160371633374626767434546176783969555837409610602166963946854024485239896493176929717025131222986493653425423823059993511895139921019027034099945482137517713895595701555939821304150702295273888668120150248094270467693841018016011348409872757370027426286332860076674560694721871020959754366247844236139552884920303953740578847903756656950794076353908056874088700528868952255233846678469448692924615862257369041795289869873940268701936317139132538372989638886680987281346713535764691979623016416074826432394297948487264618374021120307166723501238496143684695196601351909464353450988786853148333860496278822442796854450057208881991554919550595730857318911082307442667226854249463100364316394908639055611097967909695639239971777598579177743395800584786403858476278008201238158757791805364270726870495021646450740604538096486266133638186794770494554538036243823127261869531992571427488364996562271571060298375072186234277117996262177389073657620463744260412461138146176228783343628355004959096396661907357014120450443897177664285104163033880887404620805362546207946337136642981463965832963124088209282567999779727870485994957856164597665277388509487313210809141532289908755914366050829485334086645968627524445871888102154504007880070644101789653090864196169158277494716927850834554862898103427095018221639939550337325815948945920273471119326384224342797377776326137881523192861517334601656110818090074707397109287909117090914800140227039174936580858838173869898950113661582345193779609861650176123303177418530871825620320006470566589667349612358739105178552176669376683239484752042750472441437920332179968398015254575993794280789730157119445238048127725368390264343794460006407686772472694970534219241616546339124581926403708444771575173583478062758864478885950231127654771225718969822273979138515595329188057335503175400433594661538139497581419260951386739136926687202245643774040154900994986747919785976505253294282450483394001479812212325264253446527212991473051521392122499430362237946190960737614163524400899997259503794260309196215206068686225569220090395506057768049533372577840503533915386124847226383578429269523293525244146653733167774616821728336051607682753626057639194290179521674066922311881105454986191613104466028398244202875286214102892876036401539881365491928790144117981294833859865639180443203834129318029788454329694807625946700549504174431758295312983145788402256611736288716473329664507971655418379563582280036332076342667422496497824749329875177842680865831769717458942045089956189006587107485064222959693888128412873881615161238512638763681758240730388503327647699694754607470443612585457217796560881539724367166366696168243138090637329579927503251210533066641957577018220907780795965023889230357783975088613705022223793598430960133454247849115746690922136709173668989044517293177599762036198153881741398184299662433207860419526539447932711101463182173733808536959855772652877675412813321849873493919100585270011430855527681452512859960013234094287117799558643218199625092208786791752749497657102989468459228421169604391441017544888017489658011755951329640540441205847308816313717823226289674341281969189437860615851749420548383353775490179906807034770224909525482325294259578385906567591833024835652011409604431331965150441365564991840830744492912990399222316220902683496073518887684285592109838900926574764961666116263486310787331562911159707208774475902450970730803419986162705474907467257066689847019812838147595676404338881966516439331139708108649462988739994987921196953073211497117002626700249576535026135813622883951754097315247414528653483161711514051775595191441352525216951664406659291161180748513478235358872091740207614434254725766222110514383289211188116659937763793816122637587729414892243120118895143516090777547497988720917308914664278065806416647950850057563503086303197103624115840980115768325467010322903029456790328206473728082432114338113656521699782127164382798251998543814955724427908993649272541759593675433547085358354078752450046723388686767250118619719439443949851501579028778031857896773404261327526967785443852244111705089574595645604636071220608870012420367594645006027603453773035778625972111924907636696491571915200532512107624558934367293369511816724318953089220305266790575196877469230449014332057971056919072609331134371665279884756893174996056968433587116224022237330292295298464124547477362791452001703480866055548188822440799300326800299070839908664613967623996644099377855462287357055809226904660503683336987360282230959673970136384737969114067862672456901459713077493559431035559755794154454952114962839564983806901371796683130805512711828038316005232371593012924991576007091287946637320342720444518027337588394293699203720269575199471339606946220596463627423530106879311077434367576796338143102679935974494511851993630983643643762501491133186676993741036403442132445403146195204995962308282695664166496044439342043874927766113372976572545739439923948407477188804858746050623483533948033492932929643226047016635372852669385685976488961052766246526345047904837827922851603383280399537725439289169785808789223493264419472219001696184199153582430515912782791032263721115545279834247784089278738278177372193272400873973722464605940106193069766190432484360737412378180795056308173403504781367043640192620874148922910969382751701911124983143004437116156650418546978885906121185086861061819878683326347970820959003148146355692537939905361759387460347464434433870160487518891677612203744846640804601255767486524718374860413754786483704874635407962308122550093099793013872133855162911175848642533219718422443149784771649741117668208609613199786995249156044301940940684681648903374704263467792725445277245199602139624420382087763393749516749508414193373356500537207808241648515832410924859381842796875557588143378926131637572048849137775218292956600243130877567765726163817906842860079406739674855007597587057313129588281158354753976520463889079498282918262530383656472633406905832044835186120800440628232680188306676119286397678759153544636230769399604934396796229697431792948951084475397649573863377100806952796231858390731189988102131806663565083054679121675004061781464432676837143985431123244576110677734787178252183112911990041387284348360235512158307223167337054963815828278090170380121837347692656184938129530943280680675744484993133933363590410308648050509318960901153470362582376245454642817383520808306397605959570266560694446983332206403483690435150648033794422249138790275183485321159736872623050920751326229668409557654222039953255011100922367185853393011718735061399768916911179560930881624438388312484031810225253409362112845449410983464847230838403522522677346779243721767942752908653180476225956423555336888905083835818788902965801613118112406394099516675976380092890195044836276622291063067227000875032028370143255878348879258425583194691314642690600873913957079527878557766624288135294673149384484050971710735923344156649430979916473802530460498620115559748077749300910783188534496597578255989300253103259949984320526630971080050786533786463474786366526894233510087987364733018972785634930040442293481360571629698391172864883840359212250263610616183254309812164858331038225589915636642056052688624114350750694893276743769016293095019154487274672608972689739605845639426271724973373968918184406422687673409313494608347257539077448370641727851226115630303713776424466607916315453177409841090123336551270005348213844911544208889060957330845217038388970906135674471695642470771104814841146295800823563474050639164216517392777957637444489717209886454665647577882269689858174069312211815651457880725512519679117148309122029834377506562716236546149701312465845643718905684592264934833162012947845652747475149921886884757577321718870462081695200732323143184484479224129413848747920678178829577857739210996655738027961556529867244990503141137973030337745166014131742675795045714602783538261158002189686516812188848242385658031843884957389219415026268404547638265537008592448154478477706491209779187965044824874421209610744768955953656953649149575596681292367044742731117045409857088806487895272809947941893232937746567752796367756184526320794708412663978257257210373128982016080966545246858857881202456012822099393823197743215110450789723147488351601193554983163549115895194284425225288024456382010909981389793999705148836133870773483404564212838575699197204693373868285547899960371553322641523716578834517510388199890154675069989985794792212062864881988202602351326598138341745325997702323392486803340127315074191367613300745338348984571456507778318788615457078303903913903981181067048068011955257787185788520530809208245253224748392275428590530091087660866056473983638236632143003250113692955241117414274315746519044777657294506536214453759446724726454410017335555460531676870242310581309634053113771420162651008743247279651194213265227975102388276864380782063583562848269325603443540735671229639369617327011680650009973621556824461946059048559993434414700407375468805658773260231391463655694707060272701406446151651926341636710867682167560942866987394294274459796492749830128706531872899911441868574819573146247236494018909668156735924252842608911746348093820073928465207787519269830835586756997831663446824821618426806710009039681255100564900191911098359995709299892261253212984454575411411630055106946091583968024142889801718267557394931778926662302994462642876160238458153159215975428245594638591919809382495556474298406329174028537776223940580194534234313742574772467284743978839814731921320457115325378877673694966635280678921504749885977716252943784347525336007979215943997062450665886587474484048220178758946210352237206562956377953991832234497840603717322036078156863185718111530298172192032040030651569222373343384503378842414208401699952890399909897306954267172181499576729985118312266660551828630602232550222510161625702100544533724730261194656317082746043639919395551196867860484467317611070026082889932831574968280987176678108208121622226527771130191516748664817250234666080493439989471184586641811729269871517457098414105840938467620601656108873435583869702684638836801335951830074035811496828095585418115796515066508019627008439457345569232951687838417065423049114787325266281318800636461148564745437144822723908685124538692573520140509399561392771247369104958398646884959339282295177897777422737859157892254317976131819537787396147792111419629074135426809709452178491066143310605490181078510098695264988155833733846652305797930350110878871140711140239541924790644693190300944883523707402217067199606076905240393489481270215979812846040709558218875744323788737009035220351039924078683105127922109597842341439572753047371357124785769190817244451777535208024709731463612010371692782322376650803020045072040742652785570715538913283610213242073748126518145565738649515447668086477221840836765556662804015741710402298507267792139868281889728863999511523842882873789016763196607700924362307733430555689980924449726834710450794546699534608777252229912636306935536603745387458909350583488784012144900301166155053794016463423570624950063723915112310583645023361820748976848585779021393494652425013261960272085881970459652868052575853563040871196338165138116473168340566793374080579602076877900919895192125822194797672473139113792139347528823529570866544500993285735081580118843725299978702704120969368882093828378395062003293842303593946754603895155393283463247977310979705922873237277265089869676601440693543536996258730133991400469950270344377927354825328641849778342600048184855256620771831545304342141140809246798907389401247443115077403057789493285517575745923871187929106605372893159032655073398793701644050409596644415338160454966144978520084768760601506229422503159578177484597130109939969137158574106841481069642720151727018936089107312749201203655936934323178028219676166456484640782744780261803743077995668029117100264620787824047573857313102787085509953857859205916599539031489113030858448426932924180900565804962040332088939595498512159703605894765834221332800768213803827853777254698877711111257046737178543126886735939127187864589805152943081801050822439304250171356649922055619365677990015925868530890365851877405330296927105286855222104134518804764293429325393702757944217639809827436583416424923597685904990709847166832931048948218028095348435294857147694065029494948705452446117192318293391935110587738798172737717646214367254454170690193491579125105782270622760744748675073912280964494134787759841914909715001163718861997088453199645283933253767101990582905814504588002828477778922304447353788876011015586754275428250500749316704520615893351110752702445048367940574881086447131342921570848846483674086271326795609730313886298518979006020958490356454859925736277259292961179087214048839893074485376013054533500742760417578603779268488168991634083880013712525260282483721026632031273961776038855077077847284140999714368769044142271267868882340667622884670152088453056997024685377448131388766357017488978438060730954331061801601381123234679532973750790622977296168986211551570184383344652390288997386651250386585861213362967604653846846757666461281176799590549526747297061151280830710088109373909354140262797272322603439551009848408746577605507954815497202366082016821638773998053324631583707364639314573445508381382567431106488575971603318407302189643770594878936238393326916921925791718893272759411255732027813934166474632397513300409021647534264241746365509455552157708837570919957061995862474964401194590558661969691643397391593144980793435574788475983752605741511325039419940531927236957697786795816286993874156225196302183956634140718374815504979352613950954991486881075339166629401327795109871992249287423246643373516146961085308406619280784540128253430890576057631671720899427541888374845485966505789083528777006528464524479722959658601775156780838550025781990488317574265390075100124504516834780639309097605320102568238641130443562903752210220003579886528743889972422163318971429336300433758824095246178468070974243670310200875139245562576390536594757272707584383879257097597083661344805377830569240700095391150275040195392469860644747138547217043469760038682301564908399585241734610567209474547809002933406235081106722804212526518493664421098374313721130447813362427830489872536325581668975675863407993613034162776948453730633580052841933179565823453651086852915163853120460351402339684040292567150880817576990984096961239885558633451229975432596289622315794917200414236309645057929272406645538140242356178705209370569721120274927950977880343593812283329045737348097276195734688654175545054249856671628591332740465578092991993744901804229691392396010461457804688916093135832193340772257602824875875403885732737800872852904049714613950001092869062140461096042099090303534134821759079428824092802902044131028494243997148119795948160557012913199629134901159929485889685955333980644197389190431722497246938541909941268612058084068829520630195634986271234975853668300963671510771865362315498496443999353074769921595329902139054885105472271221710591214726543456154500268559568827845126155661201692909961089097483730048053464724880349799273471523821987809733498524237895544522436922598905632179131445938230252878266030253505353597338827082219710869203903281317548338239334548543212294903494993167952943573858881861799143404086785249541139127775230658448060277861180540446476580789649887881170892564734207984046220689737949372307645449533814551181468395123113264861142782958404721764113610011048035473203749446890330719341366376206364547378205505766986973247574030872006651609177168643231390875526003983698372926252147775108803167070450203954044819480687976154240593085700448430452797371382668585677922195010047918444441494228346465531086140519611215885627698993271651947907542909030788206627945831890642071421784742024355080163031168196781083244607128344805009385426892360271530813167055341461516312876528218100390484161012996146587863828537228986824804892497791293086652541863319364089843233816702208947498886303951011667073535963573771146280175284955866343102877149050831738805474701259282923459134540965354811800409179224666789617144737761340907040216067681997249663351525666575511190091713496927697587713725748173386599220012657377974004235039984396029841013263073052428605801745980250744774172716756604087797845559636912762344402657682765123332877344604691260922314865531245765798603519450469115139463527488424598371871317308657334476458882443971823176422196654364995339475444357358999239364657740827401524996204173854738376673299137759100657431948206224236817470553292469459267481504217643137178271031058906745828577089560802522968185568895336343068774118323676503642622284720660659458224411863065141875205832263179459230342001017047051360073709617177619968215351307580636540475366906280905110986674538122114358822306928267834195457900338182812945446476584995891906550756018774895700964441250455955664187246876879996199664159207754540984960588799960257885333774662370690771827443587695930592686673296758999025731857359198302657528367895141098135690218853246936539236147503295156922720121104951200819213702001818471957325169577646651566645567551695239231347679579390051748073865331070576941968833268060362682233626571877271270384522289875183307511925832768097681717877984947036238421054458024508048797589102380024703179502658187515443214078173473696676790499762818983809397669291487013654503848710281246426708744857349988590625995966018603089453113776444427401437324411159164185855210772825647049155458480922237391337352389032302965304483866351138863861047048108168780296716765711519154269646679593891684070156635319921675077757417913201889118761415273600562009796570850543261242538727940938773630066477887583563367638634821951916772536330993247200760394964986403207748879959061537723698303432251882875974021086143121937602989500623486176735904481297654872897377018539513778537387952729031591115513741010335442957401801885988351464279039724020642715199111463828694166214343448931314462173526227221129712885782740730654119374370872241602660578327108130118640259838332942662051318097964764570362300439171978735634590180263014564513338601135704917948371317884489834775980562481590760851129682509454421443525532139295003185367886950452151644381015542812715673398485814604981214161566583559090049946504486739289490289070215324009080428593949064852665656386958997663763495420298854161304007238573169637983327550928760255806176652952400176820944972337920541407047764657921383404980167063088589505850128714069715683349772650402331042615988596456129933395033328272809277041061038772212789266971458286597402537144446375199926999111096354843721260050187237021781544954782754345217759371356564282110232066876256695017473064184536729072433738760297870108497468176005084212670171298162107458753044108134267435058688915060142400386422761853084179024506501528704840998180174453768914619512167548866000168932912297380451394672133660822049982455881406168699383575290822516671560054841383533291422004231228942530329416893241209151507310975726174683654848837292968573527298171796978874932365561315024141339040504866550568559687203589161030918823077369156916123398989566859080465123707335640476026242421825737274147991557125441929304889827460685547565088540151079030297703888815730360084636987387412098031798296216636091473140449345686275338942346285588684757257024028412971653682053763237950735609288297591246850555739762930044273094847806344727122229318074743613761964356129374775411429289431585031330264125016080888812283308362512344895199138916914104585061698680024588345477496637840251689095205287541544436272035880336815704825192821382708293991482268695061267102656278642213053636942774276040767096431460511849897446842255413045481138737964859156211319456323699637844454281131841940533537346565175173506787874772940343410664434598526126298037191740787622895032730809990686481107214294939205637343752676116114454110761014712037014138029488783894423266602573139022111576983163783534945992544483034419540739905984791451296216756845507077020903744320483707659013070587575699318913594175243822202619916419838598553877952230675396854689794309734541213948962119807690859803330977425726791351836108738816366024837595063379720282922410534630040197591235431166682301653511142732152745612890448550545577453783986154155232741316279779519216270985584216435662273713394285961842886480189415908959313740138899945529582653186899886847933464067880092410978967274592882672754315850318962307918969235596229205663310587906164330933017658425705095312375599809642281585558292087649173041936344737277450126596051934814067093807008158934492119510081478854076525497944826310932728821989014038729576402010451820705778817209960608151996080829055795158759954396811147627058353562741175905144919623432619975153788519051818444873532670491902767425538584340634813251253777079836257306997784629876673345639635335691617405673356902874190805408007658573601810505497090397370272426046408704550336773464317079937675731588409733041094292359266618351604269996797782163821388624302492300667655699935577698288338337219678703416464533368309356263460745233750822585721756754619996593606445351875591773842363535720436475933621467438146570353298969726327657262016478403798125563608445471515747895704659503539498268819942989023815918567941367592217059284112294675212017628631554789604531691790655622007306759059614477278989173233965320628588360105068096892632583065416484583905668456584080190635196996137635538639070905003162950125995296564546886616963878565423965285339010401305621743459154097149293405844849259075726208278947787398910059296041818368573532718837019847916050706266689689805630580371128992863936769551744674158538033374362256932759060529911144873701818217839659430872765494296091132241569334056788996637023439361587597664253947180244059924328815341664335178623792601994083046681702396128233297030664247944539371633610518112996942895663142288968618982575413492946371313701283018824719921873150575121474066540593025068874475102762675126321810722289599163045663916992253557687840748007705015519448105132538903070623234097054827831840279552935454830588118875882178331856455181389102406758531690507292415359836139372718604980470992627492714383580161898248319102040061652269724715596278867062755863211140080328297095590352554353655337396956194161683002226545560447082420285984898876001198271640342447448023582097567003949839346619589343481136024298086618785860298034579077205627023608176985499240635253161311066282590583152633774848904790038366009743720168020483151543929176469532578258289729425392526025231409521373203811082224630510954036042443890395688303655621613656427077909515394388046593235007603727606795316521402840783611783268034519813915756204695067658200991468415243654340814447188421393314384768872813766420589042594577230923738061715958799432591426968621291443419229858965627761726230773625128732961699120063543868793324932118826902102195454780893399567735859997319292790704977878533701156329695537067644834422853485758347706668684856077121975973416577070221328365623946000250189317414276082905410138182188199382984996966325219188637960419088335303286153972666538182875651263535170971601161709707307527125559652227378385868668361534364559449454416875817373332156346649811738538674110763618788433687432186047202921376028118896306161050178858523318879164345109014590732981731032507119876326370851813653789821256057130111466872070458055803508185549382717162343743536925534942294131841976022065810411963882482301962116002175931490773599749323947581692328712523528169147303309252278306346536476206854756221524872017523406330397024970122390515419718547918427295662746872206686157782161878718127610429374342787036065951133414008329861957191324230371595546220398796018712403172328728234603353131028053168987711011462330876270897947447390824563480849937732232308657179103640922541798566101820254248812653773917005862673767903755813986787527464760039234918745326178135128531277791785625295000722966351277043712751785467793210225418841053252357898353457513268647513553371882403555623482550764418439710164365295932650576452614424686788754493953863692836124162507074217775963401808653925679147429308755092542032892773604840030556825991232466680513424620544176753478499414201776681234776783577710660973278309377476273309219506343809292859684748483091289086554349791803377758774408236437165063318873307962503007367747171635041197269760032746874261309871416932168285461677610628712918596741947439839220085921218831509110681472180051319059896906627626181612354961491271689474944180717068897205092082784875934675934065174234339577525908036738246772834240907224814526756814735022759834180931344212020059934701555441569717248736442630260065596756904728455431896352350455038645050939924767491326608445729468568550782306838719695360471552835919645736265990367433304233147741499710201680454367049168871819650358246678797712763543130164530306337311724949431851678976586643391893360194499462641538062744638016066312401389882571380428584169250969403166380545970816663673895633880222184541802840032071474224738444997590618766412686517949508704285504906354821193724234846384219526640613655766506684736310672125450410434111206490365168547755184082387112331325988287314599811882800000685988148379052184848353542742302479108469587886051266180370953041882871031030190077155252509337855427509404208677642393764845957534349683506972954281842136300008880810703482935336167757293768951477670463216085758839485344740734791769344730884183082428793237567547421210282441630347277654211370303424948398917086516100058825638812626187879951271818023562105104887203353267716371386323888978387922975009499011321839081514184499076890542558997333294678752512363460513380236186879667507339123285716995941519600157890215078950748942790679259109466331195050911462434904691789916533050098939648521903208739435684051752425263935093888645364592643629616038577112574735424988697306384630458533991126164008742008298462178823225359079304601870768001241919533276789396415185805353002645022603217606469689513680250177047637212846118188698286137739140516648087159065245263452289540638714820573822967096378212178643658938568459696505669033036211078664527935417323114156810567924466199724202358004307686722823701216800138876470706583477909949431071963742267865920339178616432352723352019237864075155476690272749815890138297612781352912287881654912770752409218809662392386049716524980092367624426029849966374908603349763567500751960646758556438058754578455737416944361360635148982965214307431422626424673421216616306849524335707008609092489439429614103662751212631418696224404225014189114192699641562523059862258260875428499446603753851974402495800949128936889032897015431847501683601436204992729190693299217973901553678211017546694392914333180988926923678271512725843029463539430957427580300539511107652990608294564438159715751802534573594628047286565401817741415260238813186885624418497852173830339072064468593283562246831003617310335528261024362999991789387670528846193370006011309286212489503663046822693595431073991696811963695706780216616894818235438506088792154314776721231994043348702344662981057852959884849431048783037695471345350976656788608750094974832761179376734635403789858688914931243367829870481663120254807598628158983929742473754703834034731931621565861383292008130438227889173369815183046198358653169653708579748010538727321026494378252082301104020900745050657534355386910399388846277301309637518227755774440302453264878566418994795902340808581271004801975532753905079032967623053678901439680197861935237000187212957014953381052259137629359214772731358140980182342038214013956299971246985807397327467026807032119202106617290415744078814003509446462536631816178586038143539805967510441166055173845837079081544554731593315867457554965114013945113162676946895730345789392479153331365476449642496789926470905865385899055177844411400889117535776517523538615615895651809524555248317495228181153228044242994260224628688531488492812808567051434476973819517325536817869301783453042024276208317700252855219665711138736162504205167715803615020935583503391265764799620818755213461211358906445351576239916905229484688242838008324693195074422553808699550563160401650442092289743375551593020983889874749974779896209114174373196791262425636392091103751530042404348379075985790191444220558348152856149406144666558918091118260541037466044286162193482158843894372984982037167414874633736056989454593449138752850586598912369444634361960127681576846640539309178636943946672713079541591419689396552754440140114309143119958935186661231140487283479079599943991036754115465961424817487935203541689574712840097450062589450814024797855726258976986816543469300396243204096197840706338269773037123157849861749070464622910973691160652703681347181083087246423879836104150540489917062995281697958446621943685846082396992463400736042456792365574868038560675830104325873315829418106689896077504854696082377288513434203632716624579873337494236507095874880602757302660281421998345353713664253540467624162422092537237217019885392072747223223911605150049328252398155633950337032134910516334159604110491959001089498230634305022605108526690696671182341306527448124678273825417099517999617962615763795043881694858931435342911793389156508023166904059708460843699119473722880238383859368981034700193117100014116757585331141727217464969245027436726055566371015177240382348703378343114739644627566280235847456081457925751987184896476709933338121503351064193251662795818599246285524400527469929385825731941237269248365750619748770846816186040805057495981536881328733325767844206706427091112998079490290563775843846143218706148805783419424333046695688417357094323995446598912972771674608228459822621654855975450994636127708960034210889942559495862627007915759477956455219622962023812590956352156848264557535568653261339540789215523765453938977333247976444861740293589903386844179228730471895097030100718653146543969275285449019115241777253311118972848167187971397643135304533676165543672051705654919473746653405879636970698865829476688224730196099924599771818563304899522740271861434892962979584517164425822041746169264934370928777288269323020585568112921736302904796388267616425180781299427757421797427067361296076476454857976647118587421063831704990145029580633638265505004847006112362878321692080734728603096102427619148955831833088590005409868940398196568325960477684975929234703906585253102776318989334463226552329910823367961716642901287749072647163982375266869313104095118878573251048020107064363835471484148592673968474738328923484242961938386492660745071341932648711012261672363759229347565777037360790978516461034426351608645977569180136888681014811202003886174713368862928729147758614035600038121986317656577253962201948153201219784459861039345538648805791500090492418679136626820381893407102674177149875032275990183634977482830051304671553192571784782021814128311695630722179675944699309448863624982822392066566129665862440277821186632780719851388663028853587938454602566427971808784871824679357496836444789152583042865891467222163041755377792253511404907730106187656140145708645795965468435732427460828117974441865003906080321536565804015194877501901445287458291268894981987438073256729284871424364949164733295712439837276748224102113775211330438495316602962719446039673669911107402333740765053034789412635707741868815242463551391407315212940354305312964006214377691460713621145396597589295166060022882333914490808596316178545544644734351943465535259469145447651784650366570380675453328905467187780896036888571138200002412749552805546175088482211256546845659567938072190763871893088403133733411917362033403784617870139738700237411450462672807294234006508399629432864359084514505123851606168022211758278289241837827667854486917380736435577078736970496419254168906190771158532640190313037942757821892662596943520343591194268214810852344535634476882432815029632745162399344483869439006811338385617705363100588001797613026985170820266206603478341610151512165401350085882149474705528928592462481797243636450745286232053376251515542801441417984759669735451886949611375105757711840629082102181735590903450275493335056159507558377536870162259983370650890112065383719903602760587915488133961549607945409147507361125030042842954620735979415016488379517869297843643245138204789936850848774968768300594807964140602811668999163380832284069540526135160186421145361064539612912833320302848748168427438917641942750747832714456962912653074798251036086643981368619956123151360292727062363570745390166275527698799384226662122165994137644501885888525228073190685368654993313790656211842690899528005617420951368160110276033111637079992956478602430446436314687894235063700909632999817255461890647682993156182534287922753155897237661947362141255332340504085199207906934294441721856902575836992182485404697266667207171141977501635504568936880644027061881539751129977005416633100730637082766926674237572408537551383091597624469904964040360342440762504895995678912802573407730205383365669536359937778822264297658652832588086173406736576258459893826020985578879392592515368240365821307553738132431031071901433963254019844317891674783423108787852767133728852618129908929538519654364231381426403185555645718627662039066934317356079565645178957937595895054819711945278134652150878906810367290407392427852120037368594320577040730551804913692994271081243198509462501168540946818829110523043049116485832048039201853254501102136245432855734393030360293517208099047618088651117572766378443475868901398021368124466566251986191813389076557250242121946461692966169019657564898734985278384188301339674472588681317706087926925205749969205262498715983281339979763004611686433899031769644485105302542018789011377597662078647317948515126713220207799905477007465923933625841938879234742698347270867004732195977244674602343388080609706807592204373136878927510003678920779657500359822916359023787588067319580454394784489316600278140831966945836166399746484871634824867533601489384319987958343205857300089132394782394211497515241266430382596323608873678612043820134060213166947215024840818732690017610891121368492885607023362559339875036683244970820365729693182466148794445645080249815928350821443112732222750652704177537915512190690410933877070558447632495317133637513432767359531737779552083347191901800604746461231712953132260694621479839153836611527249566303829066400650681032494637105048854809184332135611710243814373548912593698014938926801152160459536828527109200844040457958717122782364201080904702527540316696590268712017180620810342679855018244024439907195520308374504977665958052810174398508188001764226965701527889305850807413134066528069433090322604808675375281650348498961553309425982761137182665219734414311759491492942692468065214800326493995827997888564425221477933591333994971031932042355877295046552810733033928337837845423474401028094664916687287504336700403848865725096905427539131781066007977595607879052289981703016933282474497077688583256072789072444400186816323050103092075020874959435473135834518294501908251158381379874013121106844074016473475144043349364583004358626059403499604307134278879154903075946276866254659951257126865893232695856057299576681987967751122744975036157930812037334187287264842784639119965245194136246164061684427400714896600481818869467689735729488381311026726842853460430024974943411632089586767839255749255399498767086317096268659690869412489154895342023396500754120471007215310545863372248829053706909947483711298112987860758564928910852526711917584298355698827847634813362277484529310250931370653502792235951388018719212111334360161998705129564915162536864497766594834821330565411410191881888889594181533359160842323220955496443822165614514366392039994088905084381562414051997012445764716386711540775970539394992853591786095501817994303809442090647071567930361304378494035368174917547077189229828266903258446681406128433406270152380135121401655628066349072255991360917097575618104854310859362360246519188618965716850252240057683211843815627991393282361842173712962586424124535827237816899973654691296354612783466853430006713819467939015008204922476336589326854676144843956075986896107487339574551951010508583651609194862323690703490936357082223406295745689480271894811766936479508444899172220744014160814932366943130656869959408053908997319324624957799090664300441379767175515174140889881348199380111319612189308577997178131452464660567375048519089261408070935759567290074069079709764862500227086327809463821829104831786095995114007555400662754576715864079938690767569557929097122605988155990263578704709515679986479236024737046080079975130631094327918031223587285723317437761776757242158722277322620981186469315702314835903517253880607849837182004686680058670861888263018874364600425760970099683560701214209608094689323837183839753134300411382479767757488101149502957732446942667096988363575543600089332438852813042785510507681182890638852358648303012923100270582051381105487423716362265437422250949198437485392316101660751113523231922032508666337557146783023433239929312484544938068422875061382303753035787326661417080920921113495975034332346625742645145444286942729643303480227387583005170573900011009852095974011951891747047628207639084550872273179618945323052791534118532911015820476915801529753109381910749066694595321821081009401614762567537706064595726512645417515376960521031409090418381140499297734812814380649326896724433827455452875688200671136072578789422547518702618286840156861379757913124025959194848449410658516703688213414802521002641364211530854217302731478073126503494366787582735803557156492759797223120645441442882465966486916027145067290163225233673472307556682653203652769311118366508416986822651289193802644608246652062930968030012240190848664019005676288666225391119406050931585231846289794836029920398485029256882223480931668518110934121716282231553173257858794628284886216053228472424007958541412244056677577540611332224876528680694525316912229886408522774347591976568029074456820443888547098459469118757202567161874881473362597880748626381649778690027153517747723538893753555225686305842135356840511849437333769106909466001259173468653294966130701571787685752979932513793125079398905064110894910195916397846746665923635051186476049055296930011654118394504698471145783024172977768676619969356523660476377141374892910735836208625349080018245034429455402822488441873207376835454419461056717480671792748710068918486826104190185231910151070565597984836824285353036431659053924139066413116102635813375672866098289706778774270340710605209143004669640313231243009534739428466761947557146050019805791870244753235392358069466475210091889583884986321270047795078745412365176509870328999893004543367331887389902359586916799663429987809085785780856840448599540050710060777454625559560555461539955439633164772875122448219138622465430086490439455185661001406634704086963764511349820728584564575241452525968901432510846843048475179479034508990976016337475379796696482342552431421796024649648830460425081139661274498660182952856811420691037108985124558613199888789533385733496895668420380767406892279424945454496026853831003314226347453141629504264458772793560341752613340189959959118747124113662700655283694023282820716048729624159601573209848022516425673311434906606100087180515190682429297707957367076465282392700059344768646841552860993111110099139125415268223274567732316246207227011284938538175001437828837331753346616324587404591657617616122336118368471400433443318227954408248002193023352492694054689835693545338818341649753957673479499118652213