10737667808375768289867767807478668066877676838269727077888275696787738482837176826988868474778889808578668170718877858671706574677670866978728985728579827479831065777366687874686669897275668379776676847985857468826687678282677166707681807984848069718287867165746782718768768071738489688672696884858373808089868883858666108670697879688165836574798979777183816780747672667768657289867385697775838368837668696669837878787180698368788482828689838573808987658480707969768472827987727010698876876889838683808776757066767068708576846687807381727389777789657667896965838688717170738475788971898674887883808566817480807466827672857169837777888774741076758277716678878670848986697976808270686765747385898784867170748287876565758789808288788880898074718476727084696984886665707582697483708682697876696674846767107174868283687987737388767368886873738880698286836965867887898068737887688276656786657872697675798675696867658871678487898379676868657187787466757479828067696910897975698375676578868979827882858384698072808184667276827582887671748065868267748066897279837073777665866684816768698680878566707183726777767970778077697584791089708185737778788185747182717589777074828385738873887779737268727986696574837865788973727183738589827984788784888771777280828172808672898187667186778069708865107181816771798669787083868577776967757669667372747284897667657675837078898476707481657079798383837072877282708389668376688389797869677765788475728482867577816810838868658175838276787080737069867673757988696670658368757185798985826678678671807576708583768272866986857487677480738788707887657088797487878972757269698388761080687477777381888889878769758672808786668483666868737274687187857473748881668880678679747175818974796568746871797879668287887771728771656569806965717872847171106885737271778086656987826687727471718072738589778773666967747772728681787572767576757080737966818582656879658076758383776872867570786580857768738773657287676610848666897568798878758367806689677177678972816782817583887485667081686968738368877087898565658773776772868374797486747572697677878181676577728982698880716679801078818777777468867077718081856780768482767366776571788279797269696569817778847685718475897980796676737984756786838079747188797588856778738889707083837175738876108673678085717680886565696579828974847984847866667384738369717165817682778269678371678972838173677787887277657387868381686689708375887070697488757789847081677510706673798073887872837175857080788178858682698670838589897869768472847588707378776984898966797982707680898076717674737787778883848269848979747883687784706973891074848075776884657767777779757075697672696881828687708369766868876585727789667976686688847671728282798685708184698877737482777182748071738485858786858474666667108680658387817967816877658689737876898584838081827977788880796778716872698686737865858086876674736571678587867976736876658281798984867082847872847565827266698010687585887281778566807466736582748680797875698871798866896670796980766765698187727471768471686867848483718883777983787884857088768367788885757069828188658768681081878887878176777467656887726875667288896976717468657468877873807571797587658773698978697481797565807670668281698467748180857368668778666577766978657387816572108480856683808489748673687768768272747275748486807486897280668176837777766771757869858183896875737782858678817665807774728065837379708483786972846588786666887610808371787389677579798486728781807688777276837971857986868386747379828765828975738072728969888082876989758780838370798165766875678572697773808666877067686884851067888578867573818288728276756878737783858875836674886877698872718869868482707774708769817474718288667886787389877470768070868868658565826777697274736584827376108075667988778088868574786572766973737167758371846881868973707566807982806672788970657772728876827284878478687983857582708269737283656586757885808074876573768410827081788585697882827087747573847073846785748777657275678288867670808966777179698887687272786677878579847079727288847680827468898969657675828273798881867684751075806770878179717973827165667689688067816684767473766771898781757985827676738267817675837786848277867480828589657167737066658280877666748485787571667085876578107686896679846881677265727367678889806675758689876967688989687978667881807484747666748674786574798075656571666577686879697368847484766770727682748780857580728910728266736667757872786779867373706984727467856678828375697582718377726878777868866671758981847185807969847673726966857379777972668975797888837466668565848171791071878566746875807270888885807086818278698073808376758370666684756681787587886571716569668274897566797983877076738271808674767375688687658489716565756884867070108984868284687069867685848573677376887078847086877273656869727368697287657567697380666776757186886966776673758882846586657371717778687766738374888579767287727210697684708472687766687568768174657280797388738488707575797384867770838265658579686589717782817989736974737969718481837589787178838970856667766968777682706973691079777987688570897689747679836674827272867683658171787576848482757373727768807882798870708171797578887167827485658971788667707175817989847178768578816769888381107882658274747876758689718871787587697784756772728066768689697979867974726587837683848283667268657880846584677474708572716587858678716979688965888484838769878710827984837488698568657074656971888278677183697384886877857276846668808679786676816681676887746680896988827372787377667084796687828284717087838988766866747767661078738973837186688589737979777971697580747275757286797370687773828873658381868977867468778682836567757776858783827668898281737481837476747275867085678281867882108988717584687178827479746789838382697069788267847769767166668867656979867485766670677772677268867675656767688680727488757688777869677678898982696669796879826510676767696970658680758465888280788684897783656988667577728969746773767177827476748670748465667288857375797379797667688366726770828177697386828482657078657287881067727483826572686775877184667676828883678675868077697077766978787689746889817469677375867488756989687385807278687683828765707776718682737866778274898085876766108672758488827268686787676970798176787584687873858774778472808670877189876573676878657082708675817685787973887672736667808165858073877873728076858083808781658110688869847367738175748567658765807089707871868969788484767786698284737768778586656981697178698683706973776572838068776880757273708287757284717288897669798367721088718077738970666984718670797177736887808770878769766883717367718184846785666866887487706569847474818974888971677577878185668976858380828783838770826972868881107379838277826581697780877481868878827870797265787982828681808089717381856581786971686680848778748167817276818565757988666978677786837288778569836572758670897010886888717979668167817970877073756666846780807173827984798685868488856579766970788586848466676970708972868178717369678965898687878187766766838188807783818189861086887084818666676570666870876569788783836676766666888485798683778689727885758087828365878365697365876668737769777766726687678183666573887765886984886977667387106870897378767967668074697977857580858381728679798079836982686687736770888187668279778669668481847974758970668087827368777872768676848667818986707783768077677410687986698687848682698971827382808776778967768673658186817089657578878074867670808172867582796679678081706879806970768777778787658679758566827582897469846570731067858974897889708578677265667266888678858772728174818668816878866678706768727266857673857782887779787278888072727368776773658874806876867585877271727086656873107984836982757666858178876578857671668867788589886971686571737587697067868080877872777572667383727683746679758983816785887870878278898170808083896869717179668010658766667876667367706867837565768866677183828982876888688267838466848679708987756967776579797680818086747485677266677585717180726578867377858381897281818769711078866989716666806771676577738085767083868281797582886973857381757287778089787068867468748585717365666984828570778374878184796868788083777165816777867872828480108486847980798667747065656681717069866582696875728071878765827985787376688972717379737682898289688065878770727185816882818573787581897982738767877278827172817610658374878883708574737968698781798083707266697566766585847576717772827672758168878982657080838770766980807465838767788277898866738077816768866670786875708774761075796867657085877273798775778883697676747972758486817268788181657284687289657072748471847469798080666672737768716875758369668576866584856666697785757171808589107288658172798580827265777869756765758687788969658679716871696981676972768469677879696869737871756569757968797965688870776974687378778574848988736868777981868910836574726988896969877481688586767373738567728577788867678188687465788269788375848286778581737167848087888982787780807971808582807376878869728586697283878367891079848679838067737084897874847367698489688973888779728377658578817977717467738275708265817673838168848669688668827086697383838974727084748178848672877984707377107569757972738565788171867766868673688285847181827878747484848871887388718183737276816888836685687077886685808674687085898984738767717086897868757273766575736810808769818384776989848966838574836582888681796668867481888489687687746880688286707987737283846783766881698282728068898088658574877079797574758088756572688475861072787776727184897485817485768685817776678689848674857177818175897189778070718181687266668387887776747975737571847277738970836578827768898684816668846987836774106979657989758884837767848586867380757982717573757969797887828968718983707683667170696767676576847667768477846966888481877880668681866870797076867681897881777210697986896680707081668680797781776879817370888767768068667380737869717972878477808674727786666566808377868376656968687076838066898780718675847871708583688685691079788375737175777480828673738774727880686574817379766884758989897984748866867575767073868071708786876588748371657174858175848065806665818975677782777372838069108178717987898589717284878280808271838287837066708779817274717668868582858480856787796779708274767568757075797675706782797570827465776987676689668166828885667610737286788277666982708672816766676978716682756883687176666979777786756781656985827482896786686965817869768872696678806982708371687074847080828866748971726775741086657872888578667671707078887781698878748070728181748788767574747588837685727773788379668368848966747483798374726774728184826771808682777072868367758685808285108167717683668566697175876767897684876872677770877980857770787488828074778171808780668682708670658374748888798578718167787176786568897786726884876982827678877610747387727278698784856674687787688286817869867466676785788283676868897575808274747975868389838881808172867783898185857080807283837371718888827579687172678971861081896879778879688676757666827186687969667987766967847671848467778472677371837867698980728386708876756565747869767383846979898375718783798074838473756668747467108786698970846983698977758076696685668476827072788082828468668865876765678871876870767885888286858683738065806881758577788875798579818977878680677571897565887010868380768371827683798873787389738980757977736981837783687881757476668871748083676981758267776866677880808887718274898589827374707474778389728770887465678670711089858881838787757289737183818289676678876785847585687565678071687769847067838376846884788679798882698585668170888682888874696686768768808186687589896587787985107183826886737585726783707665747478717768897673757772757586677269876774847784798488726776727685858474658485736973838185798367858169697782656676887380748366698010888083827668888486817977758372688878808278837078688687868968798784727972777966747182868377718877848069757377657875887574686672897588718780747188686881817681681072717584818785697285818388846588696669678381758184807275666579747366686688887272838965848368846571656989817980767089867389778474788875788882858483888077687479107474837566726777796675886788847676828865838087797487698865807776897286677988817166677170656583788581808074806983777583806570666677887168888776678982726685668210808472706889768877888167658870687768748169726771738780758283677480768183766782656575696774747086808079868984697281848275808684707575658879828881706783797888751068806766798670877765818782808387656887888482887587677078806865868667877588687277706676878169868174858168797980788185667166696987716772727282847983717674757467108769836584728372887876718180767886808868878065787371668483758680817983758876858666736983888071867269677186678471758565687088848979797677657175687980867972707610827678887382838167808270888266877480738682827486736684887589746776896686818679837673887666677375828473777682738485678271696873826776808572697886787972798183661075777489656972848977797081848175896765847769757582898473827774696686696665788866657774837165687069686781757766677688787075877679858080857178877367716774737281107778836988707267837280658380797275718971778070868278656686728575858081838866868373768666687575798177876967676584826588807485657075826573838669667565707875826910666966727368746887766877868878667570688688656566776571677766728070738881797284768489898289778574848870846572857772698286708977777475688884897780887872876767741086667982668977817383737088748278836981848881718181848881886865847181787480656589867569868488748067667467848283757884687687687268858577778780768365828287806677108469888765828278707681837585658082876869848581808773728666757585807384826577707265876576846766768971808468737666848389856875808585757886878570898271777875818910758782716867827186777081808072787682687481887982838770717586738585676688698569667277828767667780858066788183717480768265726787696965687485747767866967667381831068728582657888747076687385717089777169866879757377807580656674687569877582858687736770687378688586748489886972788684688688796773838986778784777086847469727967106888887089697977667482897272668267688080657567707186817871708276718083708473848784788768856587656878827088847871826984657576798168728888808287767086796887777010676587756583887177676878798167728576708567898280727970777882828284816786746567887072768489806984677479717673868587687277876670838472796875846680668076677280861076677784788683758586847386858079818769847488876666797869876867757280708778887275866685828875727975767584767586798976838881887489788186687971787572747073847787107165756678858967867588856688716576878981787071657982708779848785867286746985796572798774777074656973838280898570826567738766688373677079898482727579818787678910667882866881817575837883807987766566818165777372876565848768836581758686687772797187748878737480746772757982847682857281886782817980798368867476858376746788661078657388806683668578747978787169688685866684707979656865696667836877838380768776667365798673858971838575776766667069697672736976856569767668898076667173766974108487726974767377817983688766747387747975888576807179868167676686667568778676658067858589876974868166718186847169736986757289737374768672898887678382688287787810808184717780798188837975678084766672747472747176676679876567758083728872877766887282737573698876797285868169748570888270686887887785717474747481668566748989861078718376898985876986817689867387737070837979677181877267897465798286688285658165867278876989857769677286827767737476777585786780747072697065716972876676868889106766718885836570707982827672846683897565727571768370797166787069817967787470838186757472856876787086787974876569678175697181758972797781847075808384657889766810717282858381878783817389876676877366746685827678777278657489708273897867807766746874756875876585887687857075738285888471876588738978778066786671887874757576711075657071708281887780848577848487867274787588798288676873808079658284718777888766808487677883677665768978767872748377837569747586718486838483867479857868788079108169816980697865896585747069876675818770778369867289767778676971738577886665656867857972657676776975838170877980886669787073847870717874737979787468857680738910868684786683698383708872777368678177816585707973818471707481697177658681856574787372858781896572768374736565848184678871836779716977878977717887817385747487831087806771806967738869727187768570817469828778708669818380678073657077738781757381818265807087868872658171808867867986768476848484716983897968837085838568828366108986827076837373747184688281877889687466827786897581877873827973787478676988777869738289668179668588697976658186817876897267728876886580867971688788696681836710768271686871846687747988818171797071818769726872726876738570777389837669667070658186887377718984778382826787897466788288856971848983886765706782666667807468751087886979666680756970706765767484786982807189836565866781707368697172857273788578836782867866826672758479767779777584708267738775808485657282806884738974768178108468727580866669718574658984877574847276668967698377706965878284676671828773867070727170667082778989896665687283827889827782797983857481707288768069838375757110767672797677877169777086898977808375897680727668898186826873887986726974846882888088878189767182867170798082827975817180667269658175747680677670677588668770861083786874688769827485658988747188668175777279657981767884738380687386787683847068797267798275808567677476817465748780687075867683826669778576827684876778728273107484828775688886668065736686848480876669827787707384738666656978878875746975717066717867697588867289656777877285838082878388758089878968757275788065808675808210858085876782718978898375828485748384758869837382737374708665878180848084798883678779778173746566707666756974697984798480818473737865676789877188768380846980871075688885727266876980838473777081687085727183797071748566797765898189866573878977808374887281827788778570727475798372827484827377837178677177818670678680857867108468878975737689678381767976876769688073766767727571716567866786896587757573767766706680816584857074718279736689797289817168797070768281847170877671806773748910798672717580727472827588888080708666657988718485826877867689876785707370878381697568707583858081888272868869848272718085707888658571728466888978687188896881821066736588726982667888827371727371698281888379897285727084758878777280758184698274677683758566828985736579898986867468828469717176868369838788676775877770666972108679727581737377827970778376857174797767767570788769667070727767898479806988678979727674857380708767747679818977866782667569707665856671856870747883837567758210897969776885778081817285687865798087808784866768768688868875818989857770806685748270718885737776716873656675717773717573846673858887658188886582707180657970781087758865767673658479756873797871797571707569706976788577706767677766678877758871677576776689838176678686736966858288748965766779777177898477738887847789847382107075786983847278797287787476828888897565858973858669728765807971677077868984767868766977878675878787878286727984778984797973858280748082706672737776857673727410706973656783798770808186706682898468797674828582707280838087678769768773697972766988727667667788706676818671736878888670868970677769758383837165838078878266851089697180678065707089677687668166808576738171818365717389657685898368818585846666836879827172858869717385808980807066797177767270826668778569808074697280766778108175887865877182677274758685856779867069817684718589807777846768696584728765896672737770717274877081668667866987878474747876788478746675746877837666888475738210808983766981806878767888896678838087876773657966788266736776678276857082798785677375677477827069796773896965658282696787806981686787858186818572668883808088861072677071717074668778688668757872777767687583888287887677797674887979698786788885666982727970796682837167797187767075658686748475658875867973828277768968818069107576777965847878898878878565817267818266726685658071898487826574687865687279837377737072758880788172798975768968826587818289658777656784798569697176768174686910667885676571666865686781886783857984887675858081666770837873898188878389708667716570898872838588798574668167838471887984737976727871738368776670826670668465671075867676797869758469658180816987697572898084668579676582886884736671868286686783726974878580866665686881656978797381737384688385767979728281676586788983688887106966658768717784796868898971828682717566896771666584678588658467698466726778678184708283787480728167758269818371768569748888786783817487717879658573867383788210748068668786867072837483817373836889706571838173796569898382826975877272837077688887868272707775718277777669866771676889878570728477818082688382678174748887861070817684698080718885758982726966698382847585776965688176698075747186687678868476817175757981768374687986656665657183777573898482856568758689867971738987897582107378716978747181806570687369896589897076877272767882757781857166757970898876828076878387668589678470788279876869798181707889718978786578668268807989778286788410808574747471787885717167847075838365857366797983688070877686816681657666736681707488746868848989868472657488837978667789877068807381818182758766737171786870771089678766788585677486817585877875706969888679858987697175727865738089756884727370688981888869757074796972686674677082807970806588797768758476818978728978767486108789657269688172747387658079658070778480737271728780717669837266827473867966706574696667836882888378816686877485808271847580876966736881747381867884887388827410817165826989688979887373736573786781838565667886817386677381768987768368758967658775757278838780768077778465757775747983656584897680678979696678827885707485871085757672717885848969738469768170897172888578667572807079896778847889698678668079706675767766817872657969788079867287757189896879657476807768718271827085838874106888887476788974888887718988748188856981727287668179737675718580698389837465697288667865666581678787837271807587728474846769747465736974747383747773767875698010736673827366677073887967668678758686817272896584767570678677827178688886696769796683836979718177697284777386738772808970678378818676796780838383797687708280831087877976737684708576696779878072866886658580847971727876656971896886777674718371828773738765808368778565697979778770888974706579667768778586837986668883668078107169757175678887666886657968677071797383767276657077658880817888878871736571706874686865717271778881707488817768707968877283877084717886778565898970897078708310768765888782756889897389726786778667678480878479866580697886876685898982837487837671828373807271837465757187667087817477797380747282696666668679747874846881671088677073746776816668658084757069828775856678818265716784778387758667867269746572796787747769807169656770808587806966758185746883788965847667666569887481698989107366668084897874687986867672896985667179777380777980877085887070677386867476727967717579787585747869886579817769737676687783767969727778838470856580768167726510807865826783727367838572728083888467757585728081747269657776676766708569886779678774777267727086758373706765887673687785818189838686898765786665657872678679651071747478767477888480778173688366677967898081658281816683778083856769737881857875776567887185667376697468857685786786738179687881738769898483767485807266777376108977876774766589808674727778876888847589796875886566726978808279708082816684818180676568808873788483797588657389688268817387738077657180868974766774818474677510698589798489658567826586678769827771666769677680698874897476748073757069757289796666777189838876666680706967887367747476878567707174758383767284788765778066651084678089718489828873687570897976728888658376747789718078898378838571846967848866676678756767887467867485728474746789876682788680868186657784667985796665838974108587868272826781846880888870847866777667897070816787846780847978817570886774818678728676778166817077857282656586898489828078707288777267878988777185888578897610857671697074696673666765818272888287718486728573788271737072876783707265797866657971657388757181727975688670767689848771668474868983868171898188708371697079871077717482698270818189808867747288756586687386847168807972856971757581697973757289748787797171778473768782728465777680877384688571846585677568698667667576756570108376697785657872787071878975827269846974697278687781788866806885687472657787736567798768668275717680828389708676867674886779857089677176658176677276717670838210837376767381728679867177888572708677787477718881817489678183847466708676887073776681676676767475888784777182698768708984888569676767806572887976818177707088801068887483696989667469656970877572897789668465807281748786798576848388798769786578836782658969748881738978738285656884888480757875757075798375697878897877688778108573797581717283766782708469866979668170846774758273887177888474717686878468837172757666797473687589757268848285688269828065688876898871678177756865788275868710878872716866888971837065757068748267748870657782687772878969848769686872716973808978807486848578866978687167857679687381746980807483878189737165888675848072721079798782858980748185827271898786738285668468728467717186888171777070706770857688827170887269848086818480856677897483857374688581746784818972798180867987657580108667747989776688878685727189678975708366716682888378798178657176698265686968666867867575877874748568756871696689828182728365848982866787657067676878776668887510886688687469707687886869836965828887868589668868697882728180858182858468896679868985688466687689677287667587698075868966778484717978748180667781888276898887651065728767828671747168767482706888878474787477676575877876857877858576877973716681767766688471668165777176657679777367896880788877668867746968688080718574778868108075766875878265708589737777746578726765787270708976657565888082756786888978887075898088788988687367688676736875867087877078798180777979667986787877766678766910878075856685667882717681778972687985847088756976888365667178707071826874786988727574658775726766698873677377817170817479718284777487878968857379717378838381861089796969658485738978838084757574867471867868716976828271777567766771806765757767887082858269697981777771808375687569748782767684846688877975897783837475657889108165788782727485847869847082706677736674877975777270868470778688797487748171697885767267707971828772688786807470867265688688677672668766736679707988728779808110788885758677866975697179656983787684757769796874706884678274847174818371688077798483708689887777848765897870758474698866798274887368717983836879787375777387651069876770757481718385708776877175737483876777678367776982876884666786748070658666856888726869847881777785667979696885866565826868787785857983887587868465687878108667658169817075846773866865667380816877728676848374788579687575737767776874898977728780746688898466766689898683747480658066768878787784877685768583666986667010806783816985778769897971818082797172686572818583768085827688896668828572777469837383656676848282678584747679678972898183888087667582738966798577748578878171791083687569806772797473736971886674758384758773707485678782837074797484836686678072768877848978717474658671766680717079656685748071717372697889778988898589776673108667706980738488797488807175727981828685708572698573658488667086707566858585837671846879697568876866827387678084778279758584726671758866708480797883688469748110727575827479726967668579878188888773886581828070727475688086848972728183886689676784828975828974666577848469666780767070736769827688757489757768717168848869701066698485898986688175738785776877656689756776897185707679688084708579678680898971767470718774858777867482737388687876848466806688716884866985708070758669868368107480786688866668777789718079748186777784847389747875738471668782817585817486868675856968777884736773678681677171798165858288787675756984726882848886877574838510776988758767816981727178677168808479847886877182886982757975736879717877757283668166798575837569727284707167896972818288676568837383728567678684717779817267871081748388808688877079817083837579686886887166866772738388838587767182758980758885897967857277747781727589737168807986807484798667727366878389858280877989756576106873866983677274847066706681667165747287677482876682786669797972877878808287667669708471888577887286857672807574728977787868857781756974747387787881867679757410867471748188856772867985748582887669678578758567657688766576878885717576697081796672747767697779737976876771666783898185777886728471866678778081846670877282781081738980777181806682738670888477836573868087787382797881897269808168706874868575787074856968738771838588837372758987688870728088778568878366747471856975897974107275697068797980817783818467728479698776888888747283788284706966807574856565758377707473728167868867758867757274688769656773688483777985788978676988787881827510798687778972847577848177868981818570728285727165787180698972797971766872856582728474878275807572878367836773858281758680847771656577728577677073786765658278751079737774758769698081667278787980816865768267816582856784798269696583807780878272788380687371848974847866887166826770768188838788767876697570766565666973726575108384658484718776757087676882666869818175668686698665757272758266718487656585787667778070708175767367867688828285826967677986708780678782897768666585737079848110898679778471728166768368668173887177888977776980776789848383778279667175757867766587796879896687766688658170816872806565757784897965768981787781786884676787661080666581827074857966858176757577667788676879798467828071867872788174697379807068816884677871798184808389697286736676798966887782738467897473686876897066738782106977756881848966877882868180757665697865818670847471897579886783757989687365697280866872797983798573817672887281707469867273828388818873816883728986818077767010758488886887718569826667897484847475838569887878877669806682877676857680848277887680667689877276756573798886698874737875657588787275706769846781747069766876891078797269796873777783676585798873897581668077687387747775796574677981716986798375728875677776777686707978838588827175678578788767697071658467776865887279748668107267828887778679857483808771776677847579787766837766676875897185686685658081817667766689828166717576856665888479658782778866726667676882868468887072658988667010757967767965736865728778728887736567788588746588817288827289878380667169688174718872847070838073856868857968847078828785848680748987816878657479747086826577651086827083747379798872798468757477757370808971898082717674716576698583886967778367867286898573797283848782678872856986717586858081788085826981856865836985668369108578667982898979688586818183737571657266718886746679798883746878896969827168717688696782877767717774728675707076848674797177697284748967777378787783707770748510858367837072888168876883708287777673797886876976768781656965856685898468718586778289728982717670806784786665897887828066847670817589848486817380808079748668801078707666727667877584797878658370788566748182827275748684728976867287897975677885886774797067848587856981808888657486868186737970707984838374788176877283676678106689848281828281667977857787748270657888838776777576846980888283897776807170737384876871857988658076657575788986898665818482758571887578688388888068717782727710748577857166866767826984788671737069858374808372718681858088736583878789658368687672898971727576767071858889707187886677867477817474837468867981698082778769881075777173757280816978828174696967788085898582817688717175697575818781897288798867678385788789817782767677706766687672808082657182837389838765856783838080847367107685808965856771717486886887718582798576798573817866737086827472798973818675876986866965837685756782888179727469738376697785796687878485738465718069717382698510858884768068888676817383706872716769678879866586766969868773828474787089817085698670876674697478767776657376888783688382787776876783888589866587668789776775681078897980756879728884658074806674828672788570788374778486817189717181878186786584746776838279677775776571828066666785658466666574848967807967768872878266768678108773807068707169756671716973737967738385898671887071827182788781877786658567717270807877658666697184897182737189798871717668887582867779898486717474837673868010818380897788707777708385848885698282827283786889898085756581658176828389806576697171676571877188798872727676747568698768878884748079757380867786678188757969731070708380816989697270667769667180828665657886797465717477877888678581827987838569658683706566858287888477867586898372768088748583657772877367687366867866887685108774817572687371898383818169767670668469748875826671736971866671728483798866868786817877856789676885727985827189658168727772808466737489767288738877878381868610848370738187818087758371876586826971686883756766738188667487896882697873687188688184748186737365797669748673757166767475737480658070768476748770687386658171651073847182808170888281726766818468728979667866658369738171658774758180697374747166678071707265768167658480668475736766816965658183838666677274687589768273776866108171877172818182868474678474847767828071896675766786697675727966787774887067806886667380786769808486878587747265727678858569887681757489776669746877668181717310776972736783826968688288658688768073858186898572677573856681707986808965738169768686768684777374857067836965657375746876657667886666887484678880657477858685711084677477727478808689867266727765738065847568826570697765677474887785768671667867677476688388706679718889768066818679846665688979887775698066738275848669836672107472707585887677866771876876878474767280677388848384808979847288687973897787787489867369727289818473738681738276677576826985807474667389888875898483696666688410877867856977778080876872686589787767887667878667818171858276798189847670718987868866706968728480748466778189817583877275758669768280818981788782816886857582751086767975708066827388898675876586808277817468786684838981708169676785777277818986796584678886888078787189838665798066718582778985727969847071828671788869748986106579676672896788817071768883788565678985727079707968698577708279848481688585687665756565687885698087668967826983857579758271897865828388778774807274807787788110797584807977877374728784676886807078747068718083806675678988868075827167697075797974758179717286858167888982837983708184717977817285837665706779797871688678651081716781708674848180777686698879768373898578677470828073787075727679888375757767656780887180778275878370788779838172687077797966707784838774878978778984677978107976738489717584878288697279837386736979727876746665738769877783768677776788726682727189888974847479748267876671887468677483868581757485738386686567676569778510786671727068737866838271697767666877758888698666716670727084698587756868787681827175887789677867816667817266827867658774846671827874856988788671668684656574701081757473827567737967728887747081898176688166668869878470877077818386897574688588716889707969867887748279778379828375878280747373727486837881828686816675878989108473837585768977717476896787727572847365726584708877717474727571806883777983678869808771787184876567877469827968698779816989898667827483777881846878678387868010896678747272657578886671696570666965778879658173707276896974796877697985768072658074718476798781817479707672818479698383807289687778886570726785817482686579861081667788798479737483686974766877658277678784708578817783816879747168728887877173827578668881806575696975667470816584748389656771687769677477766889667289848966107069718272808788838372788274818879706981818469848572668567668874726966798765778283867075708874846880778474847972668267708567796772828171827088756668867167726710728782677476838179778587738778757171697788747776768372848781876980797389676682837979808779717487777877778889887482727079886786798369808773758189667388807972801068866783866881728866777989807580758271756583688984768777687167736771666576857274868589877776788968847468797769736668876975897979728180847887687484697171818471108680826769707180717577778579667486846682728988818367656785867584776786837469738079886776777188756789687565666884707088686775877977837487878579798384677267658410696789796767858873658676677375838670708569657683857088677465887967887070656568756867887075736673787170837184786866787276797065816870887171698174718081838882691079657674737089767278838367898585696584757388678471827866827270717384808166807073708868728965676966888176868371677786717268787876727170748875847075657777658183106882748078708883848489668777827687658373657067708069846770778773697265837788787384797582666770656988736968767485826865878087738569758083747067688479878781698810856771897084756877786876706586677272846583896988858386837667837170897277868480757483888286858468698170878275857868837380866688666773808869717579667471877167651075837172768369668688767884777987818979826885678287788886846887698670787488837786818877777766766965658668888888877788837366807865876674878489847787738977747781107678778178777975668068758186888183666883886777756687777871897184798377677367777484838477798471748674678678817181788372868578807474687982726866668688807582868510807087768581857769788666757483858388767770797973767989867385838968837765747279788875817387757080738168817384668473678083887682686972687881856881708567677274851082686575768677707179878979738484776665678485717665687870778765716765827886718369878168796687738188738383686671717186768585786788808676786970826688858089838982108374767880798486868074817689857479838767876784666781816974828670677483848980808570667883657669817167836971797074728878848176898586827985727182807472737683786710658285718876787283768777697478897271806780888672726883838973876665827288708571667370787879677988757265677086778067707566787367786776767573847681656671817088801082708285778174698379808469658882697470798467657769698687748479676672897888738581877777687777858188677382717571777967758986896689716780717575897487787776657469108878778285888972776682786584816665838174686673776587897689738188896882846883688385867187828888828380688783777686767872758865758771688374868769838576827776837110697575686887828975727485707471708276886974857370808687677280747965848471837872688583656670737187846966716777768273758783687372686968768982866777816980867888861074708980727668668579657882738787776776768474807465858989758885846886777773807870717985658984887986766583858367858068846568818473787387888976707267677368867182108482857979788374688971686789897877737577748884816786897184728879668370807389677688738167748180896666767589716667676873897573807769856977867166848182876675796510768078868284658489686988807978698373747170807466746665757780776572658989858985866966848481748974847582666766687670708684877384707683717184676788688885867284711068716570736975857480836878698985808366887968677874657370746978797579848385698069877674758073727268737083797473887681708587867672757167727785767471878688707070107679777168867968727273696969807881888088767776878373868381668867827773857389888071748675787788727580708868848888678684858782878072727780717673778569897583878210718065718586698588657984657283827968717174827989798688678186868776866973827568837883798067747483778089877581888979866870826570708876788386827876776766797877721066687165788988797884838679836686817777767569898983666772828079838387837189838577778075687376656765777878837877768179857371746889738872728170877185727671847673108665887483788871707866808677868686847068787565847173707969848765848775807675868388657585777183736688797976817584898273707872717369836580688875698886667667868610708675847269716668667476798384898879898084886688868966746687737484856868897770707881816775756775896865836668846567857671858480818085848174668687837767708969801088728084768680786577897172848865768687677088667083787288787878788771747369898669778878868476877274847480847585786669768182677179738165778288837188716882856789106988768682888170898782827984897169827383767378837285868980886686867783807576867574806988746871808781757465886772856573756574728886657874767486878965867571696710688677798878817073818086816770798872687283797083797179667785698283837281716588828279787581836781657266858871787779698166678584857868778768757987666973828777761089867984848575747581657883857479757766748178887880678874667785657374877072727984888172847682738871767389897380797880897968868278738183806574746565838478776779108478898378727369878968796967718475898065898976896769848282887178777073677882717783776689797483897373667273797277836869776676678081768271706686887887876972806810806671887485728880776770788074717285888065897665797687838380887581697367668265847169668785756869716686736875748286717679887489818175838469857876657973856576891073798581827065756874888274728466657184857780736582657377678678757875687083718286808281666775676783898770797373737583877780758970856777787570776589686766807169107370688086788869888466757678768174796889897576677579717669798079858672817472887366898577787268898874658984776869687483756675668671737981837766867986746968797010666570668582696688818473847276807885717180867276757187817477867879668174868778868074697481806670777378696986818169787278676868827184686984816574667184848987891078707883767674678089767069817488657068698987707665767284756986897576848889706879697986757172757180817779788265787174748179708266837689828167738884707567798875106979878467808682867168798774748867878787816770818675688867667371807267848766788574827771688869708568697872756970877570897678716986738885767983857170667470728110657886818571876668727170848776658586888273797570858272698781886569848167677870728876778275658272878265727275776970867667787469847085867276667974806768676787751066817773888788706984817274657871707669798773687388707867757579766666876766857270818879686568747279808678886686887474668486807287826989836673658573808875837482107489808788848588687189896782718976786671797471748586747081856565878289877684858165858067798769657770716681777876768982698582708476718188667679667370718969758910818272847587748773748179717586658668818669697672808378798965798282887670858667707085857870817868847165887778736771868272897389837175886973657480876968678881731082897383778666796989737688837582678780717183808680876585858368778578727274738878737466716776656973817581746678666580868573897468778277886776787785798689678669107877796988828465827486798388898877837676858966738683698585678975808180807574806884778479778379897865777466798487726583696782808475727586836566797985686681856810698580788771748678747985797475738484838277848367757972777267827665726789797685698877667786768582728177857770898786717668766882767884776772727372867584848882771071736668877167847075737588766776898888687373798069897789896978727979757687797267678078656982777081777689856581676668666572817388708576677584727976857982796888107283747180768882776885777676877683838886708470847267756581816589747672898772847476798889688675868175848871898479667181838783847369667566747177878575868873738710668481896581838182657477896771757173857484668681887479898487868683798786708177658387798466866973716684676983857069747188716784678382888975756670748066767873861086768088817583887967697876737478666876677888688575868986767282738374717685677474698089828874726777856968847565717389678471866765727678677888798480787979898681107782878278728284828288776586816768678173808187777177668777898089837883718775678069676970888574678865758083746965867087737078746568677265807682847986667982768110827868747277797274867184688669696673786788898685808386707772886988698070816979676887897186707587786589796788748281708970806576786966858773746776736684697172671086726875746684678465688982687572747967748778767588796968857672838475696879657275677875848387666876707975856585847965877678696972817578727687837877707371697676108384656879656673816872678176736670848179708074836881667686808981748984886687728267798686686989758882666872768777676588658287816688786789757683806781767288758210866786677672668976688977868970878783668971778486807672877484827288787474877773738175877774687671868070676765658278728089687473668783768472866788716777807066871066816971837171788681708586796988768976727372767481788671858970898277707883786682717379688783687584798468867077778675868177688069808784767685688470828767786779107481757980816669777965706869867286836772718975667070657485686669867684766987838376838981898589888068708769838876886588836866896779837884817177696778866875876610666774657367658767658587718886737782887373728679747677798776816578656589696586716783707381668368838279688975857588728987848287748487738889717167897677808073861075657581668776768783778579708289668274678381758782877575798571898583808682687479878676786869797088897481828479748366847486677483876681797265717188828467887474108875858067797176737473827275686773728389798572858367818767657166756683798366666875768784866888717781736676808871828169858277866981818474828779697376887179868010667988696778697373867970806966868584807176798780897380736576886867887569768179867971666975696872888580747577897687798487678468698280757171676986737167857570671074668285787187896876866881807187758873836975876785687080817782677876896882866887756665668373886871738876858680826685728475668665798669738274716975717068827174108881727679706771728979687482657572888180826586877770678087756685677674838176896575787187737172807188728865718577766569757773728184817477677480808986777269868910758472738678717389737976858783778175887179728869748483816579817575658571786881797671657468838887708670857168668089857389748974876671687975877088687072736672721073697768778072677969757880778977787383708580758385836868867576698188756881827270868386767287668570846565747886697189746776857370868375777783847378828785808880108584838868738474818385857183687679878768748089856882846572848269787767838586697681897188827774737473768565768270707670777088818575847871828284748468727680838710666973866986817766698280778074726870887687827071767380656576876682726588718175748568657285748288798074787282878667798668678369846571837187708185758369716988711085788373887570847785808289758784757079847084776570727178767084718577818389877777846969837968796576688681657583728289857071817667716987706875848779668369717271108278697380796887737084787675668083707889746585738188688770766889667475816578807383748872868989807277818379786871777268848574858683707986866969818068657669656610787984716973757787828281796678758784668382708975856976737478778967717373818385807778716681877878837973758673878379736888868065668973748268707382858185767873671071897583878581807589837588767566758375678682777879697366828368898480828178757188756775757886786581656980838270748681758076807971717487868471847173718388677365108674697869868378847466758681666789776685747281828288788267868288708776748572888281896779827083828587796971718889697683717376727875856570676589866668778374737710717067757673737779877187708269856967877471877669887982848867716972738185836773728979707173766877786688856574896689838589856671697589656866737867898375746981881083848880847581857477807572848177718379768489898965827474876774828672748182657868777181876574767167658287898288897674757577846773687866868180667086826788678069106980886881826682697667798888847369727565886568698886738665896569816573738376658787707687707071747881767883828281786877786779848379696672816971807683788365867010807983697275886588667978707073898477676968737586867074807172878886806770666872897186807766657887778268836679798986658169747868726972777275867384848871878886841078788873817989817589748075888582696771768067847486858283837879736879818770808081818973668970836872898187687873667365866880767786676883738673667774767974817479108874738879867181717477748965868770678078886579757765668881767781878779768586696670847671847469897886797687688974706572887886807786696681677083728971818682858710718177848082836665867588767278897083658685728170748986728283696576838469788070787881768965656570856768827785898684876878807478697075738365807380718481738684801083868478757977737575768967887771688979886670718178677389666979866773747887878673727574747386837888747889818681706566716870856572697687687384788269876979868969108473848565807672827978868673887179746885838775776873838471826567668487667676757167886789736570657473856973708478807775887275677372677685788666808670817170867110827266888274827266708265797069877971757686737877698570776867848576878370737677758370777277817166888179848969737065798268837888717683768471886966708373847581871075747771758182808371758666888674768085718885776568737587836785707672768765687984766680796779887871858669837669868480857984808672897471657888866689768368678384107381828074688472897667807283788084888684788480818669746673708582867872728368798580837789766679738978677772856870668072748567688382776576818173737485728886877110857575748470806773727483677888857376878467786777878784858683668370777067848569686780887170886878746774788078657978877774827867656772678969736973656981726784861077867065788668687465828384728784757288767873808773867881887579757386788982816966838686796886748068746681838380687971867881756566748065667169706667688371896786106978658871857877758473657786657970838173898880686584867185657065807088896576767773867787828078897370757468657970867777827984827089826966688079787868767185897210707182827485718281867175756567826684866765788380678966758666846772778484746778678884787684806885776789798083698284716980748982837878798781678981867769807073771084757773677077876685668171657665808981778284797682688075736587697774778081677782878076698387717388878883837769768286886887857276708566888980818671696766667574106673748468886581818779848675667282887680876673867477657580768782867176897077838676728072848379768267698169777980658066826688748771868876758372866889708783867610778982707069858571758889788675776873778183718981746588738585847484788089837786668985677783788986867880828481757081747977697588658980668467878766826780768081741078708972668085727469868875738677727778687977668370707383856767757269857386808070867868738767857179757770878065698576878278656985718970678188737776788575808284107167717967867971836571757871797579818181727966876782848072797481838270858084697387758377837488726781657572677474846866688275847667667384887767858787728074728910768865887269728488788568727365837766697289817486817269738378736979756886797780796576827586827073867480876865848474656967787773678978897866816768698778658184741079688977716671677771728184866587887888768179818584807586716970867572758375818888897281837081826872828065747387688873667179726966817987667285897167816772748676108379688488788368766869848378898669808371887870718088736575707870868366847185898488687883827980867273677287758079758981877169686989696570668966656982858673758510808489898376807489816686897289687271687772677974737170707982677278687171808881797982757889778173858686696577797485868176808385698667777867686782878072896766721089877068888484747980656873858877816789727070748967667168707278697283737280678169858174687673826975837682888881688988717072847679808486708977768470868981718188108174767675746778766586837383698975668680657368848166857472767266878677727279878382847865778389878487798473848089867573688883698779817086716782888870657788667610848965807485707383828186827666806584878967898167658669778771898172667281887989817482786671818171777872808088828285896984707075797284707274718985657986737080821082688974858869778568847975896689738671817277806779696588768080688679808179847176876565726669717565796674688378828778827569747867667083808966698866697068757880107769818672747665736584837169737370796887807066797373867883776873818671897083668085857366668476717381716588747972827885786766868387678470878585828371858465716810756574758883677078826866847189796868747366717185897781867989898989757688687870837275866681858385666770697576897765807379827480818467818982878565748168667786881080657084768483888476737668846684806878818675768886686687828885728868667687867681728467758071727074858772727370687672666872887572667884887570828267867082677788107972858681686984827687858588736766888667736784686982738887878676718174878778837966837686818689828587847066807572738371708267838886678785838176847487816786828410838181888371746781697388877881877686857179788273878166667785857077787172858274788683778573708584668265827084686975697088676568798174867868706665658087758684691089767184816587857668657670687984846682746965757167687178666584677768867070856681896867697184666787857668878977656783806885767074796980858981786584837268797372107870868168877070896585698673767088808585827873827568898082748970808589858269658370878968707675706871678586767873817988768988818185827678897873717773748486846510896767856680757474897385887378796871678372826778697787667383687288726989887973747983697966827172657565726869857481847566807874788680798670877086837477866683681069697176747572836968697083848173807287787987837780678978718382778988887375726881767487716980808689777580746867667367808185726886726871847674768984757065678586106773738484798786898976828685858269656588767474757086837089786968887987836884796785678483898177688277667087788369767675756681806570788574747678727875657766788210856783666673867185748372757488778178726787838371736872876987796789757066856674807567658778887571768274757869828872668678657780898785678386787573807573707583771088778874676768667671878971768072747575697465818481696788798777807577667779698065757967836682657767778178787273717877696875828387698476866567887781657082847069108983877773728779857583658777858484797082817480706683758579836778786666867365757175707174836768778376697785868288816886718865867866877477888683756666858468657310897679767478687271737079737076867475708675688188708283668885778772667583818065888973797478657187787885888276868771816569797766867976797268817267668779828985811077737778676576667170677584797882706673787066857468828885828376716965867166757372807585746673687275768580778089827588776983667787667471678481777468728569806576106776738265898483768472807773677775788579727666837975808568807470688265698384877178698667806679657974818785858276707374736583816977817373777279657876676879847010686887676682857989708875708366767384848171687073848377877471707877678078867769878268726588757671717389797672877065757075837565707982857570657487708289686976771076847665728365788677857372707378866575737275827282767188818275697688718482717480857188687673837475688283817465738671737966838379848975787386687067687378786689108872818188668373896782786877738471747084846689656967738480778481847574827868677972846977747771808976778380788386836980738176667589766977817169656873777786836910857283808972768565807575738977838865897783708183756570878665698374877573698668697881808680697978698065898682827384897182897575767487847984658572817571738185881087786586768478847877657079778265878086787688738579866689778987757765718884878273768580657473677165668678897073816675808074806588827486767180868277778587878970108965677765728583757275658365688182777971857267778481748180748979746666767589698571808765826583777773837282878776817370718269866970898282888777707974727377658510667580766780738171838677766775827475746673738080876687717865688075866680767673846971738273847482698483796775706776677565677882807683708971808375866970698879881069758383786865807968657972807187696669687284898580706584687984746577698080707270737486826670807071867681817776718278688769877171757586678068726579698581767586108471747589868873787876758375838987718865886674898180847466717286798273797872876985758180877780878378898181738274667883678466657685746775838981807673717585867410787673716984897985777487727765857274878367887482768488868186737174817879777770728979727367726874816769856579777675787567768373867688778975827377718087758966851080706677718265846880697266898289768176776870858077787887778184708686826978848983747065787083798376687079736772878085876878817376796581708780887185668667867685107279678889727087876784678077776769808374777574857277827573687282847781858486828389788879687583726578837988697573846783677267876879788875768369757367677679878510827680717687818681857985678482707372718484896571726775868373837586748274737371897187867381818167888986848888687267787085888971847588718573778679748265687383701074826870826673666889726587737184857165808079767165687368796673658578707781818184808887797368736875758367897175657684706587816785697574866665828365797273858376107070717470778472898079667870697377818473828567758582846979778286836670658066748182888372718982838076687471708469898075786867748870816586837477757472848271767510888778727186687585848776898987897279896872738084848880777166897265808173768585738182868284848166738069826586788684687368717575736566827688778481728173667766691087837381856971826674677182778365778484658574857881788784676588898471807977867380727688666581668078888075727788886787826988826884888575778384706572686674877089107568808577678377708171768188807588778577718182738888777385847272898969766789887482698573697785676581797372728173726883698965768867827469817480748075848488808610657376738285896767708571698884706576796969668480817175766967727177857969808172848869676967887467766673816769738576837182878189747880817171656769697076727085761082888575658983887579697076876988768481846883867487668571748385688180788479738267878874768878767674677079856689847086687979888273787267698086738084826682727770108481757378797272846975758575696888767270686880836575868482736576667585798969898575767071877676878784696887858689708384896884767269738671798766657474737185847010858075888070867977817378876789697474658089658389746772826568878784728774798388687772827474837883688075698069706673798375828172786571878267888579707988817376771078688784846889857978818970747484748283688481897388807380658669786568728672738388867489698373657066837387777471756579676576718178756574847467847079837474697679107072656984747571746774778082686869707965798184857278718282837389657368868381676983788375738878776967808385767870898787838070848281887874818280767174868174747010787885727572878073847767768586707886858977787965866586797572848885807271897288726876768273758788718587867576867379858789678189887374717281698284827078678076651089738787837685666580886683816583657666746770688965747767666570657569896880856982756983708686888872897275727676748765768868838978886582788588737370667868877966107080738289867073837087827380838978838369818179898880796680706785887879877484737066708977858276767769827087717186888887786867756880896666857471878170747689878910796883866566688865668880716766758265788388896785807471687470706573658675676676696776847678858870887865867969836979667465718167798288668465778869888482768282831080708678846573657974778180688371858274818487816587768576687771858567737968818284676976847269676888768684757887758982866771678766727283756575716779848688668868108976658687788372797770818572808979898466896975688569668570898972776668767988836877888674737875897769687875808172848268678369747070798284797789687885798875658910876967758082688979856781787167857683797274677377807068808068797975848967786966678969857977897566826673666884808589847580896769748671767475807977847466737678741068808572857989837885707085727771688585787275698471808879667889727084816675808665786671757485817780786787887184718984866572877278838881688179686980767989717279108886818886658270667868668565767583766888698268737382897465748889728289708483758571788866787479738684736577797687717771718672726889717683898680707578746588657610868486887375767081667965878672688779798280777286878772658772788566748675877282807371807369657868816985718169698167768189837185878281727965897276738786798974831082788089698570878982786577868574797881708183776768778884767477698770706867756666698166828089666979857470808974837672798983697082747788768889776982808672796578106987657677898672777086768965848174717987718076767567748283747187717376837272678677897278666872767586758179876989897983826566827274686783777279897189807267878510798571737470777569686988697082788287827574896576708966806688778385856670657882718286708869897686876873716873847572856776858069817772887885828479816679856665831065716673747768868665667288837881708781838373807489838986866679867283708370758266758376757666668389827784666970678971898673808282738978807670828965707478717671107270856673667476668075876565818576817366698083688265787074667881717485827769687886787589806984668569686686887078668585758675686986888674696687687975677279867510766778778879847880797367758570828271806675826580737582806680667782816780728668877678668874728268787371656571817384738985896775838377746675796588706787817679841089876566877382736768726569767587718973727488757570797286658882898884658767857070887972696582667283758169756879808288768289688387898684668167738183808584748868106973867485656575828988778868708767668369848577778170747579738084837870797870667371658571686768716989776586667877718989887279846868898483718566808588866666677410726686728989877771897671736865767366706672687087656886666988777866758867758779838668897071898179658982746787726968707174708588717186738183657480687585767478671076798485838469888776717181667189726775658875767880867566726568838287817583877380747989658370656575756873877988777675788377817969807280767165668080678375738575108570806869706881817871766587677079768765838769757973688981657778726781767284676574737975728382897079668876727568817967747979888784817566767869878885747378667210838273836983697274857683766881738775846588746985728970808073897366756772687381776867727970666569768670747076697978767268857376868380688888847568888585718685751074818083886789798076888373747171678774668770786870758876718387807679757681756773886866737775798174658473727576778576896971888482777270718475798478836767688183107981788788887677838778876976848866687172878188837181857386786677718175717988837585727466857065887571707289696570878780867581738373858989838576796988828968828810796570888976667176888672768082716578716673667889707682718174717077777178887285747283838575786775667577767667768380688971797379668585828569777278726776838078701083658270768681717686728375807479776971737585828869847687758968686687737786668572876867758576667382748367717568757179758181808782797272757669857572878770768880106874737380857868666778858568847884668770796667657666878177867383728166887879667983817679867069807468856569876582898875788683716876746889657181848767758575817610868473866571898572877087856671887780697783776879757289728482838278678180758075827983817484877471787883736688877873888569808187708378856870738784667868857879681068688976718973867271837788747670696665727175716778877073758479788978897277726887808976807587858088878771737173866880727876866676766585657466878965738175727665107073657883718680747689876587657873657373747473757683668766798971876687817283738372728274698287798270896882728068668367697269777070748878707373778066888685857510806574838484768887696766797178867765846770677784847882807477678979788474727274717776746685888772658376708788898179817365707566848887707370817984688987658986721089798571788370697488797470897566877372707888877268886968876777888172697168747777746687796574808984897272886981686787746689868982717088748175886576878178747180106873877673686976726985756884748865818676727476728776657685716688816574897081787785738765697388718987847171718068828081778884778084878189806978758077758487746810867187697970868489787678777066696765856880658265807177766988796771797285847080848468727373757977757681657875676881808285807188878772848279767875798783657374771083867086748088807280726973806970787866726878857867827469678382868189846680828389756770838275657288667968797684846970887388826982826585748578737080786574656582106668737185856581667081747174818868818377767387838877837278856681667587867288777370688476797576826969718279687677837187716988897075866882868267678787787774657110787180738683867576677484737383808582837878778280757971876673708181858979818565696574897384848982788472677289848281678182758673698273837568857970728079687780851065766769836966778568687781678785867080717676858185767288888786657488706969718289748778678976878583786869668988867770867570827579838285878877877577777776887574108265778868788666656987777480656573828772817771688984807582678676697475728773738879737565887567737065808877896676838188758485876569747368848368746681748968777410737767716666727784667571877070877679708274668583677669698081808870827271858185818271887978687767858484718579668868706983878483697765787482736676816666707180741066766874728475728781788080727684867872717283748474758781837965856568717465828387737180657966847781698389876783737982657371657073717683717078707885857876887588108081847980887488786888887466708472837780896685778881687481807471716887866773868276878087658582727871897774846774777285698770776875776677878969768886758883677210747671888766677278746784717274768586797283817971797782787186858272678070708379856781807666668786877970827086898474817482777274877489698182837687766873796972751066868386687987658880768069838966696672858567728279756768807581837374797765787989686581738483768884848481866874777876817088748972858086856975867277788271736972106965688586717176868567678378666773838870877567728882667165707871728166698975808670848888746666828466898479666879836985857776668469706569808265857865858766868110876581817982866878666573807677748384758774698971836666806765746665658579848184748484837471728489667188777589837065848669867270867265776884717878667388748084751083657570777488837684818283888779726569778475657278757089676676856886678172677685896977826975737877776571656880808086808389668068658386728572688678807882678772107974728776777867687682887585787885737470718373677365816570787286898284787174807487747272698888657174727770828078827181898665868784827566686575657485748183728310898465798982697976777076757374726768856871878171747680657165857284858685776576657982768967877269656975716666797779727987727469686966658368768485707084727068791070728979766568887975807684898287698589876676838683668066718680766879658181718272817285767177757773757776887072817189847985746666656884817476656885858169736681108378706976787870867789767576797876847270718672748168658578687971828677707467757181758266867379746789817385898276698474826565658286798971817579728771768581677110836688678889867568838687838687778276766569867978858766807871877472877871887683686979658977897671758874818665698488737478797389887077716866897170807372697283761082838775828782768565877679717777786584826685657378748282817670767167866565787887807675698288847065788968756778887671816984888065667968666981658567766686748569107475687786706584837377886776806877697180748780716768728877686788787377748080717688837466718971856979758076688680716879867183868768747384897970877381658180717710868589787467748976808074887470857979697378838078687378856687748782737666768766897781737667787182707767837185737668897369868269786682827979858067768880817886751083747979827489708088798484718875728067887287787475786668678978857570766779767369748766717066818084857866846777698078758477658088706867877975668974697280718872106585856679897885826872768073688078728375887079878083697289697966667667827882807085878378708968867386737167897184837768848284868570657883836865806584687385747110687279747479807074707370876766847569747089777179806785658771716778857665766970857481667383696970757976746682668384888383698985828773847379657165817475767880821089716875728776688374867680887373858369687569767587858874747868758473856870747388837076747086846579887089708277677775788865817586667389718275697782828687788289107083696965888367786883786876898978746684667666786885776774696679897285897379698682877688757789888665858778887683836585697188857171817279727677667565898678898610746683748283877579877383687179767972847079728280838582817381798484757076686789826674787282678372767977658772828067747377678773877479757881767285878567808985871075777675748370668779747682738581837468736782808779788969778768887480758575808675727286668283827567878572797871716671777870817681738976837974688881678973858186106581837472718078728868886884748667757487678368657470658567838369747678848369746769776575717771758781738974766786836781858576677287806882867785666585767372848410727569738780758375777670758774848667877988767466787179878176838886897185818480667168738367837989857678856589897870787786667286657170858789768872817468846782831089717384717283867774747675817477657973898086656577746871788566776674717481677171788282657368787583867575847575718678807476818677686989847170658487848772887583108373706867828175786967878084837087876983717686677380898080747575828279867472728776748469707976697980658566868776788968697381796873708983797382668579726568837210827572797868796683786989888581666986688976788179737088747683837070658583707686888965888788796669777168658486816869797980747485797482748168707969737969717072751083788085747877798268707478797267658977817084737667898075708987887977836668728085768870897979668080807387778374818566676566896582798583826876797974868088758380106674668888867479817681837983837174796568847882758781658768838071698170677981847369776683708767817869847282798279708278737768808286878676808086856887787386806710748686837875756982698368848885768582727374886969666883766575787674777087898269828789858187806982747667837673657977856879728365817070817065858989848482837686781087748082888982777877806785746978817769887789877685836879716667687582887383808671707873678980808367858179867965827470718171758681678467867765698478808680707873107273898672808889657072837682796986747384867389808979787984668968778866848166858371677684866565827474797282788983697972888173687074696665708683786569728871728010838169657684676988817988748766797172807177786665787274767982697275757486707666707080697977706984788667677569706578797967718376847088807574838179738771886977841084738887856969868383758767707486777276888370817580808180847076797875787479827274758472796683757867897887717172888665798170657286778570677979768973857974786689108265788073848972816586727288816876767580656668667466828581848574867389706788778565756975758580887366787569847779857176766771856681867186878581897286748281658310676871777267898887737574758371767570847367818966888778838178768381847065877289848074706769797981847589866789896588778579677174836680868889858481716783778174691075856873876972896887858489666985698681698778667886687173848377697883797587867467856987857368807766738488868578828886678279808867737779727589757170746680798368108266898087846881846683768175768385887568757480818166847280777772787689777269706670667986766582746567797578696971728878877867716880728187768688838779827679768510818074676880737687736586866969658576838289818384817276678989898079758484656771897673857277667472776767788687727771868170858088756782696985776873856580736667821080698668658375796571707267877079898885688573716868738378748773896969697165808667886674658980818878776975857778658673817071667275727681726877746781866982768682106675867672748972707265777868866576758285787172828968898179877482727068798169888878897869677469808488767570836769886888776572717279768673828771708884746769818310657971778689826887856676867584706670677487668167897779668372848486657385666565658668768478728979776866766982816871707065776686756769707070727168758487886788801079678366717582778389848378857988878671686878767189707089727081897274678186847080858975738467738488818966707574718081728886668969776687748767668266786785807581108067808174656782818366818067808682818368788771728884748577867767656786747088688682707974747172668765697789778489727084846673866778827883838281778972867578687910777085667173877080676676707572726567888587827674818372687377828584788665868370788571896783737785777580746766838586676569798366737187736980808277898182826669781079797088837284807086827778757886837672876887818386727581768171657276886785848466817678718768678279768085747380728167886983696967816769768988798274698873736566108979838688667670848071887375677568728182717971886678867486887787777084777270856688666773786986847677768469848270728081708169686876898383717887697989786970748810848676786771737280656688817068858167787773687678827768888277877675736778817787747788746968776687817976898487797674827468717382828484707571678683667089718465701075818175757866888784756665838584777966658771868272678280868486747677868668878767837270866565807881827878887671727865897784878670778469808166827573657175658865108280807080677889808089697586678273868888806683657683738785738977668085818275817466807978788372878271877274807488758287716786856876808568667880697071828389898010817280888470728283667989697584748977716978848484896576856577778387678481756673687087697674658573776780678874868875748577877272847566758570856577846988687185791084896988888085886771838168658989776774727471748665788671858487818368798383768186837679887980886683747667818566837687897383868977668072856989838977728766888768108372818765768883898885728183737085897882707977696684686884687379776677777975727975678667887072857187777876898478858783826768717969856683737672838071877878707310846787748186686982678776706782847180886688747681898279807086886665867781848085788284898788848269748073726684656578798085778188787975697365678784888884878276681068687677697278718769898282808272696778796980786681778578717381757870878479776577828971768189838568717775876578787773688481867171666865838165707567788683797981108385687084688374836877778676856779656772836979687168896782808377788884746879848682737578847082747184838966736872766976708571837569798475697871888982778587717110706865706973757886796568767388868078816582717180726569708876766881787585888575847575888886868576767876688684867185657685788788717676667471797183667182876979731081678684658182717685827175807182688285796674858476667673716582876980837271767884717165818874736868718269808089668177758980698886848268687082877865656965748070107786878478778380717265708771718467658770708168838368898379818868798887687582838365856687687283707283767974817470867388756789788387768674688168707871708180888710878375787066877587727374747487687175668181858686736966678467668185766965796877787588878772866779747072656570887674657868697986666767698170816982796679878981781073878773896774757874658180797781818185728679788068797067818880898779758781847469707587856676788367746765888181687288716586886586787585716969767481757183878478106668826968758572858580858378857968727475768188877473686972888276687780748777818472738065887780678566777384757369857673687668798082718979838276656566658880826710778679868066698687827067717583866789878384816984837286838881867577777369797966787473828085777887787582726889688671898171827784696567768184777168878883827771811065837374887277848178758771658175678688838075668572668066788882808166898175787566668766728984856680838672718767808882827880746873776989658276688476696875898877108184758965736680738674897686678775748875687581878885687386688778877579898380826876666765897289758187878474788472768983726782876767766687698368828770848679837110728369696784657770897278666677686989726870657187897982866875697870758273708287758171658472806578797282847465837479757285887673688965787184778377838471667673811067807586657681766767838765717270707484786871728067688768797286818872796583707885727185747967808777767582828273848572897479866579707979888567856975827965857189107482746676697673898372767570788975687975658373716965877187687273878177748788848982667567748866866882747078847784847465848074677965818865808289748674787274816810787679858973728370848589746968887185897177837086817976886667697978837477698472747867758971788978758884898467857581737682768073667585798181886569667568726669871078688278878675747784857272778273657989817088847489697973728471868965768886867475827284898477738668748074727485738077828873658672657272867081738888688785827283108582736966826577757769758569716971807667856975836880836572678368866772888672777186818383878987688175727780827285756785827278856882686881778089767383697084697310768180657375746885776577848175897378688967858978698485747889856682756666877669826572728688828573726575748676656770857685867187788488798176867676688572687770761086728670707470727967847565677279887270808466687071888074758788716986787771868487658074668581808366857385897665727682848681826988808575888169868387708482897475106572868573748780868276847368667186888184798880748788697989806689898986727685657277786886847169806988748586677083677474666677676677887588837772736677718586757710657386867165686667797570806572837772697766838676847582817169687278677084697588748973798173897587718176747474857185798968846877727282687869668770777987877874871084657571768566828281848577877386716789847468847982737679888778828989657686697078878975748885707165716674748788667077836874718774728887686769838969697569668076106686797773767676836569867678858785858489896682657088757665658968897883726669838471658082787882757378747379697386678673698672758588686989748884828876767866688810758275857179706883667865658577878580678566658183656769806975808167657873818578758766778989898684818881846572776777838283687576707589816784717983736882746781681085798579806968848186797667898774748865788572697882727366748971718066857273886766878178898077736676768071838686776971788072848788888270718374748065878182778984108875767170726782767670678367668165858973787382707482866869888769737575818579737165817584837877857476708985877071816874876672667784766879687888687175896689778610758866748366818982857682888583757972806975716980777980798069756567797588806689748875668770877487696568817172718588887479678779727689726868717966848388898073861086758977837385787286888665857574737781788088698384878283796782757783897067878376858372858084708871887888888382828276787278708467658674698567808088897778848479106783676881878776807389898869856571817476787868687668836789778168728371668368777378767478826980888666767480808068857570848786897282717375768585677369806573716510717277838969756889857585847484666867768079737581818171836677847587717086758266767777717388657766688881847468776586838689738076728681687373728487866771846983871074838068678380708176668286816968798571897178856874877470666967788882836777747270877588836867868489698370858074717783778165797188748967867577697287676766698887106870837465738573868085798077858088848384727065796767827073827079878865897185736975708566828281807974778681777586826768658773818471818680766984897482656974838610887073848688708482748882737176688067667279706678818380857075846880698879697073868171816580677072697179857882756976676783788886686786827266666885748487898667711068758588887876696678738466718270747989818267867777817678797885846582838872697075827871868589667180678974708587847875726889698789898265718870848385657982668288108384896866856785737770787874788073728082718776898478807780727775687778727480678468747583848873697088867887747982887169807883658470796681717076768086707686788010687979827888737086807676707079667768676976758288678070787685707974847388858470817482708189848376898782757276757666826677787269876877878873688282878776868369741082686969788082898274667187757587786584797389716888707984888571826575867865787884888166876676848178817289828067818583778580837780687669718984658975668778808171107074816967717183696670898166797271657877667280668483657473838081687185728069658472728589757473827686697870868189808373657665818174798889836583677380668565767710767284667980848070776571666689827778837673837176688677898866787773727865657580728781786584788571687884777365887788777887786674897687897674818372727474668969741067826881666879806969686682697583827484688476896885757789748273787677707982866986677289877974807384777780887883838872847489688978827167767072757281746972868781108274707272836767837487697667688986756674827584896771697469666586777270846574888583878971667070878274727484687388767973808275786983836585678981888882696587778710798671888277748188886681837869877365656967668767897972667784666682726576867667857470786784826767826973877070897185737372677475868377738288777975836779798483811079876578697277766786867665728789677672847586738579757670727087886789767271888576868187876586886773708785687282858368656773876578887685707682837373807275797077108977768482847877798178836777838076717783846976697968766682837881726777658865777784657288806780667367846973727489758765688180866582746780768269728476707478857510888971687478777589747569676665708576727888898272847178688675818577876586767772778884836887837383728273728465797871678370807465677265658579727479696784668769861069876976817266718070898585768789858765807874897078688982657180706885818669846984677080878177877677896867736974897276817582718087687385727089677269846988736876108569806578867479718770817978717682817366867270687989757973806570878272777984668781737871868484807768847477897968666682748485818179666868856965767780847576796810898487757386897987687373876867788368818865876676768173866889896985867968858082848368688271727066758867778568887386737066727170677084736577678470708988797170821083698470668971758879828989887066706674707877678684688673756666707287767487848685758086747866768470876685767081737477818479846686827772817370788485746876788172108581738067817275658669867588877482778373858988798673857288767983676573728182848379887966897877816571678872677968777478758869706769797487736980876969896885788710858466836868757481848968826874877365717073778871826772878785868582878087686571868772898176757884758766847489656869746868718965888983886983716582796674657987861089848783718985747071777578797676806976848983868272896672786568788767736866717973776984658572797578656977836771656672728275777072808077838666677472887667706577108368837086857789898673817386888276786971777373888071748378777271806679788868778766868075827867706974788382878174706767867977697178838578887276676866798782836910886783818682727189747385668765727785676686777988808077807470847275778871717277718488668585686973667474878688877880746867816574667975758682876776877073837680681077897976857973756984797375818579707089688988707686788681667684807573667287748368687479806574717279707678718366697388857676796689896771887866688377827679668287108065757171687275797270658686678587716685877088808281667282867175868183678667797775867873828268818871768776768069678378877986747579677775696888818978898370677410707485688774856878788175687986786888687970717986736988667467768178738676828179717273837587806566807082857973848777846588867681758778888171798778898365897568651065738488896984888178898174757286748786666978888477838576688878717374717378657371787287898372886769866875746970878965757065897875738485898469707476707571797576108372816981877680877866697867826577788676746784837889708578817373658979838765748678776768798469667267808369747884738381887689717689867088887986776888828284888510666575847184746669678267798476678574728372887986667979857379837682687288658166718386747480877777718670808586798877688685847971768480778471786666767776687665801084868774838588827268806788697576886588857179887367778671888688828486687883697266748770746881866681868865758675787371867369846765827180767789798688847366757170106967686978678168778989867085887080718866858780828674678987736966757572657988686687698967656574807172836772758668868869837374848386688675668976657178677378796510848685886870847366847887678983888787847288858589687368768682788381738186787872827487797786747783717367707087717473748769697687858479837569656978878567856979801076878281708289796575766979876976848572698972737772688267727185837177767671776771887878797884687279757880828669666686717570667176808489877266707081858669798976107074898569876772888878766879828170768269838574657770878186887067757189817166887167778272687489738683798179898268718184698166716675738481768387787282867766878810898277837176777484707189867472658480847769797582886980767277747270866778757988718471708280808277727989766876696980868088746672818974717665698386776580708073821065898176696882738579658565666781687887798069747683756988677780677874818277736674876870897274827588806680867669818873806787727275818867707370807374857283696568106982718580828971827486877169698187678568776683857780687086707568878188797689856875846581657172877567658870858384758866746876776768778181767986867389797370867210816573817368766981757165808277858789767877657575757489838187687489766574817779728985747979867477878867746579867665877182847466868567707981868880817371736981851069818978817977677974747371837567817974707271708789786872858669897769797185667376768485828072867188707870788369787472856971677085718466688877797471766886856669108371846587806975897972708574758282718485697377807965857886868481708182677188777277867974716667657288887771756787758877738472656665846873828080707971818572858710798585666870716683718066658968678987727280658987797080747776736971697275747878698468738770766669747377667578888984787573668479738887857477738174788973837574651086847787706587718678827279768687768384857369768283776578887678867267867970838666717873866672857767807475848869797571707582837267867081688879697269807072896586106682717779698370816575678469768867818070817176887668688567718271888885796978858580708975767573806865878574748385798980847072657072878778758274668775787686866610898989847375807066818785867287687984656872827973828988708784718985708368827575846673798980797071757074826565678465658989877288828084887269736673818374737279801082856677876779816980826877896769798669876778657571838780677672877173746875888681807885678089746987806889687177776674697185766869847974727971657086857476868583108376888579717268738372798083848480737189877989697587798983768479878474796683827476678868858265776771768985787172758571707367847187688588887972748172807789806610668680678168738878707283797480877185826984717870888585778675808771706789737765888572847683747365696571657385717380668777797876878580876968896965718876667484661081867581717087808766797480698877657876718375758383767185856588788875707080698778727889878387778378656673787667738973708776697576798283728980877171867189868584107685858473738882737487708768807385756769748466806589888985838573798068898968837477837974887183858187896781658584678383877781736871766972796581698370788179737710727278758981708383657882796965827878898570897974828689757573898582787081717776897967816973828686708784758675868071866684716779888284828873708787727966817365791080877566868589766787798668847769767388778168768078678471758485668373697968706872688270737682796565777983816574717068778089728384808976867079687373748387687389106985788778807384857871787981717473718769787875888686818589898470877268756576728567787381718065808889867877717676696771696966766675797675688373707481868073897210738869867877748984777065837376848668727371688178777376698377776778836566727565668972668283807679838587898881797766678484807188686689697574717973788267737280871065758766767880888185827575657678687584798667707182877366706565707587748877668968868381718467868977828075848581798389808889807076807977678176737969898665668465108079806575788189718279718372787187688366866974777475757476707668846970698288696582857375698684686679708984817770678781806768848874667066657668827376707872668110748088737480878184857374897870888772706574816868897973798876737267718376888070827580697768767767858267697372757486838984707269748087877979677367827979876666891088836868687578777373786880857489767187678766778984698081728183707686758174886982748487668071686879677277688476898869837285767874748865858971787566757683828186107183688589897288657881727369858481868578856866707179818973758781686777676786686974867884687479867076746779787286676587757585668187788366768870858584806570698610778270797183886987886772748976658666858878866875818965816971798388847272807076777180858279738278747976897581756883758689847583827067898575767481686973857967731089838688697775747288717282816574886774857787707067767887668270677666678281786688767472686872776677888766876972658087878180708366738883667686678771746774848177107180767477808179737979666984877269856771718875707186728280887288808373707689848480738584698266747968828569696777657470837579816572667083686579837577788071816610868783816889848089708782807676838677888180657176788589686682718781668184657777898276847565727086847079777185888682898984837081757174717386857281746868747573701072788484868284827483837078888765717374797069898680696689807471898768838487797673747079877078887986747068807189717667706676776574808570797683878565768273898287108666698982766688876870658284676874897365756888706974897774847672878273816876816782876974817377687287688465666671766885878773718666797871686976856880698589836510738070708272718985768484736867726981857786668881707987678080676572747065837989806585747688768369708082668180858671826588756989827971827287838865797476798871841068867671796666787384787169837288748183817878818067666684897478697289778767797575758884818368796786748675887767678071868180748788757585786672657672866966658568108670667370797672718271887480857468707181737883848680888782866780667166718579806671866682798767826973737887667485837584757188667469678289817268896969838368857710757185657088766582868469698270788974706567806868867587798082666765886970888170827966878486697485798285837266877078848468788773798777848768678083707779668365881074828668668965717786678274666565657887888366787871676775856875708771758970757284737577847879857969847788856776666981788986897183728184806867747679887369787083108289728286747189788778808377867886807576857986746886827274876869887586848567837566736586878975848185707674688579657788767666807479797074836684857487817286686610776573887677866779736865877183738574797167826687666581758686767589877575767180658283678189878987718068747471737671668669887579877267748375898569848987848787831068798679896865777466757989857088697473898574846669848965838883887979788084806769817885817565818077897974767675827276826574778866687881886886698776897886667178107873688984817576888670887384887487796787848866817465717169788684866684808271688069758077698188667066898989678176708782747778707382896574706867757882898473888610806687806789737869727280858686687887718970766682678681867181848782817985838775897183826681807271777870848972766670708876868273817687786986887068818771727778781067668686686873717578698676897067776980836681887172887782756670776966767471848181728778858885887589806867716973796786737989786770827880657471848370747869697679107069837375898166667974807888848682747682838478788987676866808372847882707975738065837280836776757689697283838783828988848283687673878387726777748787658089786710777873867168846686856582778587666984866866658376878078777966816879656588688689898166816989787268746873786966896881798372807476727478707874717965757371748878791073848786658987688278866568717877826882727766877976728885707874807271787272777665657465718280837583788272798186658886877175718682797765878978896587667180818967107477868368787968787667868675858065728289717088717089798782798968688586727577776688828786678479676671687379668186677183848784896781857667736670738367728589866510656968758372697974777471766870788568678978686986887370837268837373898566718983827667888771717866768067898371878179687689717272817169837969767180807280868068891066836667787266698969828878897269727689868277687368778889676866708667747477758078827278707285768173787866658376707076727479738175776586897576796785677469898886107376747678698784767566858974767686767488888577668280778781758389886975777374738484748185856771838080837877738170656967818187818066686974807770748886708565787810806974708382878882686773868989766570827685718371717976667965827171667989857665778167857769876671698583896776707568847984847168677482686970688386737873797776851081727880766788867282756878837182698885736866666676827765698885887276788380788287706965858874776772737878748179857568878267828076687070858489828968858566697471107882866668778365658687826580727785778481718575738870706776797365747168778586808585777787698674677470838265706566787268898778667184708579687577886566866988727110728066898272678387748686737665817070798775897674667772717581798471818666658884877483858571857679676578786789896876717687896683738279748479708189657884727472861078757468797367828675718575727985666869858374788475668084778980667466698874748370848966717382667485727180848476718568657568827677838278676673748874777182697568106782748476707184677484777976656769858273866585867472706879827183748277888985826672798186658165727682807584757368858071767279718471858470817874656765887083897710728369847882678377836765678171866566807284698186718385767986658679708069878488767967788283847885877168847586808382757271717267887984677678678968697787657375871071816767688982878170698978786676688781817585838067707969816766898569668970838688656787798065678587837774817067837781876885656781697080768978748980738072738368107276828469898887768184827785846866678380667389678875837285767770896989696889688280657467877072657265807573827873677383878670678777686880677272857283896989726910717487828579726881828880786985758365797370888365707889767771828683798078708983868182796988747981747066796886817575818889898185847277727876667667856571837688761086707777747469848687838588768383857065758268898488896881766669747182868268677989897486888779818285837079876973856878798181836565778982826671836682806679718474106677798076836674887965807183827173836565857484886676898182856584747976867479707269708977658485757785767469727271837389757089718080857689748373806573696567897610818789666871757689867574667683836678696787897680898484678884808181798286877073886883747170676573806976807187707083897483858974788069757976837779768785838985671082678072737779807280656576667489848076736669868083857878847380787770878784767866678068808380817770688672748489697977837588756675838875777788818180847173748988108067868979828883717676837689868682857171747187658884737470727287776886668787846873738884748582668266726674726875667684738368717273677370897075748075708970656510896874677981708984818368778874847178707680758866657474668174668177778368716668658288707187816870707382878582888566728883838974727869768470798565776773768476821089867688816886787071768889777474668085858676828865857177798369807982807385768667847367868576708869678465787865787371678966738181657189888587657970687768818466108586878776768767867171867280796582866680818981727186877477817875807574688674708380798187697288866866778665707172687083808671677882778280868975787866758476758310797772787977868880668272898877788066727389738377898789837377768966837780727379897473747471888989897172888167778089767672658972668386846772756983838069667868671079767479687766857879718680717081666677707387766780667184797786706573847087856675757473678078858382736667707771887980847067807667887075856876738085818278707773108987746670877368766589836779697178758175786983706775878282766581747584797469848769838073728582877275758782686784808976747578678665877574686971738987837282757110668881888085657677668787787789757888878767677177666870758783826583758873726586856883848172836885826685867066737171808470737870688868787170746873678766778072721074736770787078867669828379708883716873777383828387798774716982817986886969776582838576746774697378788788717984687081787787727076706880768282697777808780666888107981888089777470836585728767777574806586738467877282848985888977818767837778887278837977876687718389696883716667658566868566757965777277657084808875698776686810706775758783766584746882717167857281678683748373746877718082778784877283808683767087707668727277657674838867687270828187746886706771898467827372797885858869721088818184818587656880816589868770657069857288707980837475817982827276766573736576658277658076728181767865748379897665767081718965827565678566798685688675797066107281797267748869866582688488678682798785746574708777687268737677666784717784757586697882688279857178828078668875806884837770708075668689877374847889788381677810878071796874778065817585708266876969866867697788847676776979686671768177877067878879836874866878678984697071696585837989748468807086676866726765888770728573881088728269806574808767718976666766738871766678816678807486768286746780788280897480668079778381816781898082797186678770657589868466767485697469847787736580668382108282737673817275807776657772868086717665828284697969717270668989857475686885798372658686748279706567728284668976727083797284786971897374848769688765677185837910858586808165816972868987708477756578857674828080818384897877787574756765778372848271838965737667867180716573868166808181696968788173806866876585698587716873761065826673827671747788677067717682658472708570708376688084716570738474837785898875896580667366837385667983738678866670807372868367707981677879777879688189717773106980898988877984898476746672696879838482747569896674806683677689847588827479787373658476748982668478836889896765768568698979708466687876826986677183788084708310788476848578888589838970858075818280696874736678818466727874656970798865698687708288757779876871797476658577787672818587678666727789728388708880687567847272651088837688786678657571857274837481727566657373888878736773827673827087828588708573778382887668818679828689658765817269896581748288717783718281817174747187798883106880827083797074867675886784836768708676877968718879778568778174687379888986748572848477787979838477708366758966897989696680787165696989657886757482876571788310656865847175857376767281788971866676686578818688668185688776868879898485767968656677838178897779758081667480897771858068717868877787828977886680758471668383801071767272858971727068897376777773657466668866677876868479818072896681718680807085836968728382828369858667866583738877898069717970878868777875727381788275707570107470677967697277688676856683747380747770898977738165676673777182837573878080748577878078806686737675787575678568708869787577727065816980717877857867756868747810798468677173877478858066737075807066858775757472887683698167827186887370717281866872897877746884788883887467707280657671677179667189717972877777717665858570811075717475827681666883807786886887696870857769726678836873807367668176767365697568886582868886856989678978717179866682708367728484857369857979897981817579797083108072846881678477687884898168857789688184857385748979877968697486797189707384847974817865847379857971827481798580688269748781727887718572677988777076796787718910767981877071828576776787768369898278846680756569817886857567848881768786848281707183708278748172877776808776848066807579847279758577717971658677856669767687851075747165738287898679767574858984807868718470687165717778847474708580726975697071848383687982896971697865748174778986658471746668677372798079857673808187728068108085818171746583748884706970737372838286737283868275777983708473677666738768677367887873688683788078766585728779827670758189868377896775707183746972847270788510876674658881877773738286678384857183898165707676748571846684816587656587818976677570887788827269777287787974896669708572667873658175877275737485787472796681851079658569806970837576788579687082848079696765808980657169686567826587888268697578826575736980656573826975828575748783796583838586808378838789737966846572746573108482797074768286737775747170716985898278898386808582806969817788736770858087818975687583738187708081838175817272748778807866788970848685837786708273656589897010828165736883807769806584686875697371657166776972717874737974807165808270767482808982777086877471687579698984787174888188747272748989817575736875658080887766721080768686788275866875776784847670847786718769747471896672766879688177676972796775898079857665657279887977678888756565847868738486868666687568807485707172727179108769707673717485717680867965807888767968888484748289808973888070678883776968757779677371676684667775697671658588667689757482827982766886798075708285788586748810748669877070846871727083848976738187787978698985888674858385836982656687708567786874728775837268828782706883676780768973748577668580656777698082798979668488701076888783668386707574728385677286878988897668816984818585778665898465848783827068697788898172888071867984667288876584837882857976857375806882857271857187696977107568687071767069786687668384807180668472717670788365868270667082717589778870817773808067757375677469748283797076826670896975817588816586888373717489758472868610836772758589827383857982656673778966798866737173827285788183767686858883848269777883717886806788838286856569688279657270848384827882757575798965747178738680711081726976727381668782757076688970848380697072687083748568727676898580757066697388868470748969798365718772806678747775798588668684817366847774837370888470707588107282887972666983788073757874717467827587698782806982747487857571797386867465828780657571768180807568798067717271668181657866726976686885708584888769697388866510738982886665707366896667796976848079877586846984817488667487668286838365846575876676668182777772667684887088848874838985806778788873808473658175788368707080791074687374757468738588728180767169747986708787897277847783666774757283868267656589657480818686877275838075827984707372657474748782698376738577738686887984877669107471848489757969858671717280686685897868866776846577738576866685688782697271736769797378717980668070727672857374728369858072838569758978837482896568777182697510747484878379706889897484818477788889797982887181657469736875857785797580698083708170667489818789807878737885667871728975838487807474708067668785738870727969731072858782738483876566867786827776688683856586828669836878747487816986737880677782707572686784817382746885738881778186686570678275886765806977747687817966777074107282806765788579698182718884657384687574748786868679776567837676776680778175668768866966826977777487888487848085746785788774667475818869686766716570748277867110888672828366748077797667788768657486887889658072658782857678667576736969778185667073718370768581738470748685828984748471878783767389808580778885876981698176861066726675698867688476896776868587698779667769677366716673897969678772786672827168717071846668837365727678787888828766658880716677808180897588678168757572797082108178687168846985817285798868827783757082866887777472658388707782858088897470866777848477877665838772758577747286847481828268747786737872807575676971806682828610816674787883887777726872897281797066697783798786857078898872858173697086887073777779847988787068817480758980738685868585708179788786768766857580767169748474771076846986858669838467798172727087696673676970798581856665807679687286666982728778747870838575806779887185718580878082657270817579777685728382856973658770787972106980808986758285687485758177887066766573728471766773767386678267827367808584768870737686857668898968727189788567897177857569657079698577657377708265687976717810767688847578797977876675737375788779757679848986788989677672838983818370697585827286678069777069688180827781786581796969868770817888868573817783808175847081651073748367887482886773697169677687827783778777668067846688898489747084786870706873807279847468816780778177898370667971897967656572867977678680757787667374716578108679717678668381818982706883707779868983837970727874808980827979718667868785777886708589656876818977758466826681668483827672718568758166707181667677677682786910816779786872818673757967898775846785776867838768697470826685878487787467876666737880757979887582858887888384666570748273718170717281756984767773696589858875791085757783687385688171886679797385866571688484826988826984828173786687716973687566767367668978868878696672898579877883837274698577686983767268798478848580728378108588816987768386667680748786717689757078837567796688768170697165698970667765887979806576767165778272657784706885687978748586766585836873846889738366867172868410667086786566838572747681707269726865757884797969748067818989756669717971757567828478758985817365818480757569818486847786858987667378738388757785658784878070651072898084768776728572858367848068677176857188746665738865896865716982658081788779858272877965688171817977808881827279827184847988797978727077866570698884696877107784666676678269747388826785736774898083696880707586707167738381678582798777857387856765807567667485877965778675756681777674708071877170746680748982767969808310817580727769688779718068826773727372798184827168816679737069688882837069897569808184837586688572777665716871768772657080727380896888706773748267717779698274781069857876668587886965688672787773817578838565778771897977818866858679738776738781736777828066657376806872828071657985787286796784687883808680736982878874896582107580858475756875666588738879778285657577886785698482676881678769858265706970827071838069727089677274797179767573698079878276667971698675747983807275877980868410657273718685837266738888687667828273817082706575777774687072877081737680707187718287718573757968837275787775656689747069816974747787898469866788857685698676721082848272716972736881807374868483748283708881738677848183826765768684837065658068837078676673887767838565766888888979818383837082798887796679858484738987838777108782728968778769767887717481766672776587787982727567737288708685896885688082726873697582878885707585678874867386888168868967848870796688737568818280757979708610896565657686737287667885658079668770678779806672728183867065857268857279828289818379768669668768716666878167706585658966678475707984877178868773757669817768841085708785888967898569888871827577736974828472816784677275817571798269748170768265808265867675758481867675686878877287748974838069898985697779726771746582857676107872656678708177777889788982706883696587817969858581887976746666836867737383868773877873798378726579718370787966697782828883838388886771836571678784777877658710798170738783876587768281747877697675718368738972728584857485848976657275837175838268766881887267738187798988867483837170786669666876798882898176677079856886881079798568818666658184718674746578777867767066698171747266786989678387727685737676708373796773698287716869757288818270827276847672838383786872667565746569856986108478666588748881687175778469886689838779886981747165767785827681707782708880866888728083788086787585697466858372887187858873776987697686867366858284807076768510877465717587668585728281726768788972658770756665678580747169727078747665717985678879857181888483728682777183807380728587766767667681678272898673798181728177671065748580807870667177886866657267786571727573698589877671816574817471716786787067666872697082718384806569657166896977728780818089898968867775888078718483886878108485798985856784668266657285817186827782698783877889817389868783817884787387727781767788737071698783896983826671838479828178777466748877737289898578876886687510838974898268676586877980806869667178898386748287697384736965858966716683746883726774878479668686828779807174787682748488768189778765707369658071757766668089871072867765688678798089757876667988658071738473656785797087697186796873797171698788707278817568827783658579758783717666708272667177778783856882847466726576758488107086858472828078688185868886697875697171726665816772847985807965777785846975747568697368677981788365846866848668688284887374898788868367736779767389797781736510767386797482767786707486808587778385708768747781847873727181748389717275888589866873838368827186787884838873758288836670767688758272878268867971707489736872721081866675867685807480827966687778878575796571707378817489858471768074887885856871758786786775688972808172898682777867767588848678688768658273727071708375808975108879667278896566796979896774868279838782777089827871768986757684667769807869816875726779836571758368677375686589747888706574676788718276777579898482787882848810788967887470887581777586778665818473737387858986808374687870686871706681758968667879896675678272756882738881697877818365868670686871868070668386808587688781771074866982858789757682717678698183738981657083846675796578788367878073807771818982737271887789848789778971728374837476738769768586847773676875877882687871697270106885707469888387756973727686677282798387846884728789867168707672678183728277716783797469777979707072676577887476877282657869748087688981807183758770807586698210667886686784787881857183757768687671676888758873737065856671796886757188718677898285826774877085687565688589797069796773888376846884837681727575677077786785731073727678697767778382796682757976787469676776777780846668878879727067857779888972828076746565858176678378787267716771748969657177676689816688668378776781798872106665658180728686766773757173838578878469888472827584846676847379867572798468757172858379717776847673657467736879696582808467698379797274828480658275818889698210757784858267657172656689876871808385896777838479777172757177698189897881687965757966777669836889786768658889827571898877766768786884697273698487727176798981781077868280868174738973717687768275797681888488858370667184688873808667728285816585677273898367767478677574657070717378657676756974777666757067707276807371838482107388678589746572837874696785737674878084698266786882867477826885827180818082657371758075706588818978786872798375738186857365816873738465668576747066867768847010687583738275677083856879717072747882687983656569726865867187677672878589728969668475826580667469838085778285816565848871816785886580897281717577816980717066771089837278766971786965767883797383816583658366767082828765888978878287777067838373867286798871757971708189716972658769658568808488787168826689658971877969686685107771767877818577806579757072716887797479807579828178718784748473807286678882817884726589797170788781678066847282748081708975787982778183697473888176897384718810828766728887798273697579708769848281777585888585817187896668888566666766658386738971876971676588857775817570786679756880816877847179877174838173677979738379731078688371808887817774866965668184747282808177746679658089837172737465828966798378888185668378856786798579677181837173858980697466706668738286888379838474727977107071748475807768868665877870738177778485698283877277818186737066818185667375717171727086777977896674867266797075688869897374658968886576757483818188797079687110827967658383726887727286818489808789837574697067856983678588757878797871728774716984688580697879707389817770857476787871768886897976708673826878787375687965821084738177878872737487868373868175756882727674776689857967767984726578848976687388657181736872857877788789897467897183688475886677768576898886876568807671887186107586847688708189797467738465777378748578738177758468866766688978668567896785888169666766687976828871727365848486878089658565818985858887808981866583897074768910728471838468798167698070678286667983667673656971678971737382728378817873866789887181687573667887848075698280768781827067767985897073726875736783897071747484711068768473717684686778756989896665727675758883798285876569718678767572848183808687707169717270727984846782778176727876798673677383766976698572686780727487808179107475836689748074656688887667717178768284738989758172847989776873898676667268777470777383797965696782887584878875718466707469807567697677728886797569736686737010886770768670767478707586818278678482807367797083667668707278757381838679887265787978747170887566826575868182808568856578747788677084837068848484726867796877801086806782718474668870687879817683887276697572657179707468748886727888898783746583816971728582658566768978866684757468818569776782756881707982887086717783657778106666807987817474677967878379897867686974828673658479777780676683708173697484807773837669747684768188887587717581876569796772757465837876776888878675687188878410798882668765777865778481816866676886808075858073846776676576888174838371837286858683797986828167797182896874748777888979746571858366687873667471846585818276831071847773878684857382868868867165797268688272798866798584737177826566658788868473798373848179857188657682726780768375706683838383868583848277687372786789688972106867838676877687808968818488777884727179668584746872776777767481806977676865898366677686656574877382767479728482817386718672877778767981767876808365768565878210758170877079836571688879897376788889678277836867787080737377668368738276887576717876858084716883727375846880878188778971676789727682837669718285857775798578741067888686667985827775848379888486767682878365797885668877887888657785898076867388736981876775847989787684786672746972866885847074817165676875677879837681717270107285846673877584668282717979796670856675657877796773678381766665718568818278788572706986848587678065778378667482747878678979677276708870857867678471668066658410846673798175657486788766777868848976847171737376698277848577818180897072767083738582747270796871656577747385877977747573886689796672887779818775737384808888861065887376736873878382746883766972797672686665667873747265747286757069868074707967898972847777686688756966757281858289856871817879877771728486768587848074718375107171817581896677836572867466778888896970856784808978727384688567747777657881797181896967658167658272737776677076807986768282786671686986848567778473808665828710846670727874796689688775888165898968708587668975877367847584816988887876726977737376857368857469898065888366738076777486726768726783837688728473857981887565701076827074757385688572798379828888868281738265676786828586698766808073896782847279678774838173827767758586788888748285708682747674827579767286657683757174856587108776828389828375747882707266838286697172786975898887727482737381846876858569707284897766687183897766736771836671807380728366657769767489808171768186788469738310817768838587866677718387658487796574896766827378737168697578876865668885658686796882787078788679898781658066808873856885746789747089707286688766877573766569651089678167828482826778876587656673726578808884798981667267677969668187687582886786786788776789857667766865708265888474688888728979707066897071858373847077856788108778698885866586827489807371828978876679697277878073696968716766877366847066808977798285887487787388687772807689888068668872698581728088737289868781838765807510758078878968736566657070897876847184767167867065858786828978677569837470868371658376708266837974776780828886828585807784698271757581807174887369778089787480881086848078857873807388687069857679726972788070898582798673887673857088756577838387848669888383806587878078697975896973726984806666787769677287676885716978898480108983707787858986667270706885727176867580687482726989788265727489678078667579657886708366686573798683716770897674658969657378677568827680727668708489728766807810657584678085806585817188898465766582898066788672728779698871848881786774748476717582697478698778898771657569728266888889698465887269728389836574777186657883811077828779676689866787866869807067657576857471878385698185827776716975857476847280826986888666658676788485868181818572767984658566758175877782796988756985776983108884778680697771668683818385788470717169848884658969708483767782716578887167707488656781858175658981728382668681726877667989838766738674756684756886678879796510797372746575708383737084657179877589838674868086897988896880678288746765877485808367748573658285897882757674717688727767897986896665668875868070886665736682711067728879847285727369847770767369797470798668696666706877738783777083668967887175686787738073806982858378898981677184798181746886676987726870827373828388657370108269887270656572718489657775687678757385787979888971818971676965717074787074857870867883728271876979828470738269827569887773668580777385876976696789897483707110878765816774757468868066736569718182797681858985888987728267818289817369678478708270746770807386728875658374888373856868898485667770728066858785677388728973691073738174676574877669658170847871728578898775888477728287736866837684678084787872847888657578738474898571748365896785867788897174837565798980898368878380786976108768717079677280696778826777887972738189747188687687886775677872728777878985797089688769828783657374668282898768888672746588837385737284708689718989758288688410737985667186657784868470898289747974837379817585837673757676718568688876898888858785668677677267766577678189877475708689846984897282757382766979717277857484871085867789807686668969658865698289797676876889688370757266846965816577808266798465858465876582887970747973768468817076846680858582747777756871776567778769718586107672778783716576787871827068776579667767708379708769706677658966727688678365797181878886657786817975838670756867797371687470698382678677707785867484847673816710896886857473667689748467856772818476777381666879758774887365657270887079717166708287757889846985708368898472787171877179897387707269848075878867857382866786821074818573776787857484666586758966846885768085748580847778887670736766838270807781778182736883768987737579688574858187748073798877828171887486818877737382698481106669668075886570808981707473708665886865748982727867807271768874836667686569738068678777756975776780807779748669787976876774718578758878797470847669738873847710777467666676887065778487817070778381777372867867748277746771878083898184788166806885778768847486758870858785897378768382858272788366747182758688737585767071741082698179687778776765728485896973827084668769878579758067828677746868897180798584796779766683868688808787878483767175798872687577717685896581838283746887696583106782806579768566837082837985686668798969828065747574777279796583728285867180878986818477768879827980867170868080737065898467846687808868728769707988836788748410788983866981778666828865786687808877806686777067687085736969698470898074816972848871877774846972738475697382717987688768746887796880888484738085797772657176721079728486807667717571687980727870776870716580888571766771848080748974708187748875826866757779828983877285807180868284687676838775706966678166797370808382707584106575668565727586667166808285796767867069777484857974817381686783807178808065798271827465778867798475867184826975688783856588808371717386718978808289807188858810847286686678727681717178737169667777777485788975708968798965778372738673867086797869708776766588887774836676717377768778767471858470708277667468707965836767841065807085838168687079668367776787727469668870756678896873687167688873668366698672848767887771868680658779737382887486717869768367868485876683718583768370828166107584886669738369837977738588668786888486897867867180817875737985697986758879798371666666676766886787846677898785797973898989866879827879746772827073857277887310808667837566817183708184718181747075898686686878737876836774668472707883746989677682868273796880656776867281778269887572747868828481776887787275707067798572691087748385837472768172866582776876718588768276836881887272858077826672788781877374727174898378756673757767867272797182876874768677837674767582868289708384836886106880757376858266667488718574677369808280667776857684797279847085758168867687897974898569736577798272708584838172797279696685897678677589667680757677808677697610727681677076857766676970698971827775697876817087698277657281767970698375817965848169668770728284828674687979658573798680737471787965657281676872736972787689741070878373797276748167727377828265738268827570858481666671796581846574697984826577857385746577777571806983878978786779858182787582877973837473707181688083826770106682748482757270778967688380807780728573817081878984778276808877747474668581747282787675716687867384716665878889817883706883847968688388876970798283678887898610728668748665748782878089657683827987757986798477738079727781708477737075748072687789698075877266868480827377708367846579777375898181766773857285857675727484761070786688887870828289847377678478867765888787718282827067666678748281748072797489807173697369836983857080827674777079817481718373876765698177717383797866857173107868806887667774716967808773757271777277708483797774678169756682808185778475896779668576757083818567706789898178738571787274708967687786807866717986846668798410888165668289847174827987668970666675786567686673828767866783806674806969816577668266658465728767847769888070717469757071688674807878867079737373747567758589791081768380686588786974837779798771707767756675857587727974678188846983767385748666857978757175837688888866758578726768817084816688747771718669728286866967738980107387807573758880776874848965858877747183717866657489717872726883708568807068728474817973847673718682666970677179667967768672696867748574796868888684748071828810697465737969817073707284688165728374696965747389716975887567898179668968708274788783746675747570838177866687877466727479747370887672698289807087758065876677701087708283717980828087677173777774898680838570658482828680847585818179748968668285888667737381827477726774796869728565897976867269758368788485758281796667708576108468816984847568817567738888806775767365706876888765668973867769666873868983668371716671718374826982827587687586717885797675837878697680897773708576776771888410768276888182757888887579748572897678756678657683858772876870838189708181896669876679767675857586748889876577828776678579728073728589888668698369837180686968661078686777707971676573898283806565776665746969697687766868807371707674848165658668768585697587716565717472777883766686818370888883748477768573797168747781738381107489678178807689847283777981787367728780697070777581896865828476838669717980737589668779847789888586786666837978778082777376656875697566868576858673748088737810856968867287778674687888766688797669667765866585847672767480896987686569677865788378767180768768828983828783798269866878797084767587807977816770718076886673671085748779728068668567697583767269886984778177798686697486728288676785837678877775668387847269657073868389747487727971688866696870668681798570668865898274688480107981758067847874758679768783796787778576736780717079667984857173768189787879898875797475746579717875858879756984897274857082698174707287847387718774817474738010898375877487696988768084837265758370848066678074678968767576687771817480788086776978738788737481806874837389677565728875836687668274847389808570697068697877851070837188667067767275768370778274726868806883777589827868726666778672758780797587898682727575818280847285798471797684848387857283708282857467827588778274897568107971767586728177867771817569897074838871676765786877727776838266896876877869747481836768896676738576818978817781698770808088818168697981738867678370728273836510706983708375847679818269738088658567797978798382736589657483687987868682718369857688678580678575717689846585767585787669717986707784658477718189698586848781691069697165696679808867686875846682718782677588867667837286836568896974897577806775847280696683897581817968807581847188838965868871728981868286737668898372848282107573717865846987656980667178897787657183826966717267897987817172668088697469687676837784737872707880657384667968697885687168777483757869828180707667898680716610718868798470688876838379898668738079898673827778717977677286718084746979817479676772836870877887787784867071747887888071848686817367728976866980708783758672751076846972667783797682728578708169788678807274848881838369806579668785766574718085658982796976858572747579856979778773817975708374676975767567737666666772778767108473777569836781837772728779657281718467848675708978747165717486828872868276777588848487738771897065688986807185698069698978688178757770866682868579837078657110836576838966668670826577837880766967887465896986868581687381746884858883886579698482837770756574798886798967778789686574877677817376767178677772847086678086781069867685878074867980868877747870826681887985768880838482748270808082787972877589777187668077737478897469858567778188696782768272687286787273778679768871897182107973678470898682808588827774778778848568666980888566886967698682798876848874787869767384868583767978818382718178747984798580737781847179708769777577717174898410897975827283758770668184887367758988848068818582667488758489718581827965778987826780786565827665807080868877788989797483808180717569718970708474877274886587881082698080676871676787788777717986818567836775777672848772868572818988736768797172788469666685898480687782788970888667728489807766808670837776656672716973666870108373827787848287828669788886688976666969788271818977877580678075767487757081728778787876758177868481687475746674896584796874658186896866817566716579847772717410668977757488788387818077866679778780808973676779698373826579666880808089787185788777678378837278738979826681717274828976736781898471657579858876726571888378761066776585808367656986898069697368888169737166718476716674668187687189658882678886658878706986756777817683858478716881806972797478787577727975708075838779817284107066706686667967697284747973837088688472837177738472707365796970807671787887808269766686868766866587688568807087897573896777708489787377766571827975787572817210747875708268758169888969677976868066716977747570888585736977827967708486757178797179857368737083757887898775718770677375816566837287808268707275846985657865831065818389806873787375868568888888718578656685727880797380697675696768708471787282657079686978677773827776808789707873878286748665786884868467808474706580856967107086828276818183696682868967848982878478838871787476806571846976828670717787668365847967887366807387706687768172897372726778848575896689886983668874688885717810686986716874657576738483787379738581768681808182816687798671706677687480777666658587847372758369667168838884777985776983837684707971876882656977886587727782771079888074877688787477826772708979867077658777717777737485856974766766876677868086757466838065727870847867748679867166816772658076687878817670798679808171806685108787756571748168808486846689757867656885767377748967687185696882688084758978808072767676778666808871777479898678676686897266817582788781667773756685867883897010827083688682897786677585747779857167848768747378756877658878718086668482838569808880757469897175686674717584878789768988897278857374806772868472787181827388691076668185787582757570767571848869697584718280678971748288828070708186657173848183897068716669757081717975888176696768708686756779736786818779778884826985868168107989828988737567788174747786766669798788787975767367837166747480746682747667788983887672848774667873896687768073807379818465747068667981706883666869738966846510827066856777757768836886806870857371756579808380838765846585858265867869768884798487757668837176668376807369706868738869688586708376766977708373707184738965861065867383697965758373758976708783887470688877887184716769726766758876687065688285776786657484847270667768807876758478796982827981688488718780687684657768867377106676656966808278767070808787718068657874887079766679886975718478828684867676748781818079798669828985688767827369747475868271757767697378818478747870886766708610676766666983757569868866786978677282778775727785858285898665878867886574837784887384668889796873738070868983818477788573818274838274697688897673837771846874671078657374896867868081836672787567708672838473696768837588888567778777888880668673848276667086707784777378877780667365667387708586838487758785858177718484698974108879827876716879797182887088856781816666788689697670887277658175797366678269827177767183746985678588697484708072758180878373757284787676826884708068886672856910678375787980718765897965828777668365776984838966756966767686808079657171807968837884857283747577768981708282746786758174727365887673696687748677708384896771761080706988658772698582857066697065808071837783828965758589806677727182707179777676727381737988756978846565798466797186818889687171857679766667887578818567827174107067747383707672767388757269818089697276727676828967806784887667658777836788678071686581728371736580867467726966778468738281758480897784888175698675877071717910718677806585866774807282726670668169807667748674707373787979698778818078787682876765827668877884687072737968848779677770848168727285878673808575827789857679811080848965766984758388878982786966878989837281798573688670807586727185728465686985686884888365898166657674836771687167738679706885677780698286658565848383878576108887887481658084738470717575747177888882808484788680718277686876666885847178807974858685707268857368796589757886658780786785666889868972768088867786838571888210796671816781708883698071717672777771788482688480838175788775707876786979717679898272718983807870866666817285736578847877718365837372747983657878728677677767721075707568777377798673697479897474728385867988756770718173858382738870767878656774757483677370768188747979726681797572897067828068876781756985868069828480877273108781877765897080748079818273728772767882807681728273687270768069698083707966876581768175878873697688896974807667888276706867767284727773737675898866768567846610788565846980717380658587688974778381676889787865768178738575777670777074707885857880838181696976857181868471887387768385867071688576786565758778658272838678691083868581826881676568868566686870658085658070657072847967836771788868708373868573668371708974778966746783816789888880658183737083787776867374717767798466667166106782688673728773707775897285696673817971668879806671746972827076747574848473676786776670727273828888656688828266886871728878837489686985767187748665806872658810728888748980686580717187698781818886858374688386898378706678707379688478868778766987767584696682678877766770726889877567768075658672788269687075678388868766801089656878697587727485837671758973717188657766736571668869668985676665807075787887757375818574666782896972677772738170808471758673777778896768867778727074837178107872828574726785657475848087808876697975718274857383658276737089808986677188897174766565758165868781736974848982776776667581656880877289877370728473746966766710886877697972697384738485857788656987726886807670768479828566868369748885816968777987737474737578708484687770748889888386667981728881678187706976697988788773691069698872817081827182756783898366887770797476858680748471736977777377876782808488726965666885696874768584878082806778887584756569878971817965798771816577787180108882778282687672728972848382848781836972757186727879746567808265747084667570758271827689767389676870767876748766887168688888707368657680728774798187806872817210768686897570897871708274718079818581677766668680838572886889727987688072767986828778687070828667768881776577698574768577776768757384828675787874688179757575791086767075788479736966688180728565828185786875687881866968728083706865818185708966736984667881667172888678746566678670707087657865667181887882898988836579756887108467837278857580828387898088798389857689767188757183758570788267827876727387896780876972878365888179876785877766808989887983677271788182758186678065777784797510776872796569686786676686818688656877828789758369658481778072876976718376778680756583728180728485867682868677678673857588677467808087676985847985788679707173651067848465827167808089658067768582668486728083867771856676667478687072698978737970738188756983697277687969867682697383807470707977778377676968737787718966667074108073658571767775867267707972856784808189848674738580728983787573887568708982828567856681698885668078657775748572666871848181698167738666677986697689868289838310807285698471896672677368858975776683756987666867776765726983658667886586698965796973848974697878878982856785898265898969826667878967836966838370687772788487661083888580668179838378828973836670836865897186847989738877678580868476768569668087817288666789718769748875708289696689847085766679878076668168657475887679898477106868758173708280738276787787826885728188658466747166858568807471858789696984867776726565698270666688676684687665717387746574838673826777766566897266667886738010897182666585796766876578887671868488657177657278747582877365777374697676666579708781838767668588898571788780697167866976888386746574866674777373706873746968741071668086887065707288768587698371696769737883838765877076687585767675737782738265727087717481798185868974818273828180688765897379768366696785717665688476867367108471687088887880817085787286898673828979868487748465687389777583838188837978737285718667678766777965667885888781666689678077877570876984757966728589748888757710807679687379656682686684858081718580778165688472898484898271767284677767828069768372738187668984827675847971698067887985696869897084688974747669818485808784741079728674897080797278716984747685817066817975678567888184857769778567888672787782668386876972838677847968718189738182687869746589788887887875808170787977867473107570897976808087737265867676897889897589788579696868858066696576768967888182858989878778738866746578748076658679708269718871857570877386807087816786697587708410878470777271738676676785667380767877867669667586687165807073746769808176886774767176717284868574768187808472788780797786898965688184818186656767767477727272831085668078858966857982747781757886687277847077877465738674827167787284666983698973877485808675776584668489818374836672688678727487697767878368728079707376808776107765707681898777677282888789748570868968806777728482827075798187828875738973876780796777817774867575896778777774716979838672807870668872768676687578826867696510807989826978717887786780767473