9
7951661331664419954659314139378195472635893366473747871573532534182274856492359555543792265411841268675235553637482853171742745853822455932225255349759845228836427555369411926472668763475389821797426567671447624781131778673973815584242317398679972251131637829688934477196985973399623617591778592238861778388741795285256424373617696773894878879618143687215785557354836336323376311899512281958795389933654194726925896327624414842834112721415118528442325765178574984377328141995752884479189936545985726742133598618966276161744435828612815167127946553352425959464234415943856749425942176872837252893318783486639324554133446484664116887456111252628234598456714345945889513527819934415461234587914592764936938132784329335895526295561885678513881435669349822453818117776649857991478494578815115948827772678699847896575566179685497166553633648339196853751639288197862427691645755439824986925856535979659943521153247745659456339728614619871278625481156192624818778351368678442871985716891471341396555413448558776348237295522564228878125189856711525554197476727895638347355225498246858625216286858774638169539455233914545174861931385284466521136328873591986211439279536277492144143493684434589796851487438555259529199644223113899958811967413656576642176476887895695894665823589354563121891789349952417892179315653284494474691725956868175117785993644991572553378854664486277668234544812168486491178628256135949623214632563133451424358182618569981553722246571744282191451237228475966391849233754974922134975134639272475411885385816932351154718855993754765285895591845871544338838396863314823564568367311745647689598721122599876612635638215193342316331782999779135699739261784237782953262349353914889125496839727225452785632154735666397891994915643831596821396772694614633225788282553147268955227777152576174184549173888794437215243489916547991827398489133844577717931575496717539597591797374247939319859422497366138339987491226459456521652587113245145115347982129661755895838162898391135753257144311823596525924174179866284818438731112863355754481567177589345348341528974652111356366216253786742186913479791756674497343512115416938367357552132773497969191844636564419256579848218897126129683259892936594489521432133965925263352546116676821173216594186833169413146933737845465217648221647689196711293916742585248983166957257148187518275623259259486311938743753794741393739755625247569354731193477626199167558393142387969962521273172381965816421569257473726763173592799391944299436196589166683954335285299521576477935851522937359177687662838568251768112224872188958936119185992397329542258379374268189997618831862737242388227764564666656752739835661989133899477846421386651855332453355637776579123262938915568995241925693562473712116928595586131335814363529923255749618359873117581228482686891686566493671112762975914482991352117677236547845162655925324669779559472338224649917628253629718984821366199783615577615988169879261589129987577146119729528635642893826947914918732613665459214426829526336829993183442116138789571544166971869277734866482483332416734622718857622297168496632882685959242237818921956986672972231838963275866781897798565982127411396726332132332992759547978622843717459852115214312578285357453735681678978491153422241987835128877854853824229661816295818433423318815296638797989892312465697139829651316385116987449595165981194359479231733551387266784583793227177391596943173919618168549772712633812496935358419237383279661755347519323149989125765183362366983755787194112215782213738177895171861592823346934477842749642278556637848385887545231626581998956638414552949884526877555747844626479824241241793519567241945598266368984228399569726443539288127665655297928275248112387297321297785494226345972882349982633755644185727553961152375395668255739349834878377482742481958963466582797195134784957198415292569428799518211588976918949452837781581631562723832543348586661539717882148532727982447487164448521499625761152763116867696239281542716592519916228125794517547722884436886899621444923566431112413176666566449783196455988328662969555414257328847514113154223411376136453496281931454968592743161675531771598624879467347523959228774971232914583752676459865976866263575697258724994558746243949587835514351154444819883628923263167641265593966569469822933441657331379131446282247458552888255811268391354875219154238519347157283214469868388496828961824558587111466353294265947955169727785787954612243569185981716971671469464124467746874674664563759827954587224219926573852238795896614962795318399846434666638128792197489949782996531218874697686897768652852942726937136498367968844712116313676392395846765481375867167829179919159545434894943628657638668551586652395876399564621573452518676252413191849917472641286366326963324653838138888253363818743551885279675478588594922234327863163672559127185936521865226925433991258179878583447444858771434623939748946987351186692561593155658544438239974272743118287585242326759594682922497638746727332464332293864976317191164747681837472782191418231953269855623737664165564537551665884989451944612338876421268454255543411594187319126958177834448185636697115738959645664676919841613274894699584451249596499693665192514964813579883864414466844445895382895374353732272739524187667118597246682265594788861261946979738763454789241822629947962889854851417786821214396483278477554941294974886198447275685743429136456773372983736563234611175197755355872261465233776468567297964428836365331756133978947757666119223741594891424933738533489922836333692174246739224986335548954586756175518393225726468932126466363172643662993676225148461317135442627184575145756272948261174549922639288784272119434442552817199284414395622842975522986199898929489838382698125789888717619734662564615876687478569531413476744111582961641698476321582129625337376685961121189844922224317961789377774198139315619844586382573423419112144166837943382232471622853174489916692515863276316497715134673564445596972599352912884517964532866647234695732943321793528164353126859441213438761963234351718112817753894446315621145591781613994892192566388863179548729791382771271556387266763637731619631137147492339265734129882254239232268899144963736359268483197931277259254679963791727775216992348964271569676276269849559472515411931118166893622835893941191653858878797676261355935341572737134121829579486641236883139332157759733913962837141741956888314978174676983165192365483961813433269836427655455674322611822256493375236121666345776839943351819168892493782325113797911237241376458528198449959441234478492751585459278224319575618976727214263991848859383441921818612623361561574562589936227331312776224371547925364588111865296586317756113924553191932337748697249225927249586198112535212191935248643576756358268512254373676382267647312867675558873311869619838882534741639284994444522683697676141445497447856291765134315374998132574527333262468963523942341274534898631148514511853249696933387977753187838581685112382874134134821129135185164796145223855569872976192622149522235879375133929439242324638692747534454266679643859212876668152716474782652835341353441226932234161458745828344562837149944176695761734547592978163888975583274841144689449556584863671231667154157627554739377766244378334358676567545817167755679298954489569145188598596292968871987335294297818677757487585585573317926568561338135164932589267799414369217331353871274644861732683121254878114514551247725829278793727127239681268372365856896866359382916294422361697195994582246267588299843989141171563821966892859689766964198295454658974586963241326845356387154739538296723347361254811468385768613553255671397335917973894469552827352128169723416115627976131313248342377368819642494113618961475312661416497673824444717533571323678839571448642976669432712953331225163498282699457491882976519742369592649891966717816235976942368347724893991881584398895621879835697278688769128579382974173255734654522588493462499616244568954618969311261617748721645913197581676819847218194196163673815873842725638441443843778237749227613176568695762977455368252273265473158211717816541189135575983539856977247249894924139876374759836544289894775387923892749425391976585595164623536746222253995212853522931612167661282438948651856397523574879567688941854848955775736975555631481217525818923411273192649113364415156568473943153554939933468822537295162565883348751756225398441483892357937263258545466885752189599625639357695459887498263683642835588416476933812773522181366769317471227912215683866184342218162128233153576954362181624837963176219444984581136355528232829359989235846484419345719542834881718843446277747773466311523193185998533263147716372895866478897426362718112715334644233789679521449729522813668122657835113984228382356669845859136729523741172112557125239914837431673848158289536268783873376249326723829758814552541939278193244925329394395862136322249168583186631579291897119951186194163673235592724813535639848749255412647398463763147691616771687249626345284483896676968535726539694247968536817497285167841414665919995759531592421848822985443133923729785944277564366764229523827321389783322379696492923987591422563463815134124856179588567592968316717521844522148929165747244286767711796351477579477872517236724686788615652492551248629334126785485466833385631775638783285966626252766396759838321311649445928834939851538612465788773918799673997283255116474165842362234383613443867481248854351488692133425878266124268243871139912326869357485919427562961194986248926963711592666324729728349975779576868138496248612785839129617564363176127741724892695818782438175384188972356657847529687832859597938826253921724497386261456435428533377871945595343962316878633677814783896376911427651459512779782263444382284237184349283682751286452181499734764228357525793912766964925191768199235888678991179868481992288998213821711799926914963962291222235427787768873765262479889821244698566554462831348476356368594266945883348742967817445383142771464154399263559252298626952348497912542679927163382365872316366178432589693499659176684936655473227487557818975873553955832462615544321922811691846364948485566323656867267536633468773623491223499215932675347795593964426547917827612892555527976385936582494488372552636477167725218188538968885963435982921682235253917724895421655263655825151865167169641112478114689373917184722538615627174887365585885586287452423187785185921782369849458425856256137566389558885881158119586292816575323391188788185886844766178757482932942949848537231799338313173266572767661425331632555617214552318676463797252525693253184432782662317799546688259686985341428887239219373941777855543199262359294216134629628693177677613759978619322676568529856636586884113964115575244187172755396217517926328165892213942336168792672365197926797111324577386268335774285116896699733291138765527285635147957526682921135122784612487923917668559853177678749232661382574551425592818597674517964912388745997677959821517979666278336322834581418682662679658465291152534815265926414662726785397532676386923736666945129987548482571231132595262977519439175244394536641113741248919862982595226599475578772888878974275554367927986733539931747744483838264958968554136322586262839313151778865842264116457265468499934132839515932342176725364294328643146987592938347949775117731824248759619124858764751562556637253148292394798777243521666522466769612841419319223565653427664552723828151111225583267731598864337519326456761239478452591497922763627372249363521367536866767966327275592547189327161659427433967995756999938259988265119853361169545337329335545462182188325422397829554699146592811121943694734536693364288761152375462651336699479897346312337664223379625284244344989822965833555994956576121566165948265641927627125665376542249945162747869633556123562326763676474571556631986719186419375565314982156722933815743516534393734244349232536739513873558177472816562495757459492912456274233523372531918863134524652398842186625788171887182733291353436566458856856844774947489634167646571376282977565981749614311196956196634953799489484674997338225737511937226355326673293247259744797989721457289968217621467362941649612969619796618583829575779133225412594473356215417464153966587941419956392834574233869158828844874872521824573217413641433417796415576761437859513176131662364194664442495479351657483549885496853496666193158436464631522261868111966578193147996359632779155987284153885491181736721987915614444949537268398582153474285657221627781498539498795163792458399453224483437467269775364431361427969399663692347417146698744986772814899359793546452211115735494817296443323888445768878561213615326161312812676252242917339781234842175376633368774894748719953458867415977326384895569463361725614445865817647928795734982964747213818389275289168833252669164976256117254663798574112378494983521254868547746815326445417995379694192856529311854681251851699668261475149272487848985999372531458696223459799594514933281536663455386524695665346641978352819274623564856523146812822756259188571926622275798591983289924925782985667987676538846366377972471661257167136811615533151979416685832768463345315851186315246127519885853277931715835667293715677765253782414475259927637927716472228499659197745638694328288837349411366576562225176427447442296239275834699724434186952798927859799394974275529141846317111886976937325752596639923746579669467279913697869632646122762757685632824285284178553364753847638391775325836243317545921596289311698139843478912655378521268282262375461937727895632583612742878398945939831631226584176249457599486891986169483952468284241199351859859766696882347167714836751756762639599191346375247621496594389473434536781617132816156997336384756222119372196417113824558299764518638867969639633837412343428862854741668621715287958392545642729423678463553274281911374831233266623561936576185297435748781299762339655322132762795291398528426841737479884181359782121963936712715773853251486675878896389953155822129447797364944835783671115888229285855514237733592881111692614854539193647431981181192453834218863195351124314542561917291533522143571792135478655948669933486681159131555925191684673665113784991195241764273454121379882471789921537734363618922378258488678671944838556739733871995156825794718393347911915393314921725394687636169853263984437858121642233826634649277678112916848225541754328992132898632134638741596581844936241523495799262968119878973576412555724484493822842831841229951327799269629124319613999931948261933178139264614765156271394242435762767985365744479288241574747514893783529916365476599669163935545813257379215775434682511813366169497354267864398878139132687485445162797686325135239163343281937666766734378881626634878329624473978742472482743598995959223572769764293431515857668484595752951836477711873571456314854631155348297977276554591441756422446972982671398265547771858789846433832981342351824591888758852595799188412749842491772568354795595436388765669711171456512874623367116984641743773747489887261799599311766961339534564553489551622643821416752794371827358423475659133175971262719183821652222879993233939967447356759835346655655187382491144768565548285951735246284534657256133878619417471116845399876691426895986926886827493145933614945547147652531334375589112584171655551235611644283644664143543527184337881866474741236632196459178591519715655949154838368295132914274376831637553168985716239652979517119464249667468151793768277129953281627783439457436722532463467678959627982127751634897963492271276238948349135399792617259587616228234168182723912183128979839443466874892295587728321337219356623493784213974867782724537765456898296738328735594697361139564175814789713615355934651776824552133623694884421213691887662126522714266654297311889197156289831923649294825777758977884512514736119939533212987997685147311775516532694224435336915719461751393145325848572296827581556721962478929634471823624365639432648887691653913314778436889845211298957344657888577533223427857877984818594394343326537761566566266767628268585726488365333299735412385412353754315433988397491952411243377565295641858691439756126131459436147633829691966833534469536689486268652644639445717246111779929656623888274427897834565564665643594113959584273278724391658442882392716956394731715156442295486736118614556859222957583833682556266949695219352566436741938386992817899642669925759644666526127428439383769663351515872723647481424463949927572523132434989627762139635747686747373415935987976311363757627312941314996525425975192579243984489739152794437955454894941359629583789888232236694386912937121178569557382715677227717831832851916852511993652384166868164358569246529711988426722621637174121166837911139863765129282119523749435355679557823557475885958523677132892766541116775485271155424337516693478772649489819244875299263842318318583623536449728561586763114246115566839665667616684572883499129577451619285156646183292743865944719162993591384915354649238934424522922284524835469954298981443197388638972375123231859667912313952916923171774329394283973435742152666183453974915544764298883119476914342561252728384834815136175895332419544816856338812445955765589649523225911655747871498994644539712345837113776586858669234586758193576596776625493588492862638548828668365139882139971367643596699566515129397431428576443613593441381722664696741817653934476849961964249612597698365878327192128316853135285947893583334146467499195518138743542992245769316257279929934838375784931418669486323347339825944423135377253183927251996189795248662191815346638675885425387893759989282628393389861512362952349458378752684812128171498615169117164839319721832961233194622732457161984155141556898199672856291926235533368334923145213619441542475157384227838355877357281266424832889221225259658374323638393895975129332858126955577732773983792413446741854468918893393523712953328115289555647747269621822149581584923899663659386358542746916265657148936482431977951435948664329236948688124133958183877653187129623614515131435243533418628421594164435157193616171412393356598296569265296478188439571115875786344581293841949772849852439121754433654937944223417584839152139782256541365676936987492597699668775539685343266757716967757815995477357182698596268965739613394743798518867628455373167221673358628681477361216853471193389526471439488325547335883884313584123477546498154988466846397646251718554393427717773459189963811871848277518512288744645763343533836756628782919875268947291743358125786865957155591687338413957762253138745541999351283944431426642866841485716844975378824966641926792861551446834364468764441652534632787141824562998776429476849412612536629365687474328285189933413865658775335993636477275499641249694781336936318156763513689995866245588213954868667217798888367912482424629135183833892682538229589921482316947239739229383437515499459891524268234465624168818579625627871417552828371818712778741392271342989471339639631897772733243496827764718762934244914396713375856634335213698122632184985312999672235647299223418726235875276156568255976898358243177775422156915739446147874911411288821955747242485389198629951181863189874727967586617598486787794224211575591341132872941512281793315675234258583861155338478579919679282529677855973618655424434593514957115922539922786329883342812299239824997188366111198554645777699872291132978871891956432892783783134246353353445562394696776367569195753378725481639392191746415625489639732272256488787883734325956911914321648396177975351892388212322854139968598485943322473583635822245141212951577991168318872355799225536754191783728862658196767988552146548738133119394395892592546979546549653155995535135294551259436991285483983467269819357582746448476115426882591782839691174811747359812413862853347227224616879617519971278684119832776136825898771778818796396391467293876688465554547336878617966885185943881656192754652644532221858475673731553657333686932154462498965551516781613973886123658788886434696295568955255176342431321175735474922747574172717171392321994534257341328946139136167511511276713567681695337431249119283521182337328378732774819922969211422577598446549628221325532572826293944719674757569694278546737568965567524129867857487352826783881336991612591397258983187686166112931282533574429217547396812735838247382762114235871631443818391215855341471885575657922494335565262788855154833421232571825462187578463891474745877936338996237175143642682987765577222224156786399755226344212682524758254942581668473926349717861465282586955142171363928182799945566736531155464581913113295198866432986321968339552962374183169734144666974938284479737238747839233821438933851281466398464149974466528644938178336867994629517955639784178298231139831483446353145113541679494717611852297752957788163323552945738924335129447215331765913397189811245868912625447515926358267149383771872345792655276822857754712298387613273359779673857755425655683453962329317276574579913588977544942473426366236673776125845789283543874711624292678393917587627972289652815345614764174954715593633728991457238616234628281763226429412756598551274756776865318141112278737895912519378987627522545863757756267629757668432295549135523217856718715773537867442466121633527291962761113789535882623676239948267343445846181588742239844769776612267671271359424548643348248112527295524658513169936459583395448488131587657885177644785326873921725794652559178942413164742935127628285531749733986492868283817788538982257233744385784732213882754654971915282741312616829219514289688799319483716296771814784292352241374334637446943136434944471725864527293836532157689373643916423874783995869165753893258649311511211419226145632121558425375638668692813728292615851785442196952744836398249529117296732261856352666328334286426147933149246962359991826366828634546843979688923842226764565449793699998157962275688474731567557927938745732868536493965123988789672477849256191852358973273262221587594421342627744842372698933911952485648823788292452512594726121472935126387239664746186787481538751455384326275771381179121285979125765387227696844954855174683596363824738487173788183892451732469861334373212593322593968953181196249569179321563845141135446545451316333457724928432746419976713765318873847449215571443441933292743859134181233711744179482934138515639368382572775494565759374154629748686765142692357745774219881166827624237489835811318758656852764437741711884577628593589285681223929913182541433274722653411435928228449716758297688156517669364197952223719739417534185162999491126457828814977921651159478631654598582583919894858286143135391769719951551753339161677219641636816132298463898127116726812996516312541519111113746341131323863725162442464785269813127469677179688724181578196297612447337334382186586763882521484749792427855276857423721175433717876121925745322986558777329681597422523297922149687465186167328371623962854157226964693512453383444653947363387193584936192442878354759418939642219595216679857815572522547591632782335182197987435899153724197478821322451448114884781385714474257592666893913491981221682358886638124616997438549661651175164759751243753698643522816836642238294517713384251732114826479725634397197538943937438922651852347967687649466889645646723818152769738413572262345711373875871279243175653789124784842141838255181591155344545925322656738745254535549986542335176241916171628361736954511753459196498918189117313898571566913213942864663884826126195252974317714289578857451963874419728268242551539315961388767221322158264422664516313561438353484598435966155716358795169995433774639456263753589589285296648118793638456641119169217629413346138682458925348356487251314647569321687799535372911857978362311463553322475222323417127854376323797942491812344886518583813567936949179161317885465216799365987674891728179757424265756685475363744736645631694919695583323858122795581166325737696365888174997488146254775468159778567386796634541375775323337525463392984757323341127761994765514844355622554889112179279576328734378161317816826226263313165159577483635416211143678912239864812762234785497492868971324231633739855533984756164854917621775178383737358855552949559312381128858451396181657942819941381495411247566294478265665762729959529735484923682631317175266264345531161483864136189987733542977649646787284598428327289545955618673563472133894946667743538992971537785189591995752557191111339685374913252351938395127238473442878289615832226956767493441774883922183767812529487327681859358851978557259632589224912216264241468515451413552796188238164481746596943994571841552585323981955517423745182376643892556744168822753147568998562864338834431344612136112894672157671475918354616949542954631735585744365382875569646861323397148743182819127766739546567118835718247321544229914968746447343933878721976329513931794361317511919872191742895287279815156716137217348633114554582475211713615527371333536911579739259441813367316438884596646638763717989245165621711472948722688271261216815696778718934796286214223555248898667767652154863483927494237919978654632859335795319978582584492568234538484263984813962112772229932587636964263755941373551865877958913799137592927357524812389316197566592242565583467847988228749698349574853621167873782595699768824884589762179776375657217315398796147224543533459945677591332121955878253796263256846815949163261949184586312847653344939247576582413161613789755298791716576354515713874464361971859243113647388152361897353479657782192375934938377466113569737418539756571893931689583969254896868866615796388377527725851442938134795567198245128813587524949773462228139864575655835819396493639861865952538396999582631371665762847663827946736816999129295671987753234941516396995938161548646312736422493934746548464628592323615359688993577143998362312563934678538548898714994159373438921579553416416496898233461625716966913463115955557372718799383188812158661157822871154134375594674881646873587784812214853313893571557437977675375418983546745282368391211879326167988234818337675425738147169797685738131975835397972775594664452826839946549262888388737496754145739645588437717855631682467773568653493465338113698876113712371255417853488312781567279671119347197783323363442491337326548672372169593829465726859793447314761167248553688472166138392345621849664738928958164989741265629713992364375461388887151178651554145273529367516484392621586751165794976894656225856917978545672341641451137672358841858813482746133179172159286389477289638814636144973477325854183722696718181795384752786293823386776566395484124422881632834364854591349998512263462424728244652923257167129335672936518324999323639346377291977381944985417548991957674583673632925336966749552657534885475738149865464947285471125634271665679858417711741279414986336512371468298891265485437845561342468727648658766216871555323547615717463538326269756823475631524195953216269875772576814598679198586817655734321598182634521623792494378754476657576862435797978111768663993767537333465945834966933898419617659315872687392687511712765935693844351612341531582675951576247542898269325587636914431778394968377286337885661462935394156672699429263853632767272893437914476321557942334422359432776796334987932628861435851816215774427927629112988241737931651249712724487427717652857859936163343515145717589565779466578415631971677377237274961128796836598518588525441271776771779453215975153895669677646536714762274692296718464423398952624211338828161831966329859674738472595588515597716347345213817845114755616378259715759392592486916574157975712984678619978227919887384984675963553623512455457355274694972491956219783957484249969441868219534377347753423157255219288238273719756523786382938648688694533914271942533263556323391459723146665789232459997541792947932548337725838385396953152347361637562254949998538245452898524899655883499398342175832212165475652353692534457786589711119776434869148493968759697699691797633121945116412497357318391399353766779372912454189932152181938594373321642879299323538838252994531875939348487419882677482814256565151294964995176553224694942787314344969351161637849522125295946373868114312376179334435176661529797628359618248463827335281344236898924876899765949782410735171771775375966852665554687863669768936463151767243818379375563652555123551726552943792722467625889513767162837131323714843837435586875873965687949413897311946794694374672461174326628658874545234554243379418953644422418765297665271517669575932483524492121797427498466436132579844496819892843595541474917156339992572472687137513661384299944244383551918844896275523832728254783969253266845464916381675791168575492728392961673291581172388458197381313738986238588616836881691648862256155661628591175854946229118524431919271952278766452974214988621834744968175262716226557257938222886282921737811754599537253194475316627791793987549783629959588148693582683972945825476483342355237786964473569353993632975412147828634264641668869144452214421322386723488545553457824935589621952553992868513851532944795677765123634729873177332457147694582313568842141378293669494375853174649535652718558837876325811447712857624715552565464196898833693917861332819287733154833716997229296432844752654169544925736577719353638126391918153476252728798746911933675665663931747842921184677699167546114627623517628626386256484341861325217559442224174691539885872225745613656991497967112921529842337191477277336954856371522526852883841661315239737684638119885165479747998633826586969899889588146932943715398157675654754925948764861132873681647324929433827984499615815473459374775827411139769832534181338578855359292334592497753251515553351796827372623172967215355192429429234151234463852572229738263226149666899565142328543435454985511677386434148269334689236545298365214149563311544192137792423272913518475938972514727717162471581962122815633883376258875234273591912285658146684591317752269622722153629443313853116981228413577982266111651237647247289329668378785328393538393918956887166814785319341694543966953641669459148681725786351648434729995852166845238928554749675948947754862576288171258532618113829814392468319317542387658551165246788955175928772133899867273787587483182884874176587584213574452482611881377897467326858437792233493484431412178922619652342554784354719949479572754618163221828246816933873122418771617221212348859744351553685562544586698753639724258495975433897357917114467549974925413867257174885785244199288789342558565393991499234634754644868143292643233282417989376941438453884279583733265865123619964729319837818391647223745337226528662656566398472393689312346999965343121959727948538489835625543389892899173986732572685449995554634845942239125295663197128886252555948464565115563895728896423587312369728438917419282962735116737263255999181951962359633135638556882691712137225561426822416451161221323425459895246851283838136469582133588677494991219414448184155259738596455966189241786596221666631599366963661595866425159445921269416914262342927662396532144363394196613867972837188842167493845274836415322417236242547397883339825776299633366189345277156491613179881874291911165774511351411829911117447651766366817964295418491514357325411249142948359121161241787411262317412697453456463498666437646886827979734369927486245199863663347365449788991838775284183551897523258256166451521958668145125999327463991855299225283316821649663322823127657779529749654817986547622836821711662757733115924577352766349421498774746268683341386652388529779678245154942566514372729564763821746464777936577296698866433746911777245949516558217284828323915282196712783357478328991753245763185867136482341272164368613191618327121771115244473798872181363494118496416233589889967188327678379132692517185165381219353929867983173533454263611733958262247266493768213841111114491426563571121616659934347467938261146486419671537543878727539457651512172148394361579452127352237579617811942567645592823659773623813596812969933673785342349734315667477584587976475199245427841629356125585285952563617451264427345247616446842217678415451915948555238982686719577539386489194941686575934716683557585456465979361817621294864321189836483212438441123442738372481495334776912945159513787725876845461147857943749611989873463276743966641546833884814992559779375761457633516725137546814182938716772554717681325989872291325386985331922882114614714933275735543997189497619283653977587979635935654795755783941459291828973785371849326786393548559562481659477573615595254497455411561626886734126566991663317841126211188764165743655811242247279992191989596989547938164488427628741858711529665481217577612575469457557521687247268135116265822878735497558492139163666414286584468229895636869176452224633412849852851646354253929441896346542759934311135471872827927753429795619331354194283564377253515786276292257868496744392149319989696426662569318275514939861189169713588836987896358962179278196986467551151951697614821841851462317954281285245918629623999968312196537555399913866757358564495536399167596697174669694463113775424649328811829415367814226625157632665765757889435347771542149913388875472351295949627981217319649647484619851444337326567289373349997451355581843687543454383816827653699348435823566814434627438184664518644155614516142526278188764127214749599272785139777788655278922415567474562377464234211638752812469126695942681194417793589861328349232726184216777448827826159884137291739243849715887579374385997818981136311481969648798446147148859272894165164257258993818812828736238535253568583495795587969164676451175434294735225795782619977734843687236512134823384765664667942422244124248621251527216562368629766267894685993167977554772554731568268738327845543398987255739975822896659534299628629445229128823224811874483457521487199224317739232548879444488456277399851835968224332286626481328979255259958772226645428169111137145759855944186752413322242555281888875669389186227778823361998917826374223451185862755294385186967597232476775263657477795325142893535675465911287226195749544645928777243855194837548343498773595364298676285798544488839729278824335395915685551989974166973766429178561142796815122539357826587484442576657357789254378183731699135292169787587622352189475434538178575645526299326454613156631557417161734544578225896294966132884592884548195938438347666268367748149584395818971797753591437321425485924596593785772232366928362921724386955536224446685386334758922479967742364999568318132798583739848522979369337167879362421815729881977935258176883132284467261149368382798618326741989538464461327245517499242115124398334873924867511259283686321969795414826394255292431882623649812374865417824563698979143436639976364934718184553362268723485493348642335263719965413485723274698585829355738747487757222769421499183128621515445131163461595664763176867837363186295631782267844144729632487796516991282691484119414367717596168859287659619911261529482161986974925779639643969234273389478396889386542438944869476814863723593551497542536242181672358852312656985661126659959128346351471736627115418993298313259894861244128721282194413445682664979125626781838258612158626194484515197887273217198496288989441192524412421644463525243964197219371823365441988341857363685617555648966631722677854582161531286862861755929196914464561815944753231315739749549998576559364861174226729615761972138615644122339764635726424612715577341865117976569353884547618488334322823733681715115771464592337878383577145117721387454796251131268437252883856217262762596511738784529617125737464749888662736614356249152827573849957125228791426363377651511116912945557357429345894561814844547831488343997131831488582875349944383246755481564734573859315429859163851489757129697874135578654683291348434258129817532918766456885831974689423426369459558313823636725385446717444511677491912366131668115996759312668337629766699757889389875937286238983869658626595535734236244787676874969143693367941473999667426236623757926465268226547694668371955429143988797611485275531359675138963261333916144783266413672175181418764966583261416269536955766826984381851398339278151947613325216556752883735875689896667218821477974364557365125917683596518868565913681446141643324866426512579393852825739915568865419972432471958131825927564469212332566633928151345748715151384426685459772579834419391917335699477825185562445976926918834625673586187544987695599311296889347825524499717779548572511391347938493132935912967934277438553267116332636159447269778721576193725668923551796433339222271199373958963528519244478411739758897292298752522646385145339314124855396261543799539355988911642259788425768361235373871684871386286247836954987725994373861281729545338126544418229647155365457511153167631173215199996433997877993411374414625254346911431217226689717347931675922843875118929811892557441799522697285897689872872926789172323683493284875164372495284293545716258768155754113242789422675476911979814672292428527752848415326626526185495859832718895755417261833651392899773173964459919837831225446835825132659984215481174317142636438154528437859617636366961355919845488232138298872521248466169163624556889791789254487236164971252629427587887723252176774182338712654325213995242649438869292383449192524134779956199115957277642643927521197183615728423363127493795657678679259822665991523253734211198256184996464975137663837578677515316635463881416364659536385356716462131428779516983835486112614561673646716866476959617421714159349613594183849457328382563977212184454963469415168217363571583792457765311252889799428795956245572578928136436595449438946581249587418434287747513446441118355335986121469245185349985228245687215919356283891325446979986555395928946775155419155752741328141742657436834685699276463724549626911846551949799748596167524797327514362475647532583199164556397257815255739775845356383659479224296723325485188626364749689633245847181621121214831596685547872367385559772824396567226892619157886553531833284749774664854879759436779853371976944522996694771724412527946233849422523195765856219651565281687849283424281686437485542352349324434778387467211159693949193324768355286144855969142545565999688545366169577966269526374994965938456183239958766749569969587292149667279485453157224232392222447333942293631255878491841364497349745255548553361192216444793539633249695643978291421276556121983427688355662682645983851453763125995839418766253961445513971295625429471479216512746518996147638163229457378921427278161694556673824862899614747664463652119668179756237127612371936492694782529716322944916253248187469959223384947442764579825824882786817256573216672952945757335415215921787131881316629186919762282994263287296246798939549436556965474885534459222344281454931626364765228875899923531666981963691386999986586477831889797793975233835743613269245435325396816358733229589936941616148769463287961574445449254326929027974594319559926679597148763666684233654721732589648455441638486792178451643882858815559532473355472239293584982783537482858273839152292762259557791662856886468486835294532476367655952742381448241973425584333311116372539585619918461142566127127865147288769872718122481114826635358368265362565586834955439214738586495131599947632347799822317376925449699694358573475687819557248895184943597677226775677533266378776191473439353943691444663599387298256629866169458483152393441363291862967776831991595646183238658657963963848147289875576829886962661186661684395582962763751349728756334393943683119215573836821696349791225574887917567763544615452641662132721433471367543224962127294617881143593622595838435758591962862987248731873578421196957363442852696472771238962374198826383478658597884917735255557452289558543314295687589397855711838196859411129611368518215786962882478548541592539611631222919118577331215475631711965178469393262896936674258448644463392434761859765433769714597233465898296392579915492464745758326726647597644767416545249916751432216855642217957734567451348392543428114346262946585552798638792356368613351664514969338224995341169232677643925611566678299754952175353918411993369259968255771989614137981289546651576694181371554266857996869537795676984343418824612621436591361738339773344127591953925867994166121198542155827815316193712321833854997312116717569161652983187592984616146617564583669967596255646139653526374843121327167812667282377521369653175216934814271912259131257124432154866357776188334246574276641945431158155856978614261698474577223547364959648419947137195443276433459854931893189894823369716659926824527518127928491737837515618589852714637539399684578259839781896278652427556537875922925913392821898149796568275878361782114515895621512287197714832933455715486248221638631332827922277769411325366422375327692525753549582546272915234885866927593967828282728849574264861553524711714535818723881418184261613316676949732535834274985423583915565288474738342751348183353845494833883565429516841661115381843356736983744814589778788427532856632243726399958926716871633131815138523153359173876553846241232656718936263379687434628552596882754557393652839765138176335143511885727292475541276384848443824824688317765432759479763827111613971833798562736866864246148229648741923178262141846359885837991885116615651177162618889383984384924577344543378641522661281529811589235782118182266335443484587757771368462571986528272543293188888834779846147719638975414714883695164268172873955874316887398767385712721999414191442143983161789372673974935536679194623121292349436845358132611823595737968284348234779782155268518293198816541455943921327763734645845955592856351564815893176659266851433519467635947629957524753547691173312976471432456331697961833259772879538591838751732548833149237326272951343339513887963288212135773187143566429817695134974379866277291649383493275979488928915844774848788151678385424348231834313818889915984732376939744857479981861762452755183695671175925913919177445611428688368475267689289319974554598578625664193971981224231788359226391768267685785829432492457362281286935894564166912263438385426734449258616125627154428276847723388294164987471276811857551523751792229718577525497484169214692871113386334115547378714856326426757375918528184124815489143895571399711854883386787427432923689812884269651898577422276587855148457865923133882745865536431237982878462865375658266832465699428715762241877335463375434893155845443757936782441769432833139825579744749347783772824997432434971177444597587774968379222676274373247588346234622679611168787336642523568282876243225442512454131583139871377893334777921385791978574684612383538215929258849949986446716157631454266373487471578145835563546781129856187844184229613472735326627534445148749451323881955716361323768493288234467665873353199223612551789634362247935282512654926161362554891915719459691985578217543689181372965939182271829751494884193232638141351581774769722331731255419534769119298564746288263411861836512624653439124833852212229533175239714978181764151482813756375898762489227585122161542748666167235566517476877185451734613448454913573211929751486562243516544847116629841818958537753294968454384848743145143916791333639487115521515722537858649763235496196769111813987782756742965735357225238219619478655459668361895739362185267227275629696632634499545756463294924478658423895267112816455694388755813845126763483774611199631535237713215883353649393325519575227897238828275739771235976834346355978982921486554887474189645261989977478546124795444163229966274174133197931592967683925214732351675215111181388959561194666724914524337355586693552671949732452716431186844496643921146142277569323451936595172476789685924671814148364113821189678768351749923358494815299421618484432425639884934417246199261221763826689699382825551461418629697199761842869354739788948799951881178183269417989171994784912189396294533686686793884383874192234973428917567168647967577177582888453263131156913931617425365556493631264472384577661432171835686172218847976645314566684768457356596393311867527875763152128144696557898174748437213539841765346193872682366328142514499586241849457617963515611762113173896893148721618979731828251467967657253954226134998211326374171958866153596311631751875622359544631268617451523889289661825962335561543588552132142298292998243821877457432535859181211432556938347193745919797625948992258153889819185795876758542462778795915286116596293879633189458338858469289748378868721349287322226374293388148224218442481315457396917436469394627453811964691359241975822944435183376682252598422632425632364785342921265515679935276851179678234648655435212397737522642532666339117679382532597259615981246961992651892974434148232739965653742119288316848355477572667255522742683536329247817854922956491586964417161275285872485681542722338972797747465242583161317799933733123728684291678987237917923418629124982493681591226128139663435638946398668837149673595761993458563194181863878745915773773349488811348357734639453221421844185968982936612384321752893889597216126521474522246342721232293225727571639972417962433647167311875734716734177893955512529469569144435137647426841524767793979875248943936681477638926618295182835622217898235899814795524945229812324913948449651329761465899999322744337394278299496534233132166352875616156176917879222636162617897579394913736434545721328788589449499182474938683456617485556592451682841564422879449279836596863921327384735825968996191769557162284123417222629538341327384381422734266218361243369393341679913116644356415428965827142231423853649177937562357169775818163459824753555293558556433234143578463948315744291345818221847225261566516992521647237272558289615883633234486762474381738567431938492946496292331782156813667671622136666597831921128739917985956258947786471683787689799588916822917688557515186776876826846541832882656319118817584188894547551832316167981963721342232518373668711426344453654981225365223772773716642397582272413962714993469663426867545955198624885414942129482269943731463324925675261475333652876242219732225893529659393887165881222196231911352539488869686386611719654657794247197284144793555545691387967491411121657346784259729958766415667992166819771396287284273925782791818511678699241259887191691961271223399362315442532454743732848182424641993657119277841343549548812386577763565694678634997254964282952929295976446429819746262592988391222842577248142226842214624554786272549256179424319741135499869698742989517758371357559928197168963251322988146463131332444362157485726237261198432677113658766737428933851261135484116372467943794799315423627388619348584519778169181632285125816932713453442547568751182895385918471625878225984151179552182692639794593615435733161318436618892193642915669445743965738699491729114527213258844133626677748723724466388724639333516376161142425772512486968813386225842855318716288328137147467289785873523486314157261864833643732321692231873217935212616163346689658864152382177629971817141721685794191449869521541521456728819578979144232174449422667531533581579714328556182144519475738116376356898673483617169337793533453999699666236497225248229492959248231387913564486923137986411637669791713969437931335954794959646815878277339242287712371988954755543372126941469259388687694969415845367861118924174933884389453268785692894727335747238579726963833614794366122786718578641366751912691158971351841981875193887119472518595732846237234836234145384654433218414926662356889586246591165675416731616741441512126797914581332136117711976327551153165443468782494385514148184211417161416217566987737141262574637533585315961881574319625974459194663194692999157617898317955174532841432632658529528358366776321527761925313286138175212911562816512715356766498296738831897389853233777556185995789763172922927433899676474986664553863264487321613689237826794359855194732484746925869754543171956785351528285877573571844451478246974255186785443912116453729744453869588166622122535383684559226623671616378693157676136612625387765837776836243823628388671122898513291875612995287917186491592662112122883994523435464315376533864175275694147313969399947683279598245794321153449491324385593465218791433437693735986616167614154925978222111696394865693456761475983934146326148556227473951327736928554217924982895663888812576478425765756274365722992912372928952457825653378771292322449563551785788554774671882313479637992993663528217584773994561625445754943396327385765286752815562247852483946867455173649141596743627958452349915542116111383276458446213539559124336256474723357313933378235457999514354947295835248786711376986248896281221635269938711859658284363813925287713628692997954993422912324945615286177467182792243335577161553262188827557947153688355182346685983877742747573153888417843622212712416772741946336486362634966257517114488585347995833118695232173814442523958867449871732475582864538873199976812899194232789187551641879887671772771196486497373438646644594791968291739481121585342925697966284315391549761711345559211227967498247283289469526381414546534383317128656595776396668922765224646668436397967627475376565986453939984714712484333852528229876388216689283423957343714538735356396266174548834679141625687235985593423896781368385568139963753234666875665793741227352248636868335124789372646887812928114691543245625662748538538733735224289716487845339392154249634166784756385281636865982696781297986673333744837615234416274293984762394581295258761123731379871277498977286791788991385322529746697594434996375267217741983176846717141542481899539315424643546217143328556846799942585178324265169491268872644857928745779225732883212918495789794568248271655964496699438138198777593439416192762323488381223289131474334266633976326455688936242571136762434822776411192986821179174641193497874636735156631837866533653125992666359174867852768633917448841398846966652559737721913967751991116623389735811672895282978271411173623615397675766415524434474693155445886644443975636182759221536272961655288418991732996137272999288364984747538832941874784915225362859354228124421527297717252978266311955957491472311192728246154716991598258317649649144957785375995146983934981876199417317745544949767163761751371533363257891217483411677954982235573197789931681822272886386522988281261253433645755144764535724763111147671944649155442926511917439463422438112128785989559653515671815149971394463153238225685255365972988937484822346189648375722521611625486988325935919967541882974946796385428834444543418599986413292833566479735418659522721353672976225953158688775647119166545932674192516587456942955151635221599918381139775589794292584927267179297311319781752392442155772711623654696874262391766962462754118463955663371413778486854248552411997483831273463421318742818269272229533542791143473468569696643957892356747772931466445495278763675732515385797765618368778845324796857617377263735761757563285686294174813739224792987943384942873211892387211892991986435751239551652981823915336425361955271247293611893215847591348334153286238489671112687566683626153581295964223233514259138493229677819435849382535973186947472338341384187917481877117891657783716145445455183473113894279177461976619175896445846155785692658645538465265911587112773362426313157824651353491224492828282735342346691938269571933427435738274698287371329287512744498964111563381339363412152357896815225582732955913343641895896687212659152359749393669862541218922318513837834756342321674725839969713326399996551884863345948236337671413393257457844289883628253211454714231295271619717182216447785187492622431511484422555491269879649833966927278522796437576656539412721532579533632577244192654627918164512657942488334734198479391428871956862113155521932791921285964188875397513267452543667975682923822542582731467742119728379691195348699182151824237199248111429864735833367349774616729833884862467941488223413193767859249746972678827751223652921615721715613182895763914579883865649949691821211698829588676183668564526737841813724863752569126294748441145457651137524799822531216963997632586619564953845219523139458332481173249746959683834269124146317514748914731799915521545152692465968779354445565927384782271417124882146471926749761161278331343654957725138813871216226179395579977861374466874984627245376854863749798164843543125832581166664938129855449785287992149278945559372458922212721632747775881347584831752982276449846633124361928314471581918665848493935352375495954113233312786758143799856316912435749283452258274443449191893356953872138463581826481612893248833332466333771985623894385518614257685338517835319829449922193429398823676658212393247251451894924737387854985116442386542743247739661367755588343483146511846529797736731392335764999859134797887683467587842319819896791483471359585556249583574675377427675992852629335414773331181922791481777939875345922477795786178216275981291754268615474175783825443254276261616468128736334715272588228744926885797782317889637997829715319917499469721511683683376567229232291359331593862421969538459694933158293574862195312387132214516834853291798891342779474815267953347878149252286573432813549547783693629634764412856256733986867226489573958619717533236424292136896854161231424168511164683128617382629652984311163489777371241882253249631982319558435453568777984439695723844719774328787874795238497881284867954387477355725369392279227826512952718546219755697936958939592887977133666843423325943937196375275299566149494857541756555385193642581216368643628795561322722975455686323399762863421744826236692459113555632949473757231856647893925571155478326683538715371171593942366714637528961842582611763989316296782433238234583966942552484924782127332474134521146414644965553967821979573236452195469977553878553779929465191539987187733141116413517745477449658658334757881741223187636399574552387772689656997316281829988434864554723999588242979164282325614389751263232167484382629852445973869277482718448876161948492291686726754827974753678993765294275176643345952459819729197717257854537764469824897998928991845533896892239323825525637546731593715384737871265748413177952212514165439347655149291599425837211536981924881427636898769543253235154368758113787567445588736372196633529621812588224993898626827611952815286365398791399151854644632944583438161849868196174767241346795259256362471379889256989245136562716333579827737762573796321167347983463445147935283674326534359968316661366289799987639274612698651336655263255273136254616787573616483912247754189614267766514986755147462449867747466252915595491815662717713497445971263643272274941331922583436954362546175423816241553814266183419885683137348154439812358258519687448761624542174367412438399459486273346819126665616961829954995745268772695562354841152158661244652759939787832246452758617731128593416376159394148525516271512353724551478328834978448268511938239794131865877567322247311396228128621918527264197343264393936947939322263912542488734166679285987222451964138566349967546667486419666854266915851949794689321181348843561184898993885263497425641555794134413392893528959782455729482994466728128379476366433924265567993786598346475311855477825561372751612565213934242778489866284572642919451745462531392517147795872364318593231386635888582382161486717889392431995793554892228359953841761926218677255634856894899293461573316195829575953743252183528898149852453611228695819247412583627794848231463324916841813352633513889932197549932627837155537789398293525478562856638466119899729861432879728113797735455557539637669876961174543328174829564449217314219337883236243626765338269292523765656179783274762415344253637133898527418635223663399645218813222366997889593782311377999913254673273871933331452712793823331927337544837169437797188372827828642325991626771453352411593394451712423577355312549799751291638811043512348979455425513842217219514787112231265926498883125146189777511635662356926116538334945112173337713248751573435481894517634158832368256414868317618178944568664999847691276138991828934373459952255835954777698911993442699884992615392779759659851117596477169559289458356512688821689437166111231466324884245338317353389819125261114413138574615459697777712257567238633419872319489369362417173185841311587731972897945276915413219449598583799812715345156626237174345115475575957712247828554483119539197545363135548243398856357211239116742266723857298974832654896829695122623998819739313689178871833336627239222214147315533429724967631654586999413365818372445862747134572372234672265212368846241143423842356824152872238335951287558932389973598778221244842952926742289288657557369696282596721386635565431395353414944196987216872358911943667199524225734556436571681684262992863577159425369848897187595915421869686748466651452362332854385574654338477134391437653957596165631185923827447512488794653452925243654247882864913993457825138743238544243631941449696698321214728694248723718772743425459481964745169251423291686249884825113717325331485834185839819321924314238963922634145837718659953394926724148411136518211388285734136837553323626278228367397861285971955277451271322279199785924724718338295333364691693791394876567512531184512892184553895284859791955973626726256511781211716788975582866468275835124466446247234985382947965469992538492335958548976371188827828992133276962125145774182164168967383511139451264752251487996814833395338273591196314363384866561791344464833942685343561177736735159497171395775299776896771363871941741799487938915785574713919296382463422344254955792395697818667795238483829525216346997779835535251111413356966622442132127862388519641197724618843255577375495376463474268838813359818755517255193541276971884328298283756672271746966556835356197216714361411575463948623161872513495732184362199323377694984256616218619146247398826688398815576417569564199758843613462465942674533479991986161524882221714882536795894225843197675996969461735415885596299438217638556685988521938471393447578353438329718752745813154399956192646467468453638139644976981629175732569525771683747446967931259743121163731721315362867772989883185423896989329748144143234212643394683494338425231744389613176338796336879742286389919171391234923658347432562219419439768874495952717541827947999163331131499296467243425348151367882127177296855798133668793741641854872793681179183549331815199216684954514642641226359452262372962487851424691832769934161599888136934967637842321213848187168161985312966871192144527638556365573994192718928344796752516455912314636736527652954841913858341663346828583561685278369665611796131614755292281917155324975975877958546966216498334757247854344258913791534265397983928614359875765247591848467278671631387374763517259465394942828113432161558798734871393618921732165473629592485172393784575678996643125177236855396574134881893566869599412229649326958339629887674643586817174928713658712921697974523335334756729915977261251277622177693387861771468287395522396613463682599686753763723386626399557146487348933432724252116957833536475311225567959396729525321594233883196675669512494457198267783981593272639882252519241257947448518926198279496867991928943688559543373223462169969182897385432518735979335634522553852511346486382188931615189454632813137677526626622884493347933446658538399852745825365722734369834779729737291793441242417934928618873775586678125248682314937129199477147795838344293356878879182128753535217264676121737727946249237779323238898433695688483296449118352895677719991569697849773816942221818572781767629633723393818129312381459746639895196525815839862329386551344525955519311895994125173831984536132884714924714146764358366822555853246657121444221747884776853357872456471645359555344714528943752119966332759815431923384381887228235969257247682996334785965788592327445268158248184652271949822264219645542666566132371585568815427382166324193698955395764774516355681235654134858578177454896542291535919413898946943719288154374528939971579466963463492598947591424331681828435673243582498167221774142126971668974435884613654722225538348494514968456138393785127892735576159548313118931328731711194773679634474977182114916299399896456441997696327529113752873963829463463444376947941235525123525452729363682396289423196699941488871926286435266211749598584854653745566138857599584643414191456751598134121889941394865486522128367289794792997949535985639961789629888289481295159751534449539692513632882931656853996542415486867149439544639346656493564334931647792655149365849592178613996372942139843982578748856918239957263596499988267932148838873897736975644745773485828694613982754574938634313554335116777267434192696779119576911632518244899518761358361241751134286991411563352686635641945948586278431679234385158644631347395844887267473993538584968225245658368187925227589541159291617263328349133774645891925144415243684748663949633124238842514221511274241737811442855861112735915953468753444477654361463556959764913898242719586913252728345412814114147327486298513886731391483814449281128648512122987939299591846174186273345676167759878721735634163889134681388284263347349195493983126514755673282536289412173664965537233612232495935295523881477152865155569619124654427696645551758283939992896583825617463927924133335424626496798258826121132637889434918847437455358182217472181323843949673529267175218845173126633126116551496196827634343877741252974522582412996771324513397313793376535766187856978651972934224653315793632528418273583677129676116617289552384333892481212182892574494442791245535865895134224583232898969114878557967769191678984483489419989934759638769826947375523674884789375349325329933863637824425184922675518131953451716629961589283371933157364719191753672942951519793929856326338623119414629879862476361925861625146188543752947495931344849132648456523728914753478792118121594351995596599886433293593436476112323783634735367618151393233953386675157531259929945384819194554214748622938942146695375217762495788659973869174655373125921179851846865353372867397721222549636711326173321599351253374428581254415334566817763877126761641868329944499993798378211879833942965189431441749889792719815228527125269316612681753853944586537469985128998156444638135493168916825638447475339684799251577577279835882738352442913138296873681885364448585648149355265762353533189656597172975813641147583947367533174974162874131265233639575327555245551841566614327672739274938665133426794354975855159266582647171325184541239647442388158313249593292577789774519959765818332573823262863832412698787277293462743259647149213682451299121377562888965679892151317547558716563864753249331537781535493373921417993326462444413475827364888931629163712855588758562498776771155362852957718593361791581269494922196392264945592663812151989691713434772476847123336743753813213648945274969682246932227519751316119859247135561353575248423474196372227953628954393147171327957777998813175279721945852996981768471582191537692925492822433522452539632694664967729991345896964136919289757265239149485867565988718727884839564768627415382892672465446741926595677511948347515671117793785466824766783626667334366336727374287564463627394238784438213851471248874148888433411863885479647651548964763717947143553982965831216223589982678495952463689464574396866164334384791946225364733264951758494744324439364999365894311387429793237789618399547927541698441313757426618638575397253335361614818859431596545975812435861234534522774724579186777933442764139781151554114132912815241346879747974229842255665947664717414511437841935172547362329622453124256143237965221266521772949551186882317123757766547825931197215184427248724483969841366676486817571494388828445339585242993585463694353136993448596333624183638211845248869493272997468877362493478895811743369652427216944474811621291497723881123765678317621914244585257747761267824947738928443113639595282337228715799592667168543584113257988961731712181126172321743287895814886279598519418662646976875666966883743715656632897617224772598278574945523385777757479868128146915618281412281875623722654657478841788942163151834436581878826692989984422626812244815192873665874864415687589616317818228784273879222792741933763466587358995374497876263256535991748596325942511219838273948447514676227633176297392139634599442122645338637269128354526185222626879435419246157214575473297562269434864798636548925753175134261395693393356932933591129524161382872191636249664213237482817146345455521467543856388138239846781238993241884168799724647653322664454669857386377259534498752837492171267987726553596168843347916434741439423177449945841365987729284258391797433556131258977651862297156327363527251488575262551781497249267422236497254983469438689434341313447389936626853197886121475637172829112666573795573377444117816327541838487976426976639242154698643636796593257744397423551929894388868419744718261114479493492921836898882455372494933892252375578467266612261522227416624971528686623284529871183755626945327377239569124332633137581217848685519776691123478881852983678658218377947369739729914223499464296354149988262163255579139267619364881889627943368947949858831986385565447442887982777875978168926675232877177175464174764881692561974183111718356973558839129565555984384565513122477583414452137647286644395716966916476834337911942626277659576366823725151744168329137825782639221713518714231974289883562625768851293273818996536545193277855841883232713715478934733171976483671823314686344368633253341118378662995675428844838244691611757726237684137233526653124396392383816687229844217973396828477697288969673867319319551333279142879866936334274294379412842847944123925741178597245177561666671915296983291942965685443438188318729647866173478149893157287917982857853671921946835331248969951165862439643657352715132847164182777932127673531721425539435134213927358128573665619254427122745257185926975331923858383225481826837541148764167472429633393415287933257155674331474659218548968872298125613935394882892748657766178819661885635333424888966632439242291418973626269569657342477691743885893364272141916759999678873453952417926243345141252132248476961194195639276712928251375343931351662247355145349174424859343468426859515129765872315921856383356954815646833322755367554275519425838592475937224869725134517742555394744358261768741445195892946777273797533719695849352151277747774945728391481865192296536232199595167117257343943274127869969241768479314969385793327125323257435382244642789372615337762197932461794469657687749383278411223351551988964823628669187249271538885813999414887763674587535778777389688821408197474934796596373294182265227336984589858797555176415623254878787245343125199818541125559949948674498612142324288523977884187155485477782935566527717525926823472811881994761322394965678361539833911133698841262688148986249452663865147222548696733741487342617986729464511592384551811655925726311546227278328994986342844637387362975814846756374811197652371928445828394169717397626384513735668472224633593553214144415918576623945427898243673289653453222994321952743766936545432868292494155143428887719355928217346618113737291181751818411443167957771955777795882262934268597483461657447147746154367985856715263431265888864668927817615386994347575966162421442254915465285631588386813347313637141799327981968888599925866131154426368268464363332226913745852414133178826362796238732337114264887185278724283816912334936473752781419372629292814239834582978277427667758971471893788456746583346193877864894994494338195673196738936914626117676222223699131794826627398122878713134386498591873666586498778858172792664433522998656517585382228581748312575975961812562213344393688421698228915217666786331663123887247181273884641441963352556164781618637938485748747382449245645796761784554928114953298345718598486557112623726222653577279938967833555746211944239698428533441434891385838235667747881643917942522862674486165848729885295191374661828578485869963844373185342929131171228727815429767395721223147475618793773244213162844977514343933113373696239545631258291547149461889161815879554678611764669626897934926594659338229416174368141743465916391436369211947664671756912595155429256189285271748915517779395968973782823452526518262851881596386666159585958719627935115355214892528478884966159843665123654243585354263851665862129833217722379736362767833628751956376161289382818187789244141356975791112159461561252486782147636335438655791948186324125529494337782767548565673227858323264887588786633518178592376221669149928118671242148899258861259164965866855969384475691498726722349147622241169638389552623326661766538962281143893177242783549828491219638634144463187357814988728161923788214749177124924425318315418818749146143177569231854695357249134967884193168972358641175182126443321652858977395468495226529183316691898825657113265676541458912663773764342972598278935189283341638196741861339348443862182345421233196313335581426713813336188133334265421268491163664998697622855373934969118437693215364246443872197414626552221761289715649948347118673547772957386468922136963993962217295392331168873185874183681132842394726925813331821459739833317666951753355578782828991916258217122199524192169454243555172293827326271579996843458724454665157771628678867661998991655144841538691679667425735736922757231396385543731463966632555639663715343128582649145821277761728288645266926391316128336112393124218624548378421142875688838462785767243372114241447117891838337716559976219745778719512796621592466375195289688761912111994975313151662493382467551682873599151665924155414749585653962514548796598125588963123691196559823913554556334141554844165622633824461748662198354639946537919314863246125424278734859434424675974297992564893796382356688276963315335573173455193427118935724346868517825382782356266188883416215968963511619137655376474636357855861212292496163613449913659555933144466716434815152342797764467782247921773264968195574463719479714518785123432561919677868915998572359153526683985163848651451328675579154722912729994182328479437817122626136518519138263929255168982473986637499612428649857575374412992656526476831894991648286758258336977846449531122287336124938183693676341585727957789514939937399589224482956862649713295298121378222589997574639832142574615645768948237117692775999258549325992817843643415583283331294435836237921487941411732284213766551293115445231472547685938524371321631365818147594253977959386627699958458463414749139754883566438423488344575151174271851327861824262288665373493132228341258339856376154813373595848683817631827646362842272641454313723516799455112418637714148562766116976144665116181182585634919642352157643263992112479933656712256374231566966498545551138838146984518557476915961716821624729538182948876596982365168251743787796819799368289317123861934433214797988835854796511926112446856357247141837419152374274319995743566291574536533751177421639416675524783145999387586551514756335778457674375323394948981557111817742632369713132456446722555536522915132215731985752433877452224414147361943154539892381946277518233951277573945137365471929893915432559226642247875632844835346778955887653197796288682386721581315126911312914632623162735776936451151373774259641846222712594469486624914338413727331731873418566229611965136599352526626168945858942137769511465817778416499815792836812973148632511661393513395417919417734727889955297559779439231383377658559565287252251185339568785672739796427132446675298146946794999868733636992852691437243815424331423778579755826178122424866328569158197965668296399432129661628754553351729668488523627693867934518836137115164127472152669564825929534555151464222349628665978772827372879147551995266145755742936865165298175274612517393777183779298637545254846219939538447716845611474192697318313476322224998669628151429163995453395426837694758883824951362717337971573534839829294629866348982971948582996187399772869686514822946785194732652648936816559841134635137729885269154865511426721214838693683319335922494666331561174236415747783487737423148117424149789484475743417158674695367963854182431194457284342733379277753282546657393931467759177226994432586361983387555321451462974516776312623163827342616644164526484936489796998954115881516867418931762753473469879571532417171275263648996442322589554794632841467644743317751138284674166472627611987549245459377937555322494365675529453199146931818339568126774257382821745541531553532556425969691192466132116164616183825421412411849652853678162882264627858129215171577747845255364946633747857486635539445159815229913578256114989555428926898641631178896538129175716521313266359459461214325245925799839168983841716159473229633412316543534138132946115329212775196772344759773186686421362531943739884551658967746681926381496699617265342247234792185844875745625633387622446938146641239793384179328183448134947833165967587984146254498421747742947555416124559364735769943717113978531244729745349816133496328726799815596473226119932284728819482582234871413135238669951744992161484883135658263222247443752257228897339196933567613566862288229932887186611267147494399629452654152763324462366937559713778845551926271838965759735618975972526641577751678466439129138635879663613418697535188222234997796663255417596259781712145556427186511954994531721721127872614435295412813468431522734413865327746477677115978929325687876628314254132143559564796474264825676313737844318584985723442925412245717413946127445917474565138564936997524326182592541887592648963755726158858927482761442796724188762486593527376445619978759171256427287548565132512639716934152615434379337153333498668262788148611951185889135674452491778585467684683274317766314743921991459427896335865762314711314594668722492255733598852543573924591363515842435676784238487898359496878662795485375698438148165125932787279929647236962885824335748228956149936948547946627963746761875492624429385288973989265163343993454728947587474863991536159359716478294842582887487451267214394944953557718827875813131771211626232587389174971662977956389361975354272491728786273177727654973528147497661668286595486254743185111851719875615466235961465795418713786885456124739335592284724815186985542354738872433751245726456254711145538427771357382175621445136142615666663681421747322468192897188666533921275348171239148439158147782913339754654896722656682616586618861138425914898183863144884747633736599322792529937341858325971465144267359423525462556599129166682299925186459996363822125954712833847557123134861172575161661945351298839253748867225744999996643752546574957154867351851862635822287865452269775413517824978659898694342759656428679471189857156136661768925556425582619816624447195394385863427977357548222866768529851556897516342325137535413475352536316388934256881764396533189253885623616143631716457913533668967651911727219383127131475642659345437629443681124926186763831164729511767945946541278145357476757611996681297152281295852689484476465136375193432453147327267794441165614234676923258279118888244552215637217111535363563453487732173547588289344899358583824619946213261992157436654432936397481334549752266198785129543162933257591796834446424246129428831158811191974337871287198263946363355474672995884235237343766513849379946156756499812547914665262392395222717648539816897285992154215828212166931933713452244661291812623851654878259525851419549522916212569156993244849983156318422162411417217743227347742674726842182345187752383948923189552367698124532537658272166394562899678471134388276986314863512693781648753392211821651148689762949915999328749743728134983252377499999931927283585587917523652612691515816757995746466418895155337598372146767534391131922637472241279476972945476488691885725969986226843937686224116424298614532356832456415139763535964925499745637792635151328671188611242346791789145571715684985855881244726186123681863332722298619753436236768147323658921443525499854569455268193477291534798259444812747583684824563818597443379989266834483176454734715448798696814529278677424819479926115194986659567625588161998222735244834529577452199916338169433178574135292958168381113831164573541945566972711848868471779158692828666376657653569527687824675886855792368954329474353234794393219679815712153322767283672394724792773466693237423334511743414883973529288793456982342637871459969532452551998616761224923167285131498663884775341485996235144879841797988475219369779412128727632994624682294343319361674547539629293664873319551798968335179361493751148672547716615668387326566753167857213176767555583316174859258253193413912956495947675252288116516166468676415222988625144966728335283159611333643725231847511564992329281535921283837933896953353795825161572893315138628334581951544253221622853485548561239336591927431413581158594551666718368672527877356451229876835426554614877554389126168355259721577249727492143245854811426518768792766417841254862254315178174845322875768775484791141859676361882389767767525816841127315964272491569567218899593837551366683143411367299971231715681827597112543891719737761953542735796517683162245317116391645947416359947546789423125775142536496334247194682825459846643897557472788511871385849734611812666513994154164382885989641644899452972378715136544333298572864922448565457263746469872658157461614483248267551286266523537296556214438546292439947812166185659571235392933175282962397927595572787326719937578686926729669136427278841946815783487278136362114141946349833321859686611567889393518234436869976154625993882832372227671569656362745565845247695948726763838486853438135559238932894582967935513946151528642734245714993896477864691742537623136697296596153942311596671443765545286136853467729762659785972558396192816245146313577668267443484184396113646569736695712677926325874676961718712692163332943887384854769943825275493835941528269574943157631257617822538873799878385829675683664677151838229317265846725386572231857941975927853339213664241676982797997518296749853241684963861241949813832596414837917534711126139219594856426731724486888181726847787264937521814355263994365848548477962743734451868187514989964821727911485843238168939541548159253144385888193228242397372478513838587995927352277517566695658952192782414348678459397886653461761952392857925753892681567135191328649154847525815295242144675926783617312965468887431747126817478969681188737648391666399871849636524743827674413682521431714699351946437287549138272345317996823137773781667561697834584294197611417697956734984768128758388151383972989582880258189287916931251571969839127365185393214996124471669772695322952591822423345795753841111854951313417741175647145658651868574816156853869646572937194411278669466162377551118323933665673558627446584548772793127586163531393336815451557639253913539173314859441178153117943353617835388764927937964566381716398173521497999614539888736729558477739881773665948958924626571519493673963231924741833324883164193683179414497892277491118444946526933163433232552423444517294967663978524956312473729389319836584813957373215363766795647729591991218957467826482974647632681893143151887788329547913966146455851365465344378352264451377832637665422847574321636194422136289167839214973335481329654976626835637751341693352583741167952736519594731819157215772997713987769719372353461211679992773282279149177523962972262252451781197134351113622929347575842139142174422752113327453321716819136455997173595147782236418128954819312148388183773228752674691371413537685585985526484661251499742115974645243814774153489639625836325988624835494898357322594278132549494886657939185746286735539713873454131933844437277949795665974522145239624178996799761249966439533267252778678449547673578231396623651728695642796654833777817481947929179765936584177464146915239941141226641229628576883713247142468473246388462419128491924949116263489149295368379331344938961687256362293829658814967363462542476992331615792673968924472646785394736919489868275268838182881339934725785871717456349161571513726189788367541595449357525575148857757874549519143299944421226293297876531614748187394645978721131128783154439257297583173274287381168486928965875655174482919831256116839846435111521979482375393126628893455267538557688846467891573563839567311478448332191889959417819858688848673598917917134366156232122296964546336939952388985811233443368815457372267626646226342715953134698448765528483936881963667983554618486258188384982297666674831581338846865916324746692279872933356462161672433796668797815317645473788766991591358259941672457887377254966116343188194451527428255183512123869279298645616671415224594827114243255211994871822456925516438954579213294572864921533383156254623733153439626239312831367174535718136581474297251444672318654444568117475796713747337557445778427551488977858135167734768268331277327135832946665667136163887116857762275661358714636334545545142127355913257957411343728263869371128512949744515551142889488625948711915872524298325635884757241112434832996625468242632397243364618114415987655769852374987346826847481999884363267697928944557462192323411136473443135142496234354615957161798234567262313248584154869567858892369286548852621957553612418397646654517384768973737299552413466952692452928826311333281641997522974139533347167412952918997879166799645291837869154544366353279158334743155734859326744598718833858552859444938873647126118922519366762627929137423326157269613541217592313525476991637443694879913862995466216898181947397896917294515952874483211515256156757678958776855223756998624329815774592668263787372172946389591269828994723382941448634283163491385395986247553699453183422871222643362285941429366896339547758935261581196368596395931976873886425675996553694433955274853161923482192776256792318935433949931582624721656436657652215792824265536899965817685559693485566193647537446948898446637865643352737571546353362298173782445999363122377822259599598887352741969471899614948917169977893398525462764856242163192919792223977513972566181319818992281513932693912451981341223243354626929288619147147362695949486858561691661884599328687293332947915265333532973225985824248453353882516889998211891683938173329738282769888711113464886685237231348637525597838165445113537571596559221783465291945468933989232718822912458981394962855363378649552663819921262768865592158825189366768871187365142622736831338575262259378216742224526498552599937453513553156368629462336676779536187334538475458595659317116269887713287145773633397249851569777758989983682945396113227596463239357248616822652253794443212637572328388899157294663329859923663924744825953672169383368479936239733417933292597457994741636462446896682131493469259725989636982572453575626163177948746721312768835183745451659576442335556624636254551287475622288611158623315233697818877341758819846911252976455158135868946829934726852361815421454933828523635919627763144617852556759522886579641346642323237575269242542299185321117352564542971225578711838462563497576942449483839923216162331772638443679739124336559376428786851914474577571924771727368259946937674933693715384376215141936559319834496687236563486829835582733847486147761338877671584254427834662468146388287155235551915897474613626277396311923589691282938519893611462993394843732153467249349813148369588265667982421454487589924742722758316935478614364242234739924289232155795587914339742134348676792927798357167712618131755543315517398435162854215939395858499153794839446742264887817524654689161564691376414713513457823291329497157175737337698144827348661739535444837663542376877834682775748284899677832361868841411681364314884761773891279284525695844464862441517127356374936617281548135592545368224844556318959123138677153591423198444377482314626685382862923244311631378629994762523791892336756142181842162469812392593926524327725931457723795845396588352714697391455339791315936786624717368197135887767811524392275576412312336745433333477737144823453886939893365798157849766457715185688781916788723429686233223822492479483153826488579384535118461619767375578449326447729552581661546465945981942576271345694781937793389198184362271225785363557257797797518964373415184632178193773662435451777138648224452363752127581925395229374427755111688713771992523254184655623153313115375664737255874348993319741363822371974891498743745285261599992252378959999885379791546818911355572569688786324326382293285229989347316494138672321542971585796832684423926184336592798969758332619962385195549389681498564419872961319728362413461431379821727225346228374537964137357261462276639554373956763367324951996416998243573889765294825333342213794511187596465276589312548778351822923972739369147978245143189292586785181316331339366889491611951649477499144166293711962922248315442394597836548928136421665787233683235227793796629451549217853231646168769341922869233166153385672279275231233611555152689819676716936558681144181698176979246149733517485799311499298826959565651891839529652684735636232319174164448611677138411184738258387795151122498192854963567693633492927159281291418926582344716177492426557577639631288613196696665716651418382256295157658428995567333684414748667193978822942711435983556841719748357461684955919538975862852737863799877364977859848434749135831412588537237822938863556752245587658712626439542559794669786356222112276131195559542111171726547661111813835589456866866969534589513793176826181676355873835476657836355269861829556354658325992797534341528531617334619443264653517262415278248893374429768143595331664282317326644318596321772314373721144795671922881633612933682855972541937122231483763966444851458525729532766914293511465951317379951815994516235417566363383221226498229599135877553478619223356198111282495175859287279281638338162372541359736746664592655671418746912266239926672933418168431234127263898889447763393329152475978796315184148146365586622152751742463893529523171749413817274378517926268332748813975276186735696588127273346428928455385158517288293139384128222956584112163193822447395816939135895596732233524971639121935839638481973496669357319533545239223154351512497525277431816439663188615988147192538374564128394594565155889828964911368772721381749477977158145448794563656985259226144758675442311979344935673584298785552326647757891586954435866835383534491385975346144798284176797979632861677392217796527244726725798894173813246126989694295768559351968369795497297379692397445571678495595157168925976137182741198961629355954955765479218585517593757972499984671421353493843724399989451472949373527766373755276495362628722861113819556733453183649193886373416888154859216515191192419149392181287582713366987199231436585716926695167526124123156111681452263955551232845468674497585622767353729143548995864513271645833888351567933933532182499685489687525783475967231361791881541599563934391719725971162379323685832237778768833331438655799367163277244941856181345423923171776126833428724334489224436835812734636171953587145378712594917213766573589959786423314754364176563122562587585148498165492138697198277436394938798696268581479372228973593196288278814663929258371489739361172998999367759897744182977294434625614669667546242841267998643296669145221277912127254174258479147164786125718822637354669636862668958759332324498224582577453711735891953276526438918475132315387869156395946792794651456876337935243982416178459944398878732546959258618448286289512621593847555692763896626354417691849256822611776958521265818769744981684744922818689815618776671271359944447541438521311371959978233227753538582665715944339258171585481935714172663367783827654794563757351867125642542724488881336794558636561127461764312182146918673558416437396384625135368172932396359994825774267662119227523865781672366143651437639672545931492589647443819972657836971693745114287934416414788571281452946546166879212153434491731166382838644343474681123685957956874988842598856344557826511438916634431882767311858662434576688261834124312952339127251539488235319841262476732933961143273996648652969329222326823849457978765549946169172435116629677565441817921759768922535428676323978289874259157969314965125678286216424732856563696122826516445967819295581347828442724677432959931179528874555389584173926133126333516484938689857485988821143777939687193263177128716587692182787777797216433446219987749271578367238962795351873772767917964919924841913647847226523533221522634117331514391334886259663946139651685845494429817642521127759635886399132765657411885186871946457986288575342995374714412798363183823771595614244725475857694132433713954744271772418985877272615998425989399596739758545555616427279768821979663767523388762516555444456456633118972312398661418972426283866176274526757824277975336256553179788361965848376365798545281791681747753449286115517651492663652727783238377279759615776833297699581893632549534597284187439381468441924271125785733242194334371446438747972561345752962686233467312116915182315889117488921589411543244655785486428456271429489644979634124885656583322464524517114989583982666324768924568829542232182411777421916898465378454767898151339263364145282931985482493497559676924539971465464215544784451418229775782127685296742129667728562769447762729349114247496178146343478474556772775328158888782536996733299179468989827915795941749544184111956947952642314821994169588888293198914297431742753379527338361862765315949233429777839884821899388818332357719778782869363354315385231377357457325613659117559987693941678613367129694714672589578763749792359952122714472532479376763842169175478862218572722961536912448367937114256123496782766459693642444154661383735496792469431925171515164212586248827976141352768831667981359275278988793829925191276286323463981198871464355187214933777113591521618844392819743246714444886968352345875278353598261725216132869293792519345814652734476978477398887159316786362746193692652693482418439929876242861452637998356689444358336152251385778469314265318764517314759711477246386923445534984847532612742685243134691143654139983263649728342776435469934459349666122124161247193668751497442517232635131176196352157388143395238694329448347873397258152594147128479325349158671395323575998813651895331546626677292459869952538638384461222778788956165252417389431866977477275363178795936686828827447476124879198177663443925139793733345742844752731374578194273467793487871278352371947157486833625953663971916366381397955849424112487874197924552783798414666969138928437422798196668411167784616619674416798517476248347236527477346797676429468992848863434372398998657322279191485462734153575565552375613532672431593139689256613939513865245477547973231158839234395582125565539346659884778881323881925761326469947856553543766155376775829658854759325871357974793679383448245823844544571497887266314651694285482946585537537465196484545173634837618463336965565335799216772175967796338255722276846787654784579372817824315643338996874574922261364957488162595426313851364679736333981129362933575153119668852787987318237429888494824793888256857877722656645696179769969885762678342717383152872149266274843999146348978493812918235762457859874697416356766979193561926713683272245763668576476853957727318526939537783733593298523286247198684757557121672882663894528429591876751583842121476988369394373573158337612933193881746778325575191135816912433622797684618287688992575385638993384942634665333244613152825636955371733499854469759357538223748385561129114663557785431454737776445557657335811679345399984763426882879514185465498851958344788497875957476824376463657414174944933621379164712369624686996421915588546752134373247896615356449127982568873523857658229956813924833191281662949825969156657941535165296252678571366473148953337733552199556334573239645652894897254683531485942375531998218688523271736764487827669752594674436854149727366377935293372839395972685579317834737548888274413831282939179873477331212939662874115337237135673317647863921491131554478292868111777783296348342687246156244265554254664517461731467263898427894518997358115379645464944177786459351917937685561336621249931865913933937785462594378592517784516928421212671129447598879661211713647977444448514574463441652754321938785131814351987443518994527623782216326652863738172171433414875226867745134316414543697939647351867851564816459833383118382129227892159551398311532162881314246228455691639671834152449761214748593165149316391826952929331834916532966186947339134248184477969613838459353375279894733362951942426482336656366377869387515539863511834711347286972191862444533893278752815726435647944387952241778545648422364741664995981236493379164836354851816335736969611968885399124711192957659357419597316955887589582976641785737799539345854832792882767946611319374218896498888998265169743773699141222963842861719317492678269383537836233329519753592672617846228213725166247325564744835711353364657174999921477963465146293439917744364475534431787593313677789474832478222666855814266423194162674821833321816488995666168596663164179591683354244839548587466765392554625249586178944922958527276632115521769578584916394366185858278659728997958449261597327815622717811721725671796758419493877357251332526273243129873124532258264228661299524957257588832258297618696616881485122881974321339113872555333364195214394847871173681957583138451291843228136365623829688893938978353786699425219691672651966183811319981235865724182258567265778718837962447942652988944651251943137723259174231449234892228223545226754763495558692374616439693347214619842686777297557399381724537821124315193112867599747828584577599242772982461122127928779348128235592621158463784586675539451466826317543471852322981654828277778392365512888943353418792619498537856336737643977311312774834797675319193166374226277556958427386736946264193637256923528561411916891647348691527239694569793923613867791773844889149615677198471759641828135513549619489198956343397489492875441323353465579314654584545855581813158496856118463123486291662742979122928539495699259871247332738652856891769558464562687539895881385977953997154433811556756246495182719321238793994262837463913724216138353224423168244171691184495318155569934359374794765184454976972731736172311791388786452761488864858687719198137128865242392398983763644664588581597923263492482881256633382253592296633894335743769453993147387536382592956721228285775271938873734984318973994934531241264353836244676666877473845879297542826441199988566215712229341184486132353551497941714855988919448273428675917722194492222223279298759749342934335986298549986898885168912427751462994758856767756374494836593832952358145632418366695378831416721156872445718534323841955217178275963329792557898415629149148286695227128585295346797834158968757372213954593349821836231149124161383791471794878851476793635141481761798987667474714613866392639727119819765535837288775524818891691714682455869618477152742742734194663819625675444479545929422732299613564121787224398822754238569552738152431355696787973597564732894622174111581461278559298891281875974615885922341285437237257536225696384878232363897531577422953515343843655181383365533266452823348634889599659876428864591883437422893962938935789576145255781632733139454267946813449265956921424749974392915698162371786689642125915566767446354572779459324648451197783437354634913268319974741859628171928413924349271389966971234954356398681946175314529136341956384123973299736386849862625911642975483994899438214319592385668787255645355329362695664184751741565129876398434885371992466649727322599159124715264456514478349393545473684976712267927366223342827464624343813149934862593749951888362986278594799287349836141331276477286266636566599415919962179848577495178855417657169266585772651593121896638515222437318778245284587797572333976112132939765384965756694856355966462687863414912497157654488916743821799359652812749494845837594198299325281692865936539125166678417439979238337929673816535182955789898824766651631231875414739429619493799666842867267728193265428469751846723931647318341686321488575658533746893755819189842979726314358832634838418627531929914754489284459932775858711994915319949888455348727223295385617358345553597142825859379799489217962636987982385889828997157171889252749659781569563374389327495331637682882847196333781912674428481372771964984749947331697232399358536744432727812854145181211248213786231623435513127627757983914385829273616278782465353151351991613529183822982158884111238457519982182486785982792392637494344334665894492181572714168928452197764255517745993183612533381791466993756421932449913175614675643442738479685751943461852419283458832681872346453692996248156522496687884129877166366173899552894774463985174881739338518585987354613221637248511465536316195742435647923768718976429369862537973558549926718895447663872954944228163357157836493459838943649252179697312296857415329344899847245237157498215946468424194119734468164895835338287358671281175621537138512166217853812859977442714639713848751436819194312378442115975488574628232153785112978392712452599173185223591924423362555899161978389931372694247484868349556676426348686147581549138982259916571234123828596841156866191292852864487689549246453939858868365564115874141975729144229317364813344743458466848944456599335918254758283139616639367127161773828284935537621214452264282461662783396742515757283339967396483653983759832517347891986738566951341738631884747526716498477973398371256545821785565427454273693452787633146434811662419947318774872737263816218474634731473349849124159333155823298771728375369483787931448949569367462481838798269982128143181217175316529428447357769683882934831674338489535271258117627931424781336274329858274196757771734194436163797774622123721787769392756463942822383417818979667897963831224598747291981979948647646151164635539559567655761534511325343716458415571348145381942965628918856618466722545366552969431253339121958729193822576663628963386327514496615899966844216222563114967426279781818693135847386727215179997187268937459954874476397834925833562474321526196543165977561164629777232273973528857544322429972272184231549994718465186441431767977582746758238295925551725992718757133797633772263841822421813618521812877145472676869934317599341521799726265443232354877546493655756921567123536673362236176363969662949861114893228342142667266242537514547136468585998377315828393966549264819879581411352865885483166283785794852925953158647388714645824584878393987222397157138782284555154215494347577493217287697172717438979514373323764484456174575519527579118432711478735444911564515455586522794733836562863938592157527379671374658494612895847172944692581628293255515927794433729298579633564119761574246878152991178933412832799957494973971399496412952134526521479787187116375246433865217871228217147779399123875153894784897731644341583496694431921418991785862515656187777441534584686886692742439938937682844413884673334428873898881852965618217574138482479789589767963745556216838877336315473649367552396849444321254896363729957833954847912455663353991572788461786382174448997252673621811757945773993546638376743116317372298775285541414552137357298857377266875659612357462219139146173981698156327444313444368572199489578594427384714959516356757816875955589319879586446383868672459165723866746795531469777754911127519195762361116175942849539633514613482637931547153447312587149631161254249485181657518976673635964118622753384478329326296482177598372759989346481324234884291952999296187143982145479968371595796836746461761165623621649622483195861417593811583766931293354855332494175657995392997338784469195554861556347197418251149477389934433717534263995729924154814737483753638154654357369876489882730997569684162796543653481378544743521472118579246621159216363659191468561629755436764675523897726154131214181546412771352533424339734145473737361667684157398933936331197362211276247662594699912564865711934274787664816577468536214685991417918775486233991953786274866238832838488914423637917545233966858143292114455739631696141447232357666989344948993983629753697723771689524117918329811797357958548517671212214258258259876692648721578598911338344478368249333314474254247381127656715522475917665172626647879556239993161553541368452118995861795884291477922157193325215823213693343382174218229661214896137618832481581123156123453764598279385523781995219734382557217956274645926217659652271338161957577932645568225111527752587893652567852429432964918786264953431688675736771286787688395899433623479172961999878668611292346728188996483595582561332543688369468269839379749296448595164822858877879729923953588668367848154934831715616992479346484378175781374465157777117163822448378149178435142838732669841185835958968923638831724182168268872398415498762566658368565394111451391933821377252287156795297563522737229368994224229721533278552845669785585928533725768988163347725684465176931593992181828343236795264672486538157258469215638331946434794477275912841161546678795431999368385776983218375842921576568724562362272492529935237594373146623961178528862765599272828334228625743696472871322462743698319171555916573953214671757236159276254966744152584953349263889799646953
