326637198198833310522594637216967287550670497089103403435234431909554772063238043674417519728342349732570967280994334917192479345752419605544375889901539125121901958438196170686732846661474268892947314579993589293806567405240673257783531473085846063381991521631993294051800373869133904117437722944205198514161464870066961793615715853507328715984997007268966078212701335443632284548264812846883749964946977912571687971842070844094022511459684675122245662404932493170773743500715686656212543488565769995223549754345134814449404425311141930495689219663897094749826722158773280581337426763137892121557909941412243467583324483692288526965916007491554794015675454332443346091526658861823802691746821773184861644897807451834376344096244221577197329493744281891101856843117711730774426562837892848125770959805261263501528076770379280896738708180288522881178290450814970132606164975176900707272525389199209996897589045951456387624352867133446429282273694559475694416999651186410508426193045949878662361920065592322291839005619160992479663255236462105929052298521714257016235989746268011361481859743346668537932147211813336434723815115146473125593314215246484509517604193019205677285581602291745082301101526067791811536673899560313964989486314757618981769968108373345119331648868011315337752437492484703571357296802886562776295256294075159740149264306887314978614412697879403360617605744971974303643934584914104866022634423873439838221613263253655589182497913425890397957979837244225918719213334307726613117288710918753616312863017509426396092164633754953448153840733368347141878889620603639185265889633668606259445346891925611682996425016480396755139879249989947946611744893669987882582517774148788936164323998681273036585773346318277924248840536717445686609961399786653787339367442435473464279243967321921124974510714345848831448232359767240252542834625139585446511706531613664732612925788406646563618363875891195414870975828861531375255035262569795947841049711943942332459315542869918848441171099576907485568328163680926083765385538196872026662742901747950655141364485671178135281516754726821168411285881112322173224585846956787274797997389033746648034278303337458243027835345883149689566572792071563715907274635358282231824886897898138057437604969256631594223291320950621712367216491567390310689381813949389795755253363036580484572143554270045162069669953092288120093228448687351532458941418313602271939946807496644774536517775534413768614398915780169816097030577419612991491685326935388524555770761021403446367941550909124718526774879856424316561042365545961485538551260744441756741470210455590638846059053489341695046741976475687092913999475893551748879882949828716458238897759094465100997314239954381792753807748637937999774490237555084719889899315579471744381012122245215776171587138899519253574315911388398955653227908133401423841221894289046701596554354332214523081819244035548051377792941375630341193093387769389891215858810959118193982142089491795072769103585563441734574252759616233678383687984203106071871441835664781788534262950518072444765251800573393473927768501698695645166650132238626892750342867627614225558273648790112326265526699065127521905220802979031836640923671636344299262629335234186857869413231374470389573639392041567338249038152216757836941505331516854612897180685124906825967411751445086856385184103463862752091397194291044564344736673614602354594506282782184904604536836572565275641658382691388873540394607325735468501659021867727863619321324401200331897092785167235435437660306861683951126132347005152311586856337250821394212325538773079637772329814596304478332435494637462611999202756857142911809725365202991357456632241919452154198656157251583762463138094459429161696630115065149346884816485437508535613911872213528252895199476937810015586021379378145346887934241321910356684159717811923942150417647655791918712489924803951652299752887331196797958035625496819035918169292563347865677349848798540297419062851982324993245424859072234438767141509668610431561860912484028449351767359532040628266726155804762168958546385578948246496949326543673141592151513566196786325092075123782022087550989341125021145399248320757543704794421934696582631661167106442108472510958866504834833167867396284746592498516821848433791111110301244110717023318510345103279929342773776267859882378434239784268087759793541952417936267868274363647225051431438970672661779832384344259930848985399729781816210427223493712853261038949958009664456385518142330389459675287194120244851745995717272928754005197682489963215400191123869012887646251961825069559391342430153964385263532484176779448442520266894592492901606482952800787117868253113211652754559074248968418163721335143233252959757919833088594076444103282656548722163469534499689603970938823552789061556273890087588291618292386657401493455701111743365815508089465695502496034171210699489335228948819380264565966899895676659106539899782704313242841223664394966051108063263916592203026597731435005516310806061771452522864315945045495400897111875089742968578162608873456257682117908103634559606186448068082947692561836117998356477368428972978739659697776289745851664646593721020456816745689937119594853289791272491445408308066027379404872834847528225888375628475278812673959178770976565727935719365937082123965632815883748062587742935170569569596461458440241144672331657917829597473790243898257508573155399323365114527789882376512278023458188448651479876543681814912948837826966316278646803474068779287670544452211151592783304813785919997688773554257452901236173099531493809610104931222235934512867792315148946288017594251208173909873961321329976765772057316661704217582047705440592333972325162718414981654236399494447173224063447214519655008998100799455522437538957534457780001650185697988243659538514204862875316484302286681113527291302437282486065015661539982780291521871032778317066694070