83023309641052799479972976458558424179691860977024421860377206536997569977318572714272373021360814513293342550281434154602364715798665979276913886276577358491049969320061873542709798580479398768694952327786779747629650903057174960585444570554949670176831681884513635839492782741908356469979169483252763048776618812791774540994568295616688229896874976090942942777710868084184424120337564214830298482519275321343943526256728773786796562756824441961796733182910148668074475950890692268332856445229745727424742785824437289231179225558966024563850922945966883859072411431488043338178495856149221299214182357461921300858710752695545721755031810907168172006963098532283856313893311346086692892116415757083237074798346819058494243246989293840681750306765436532151027228730271077643624965293671039612325872452571383779469566976665966488922277661330546084029849355720599330382597193123254452580311533628716444372151064364740368022481115878241545811826228162307616679061669369011702909130622898582582372887305597474955308237339191486676189282095331602043883538931443653112170011574574406216402956148342469462298192809153615087161860468552142221944580715584426780516045719356274603861941547463489061438406244846182951830686208437347073769429112316049127840436653765444916287063909575422165108265592010561317528560395823516059257625864168486257962099751594823927985537553632557420976698983911609964478928917845825935258126106099779012238860991088106780200695888552998531108046988544353381411648722418541586640089379932365235271220681095149296466551261039129047089163256516844475339355912281781262877133534932566788669994151722417409864054721575749972663239113886921709968794425016888081531054891778460938617664364540827834577046460820233289106116543942846132347383882596449711670769517958135452776190613748515855679258483274196220076678652496054727832609169325329245904563787252669363211737248466725327360234414402538588675033338647206554774210453882900087919375580169213677766436877359805741038783105625601941981467957711662695506796316131268777578918141039859842392948299939495715847347351478108706745497491789857576846428396387384324699852376085697968516357973483095334880669476116421717098423682666736842210571349627914996491948309426812264483899219993805659505533848617157693844304997529676030212549161802605937152908347560645754515215446648095532296141796109671666995774720856396081791522913074303163787213031388494766995062543152073876117408846476293625744818468345284386091384065647514115872175596691639950241599071146933275575609344515645326228857694459410409041982732696915163670545232351475211243836820601339611639286344990559492359929693411728062494822584024039088479768845113497198375816979487067242656567921161278783177613129414050942052979955147848534352796765883864447264890421547114587562289169383779665961916266090758204651354241229938857570665556711894361150959610538829472096444821894897198883513326603830945869852101886296835925219124431313939073341925052974395358839579607867292285883152853260279201356846067575438852809842500574335541774181654051300130839726609109793555620646749504525835211915759964491075818442459235411113551096284830889631392398639754115742343684471678525061642235444753137243466958977335188698284314159115855213710546921729937686526501105925742803219696684023287171139139729880091984973901621577779940578184324301340375526276711466780372820374146858843948022193698796743929127312948955585672158812934443353594412861734793190906301951297343580615824948056132055721284933725200668789791947336928117530441134798095532644586538032748538761813812248108764062695664025212896683350866742730170570026074366891175855269563734337625852784669033963885724723255126795543659144507476077134349054875868238788379138543730129822332696986716258898636823171689118727794961899019171979599490453095292024952185657339638887228229545430437118531366387833861091138539132029930796977747325113051037468348445421657119526862519841681813789455333540281760985189711917669356264928966040251587294589209125981664044306759165099484411306741542165746918157174388924806496633688450388434693046263527666096190331534799344312335241729763959391241657838526963791356781360347481371666391425286760948816392304860918125200630418891708851926495773855494235219457996138931103554741245157403372233551200641657095338599169882295249542816230752852037715198155499119873951863403627493035438495986819756891539744849124609314631360502250895150283067967444899955662531969777481724100476031413578075926158814604392669312572598665315029467974604257569786223503248518834231799180023417871498318010637358627173305950870927757992270945693787889910247693883590238254849972052868411247961733523964397472477176462271196930547756670037967687783555172772457178957414659247957461896786261727201502858666142864916581299174311173707458905872260403769763042614254814354259965102564388365356698927549404525189197369126941648857063233113834763568094650382866204487096092069218264664402538748119594106155796882838365177119939890662286636810369698301994146441837739292286173246623417946938587312117955122096198975660934893651289911912148716919103989679923861643564240493079297199199371899765479743132185925810758434148611328461108999636282110297005795817121816953588786879974385172116679712557260617557312894844262881517682697609476571997841341210612638599229861141069938729343725979102563111791517927678837411857978986428236381724185566479261211543097873975904189458870643774569715787125065419354387263451377270261765844893416047346320774162786919381307334870107065717896104850042385842572989966574604276991408416769074918685845622409317475551785474364543234497286349319153662848492060935359945788587103988372115753577991674863680037409823630668609229474248377988320635943600658671299350857247851261541946399578755356444007880207044588124215588026788