88546935977110012803885211315671949411401524099713225411348451820956985108392756859482357948786097428839436894792629340304014549455425015410390540770723472906373801001572719548374209313099122347492144075186394464714863605518185552947785586448619156402569806664459475549113553379528622367395944197453969122720553280559053896810607171469996061841316142565222328167669590656418086803722383657028997660234386829779954119487370464938848994141386032292548771629176329883699492121461632733717868508829672252014769767195855209511391742167452798380454264711639668825281127271952948792467930250247656369443165571142592095969597183237268958820559841004990767212376687468633662847728199394765016287086241630878244788292591860404136575283064115323412476609548796226445332593291129734004555909248263487263748986571467228456692737740929711319598367808402558471785596686649721481445321447943562538625528619522879856846930449326504249029514131189749491218932303351155871367057539474977884444676424254115235835224441067610786451912937687131926684780744327622243847646850576379159193751178926509338624740587055622652243297103509233087811411777331234044526233785289021307648226585831088857530393083260751087517615313542851443642486475433431526566741385361417346914131744239195513503329695562026839349422716924581019022827797894943912996351819941013421538054887761039623999495067927706459644905589523882049168209181781559124589152950930480918448619027614560617523759840819143665033103618494451601901427399912704769349197498529957996704180942013670346745812838238846631694172303837821363979241068051658931243312603922606377502516949460709986211319409603702988674330266387396011667397539320453893528596386157740991317615410461054308906988583486568963197357459930431491995983179787526855826407276296579142244911479640771731547199638224862678473571669599744127758918151706725331546328199196829498119502116461073433576983991595065596152141367866653743646945714798814579335734965303780855942917303450266145357370240253971384985711882108763788111397412457125875477887219013831176616793624333296507107291107292667429013268494436741096471134317853565026341867184110844064286040391495774916273483198542734406882613572432531117103416290336851546832121467850695481938062842212682387893696736739157282662197425122736770211590948689608674155375673479113153461714782894639333721774221158374379799039982528516918162525817998866932154812671349245625674582728422982886177944178693324828044307949870620136949745652285994158758331338999750442225366552090727449263734676372914600711679896417161776851055179656333553571382146034235441977185679412755409536832744990443863289456538377321551762871041509420433975797528585174460977715227534383703625028800358762415219205527742712594425904822449248561115384558734734205731242835739147988499768735792369702193684853555847104680470853918427480253443938017826430768147783950371952455984196091495321847276135648103746455716298601153596605597824536298873618421922056316872637569473634923154333187681376553417841461042749596818049998449721544015940232992927178488097475628147011015959393222910256968149914360435973931364817805508296771827827147727055262291571039877337504923085961709738385982960590243699217464196014826552280415694465019036276866228466872717046260617764139655732811162293608740663712966824381993853829881824297791755146416584261040729314428757945604882714767945951323849754251030871624560260777434374419733715319788422492298742220854288746163666361786237843584743625843521312952952627530565782139369280236728165958542430208370913571118026289966731674817222835594113840604767728790830546182827498534732363216271295156704414755053365415651549250493781021596861951980883304915188675593209888375423321234242991422103017718634658326011157819703053907211869323611154868093536347409846733170903568830846484520516328118967995779524233216436269821477868315166989131861429316642087761726171876162449879888019776372142003335443508127585129251857980398044009340235298598338545774923049204216211731264821593745241831699687876494779754888609648151637986810935710515036124149941169743377583389752861737868343981431498957294999222802710085982211994110042164310463475488982666696189793671636959725651209735263877642558410204646900410426399681722825961865319589446940829521299701281241249352032578405472684978742324953367146580597768567910812615708283872576014117892191637444728406719466399293300563709965833810979291344060173333293695502624882798666697129330316921021434440222671061409447184706203326838469102106728903808119741845842728909530683965036771998931857129685652124151198244565897046448770958226093550332292121001874486786093555432192192250844786484857386159745141455675200147513079720875652308856780853907939974586827015818690372399144104942309536191139870988478158242747414969187292632497235212140200318298444321782993022383417827542547158998447505582925022124997039673394251560704071586164833752201817026610650278014353873487624333535689560212610483413401790910132915500512957879174953094203381559957359294849534971251157856961422758537925210424940118689354568682410470116277408859319786929451482696682559806669471183196887829566962781331203397597665115916696693135886610735564072379751431377352555612865069282680496270687037349261102544515652529290723300125837798833380910343593911381838501912383152727241438092466997282617755212432946725730765355185246847959602598218947305077112517284727774233629522069947072833237281719642989578742171424657766235332699494391486147062358185824636524617322539322047210290968238406671657824965473753896501682686294987194147675381737296336979129224155891159315539583473144917131040444619233180123839882963542619889739959479711027096473675627341356129669888230654573675822646320170199183572268903366432082636754039666575248794682684051834771863363790722981457143921277116848643489866684534821