682917153105081797917155586654616775656309341866680832969681621112178537880014627683433814916197763156911584320570061714331263145378316711564493082056254625617727298694255634113690393133430331903453407838785723925772339471034249359963285856312663672033573181157252845507529011880458743229011728690272052615377489820992354217769477582443025433037973725439721256918147003555655196763866350557979563899448443812430499706372051022531639651344042266922363704609516633498014244436678252778998537706947228742512751153368820253997072616563898522826897597844639091093005585154397325584313655508931391044948457782347443865648474850729330165892877437274962516985581252085315193912921374291280970536816052560325056607699507485475969603699157944339337817145404490984305091651875974933892896954611553429343220234508330124363270183882269190649514557261680220229977439848428221566733344652475920540271477238914122242592927931678645350451442275867675717645053396554129784565763823240653710707006826346877223557810825093766276810632619852853512049242643429825888386278358075995547881765768758834097512034636518027222414703892686658843220800443915013279932912177187045336872192252601145967074995565323572371795114265112092991428215384094089678436601269611963314279360814211540719280661262983744570995551378472655057798331014614366787526820631823362296933254239339043686809864210647158944730584733118111710818723360425963412467599737677902323023490445466804851491453515350870085793759786290905838336752162063991859358430694663622744674637652624144475287748068840441585674518244715117955211066219005335787531285817064306769177247873586714033236858695913736539111794977394343866385096897759584895220348642145083253261123716492862807850737195369368581637326418515824082233931835315387405462268188632364789840974037333971292172857829504237680464628410160191288257417743235750173625314538733776471596552014115456964008641580757206334412273094749157482917155426111028789772923258252120631267914557287804240970728319681931312416803984031668958279361919935559725570734791875167972808290615763888501428779558367371042011264827788011383811523214346579216971831823799011641054852879032276229440777037883536249706477884013818798173358016189083287173918927247546997807829949371698737115273924760323005621532343346885862853811169932210473569780211653841674842919765977130693534614930566451091844354335708656338624645580926609954766890969955300155731442215415112574299756533553547641437674869977845257334181855288978410258258029050417311703250828048021391770267388154929777113732266771165917870555521883316638929850489906022751163715017934459524104251837446938229386744024993134267001983973155719140995170426020712328866436294312227766394948345925818966529461328661126015084492015783242652490540096894567642629943256566169634893207327255034565507640844781517458126403615887886349194605535426250560181562145988695125567739470418988453407468324833267128089718235400227984824951284705053225088856480650751633708695672625884685060182950916771372141754388911345751918077406876453269794191885615461966453236584692655142344262948179715577172158297139971785384466077390017714978763725577604100400253446421869664684085240385835818341762552425487731041516571220404266612918684147754456692384414482894765953137568397456863369672876820227924385036529214683019777059308979994394906686362659743123918261882382654033083716900664315018118284366737805396097978494291722332818268996323363932632115426332620283050289339011759403621690878857249075357861964979732466341871483992157391381535272689431031504329554025415573809219536803682964851171489847911426521669438575885705894961852634876510620028813839424861327268471675768184897948355904064449987850627219215130821854568492771395036489551287165354614475641099959459858599673308475229714750598678796838282197621939556780831116225553567647564946727764497256497235679953471205195106843920820759372660358930615173237496489913344635924847619907898237919885845647316228602741057510959082302710806312968657131654938463797259554394448173557377740227774743683831576694100477475041939780752357278681176378490391468228748941340641834199460932492172855141302900686449226819674530732134804987576234184511698992501675680026026591266305547793029113626591993315193530277431754979787446731888639986234750861777513388880728489194445461459747350222928472564192306681241022162154227831197612601229811267213742880484103568220487658840298750878604669692323355724393592618351571774356420099942057270761164203154753221160196319761772617362365730352280412883524947116489228220680604331985012293645591694276298628446667285327161353116361983170406568506872729073892269766130754268977085951604595056337959203821654862199385884208186892948753261783301196687550972589895805951437425553676775587454816504401801765731739416056761766334744434994041314150796861141898720274986513832881493925169166488039881256369569230730696331368366606954436207405598485997486376804114419189186813720913376690793070273451405627541238207730382218072330778647445467533295031953255688227891570136976754245486599205123179103409678459077155258754436243896528315253066053790808328918815752776592808404872879626307042702598812188370955586210793337380465789112517912082327444067952808431863128468576017313851602535452381724337659069825172720931821906386616151830654241871596745728384840037854278748715953288944997076805872596415747576895347730605842645263494228330169993790266992837596235452956338284774771335392015221580880093486772072518400789915267528683186116269442104617438288325527582178557632347868115800328628092096720796818692781965345702166936598947462613480538680444734505821088397628179663995737786615160584299057549414539973475378391438711235234054735280298117104415046278729673576601489785257163071217412608768809922003207907321528636321114473801850447953576731286499915