617558701595547105472212238019587152195669515762899893900557722213386795055962034044345948309838307261322142298785915709207451658931519287692894897139384067540280743129306322971543743469541574951586199241672235774051646257928022743622991844116831252091790624862432764301165167629125702396790484074425063927718592123665600983620376400721550709290146115617640720549347922218271830299293241869218185124752947207565519354917138795396391388073327908604631974498812250326386157523292604029467457144412967341998484330329805105430999517798699598224079214629665263234833217849569141187641723150424095499227621334417450235356932498607089430653449649803753624347392515857220288298783493222879299249942134119240446119885781897045488178568241385908788578543646176435562323557293501865214515893799356156449467674919990465585575059863722287663085192316565702161644798198363515652564837983932507500438645152200199667042937994470652435317712641565189268321740978370818893564515963461696478215583927261204753928425388339544661225977122544194625259643722890774180376797261282080733937583032861588943954259433837276353472407882292542170091396202996307257976197759426406298839964681318807298853446504624929723938454226605946738133328428573536104771374852799974947879055773180244717203135508179204261451449648589655243996108980676919304187187744187403522131827978687522979821269142118546353640663449592952681257497913966427819405039802523152925652121773339524542193636315185037951661572634855457466661626441035416465581962119275524272751273747935515647937340802641715649372056138984256717784523747857458189522944339416141935140070647371846722082463393391598637888987786947568448556279088303852288401192553452200288761317789602435823622470391873948697618211962632782942216474818864521157767618222765077200994786444932363742317955765329322461295538891814289282332978467257358756475188399675765456211616231579473317370210212074013704093555624362451577923772755540842733997836852774765258694802303846812992209921186663196392130896487875250724319437477879844436687549674533187313942862009755463985979769583466403635942476712011161404918416106671745872215707217881928430525791328319899068718207464431731097831934252442838646695575493044148449728929703919692806759924116026280953979004315240695319058302526662402290323821842117463431022511981306012555575599783529448269895694905593472487131387437655155487777332680156952221337719965154482756366744983289843353058262879319775313568458951588109693842827333399389010531627555793005206976238285974451251676114025084383479784905495103256992316726572521794039612774378534948335898837858445724702189027696851396925644217621396112650295283374411651788128698617051684665714484581278239724912782431319295929440087669212433111939932957004831797969358156526883599048560274687596564203882382232157905492212351472564885061842603662430251154405899305550608571427642911977615787892340068419532160033989465022207590449857998089638377422225411412063107873299975558952989673503251482985199282612461714965989116562674352233166581112941875221549348013745336343822556834206337519689031297892055849229231021199793098328359419592003794379247563845822379317975820143765188291453789213422372089563880793727381509598508861868265385408217059105208394614075804723907624184292465220521601875544293112557903764168697412927418760522922261392901576747466583735314014552228154749529642968843504358566833889020114195793162496375507425191538407455592853015180733989177678624496881957726723560692925911737765342327563663211976826555027639683411689597918371714336364400779858281869953946446833860849966263246991534966637116241219207413121137195298878662232995030727384910980518706210593086454047930513401849803119761699106574102628896944148203821911317777372859771517192571459058580694007676205652378850887481459590558940205209949705384258474231270081963664522314699691971480457687138049229259035300889159288991065965129799244481141347898598782815051298863626870996329578909356610841508303552328058211413567859648171428287963145023774885178164566682741638550115239583632391883782412893393862610313206488802390901306955858698858555657184658147569337157747573412858741861795154724106817641733381754531255225820923109460783823341729526884421686497983689147747639954743161928620382179446497501490113272532360367869867476041224649829796763957855445131757941773421840465864242113558877477116374051328719508137875693941252243230508569305480649371832965518476729406644082186312573226521282670118495316237566383181601849022033977373135811123576456943127221784829557989821827019158118290264176370859447810235570960586726955216637757296495543800488094859446771898822936473810392944863263503148897399534200876455616424045338058487882069748551649810581305430779564288832284714951588967405491319670901983567654935848025923850459376512873346899139876763441693880481828771268674489622913553009850275055921977273807623657484739193633351179966608760330476586410122595162214769772315208022701764556680292986078976348982572404526691573350907798996662680408775891783542114088283914328706688879573979920371315461375712153524539682337198625052692932489525884852157908550612249961994848846126878157787857412670649822699958914936437203779736634553992878562171898827169573702583544620606160112767819807234377082576760923439736189243917891958890389437121904551396159225375354921066808496405358378744558533689664057418901620851733015629092596134712249795824351432951031254450236642424620077713631964654637474414598838529217863376297255845160342560691601233821177921693617523706358626543187809474180442509165580870687598348449177860309068371482834788364973625586129224062835953992174425207928618997537811219623190358889856970978775640303393138259124509046887994347052005106381288093081894427471925354415284680154459323653954650836262170354860476258991576098708353109739372195