557996655655961610912956132300654632973550377584863657686920995097398427729318558817404680665990655491128369894620202269041454275673078834452029114353057065519477260431651845157274051190825188655554819889529595405971563598631141843788731468241539724547577633133268098056116623189759957460759793393968690693825039974665383492937732386091755985133991509579434237290251834693450217245875930308833987011502942967344051324442735899766897247371421725732158675515066848180156452550234726768259603966190849006347169694382774529626098503349682492803836250953623164173423565116735623191770147296895820117899885153798548274237789647525338018318090685022461615812523554945212810226803616545587339568675926677188175847733376092624114761063534627828160613737801940932975456724646868105098221418719138078209662058895977789392663512628496844117903034834911408077262141932323259983584487994218507844154855708344828717357512555278679621557082438950258874541347978089629822736434732281306776413607145911518274693530558444804571149511355989030584255904272864891864587255527818675912760840510222448861570711981192789229451932934222771056870582424169736283514850534416306303464308423857651944335286308094409691554355462514418005040210681729086148983838936957054926755167268166562257345486442547242528355475313427119428582081034900754122519131693613446582902366331943633362470461543899739127234196732384940844954113770568669376942962124384736624916827419565218692865776256403965637552629541855857093189828594796846603450277894299507184409968845083347579575685198356638136582323297641931214381630146233097610214773305663031296696096938594991960610431778065238923318726245186845069898524469252051954363494577755632538143298007655384236768022905134448992277039770440574290102562694202133662237720123239926613134071145155117996578442790892594131749516746257972872533948731441813731836313327913348093243620102054787582243144181981234140982931957914986288270414892415093113833919341281782881553482447318927930232277113805410965953238462514091671052280656718647417857243013235452516559951522750005890690328623610960848271986530930547357653648318476329841365666763177938688214233256878268261316675647678851463914640882308113824764362137066255655234739633586539981172821022994245228442718705256448402359177777045880983172896571211316153266385210445635855987579641179500168873424876539581707532985971516500490347369594073343617111213304331738157688144927157460551189389481291794425371008743874840669612448368876166380347921330237257356133594776487888240252688064913163420697127609421965725847629478796813765131552156470170884514736773282974198544979095833142618053185121824125544483717919636166879271368022875234602684682432982077079397551397907096475519918071106671339491297599585470763556475293108437525538136232983451386978359252522643076865392712804458557352796402073224634429194713863214910833776893194371542583237983382492414378766313434802781516391067635159421585435035875273359196082198341489609452484968556588247026585456629042559290848077601272721911110482838278561733231566168706155411078619121243261569940401414593285958997888267012763298549363502464898541324192071104562878145538640901782488368953194336197908226066968170258673262226225735374157097663943287151159880879196362016727705759942860514295742719991847294860472352326631964076375454672174222398787535678414100861035913067555644621383306864839591081038777836715840121386849409295078659794809656229289470495814613821995203565408084485899738779413401984809260292126326351192797058331954237497091108899884121361224011392250113975326852955432631999893715254477722506704194236099774526068296997679537104670221919223104986636851262093871550873975325050118896421868361126780684319730452198615899714945462981858114502032181581865274437191558874478161820412019694649223039912261759025355434526734526738786016826638453336421576342154946221184140977514270123625531610789214596723175882068176626110583488752450645382735048093502061698945922652631105581127725827979489711404472872170212239537672034993857445907788500469461985561755796189220159123676177856885619656805712533777104056152678284690178630496920826024817785343056321871611578326329742423077067099862459438271764928868819781344925831927182431231026477734212054447871303812195655987140942646673253239530740151864358892943602505719566199113940921663930118857449354932052083110788202390525597512039864481303264243037845540535858903420643753555182771135221773672751002735161767556498498038932801652965767599434621395883346635697285048691775030894049286342077093217637533459641975894435436375506474091419191449271358689461632953758777247102638123622058168554699061922579344668254370604807327164496330561039998859309928291849826559934290999785931076281773492650072301036592023166432399115073863867559737567227059108362172361493845247692866118333869922482917407593068968920791117138380223746320264756037799044736623961416688205571528661633230629867245475681625944353589944067402513805942867855267178673329296344281865629186333543894456540956745292683382455673950874489222611018410555884776182759168260882077715842253778745429119674712575287017696777752892283677452222264889893043770131203520227055527205470433664748907079856293606889001440628543798677836184088530176054254063520455743001316069377564775535447032664493436321904283409554842280511424639393898369177723441838585441693025190886674327977614217386621427982535635845532851554867386296078379439321880384089236354352399140148830483881590932630904286163914627968232417264317460297423555780772829573132202773426153886903291335501335952689897636953350548979828803934577293869713216240807496394674505561091992491124087377492856429772500462121355198121379744756630089317583870497176159480539429973362854778782976409677152322752875311420692895865715272311871744172351593976915