505687044840783913258912945546247344415729775365670084307112122065844552829335117649492663939265788584521455873905290739389900413431856236189412080996870928035764421896002333476986458982862112106066120458362668758182250389425804281642679130280493460255124279235981236032573154870171218653145528998118738256994380767481193745383672234123347797817713239425229817639221499267578680691008634586718393678160340557247664788525637573079966188843043997388554293457959699626573904733533739435273436206928263974085952807697641422537107732959386667673464585449121330082735213959291708362130185126907846533511788094233583832096078897681766185473597550161085937361240037525443981093364996487126664615662760846601241194376305686631932517878568528111790256411118290202818945285379758773298303211214478869972617276334844149972212874767434323568357015031631112324134415111826457227374095583637503127971535649178229516231054251772948661857141315353208657448672573620193670235741312933223127516418611411382675304270352592783595288668956171638630898039024672412910854811896377757973559989379995421694295112552527290928705198457023951169543475868203558868368770963702978235106928451344404954497128335172831772778051413478693533296376334041261326671773275777368785450534954349849257844122827448871181195016019364961512274930448093787869455964129189431215043565707345371982182625981696418339496658406584080545421265630868609124240906272254834403512244426022283824791012898560631244898059600102944568127638889514242267339085757524781548963888702644653917846191548205066292747482067231362372407580912018920957773125870924948194554120174060368439666084008320393986247570403862376686981741042622816829118543872804257394034781019061583533286921927346962627996032359075405568323377913109304801050482580811488762292618126511036124826863210548184742797743680776242956739044166393329892592055265571472138808866311664488794173280627743445917610895297807111955671147026939899298321582739781261466708559358323205321754062650343785234257486895775505470567749646804919059535734839005337726175256311935767812307294214001887525266391978278495627333305109690666679302082698518592144490899038463066477162341942977457635641547212739785071238306204518172065857518801461581794773984584734868331281728541207100687034095164239296375663377844819945375747657705304491678156613878078946254430367345932754136234822523213989037794120491619487134891778730551237861396165183707678277851048698672875860762380941344232285464691823821493431954796365835042437302774394711294829746193766738793348116382492927865924634451136679380955254965073383840278343562802536916922329419421566553736787301885105153619846827203859926391186451053245794727151329546878081817642203778822168878585624150039954514507932645947142384181748497577765887794429835514413132397496914311467476779420397206506371761811472118766823996327415677819702491486984717002947688355630376539284016939796864569764125272737284835755195428669509658644538679324887161987504098346895545943342706245522402236901837896596530637637134257429241994194054279993323465791099103645530245309711495167361489168549125028432841672553232579742796753995328423104107319212911206167994798707255979978726569144258847806547074214814276808662229849112054882739326422801611278737333236943369837437072702372035333172509285446223871701972187462182331539902883822270075251737947069586783839477306001589486899515555085073417193374578397208289950631128522719994775640199836728288560433127360895210022883182330337662748177681842488327906972276822638345564417768629282991773915557980797671779473885102939583117845285674745697400724708788882730596311905607842481230479354771726960653319617991552085596417757250441943637383094287542115452188667015177611916422917887871031929897984901925820580497146878315325382340934608411334644232485963727295549814308466464876213149032342200198174648237786774828446285596553110823898546435654295991242577834611418098699531646278869876048316391878824744215029763248087183393565912583931145755931867285908797047332318513226596703933269838338106878298454571115728964658821928213692915283311751886958260284944156335971154671900121485467246273891395394150525229446479777934026285960829816159392192577957781898382861253033300083807023904949848548795027705343796636501616221393334326739930944776274425272868880114243597968957577383736497272813620937963701266696076225324430084342051147396007644351443621852382261234561351329691487620937525073754822147611432517404269741157392444092195707720712482125622338455974274496331461210911142313064691990829139304609132494521254630348534840778360533312469553646282990582975696661881716952961260020654384883243688330128317656659583544327913741129974732165855185586968493660593990779399554658034980304627384694996434048619584913058086586431047917992859352128076651596754745041271840187146546240354191761924520407371488805155790870578080517423121394133720081317289266640168265078467254539388259200735227404100208042747046277898714127867459253660625853736952465231982040946886482420980385159167857474090133872833322541989517919235438160826845919233696765544125056427936834579527737490865598685275055408860953207683329346915061601610557892859836157804937093135464265574496397329810278006682384367811776126281429454910397894217162647031915414307221719486123277038305163247521742029929662536295762266277970836038568590820321597381502393945836253444988731326762999186123841976082896664715456855482318826990860224978886464222808418180153062425826163458094249234718318362844481898466394371596196683241183028199226546430434044216433803871590448381062929931136378981836964555199467576581414695390663131709180081629187336817579487883023514610028229782977577982347558173763799327398711469221145663301204291986815181752326191895670464139610983096061910478887626486104597675981911055722447439856286737212