52157573145078965924787542656781487262142295275127814127481075811854422054105975364382262466142992138219040533121550911948808151142830371935828823623401411782857378862391519416905468719415703869627791197734782864851432707920162005649791271484561161994749583579988218851437334327331266532844610398919522381451095851501494207356196248698375721742704941668218961776824575147248985271067712936752142737238410703019053734640814863229379732176089498874702147707595896049663439486536051373568337252313535275218718872742946076475430568695984410837331031658820359405987797183161804836659504622129292949275200300194979212430664571744679464839214115112110240643888736410462092023670188443130572858386268614643273229368465659124971889654702728829328609731784587575858243456514845813710891126185665769737827359420623266439971978071441172971644151833381115493468530920494136992414499169703833244469746652418249463611379538426516558310111449647047322360849318603361297208399141429597463897464352439539168839111332417771210123176781093431384649529939960154013312944616754680385920501365843433493380569379649566865691753861659702766714565518275239955267593699823388404045914873939317167003677692566057798144906089420155417497147805032348832611430407633463552118087492642532747057681300966962459296460016288205118784556412742997815262679576152531594109622919224123616618627177969387319357436534349089703037699056253763333883406254274043162201277545731871643787851866907065527528441262924899848028845129765064687646760537363492665790522593386651189616141777644611444740799823473804913795460887237819691694249408415771858937192808945575647441201620586959351572238211167451127723740682407527132654782896530160425092376079138734824374843021718055536636490292823534545675019519446390536223101082944513223257591942872216171241683100627471915030362083051109475227796784176105278888225473365094021823338145353282747043445743367886176453021314245160575558464698765902403292036647072128890760053924413350328426665246861243322312826563369573986201466678316796457524714370669993314425835501597139893639743062526598560133913702760581247244464261688563475423073925523741735534940484163307234268687607646310822716395153497686233953372220541353887491427461835083306478338283767566153470377045282895842104633229054283871773325293351212830464706183847725428343696654145588168559091152520391453606512442411407482358343738179493911597984962879879809933686764656455741696380626238542526382398591508146470815260765239494083088471729366206462895188522084446440069886717531359956733131423022597190637451684896344793947175686172334936813987206777565834802358678186496482724242796309915698212173473866964823183440234547555856174610361088708558461104769494568474639049323264910726235380816363498601234126210544213605981981058553213253844154329990781727103285219318994195024418312401122422228238289050778645423948074534353161510355371765291568359195544806510988690996360913228325976643811247763516520997771836083527808600732926812441161286533900849401970484182109337973522953717921343139501648768023989473270576750889400633149969469121520294356377843569763921817574864839376780209840699197175319571468071543747545965831264639039558752555195192213976378637833850259705879936732396252037289317712133885036879324875673949441642040102457294572062503316909368769184310347813914693012304122860516745682436811585228509580105914500074206082826773424672265254203498111425403078483098301274175677459693710661687810136146843502918112031193103608333955362935193145488124929962341216675128325380244080605114348276913471388999366940577986524839946459535273725864424956041283639731554267123964574142743268899158709052687807921598918578127554851537755928148681971984420938975158426979086746557146677692571326009732812620196213547747633875598193883352266198569289639336311358633311401525167583895104619154798228148809825723048587435493117102596118451695819576386437085789713578157376726974540427684858038517888445680678028744915938758909366104796600156138409154412035761303537895863059195282323501448813043878972093988228853032045121962360127000922258301880370799109288184530353977542409464024008700701086952875278062563545632677002593241398872130342430721066546123866958229270001401162042611405809288695244879816766641337320905467242006476969236010474427032108551447692981057658807646753922338382757792531590841545457783253416754310017639655803342132776595530842114375409185756620868282457330369748531887350332649528210438111923757225468782405723666511843331854778427389857673376911945738929834817823223483833827735738396572112539239056031034155786564184762074584262948251142090158555603413584989725061686451041486751487589419905803337965040693184111417403884131182215255663512228212443592842557669389630948146344187737885459118184146936493899590327535686872476871782638647351898786247462636873941937641361140156594968931676113953404813440780411679640373299891737075561707225215209930970638466905549486956824862176759006463395563646211365282546796311718146904699224251307518140963446265698007942486897828508835760094921595306487962246724399661950355489286614011132835322320475588883434265074603702782228129042709499343921604363717283264975287417069884137582793620302476605194896821832477250226555635768309034347219217122361325144554292266417237640146261882974274828435321187749163721972068913736387459077979015358546293576288235049940643331054383886538593137273682620648038963518167701676377846489958764657618459829778378909449866044644499082022994804836491983170192970372593756402927292771522282398835243677615456856252335070625343693242012778385441727284449956444696457875572338363684398722299284989719470473935521229206596158310893369643312277631955828196323914611523308349899155170111772133299331376831381556033256559073503494546848302691892907665138486422576479869562993190686126718228475139831392572287389470