55957737262876019905632860975647845033355898249147937884882286702634403355151388295274576482740237716832077268354207955401312411985215079232019498538313666890272427557881552379542260140083693255486890222572780908324688470724459808391922110639899203259656243439983724087609672394049851845726040262258764196651622322754566748128992042006976683585596117309445088170533960631458917761834117256302297984410620544837871369793539362630758585812807130478730355321687615529857253165773987496182044597076265414314275111859442240992929937740581856279965323919870484994907273849019566486132901843097463158299272815579455368336881293118870606907757422858734663428992388888899870869214600856304016327773144814381034294241197898659334566771676219558641229456660646317704853425047370183246097950277686023977264085783882205228988221937955811991048676027436283151852523792384851727320021822855786819474520617214146749330224301486556920956672761144863032936686438212760828661502093145595547785641139353621874528460120994975128399023624411969172448688926399982839336906481274732899600433426242655659124932513324179531791097685541826320764274160016901460791114817528335130828413282064893398439921331403715261846412336172986472281479409818616588503795277219991226556539073831065151968118336512444235708221438427245995764112095878545504623915985501213345315081351741533436663567153374096834362222581718961946291911504798669057573820370935005851375608958264730536195961268528688972411623898762389721018476459650252409544063219419339050844335820592408326419530890921059501583918184757855648064125872065216576927856827767664428673544554878664562457578872621365420469541348942295465287453022546819102580045390607588178817904127567078993598690721687910286179230943949225132224178776032429477952425086256158631166777188219530748008528028146366112098085864990437556692807247282306757964968534455132525494585089576285360966376994250141175598659873210307559767982509241418450841078653167647237196690835997181981827039500899989621654494380634530385593604000545884863286953866918582101056678618203541143883997804236836576795391324661058552374859334643296951041926731822574703871706312415095735354929387754937612758917238443628612856099916607837475410169343940361249662777529730488888602559107284594894787482394960266486793275894582460970765874130471134061134542032062560703123267450202430683209889637973318898410415651522537146268861185302873335549808625144996307771859452199299118281732972175001932362426503705341256706805593466749108645474585715520641518669386200934995505478660631963782540088415043467594363255989230678771824357779152578463627726690610493853765245381459026421966993541826183671497174621461562854836354784538195608513101481669461257797413932214864996742621722931068341861287062079965644726069574529827292681411947251780821790288713239775720327968147177938422096316622594642225360750474628532560998424763804543345494498242788282449127961491776015960214315259283010454457133117597171947760421117934832501096808992317551981422314109440823519545169998373047627194476859925258455770438363896728479422378013493387631809540866309779596869000502472798444544667316382289271207962735822283128285998703339227874526885295875259668784860266264343083815190221449704135809537786879787914486442391026437159221701281906058668818819562190485562752433572683723306450536442839472185098750591280699888943463318793524243861663386592138528563631606187115956165557855975469997791220140375233672753332148374920296537725395484070282552477457805579055494727368906047699073922595806099461092639960048329927513661349715291548997347479041762121460493979572127793523221630890666715284531765827469318337583539408577432478637992054303789288818033261294756882934172671147744395270174947217677663105311943905731873695365559508683643385112317811891909743833324242017866548974910137428152201615149686226348133172385037432364049907408297128637977468521992136205441856272490623415968466314093884407849017158370228050232384985288637449165087694241441789469469439180064118085275893981011603322421799500516717970975995673290705941767728078271926065528698153148673183712178231905037796957100811844583182731948067929256180357554298880129913316956840729720184921573719806984630920204654450289316316244140266250559664249488559450400642716082119853459856131159710834125363643948186625193086013347810916972104273135446559028766187682084987473238155614246891308526873176661549203976881440839170505910131493942245795639858157527636960989215502228599266106365932193842819489848276274590938863323176980195814919381995468430662151769520423946820473222202953936953317932265579042218721744979373987051159362168771553292462047081502261127815899659893688797451813451442658569870741852299130741024195997269021591644479025559364262707007673659362496680991657991162800332652474601626857155182773759506120059457782615431620888017788184784358512016967899239225271979982970760264037965247656971217510569328027044252652133812427206601493800441125772263289231373193980857827413836002999726925212535400816215714855996261054762646159196867263120237184102936258052003612109582927307781730355442579830128566716079825878369459721646594536378544128171121581317231690855007417135581622562267145436839318758970967017824719725599705244171613789444638081417876244744269558527466878110243771207679245965183406284115476936219893908100518877472812811599195561429784980533894793958397293273986123514756130617356230341630427023599974955525545139907763548340587335999463367178971316263585639549856277929421586797713146365598035288818635209800364830396981365636243135507954815684547319714314766579652243936220503793365415396007792280718526191718989702134727218484539859738958909128097307013241771538272832963546156210980687483659602486265276504132346623764179397487414569078752339933185057636730863287038611998529064759415342689351057