821433435750227346178967195529889281975124881267820326868777235218501748771013686594532291858449454033197154614427419974692747652481800340517460922552214974101780947106356594762706495748556555177615932066893478472117332116013308925381793100790756985289717327031670698198825112421581985673346161650713976216603402167491337096895314670952754242618613675371510573384843692209723559389713485165078361645183703559799425820251718677186418496880229755856189366752340791435301780496557037691538141039540353084305271642181140243274635451849165988573606040964878911332686931992068737146997274310967218288132662379210369936918995851161187746547682107200235245675859949940453850106336404836115841309806292742140192525322584824256017885284427533104436958099506267835933382888216535176349586847143178230894871797218311387843906794127761353727878539757713352541776509978763092040448188712917373773438765846950855758168768831101781511201254916673787108554287648766677011408954751217128868735227113978986933284857549940838338146567592762886962225361208121639760513971184291158164799992237762964474394747644488178311160564652542168477524704854824377572878166554093215103929329163624393132744677458177747526453147749002101251993318854509199528024846380378147994983525316701749350264463957088734858511170127294573228196502902524295192994004492127238635812576893369852963697306485498258836621954107557414112021857833911229780870533608383330393756850764888173912850260926917654179428462618535945234360013728688583983824080177089145504165922119413234567785828561190043008140240975565484916607936230242199232520512030667566414208282299012051968117858680613646748126615272587083548448960994379231276568593393706415492736624225761491881401085327335310360146052350833982289808043381231811971953596329125987699585494324467787880426819929824523881519945288261978855591254170680247302518825732296189957995418175723288746483253489223081882295577661082921755913196265192194227062843112151113395782650634374318418538366790832777241592504070754792387558721927430737505836942549113417637284446342702686157493103866395777477827224883090172113414243137747156707397795295047010724835818846643282038319571291181468254872203377578084701665546792239067165995293266156200225654789844336140455276729942497829131042803515550957587016734584757569282631022244285419536810068517807218637476375937531358114771715218071082243379723290389169106893296787437054502644333181906124595042025251600680552015944197518066797264361531825013497727518931127528118464294233171910547520229760731218856159857244865873408080548157193733521845010830531713970281368646874128235079012561123487706990824385775665118086466297693064999826666216321105246477183819122654991014282588490765009691996179921350453177773976499879481208910689329273475277929472991523159626862181552260541008635981312834374131531516520203238301021890257188754695911133221245767256361283110824785117789893211318410286354699536928380382556624327831446283216294392879374564665855997997808824929155315971334381933826174469817256551551455340989392333652173536365743118986679406551163228438386286522157296952582965940712728738426944337550987043378374944822761433140459630259860068955707039525399694338786417951145544878358028205095655391212122473438154286855916035731712105927256369015153321417466465854624060073607739229898405144575788767593398933698397115277910215542341695992467846509923892647222355294113541621097697443793249616755580599507863246144986437395639797716232756240771682258775374317719235592192284043354158150137636313624025800710726619611566284281735240077974275139526101337347139566322988098528552202466457190291674724824492133694576381626011863831973767741487972355467364941128201153918574934274579254586792589647812587373589156752365774795860065383832096129103216881995076809758804012929099577444229771421639184147590768347114891428740507649111585213678197356188993813212887591311399774075546916321988733459636243196412896621739855106225833900717994484871717349362754977152684672533364309652699933174475586740585720693325573073392158362772927678564944300430952655107148032305193575765686099417377299857650462191509060476400943385488537009356665947155693170544425853280056562434496009751874399067384461459133264839174068504833282488439042860587349878370450619979979725830430449217389265916532734196797319474861783457412479460307788581449021952972532377474021114213173336262915863588508107643582878283227060958786158198283437670422283236017913515883109525265223321708088398627472988698256073698764935305220475194676887489647938896068119478219252669826656197570527238336198716570289195322750561537102231484260334601454168474424218032007735671629306543764950087121329787444395174585598074670750988556005992728786972200123925968928749546326779127276957458202923034143328020031718216472562673126075598312118560994399644917074326273392439466680462408547086049739662696379196528419732426943183833875955345481806713199826344738170827503620494032904710523845152755586257661817909580929858180645379861926182184966357716591923795810058872770927767352452724890683775247949872291728783855282858548321361296307261630251287678889881779779694824264902125523622961886426433541194766244188975918678550568962744351679836825585763011766678557045232131599824974332262969533798750119055902751474051145659892400868612413235045377699218353991628964119916037954974513332381875995429796751330683596309647898677893659815577828681261028235220780798364397284581491896038559427769926022172284596588783917335888913786150298433949124928019685790739943063615572010066358462469726264329739708939116095478495896660474776999225999624525224024398465947669442785609643364545959420270193884373313731115665711434925661847726823087271188605362243261780481679615686659122282731925426721136910554284078705488015089659419051984276800585467172767833448366374469