83874872826774178996581831648291786544593250311741473620082231592748847085104465359999472582546464444482636675809631711764984474896675417028770616313551087861138199665757986435926134795033583464473894324423221513362199999279537766147697565958731531233337923155896059045406086286100559720529915975670164633462997321261518887819177357989175702267892494334990618627032523164782552277840535069141316206303948112945228306031769434237161442811623789695329227538351068335653978184396448569904628033915937780894858447345547147255485482438904329667297916937314969803062582040379030347386574746466917203852529710482882609401131837153357336758712484789840543075642755134981358403533897908862664330325967651114571112289790268329775145067829459939028899290149715032334251590201269882465085229076363802427864862408528133348200754601226950671658511640442725196879084555485737749087311903230797368902222938874442676369513510132652233907459013135116871178021180637131145237540250740188895217872912222167815762420603093475971325723368936831987594263964327444889059446716389408459131782748601598114054800280178057711537745620088134170863553304596887231349895763898734356379388511925264823997248438488496067567471506332142480624216324997595787692134509047495390020282365298578616685656332438019915898151694648975449942307656256383253793166851640554397851071386859919918163990878873198721519486664154084604126281955066050714713506580494665899735284118069776749076769972975433526660993255832119860240256820234544628014289332905059149002228545903034536057669794920879160299378570733922638758380943408151210424213555377891381651125718152304547195981673042589386577563068117208153511627927893236719556158669465518214648284686724596306251521064916180186853286422293516103209491638102272246905996376496665918115003119416594966737526138904230996187393204193624605772880684061787461207929339466065848455964596993731790019728322692771348002957452088156368396920486804791623757077938858935229264515894856342633355270662609206767963106766673795156923960104974396331288954386083525187916447159640445813117974340768388912913728765470134431869518145575274445541598392853199622452699850393846828419798395686859749279711225339962828696466131784151503093652787142736542966918756866955259320980066592594319540442039940912837968237954641143641502479052277169110933963233766572154265256633595743022316554013599311716822132545852888603192529196906736081237021105326274002591067287426752522792625166110193766937958944658813322690395979690638236622767650968937577863463853544368752322054468498209918241349195480650366358617445657208810786462405767701432998517205476317715503936544834542109044877464553358653297574939236070288784135011303412419161548486846823054936965615315295308814851778125174333184234482769497344824543949513014685093498886775045343941529654195281173734411171926447391138598464964871301387748417263566319641725988441569765691667283124746675260673646155103289993999570857772875582696221634893387392876212839852329126686534775397427905414763406974458892213179107119524871162738339151508362923728006226050494107892637146696352781439019496659424473342776610077563137615975304442210139203363266531166160195936784368543806842475854664442101665878089268489715312377503050495352173097999720839820903437581968676913035540315480585488820558843534987779768602197377627645791720551392057200168861469492892556678503018588108893585959548197790499738902144486346833427855297151362696584264208560710571095948711089653387914063944315487792367221276084781474393392004814359242867132717394776765569944867353624831341323378447042556275862896822557544339436438058378451316883077230601859189225540612239436337829325774870819866038792390465896940181168386840804888780910614853721843841574431275595188436179949886794099575189831953003412745034352253378954886711702132860708827948185831068864117090229087425943872793397338784742330261973667682963259211313398396216595222526410403814741170614638997351345692747851252956262321279104893751885770311479874336005254206460113253210727439105179560805413523274807840848816208194309365119910823621401984476348350086876526315857658228684668934155291964674811125277985876941124712325419621228249177587546377717591139121921283835962446785412977384836605895767939529782673654929996215663058374538264146649367612767124210899837329091632752851324618334249112929337979688218101251484537131482914712783425471029656447479221066775695011278657314409341062927168106920887275449412050994502728168542281688337496859637530106419226596207559586836992491888993253892123579131242232819397276019635678192955138426593842453529806464218925141025110521114234403736428081678975853105474318677085927783698590168304428287708044346272167995453956789689598988781020731397335424570969916689439324269204218627357310424071896616361427431594977666294598370635079270889293576261712775862115298030443340827791989231895141243348036883473141316836451932279122937765312638921185873444114604202737852679331257338734045485175116298616883454773931357923782176305659466433526708232538288628023772499799556460223715408255991614436838986265645582298286590599142325092488485250043602163442967225185147328171386996174644883598399473954015568697805493863310671169728890324028744694154430919438014112916482281185915465276168989828801446993711925296782130802173894689946587552225366674749475736196540636597973981365419107427011438504635671974470700160652006968084185092639256808668368222878492725688245948107835414548318437675262039891728989199739423454246917796922770957558646521352863387315606293150439030896892554029575682349384385487349012868558618182032118442262649370815661242757772616091111153016544732992734715849862983541175014277462985038085766974187487057748454174465618210227900744280573216280413794472754193488379775090998660157193136344455767666592269939283019821461310438259394