12942408388867677489322141812335986172114263618048285913526277773439484378756096640587957336279210925229455920355473535884512342948580358222829815985891618302702964079153154040739775184374151302876827588393156763434133782374129223254758999614299401791889202232273830962373923550187135857471532628045081784950697263781474656043339564291125837675365038055250661338368969979263166507491785796381482294897487122266655523067021588168714416891785613389148386572576711057294490244758419176076628929362837780540551167118904140229306315457785662949055507337698960124931431256181582747354985537793711512032718955712025092170992904851814659642514824498761590950774495581316643074312850807723465999224656421926168754721616281969177336904392198997635545589266858364792003940179422595197990777796115682270338219146430322486202563811691569092821811158907299117703052798316468882436837574068674431627415966748412323852544302976118435555917951604117675134495175252916345316633681433018831859492596850576015116617877679904229040052746228673811786803728338623241792077726629252477228977364351602842311051109387414825269156420861951775169729119817388834165973655221939392986839495273870817984150612224716794396698330368077390517261225455046016950940143320657370308443217845419075270253956759502687619855829946018944790396746834053412097529590427038301141465970310791909316269589148284542442637309534428341619426263995621500479413182019894511894669271732421226454678336235919971684621606671359967329863140078648443074429922521247969955913691893370910095367672251147298812847981344451455245033887171227226332257109346833887281077717681298229041462396074067482739220603471124207118964923738580512657144831144215297203156891332224044967051371911002192826098167207451142464840498256296842941655091303301957324314370918921736631843289815970778913758671704281306074465634795356318137268988203072276675469540344982584662123746405238017839403854479095805169339458051383428903285863832804149792825226280935949766353413305457433676607213571368943164841578702207236236238798117996736194406702066311986886810303625749283838519667547359598376558172603771904906904027519650707689209435136393688529146384428219348880886105513940677791660950724435832695875262959180121260638099655252590022279109362411258991622108382308092323700901225973050339921899136975111636384857911324401791233628081261958786289302597141666304689373091894158659800261167258460931594362346582743295039862668511980908570139411942298568687764785676390208962500899470152211633672015129421741999028226871232775988940455986230954847213499176623589360670830046524921190934700429437911302207195192122131858912061568929572404957803664426243119457113882617855480875458131540584600281070086967399377309538488875880491173134511803175178827471478628192861941489375240384454834769880795822626035359189337746054283631283010284636433575869544912078570716122843506917025463621603972362426591842898302897724827150339732785350829585884892649704766743035674564619517346926992124282644242046899857626425771670494584120170012086571594849549819398921136083717297926291593313856476510793715066186839930514980837020837694092762603751043366962065322517464202678015129158026551177767718118722887719127265624872929612692848861738689992301139804146218978975657756941725347366781299188574559420217712944723497115213182832424504609459774145841975934002640689444737873077229525999891169645577638640598729586357941741835501863710736281415128784967871991514496063299696516812050766909244112612471185220959632496113317241429656157292783214788958612539622126822936099966797231210524528328831191134553332176453746552377981621467986338562827027243487590289809534785200598658784899884945465377387843247813511712283241384164533078407133507470669540084439715966315237374607379054667863810295848342195686248888394942438170537008605464862283905394712353991632537032327894044117106101186336665786299118448281482155163051335629548699567730753246201409754945210634732187465694444813784337735507316910230689983719345417947358590692082607233103631922769597613501398747853555899312626457127937371212386979402367091230915554593387273919472905363014802510322735582456040761982774603282495981271725313624193672161713436444852268336438027468440306935072831886911344146395441065131952540017796321697932280583216906981481771621688942662032551388593998487150923419469892814840665428519588467204522494208941081242465870718956487619964599283948394432719484625273323442787629354322650627150427761625090954679553565712499970534898237436348559389899564837746184889472493251471479574178667229569231768331971179191737196913554315925919629295813120513043079124177690202334498732331813302073751385563763378445384325437138350820773816968134979077758729507499044168321362849180524255568622651069270892491279885854694433718368820008596879348637875914657824583816900157625785289997364917222426008999124155218966920779355403868229077963034355559118105661255948925787220512615626607412294478875313276995368667163916931139736048857974317552671473044958638383095093730993263214848644030869613808757226563225236036648824960718543452501129623948071053430251739753218499591047682032328978757284482049503596125671910082227779238122922561420593788631692496403778975946226255233197067929399436451602866051344493388436576416742579723722396525252410560913368088112815582762630775686659766975976249233187042936991118344753157286251317725999280382637452164035014576161290829227636665378476824990243074787593085105812457145743431890299490106180907862169925353939627492382356725385147475804281772814615498541644698112390268350846287286825123270953138884806140118895635551018853310910668010584469681708516092678524162468687575551647469069480548728278428153511235040205298303077839087227896579345753776620074316241106882174549215049259149718310651278967505858201179464681284481964