196570744506352244286366583511414814250747406852070213549836231710526181924269048220010197642773269974332352640250681957603811838879381423334235983754992943756876245964814564259622651485726850085675299803315756962287062969684808522229208843988815034218167679008885330278452461486462255570327089254669334644493117774238950034583656707010172568705746489877149122313750425086869891905684039309406088514725369123300380107362219433215272287412699542930964913200569610819647864328410256473207309305690061814529703629053841597106441864048229118275589536165517985171963482134460189806620759895782853099644278548772805004533482973488677794131103873064609836542149786749582350322281064283168910023265955061231824534492765808874029841640994450766100337571950241636154230532979547918742048735280281481029183231831018149846326385100092037681690559548185708739838261283847442361412797999422193228128980670149217369964903976474107457656124393100740294379759605766198811267129878628802840009709426924658463366166242275728302733743799854444272336190739254760382892048948825154935207518438679024618334438348397145781407492544902370188781151501754735485413240563294907950090560910224184966954162570806381484448831540926497745437553945481893254553082072528612563649073883587850553806379377575625286854067475001066250149340484646622106310197833637453732205456768815112415961475914583652133055616809470318481797422511520793730030008219470352960105196437543753282249931143526974433116469987595669812976400649793640760042879374368781644421716534958982036606201539208066364609732828228625586336792279738956562762915104020694286560593749987170945177613788788531493351983310859487214656340976998366484085443678600523240265933560935451348620977933939828324117067869122200520646587252014705164384635229105921984468134763527418995936500667402959332413160103276280105377927283261820086903098804817876476007070314118469406711072560655553077525635643313832263655888903958234584547709815090145719048026976606382989019350755235372966543033590882546171183532153811174276065480446996584807780853969507290705648960278223185376523082217549965793270236156149306326780368188894818836783195698027811044447915391182158239260675962571938571481800437420721498202645278070239721416689323442683464499402049059802387338344319194947102066049320724369138691599663965081238382054329855947304932204981879044826378092705130470632833899374540110106582492075466139782020277561434653871029065184054234804235505102974802244461011722045153232664271649740736734664182753554225738859896441328394764172261852587586256340051028875938848477372349213452841618777129784946914585340133924078889761166743998292050551220548366554372334214206930044592570622465348173612228099499004218066334678475933471117060116357616827621195340926242303375183811624221874001256096928775913726529326499389085527183582291477222579345509240472724221397483514239434841113586591516337942002582305598565191484653517664219554177050782295261723837049126608236355541356187430113898539774051782284497470561555357264440605028898840513617497589133690829336221425261656407132798952259383152776456604685679017096622758141731423483275843427427282382492425730748704572229792156575505067767733882393021084040151790531442318462364287141966988834995134365975472925905449350179304516440530810209387073527395822640330984247709663911154266902165168980496321462483269479323225553543277235608428314148786247279336362692047761194730766593892855510141528913390010719356356185964496292219827769521897960798246781039553250421542612901703230978231050751870713302775737253262500034912881515252546341615432167911602972114958908339106003778893244614677127237456976426520345220132681477172261255679858618244620876399413827522665910505431857543380723740408787450766151645393312226357409910674737853950301004235470569849848154569456545610211707040937076936328606463965025201798719014597412375947551748133451424409112296491749751813049567359144160977758905019261479759622613784141427958520265632685762844729399158785175541641170710303666169511304409916197276532173560108179106427153248437666278518902849553233337385986091740038330657119064202480159446439060859351374676861563420476113444954595105387081469507752305467781838175213226149848066001297407935332016620403840191841683684961880210853549813343773731025818811086534779199494693245666863130481133520390131918530263191877366348609534915978407596244782232031507792847564091312055065476771706783858552027099986912508895222351738964454312229232863585662925043836340044887439848009331034342018226499756684272791551942134331283077049249707394138619345188560939393710925306093441533632328042603105047813342484782378896164445072911651532973517526460107651716975347974366900766790381147572265792051794493897822598556310704066446021911055573870156234351410723069561503835962265355654566954553707654178783135135157622415185353166789159943745930647691440195835744451985134028357651153686143769130532026992384121481293105715108056015302457240842894886862673511770473479691807595386827191360206413552450167436927518914705647190700282035808708865983197524106515793213866510905682010661735106859397693079925341468761205661771034035982325637893125899039032343489738401366160747257766711782453080492756387066425908585612693553091454249569992262419091620344564113506646935283855426480542207820227086155234104643320324636568500417950779013630022050216416833952431403574259418900541260303719214984983588624619630092251898737080765420420449519615275917794540774337929698662150507426497287950304913814839706530955686688953618522012361963401767758249968629443198689362828768176749622706537084961158985623449463222875213316835505291162488041510641769990171862954391347713251500641588446706368740617314382403639729950605584659785645133144493413963862171072695431275263962201015002100149845942715130563214016922517584221638587051996142492186793375181965058814256014312223355083240167394594853176278412889194991546377949625621764961114889023677176743596980064154877412205530968886874925792136774950829654955621973183610933615525566125512134735647693747125245698736826577096893149763409578073400561304462977094075086170776147213887062117182211485646878410326153292255945938806760241509946495872917743945801317051206305285732303238458260881670335968069238018562070542688962630300297556501713329002800176709072643168324026851897699675036952471792887299350002344903666167713209423589125332823778402235708123289345654562051211925655662815952825822840443178559818024922725493077297957446001154050509128503961866831878466732433767493291514077015826121702516185469541607195698651828677644109573444893652397836938213075669839061844571726290832287157777736584388505257827862616948212054829809224866073978585500920812955174846262012167867122304819442760788869312430972453118033980085393221013074259883341773742378106336185213059238948518345612289435308973154576383169442739386507384664028979368067939375083299055552044542213452401511441309628847377479951474584026752843765556134395608279935035594587809789419218659347027124033154750551005046718975139200365297835631864708790744006173886079669782606780082291290565836027450679519604839981866542892344748716041018516472847089742814681002288685866294453930128789925839137665925088718023549405548908492863429213765513264151375337809316828711789504651494964429305235613653676716531254862787528332810718280748381742958710789768406098367864994844804451648829947832689870124943937510300073825578719959726734116920159265553202392886103639613378049709944874359574159221007497852072783385345632960796623075767968778777764373863938046300656608327440986477272381387633143922942204016268190950479307080148989612377281398326637681803348615090766685513931285068487864356926768837456190834640226802105686004656068890517668343255796243472347423552702116437805909894237557607952538604875887731957869402101100292992062269626322811338957349385002594288649562263357891170107251238232735148106009185869269547514431677179570124025058088858110830451599363627738007197553260111218114472598144576629812479829464824258077098038606176892032505633146199340290945682467310736448347895274458160709867538051143297554082682660976528587820839144460988278630744875582842790620188165126045564175868209140495482631899799017817205259681844565362357783171100418668889040381064947621562104799389690261747316768633742238035427240449210179850865523317791014189873666499821618856848864685586686569425661684200991262995533037050433897099642052628914876866483687110512924219915471301948213616238870713090042868673720960354592280771332056665951416485596719555693136631071204031637076556920233760762516011913996967998159766337024016833797464910620858017462455548820735365963585349955757460137611764902950520308246337647237913992493175141975321555447388297568203443441908291146632961811826974312671341711714557552914017319596281741376991309287868967615963212765170904128045834619078266464553127890120061552535987621077905389112705435282115121607660822040660481003883130141319780035542762047489753862003319996128456932089322578197779536246396969353962007346172437815055147355891837858187410859388234417795994938318776705348221490731371865628416359837676405508005183461756374626580362998369675857801650439756212392389319365965370215718631086361030092849652091565324550679700101480277930241660560713875148968917257597024960105163896095309431059169919125181063175581595762528670759730915918220292204561188459311957973682690097783495341249511278428776140581843777929853457734529502156817842742490095898516918854101141143274936769159594156747783776146553796611291156933367946186689437902967276730620504872882759963922358674921158559700568351454268346847520515362006938657396864188999427404138763950406282590023038015129468645086969477533201046562966554756197573231220498663038764299318079335268350671227893823788116175729112109065122976246813769823177254843382333879956055367939123812518425869521099476308153594341161947262045256000382682049373233011183411858608865671077908143622014678673558136882108497555940424553772007580022733192890503609293914242990374143542323189246689852750537123511654449393734725206787750381184600842481519364651361669692273174143832835203400742603192310937352087899437413391157755833689859721602690048166761042832151439618571296844834119015698866047290608004062729198968860490951638230999443221661503569979817198704134936464790959609283022223190084635927240924947902705146232221912215511504391956156682540688144393331048775311683589807978483990112173910568070106494898793956812827627545547450812432719660439420056433935278512789123729231478762745672742154289762319278645338544536842814528977675214586123206713542926695801138017601683936733653310625437143568373909558455888032260189638045377697379912062175987959353457744939785807568676202746157874406264718784709152528868366384812382682374027783858242739551701958550263907338826900344749800604419709308215887867595955466826510199902801359773153332466807416558467207987976720353154529525162391979419607389603509225672648793507945795539382783151660508043602853763385972169744117643363733194122599524026710866322523966110882573351151118193386410812532771645636459616123802407892281309872361069585656526237395513194034795619562854386103802779866412955968236620252975119541149311403008347154965028909112098550266654383708061257953667760926622736869885202656205753799370416312297457509226695209020321024740092534708186103498414616493048139018077370715149300265793272398561680476317716587131282944127212664568624862280187030798931218296506384277395845691652375378143694783640372899096446499677697579720896175045638019222521992841570040306276678149532048058384674241125946261120508409205624920436287650906294015030611123805493592307970651448584930551146996390418899742895282787008102608232942819655352930119207913043710730518416070263174868502918340878649380284810874083743921917070852942326177330652660832433894635882469712354866174512408462371711290743807490295631730236464801756251251906355355162980493035435580581868736284364927353257107640413687667021522609360910552027818283336371698877928714570677570838052385410003723496928909349987405048885855105417728309225662387276135673841543576403356458457689378299006568342097677623055700634383850899455078494731857868496791927277539953998210809035116617712956957455792744498288211643906740414695104653759679027928470596634350908984569260521010481569550305016307863640128440618797017865163671126376889684620971975909420731727415527532319416705694527791134590535130569678167143045308788876840029835664034810243984063933656334562110139849512601589953869791752980099504836663338462552042773911013474358386909596538809840568282059495491185602470994118361869856892802356419321547077942810116669360177436138807789437764506508259686179717700787551767491120867099195756673559192634567569978173956743752421497076014434198006750090609816549659410223108301374775066401375700871555610150749462009737896867735929494309747879011701792412977629996040219603143258737511223442373970426192239113488225132627244471336095788939946349492509235780725014078092719332050147359938842383076192674630158727175733500353902591495941872172057474793153846640889007992918616144042193940675826175502556550715192273286835202225702491499685079909071170725057866737624492332485298467000960500414335504638510782307435120024608771627982752889603279959680558552989236200358565457045585156927789639103277204479828694674112682663743896363899512649061231064205854938154829732160306244698443793040747880924696702572260498872969166711774544115598831194301052230738673705519388445958194545843581793085657457355240335265132247816233984081438490938863084143944446846949835666965405907445299733027274993449351957973732904681794358546628969745255853035634191373646128387872001529546991351941065814620117823542394979725861676835912134979243202191367427195637297119924812229123385340380078709849563897870651852028615287016683268902709647607429011927783495573475673219513324447361720384962532761779171015111427132499561261630126647136736203742849168097489613173217020918908808701920097769282701134710088511842587668758928208608541206608913840465585280653252453339790837065364258687700159039080285386756299575921029310835975521622061359304917071537444841841391930648733649348415595597841544433303128744697004820943079545155671766662159994228421786370257268799988823702028793528023510087469638450409850011330730030876058541670238935637249081567412820244194089404100539291373648665752695591532776970574783347716499655879569619504077636814802687268959124590764584848730007031698553579342671235367336164742934444230173749189821990610731591768448695041419168510822285877265246075999497909879860257415871335972987933678708175291304072140934961960541626734858929609042114417926281797093653951941037879068532704281105148380385461071715651644488564006440223199553026404257989461881565520253449699685520292885236967015904888172750287662814355290680057622614831012545105168359820178890452937770738383869343006882369398834724075374724488712826267349898089140996517502930791684407392450536569442760320511288764309426732816276776545448554648384277833557593892400008176779381411094135732995246740297219973454195680904600585731419325962083923749516305401855314933066852620019590487360112405152196212853456684546849117463870269832546475098767181738970691418509899129820643607228390324585149549489269038955348808665137431546211146795611372863164033164318759925741780132487948644428572087400013586263220373050772515833288388569192068860323163552666715661469052924692695121615746055498331575123792667838872589708573097315191190109461439151983930333610532063081004840953489764210098743804775661557123746805643620387882730858524614228043354289770744710098118748958097227461030196654118619521991019520958905118827144118025271165652610186425875167631794985013597820146781920099861630186221625033591765525944283201839870607371624504683584826768334006855421902573782891448153239594582062358534320891621911561641709807143037597346791591009148386027636594104879367064441785028197010516908548786756105052521584657874178495662146830361886812451119680245697016971245747093366861036002305049533747497554399176250442384240706101073596599359046421091838183387908268771756130429141783006241569652214502051786684105499301259289329823453650261158068730076371473759808090564241931541847234257216049998963374468550492281229897317952696325165738013076062076949116835457542588157563446053968498935927652083264960120838585385140112762104251894026162661755994173332679858056691202795071860175604010058263310687767554678956806001464788963720852900587546540144363179938047699697502721421618017709195008401187878347317068674723010009476079728785425467685881876896778091710967499920787