335168079467297623778701336933348106385657210813416281892051847403039621191858436118413431987314012528248647328447623174017489204062854617185180774686096584566656363444921007681382193702776677992862629215064116128313913811376144188062256640596169313985381625249193967284773629233648767287657523139232533315838915252720427352640592159651678460297589796234175488707370032304983917860863125659878083717535682928021612524123684317473571896157718545818210148344391115667626767839907092676374282926197768278758720584389460258496814974187852942404131257389328440263298549646516624037467534853521406804116491822168236043635722870853492477746690587707366182601466011356203340067106572123882614297646311351235852885873787310825372867880427384277106770521253133229277550620339078616808514296491214456951628736488439459049144247292386844049265091692248683957500685940742159733558826209672550546246921325179973283341049382114867353933708910174173217671874464782168794617515257115246906425334846452057468370387577886024912155813650268284203761177530589287082167364035512897159833401037140609925608314384876347915978755597808866528559626598437109982567175159611162421706350659297305070683140566617062347549474687516757293282411714787627626754085505630534474017713499934935746917568963309545492457293143937321593293344791748477639103630475221675859170273627685720198853666426221556499308740996198414117912838619869796364613404872028072887469625068131370077619616020803910145436385395499316696847286800066528332452618429121445010218633890256524121139930445109660677984359895467181147399588947893242625058684234757698067393548427921699766092409447438405171701788602517352870614657626166978988958548799572945961923874808234194847010819891627599943869929173628999716559473531187917564772393457192314189617341728919618279779596495857214754847564796712482417490292820266971971169550056333352414193474954185981328891045334871982075372981714214621311345479941288005991499220384240933786456886540042631191674787157234880319243659856181349724612992744655916919383503081413429334678940218134192410333778316992973871500446547750209333729490210066557328913223681257835774770278013399973349351526665816305652753401369897799762681774646962042221453405512470725135852972496165093363458343617272685598248495481917715672162579312033827996058028693280491026790583951795648521402497251830513863405472595993906857213560765445455323956112619689458337818347515950343115315864723929117662525656331730237849317201678330501125930446729191821517679082267376972746824790062901846609812499401411818819456065869023385037906753504104785951092437749666445763890137313267580314489169877143113456245630885944727467925553123958492848266764334585079195777581665644612664999628263494766437888264154852432582774449615050409675586884697510739593575680823467351113941428148584119184964741092701752541032317380096045941362385662706729613303918526084900546125418360220978405195700223406117349729463142321869797682768568518642932950851444942249373969331768868544127333387821023907130134717423265266120299887142523485295209214642047905431453435563553232264336491173676223636304053889480345421707537747506266915568096041225486494433794955885484808848063492500810318849854119761237816327921765733312272502435811477160729137525838367749456739358934727892083688365956828343559820419188340241083608836866417279955898762732991363764738435320930197817531449833093826360493386278721932473712732364809970127475036083573078123181297527108954577654843898550446516298511480833969918525495475751677550748345841984979113790664872685216843852745951506923224449664594347493738313137929117974391926554792672084987687777787050704163505585747280987193506695151606153536243008301309782184130369511353257819998149938919800327398477956348268987453014599140108992802126891336879798514835093626118564259708618352071278466641071193333510128983884037654699825766193288521637608344404722067895498317425386949826565341546361014739315696867834819917444128658923844741460347116144759177511496467714454693834849121307980294271738605413591258420984352681779869045845302968339487426993461650983864831037132067008901336717556946530493553614106155719144754146697395371835183943117249810274878271015604393144554444787926908395344732379566483226444373731245109377719733465240954155701749897887101896821834538825248790135148937001599669911816924214841971248526411744454628594584178735411931785131722473496029763803752931896255697642369296217366868488950547489123517090254410838044501762614387607838972289443542663957642295501878761638387758087986292044019991122797078149355141765571504826984124474629416533435331124025231836845473771046591940828749594692279375184063318451270697129201898391867520347266647585822143869998509193828715228592523454212768144696392242179551876600995259799071517066387418954746493831910298351569589555343947418106747904037307655455937618384184101751349516463255240638217259433291499722160930667779663898531458876242227336758985740412388813160161958684685544434221221295546480917069083460132622474627881933182371552008246282595203971196679162705566375785218330691368546301274495754532896971403701114138531082412825158772438340041785905165683327269161428421452531679451275774475192522551262638613232116678934332985356828822935627115262903687355562571177861379094914968429853813107147807158239913672960028072150397598255695285277826671024713707010108457759422784987621234777446697675126936128384691862184547438313110124867977383089411765683288069607133164287361910328667295752868558496966128413628374874100153697714467742815552282963145529532299063519366493692287002415193349527474691387447979147721753896059997634851874547964961375568179985637647926515182585331426118551647847593852499344936295628104987266399175319858943451985805129846351145755638913747977636342902459818323451864491226052590349075375327583766317503