25734164679660089282796056020574243095911695616436072593800345867507208342274714111330366008236589096848286896843211711847900723269900433121268081456680059665122284604189683744851082556646438491832574637161725871442974741900306162881191984122589694138534237436877770211088772118774296598678155629633322792881017657540945870639516171089467724392484527130141282713527232294077739514524996951393713734614273618658858994416459732571042461856132930201718499722257209232324133902953838341456647584005594352375051544868762377992684698291577676194430669069613978418043198045859404137212391164208677770993228933613863509580981379144455374984775646481541567658591183672374749403233397867854113155700357740636109593820011198892282427541301990261053454832215589549331528945831728887100664378166307329762633675515476626748438599341964225837158988092834023887454215291154368321765224931195686646727398149524699996394646945539266593637032319410378528659263245917348213467236827283078898095294983218684654019408965768737938723198173011374835750673737046386223696652532689877149797271870967909398393701396331446302630292827455223603425995938034967827239079185593343654595740915215827329340595624962312779796527345236268141789659586436472340833405918517850125843078462288839958841210217541918427680809096668470642924662528053323509155453999692088849718527717245740603170198933279703414345341674938714959699589184773080095926372916081405608750195895887169299395279689386922472747040512494179340612372639286135766980363073165462455105620855076599120759446048339884992841814947688089629535804063805737688310526542673800372725134402063759855763166489576463906599012991257736174055920723135611559236219447107804428322772351941588718388121313087261196831739279679474963722256881892319163263623611875499848206581013592716057082612501411611234837124923393288622127575956296838157950066718242680783959415894370215572517028605325439512422954594009342767643998781194160615235968469636127205364409223607430161965157271385301571373137919434157243513094978997313195863569454195461059947339262485760607605912860723620859740376192197891013779965799401736340213085045460297944024507369467269502658083407680436141671049453288876858489368347550511216806230948395112227676462221002109877034808298349861225946655715665956609555868707656079216933685928655537002813533323287885157177911716585344268339118392530117537630510326165866843744006236325299004854061832282747580289875215311123854829884638344968812035125570344496635034111812510874550982776321863654656651692273721983466496086893489091323782413171487617576437747850938817341663709919517762043499912886502399736880511548979110734821077470895570284787173842365552630118028355654138875961399869019756376458469438371815663577819557375878123753202676175406828235650785646393277748370254157035309397758234276307809737877659911213638379200562761892974935786926717312757447581455453529775581012081967671779456692130554191773929495184267841541321861124959468828426255644633258481443549559594511005899540769768858545982233105324021428925634093297548629768299828748531208964236967875671279528566801368541587546355736085926348628255558069186623631418572260975225568101263715982374767544629822116983791243264826779392211154181638780287925617989723696386829299874719415922744031453980651137785796565317341750132921623066389630490195266826317921648192728682285727853385445949037557325075043289487769239813146530964668648492265949868921774688260831896278722503134327121246553146386990298244301738518627192829235446074043259513433238793111270467386788115378315545882013044422988115612112996464277931177721128816676370072020560418586296589653361479914851298541691037315432320775415527554187204405279085484729962316535336086643578266045384018849957456233810737710628429217653575299087412227316446762196368228457273978320051499318496741634757653987313349960290690755334201532095028184420853911130688251704411766828149361460531502376802699989045335538114802424358949505271074036346580642123611942039218478637563627454854748312446084556821084339175773765517092177790321824615756349062472928564804574281891245599342904187616452332381478962133619446209966421504962640180915967335739198008254253359175801431815527158851316470476852963963488347287714764363623375771115357719281069190459896984561206815374429101878152418844292756360457326563158433034718581668044399128026230071493176204546306961365553503387683279638822649830529291670783538053345178289636713847485483336557909369717546473739851457348356841435430337669963654169882980072631980543892717949187293324014937565968029636316683645125992911153804274021933886750489845062251881945588908236800559421918850377353319829661672420577637575535006177517438924606361364913433964531843828548304635392903245147682583800251163269136658931506924653395191510545415561682682186085531680343075577277367890689401018736217166722817891290749124709246404288464150395040524030403233992963987215229021617364251233985371453922399133492871075198659306271947868941456259807283492738613410308033664227804724921590215807610122784869177727267888318639162395968391521583992887540570093463443534638909235881140926246919864569504519893464812919418570964288794160794032338571182430166858633638886576940885354605147543626885869529153895651027032508940376201475860434283651455341511350204644091494292188478443465712233821192375458350258560891231351224977867577483147033915651414814939097829493733523833317789684863746511022661843194024273888620217304736457661321347045439068108878948207420316364915960873333143567699779539792032502902093325128600664452799228719918418216697183481342444033195648034074252448147017495115627997853219706362781515775517962030893599125659650729088193613456057601745834881672650183461132503526407700300227202241594891812479939634154226664290292761257379827861337972558593460865123508041