115247668802218927133291356768979299828075117024590990644873167097832466228677156987276351004072384926916718747834139735623860948924945910821325241006797246019389351825615835054338558672630965194914920577590007789955193535656951270778276666131525759317155679914717488781758222961542842261263629027828310590874589116984068560217749596107636517679846803111392084415376895225735923951891626105254627090447668361124833041348450635709290528609409219343412934153950451533012753596889213327654381199782447774638794544009395710750128794237144136182697530857249788322272447807352153262423110117085501998832802379875999167116568864612980309139706995191394471735751139355923543168839092189583875637376120288697886004160452386695716871253769449332120785501218562610584087188943570665580518910232387920318494900278425244352416441925446486017091332912126452684906119040793609279951734997721015837401247024986646282729895426953457656424949542718505075242229266427737161622314289355419254334728809247373918908758490834284576621564623122180188625737324370743051923529361976455848432308690127511733287276942408565908254293280295254694199567984354248242779531223725759240833115342327946404257254703160398684115261985871798017177184608794125839803919966779602168280521921051476900812305550516054636278975538794930629411726014315848535014733778539119254546459842274285909780935768915313172397187394323446911578099540463842882634138138514220841299452886147658285904546562709999869764308015295082979006211097185188747619971604144219719346515175436177376720900416353632880481318644453740146733850063577295549432202511308857787084705816577896624253314551833820261538854274503479523859397939459124485426327811383430762333620964065035671720493122854327686502938567141761136058873666350164153775084819624220158546306974211286733475282807481373389543174128113617887487667925581117400854698050542162707742097080908096999656674662123577179794959876563042202916165629472665391147283227769614224395179118845197813497903914248135259550611258949389008256420252549526513359979218732871801134326842781171659703383324997848064253361772263265426892246138959986389508460139538968146870784551438487225480722727832183159096827190236517903138974268118119457480446473369650247724723801212154161863527011647773893715125864631728115541621689323541620675981811814206883335374515119322469367883529622045164144715564348144456523961422387457042499846368775384223247713023098598746869909875812656972791538650348980125841848542710891480004311223697885765624432227957967540434746168224851222831496469342808690894686049303525147707102590646707467334753154040732485903119871673576615393484316841635965244138486321704406487015859105362674743972616172955408685397173458108441921025442826950372475398901098092849883885713783299572273429066947254512227928977392694047904281293441615812584532425629367492594115563670969513181014125868572013795683183252546255473723475400351313492944451736404722578767125879919406014870592045491534517478418494821695985966043788532126918434596157031384043972751440459663441729065638219149412183113544464592223552344471296899444701035785199126163888330509901851321683239622501796469059776691262552880943036599225559350778945972167074709707670684837332539643970984832620850667902150916311206561979313454834129911576967448896698285500128749939611515456435570758655583861810847134737279528175365618210125470634950703712245311154035596387533577233852004966540952117154264286724229875411701777939548113131341295577976283717634428991223120897856070280313133240193716516176413855174423590686187468398622943168619757624800077601282328837683248864971964875394689544661509101453176728489968605984735073621678395641617946516429551958412759460547514455899595173907888950561517003833614354996536122518490660224326293196173074922623627172761250068887693708556470158294777345577906073842210649838292111876203137649056672263987317031189000157765152777852878476831363046647727267526810993659194532213019471198716451942259520794979750195764822045955572367054312450468464745286591689059629812394277469312830389281033215970973974878082622456617791009084556421896166406223188343862922369076727314170014812587347128382931603731211373492414111591495631311372732270596232532402067762766891031962173901577792524470734555774740716997470166028737099444448547357627571388021984250878636302466882762242379469042409538104296984782689615577998616836290196307490256077201610456512042522723977107197596287555879768663944591210452441501189694169191388456360441803708618252033042745474515534197179321396049966510326586245967260739780888023714045224687349518530994876198850966395687102530173221660069661560204576151217621211075823533022847845692253577081413719169995134198401920848228865421062279686752816640855931236109679128459047995313849512504506530925508577344699307746253790721211886120266924235988529940741450459503686931593889113189137043975179159740460064755743618518495974252228467037421368158172184903561467847405655483822260821576697122748644910089564563151411364469632153142105316599923875188943249492854535235227533679850532876878182558855183345298707510719599414255499263171546274686160257714364195126785008750219309361720758134181936521153731377010211857135739480631344275790175966008235939684845868278856525611841122235348812726467367269828596514662701275688550398773222929278932299754701649218474246600305333204533287814619997209934557136236388448096160430868985899617978194762198471676645510828319742685611962274985284890987428479167936557894299578421738855139838799375354694450892103785999222752100118336076921034162380935798711340123676999877922997289592459244482311816640716485570530956642501498735857073852146851353239671911239948944614870103595490361512993713497552423351791113995343534561963335760954471685834270836883970215033346206503385082850763166804575158110019178731761081523480669451413775