12597115201897468356681699133249656519627742457422677862916538153667294309198569014163915568448583087957538379833844335568288227999289614341112978722812712001795849229359972919978949845329817362466356939220984130213141333419766663865426347132895193525785273488648057254927677725410272924311308903993194791486562329339266838287757126229958965092665351496134804452323209365370359602893078304983733161091124834670362087619536790664510564832843336054206520192896015849271969063225223159321771632716092317991475808310877456276543912679749137421097051688631719544795604779889009755437538087506831311259522293256954145336071630293120255943116066595937120812235844034850317321031876250394767769958248621992286903613117543103397698876482297107439293391593898288243347516175487174984157781445523538093133986359602501665716254910247451932981099439407496846161025675465771536151793938848165286814314922287185338609773358260304831069875816168820808890732233948970706965936165426647577280282142985453855417638400414136654971130184256038401231916566415359109722446733347308588077559885122664244739299169993231096803475289632567985337129431335219314807482155983160555789667227633362199146131502472929357896427907823090709787151275371903664902495154119824123096144380963224246269956982514506924572409976597314386776564269606774545816188453706200576597743455990744576878426468459311552238582255171829545139310675435274666853326363275959818510342887242607666756818489240061496294017145236736134231458367562960484002415428612332693963055510223812458918119379787038284767789882406509542663783495171151613539383347518799300928991084198662832867528996048914672374517073749718113296333283623676163342049072747915086189551561387881802156277243749444653544568503540484155695106068945970550560091468797769418674607456623759946816175243459878702560951393974723643352094942938599233757747221222596249825887799473420330344231277326153396461505976409018577391941303857146446979146006973461873999590569739522447247722496789770013076710117736560136370356937083613399385827855472729815465420271163290146283254137426964285895664867364373636902414404281806321367774790013311936751045533231453421969879382407465894812399998663095356905522751417281854487016847018879918399467314447177942230669579475265063513375737825279633642874125355596989456386700674592172888788292913588722740703431412664881113762937972038301746136824083024526499938371750277816662791600170872171647643968724652815114172211088681201685613556864209814777806705730336851943516126872587266866831297678937596649012029956952286458420849234819325669137027603192049458851497121714286850887090405098653125479800412187732389989629460043671402982172713375496735278667500270844465897868860808343559020014598589482695704208481646227111661593363735230276834148823953923448309947005640462572032993833166152113765116297233704757526553804394139332974359356158738037923439477002522422062107744448187556300213842580843919537219224402623048757663715735886781197944560194943602225133941916323859605168015410750536124098569397272116592387681522311581041901610779515823937914215436969510015697521995392117344645507080155317764233696550366023008321781007240253545715180412351136596420558002111325884906250831563066448128842056972045565244857242327953025527402412847696537225745072738777633109941648736591885194928572838639286125655552478002410877145618918279862324970158327065092971254494179435176350395987235694509877138722986451995129814608131461983574880898692585828321926342364357962564498931521427464390565958463538175641825718568474214416955437353142950419892054322116853951185289956989830353531271785655334478283854071759799292245226891414727956369993310057306366241647151957844753955896622230031212628790683796399461829361409895995729925688353041461753802284792494272553567577253344291359204815592366967015426191179048429776918898463428648396425308731928934171714310899934184829919021514895319385385632907505218344195381950570864763752988811876883137826296587952267065702899911394150603535405961228170766198324240868560567737879627866479706884908947493014651923969974423420297745765733759638559071597902779849325645416533477979402482159116224655383210907886550995295413684264927354487316336382034405572126462893085795285153061594220931938151431226059671244815854985847675451003750396864462307335816026806146357044663526162519470734483607139083876310163550112164342171032672889925759362378799407132339854328585901010920965584169409526322742264208299756756382975653653794582141633357641137041892065834127756931589600998553983128234427674524826470496969468961957723291170897805351455544144218228676729714322263378483765864378646880330771453179699018185245591544460312312714116911549546135778327588899453573049254359388618010653087913141799764064511233127111373328913252098286005804526218112118770433265503778663883789262243286173917412947561546899548891177971321757332851447162824695567434867890295381084295245476973718613227949927432564048687965504837546456202161677377748184754375279001300579802486605887851602442249722919110744866752176737274134465989408193799465911895253941407966214603295612759200267334895897144352312691167011007589712805144667443131525349046711458954094722165769195618783017151367098102106736994333909886789959340408222355742608251753089746485110042907749659736798723349071921312446221354192099574609399108954031418484138522259763924771138465959288718558175961371350747985487286148395111247747601881424522314260378554688252282923867314831419569765238340581927485750531077783542086844444049216766681359144563942867333318895969761085897697150629395561639741345274702660522991052583201559001483853392322279864404993315110356076208532163306337227110112482851186910350184013171194175863417551818319489419827267730299832806722151397090629540805362963446372909523990514629337552589693726923733583587526201529996505754431334978