89220537605908909400869998521918882191321234438296231664877552579767588619785391336901588325482642706616309879151251230653846139429567292607850247473991100579778475849901366373770510718028395231764065504901448529310826631685264647140806424968339701512175668069236382739198709371666481653277518036389081180760154048929853361308227424816739361723426893632186033281945289219497567626883765876549023454972995694485296528041154198800711746230118198788011307404037076691542411053249929503908233996687578743997655563699749847192175476910699861973930728079564322767978784040540940937427230764587033897831563909584930859917054309799444875665880728078235856728236278751699586459657169152011253935968563572225359094157475396572441157336983656469911359447495934715076911508782295442297791973728948999545641713488735307608395868761235601537713040249257231261721238920905113540497529824442940762621188118763697354496564971513063892275226266685583162385769249331419711481177160838484441624410428901239570789170589480369823855335445411031797518733637686779274782002907614630062446102965008608072390910773912388731018525738390347400897521199416974381198386416263476048315013157558773931506612193900897948387298495631255037448999320806794388370245853512337116167147360792344564307139258651856833589094843308912328366277268030108070688946165044268695277375680923964117598336026599497538559113328291321097768460808680785555491261309794600181099167539247675793182795298069631499955816009122338855333172229769356545583726473115218382699880644251248214726639144234752275952485266116912203907708754503637901597293960659820755358724115133456566763330961304730546141403384924403090579961434305871702158032982043134725719028808523684745174174717286366290078238224265943318639551121024660604839346068470560417064863356875215621262823624109296332699462203324404817170366144195221884278719435391690881512158943039227560205896172870312356126311746566710158288279142806573217444376181436175672521761442845699224055914969353302753352145562023868793954784117415673590401099862455401881489276682247986651846929328294760557218148098619458829506739721062898850335393254085539769919554675700898425668108109580852557659125798316503483151261783053644845478694338492293702960828349774561125437492937644568439661679226513068789638489831867823292068448701379958959146175483779935769152652923184295997248362551480792798636244651154957087462188963781645278488267898583753196083901311502826226889266232391035922668775451869125524531957244435931837884671420326664371971844975485177204242041473814567333710845323738848941555473406282043647515693371884008738466295198407224557816999221629460243239187946254052908908426766547334806192437335847758876810296328085434700374261252476721341675593933023394534063372365940047029707872687157924161875564347455780929265212339019220222828002345974536323596255704193844832775624980281099853434781369486276908920333725043039056381187562405187678698585597061350297699819953426857859559376813665007828898841852069508274041806705612586374463734237676316230844353339213366981666522068725289392115275326260022104527994620069596483582517634314938720915549248940158254676464266238332543121710783399622675661755777611681558664487537662652874270360023487830224253522921406449201995336554369574617230005668716585941551401612964138608973625348315773961725542233199326683598177077080151737393269273563465983471127994298674916397482411922280613012323813096336821756458453751424234737225037749885947648912344770564469229340013505595593659792324541904984814810640295177426508761065064943923638415711844432215778164276021706321282462787961353042816911531363777546725389711825437434248285182991365494193129260759283531319209883745725316156004408279899492462514026168059649404605288776806181436005268248864510269964654798442619901923023607209780215178283359423135584830233987363772148234625214670829659206294711353581915084849180572494177539573509790122526117604227338110632687596874325058257081416691597532235723463960759079388737773427728173851167247760544403372445390861198408119935015804452018467336343528037763410777295739217071657288746838555183431463882746109089331400723171802657920316988973256639705992160834834189740105258099684922862159643608155323002535978737410727138809317135592197380418153402996560599510326699527490149089803138580611397930950748046451453443015528982684422457110200337502743670193125052315897335697782426197435444198633448135325608997905519021101344678679789935323985677112860657947583323524501452527663226732461967763988915669192272775622641421855554792909681679942491124209664053917290195817191629842747062760540139166008647969197943733714285543479797928801700934356424920848654999640241595087665185796157958779969247645570254962836487682052855493635924112379212471646725602556482529983074708126708964721781147321754492828894377469608226973739279746313410434613422071346513226239927384496758573164220774883959335552256466093151867391697167335632276523721659005351473678286842928565957858328831196225518757813939315425233236171523077879622176783211954983444455834985887365842367934184729789236025015212623047342579577567138745458033260226122874443735387366146886583675331961035801771411223558740888643277785136312847579079451660584302063327416368943242376813112472261479752040121246209739512156318685795608768761518671666509828830920599379457784222700694126009349305141006868055390725860684367916020695771589841322797982473469321807164907530496889873237249355723326831937518868416974776102242739247080356577829995507335975970630721765686685922241227747913854869373629141606555594004250204337269305530817699758981943525225590947440655299268568051416639382126812861717796099716905727856497052117410778418836410228012481559217393140200797279084521380006844379967161303286869448046306437124687379970892831338842128913070