160465294223213335700344077924369426599171432426559094699980542291846397733812493600932593538773084391986501612082961685194989490306396994627881674480663950791159284615558323077673272427469655958745388396772408869103688853826276542786499542583481499440711247409650165348311891046248765800562538004058261227319555278044617621591560687569939248797455462732233043378452021914933360549308080599070671690717734065949118179818878890523268310384010826094747285825988264678294408564474196161246739709357452598487497185212211278590899853911112789808446768379707592132450348562433568633782198247899045476253155364292545251421426317659962754710844592190880839287880770202016780477694570869569304036496831265879148610090742833572047324163355975615493780794823394553747070717865733020245581758260081047491682834454513966489634313171205370414592394582249434231653581502996933398916861381547323455040274480476143759144945463241314186862539484563640747585265804384716234905260486815474350944852591595793095309070573093705428731301798246776634503127519795787426965640473777422389478347792171253328534200252456443139487745211571811125366746322543135666734468339287600085509685930567128335765039598056171242681022415474562204405875017617974913598155712551134434029740152498473109642083774245997366365546948734334030292260693077668100239976437928381517238114147374317485815366429385237278208950581720339460934223447229182158423317777430569349930631248573531140996616994790637730187267516630421084155903280168259768201427784114377233481136129592795003971101758524483946653691109968601288055356249064068615415301545256090489678745950280877229955480231852049482151738550513336994982655855484731809713924545305694131821931518886150126385355914256749575302086738536155139286779553679744938396528935036450888596404083445586709532374012394246843040479962285111889016511723314621672842359484378133427244393487911786122895122020826629122791564875074926951948696662823117266127490452068678415255523163608568179833712447793152249445634080743453852821761028507242333733123815527391004423899533424709203712111656391860819071156784021933306453573126118192079926714387651124952653566729675485866607708584219505692351322468466364167504003166237146845309271291437042608636455536284470128231119594212451994981324666263661116915950667403171878626837834195338311459321231173008324019009306168591173779732297256075196933308723890428460979225571651852466766898998879114903525664339117523754281550294551181230836040571000919789661874218995811509832529257818800448694118878188005581392528945029979498642841012357784976537653021865485342738059226657677340992722542172208444983467804059893786865284813707439905665380973116132916730969785181381908527451693123582794179183917310994729008501437812855930642994866775931065516318112699361780750770082118876288898701472665426971109760394947549275423945284176881845033846070463408187831826869434768951753678325295622394235977754656311076624052091627491141544536650806360377941392022614799272372225614217537269644475453696162498677851428723751642061907157237275529265316434136759844237279424923179617437859826337029982724626657741804277052417346210598321299108881856170976478783145458554481909655747267476507563239645659433931502887656697683425956474489854250112621774349228769029631733449787720811371145312338848071554488251482559682677673305577933218620893360696454760249478269954896580548416029274568264820452384332180306683928429552094522224472188684491711424627794431139386549994343955386894766189584298739678687889994127866995329222560812491826593919596929293506526532389556513692427964849875714527133820108765919918163238476668245032336400910671408852941623989631471221350809719699905589818119447860598053259049375631772544870746737182984394255764348703191134814245773714579525974555182856919429704468806325368540674221005999463454961585578336523150783448901568634076380645972235562794764948333995995931782669628174662002132935276162057681788414011954297394747129637997733835362598605502906625392044313314064558221560853854542962296156358690055096162459811108698262396810603191181216162429616916469487817831499377876424280845796232785996542972671425517032218647664472538488444339832851467304286519185267672785663811751655451298921565072264966625236580096282511636344888436060945997731863528036891374682974175157769584873565879375395702148749682697393477031429656997262402883830752021256957448969904941854797230649770468972174224386399719615225298579115158126257905660520941632365941792092222128176854456622009255460944974784471772843581112652647045755416061203729182697700236660069299713662895889624850472381128561385523046194614974625807366663591867032549320274772524175390527788160700474451337835793699048151683848664560522024335926215051236819625749874940357363527995322583005370297121269225273670507721798295192403920591302027403229390008840464488907402241716357174885811518760768160302925320706352714349512964918763378354111384056187146769624990227363080744053541259798540665786282735515949189461187715279753515977969613895173762656768117321557208865601553381621447611415518673811867638792331929901115499602261665429451982488585376811425688652096889440261038460827859523602683334919259736579346330263612296583717459093429181133632251674725148739383218074217929989885841148124877802269575797663937655867367809817781779876442582867300798647987426976512264852633199107950696424424399123526330423492217206107040426120478848469938414874957106573278664547676189223990451676105851665799467594631846265552781222366693343583130135501808710617538058108262793832275778372434236752296743524373430102877357284320679832166669017684930446579517003559620989753301252087966702331697642444106450746142802754396244473571373899296007726679194044969431109468870545927232823441467669531827305375322292622438474418999051700982709817807208223805448976439765913