121859961562687701524997943591843501646196085069450565810599257813598162017804561351546703399824338755076126834920834791587811685272323510713689265819975389785299736647297962829171069683197725344490865995273844583316836497489315053439781178350264549594458081951744724841474984841450045402125932544238288311583406855764387566533641743614930368086341381642861635168976726816725851548724856503433941726752689807212243078955690132882921963227992952966782039334641769573459985367726615573386264961268971098024063437438811887797273536324829881481501523190795113082238975823558869553622511685049715189629240334991221658870208161163299930113931855546369713598024943351368018138882217722931875189850116314712546020796338076451514745837695269552468839727754484768572551978143500579176949803221011841704818212092358037994516990431983883675962145830794439441751114634904712491059148653423871572189227114902717820427617958945169055624980882260053688618358343273020400214665244155186672654470475525925857013963566812117337510016583373628544333483450522953327582677185368627322279254066474255536873143056378090849491873715087889231232144874393723382926544826987377252614935735870422021909753557428543256439625062108520266420298828602084589188373363644119486891203632309644267696521185624531754010218993605145996928129897899818918459382686807503052994000675459457177957499055772700189455883944966898701783931872637192587263198566667280222791372549769782962843024284311363983081794299789176473647120150125568305804410995276412895224944811231503801379497868212601923747245247198794301226279628225086754041801387430771677952719951931877540287874107652228910289498936431309103480543436211977888092269644688184070524225744196933763184894182979346246373484785355889919762027148924206929229390935951145221606995386304223520679361790248922146413187952653111748124261913949247633199183309332345076610372241595312572425928758649345142745219460312253732210220912176077861184395234587833176004870664159917783633987600919579429556880724281248503168824734920353695664269616021197485390046075613456984678643406157249675943658245985105173631311388991147187731440447104055341534791509857573083833700715975244594783154448989036835919557443326946342278292103256723989909979899035726354376108552992019364356074637030136053408195250144466992937574036212096268102856348435444299953592416209051804270996283924765187831155226306947953635513641646538051990933134992979125892141509440906448822818199029136791098237740253629969223753874258951597978793027571675577278807986260845666710854980471058667785550437993536840807105589697291313755634972061901018428475312546553112586032087737259081294997941578154485969643547268084158758349837931667863446778792348793003195567285537981879454321209840910992804763648429385889008847296719486340138816509611923878401805637896836704963882919014713690857444269296730516288922262355877943796015062338840624229878520317688627953865388259211466084427088232815858921912663443198031037957120653279617736704127452530556112220084529986736756855269039313414085965681595826476572806226484301083721951510682335594958787234248180454062885814497586631632475387862490416070857856118121579107899142445420368071139400652725038158662463397566790589532341291409750922227141610714516377892527275104567252597463111558030039873314942323522153941765144412248164013683740842127749622699225848545765841799154872416927166845412432512208729454205349441363655279798660934527898966962233108599328270269545027023040898271541564524069496635938738637931288452024334159262762564649630646712432086956075894477770602659591339504229682920293853578398532675405943675266120701319080199350793595543341705599546364875130636422522363978222159799761852596021024165029046335224545878728714400578389018310426998361778660763332786892455741260926987985695193694142403397521778652708067370799385958554177939863724565654525129374312100226318695583482638399770473297491910131415578730547622085708406351661161594946099986287181853201511843647647379671680155082656693263797770759905688968931124270465363872948658568613118755015913359779715094500790787741272144200987233732261474834428919655436186633751439669662206106319848361859190099971358748337005065216132276141779032325516424971841474699514294963641572445484951476787831421881111142936641923375862544711434722547226651830756429763855509365577933289027158860114469769962429013259460869522900923539758774343034175768396121755863879743745466967744851355411755295667652966403598228881660289341303775183215949955350551512836818256582396114185322654452296415765598734232768848838744060641454308051306789903322767402621438839724773040245327504917652073849856945191745933218277479823878139215496764147935045672719816219665381580532884142258540665229737447194988549583319727518315754119258691900167845063990472743415269199314197438702232025162741068202258894483663926321396789092055510694647774885751561786276729223752940586340270610534452669271034875120551855147511340726336160629690787151376624056751272437650996959708415206358683111796585798155556197494219507031306281197182862541152126338220642832437807645148925639269381076036265141752772709978636949149656852330605942213319983092848273241783695614836818781225423148826704890895568799985684454852714124831722618585833372894438162106952594093790378506287047185479439756171780652408467166434757758096077868651819619661735055215372868406801962423109760164634523877631483108450497256269504368956784605301582274257757526936599968466135591168384862651527198756466494264906465398481842451355533232877674872589314985221146246393719645287025281815149660568208187808579927323077204829499871704107863051176308896329904267320284375189530758708448878099230418138617502809758815368279256307103970026083876499691782077127263765478600184465048436215336251330413251612358647671994712342332524361281515352