5899670893756904066179859334089868970903601367545827895840456477821311691739168415739490553848884389522415752142944278570299499037518931143708132933063732318829177824610156808643893480107880968755965417531233254384473888300284796607735998659979696152579257185371322528639236502191824449093185207894648575126823761041188653530037166575493793674402258086004299667718065357265506212561726042405341099549689616440138673365250319832208668248133247408495520356288066361721435479359820992786311387860452684334264684934379177631782173298907985148417121360925127399980484097619357915214208978645985636607165606686296168899855461061146331427746816871081933259527372376196474779758851618479490302752327745206616993144272230405485452351149453221188087062579783167083227347467571759628567723330228015017764252657753761144442525973411230953472228791435078260152149723154570718619230049958647600232335031678704243367849305491721945685215609665728698747557511566738063389754647991591573551608364610665091947523816828454636664418281499188794873223094407101920492252723935294724522414764276436695663257122265182105638781264952941799348023661477795164545748883098718225782258964298689450661962523075495887415045207663081694484151102435435214386285621819114782075683859037212124162758392316297801477656679411002993261778755927133705371291335251979725306243398153436392952175342765149778640143003317343946920917070794002933567485425462873645474726678749603476558862187939799207194582578933837558297618368776479226939327658831227174857125191305355322619611152429992115597547723724039179316542751906577666582463887772098053260323610094987686937342907785928799531206845530477286961527955725291111003172485986411924598865679296355387774564182760451389454787274339233162100554042858387221563590465045299311705736294643773395503530974414668381674937342521648128647423610919190153160858112578161710666613762332634224067338165379244883171570205643205841304259329119362338311979846103634628820173146457419687334676221242474373576830349123476503235718575222893709719410875455531658984739142110782775147828848736558485172905627947199181723982535196964438190072574949019822540651377525543968933399281426025111367433150862990306373078291331847223163599821973629291368933377292750621609826621357673202254994487261291771289576977231333047245949597756601826743738353141945197753548996855467222321236730832676635218841866267691219523650672937599763410320859735727923112892129317892418609614690559805704925857241304554046478011387424412557979441391475249896215921560644513633999258128973210884953443556512675445890188456919314695048399253543581513000951636425590496289237644270946345495637894675031971332351328763586825309166173761700239540331860994328309245385025806025426139583377753151163142726574097756597634454312208342007381316070818477062870197579191865340781839525477023223557047583745300667864859756332792711087150368967668469021956378522396976678590886925159282529856791234255151017938815064934889136326425717732425689861740151404812654240403618401599239764502883505598002479625042151257038436506395712048250964821887385537125296257926870336356591555376421137076772565677260521016666232629061851420717013749915181793757113396824501011642721762552731714394910286931179405392396736497943801488095710081713286815131611363629629922669364873346293346719185278501447115388491532993926742241407432825847108371129756090454925865281268787736878485999662679548710722465698637287146002378259121856031016846892102733692776171340114919154216274415407466560355479517404917684813866419673554760448731398054114337730595463191677961321074764091124521722787031929175541717522282256116248884080381886141934118332791627998607725984597351614644561106680301112047184867711965654820629347132813431818562211222631405766371958251295175229201955095201406536812217580331030201477101089482894972376648806378811706663735632963577334342857391829546650535872789960834908873715629857025444556337390736915592435147656951755917092283219177863981292343933595803303485012672950340019885230029832546512990767009637259607581992220077879926402188666617647397696314344908833242378764863732215987453570889820827414305444773910805885824737245374253799053853795075861156849806643091878100725783308107669693979672450733316308318084885376281123690682276139241220154328120890166354004695478974105644831215049579692958879937909689176246254688918556888161410457453223129393390779988673956841039380836883248815509682331064921267151798890658662549824553936858163603510432441963188591903116985737387486276358447804442335482187223478763213163542083111631941249159833962888335325978536337797778114284459483135707883655874582645723951761448298868449468010158882581826107564075102363343340565983007384883735643688624522114234925541399628205451524650593220591949760834051683863550871767864392691776665922644721372311235838122230294534772916322932059239961757363077373782403697552362421173496895795786208456529910326823072804518481675803726097265494492452156344637269181908128405853348381384538435271277088607190902999338015606990183260758419449120531874267637976591653871859204788587014595877048924679880548181077504718124860729378331852626983366407965201868182933937727616235271753137294501317408274941157049952965355688367667504022180842639864265403889604002368011644733225129964413256384386629840524376892382154987524498190768913281544105947176853605777936957385123461597439622484141711874138560933087697462275236888843235815618404267151308704187181908114466358723468876297202237465153917022384529135435648683584187395339407778623260346485751205629554385469719961750091800247575032195764390344366941151208538018431005451781732788648318870324365857181327293880920768284915283019242856833794891718203856122555776798881620345831712656963037594972948046124614785416414057757848633711195741286586584420046943574415766759100826137785883334831569