22528739031622562351801769720399193127638165722029197381162424666685679183178576779294896859130192518364793605556435219983589985439818126842572159369324392938087881505325573328766474580554147684148626787495146277515345281155489998033338025157441736793985158828958747247714611921872486058360483935943851515092176860370144687032381933458971207263741695767189544908168811886459662254209856111638484708473059357778625737938591551892955615790560079116221418447202579912167668645435843587239250425697432899550145435038802458868579793209795207718407977946913225219253374098934026089036927949089613443310046656093402213121793270137363701120130556601696345947191689432127110949477176150553916106448030343578951025394640998359284819198976495165717049431655385598538630205346262492979644437116395102908492771512854889886632709985221638738635541364569268768166661179219489414474495919252680377443435960719782893906336373386655905457218170740825872665556360691299707178505784200817647262814409898711308956511961621033455430413632383327844114124580540127830762977900462351332667034329297689178206370508830283638902424768618847492512881554927445836003133924577671892524622026539495753614282539165788802431082135898024133435778746105242682316588392419381211308746284535680717399568127303027332692774502711448344151960465165515321969050665173116410203629437537982555949668360076191677450771736871811525715871134651465434353750878062344232079424341847358183237376904997216984939926414188517885311636165143436966960965880508949252775580099728638906718035122156798465171152438292976295627142263725568420935599034632656171813880331287460729669625861238526166351909635821557058866915613567308665567127936498521206183331049206737783060357994603594449869546278993583231629821183574855399154618147852393347278074263921915069933417611649945982671842779027034140353989594185242718744172569469783761698914316452632073848647456512805093195767487669170669402597713943411046167651962444651151418130391278007740269084401309152839779587310951080675343669350331516919864082041562613547754103891284545792375618105230330868117764926878107280388985317640191290825004564847357587209971063733611632947803352515714981772776276925909300777872206985898334384809323936427962256138483288818241523600058716873681636524363777925194856859235886286381131137678958188170478442563386454037581350949511190022481444254213434274356011177723404141230579723356816275991861396817404320578378944327038548471858819433247779770315303152965309817288644339123563709487133450877358645539719467691841118689501508732333012870534572505730428854024115991289953841774948113994088592898757685761163364759921597993404537266754583637874383473746312881822144656560515345727792692771679279208626471307865474478440508232449266344755885774154669661776252563093859328813174329585950117039955653934049126559621720576225471377170158461987289357843549297910532121148525619584554219607569858748206587990943588838853234878229991236172551844697062286239483913830169772607466295781407673490471722562859275292170260377146317474880577992772907853847946763553332085836793074149387998182901415604482573008562496138893706559958019686068836476847710462799073187866729012452690119549703779613387344637018593672793663245599869603891126947120180275645234835950285905643743570609469791455340067393585157405873363892615406800673547646501077027170886892445165398149552612836246927932908600726506293174491219574996922272332641926592314879416549021626230917214499935436956912186277158892401392713585360351317161468394623059881599574229844894351947582167996541809714579332560420072285508562627061769959422229309900272518055635605249524111729160667526948127855992396561339967317748385588689542713809325458460411555314049754183873125314756284768746729956999688721598669724669079585206169665748930470489498578311944949630066802365213361733795575646218487945050113492693162525196949657423923315622688778595434333584325303761926958276160383324258959730306596709808140935082044399395967813327778426197875291271265161414037564003405845357819692902156488196235783533444289892811053007537982685167886603942816052367371470170949490105993617825340414181490497632187712982845566889953046429864811250513166509374391186639357189875975539996494905561846063627155683047648594883566827620314278982327972015986291692325774590795238667135342089568913018603002748714469854462321428869135238862225247170517231602596585352649297435978141666150469471699996256884714791251885366587174715547176413887332621541860926415239804613952031380492855307178521146278325750431667420654084381974322050941625099062647381553730174766991310337370253793439096724864411651380396684978684501620749976985256909537606274796382486569193901585996715141713946189373811552116269466929992496103029078356964316814354126539840971863207862233586762318602229955851865939286801587773029153838188571336332736872456772983711117558347187397305426763384236804721121856891944539403972321031804128627817699340291786851508793759772867659431204665330213653260808585752297193261722554094058976988722122639194722852162857373723336498969863206424806848863098166571793062497967200890619830749870775354528372753486694540627050200240529319581958722334906061376512664391143445679853956182426297563791456350981428469199019629941151699479045105938288277729771123036103718908639648865864933507136588994959570281669722626163951932150380941548460396261338237971318118171692525792857012917880969493617796283373665055814424487238093515142287996671552718067253194757469523726724843065798951738362489707520193347315123411369524413107044470355881936286064706751204789927996238033021479242179071083985923837289841448739845689188139292493129188162656594734920404483849054507343027525912791632247356992989952718117892629840427854516241878183968188500107726224772562918410962056497734766470786366910122129