759843256738896953006931617094215845721315177253493943466151326417191938668621518502765266872559184067599660094441605388298479297996288546279514509103127419838693633584842807473535589564755505223908042398861797408574916745063748377986229650390762811431524412551655632383272666259569423443850406245508708638652085683744155547472609538882581505103671550527041105182363181047160122176478484836029296411192664196885790141124880579142774847857027526796392684416819118566753541025388526508544299962284530685203122283916952622787264271939439846630832502751840834820106510131139697611667302852108578811478925076570432772788689331820158359854222256340957012109366134822526486797988535472068814946472695232827392422576388349018353191345003058996260213972988192335639404274263394210989148729571675623074037279144165512968227296648615930659513728320569407157717971874182341426164639695720579658141379695596957993337980740451830802477297175976725590262170624621492683964086549408688839387914471739488339115816654881926012517426874310428182791139837854429845877629755366156876124987660586898345212381446969661597656442985927508681599226872283492061646126446744246580298427672429916727316146614984284220937975151832573913205972845053366996926223991550787333412791162386329899264428768698825134915787591110062157049141991717941148741965264698546444890148256461439246657675172631191308026805474624524510157212392419341266512406798209735802971943852256115179260788448174337361682694322957440502202351245299003387345172438968006266240608417970647118222409173392375498210122841368718755898294672128922199159152570735033453360287524392332528741910073853639415127722055697605870461247948341091376549635195215559856785864556997882198616552457898255268290140711821173683430606142343482496357473752561274462892914267874322304286407324296409998399034510349915882785731267207405356952194422772221131270150555602999142170066122583239825772935956848064150769887915369890045971953396106530622713864272787694694379234793179967244204670413145775356296056393642088237951832318610799139831778626855356492718869790605250364669164712494061097307892167668114159999388482127468542263205842237018352735864254478280169129262944779337198136342446173012217269671161589183863908537832219512862336381269832800183457197405646236991534496207009662678472766795895777747650769292068739755148495711866715622054789207061999893677610672703415569936083266616975284650955167805563296981836536400969081348148068156285541967566455459585781009143080994069910869098903406564990179422642813392866528774644472614921880863125941205892375285865782464887467771282411597390618007711962602657390594638272485154892567709850546258093542176976322431566004923773197988517402341518523147660433893652663172271919120924736479273438489752309581929096466582744972206408113456617231997295898543171434496897992148434538743602299655729276502813483838063345626326056152272944296771090215088890456283407836613316745350897339463149713910463201281514611608193855733091612141994697493001259475907435313691437384806445189249348961554498315382412350609591968575192363430590276153879414611564501128055256502225316237820789336616316121238702888360113041829864139236322153944882266878043366387663356185820342519228002242483289500573689698617488721835746964129373044782920726091064715577367498888272239947112062423070955668910396868955347116561605279738833447711621634949592743311288885953642374918199452762962156812983721625365527342934317605662443648523177204120238215860460615009689648158463277837282743464524230719626885625166177297691919578480845875278901650168717295737911312978492990085278139925739561741509896929613774705742728983663387594661087861505375847944328432544445276612912949309216318348097226682033929164339515927342599159243928747071081708854780227206552576539382629839994954624783967988448268183725796784394436588079220629138663663397070797621227484868402966458188401635726160227147655080225411785033947143590178716758322437254699393587413301218326434727453764296085942753299912305975961481740778766345526766376721243151938578471511018666723377817456323343092223834391628721698409251850696985048201293280876745818323659456222816597505017476358324688214980736055343970001553623541221322652412650769541892951746833489500606616464080949688266867994448211730839397776151763585385074023136756393614835623893097699350954378517133885653339068322365362666712546114290296116852315973474897194252289814496028106655184375458218546258183611397357867607724080016859494434277317906526597979958526380549491491259372462628551357597010266886323909362208569992612687751872592054412559634463602993169688213915992823805667273051640599132571795427575898668835150642178361669214061345852972481404537666477392907486850624817162994262136040574886529392608655618854940951748809578802233595820797022316919738970268336550355330662341511637453638332189635825579299681487845572924825217328915756594294875684081378303926645971622243856918926840725950688506031025768067286343733321193890706833838889528845656656347849530332054404136535279571289181717661636144188114423826473153544439222413120137727250733098134616855281129857916691393981159805184698812173967402338465624546356180950671842741578926234597247234796506445149466232411803910992874715345729512464321128978180419886367431235552083141882700382458858304269632294256454946518853541080454067525914333233604975923304365722874501306774519562192030818377564840957276489717731804324368173476625788738483931011061561364222992538551244587575216129433534718809615516087450923604107286838616447277917920314802715788256873833147527970149258076044110430044002815151441115493798219299790333399115547390264187203204548446553317544289253985284278033223319744677575479375696592700454778878228094549946425946685961377378607108741178694988425573139971392492195863090536015278040305940836676