13.89244398944980450843254704102855442931739336232773132747640831601005961853779595927141388704106283051499012555063336581453122378723830053167287269231324005587638632654671221397588937514195373713086337494566184052239770387735933064822770645844947438086150839461204235311491876613659330495730077341790099507152194666392382585391356860656072011563568326216329061255243634259964743046839483871205213716885312214952333704306655585320109560785824794907309589972965954130300621458703609397291613272479695963970356082077451907285216986780518331185320799828521456357444685716283831124828554016260769411026149492925570434122358522678733745947031068848761571295430639396278339920852672515221787582190371460165064330786358319078951952217844910257913383217539052930886988960224233703658672423817711697928823817486762978100205564113383423672235494326769025995365544674825630267872939107340135711241714390211113924092189996929290785683523362813204531457588188699855348090813832884930457432575048969927696560000588040277661118469106789196000638898666412142963196895451898406013715887429938663088828485807606245361110414335975961795040651915458346477156227559413033733769358580347727337158979515634035647397401361154936273365308839446237654066570859236250130681199093734241701805975159856646186030513597189768475555205325136513011922760095501354259676872625956175968268097135136464451364085178631196012853889543579387043498268583304220540525550631632503199430298594685629016244866095920946786052519495912426737806162511996258170242613866414185504725652315480116249484071281864105449368511923906645876979802741746704256531667503463807592313192404430872294208215200725721578640286379227743513751630227388871282690826167647672804451514077672252796376567726126871627480342477825401931128874258078354327374192422538109496731638421286855894306765958843339022246906406870820664240580885037583052470316005324722422987557906766057744619576684639909122972939298892286205029815847071277518817648590223778655534693267894177228455578151362266900828128459332734357667229255475504615478031755312286979965735881258050439386059554566962497995869878066017689103381511383737738329289207157097457667545833331683961989809285257442944550857704085836474167743097497908400611492180932426332744632736596850846684018551819174702394182061727936466328509313516564003704540010923637105411711144787611230937331931762441172724745882416833607603201907316022839806334431294303340632508410911964226607421869293366053784667856764763573585704487792813158488841877097214770877149350744928406572743060867525068641501794616380289988641723349357999155994394075136871122117715602088678281511347932858279374631412842121559507722881845334382589542141810921099772200775304751562581846994423828055683908984200809486287107693599076160015816028641284638663753543333230137532643233702661179283553470304899153261861670306343765189161554975551171672639219526503811959794151489409886862450376191275044271083529399483137433454945673829844294796512753352084794948930622210265220675155196746507431043660221506390229753033251372019325052690993310074964915424944406834388748803683785550189179235428362174456923634278122851078808856163681219765686726316044631216032054905963276895065283080890038174889851336922944188397279303842469493247056348908259697564679940188223025107248781598800073539328659185717819402406470005999128143412058785143550867943723311327312245663309426547930738884325944328697179098371369432470017774064059574099819193521867264142927974826714553442582958064423058219634427758040789602770749066016785588339164005122400601708847138270204456198445709739430337374893517209244075649543891747823183054060455563544384843114210136474002123740395154663686683252190146479048852289081305258743011694755864153591701146580743997356757837271414599487196973387428655664122715397950342016390387327833544193401492517492602039659375793745865039052979391646394714285633351437086591478159430414887486397653937541435565407926788856411299686160420222516100926954282561149350809612184196604665605996252671138406007760366154864513321818575738539678155435498218524656309745563044034830768093396220947432072875899337857035651604885662904229005991427899610437989169734453818108105722615408691655516467085416516491162249115962875698524247357890473352209595306052020671693190125194205314642000746134803773344815968782999420805657924840561051850879578410810653077433517335111381930925232984219943030903639892138340470241808778465378384128648705381069768265815235028849087177747402971171986740090795333392811316675127498377399910618697891570273818209477541901088012895380802807373018406865198573968327523432829708971106583126107682230760277217314876581206096360715299709443936616881398043352227242569541920505002929610411772376970906469868135232744976853252841570100663577741634626424353186676486062590584975767978457993859906790460544928012830271937948725912674682834835792783502317978088327121995291567099612890086833874813844242596670841883047755830854169897395084952823366169011718734033178726823667123172233614641439515309253954369409532235017039257824507875783710357551124070547086459447453473424054178882642562589479361041243602925978031069633868319809022960563598083454449636328013344018871825719408484714665488551763755920120552149718935748740268005093260324720063988800193645228733778492772225154592523754936790100185826052799337137897063184647515285582265293288058558138919211969345557636607992622225076842759851911967667616648382923980063340982260169669437743604808785917459299867860299586550688113984475965792458069045101428404548990936791286720081334598786127070270781311040994014908959910762094315681998882807120259520572114748949445228425784557384772712382152752636563444392579426829692499400618716091923253105341782369772215900535283774832066563853531603036386887979155996802682371272130260319108748395557865146584864131550283964356858225497698027466220187191418937916520998661512986127256109180923406500876229463360658667429643016869981767220683201283896803762666755013670496101183565331479882506014945144965517940995660632037018475565633351882106888230535317090459326199262897899960290255091272846698060763683844696173486235044902525511967613862837050762813585709725141712539051411803052920698429645297752179021220279178311476658324854327024971731285224108222036788372511810105786382641043796310926531288549911111879880683717003306231692329473534287504485240042642402540167174782693394184155566145888283885886134964428228347225451715926762470025061012730493394124461550050998456478843057770956753902209637613342279327078193253730411360929023217976657346471574707601402594872395953412713340073173635507165489262138909774373705889693787780879930018969567263210345080819399924737710375509003179709818982671940836485800037532013946564466705244763808495978093263629622081976666292180640352583614412498345288537998740647373305566148019506807806916834150021489266404735299954333938486305869737350219487343428608407865155585551669195113746634083896187320796759620718398323308774744208176184898104935809931076965362848217004482519686051670416860592169626461854153946312002546080936942875545561679039710097493091654271148066768339051236051954803442637525753246480097600489954658435841781993937867018652355536665704349195217255693804690120999684759159671989315972146900465176240238320913852828851116053561704287524789527589775658483136130524048296391184481871322693571254940705023879505434001384971067035671742995246382396025784755573738768338958257185234406921341493447563002584321830427811671549467349265293207467236610697976034214157503391207804973587631708943675334899580222460628114821707908368873278168168951677832113617752570029854686464897921816577264133799013324255673501361363914563864003324288202956452944157397515331370100656269940883333259265814065183903133908527247697278824981559028073074499744151609908763910288563837391767066695383739370424615530228084791447781383208196559237346250791682213210559068127327222936379993978668306682330473254855189132886572806404646714907877942874978932016988144309201994258306031286080839873763196609234483084767586134633571883526588703725796904264118385896627597727268606192568590599960028896409398770586936673812429661763261610203844277939326519951689545970461172176178663836417982767083946578909080161012198066853579024336742094302279444293343486162119943913882490366781062017407000608275721526467466531947469997081126691930941520610441189608799163671544314473471616803649585276686426182195358408488232852133078037668348545047109824766213365102204034224307287165700216965666525837419407838374585047514310893333250526472923605210926318042958167731836723001743887886163614619041936543993056702172359457413782034874546693639736651514683484560048864181906120822654442820874475352130423321502004580930448796654875291009913304475478843690087074202509092098719164998050581472321761586801433807653338970689776980040864860420437871935370720599940618210258987338660365202338778637736984969403127270557061911946465171335187581626794657160995567888805904118479988803236550784011909837736684781863930418239167316557116248907694026156088386623859263184648555864595224737950111174101516700811268207703265517521500554923026672726441547623106178144778743312215026795029380810484385109111526564006456888475990721491225295879326607232101527452987408995500061826551217175553526991845166175155369171560594604697771077881293764904144269563387344386304595422544953941049195408349088585791680488797163585776846435909787961397643837164679707591947849361762005293230242954289937579037442506113754841126645360484796732633690994281562234123494510078102854336722502899463519205993852575010269438430454080844349753803634860441282098716517329654467174302479066663443833006649305768427417203166771487091099253319852268099980323211770473027595698786998392987876134952487364222904445062646567561826004229334609796685532765022451727019536415622316763586650983180636298550547352070842210893270785607212698608886938350229726014362666880682976560233633135792112077678820900782633092219872497384756412668882798097394619041932599807264850961746927897052233191072782414173653089636217214811471615844262920772630995063460876811249054701429713281188596000002579753080401033383176146292931606235346156898602213930521379596402163256364398949803307163563195383246038878733906344421356125193777347700209119992626077261023407526157624623962875272327130100637947166887343521717912586348290054049816659767025335752801995957375721205860020775509901396834643347238942783312081995757109882649776119002531438262164655567814930932551387397882986526129630742540679500879055794701230250489630656069562370194923569036006370994283644837573767664287234480541619535151010123551958649350759412938335375570452091292848558217322898023117607567512552667964471439251052181748327985442923764601999983308962322059519409132267953781551801038276305689795035090491452133266011173917354117239410484275060540130187151463504796474507664915764429944724489892706926825487017627004383812550825052414977130352937685050326272323725548041864606350899485875754281258252621558719005089709383982807886935770336645468861012105502199102762577204546140011333909391987244880370879280484862184281513276500750001059992268294908993443065854855837451866861589355891076398185282808480254109567295318662503264790076661365972639651363360840452592695322564248016935656464436320969330637762161620900673318781083813529843235324477374338404757515188220468968598857769013467620923369730396205117044007066374492662828746004153623464128452464935723119263852863622963339869683175015488634698917979022178010228968700318136451134433974590950408513582766603711575756516566988851473008812953982938128687693015388731229830685992923051154093323279758083191023553907188686798457837688649857615110861460420144440630194061869935024657150381712084060401057795922802159678631349470418555942850708364192690695152049734261968696925384700669707091743344610010722274295425560123632462304161167244652235684256845494271758608116596767750328984517826279343516569336883384872274753767031642206439913894803490008950170463741359128536646635384978003753033547661351569603834421934683047502216028073618344994957786318610939546399326171797775400458995606995973289118214688477517500958873782807236055602776301329504673362225349387270377789496060060846438019319030716708047903795490641111215197638513020782488255344172292614637164784641727159954842645279972200889367982101136044979126795148121480007337095352419644925073216254590126653867117655846717219187048548660554701046511656103755036984936336651911599994545741793269963259919227104542720361634339771734293048898893600796499109988831071672302121965741147562487145995129890794663516991980443759663101136277897333063724445604721176197057575400877885628235362773852955609370418986088082709690520785973026294992223630523183272034597819969539321344095924274640341068105079390484342849676545545794798640065790657783707567831266293415826636150715356116868791123990396095523442236284872285850759248430944664661614414387350324742301810451682423932104222243835977585155802673650565989615499453731601743325370638538590336310503142280561407881699287291363892897045478918302872669195969889477081014268523611742055194868031401216261551188884902526360998864928434223806698837785339631099220643252855672298342265067831632189566577755975642962320678728086536507382463485083468688708495554852718881211835048828791873125127971595165437597448941079653657208175170825591899208026013862441561449610457140684258107393686479143321037839901637627044456086849738518845965574787582970791265615750282130218872576400958460789686042772364472077678440353461465753601438343388028352216127121237629046605930987670204280554779206224935177870875710235891972585391960731252547842982773323420225243163560823508914198285994497643446299294889835907354499078980939990833109054295983859603657200328614741624153451948932946399148643490095247619030152598874161248840182866166492227467312610316768677227157504834118828025999717488294560703612157872575985234116475769174138417290266329547961668313964047405722030921570695752369345087899917007566125598473245718608587875379220817524318251476119560679215141307156958578130277250503447592240332031512667295065282534583139458063583160497237296674449676394695370491023415725070451821770903630984066996705107433577089454350770228277486799762066737663118859585888886509179973034999427838893341992218802525024497807322390573258100792653049938058021187373778287291979652269332189824955716571397543942827483291898990997348951676523676694461274328642387161335137253874430005424283405900133788343628220897979670499232586020373233786309746456507365227252452015426816611274919400479009881384429595678505934778624746943394034004232583396365341713711432464941101344423050902561435363052742625885828350669460239121060528707532843468290152491064000415908907311026723763039889922338672525926774186772565972568679497258901843624673067543838112709794795381630680338924863213975870251414864694796039209964600319677293420193703106495502617627545830903975112570393433949386121782396164170089437267150497648044314719361006457727913282313439004347462674782184283905203940011453442381123402946260415526550062977907942242433195530867412580564521988007284439839594577526725346378912486983024720249364359660493904941082289978409740269813449568941362749813979328695267158360294819431235939449073596643608317953849706030049261305362737643541853562264977191317228009014293729724428266000009107466281164552777163712302474902468155591538939911090807139431831544991805818384964928870656207042399433106637471822721557313165875401716391636980196276580388048310291153946080877488682183252212750946669401964591569618018042194999145089693569611377747529585118209922939339698676293438536179413974643209460527045029157202745503208644261898076593976272894678622764622910289038728894096158134176563492723426385095240083912128365975426352668356524900923746066990933815771542852514344162882132254599355947751296655988626263741734377509402268057542221138120240541525845225222995778871802044278476157124447160777817965824818795469900175160897119006856469211220010261432877809268273525626248666914130093296503035215547863179561841906436718731738990521105509038820226698972590498772449515144386859146303309860276513291804852682759710363780525650330842843885265334953084777406943841104217865881169131873530281010776453243960023375200591541324424799304299943204331160772001050197100880715999573425130168525982788083473282443379782755004020519749571233368269223453393176982527906702432092229220930836368503528245982556495598346428795613194845525579634595265588813963715116601949538643158168840551503237743896432292087619037531118192618629847905633278668358830935403885273896218973519698106524400534232704287071891023963816613399952630597913903206707091875350144228562865274619823000945615095577467628923996055849079214427808811105214474849385714916013217088234854190762658782625839975444890288643334669907037680956401199325117792600273506051111025928764309486832027549878204601061198293806246150683600951941574922012793056937472094370836242074199064954337897890128081259127946785040316941936192873540132957062883338197322459851480382056902983908820410941078026107441388014195368856758882256216536133621198846241579269591027882037326554760191838284820999965929271840568607528260360379725140413443048374923282232051896878256629718470876748124732543064416404445117234284332081139667830131386657848761444011051222198483289374880782839229071149715941496927851636275850760834843079251639636129034524457635229030337137355107652187510706619236730858776991116559282583604254497118547659695622519816207497711758805806892248716078223296857425323043048856011402557838663355304791191669531668805901592589908195321693202799755121124095553816797203182923167753324193737915327868875769315605235122052438637001009436879950039510869222212809666041763503761347650015605191090465798928943624673897836546008905443163938047977044594041469886234297519509012048211185554841798734651826123824158251313541652752507666245412299510639276905815199025364328981975492919324065866111925887387165332561503802899425089636328588624652866003331397684722783823302332411895305958513872881735551349254911290814875883772676706622552693029219303951439671712090579204000609134474387998395523125590341868684003758734795298758314254879215306622635503939580398319928753830157959659129539685644261495495438571297556220785550612772776670014951705421562480781714458248129108153241339648700623956879148554172320623463825733693358097831213082316718221959792068943215728725597929307695995013751474120845752970038640906973393385829041994844744853518678998413884771322861725694439071860551147995247749462302997407952708570500286633471533896333957159472312671505608203660223624071491202903705908072216635353171160630128913583279148543512411749254553170421333859675698452182112811058928700993423035077999672324983176503180152782183642481613487311793797685290524522186017751937567113252329170757263035335035141122701523250313391081609841129537608749494593544069179938665925783909917586031315881605339145448065401379013448058416085203232514506997140908621128005060864016545933973800314655730847868377705170832051539746325745071231055230321504027448838802508545884230444731101632640033970606938333921480278328764002099069377943814647011405364473866469287619333687465124885480611272282056538697163330912637723096511427302337507912281429059792821128897031504337320390228790243197604260076094129940436959557476786249450433974529618948487989105146041597398223660790324058588053722662486956885969117617790546985369680318242006057112047919704107462559810527490084549655753491701787394491300556659326711250679317914175830325013088711224441201088333213366696563343680030931878998706755492746932445122839194568922001717186241333794982751886197565550938897292722140092310951556007317555215914548137442738477658623032546980373109539299303885524013738132180016490166311658048297002408119386357680337467872318204155985549562987013028214702188666362015915803450067002782679727012706971039420223526141765197745016995038763661888085094687278069463322888908020256420449770940109157758576592299553374309210756097885329241366704354084504743779647197141835721880433374741727122949566296597780522586225905791440267806036914713674994849277987132191942979992255406151983361221406471379993480355594412724618163568839164284401661787461639284736519782976929342735080389925418819825304652226747972392149682868111689446817528685215906853961746698597530769951976081251296262637757402130808879584129989873911434523864482935148245948596169252842461889311520978662248215624036368076075533953266196432369600837462723753442751796778273987346021477743030826855712210044828352313338383152552775569371911387495680602502333229217869547632071956531996800247144321590833376871608376244260399540803325248291455250322261789049983309469249579577118842494248523706366693200407161560127214230968150974963355952540136586634799976505288449669491538541231404664368317759995644506308518168253601258312017204244388760784753765015209283314604034101317443503902502586404110893302151858410783154437451938034838562986901192689986855788506763781017544840281174350787074052556603353345231012711735918398000030384628431909742379223382841113043935368371716442838129931208931759125637732195033844828706810763791094593578730289977354978196606758793401897363317534634314217066979018371075778657929130119522539330220505052310481008188505510055173409203636288316281668818373590913049054136992759696640792664393233511073793260545540678873265784442205671143036020789975658810880538846815907213528041980560524172326197726094289959832880262258567862269618748651916579078335584943055824810628146102189539812649812976440077921849130517885329678520818665348324747079505175452810989042200497096639875606779454144116685649966954906844307980459916143131050365707739128658132761639129182400921554237529139048714467207537785649355509641745143538369072006707559623566425781180219508246363338689743499906534851828871425801896083710169526029267567745948118770805724283960597516382641687712208716351282318566552340127810059293523994657500168129952896613886797601224311426539941692029493711494374143307940622159724169399669070963211153007741851472628506274939682936962017159839191498349922955460400089405747814934260208951547520265182792646404812020683947524284997908310783481427230941966265434737484988258670877806057682708456859590577672151185774980732981065005465583916410532308154220874603724683524910978870602094605115519857121461809467406534033584455026586493092377527327174875686339041662285396298749709067852265469829804802793675221851867510530126147258748653856036380905878402490320910162358921823336466586569220021314544139756159834854810543840639607838525520438759662346899978366213534368370506702921135268962842856678473443414999044447009659739401943124493873053422096441762724112983949116145987293630598669172085723071064173949917362038537476584241475256501651927412027452370240202547518579500652913399557884290654073186977099383790339760601299602741190150607235349561032812259023428018053352258015157496710844297981962170738571218290818329893846517590424022159505341466655869837093140285718646210860281623366026607414097446071848604539180898654479653022559948947161280659890196248776294173042094212371803703761284261112772479192078056558184420137844061729156529911658551615239602741218718017246933219027139041639907525743127886499736237306968522872419637058983362971101382996651343440720344223336888846867073129461269101061014452938497181826917915513992330647223298533773907772808544756122473363880645226504310091326638237734645424094573900540291020675313932932353071187117200051990445210452612878218501300747093362884122472491578420088363824534386431580233400418085361570532832403153559191145410918377153266359964094012220830685066472581808212023269715393865939673496803370674856551999493099122965222544206587425200763559425370723216740622510172710633284804163739352170783910661035760655415244899883940867600238246210295136704213522426608223792992138516955600853688303106023516021796550035258814044465481772341086840850983553956066582964699715517232541436985537162291152339205064312825951466333006112479688664111465925254464079421450708851629135809413227599978685754793827431264213108096748024511053951800134384634763751423121701576747004456064509068810752215141168286340275638603965598310839749391639096057532082141595130628466240593299174170767518398761430117016808229102364820317579625000014329978230006536602389136194759361101239373093462828359807601468729148698403245987819911444326168631289019147889812363999895386580664837884679423058971215072752617396824826817176305328528882198349156683020386053566201062453632696178540636658925125577124630361751873114349042025855556743371960125269230280894733318883196333912140136692978167001055847063523992732816718553195263915435928831696942720455157528975332396736854893213425713025252796963880416258442645980097722212223894069849850259848054116333680752450890084206712251587049198110179270214685555101045683862826549308995561042656862686963676819358527757064645164333560381622330684746223998982152260642632517588501055903334099516461692042274880157857608018886650391026376324545083460843497868633778628562569465558342436937177035095914586745453604842954668011565569282659198059002315889081970167187839506858407731099049839354827987899768558073444872439900650237410810008107549133463004715814462032171627636339648711767243353792927410271541653403996948552936059063187111475592285429389476031148772735146073811426088993760792904407549859125166318060469144982044545104636039249089560910519565284506035456069857686257429434268821464420243055763904038761844930552224084487961273200627185522563655150231067288875351403708583381244585005850369451979105283567941049481450334803382704811289421665802501161726854881502217822605182454728019670718260579284017587696075869593479204780089610185871219851856295869443645970062340717255979470876082088660740677484227530161894602691522777750932686458703705539127652239003085262854064011136596976033321885912907371972614262805956614578623333964148533558736912823021273201941744133026311308695324921114253217965851667783081229397261175411618757810821813155468188724109102642591086761583530248423814754406076694232115743005421191632369811297386583374839890973846508335015099031772342769887353529151163481777695247742857780498501081847976316159668482108142809566739483036082509447291800094983654166095856400586616974938612469249422039519573927208531657648338911900262316890509929791590424107064914213653941592708210708461669751512435163098755030792879458832561651646699192238677300753632208870853590198238056200563993766090566394474110873995173976101227644352166039550008714803189097678930271567460931311127527746817792525132102747849432023995814464691542916101305683279659847570458594519421048253162528711598639685463546089959866764256730769667875509450440654781025464571882790010017394201721267447042432416431208441395868656600141830455759235220926734252898357874593836159821812340103444669561144164899711316008601110454078719869144430617428905366100380985546492156890116557655527500790131370718566358172282389201325611970774436518341353895745648935379985601177128544415779164056052810783692681467500295824767723694907054611278256504433978705413596873262548326030699907340843345045065410962194698626098273282767573641451306499125795086301973307002750244548787724228493964477640049400995056097322656175844862113726943081260663456142766621998087346415341880563921341869620339359933335632999289038535095252688651410521119931369729044014380511526654116614144305725501456617241993614228085068276102441348117028619027878554495215069951310521177060659281304867546015667276539556197784840638027027348103299463267355560413303049496044330583007730774120401758773501325816356817609364012137557597661330458683097689221529104032921712049694308347978540842432834890309523486650230052204943311474847201320261408235968952282671953145615007086205639208057568648884802087154451539248016564394121030012547057054469559980321612876857969302331919617641140025486560743947093321557681759845812746769358016969588291105087278638251409256905211501240976629220105380761674700639733379885794502952127147228707805243613193347757035459724498671242533463147322052452912362470500497977081446587299040413970208319486873172783306309881757215107536792813766071154492864563085999933487297616143898500281139624862846973668954145514295848283816850096563353393678785307781319374981512926988518740924725632484858034136939568084150010413495230250209558210858738686767543389248621323580851638198820564106390100395233152837497231134349358881510235919312270693455082229157859241823885672732361953306148622853840236002210249422841593399657440363339749208191677705942415189012000528677277621664771725128757457889402245416588367945057576465835532513023447494320087546297936675494930789540179181425022445059530781789865379984719571691288551886514868698633564898525357202677879240154797442317444289320934646376856888248342611167747005413364774007508224546866526743623578248461471337637209631738265610792087246197142251422071499022535639170125479510041302040234609900428325317665861435055100776989525159435206551873969881761405071311892996667841597514685118641472307882266111675178247403139347464062807148858597483892973792057154073025514661582442184038729736341756372953684985973906467224186826801715943086408171377752628610432182744549290120936774640150304461689718130335387550375342598179515046971477357123671761593190340245029964721365720378856324034709462660328309103477764790262776958731543409083751462537677971090153326404579861935812078434457299951770519608288602858003647282559357465725207817566102318371705227976703173541874089382248487937555658860347890779123141547275536124933928793829295533548290174392009744659238800403118482546022392659538015505569283024298535670219030364680303250163046335018553482925141852619859670683058849563021908319028146294131032017413619468120061849349257081809799884270522569785871228979814753266817848600025459529074989180447233277319581735344740725750328752817424806715091824715894776347425876011604938470943102823544035089482620573410785882085946460326897134347138599525367359514314046855449033283819160621644512023730042608883916822585395744947633353023504049017590587857058275401816053138488014729666934189466745238786476333866018192563809118298373344752068601262747529044241246369254659200120434182440737636803575688694552841970317490804050322900687391902827024796968482098155112555715422952538892913033840872431936984942819467757494675203532744976359889281357872171802056967279160211383864888211478933342548945952611640861249729589109097888480455896871873886218363503901291819905841998835614232542575438270827757099153007158547167608501202244528879019323766605446324796963075286244715707412168473192196419339791997472062902335611161264464119579283845363442539734580870970959225687925657330741538342665956772483212398010916686031639875092046931380279960646019569665397168383226231055311138181832348381517624510094886367915306910033404902144220799090503299453546446320785828243104958225042026119543921879111148333533493175000362912654984311054144291214055459024990783066178467948129262754170197590233160902480199573083469950548937530449674360573884048642307527304235701857905049448495988850087168831928616775464571685649173005835402579572822251612276508847719676588770768817728008799449222221318927770543119381968335276894240547640147398638902668931106889017626222081311684830712497953163652059711892855022628700200711698988990670524243070570792661786631610816801830402163643022946620919880705123823124273551712111440599719693946610179087216384759179236596162848533436391173348756534806533532547986412660766313979271065373420229658934443798808812802749545251277921584614869361903611996514397544902067395407043482089282371744426622250610192014373099816804057970195155471864202571324561988420097705760808691763266415457472439640511075151754338470177157956336931724767581096445018793153792263242977561649956423224469091364207708717872354065614577669902325777341798241280859725985300212286793420106203096046927234444903786621681389578633224060895776829774080364567443972782434840671127262376303106072590924757496575043796002100317583142148479794228383268560926150761957499776296935824202190359788838920068362109544070308354937985242825931502152115141605765350513998871657028308925375167909450976043433174398178423192670766260819898263778595584837623113651815382899379425588424347730872670404220733470520740007026468339233286498084525723003002011042126746110015145917822830700601260019884570151208309366235543651858481993880166033237048999193106583137936918941029680903927409503797148559663418918304443495685758623293041740713787711646890082582622076809008462714801825511003131179522974076395398382113387858698655634482982723122590093403073748219242235064522308646249934931408430169129673452857411164495979353367684743989882244215028682146492278353579389454915972023635546320341833404659656919406230164914730714337977307899259443427283863782600933614507785477588364403971077038526032503455574860640304817872157340226347018517554162255056724146815369444284035713098613229480708088550619645437966202224049559635310340785550352633119087506993941134035102275578871563368923183157567515565210062560322843609750584745401057705074857292937334387898473900875654079804790711147128440410872557294728128911358792411840475892204351283198963358774337131739157590223599088530969500537375590710148912153911626644817435585921479401902462563147010389640814385524593740129044096073412903878593648992419193306517462196630747417750768182566420294740894220479580712691141126637438933626778660768378611119370693796470042416134483704920274561742726239311717748474187838736223625137200703828601263100630500836224285633681670549700825860436719027959778046611131537264273055969509825967886622166768349172601923160740240020981877242831169202161975807348750118195033442270839760544178620913325626075993600882410404398890555049720244352757269983987660792925158316534054021329112884767769679416643750108649831364886210544583835081417458751456561646451972145215151543969728099347836716514435795016474315198375755775275412647334853911437534312649373541998807549541429417406473589713281567449780696905435542471689175430369496392597987423716949625372210994513452922507956382668570721110538067208333448499886333988072377434508949854619555031818057542058570186028358248630262588908320792515605119329271296309889628891459314221445375820301350215408986015785940066326171368688020986813061946155400578264991247976681780044631341979476953045897060987477411498791667196599594328096258296151073176182016185965976423324005835477836791297681769829363891562871254542999575481438731666670153691887102931692950679055790118871985874426839115173140622833778001431263094040954105919848333871289469433285267837113652658597494836418409705705274133463128825302720947356187538657544443445312016401712173696279707749863459346953204197455397509014602239727357025862300901003237785665564662201032750126173649074181399047962423812850482413353831227131447352030716555487465637639503812179909081567711830167405063244227158830312880016188455340974075432044718790232982145956657708461595009085056656471299214560199378986541219993744379119428994778732049666333438331197778286880843411121584202915112501675794260878603173260535509995248344706392573091157845252188544896375537174518455917228469328885617377207897591069725633987816987017602427528086945265042160260216578433414098911588671894543733006542668572667529407190537272921350994054530000678606274002288446891455949950945848037651166220112507969448706620285606787894642045940950983368452804756311444835131258665311333243432901771675823768514009467164598274344381150915236937470430660126587784114945758783309480710851815208703715172845662336461795904686764737644759933558768296943395128607404920442382049250517147285562341806767281013119797713388725782921507558780380659843495545352354598965593539261749246275808026362490442512146646458980847898793972448705527468325946862480294437044644671069480272992423421741449602141517740771960433837289844517423388272808293991044518869465095121371706923220983860583740559568016311734795569904587667599925145735201337251199220669706646916044349739377855322798289271067226432262272519308156650096876764553794542213790690156639818809074296727090257488197880487477809483718021692558965518410594036237842153077862250088928913246709355919728068535072716821312185024241443083616532435397278560605340064331482521699830418363760465797522247817962069662650842218064870982920273582653421778788966567430451300936959930826107217133507055571095455141540699133697300423257061250052206860540278216613479069218292468142076594142418178075817820698655525711484395095725204958071749465570374730573310414847053763191629060236630020247841737077133304988111142070101899092582511099756107240301707863124863428105354998910211939301809092326095102287835619690654747693447888485647888806852775236712302850277432564594729200327179450346627365579539983405568326271370281539305202034104187692111502002501272582156278265178158862200252613136959854130615318887619845023635310702581456449342203598655410259233841133026391147899217352071924361386945697120783163897764288819322976706773258368776536238880633595886918959397349216450922199315005409876853821030206493471330016479020242441750393620237993398863880030900211056445808887512191280950841619305598493183901992162489372046532274640713707909866179436485461910107601251860003404518118384453292752431626283112801444926319166930960550304147150099318225684358952229337497135749540339554472496397514782181706824655138073921066443737482851689649023447337551476527573045791020435369455499138287824919221776478967027605331472820535651064688903169809319928429359988995008157418236877793580525781467883279891091134042822707976038056743380407168306976974793611939522035593079681698380441480701993604257273459624461057207353505055473577472213974933786622419303338092153180923353706339275461925315044805619677224078556477980607063226358725092919831880535788977834854199929315572855841795563517644471886931539274814683615811692738181055277754136086367143209646320261958567530302375579101849641823280834349015116819111674744333260255687198124195246491333789450205023162613727693537834071602711925052526093048170847637894986969917400780666550853207377000923536018934633051655665191530496872012764573574255882590030477116508824392928037741701348479062005536839132623969143454538692287260102676838410329802354265021141748433226012158421454550998479848296835929988682198795405910011984505757414818720974716767577421896104738209467406825406289435157701353637819860381421735502272130826506617320636722973493469709764538302169902991046895130240115175178434630162272433090261031382424191400922687818016462128019689353993470029354706832797945131388906390988992326127579272998188576191386397832456473102195285027557067686065082502693350706964964235452161108123197321780399619146112243568441818404682535677472694154938982003268582893068929266504122568964003280024805716394450776180976963643252510932905559548894576550182380273876872981339144233310919605358883341838984044982942484634491255078953366289573465003249342321552832976871607434730733310466573436041047659297854018178075878382477270602272909459196066754643608492089111701893210225073656003566955981157611912046434604459777554896056795712003969130862873373250891018089889759459735920736940609282246032655957909490468225874540206969066139021976523645799290892739658445288882821667907477958320011725997515954321560323034479018482935281008467124438028918025812209259692324345119218627675727830512977188963161493576624150616743931817408088043176079500915479262526489107647539594800487149068148294544535338037707891381026683671278299492463696187511563383400676794225687206197659283762390705020850324253353132768466447098599161390654166385251823319162037290142545745736978712234410296716158029615435791221560988591470493560735726620577567145169438730555754533012628913740944626402476565105271428016571980553711147205948665101045065188594336656416082079530170389787889161081957182947642049648250838724781697326371878089362964526758152305985398577751543207519487957130229791268901508974915437512512749579981618514765839657047210823372944442461909466002871607099589968632314904732444585586970759408210464520941776653307851196041971964896198887447417879870104621995430882619542482271429016783999331490796518727209033705098901880286687568061519317837670686410591959880801024082728009956606201990118896448920259912311043667514690453075093095455185431181626518929073579018813032186169558319113136864097579690943555763695988375003377557116263346599856880053703818720707703330815796589806667363931295166874172534189422766268688353096556539804230526797522896597167781648045900072290957211512089918164716758827717500523631020145671696564831788901869969323210921312271723907503060343434185524507325729250783350862594193504356515095367077509893321779944564821183555637196633421545426748285573981393942892852381976698815691013646641321780921046069543480425279227436704909730226403609693287657130343774527976401853943910153073814047048190060226232848244032888035644809482196464784258631841716841084071254132182041650007561544602166091433375136950611039035877510857862492089169077278923115456035765218309942730302237282040732412365053092248924170608127696682561671337927763037680602798946318772213710480620111007450136980429023701536879516326550657327446892294886018704011659889633960251167997065207040742194852166215402059750498790159268135200676034507097843478620000200995181714343175909478926201167249513864170208497902255703812652838890274257207226104745215482097744381624249829079262829514230603742913567826263801268443601264415062450303760213122626661581479408815858428977731565256935500476552446560334534317115990402571471353951175027570437994328716493538307712745124072268112453317098516241637914709768755209251514328852478757172494870761033508151385241237800965388581451539066973779544819853739111399972098855661225357064888681278354486674532455370425485939338184003566206764720190267209922871472557530994947433261343537570882346281006665623217789357250547191132501781824226844449434371702597852752776302830059830410972818764807189344274275157346873392725147877193327693472903357700700659323318251006032021357285363942334686129389575050464143262367757763321622513778282460113610728432134645853637056047918724491081446647425862422241695436022333863026404958216528419449056751510526383986863971283456077449734399527809427374002509340589213987451209015766435649628739143877148928768787047192012777318612676181473223134446611782565512510886204898665833883109900755019800675575741791755330704104778506696937214132879878102791011454271001736264127601125033493218870895412398130750270558934464084911827297314226098982927376955770549737159732759833204099398119028427146407835498443244371920793820955079834661032496324599893431775971553007409037741489418460207353635219377396647768549587266906061370944273511468248532368130680156432799573626249176838021987258486011976708541700057577462328023720099302534393200518205913326180065617658138744111475109399132282035892844088946551069623953734110128664367661961121787505121697497486177406006563971902161464318309197240708444756799265083328357914937478734393897638571337893909630350913792686799285891300087516878456804400745075356229528792189574209573898612468495952294429100814164455551607603534044889074744170333892906887332027981310872955161760445061183166656370688218177237536186088215641901708779160074325013180064135207608326566282177515434853896989367190238829145644050850213131923949939427509241112192842242534540981134403851348709615990912316198165585387768864766940689301621718248740627561690564261815914249012222254794365533187871744534377316217340570890633029514245681990176341137398988532235731619785313986656647770650604871400583177694449174421674851870025943057989836649525961883193339301792393777166826328498108797128597724313103203223272405766596064250291174690492043116917608481619561657110192967540189038071287186294273562334148281505906115296297152343484176913572975874263487800403908240717585960462338144324070735984442032148985118926561505979965645232534260679508708380692216390446875992563093128392147497165974107492707002923081570553622686470914249291626407687491856864434925639660577928989978153821475257727959445538072344185485044660632059585752527989511914138749008687775342416173144045958994089419795177242197639385642514675342922018819359296616572140496299208017108972470949759544363648471777094956789727658653591010971039169506924688645705942354234685308006256123793387033590243315762052019719035962148015544621718856218136486213919908465002302156864582367110855134961249399766865724392512485166983003244776334944051947305125938303752708901937285489506433955055559011304470050790717059220546372852131760822038703954775178532424642555003892969794724678394804698679377365681547189406702637931476873138870307821324332697405795149841683321230076868432784602786609985159925261238565359599534193059267811338553437761583522812261096703812851246493872597291551357475470221506394894639676381039914410033918407939522376762090014830743275679648514766354818338444288763424772308401858789121381975336777569747242602268048518100653653473353764220805807989751271201155384944968976475089498191519493263629465114058652958594374512188570745724801781276446574799733419676913202218821874690229817366631011752007512132611407305171121287002649773077108394580927875612233876373652499093249079170593070013428950804755004856270278530858838132626564832757402170788987082347364797133269873957054759232988108369714410015586421765512905850378468860844446988700143575690638444931304731894324607676381900734484732191941761912425352476064106215735895374219382172637580261618653786437600446395324419937153582325723618929216204618303010622575199428588317614324578491138364755015576513173525904327497115981450628624638067066745072236823672054011206300689509708296687977442861542032337988583617736406833145106722941772584160448033406675989270993558750843130536030726926075060334044776372314328724403254069640626095788143805555213155813149156738462374285117061561251755618150919019503573546699868286799434456380473719860827919758239016920887532338119929710110346068286148284487163375239762879076186965840347021457560738796420216064145191059319420470232723460477676830642038837479126940740676084614125638255966434771438327881244659319223926634630278554857678036040132601110055043181563807060912928001197624867095483811938613288620552692449843426308509851243708662859048900890696773212662918503603125820471174660479096029191522795633773027423201291610756903015398890261025026034960240032939331927004409553986053638128304471017528259058463091791408807189337978160076957566034870418712630969285775484561122304828964501369956385287988361113903510069391283016484177824271753949614743678678972547973918849317304566738679238439077995255764597533848162240434111921078844442725423240766581204169120145649534051320742404982904420415005726278958288193909224452527831809246436012049082085682620859671790917658356147795061311443294689918023989244419535592245873579819587425171207390843074372967124436015028915877286972931379879633945868201556670191451272864160823391085642060108717082278221963196367368703628556525869742400145791601207429835599110471829222055823708213374077967417681321499009689534561319106992255527241769713479682128840227369930931188028034828008558887552632041107790030642365358451407894151299232664917862869240524874940880315942454077827477586918908945539509270665496269897340133882171735890566012040680292322250181400148448491115268777328821111823938547658203902613587580945169966618498897213636082277442049850555551180723891011600062188641156898552533400942238211055619798478171949222196924151249967355014304611251978797772657490504127580581615347211014146577192716432959034641053325938980055455978745872890488162360428066278653906522332571514554960104497965120680790898621050548780867671040676050556981795032124200094282526654344948655585585000464857265402331412361884364463673956511455191201120275842301572777829010728289423932126968999060241227829605205093324062772350099238602824775383290473912415964325196330914095683784629658474040746315582705684336240249637882760603233903754108100116529280824686666688040520974405145912619801033191088903610046209852457955253131161749096359366306670977973468116849701429081584374712679766606476923711833334650618723995729153357110093368382418628571326319798325125097014786546712922743969205551837552972153136840791048576976940415658257369817344959564857544796833292799051310171152465106285444671781050743341417870994228570112914822238919994863273477051961473170397021857366606748529391434495019395580354379460626540054464284539349957300351153374421602328377140939768385626226411765760305956750297250636844639951135792655874890702125884681322207757269001780345041903955480416955099523841017467274416172509281118600032147357533899814108700339580426588963351073728157460123429727092176166873044949523464536936284505258267809550849453516603730365298038592993850732278494971792782040067453708850377345903092262233520793719895393266564290212073860902481062489964902270086291190378277334969631330980135261933378555993999406833305959985988452314625865142999313178446822797715397627895195338542875085626986173377728662703915471347653356764876479044487603812922577483953152503907030553572104458796862093255450501279905461773119334144910066024382819558149608248863090772849059849447383350510289499554560672121605647175836361283195015175663245912681630609689384830566980507981389084963823449494773437682688422982328771384353891044005540770114358296660260123217049368842559359759446595317158766574717134651742315017229808385849897730698217433215958923380083268958263522342302916369193651762604298978543929118129403412068986986371852327130771067037537782197596120118281201380074644646343662577078591495711561554672867797679924699905574940289703986783238271717698420280093480677977844614337607851324515148492538740370938476553246411643936433865943978411663191839866677825954904196575700165729242995006558036727619386996148533543671320159909188525991212221138524526685906662812284753652379337083412581163168300955502171421293482411329745404193168078088809909649389162455290709206248398722443659872549157570806938610282740855576983815802648196830538135679331730303142304864614580756683346058863136130854850202959365211651737224250956882970282156257572174568342437196773985955602044671800636478955275051191061256650354878097851977897147608601434891085528413673360164022271403845266265121699870744922719941216540771942013209202231369891245107719107045923805747402994582402601330254546230350999613990909669973951311913699629814851811279352657083511258012259002404924561324405094224734407460815944555075910843757974526773792158086737070265273171778794252068077728287638068629098341789427729584972299520817319508461598486536847170447594594910341129984260471721129340412120663413229261704778896328254436828049585748553100798847142212662048867158293685357143283247539855899339398387740665199682831273831234632872538159255107620487793051868245423096327511569064643037365080353096596240444932835875608478530154787164051409289782337766827358548527839119629873227086837613051285480149612214686510919345885906039107472600286193471632152514676322350298112647984663294360429810663320994473494306441133691400225740949331212339711551734294623181137665988242055990859210306739533604299170283467424680710543377542781393687133040340747785127677092397252739599338052407229326101835357860214923609929488563445640168883355655519136054734029675830955082534237768661347282375397794922376325410778753842356003692137201103091951251657201171233381665800902241167654500991974132985958141128758089569014943928122016319188972210618697412657521370555732477180104648307452200386691243116675883559914853817563579802295030368031361000064087035229906079804197734563324611360285168396622065384809261262138334735675195650704073835470743532340969726491336782752813000567594080352320120744575705707867321782485681152949139153284707152431195380844026098696337652855489065373832992062834588654807227537969401761076868629613161001666115729225455156764917231616538316561477760888382267843598379810374641255695819507790351501079722092110118886156661032343571718127128714041262186329558398329568145988902598297260181923954964569442769916148359476492386463111588016783582797200529142924497948881837559619051561160098658955399674160777757837612094257071838517530762997842610931003468603572263029176543394791237907579551645274669430746431556248463707131679654707150280858403071398228315500759393302332270055258243453730970853219303221826564615974863651646441250105365318947731586632687559153054819298443049217870434571425288303515842039874952989740185950437120451772162520278530296803835048169749134974737093348095890999788711217092556637749395546987374475736846083922785566212175662500165296671571511565332198011431048046251603465264625558327023221387931616087689946367509158015458271876129178219186962853972273543430613747618589398977027690982722943809716853081041547078419785267856790143822676620678548428665010600192889537911190362033899243496182043621691005523616036180560103819405836801633445290768050873705104349502503555247127911882265614994183466857765948416787773883454536338484671860800326385129897116773033990053981378249347637908964991781551379261237189085227445787594297428671147420782248579647863914610524175887081473134460571054063337133844270826186956098568813586687928940109706635270782420991674198043439379531877015177236502000998030998798580038319415871430455787122101645589809136352246021786591038905954445925988656788729359109816600718106159874932711430389701123846379297064521223118375889471167494121592374979824312778014177519104825061765741466690268633580737027944258410475656182309852362177055835598604774275361829154957139415923810427325688154577990992777570154503979309248225313622291779169533094258280109849935000348482694345379995734906581338386638230444097952176509954518327813566614635801224811136229192853814909756777777628240130866077602017068832239723579694420061523416447328224193823846811633702561659981244982182414000269343269666047737604115724964652161109738219899242631674316033195457884730904705747747315343316363914275928607672453484837204891699731895804821182599793258882808117094585973441906323790754469756376125124045862803618227789861935655492959849778572191140876167530516855245800136205446603343393442882792494798037963836993365258917846991984507881376368588090882920633411683304255860407188368885844605621564367928846703055269068269652587589811395316759330672739382572539527407065659597477172976369809933972026074119608580937614815428241039593952694331025013397180626468786377042800635367959812898382307272006423230277915477448098912099800191958130840965091652538774345536064072964566912658169734137684341783477380898441278787571532176044485377857789788090491828917048130425615165436226199917408645463864523015251048746879163838436862035845810080637711997381149824100900494706351456423597703327662117678740670025746653690475395380119271759647826344194705915534203751629229132465432407002612460518297083679617608226221707666589922375779936214863530955617140726560932435702333754903603057354038682244304649297089971294597568897480238212544248188397915259742567203958319521854842959488114968243650193516506569724462908023060143414049474617357679811436043296603488637496008018579958850617244728148990823923195052496554113523138182849210625127208253083343167038937192786946683440630202315376662236677763159833120710126321246996120931463152881384696541265691548717840323172430968674849441505802471647424769311940753676482182951053448902593288623404269384160769832828583593477268331111812002464332478998533181917577482178918353229026598877215879308545603908548202239586210783971047596712790715002166744350955826555718883299958831816673103903010895286928930209834218063682088291195928121130120094596273938305331541627361326731474181952718932740701793848911794774279792858600815174229042630538474003933746925808007428514982833335731500422380123312419193501236731000238389546146900647141036097139375515061727558742420090824907411563577600081529534766567332860983265846757721759931305867621598959702343265642898859085006142131094174140726622443729678858335467813278542862198192491900882306138461238495996716260572185317356663053972072410440526133644672246944193833982970221133740461804603231087692535661329678612276477223402218961515705778269710641067540551753062430879029321614592755650450554884203104785858718723740384695951897427259423029598940153526850352323277883642857541565251410336622421426138839567575317538993507923467060329725104607673482530750581932910900996612587480779734402565830171003577139559887217637267289131823233310070514441561249246798220426185580904184590191787264380781657413859329617350036800515508121196217317887429339606965913763308860879841887540097647153287810600556262889436128225985760238216941546058867341292474344425394877998508706032931239001819874775313800681421724241400830370893917187386836449550370323633372987215148864973501813244294702262114628910897494233930174119639318216063760528651066398187152331243954265779061605173895784005013530814095756976467559133677711918448841730029485188105416004467626848166175326391975645117861457204419818268398214955617106328707026382238713223997057761700479786669395778977656437905518707787821977366815446149933541388265411460723322962152951636234223827952038062956390141041718527385052484147993546782862092939725726366840689576439736713012239673556766056359846159508998872906082851968269167178427850763182826586299775815233700687576864106867656033015654736923238487682070518969003485475805904219647029976403839665864596147372808444602507008257548164725173239158804678308463138340986811203342996810154470308854095588526096870121292001935558929241704277054982712843640005946798065674201985996156319719461610977809889385061689937364520798893059972998399518718082612862448975841810127557155445191518353107019818440280158746199527211292576178424289445905858404312294394742510849787781973342158086284715298226379334970350873748027678610008826162554029784810461449323374283689044881079414525806805299832698238045371098319477783921715379497154753245128590985197611531940696429193725544075132051890589368833340802819640764988086133874017871088754329551447849426796848052865983556058130730519506177748159949350392487527475481516257390140487073364503728953588607147123588785048167671995286624542328546304262386069437525143296885253117021050043872576875370013465630964367177856281323422579103889080343908731485634697430525127521987711022025005736522467738511575939691802817494521289594846492519882504898333386758113147474813091314214082761980583647454699566439535019807335980989399603152031616010857440029986654362807716466043363789140617264075792594627328504777742463727514931857868357950758832483920657726176117441614481393422555563151622145258614051633550486594724519721804562493726554153791790502089286305777332309302925903841439106929717482834536606517772075808735889342246712631676495924473949115584693629227768304323326410773192571987875390695245352461521792950603874079476669401320171981268439798873955987061794821908357799552913179607620582601953930849799514557964931563971363384792673503918507024220479628983143821329088598752280891252064339327145597754608548708272238913143419034673466753457223648584988081647795541123546681747025148507936050074272677287657141582899286663912757222939515862227785745606620688345208641394805890943163995068377464696729985262353311891830257137725970180854023879186815669877439161010046536883044383782776081697745104806273604233227722404395216891385008178779848861125803192906046589428092562525415079141727516161861502142294938337171360974785612644114024601281556751826838534198432263262824971712116971698584762320945824349355064223019070779583764356171940586367811601045868573631910078206532560286327114624301120020115236988915910094543409274736082372823826507145827014943621973425203289665815354173208148979123618472520942437923629529533537776529187858047646671118735751840001053062087361136004309976127788725860268838624623315675919757597459912494484301500726037362367842017888519378190291563702753195330077478636944270921013823263973345574056710043082995397810103021478550711653645174736519092265296488426616659340857530968585885693486525192297458163963759685084683855905719803032950980389021924838179562399377642871016609531308630673711128495571270068132003365197947174184598420678578608165310455796889188019511999615036516208185620184526285014149596796820791544197862709064330292430704878159077695526725272051308261220657830291287194173252901095942565129253918142591942344235269616736966294198726572982678123808798663667196561192835817057546963789329951873521375906098169951867057875891309584327929335700388869395132305626946558863510830625881356050601448902246425198905605487152394309321884133581879893448744211882122530314870639286808865537154738547762749840141771694718173163251371013456717835427730303363025996717045055539798768066248864962414891055032171773604214201706293907341031861493496156674582906354213055565334204686878195495431847142784326700724786140755079675614526353094164999708081327285908736830800435231067808740806093885656486399603237992184758562512915049860216790419475438979433196696169655479037616178027058846199566520945100783027582212508079020692973241364704225100675799073040345462094497277955429139843857451110398724570382300561163829164032931377662674557643263776514046304721691627932887345722030228112434483082522690062486369665065325741921943462944975742281577150091970834850474002653479723572623517335387193959102994675729391595517920391843251492738904182629616711066958425990344278887563361627800955838918222811328217924849520885977553466959930183470514622001762878001735545459854070522021122766305253745425627510627928079576960890668839342966580867904249981487917696036846323993978166097606010069366089453468579589225008000289808026308091046446811681419587118988637927951903573544822085654630092922503590379852620298207703721694865939645236696660324230033171685494869359978358913346256274053982990377020186921824398728563100576580869426244182349468928949355605110659321408965008391499468037265140968155693566632345508477636222938841978900389748674031408962355849274435756658586321883881107249819442857834022469530187240167998853147673000004469538425719315925144372228446619138862318856246069227662924895871820671454498725683023620773791650823485558189315406095778830855602785448064914570177503627454261222887411645203562452413202763844184681823327787349570227739580110706312858366493964815709365349789166479717989050395509682456932828904712889011466064985440159663612287790591030334345492365478158467847193885667605997901459512226359215768913939097140764814992333272470250006188520537748462057106809006411189332213199603011438171309952539732758317489154499996572314085268973915032121823544974126151208640887910934227604222400027381226374333811637303173360824684734187966965510036309700431022606037935942715852395740037981214253374136900974770256048560463583267910816287557333435899626841148524409722849187597096512282151835773902964116865302564428261014543768599138726384164144277810246234453673730179321283818067339887941307157740599098271808665771503342897043571895970322930123676913275162121156456934545117078648024791496579191050761194057628416272462709523746426485493445458639819097834197590841109605800007528184629121480380986459462236440803384697364728732819481588828617494590689314298113236254800429860375953673727501732572773416502257888304202537275843571911137362270147615305418512346268529807690874183097215873698385028296964719141814818823973847546247289186050285799860341215393177420260026752877802146842390644646456818101610474351956583849031634597294705475540655067268308215299393771390481167683154891501832066081927829422385134119935278278314691426020925295664962678694397173678538073478625736008872862245784957484256461802429864921340891251710189450847925435843966131150792463490044486912955407982597092686218701807497370732587817667825174278345976343634257557853747233662633894249966490172660920492189166981797560917979511531535306972656905194120910939569161808869552805653684326880220009827613921592641623269357524855220757185648600270073905516870851388104162656156836604798068802148894254789845537824656908546464529878053952452943114525114265686912730084358528465750755404160090062798438928348051171096397490316979969075988005389580325284788234002564167651204619778692961399404389811556379263139036847207124123209319130313050753050648180278752253814135453060688238055821687612795048050734990671507323671495669902898984754498023724919933397548578287901365282847135933820166402379734918142432210242190701863411692579977324188939788615844273513464518712690490943283131683360367637515963156218140772514795585158958210286811206911275552631450766891043431193367733539887586435696600305667999246154193859908575165656594401686909584627213411334615501174662292664349710254242133330660071590739675725645699392723691352620436459316576726969347870416101526664637916637501544138596293671162742407673621451882094750026296645415812187182921847716425641070472692846852744170467921085067612969601375834514558097010350548489887548587878018307064830347515341256938504732516495143598961671397461235876698367478400781007458392355021365841967213657551930782470496117601569214443649943185250433758196942202682523991453222816098354778156386259790515035582445137411538379275779092403066913380544901646245322327216774191556623483990707467033505554503457111429339140691889016312590034592479766094446393401940249468064066193508437443969539314384720916346507166385469363909695766918632345042817921686824482563524820539896288979656242650149089452096086602416339297437540746453595929405409350962086832140365495410331196623444389272245131993612799662143381639336636745822115214714167126831921637053917285739905855640143569322743869877858639243931440641222711620398461431217502702639736477144194191411189102271510848542186847333259652081058832910867070995981411872724930123469976723843727314627306365777764162268815007167180203300486260925978489950234674386153870599372834894450901831727187827760287992835287386524514994591118013947441867584957794343931858269764332282510179640949536678846378784501706126403070954301845181145920988992119303882657140191182244388391136166642475319720393408629715425571298459831490670178500941871245649096289930357739032567549821706868645376168933139379892959157157739598369312355011448515745968478581662258415804826597421096220147256689362755087259346758471108017650999485755989773815254050288196965328296776326234815611985407194383503652332777662294437764904577684880544998464011681991313821204504795976473472926824397509632490915122252732276498624121074093885984524697432896240033996137515812792355151907310383706363517636637106258498407612171898203798543117406960327487348789200947249743814815969931878424979332027734304314493218646481747201810629185865033224664878600362781566354762973124147205272766915117263950007980611275004139127718185263189296781595639288112218027893655193005045390133853561810459761468043319430014755765851980764316809434482983810132461449669894653518679138085686025548632860683697784904356396152163566206560145410767297280861343368415446170682892902902444191161176911751451030973259386543788627599599147707206044138616696041488678527208932527224017563788918696845860489101952165661352461020236393362858936772227138161074094438665042219904032791692484365233532828578163445885069732927138335108056046754996081365197997439297674744223026586703644781054366545673805168964005497784600073008529703986103197899209742188475822036988257853524498144177806188336651801432400658770450847493285006059322972663955752584204791150682023592684630085869257679136915320572310059607416045839731323011527164038141087236332480113059776611930667422430365076838159872256023258713996854984204953639135829822089411578837829957434371998020606270483560269871679457193924005998014424746310918297746384587977260496354578179511068517017983620905599411571038626370961051874803429642667387071514815064263097395511718376405573175433767445069764270900546458644812272116488204099425662004577017257094157183946836828131955738459059728401321313733092765725010904419724378437994909254803282516694666310896375562959123447942399275626604978900423698761224965163002249712066890217930098174459253112834536872127100364453688148953488356197116158415499323042426879599469143265536591877654785050149086135950290504153284436349154512979550318721068540883655910808211323369108323744078825271745684806397776390913439335494423834848237277724213052635381873971073227238649376098890194532145633378092099692621839036210342958146186150171133572334772933857165358078230730775601031529641005255043111537853117080455059065101451520159147053995800595415736980777687153968349093184523413145298769237848040292735209592867519048261794970947116785643690809000612945741045544477375482536035297618970215465369080286533730284818216485058519899725111263479596392682494887547699814794408808500326154798502125550708458663384236697692469215974190072675499531393906178385691299956998539424448492271045916628520152521792462232667569904683356781349244045788513875806062135393980221678535840122442809131201323182765462908386386806929755721136418942579718642764659869424160804767104523499021153335010003738498156308642939485051481606631193955411100398921774096058558448084258019293815416661864960844256864812550348693043871536361583464493146417565866766723514382243031894435586475649348678633745869692931184323215311219732636789624462443728559354704380729111140549156455212526032300799270369663004495076126838821393594259201540379629229801945616075242814689327957945544615071497413650790531053858061105342827802339380469272805251539502363671060213282385558738890880957066233641140862380995676484029143438240363987476405803485276926766308649228892169266784620537025204896289532773655118008577302899534236101059669142274212109830029852960360392635521369283663738407754348407397919845244340752194506082385635287499779873398559456097980878462813392349564041738705145453360073266465739106501682684423603990562141765201198307277586129523819735965811971246153875246065587243015204675541092330474715708637211211661511874662537677997638131218218953995668519903516219352200089724271999290838739821354375476394366920186217135696147230254814398078663905500160622265677264355611345056087201901448275089769914078299411001382853306271622424582116575633239714135494213546785459924386172811761064045977664407025737870102328958412644775160939215293301038261820847990855263671195655470542052886860340249308250277797766375678697282572373272039030852059368222884640823263933281302676857081095652136141095722119743007237437330520512750690384429489868563178964210299829928284221862533777821708892731608300380667427175675378318420578996575579833196670178296098270890473978113413407307716146124490366206826343755594184138076760438845907557687337145802646742475696243198459610088952027403989041655991325556288568178851588529165290054736597317029866944182609026451189195557850434430351587314163270859721518465283620248258812125768776114519496748625586060667488737682809789044662734045763290815644530207451114109787907394241911052423446272255948539232932044074902549797861942162512698767850259321231681790160438782596811221280225323746851772356785879239198575519601435546911789426000293822739546437164893927312145881602431214172174915561884499020484193076211418584875797559649109583782005708889988666568793127122097974262820386747234708082080589203879532575209774738116529580976311963701741222644334739215456082744454273469767375491116913232085784251680217835000319201770107467234056109198098185661775789862240837807839307057954397814014425104439634509900530263904638953969118526041824056766135808304367001821625951558768989350566789674454524022286789336933598143886467476357899147516932876790038232612192444272508075972392283673113053213582936530394870479301124539155581328740577695345595200550934605468687492269385700596883380862590420261984747249638167708685668413139632929880256434956129568747408176595579004126243211931366420704309460950040652343669077343854722199205109426903198326761774805767911384582286825558666626632045657480891304341911286413152942017020728975188978488173581149018615442021461105535691211174225029629789789498863657181016585781895844403722333064657784782348807309977918837490425375963833528230001332087764601094501164553295831426662621055404404191320206606048748147858297419195933803132496259944709299707332670331359464632256589947147565696440519184240789857510831454967002296429127360953023970296540205108190669595492055089972529220373238676667960882037260860463274787816937343883239384770344398857827975408251929107538609328522439271833193239699112806235857895144397794597754973174303830688363535034605732631619158164881010862453574518602736758801556012449224153384761445409101455619857199613031454244658246033333233218542843426968359449296069158749641517362825476274579422475687983825861697563407990030224413302204383749387987766482575634814777220806198531186977954092884047399360104692126420411652024571465341766361555123097963538908910052636584452747953003221132715691125603921313449106817162767624906668422582899202167125039754632174465727816793256106948553162030668598511994591290509405064943990220778448112869985296244654376220711276521625726957103613261110172027297022083354394922004204051239624607408218077165770987927663630620164548017297518703515716851752454685846426780954123265321117080386163404752380702738761739724510140474203034361695282613020382813780603993330160957372479431855709088746355199081930747264473974990302440670620168627379952811135013453721513495006808626719103027850659722478784130575274248700190102490683943487885565583715466614979485115944842270173779741375683295705295602140760257320762489787617967272768831180463285422181772051305436717100944256140638043405028284415401799925082642397112926557046716614714586503285187674405684182885226825721705309702549322817468907257362775920224829051742981627780460446263380227022853519971991156856927450277189254704891156007806133093772298788625979669552876495388494962653735347424765429015080278363693337443512962676267192123156218809671448080868331908743967107513050051374754504368814263493670363406696228748013613472368731522618958298902297757701795871204661856639089582951827548363230257299732751841331640911598455544438051593252013400104945620983986776122040278557045856249868794997025271491286581485731250390770995749222693951506005735548711149293400556051680989247046365285613553790983495942995426965494466742089514317329972882383335881811120103448083235287067298425713208074867632725646966398747976523315368804454105094871178197956946446035009980740563628463524871309746503869212166938027197394859239039187426300338291306655271590707473232560328162793443344388803762597511786657982597707497456344428474972622250702444624928066703948578523551589444681157695789481516567561599786109911572139697319615032291738111146875554604533725825542947719253233356150765302240755913705184780031130337876238621908126307066599393039043885122663758268927114903112336715871203127275480705575521230821532322205349735855440974611668725290359560524394355692698584897464859212176083530456772526723396066772772525588846202437394182874295981457537304476264488948169013916056823032431291155334804458393900445560286332247498812600699199991202692602229671952024787921935139898299859122135624084617894009402560441887432471625505344391673143384154262374752097966503740604833620579982644339257051068651955499356089057956501897906488638385148730504406147933323058199192594312511391260949422568053118681805293412876987314170291486371182646668935009532680435312167244435997660162152622068095623618255390566365899967792874526142856250559696890604951293911582386363448019057524184130535052082767511269186891929235999040922754622980880896004146787751506795952170429858872138649232857813088494423712642389835449392650826957495178686907330155820341818702346320702989466358531167724072804568093526446580236207473720504689249868609091132767620792362694769110027888584077670263251565408089926544346366545456146968625938003439010882084438731002860189855341419153434533561844246090852832321232739787739674859210166960091468706539388837308279607516641505717674095964839230344031729614555095217401670757128355904615792316919109456586560227911408627462842729379145072496458988435414761114334930170456456702048222545615931646866295414795852740972878991647505363375980748382583377849021064407929083054437023469535147073945912591732495274010369286560579553272799894798994411203819561841007394241093776690487263704192433476779870248020572765225229454510533551802699616952985504086160200364444149491565174720899661350314861941891286355794512929809247431809330196297204883636526141279882520837993724287863437427244671613856754388626277488642669959188813112110975471932611549917821170196971442850879277067443687332168335912305977068251772856435866703037613148184651589267833059090241353892614025337102892320744435422635885740507304936366140973950608428259462990918294931098922380881881600069346865743046713548172470951765176731439788852106422683210002046048701996904411281086214626261110354391736370524021501719640457053958339735655420663237410311432933369888852990770416800452753025721411869590362461580111532007543524241700999565803998328704365063924861879625622901038259714734430134872978525389105273322736980968216784459572839267186306169062944040258676574023980140611460822406057576603159292404609540122479383223720341682197578936630592838659050482616908628994437697659295692159016537222263519791204527769720602332447787832183432124844168924628984826679238796527873148712980693838021024231961521634264714360975747986649389628868232257829755781102021173633330303052806530637896492119445240788683527959088976918095856287550510387197804398063357537841724715094128489069787847516759896214091289531301504319663661038390750828919356171786371008646994687926815891550166996933967739162287356697789055237882068847116466056238230106515448751332370877688611869266005079124557638094610965825596466731371860602288813761563356439908682705088391507834660104221350881721773092541661075744046177249025989351322432862137999997224720087053681694427379528192387696885571011931508981736341273168390799113325090114082334857683048393934588670441992050950852083968128413248277659322195495400595918137994922119837779662895019304113440864700944498306829860897533344233312072813487139939639061515525705285391711779359819479726990715139630856338230335620983127230133352280813863500144445679219154583252277907958593298677476185883087766028383344482240195696511032978043511241989153263764883629562157892019298516681663519512414471917136851851449763304503858999832113194551122340664051948850115264805902328696590738501082393166099662324301421402865416460296490654830018208696272286541263580079507698323394641926765972027194547488198896181892472000152461024842967478918838145526219882569204630299409779092489405205075175514500547127359920656040592749362467959900949366175857763823876300757000390676748034443440801895756708639445194656912865151543873613928430425634138970939033762489104912922996284722965677332038973202962841551215565318162053051795630180428788443115580231955370381753049390246517355702198154270724558517315036155966025207276105677067865628728765934700080253930267315353865929163847041715653031119876380454171224801516726907636488704108468991706261610138339503103514503294385007343603179125948968322278585366814645432119791387543843656021390206677674319878295431915709945626411993818401419057200558033752517747250176996678384754224547946113987959965742531796322045044694113240253346384152200036445918290446690581699557578817045066723932228851442978068106711287534711078196235424450782145151319707123400262974287773098700037669923411031097139468027863547233651310366961311132707170718420709149825756099695822513429659709490519495630095175106858246006876392448364569191880309463919176055408987202172687632077723459910893273641383817884193257347574271227046446213966673864106665964157910996215454049383427762989225333352920854243716828357817729759696627220567340512850400108450759316426651329539728791575295740502960191958526807848741177106655164374719692290265250246587810653619260626554080775870658485404522099194943309268569254708813185396551389596909279984900253163146380181248638785432381453621946611464742247574807553771385103433250442159769170531355690124450211067009104669718493533577875496194691928965557270232243799350619174179805590793146136015722511990775615923211780320000418997541976398176949148424962498990711974055483573764564210030746733730715173971416560589257649646647350621234759778363589786565920289841134372096517137805264472916830627278759547076453732794988558568657670205663205975577842540474563140064643679559716171538230224240251620672098540976384700602365233563113327784029487912717183649921376119103685427747479428665324653357233443153898669358294221948236925722953003617394135425789732033228992709879437508412502984575347080936528318783044728245180416088781775218104528336661487922407013052827351638735330649663035817398224352620029585536463009573862367290098213156417533570566359623412934557616234831173254984019933280077210036597289105764916471772823970919293270622177135469427426576213307094511667367324838883289238416648995598420386685959155686098332144630314552831401491002209684282754343929898668431716414457335030507272220748905433117841890744120895898347528382493351791590017153139644766969766209028194666471604155495051199468000491433776899073733054232685628230835116874527014908802997664856521587727778998833644001668262820882935321645289310259859597334157818072665412326102367449571154219559980433725445386724551676840665248714114554846573206519124685733049631447494354579536495252528821287214861823606699204425026072306279673795094143382134151215568994636296110880267356860365408825097867731039648749935314408977778187078275574818413722434766590203160807051314685046092934674275231905102064321100243981803599887792536649922389805947910265326880511283002967684385567838210508045357123330209930736267617025607813791119824345244225243884763289046571663310357441543619283484664565097046926147100426441636159351136836534457030768649577680851324759708420223923500368325396468829345698396020115724957845640330221582270403637901215580439841757413976226229748428408143855728308805039066670796653166703775620129185454074902047909732509935841053192024482398595591091265052008567027297569906375582735821975177841140077321627668361144581108085847253631001246150777722449585938910692283222242896245704188229345735322045770356799156123089469614944220835802463587411356219749723328767885584633459950402370838780803190415666281606224732513300627267411963453899800944036720293030424096809982296906152474635370429542279640971914324054599373169394172473775818117430436599163482895130526496505711797453727699431396342720515505723211265645190171242957973710814257499179409133849394176352459242128435585407857287617208012321928107716926895318165023387051018058827076501001425694275956874016925408740348713351979474614662626728858118635427667439446575172438546837188532288779355834009446552725847064167855463243446505978848253712007833917765575722964413112929644757512669406123245941768205674272166058673741480901650910854183091311081752614573740784281043240652824898800226064873764607655295707240822919837197022992407488591723130876035793078344200656762816673398601420608928208089076621379261640578866626317681831028487475947627704266534110242624561620969717823983624537558867118145128554813587504518806229702112285202472094894434197179481196186112501514250290175488651260337911079996267426834357592165113170677800863105790906339823168341966090964013806177891222691296629695085795517152450970621176411634832107905671137447405040663832879574425013116367089211352120512700481989243024790020108238775085034997049020066467530794106492802546484019227800353939766183567662668179486020114758098940593720388260540664052028153491601936202814181350107865178375735602962213308106057803198969670791068986078379605832283493008616294575385064530559924370564356829680943389822874462888421659306987629183477212020789471654088626715859286404118409134449462896630052879127389603258453261486085778635084764271112585609554391010271214392687617848642284405623223667656903177058602043787409208086030388192304818803800450010370418111003501015947318309482405460885106799648252636453043621358025294311117486798781448227379005663789525171483889541702561104931495557214864896667896784058680564238491530487057553648723590122486919828754471981561860324660481942884468046758012088309569403764090014625878998304864623720521886722619804726221170297913783489766640336185458463231551507020307955997449384563430375754700962672077273704369009446482256235036320064121606238909755600133278537282113361569670643707469649978587257958957548797804463067326219357002096523110538892138691618073619357746643034273676207010101768152454120430589578160928398264771500175322845596017242971077738793365662789011280978265973090763121242675580601036017877222321661876603707141196028431108944761691452815862707967618336183208467112435077291936708401204230656900671391745662367897704159191737183280378813969560633355141034426308402060518504926858241710027665505581999805588786235798362676202181134656508955896645687855568606861028889975418614993423659821669547140130729768335089788743744136764993621913007304265712412031206513234877385901225144362666408263091763718429884754438794594495243560830095764947305307078606899218394114500791742841150099358664161725337121911700625648290867384813479567609875317831169071680813615744505848573705473534215997121996309458347214550971322206000801492137334393468601970396649128500713534829927487634164073844917540758548147549820321981321437457589196970514707943353571276048873529293429548468379750740591484629808191424431264345781704517072956770458565635415756437052313131060045228941309019623333127122834771180259713964174418799037039925069807041694317609648811067389085941509874842607115288994654491324350539034606018481005333018020233296393239673172319079634974989775004208886373582367525656572007395219798686710995699382143196232865987790782031443794559649329891281361369683318524285698189610675367710529148987745101335510178959078985779094756801077029759741768187600265327121684052029457547463051288381978802434700462313172910253827008043057743487999128227666862997346800665769309000429795488516700771441319409930639447330372352207764467154908911676902850033242964248385534349192771146892225759806743944603769900351469349365095153476303930119008483010127705426584813171847870845011339103115319308513918006544334328602178339581841854058718071118265059874273290981640217873349453535705837799231764433247316787425158962047926605580334892957482431939040231998764067019443551846832954363638945378865644711096496903351456828653582314525629735829423234701217091806977914449934594454534179505147062464164018553708587401380328005075531511585113624323367548552371976371461940908912732836746714548023396263550126238853045181582589512632809142007820661325695404069985914295909280248142942600155011747975303794067606836176417198636785810752102692894176334093258681751463958271504928966599849956795879566262226540890773615165695797416048202240441539353473009655334021052722270118899185424854578480097841255429950641481280771506718137922851108570784966093338757653688852819117183160334424703705617958179345578098876107509317449616401098402179546625170553217096297746711528168893792453808808174355465952872013935803010907639701750575868382227782004138124493236407927277004326683262412417831455447899815634155738367629898151965071473345693824162805552706989165197434091691421279996822275170637793603172131431654065635238343626793415605777299072432285936399293673433931845276258991184739380456614037899452912618542372239914694162208276958698005869863765328636960974087815088173683532484407270907649390198385057967990654778060340469850834366437922807513239011445806954654540911338794401026772204729343526150892977943516452748121503512749157155521184551190690594686727952236195706979272148654044534644362544146973152426012137439459441815060445093425959672567565569255624491884065838973420889156102946904850872132598536255153129596861745709522138903590930540071199039148642584420950674820235411378576293233842991635217513958437647852564652345728703224053206689830484567626240251817969012204045638230170895085799672580272068581695086708867803171661397274216694106633884651600357280900602283486463408822952942018964088359258416364883191702421353389001684869505622460510666083308762425532685010596889073533660231689407268270407229200802446039378899346699113513546727332673850058542677659664062091861485631923148779945811051424301951901304866682413279404963014305933115102011255046676554284852131257132131148980392851706144975845328590909251969503316604553251992257423185728987029388866982199651763745767074288058397051858841543053440252746166834235005618318227126949802671357598297222254992226176231602224929033130155685234555234480371382365216523177743941714773708323291873157992809278958396766238243354182762906786223662480848016500426989084906980266282139798606672006022826071451023532514925875416608821821064050880047807721853056668552590266381062968936139892019582299102843516083075502234434199821778669866720087991321952815519725896121712826582503353154355425896963004551946993228995611574812574712200591719337723671997818557503286117449397975737283653189135488426171751183901540412344376858081299798402745058361587318678746477644524414937554878170211074918804387762199837724918688327823744905657645234752448563642594431674313180637087356105873359427770839383024274692982022981564578578085197675591900731234757325539544136089091973774662955751089624851849192176788381399084687114582454955299693773497695458268926208037008734677427188254549997024813561300100777821569027096712157535458336228520247943603020651716708666367554037713352124730396729345293151703420617010523046318446274118423164946775184356333774875487891243076595046780065914456844087066044597957392727602916758672600283224568657784762340333183607758939902989174510006490161818429424008762512300624079295611116522853365111881344517849249307491114178506435265946837337516455209954433903446433015252752012636859029222609751269337850260232599593491717884768579735480786645100559317368873293066819761811413051551839755223405952333933694687245459524006002650841291365640841172369085208111459295991224629324991980338202463287992950325652429955694593613951687614582033107407673134145585256483315318604425274852765300701475484309368414317158730955311900602127648155959479494087181381734570206874551912136405949439402358779382336664903368292259710663652007680191136127988590958230586577894588633058248915426786792505960282979870086109596600112626262041731278564307700778013089092254475337022712882581811198859209499163609371382753695140415015082389301331718253546358614549134264392226855320258897820802017982129505197873645499345241738138061783178141020288960784868373237989539953421062908855323320081570360267874039280734842654788259380463275657448305317543977490364936190445231260085967966457947689898043536477009594578019590666020218040358062466649225613697435162976090496590579793102576939676851182542344410856023810867477856003628879628661060409393125363703519103882324538478398603856565136529910318057097297940389042522496002158325457886907574445401685416448343108485999506324288043201040854627307184735092299233400644840092511377837974481998408594691538771712772277452989025399151722895147598484947134941943344694240426899936828279835651752158797706517413492481717889728580394443840823069418382508136297054233741338564868699134431309370026393900180232862108993527876516086799718686168700130826070736919633040996784828828059614411164271452365016755140515537174813665026201966015160732720955789768815341777962860871810215571073729493350438930027494597989902665227403936546013130998330604739800864533836786732238164028155312551959178317777221459812839921601826687146281828131500044421002774027547692175706483886347527046690110233674059783253511547246642934292789131424277701493885515768879307399784961948950545261429695333290854069005300538059996951964971421199780127893371833395601230880868871962494558215763742199487969610031912992531558381812588240639620859679277846902140979778807409920733949695827973379096060953777142848410210543331268736478931899955267674456701936751208676561013234908009852218975759053746149887791796683292306073693003040045675891201464417420052667884679147244464326691803067390819713806580526151283241579649847893494744146714368437716848681309487919015429813097513534262377456980078397273700266321015435491917273247903168884214174146296337209351551070409840758417143028778123312758314737685409385693179346696767563145462583173802516403054514201944894757766915807828758039166379334684969871376690708393591154633224651149111701187043212486033969826495604843950733078507703972966020829704228575354803803868946785809870517713386712794810417982940514844535212826951007682700122908020478825051130858913055656791845282723936856277316238356236828418198803678439789736795289217538914885620071992836715426612120454940012310661911563948075081775737151704277501385384245300727100606647225348566015449112255059669683130358933949636429576532452099911852147850244400373099092861175955767239862792959640128898326106759445102473877735156925184005373284864320084568533986674234831908149322135606085842541892319598353143489239624572881992944018873733736444591102733004876781458147178606659453066219565855351730670998520513498052184056332448454776999757666044389345995552282140204143913603140612592682978268726663845806216650496202217662148021564175080207196658137533811021913940422280330716003963716849723908738914117721606457984816303468924171394364865849939488529852350572528024750513904563665800042902089968449297100408958822979893235546145273077509720816152547372013115881141420963825769423385090943930419889246806334752836939769577535267694368252334410712929466834219692046373516338705601602654462782756083789331159676697332915275267779185103953009496583564615272844503002536089901377467729413543454642102604637824326552733951530482310283080537715689813870370941938261635337103217706978041521367122746504779845810690499004942886415455106473993306273579830255332424264659134429118123262864607254427607831828085733772810327020890209294593340086240396956865267829636792432473965863132151747285400