659881387273965573951802566390076192403358465993111391329706122168469439914791637774947132009115444424331854445270174967217271896989474768157539436621372552659719638509269361851159689164530958419834463435814276358188697436260377125514979548093347595827336691798652467465616610762237424366476266668137087248053336702418708175632450649555349727198684511613282884244951912798198483790484425804852773683233362084591241322451286177732242792249660812697164165713510799399764319886163150381361284228118438596013103366046779700857527149224010199506596684387808755258931283694318488581557656482416284644314467249729224811898287742304830970637457495227783176472300504856503169811227279664142140789419144414216945355141343896179792515793326403874336969641448467018254444112256282494628855965177669701437343391429654218014615886309533938846664761121903646633771923325387976385948974292972157883025589538086876060509996461146042236282476948515363238664195349630347197484909451048365703989921183866271213183827733856669917458105428735678728878905553234139977827525652201471145267430561819225180422512061219981624004249925981397207980576046897120422838144148628173588572229720283943257133570989456586748174797329541183674143718402795996234039035622432325169401065427688838255882074814174841931634021604712458751434343975927459865647233216831448887539192437359211562459676519865315372687725124596244372041535613021267735468070089197483649838642980764812644281556981543390173233139771430001377988916664991752123618191831285959549537188867908257192899584600307080438196162147863031110894221160817539028193627325292212621866174423534882348894716646517252784823041876704931718764270864068746201997795333162772478414657264873784818843815830275819005418165231198978173754392678364857608313093306104178442574420853661939730584664974599301745778388445454444366644029443561217014531628282136945356319502223750440078567362055168476650080077456567287526680284939894749830687196497333169205117413210608991454484313202681712328805347422618979267544078895866647647845141160919279582221853756574987457985270188169471527593860068359848630999676151532340371373957836723973414772067029695665583283951256624767158676943914431045706808390135461461195286264193497918176249231889252490199575433489943145851083127012170881208743140652716289191978042498459099611827195840959176285853507333269746535388447043315762966213051313908141930256173934411654159746141590731312522101346481256653592078260836221307890602287054582610971087807712859243234606992922353437215513187939632978579832924779538719190627462334065532880566093891607098893759808514284310768319582535846921496761891556351370270342338690721541289084888363943271663453215870126456020155918642429996193725964357911376396851938771865953026950745049628560715687495835115066492698542802486452345761436807273375348875157331324460481195207461568437631974524933435188678084727863318668675141632429579471966490156056665241820466500837671309856953731761883433490123684214736745732222282575455396609554181882508363198267084922882731763870742038470896793513012002841189994342223648889693037436833239902448318472531392634801651263823567047661391651358709548370063123239455801439959780418368728465424348238360779245742077517350664829599278817352368997154114498883875754495336775833634493713826031473125337805914296096041516702347733565409258771284648785818158567789389974243535869646363452458333383373473953601065181552385532275457522850799582252884985344111292750047345333595980977702487808928271015380967032980261193158485706181991223429477409726022924644298292641863426812319685554531176445517075430623247965275915952418173048823520569063671522529831284764812195504181572767113980701756866135203441767983856304522379294071725793962505514380934145673909573807142293179695087991518983966126445823088033556784536581096769937824688042453835621070256333469048531944606892658287172711381619032346492244982815232281583277122124852624045510237981146938275898665182906554767510955477471764178984648216996118611902712175243181958877816112986982604991492382992552744129466824904829515751710518626735226986721845704217360657298917321798384962788308820152859290399838167554325072174407416562417804889750276723661351535091839114068089202985103639886237332753710341910018749875329124312930171325018429256987248761392988008934822226773832262765808208312066243342374048713493770857683760457636801761977159798183516814670734869489857833750835451933299323616687080747890987019613982498416544259882128415699978732219186331691814876229826438948770869196333647977605892538826958856667762442212792015119579127869818762617975224872350042543170916726892774337233039365680320789814829910994760314380143674298413992244427073462184326464634861123715451731504872175722721636566998373183706486766030226944285488815412474662666672668746448101955895259578364480225188278996571077553702728795620491257232501376565930296750369941571230673019658414005319862652227868157153671499393175946351373908098899933067341227225421305739086159979345332658140906668942907292685311125409458583317921411911876555711326248558236966731252005485658032395588981508953738183126156806508445297665281507132169423430451702795920544354841445274082902963779935752735567134069515678121427227511990433515633456396819407560447252182507287208927580898518526479357598407187975277115526269090058244236158508881659421866584424835344793925417372935579663508871894601939507210182408762858294229890984427674164761894653555785514083686470794462156128956723943521943902196216139091980473895632606753175420608611568136528032433991701407394779022903868658937286427132288541339918832264278265195671802307325374982525809877538021994580648870363483870554743419308129826244983983361881440566234741671174774779894189885845429529852106885526392347305891987404433476500026548460825897482002124937817594458717649038296658