3973544210732015744212761174328652228418093415719689563108691956697947963867648434118009965718342480365289698634177684294778592121334476439767754483646106234569167781437125424884844086607317564681027553750712668735700182605077426657863001753649855636918258978158336973966463443876029189299394443569937934914829241561227091297687548015963703187248824533222135377826420417718097253076834628605676875739142870157161093168412951622392733778966841920751831072773554350814786379275921910411830428575841606859485198028380633589931190936717039411314544056274038281157764918447459345930805622924658417576107587379162944315285922834878080744626866844964356284601649941317473120343853698654994810620063351927893576151881433275861283275493833274837344902641599528069761845726851723955182195432772187520955656711853734266832298153915428566970787796245081442658662491641332135754729074894892468211719567766568648453625494359091711812174136327673980086804680775776327548569859982635203515791935135625811463667357543772310051988442752503339406383666149834045888244146592254809248496422477602863928487132111228294507822576474226193519454664436048611572836322585600217125561766561692495056365210893953813291559604191518971788769986430961384476485751360843553262380553873550444669110721588346919564091936912958352312662149442128338907555812276465329640024995794611894303453329711863671564984347184043124818663951983811812652720533342467702554289853096479394315781566673435710303877434114930885885681232168176841829786698397409463837039376536288916199600720798086367632512403113681787812937191961659519158264288702010913437304027606934292063739886157276075119779580892807439907028943602730186265834502517077372838362214013941468914514205192119629126117932783278793902442315111452091264571446298277113646604798735414299337012429038133723519974302346307541125721293652576376373831987299379764366956154069641289946241046305544292218718745828971569219853304452633170769168703741029511945856142502615193367358423984895792635090662684709210469036220053395195774197319849710810147977291659615056595289368153879149779444686628255118375146727243374982334011551765705670104084503743255017441646175128964998437161186665786773152735421428543872167770948186266141977886136765329833368231267133510774686529527271671838802982114906358772361008172541636938302455205423684197056447876113972221820741466717556848988070570453773919183217012579353670260977221227584183117995966044365776758359818412477093762335954643559251482848358845792429333243720441206031314529696364500128194735880945743077872221789730221106546180676204606140872584395327516625981380786924284936038161369403355151959422892784560306972976282887857484792745763072898116722681069146893136595726917110516518633917366199778282088548260826502082614119868960453161477087821453753095609882071121395578333857324567693793676968648166661777911085219711865151927213589593177732130019318220425489246477371319687297566756065973844466516149134656385068815439616272531242497739660283789346586933547739130944642414829398268853948428964224683472268223323528287697336333461804297305041936306562644693885457678408991672608074873200456560351071477414429959650165666219470783017862268196316838905195495727013800826633187465026164938270267825665071308293202358279566126264370131434984190783760648799237806265066948252845578893319319531968262837162601948262176790578736656417489925727861228458278126615024143953275914089244006108595864876468954959983541039707953777466577115569782836625922762897839118776394607113306793474983320020912814444359936776141668289473271371069648022889324736363826275556513993149493306978205981238134464374690750118091390345469717692785614454651775786359314286691999539280939406004768125134729779036649151175389367214294834569790549752932937461477306836248589770939322649163412517249205765729091554602737109566574618823698344650372118569797795079875327771568834606447494388152178719108883549504643444684646466963914641378867384621166171451162391264316031253106131129802649511887956019514269642838817388024836720714187993722977329810231853316963317824031125561018067474111920875347688874712815225757775819218034588417152631329995142173070532911676920143753155494783028183997453374169061674522708993934154961008729339785307880464092723887845418566372655719582814339336196662270530228124701094588851427323215745355753039391319422791842519451028393888530477782444285067003578640747359675903167258450832699831434945580248280787892115954496020345231611961548426530163223133269323792414149362442172250331412650920990885030851651417613224511394247797153674951472413160899035414676412845993241322972259135910019859825679367747647146865624681973152308676724858988156326823528076297237268469085349919233293300521354355841153848424430815176881583311228734238666076091751165394067696576077582947347069548722596210524190537753055370430979514493453071820316239623254373688629748293129709474112056101327966157332422091986897662925172105521504509382222448896387958482126319069584545591283899436956566888850904391316387298022384734689142436119434755528108378907343134983595257507739740521937295447085515384215015483925434711562703982568076617722245984073803333463225879191636173352822598323207604600948899126881275699340340910293157935443907303137944286831329160697028133845125628584324988822311713814857174690827761247481425399135436048887386796392509925597913446566396209628984284310334971679161690939304375738797566941149965126615310087130154985112255944419287586913539508161620215347347717598910630164934926470153081900991122722936249148008684326931261985140970263140354269066023886541335152951072438890563754133344190120035467486730698212983758564026185870825925141381795913878130343836078266389639366753308390599904664120666538386546717756380237743349418398086933623267671490180260238769101914838593913670492896099004135