23047187261842038612929505879325968989998368375956464702984067777734835642791443771229674482197748759492222683620736963744534615623710495941140810063428562331051045926234642592737886499439179743841493114657203362408449135773565782634792363773755363623875904951161841836364482855361622446283710508455804174801015403727176472736905116967111564143919262980977048607588329677262191173147964015911969892873673687998851811823510081442648822613564022365317759198797421288185026268058349541694916622345587277723987232538353422185469787124708782270496591741917521754838620408214061255021731487043943566610780391460908163342680186106373669312677595252668054607266232576947088679102274554916058380244559835725518950912521353847196903436287439294111792238170002828937393933702494170200626863254353921261504021490971836943393135512792812100979120682781593658519718472122210345731449854954168900945830208596395462177684742534034945216520943342657863930202371984364554025053031856641971812183153497883389695411552421215953102733785620172829550175459554124224253328129668719464680349158151287582874855442523356680668486636394770333091040538511025590108775765074439554516918124909267175557196981632027615464940993768403175863941656865339964442133578804766445817425023412824181577085655857439330077595634992682167094433285372367579851577578152963626783350449925009311764341979897246589415001499467141228453140923900435782271314610862360504947305786691298225998053287252653194804478474256212475743033906600542257199869886786844759872794159870865193274942382438374614691893644642871331913405916959158674132554733204732720385589975228368903723202671444029420449196411006814542458528504322786684268476644615397525874012544261862788584688959587415149529857312339198917038896869542098577995219931510531827012329370353956478593281292895459552462894947741619547061611373912656585886855474568665451945519826414654347787589333092141202460657897731945233501035999858266072881929353066487234941788593291786766497169226948045731117043528199307479776809574920815203210278623774547536624552936055252247469609369464327857649548777572968559199045962075382011386255848741346256049437036813346952451012182610131038986795917573554098132790653847126327642155312731931649657163875238755343137028651754698443499383829197605862617939384573601707694829477006237926341926452747839149462866309092642873915351132634781273271485962434453790977388716115856989533693265596888097577717435990964541908095663008169438685584136677751976185653885880277947749769626767697738521908167163126077370618254904345071729469278757652537670927468559421944019667932045043942154449641769174405696309142538080649090206767781805737491384492364461191655058039368535013750932321765323723533818668086939188520014952798469269404957142822159968093944115450596371001448686523381256188720757272547409254313782427057602221236355971599099599897917069431164315671316703212351592335454016497611256969784445802013019517418079535534305658452872984204087194120493152218377408241067396798067015437896143338282554076842663133933925135046471743941156802216059956823942354853529367291886910844475878225534167177572399997203883148179862706888796317102727328079577323736787453439932137073623362301323214999512404025817795607970001450222621788523759991083417983468586225900864040275480919768234027869443372252921416681475056785113196578539651534600978565757984817395821107198147097278419434412618365188064098112831794038704027011422211335176661812969371775959640005677951252332942918567181663727075785326258922168544654323545672825798988189600392678480688478789705158446876194171835744427828532023531245255380137170275686516471496114389278768054628973408282221193736960197879057209162277823371162577966138133324694074186539196254205784139493806152284137537035588380495434996461772413076474838654573510031838411163624235218765295661868450262837871145382704536463528597424582733621455371322822927167038577636736852395109850856404298526393867053051118383357291266027694846497451625777202816748054470241668413869259338001752282342360598040493778173717441771203253649884453027767992349130518545437857337538224498434884999093574362626589389860715411948361163661082993463759466046463116899798848551469556135266641637076814755025298270850346486635472325238984944264615569007550332697321972357953331461995713656292952845583573720174815484773944232216935190642345456923476585385694671193849945347879168768657271938080358220649335872675819117344276993308586335256844549281997231223173684776212053203978799011661599340885929330536885541171181447074408622304884244754119674695273669079853861186848199112390719497583560526099866081558083235910109399046478447537564307189193743279117904165273996968628011899546662044359664670857869447768599211894711799083274712224620782514752013932969567415784555362953556283237425542992066346622495276776571861427685114989234357331330842127375810575181016732509131662148293412729482437847059196497166686397225172033446658236942384162444674535492129159340443121923443893176972060836957847254545749584756897493118487941411130409878525659244314454579335216840316312672266381852451910919849174711455191396495084434773525183124776792601081646470398580644915391425326666211872759363610883721279725667904048989974644404972451766633811621198017492778990372859761320925049074372578288092648565783785719672279457448220884586309347141676737227499465554741658856937401795495113938798242719955036407251226599730489603166639020971309406710151498678294177370844716637058212912537152269416894569401309980330059302220935048302724153815433829283211834540936361939436915810884778710948909454473646452174624836212687154477223997008839723926196803356705724745422553221620483326617774472753271549188915419003710215610331540290232352270537784853775789146110203249908141225242949290545759596918967138