984654923397493513972414889748571232162918525111193290232048533407169695591135477335606541860638248122624477906183999822649488019782138198925538010589960829282416294852973795945663903802710087057473012269589699805464532252093498429534135458789869111686590767018741169468821017586569176604401151914716024282481108976552172645297947465555369109251677658193750451115081903432042294647576670062111519548146094833900247535718610952756588566146069015705666136493307870047222272088593512222840014734376149318486216949360014122449484266971356879161846315605242524034240222575161948877234409737314171337242347518394350640673997352082023525214779693878852898196444966203951990044235571657109427358852093878499271863024054333289863335389530364273166894020983883446496284361379531078900320599091918225395481191243852885549610494906622112386651402861129574557768537548652420258314348937875188161843046816788170925666255226244554596001572883082501938498653449963944133646696060317880749627665252718689108762549198073124973464018505258792039931922131011804648421599475064623715982471406774938227207839565085403414849417296383244791204601507566850945783540822717732771486051165541429163609799417346356238988625267099347562517891497920059856842422771359779868183793488850227843883023920184020646060479827518176815680476111718413917092573314211560226720629266716228615580386942430743522977669986981262630156863318463379648877298217894316602987731267701029671377528012447196973800990858041875273659381755759676175058507230152807942449516611360118112069081801773095771499659037548418475279058795705679068701628382976713253563519764440457255058035476473467234918270905189901217407966511187746730132975525272496449084702898550768358382739781531607684463773419487222185891773980221027667806064402989794897171084964944799033214163352633639299885011149736701992943233563608695720701357374222697389393834131965956777382486170911708508817583369521497036048149339557591076814748506966604868677445434924942889612845434904219132536828512624572720738798989979218478391723494069875142764486098119869594011887595546390757790860522426450769159989758960852218704341256109669312047610883866635083924659790467180822728705655958294936856882918213420128852752975731508432172632802667411788719868462886141091370857897260444328382519803160832387431434793878808491377617720132474384210513416254347349652373727385366584183278310261274538493269135958634597217412922145431684197149617520209394881945660120039513488558881194230023426296364895779539238786511416918565715844745335818748601224187225958206221524326729207757291841584272632294928327207530286760341928729835752791361555770912818168893887372178072296138452566993724117275889339626724285507437121625549276570832497617182785420205748585832109866514767848988251663651655394020157325238063884448493846708471429755512276716390105844346093205045816908458965572953895494255344765321968231411671838776826429651391487112710621515575382146397327919654982146464224824117611828893053942561792099608608930292676728076002320254494496974592680335039886638165893310032964165360236728183761571658027839362779708537680948006866275191554913335130295923430096565291138050063492716037836832334497426013514589319275721070690062918379897972078455880490748923131969726403875774641215614507473442006243639646998233373447819972538794840680227633900867733763938818906650753056183446328568603538339219458649698477357815310302379743271944172270519869692528085804672265958084476312057675155373313312508476495585044807841193803134387078224214924731327484993578144316397890219392979962614927599496972168895781484171923164467242669488318565774569395793227932791824397759074195532895179639332776172539086110562759916879744315545886322165322855648371924537644317776120393365493592672165521539768069244775474342794999597379517536871886662634396274810539386543847603281582287144538153356468967110739282215662767691728721077563666305630252399606474843655818087504390329793288166410964115491566726271958282961409378461644793464441407721160415716546279735468329285828885546509261075838459051279375463735307116807830549070883058021410230467877740541997458477910852812421594239198464279699167824795092588741542975624483052136646830379683714249848083224132048974923114511666550581176658264333779025673213198779954662538682402024509729322205621675617004949638317549040539062635011798780316340467677617538171622041679246749531027286471706533305132224852362923816110414170963847226362327510349629269699008343903464547068795834645243494465850967886115433708376304161569536656305673489445519844847313370174555666583403874132499952313897725684678727834484237927857676846822423577367856644240132772897755177091804330131412577252911553477262687965108796345258274866283832233004707562882016535256435445968277396267484002381523468994267883621022698690019098660110927894465498355765259102561596591143039243034665922262524024800679352043196899436023262842242146203982692423843244593851629293286148409552831179084740280961469933226445304622078785082976771145233800980437908146772738646789808322224151153046969583938691787647567841706397330537382982701188958081507290013788930278759658144405727164532685581888157527875918169735180502559295688816154975868743766880561911871072336253217083233795457815687688397817526628914847246562384113404912156462497722138432829225013440396411993381152870660268543243321982988328161615906965517649039308622739597505882839180942568597970201815698579727359674989841737316223790508973674817896999459512779415738297811464426052677328728832577978255756734546188579301094203329001180373951892554785998702392774030954919279540719965226632126702492172717556670371310317646771745834382551351854742147591044282137586179105274280433769483744346679414795791614241553910221219183121829360734355163196383147901072891687313168127943686523429782524839727