45571189318698674137882182097318785093254627899140355503764186029826184547175499438433608600846052453450742517688375968970960839004641929758776786136343062624665919068574652248233406933449243949299452229852658711250332149345851889077075948179009975538229784493307243004919929740979531775129390792098808256732517050507744466084393043708991726770796388757126825045268958051877184443203484760970986145969025337792933945918749534631101133764913699529669941421200796911924042260384809353153671839925193706855092366890773301060895248507060414844518351615779757881854437416580978569941422668620492433674666261068751494036356768920751539953770515596499827078052540483270628867587491403494997088484999231665434986965146365642839344214265143408438660030534113794250373723792865836718814905892287836287523381065684950217856518360239301533231433973330536522742657261212187120774286599515594179167914454639736243981933335484912864051128843201814264195641945053248186254691209262316069948061483225219356684818101891396658934129733744131672798268332492126742989144421730530950774994667584477558644691588864735551245945587691263136323534319615404547795290586447794756536393795103166138679070634923804428957416734385927194716155361476258262938843655326334535656808733022873742868680991066451137944997917276304223347037008677850641996139188686433656876672076283327644749217240839131917441283478070646541021908201014163596101804697902659254821326198516242689449519361482355574145122550092048716213949272051316312089286929117103685541885785821227462520071732913822985164253296893621127921536353818927115838221613049205084838645587652598186247201283137548518914737137174136201555242060508273494403806993124676839261452070808746342126253160820581460757179858232743214141122815139237008049498623771335577820777518301119959993904539284891276069972978304472818126009436527159387064048138386944688729402791223073238697196193826869610470538663975674419825157385323871628860552368431754239362728176394506443553264231645256062423185643480053909403594500850312473793587529433712176062773684646346329950879692324962958726587509657397941937127974348059993548989743479227763738117763600282792170320347673019776669267335791426906028655898852449635884546663252656572965485972554296697877045734989343136192185683355359258518685318782290515027955568740461047789442379255153195546706192052895795928382522963940433113434710523381348044283915385644634192473843551609782626901797163187076347382749689132817881130932258543361944582929324722202745160957317218273882376250575543299215736256643144815214114433980509188332874301045566156863788891285501290499153307182620945451575746813394083426584937667351770651340223439865499438631387310810491102692950110111820979014909338386631732754716705737574054554704260314491792820886761634496539503805172899437867453111423264653055436774052158542610028299054349276840411163563711282174126175731900330227941732167772743679359404110026650214829848464765877906116660113524832239234682431302459878037940627478367535612637985698433215408099782269857702466603393718662378277439058813941817327242421291862662702920416137796161961585108416158257188510690174534602556326491173306585139211529599187259501185684736375023749658210726956315012857699526011985819442254949216123036663174235103892059554495786498847167283886152229843729329853831429434057165767146081457615770369288469617637785400737316994908638639988516780652324770586018657760502619053631399244164646235835246161640642787894683325624582651059527265405084353935611372538691987501485767265826295039492740652979213737884489933867301930285719846421684317189786844579717949589757593169172751568318908931122673786757686342792937954704153646927531355306874796658571256250878923957496245765154185222786418089912628182517622198776241185735289522191427279323937549872417698743612298353173897156215712138098437649139092312316547336969794378045115996244636703657482054657746539863366506132294965496986898462441490248871481846293161773744914942140494235187698558968855871779212456860720119267922972203050438140324596416224789758618467186951852088529235634336646417448245883452637773994388948342718628831262583880051218946237535049085467452747301476237196335085341036618492263077708925620711337847173895056507251693048433383577788284927658993658825869625668344261815318114826947783827363979159810556282903318353299683722026397095622491042353095300276492904338976873151727400273586702327356529569889047342933340359756732255920873733906643843047714844476649709447678224267602712113404893170881485232272974572910154043685484534030586198492151766072408068559439583311876613847481897702955204172281654913982381295995087611311432716417575193562843817047453030420726212455398245095201243859197443015545089881959389816648759818361979942958554521773595191372156390294952085483651419490792093125598842484582382744945415135885526051341765024486417575988135899219055078307614356207624356030522870147755113686852679615096633392397172471325027023604661965041745814616923238940951860340001866811887801378571260912349455070017644265365565782722370428307571647864468339190087026278399851093446414769175739358378571163784422311715136940980682661234559290546920736970153071285784924827542171187332734629567951215399613921328935289317569273569771039919271784459288248585132542478181773621811924663594018044395976515747958938193966419504985170689335441477742703635185332661161786941294015825239767318358850167318875931999099662347178240393697632661301946714425508986275687189334912660102842315904247294588493594521534883821832391671784474312180975777048940520220045730410619867657628473681040630603979975003265645466953511019886652659331906985185156806188373615910494977621979393490828982318253258558262920759917944475380493608926752830579648281730639545173892466028286589269116085281465080772813659333817