697123774358353036234436944350217615323624921857770216584419521729074060686352598141500979482234329499735188865789662097020453921496655375984594171510819651368301378239933166078568252354675476613861015102282869244913750515089844302424532147063255210655781119219953456511518612187063931774627941737153110186861494791840157367732684361490053518474687276519704711823933358524604570470068531760310296160578957307514595726111568338826954609784314236557682571775272683877079353952831647204295876253727611567073936157133946389152906749768070694781854254834528671725196159609559365729345553473434556235430059233024188423710043632343926397409847395245279794319006300626664878607365447479557630937583262248459632998053112511794809302700469476083165306980457172191475273461798355797364715211047711250749412591438229259270933926767158708408303746596288875618151979410383443810822868463555917149152065715425053490138173033789106390092949497428752786390327664396540251597676096678947184240372812459096051896543703312936713523076354545718069681212614545609579786368881857649178933097980507691337550468555382099077814128949150257579598527631783558314176598608795285838433845619835925827731955850161856537965928032471711111749011889219506486333349670519953802417228609888513130688646252762410350263315578866728853375013698341318535929302404852459856146704762735925334595479855270474448167089750739777383186723492459725442570830611808828612785345302697758354534450158754296752335734292369684358871447653747140488218150173632764076720413151329452117909699543673121842252784237192228850318409363673566971561780219622376952887942956768333364914881928208790194838406070214130368211236327649378280568457346066603152722328823559371667640484674627253814673603925581590631470944433307324629494317890696257296573423540448419376678644499909172369831514906767439821383256660773799886151147256180858583623626553905948353984194586447864097403662518891729714995266241993262426467819227843827636529842425098476666370568955512248319453854163282371873535804938826521982940752087895324600581817116898748672359826157406409934987506721420743686140053712626275569420977430779390528774682913942620845475442395042772891429136902125866989255434218949291259273987945376632272872144287810060839136845831121204993799571651593492316517986531688439272988031876328609173693479784942876766219769632729188540123001802264525638381597946444564638200917176832669110541951616923142559788942222344993404641323620377727861436900880299911518510362465436831868878210362530221190601754555172981043918888486776024663151362095997445424990015246701328218955557373811287114936287428424586204076991504811428974397542611712935398762854390812515509609941718019716453105715473446441799115354363110011988706543020819927208441758011314441622088475832111350877468804782068532446818965838148279511620877255739998996182640984037147287413232536095412657612975151770374733697616981023709201176023373673357713949629647317297656297645028558729998281185537201389441567696101589385697433592635345519227184859108892858305938819046733587572096184295911782139306339565754825411374009153928520780723730211734124311774514648486448738578678442591434234672976830982779151926755965088704271775368634882873003332176992680231113582257547189195627129583249612429074974841844720492421443676687829327430892610545497755010707731184442318154555775834414285893147124526315091236092684630986081106056184072363818697031778187094657281249995603965278433838671149742226837415767315313885127344959333123775770659765189379012562719703311679514197671418075906254516814883927387988706659883270221415533137590052621240540693209586231840668767098917838012212272327374316639328412931453979935674396904714256359576727561821641140820855115350712085202500141181302645979977138119592890734473922871229990981901033364040376865280754532214934231293367682563207040515506931521726384747811991551060497423016584795597577366825848303603325532004527977821082528965590406714867620615626744707512518019346958772135486901568845581564174302061544010528321854292786928129643735156741778173914173888084764657286927368948650317000274588284937860011589097680641441416816823829823843538917435792368883792078802339074915082393379067623845783917947464152254423603582197170944748793434508616894137910887631019576121844639660946870046866982253804837335879032879682896662690140818635358041905615044408431374499483162194222276618574001951787118775786337814412105345889376494241863516641719467899841586580167625208841561031001961159559936228785881514370892188165395980932195824454956244310143232111421938879408322285479975993297098121487448057624855832895358397065839348720874369069635413966868466339705935819315511397133827547640853572898441816212631097871707263473342562985893966793818564667591277415883974779075433056972515136648571723138762542389370484394806042407133476073962794588851606456430568668517395256499904338471680107578171759726557386516334761765587832652735876248951842316916602680686262235376755129178520085194117161982693918194646996221367259316874518151089058475357637414682486596858966479987988445823252667979463597735763596288074856387290710132326982732038676249543844310457323213226305596979309678636768775401050690552622189357163143558987787403886383894256149776713193199757922665631397628279817039905128690178653767574695775270959449841181319960046446765740265872192044636713223872888122940191839394445885484705122672275756508366691189785333672364254787100061413018330522973879463398013865299350190923094923049302929639033626068944069189885970075348034673478796269144843868531736160972738260781285546247335459685297317405651363278700639087087868148022749979845563569458225825192891822530386308684673451593580785856327725243069043663966461714762778654632816658694615707728262686345706977128238911703341449751553069043460713679718972312252845978