5874188987653675577182664708982129572623406751916951328565149089150104822155941675443026930103524472848964684679488223833579317491509256956567066668470011529561548125719134489405055164734844404689724391589711466977610169450297376768186932655825034963533066753158345123846846637716526341493729542276243829019370941478808710619532093498951465764496116479559840455385463443783599889907625701590097266753345495699309376376300458967669748974227277939996129528418882927099670427228756737547497031606123341362851696815469403379027166927804846530299418874429088045125659476344746428498597361364662426330417633303811783465331213125722056059411830151773594492975966469437506388066377701484536003506930374853237626039313708148222436793494166318951666941387471418625505788744017825900220923727740794060272678678158089018587906598097159750581794811198185649334222076461949989167803379979161147659576306603462267957510332729117311215576615764369317795365330998383504069211651254781637138816310394281585896915027538220294034108735912147385347986935825840504161759592561804433378109999788418071539270396883563843921069314147166986355302149483509025843796714499219943658056235473553425960511697291403352428345639201667419148693833325397317074607526529814585290635873834256707428799125784189245255659140471960318954849999938675713737493217221176225274618833634087582869322985186255097571913031189553754327990991289609550028527690685865912085471050138097474137957140259017025056995070087227515465791381125467254755733044839958756896317429365877324188904584041460197549787079851442147671685538692324605174417229687025313086294288812683416967828886665267384429795390251436872584585734428785379038862573944683659989855041741160637592803329603080343725724651809730649260416315887343243711505489521788336114574868849759128358283233747656337144009901913597066458302311865977634469831436546038081987709893614284706259690269923652859219376454606176187281000227610394448745265817595179550483314102472416842237916857404144750627695540707667601568186741182246607427842666748962521226817389291272630133249974313454453432604266198256175878596988262288072879012027735671753252200284117499640733710238725215291602896823423659824163446122814193393895018768638385834592994339039471498214440412014378063912114464324911659264871921884823254732019311431958091898338869823477630922690405406826816425704551295583866227217586948941943524113205453741189988298753665646055930247348154559994481050944821892404650353645798790744887856524673580034267204684476417814892371849290662058856558570580495112689323942536598517834489585643185001386827058540491197765493320218693207782678029908761857981307681384616922342176898074728534376315199148141227279999028412382344772104542262690666207670244221701832648464697108383934627508918372763402072163635242561888276205507102424915257194766934123156986724537086429132137821613592178996781599711386749116698418946297108262751133949390645862206337528902176178387732198374980245391603437393139800458039677693296194681420194084024765738378308772486027008482177520915203914731675641978245758043915586548341640471642731566746855267622123943022628985102399079055604136935821671140962128261417421889897739854593668730501088980266488043634317145423341137774194065687973072914146665575684107537855462831440799591567739088044105836080338639700557187549764880356267332693572617019243815171518329327292706608279341428279498341379193307652984712283780965577463638813422658623977141146871296339239049096280879551244008812620229958526150066025985812414031849754940163577447503730893982469605235435747445987830979826431982760147109567326479527307333605934101552427895527212902203970546176143586768132544238769346169165278084493301231719848033384476642142990526844841876973447774088943358514665122884194132901870349423977562333089523737849262993392353224400658866417340761791020668817119870128040552571800408295978021804225984654637139504548139520753452131699796340565070727428867284896324019280825481602822699138134126785661309666557582919268001869445454069505943997460480818181270615041231491263582573615735801119039153998258067646721480113317604647427875784688793983088858979585304948665417337589861865541491767678562787473598567765356181377224299406734204197967185231459708233539063781335890153698898361474315807488717056412556383308742272860064332452918616515674654958235798470283946302049110857029645876122044924437778213124962693798075897295518352928441843770793479558808827939702767598942477921508297930873408582329913466284588957947178325785238886125535965061843949789063835403204686575838995480171188884318213639083912698575637274603568078827597850428547121840786069341407611663877941636218481589694653679394732472207575736662104079061721311195484751451616598667308056067050883145641478362861895903510697267347982147109365203852562760276426018778762818579417471217962866227509971879560582666436421566498129987040495682741433121133578449334496154081801486212355402842198348608741391498722744746435836913545968989235744397643944286496900309634487243331612133838325662364808789392440220380018782665596047014901361856361792519729275229409035431057747752996243187766783595950722965058999933634324720805091225167807687140432402077073715317415623142612613260346443635536477943312172559016594159248994147834657646029111500391289171918719966680981387768489465669737888996796798886634814419753198245369461235590975628373219748339171894068271522880142372295497717362171728468834733688304960967127901598279162558465262689391933059888821457958491388627064325273711266930409394761743366969309518851376150311396267439782786035901878296175997265691183331643446702889686343913143600730537908173458908544317404589537999353220453061140715440006346352533418827160453878098826721576421392665822827514452618694822268090298919228298589191915525952313197043585080056365337