796230441686457468712281405022078166641403848969852248471451279759766351944273327488258552033744251915645825245559848884530713285960164554350942348569013103765013320147743954934923189517065102390532565973248074623238312774357194419495027125308025301296013891145589382910975179301303662943627906385585122056099893117472737153284820223886769617261878806762193097297066274936730737087737697488647373090963757939672461938553675266172968315931515992596203915236275640416782945249830750397529825915163790801114675974322565773943753233075472398114654428824354341181206386442113245955642282091133897686683811454145208422407525625931291984245745200440224573915338677349688464654052003202653737903216701691785419117778421557883344691547897603247854181381098944272872525065231437616860594256694545622697552119584289145697348599922410276975693775026043568923626906686072451449931847593299833594949837389999963544518232178885792628252054951638710701085943487858850909259843172446374357176038139667561889323892515995041999472656468267086635051109627454904793136741568603698432277983357492636107856189117227922879868301368599532835423543848183913351678244621237779195703110579660521121447785041756546846864742770286762687032993246243817310786080245948202698468788794774052143635486954689334117128014626868397363302460762966429636630726986867350722731306779168937400472107554660371308029972759928200173810632873769156655312293438803939216951594513240622912325459210547865791021672551358202934489209035747191416384494552552952006321089019637945976024214519271704693775268422119329909049375726158794740142360408654598976413925168706660767636774993019661757942955853017300066262142830233138757468375783008548573324417710176835589243624650513583856769145108796867761358746603912391357293127897007988185287702230514642260544482252832522333615584695174475928761687673369069859290193012101315955092354499081404132188981676599763142096962847052068461564334473085497497616118335691470702317436248464585751478521437724518906249794582498835112596648361616285835458193166306016284185140382535735559969833615882914353962738831525082964514559583207653343476440536487957287027320721367312836614602410526873197765748510396484404388532518681245288281030859349737266864805628822885387129244884497378722972789764628964196804344517469576163526368747968231017563169011849208463839685181227375175759869495880368897351802262753464108951183416280248848136744731496421108329569846299342291172401784726018290323028558669145762597417182641427464801169305528454164904294190722815086877992461947241789528446310484429678831451940810272251418584241504938992546991865752564983931973379156446778671594686884838812003128881866069866059319759995550893712340688789624689877608990621785576053396052872824487249411800636369716539267739142013903167530199453350217679037289108323748677896785751255481641693448661387529975815903147886725993984439437691426979923388497683816860769364891270353537304583240411252848782362592787136790991690510234993977549451897353791061219568247273454991680829095504465670917200625297257443426776023108082929772888006283984151497581933396326341397269922600443955861558251901059791949896905521398815698596723929174562838519114780670773675634602698017227028038589166562008661544342888972039042622938455591257416244116917207048869025176834012814491628797841505812643022170028469364464665254906632900590158234488067291008964074547756861989471467844816138364576844893492209179863291175659993291562712749394525391442671331424562862264614893154736129398628118878469812853050897317613079305803924494916911621152023073969811554508829433826984989417653485020898464113672491628477747033694183451956794315711746594227039734425546669447722524947683711288313121587081304456128334546466838295305153665971577901111529617743057140784781608759650740341453805435921403864822704285710151107400742223430417855081104940435874953951822986893025655990629899903079462183423037987891691876344114113765190254042076167534681274986545013831203380638196338321290179839675063533393629414282569576630617471722272068918515579163556179470894443327823896975393385537660808871685071283242180824715738541734959985813219902441876484651956973704582466578378397355963890062507573357996678024555697728416193552134531455474821739556621504578096296735178675668777956966323833730226465599880024798644404194157543920558378730896929514205675656206224453374316425938757472422141231972584116764833097354018725658759464232823327950302182290435393826906723175609475733743683271194207130302879405678215306445128473137232372523325115750723541507877005433803383827716911339858424068857149355250901292298763150988624537136910612865392257923558098374764607733990178089365866883840620597842289863279426491127549688516943690091408248745519077467827868438995661581052474678323540727265437902446102942109469175298554175448796357895503506484262908868313572615398916641085508941019623946679571335925743575265343264522578114536353758915311825314383940233540569345617547391511449834274011198576227998299121731313709349121646598793447983644751699545957216194654253515466196043096414777368224629563781767331411536293103699952102738613133894965286137561108121784527837785098174593368375953493591815445764694522181911504138923864317126718096342956695791376216507250051119895599366705533249311926479962356857218115292104305419438610767661972745443804418724556469555766388951581824822746245233016094677929534321425217254825313543477209301790101187656341247831872625161846926641375250592063352137195166113244265457086375119108630486160129970117938556366565668350409146497090826980212189991853867689478896485420689627712505104897479795304027968329582623193915214594359784988843281517909129832558694331716068012367070658071432698757981173128412236088785839260926684869253427996997570642284732175614660456335123631867584766630175497895736621382034