458281047458444586618856572840648178494737234667523618991976766768596785723475414396991703879682275891474213183469301748289399804850604961947288011243840111310361288468392250210006227333659574246769868095197132396269844159267624274699494482738303424444126276999360152061116256333958974888274645451152058448376199055655082742387168806618051245657035366797079144861331579965155829873408870154880318465657352759607107796518622991920979988545784035610333245218009198342725512307792608652834171598839194362864442336757151515058505169564175317026982429451342407759433659421641382694573043221590988865385750596753525792522204870774729995474154856739372242912133914780101526342203318575179695685333717174678454323111068727649425697606517721484454398901173053462843706568238266968525816531413582249335765825084988105767091862655389485203629399820141008797531718259421454519649651594453729092172697458438761886358043609965735225076837158017256693466160775026719631423342719801983239233391244127281122373279162951484936975108223424465483745504164399422046842618165357258720870647614297507882039151380750238872091862640722375721865765233340724581761867559188935536887384139796127942686680691024195269993568583651683904434786779523775986026038318084852873951408461185604627944814217757643297348534262494082764873023935204303256214094824647894775626091763675395241587069789122381091842216103514670468357289579967912802392757856285412712442801647986085003719887514220334052707234876986279985278394013025972734859828164390042257701469669831579993528083804211205459548979227954419669932362796520856361379482299192859914541265583557461248626446366525525617589687194737139200572132082663520698072266167290197157459762285256404350676647956711431690715012662199449931581892829572789631487658692021665891829969143910102679694623695257831801252913806681405294686578832852187874127611802581173067056120582026926055323573628461182686870062413474740234288253121193375904159689089102821841838076235792611087175178245257536153289876124543955640912640255339360768343233923665322560371392414384333232978194930690418516749799797999210491376460603819673910140975204324657112816477625328429574834655667104184045908764727214239178359335315898204587843216367340792855387569991487269132204613938128409237849021263789355018561740764967508424647758038029360516836043409720738772895589213677476162082387571672765102356634386818612990583264883748894674370104519834636069404798633437253718645811190866367534886780296462545703042598724945997712358962740425323761444674421367043167156457515935813882835062455796154504090004023869173615944115666947515198278096365433025127860023155718644134996977494665175614039443744879664843758834374702879141639729842027221391159997181938904536797118688822541634595425788153679690177645308639721240813448478494166935287866050364980651932644315931374966115293292835073526496247732510520025490804430878285088626057781076495210293032817880886810973108665742916361883422220296662939219808543475540222382780092595302763159326285909215655776201396658143959992685484471583865773884514618313434879901887795237058478385731625654969192166145364942309936551582355426674726322068398665267531295393513721355175993263374105589979983685230174135430462147108626054336946556767517504488503086483144672746946849513362175955855821613005343972731345389226950972467774454885722775801554689030259046972959422559769747371336953601653935032416079197571527421833610619848058808673510016598551392268165763444254802779038644776180155745097910536233412878429307610396519142868791831772271524820297845622195435797668098886924934376383736757399853049468342223341775118389165194271845380165588561837558002342922574680364356482036451234713186251154050087219743559016904125467979234133780646834198805869604310457667166582702974373502872386447884396159358768364369159211959547976163456057166231605479021655890135099545061972713739734431715345556035953951312116493152218853486147707654103791839903512635137435211928031073802129711553464714686517426246423115394524163904384975503723908865982098442573399461814591429295134394499291656487043144646837928659379962895105566374424422557736179625633868594673652374547031431660504414493678509337269483234271056925544828022251484948189568569758959314653671864098287332611809694547063295853115389295374219157958284622221282351215054933764099462815165351797626585560766492200669221924956741837870205046098306463218017417107986815134951632678611562506637166829811976771428945518118112610337575257452641486412884688487254068159075247465184928256807754057648732438833485895434987451251729149226114692367609213995110855529225174522575242687865569267108766742673307507630513516106111551591613765908841601910003503214255778344309214210215419320647118929771153085482545612352793069279892362469876319337093010693270967117902860667255794178271844650461165484678672611831868153955412594409714548155399293855086233806254474637217329925186281318959154635222925069646951332783792472612433801364946586977674437198837367875253055554311542753859330918127954234235963040252814435788482788763621368531477930825441589779473885900154819287803523651038746445299121053237125034442326600844458270425327623881914614162409643094149721280433088842299899777472132846877384690825163352006457686341311543397154895599292479367748042175495711488986728744123773362711338475067474906891659776853334714291190999825729895217201130016826994056739129262973802305586755673162960444585870510520277327980451477864839323327420308467881258091810545260392011133093601931942667988783962342889019405957396342836859259764319751871595117719828826772887326313856439128383013514912376525697330896532268621875453715862330803162569012397805290796152906915517057925678155342067517385964555024563564358818428494882109364393780832204755954549392557488843647222255891062307267978045053684