2957542813639085577935927191627476482718860641330014367489195701219126766909272536504359914895896455537717137191041063805361013385550468167343888697230266200773139768829599648428947714944145385745382344698614120063078436831656947601783194054302044860639548888450173476788794644378523393668541642806110212120389235840267737184307937735019393830254786501228861570434575036987956217475203657711916672384859376667147355988396229154724271109137196352916494320971934162317462190369544782057011119997020490779775515223591238725260597091613285432055557154331813144507623614142323437264494899465705346645712906166128373427855630179418837963910572187593516347363691192072238958656834529508426524300064432419965516862358494020258281773194033659907859992534521513860390350891514827611754680623969369423952030081284723827035554717544948530608138089427657477341520509869772494896838518035818724555593836051853740613425664898860908347313564352546969885122424138785681727918652357052347837067401703329477516272471721353427821225394882621747292206853381361535208837139859936758183467803180914583835433722032588912794516449692558831817348336826429322094198804134290789454336358737671499627995197125387027577546607296554362019897952554479101766755181001409879948624041223631368784527980674872659540919638169385239321700688924987606812305459671688754966145256235019834221695795991777019715201250288326511596570368027034964866302201219325055117460075199427228275989321607633686916429343711229279572443384846726756765654501831842895931527963290683747906312518336008657291362962716088878100640566528870412233845119427863072928392811948078835669961237638916254051566123279843153120195792781756039682256780147375987861139625317773449181654999239703362997750545874047583442621196351061244271575151823766655529518975539476051329418341305653361834923693290887651770274390435073407585921267899756486542866735166264463881641159621523236972433779696338831219175476274741784016981452920821532877485359215222020179710133317883964646961484735617497488048464321933631997386760026311209311883275709517561342386812489787138986994752580185188355012246712978500736257143203005153161487248126282592017218494683142184263151810787864793193154882772004748386705948754077989948312729557803738017704474451496735351524082703245503941259337803336244498218627783927927810825141540580085754223679142280907264997696190027265849611250488589275440691678659511743938088629936518061237466477734830378954292515556220658243454710012571748655946309249897714019277766471143063258888317134117656345731149792079099715165883421795966324017206495879537688354976183823495363655422242384153378873653435732957664450475089251294116520349988130984729889259285254116592034527259367357416665982185750968282554798637238723016504617374788139326653792421334885782621122701163116327994086327361705476787222873548576402567122519463543157271206729823247055788629645292564844182435127385935583384065660618703444322737131553104982092422158571687684258206118768187580001037817691342033590863206028928568291664948353453468190241690381651419037984668713930552569852483219317522219611956820101303686265046488480143866289604282767936691836663278980429837074137715894039577533708562137036518845400214912042363054330857721928753818636683485458958163441621746267998697762192557974459282779080256911865385822598588355439456808942563193811928175858862135818994808228663325669532459243259353702492120106336106266054707741112012120910812204005637082616816362791558033712613511694269237455811939467924677255542617721220315844423440232404849158627150004885206244433979049731942936821056630557206332664281779065469450338682775983825874469385318066282810608065319278841691470851640933987713350389813879636785091623449155447615789022315773369481125657485883704639739180623213716511755431907432750969262224540371009755873179051148309124777149510381239696968150266281235160289781906221739856475200701732422598614116818795283196349957378448858763494156825018632566125954199397841272100335023630557827792631471216519545902129476876510960515458215659585318748400684961145306597509762882475144889152733773991545167735249197275637705827945084108990234324861499774485498862630875310953660536869177477240255994381066234139174695769032539549134587393713704512946357850191134921261459386930279878906568676881031930261528799283712149471819433461846455233546991565889976583217073498194856873597612849953271586844667684412475252564193354885024473066542863367656408685261991262113474289721090231590921925648611624028850558914835468437786404770897287074167252814169806884441554708297092953884171423437722592550860217404958856587016360075096814308672764411979656666184450426981588679005176453692192856331530105976863682898327745954877614084688251812823365642273764348412938892151227652478220886120189703101797287453204130528576241095125120836889031835385174205411301613559203894494592652981248067543545905296967182387769351638611751261893748478960222278554293613878822882393333172442084409074334870588113196836976347798944393316922264048587450334973492872468451152910643211939190496536301995290408598591312231266361717277414808958506527138818628216708964272236089249552039629144144444347011328589374987945444954086106452229702552597341659818349880917158799719870223442389671394131494173149809120234838439479388699177493912771788248948265769551545610935079342635891998286923392455965041348104947007541150395232958650220626775875323317901925077799091139523907113404148939795649158395818287175758569939549349806160884038822846499927980963544976114492567439947621319498042573322018352893545083270853668505471709566329772532403566524296596815199883204946835572548576263755503749372599113225816607611575963086021186919710193986889898836016560886402937216381382393674001181214243057722566555943110335298984453895420881547259488663327689599267465144601