6 37 278 1899 113410 612311 3061812 14434213 64953914 281466915 1182160816 4836113117 19344452418 75889774819 292717702820 1112327270121 4171227264922 15458077511123 56679617540724 205836505805725 741011420898926 2646469360359027 9382936823091028 33044255768277029 115654895188969530 402479035257609031 1393196660507124932 4798788497302319133 16452989133607951234 56167100835420247235 190968142840428825936 646827580588549298437 2183043084486353882138 7342963102363190330739 24620523343217755814740 82302892318756497965441 274342974395854993363842 912005022991626059020243 3024016655182760090435444 10002516628681437222209445 33008304874648742833159846 108685881904331226402299747 357110754828516886750413348 1170991079786532117018797149 3832334442937741473879699650 12518959180263288814673291751 40822692979119420047848974052 132890894166069601432359426053 431895406039726204655168134554 1401456521639111562044321089555 4540719130110721461023599149056 14690561891534687079782236361757 47461815341881296719296455937858 153131517423805693188673471044659 493423778365596122496836740032660 1587927432194736612398910959834761 5104052460625939111282213810856762 16386694742009593988853423287487363 52550434862306628998736840197804164 168339528626711065775614623684491165 538686491605475410481966795779742766 1722030587919142705639074183264302467 5499388006580487995428011101392449668 17545666497185366461603654466347339269 55926811959778355596361648611482143770 178105385779601840129951711731918940471 566698954753278582231664537328934449172 1801595184514154298736485767926313994973 5722714115515548948927660674589467983874 18163396975331959707466053445436137513875 57603916121767072215106626641240226170176 182547621512642130259140718229282710023077 578067468123366745820612274392728581739578 1829227193650653675130978566913976744956579 5784313017760175134873634927809061598916580 18278429136122153426200686371876634365598081 57721355166701537135370588542768319955503682 182159601370239915894740948258346775963472483 574503358167679734744952221430170601115566884 1810776407389269037360672191596360502250330885 5703945683276197467686117403528535581227607686 17956866039943584620493332566663908313982447187 56498432174456644293747314660966931036676479988 177663744548592580249012640078462277115332063389 558371768581290966496896868818024299505329341890 1753944261308290447702017223228382211384745835191 5506569192479516521855170351996083686913706190292 17279234362608138051338638001091159155487836665893 54193962319089160251925728276149544624030033179194 169888938056470513598733462798266550001172800640195 532318672576940942609364850101235190003667026929296 1667151886642067787293065739328044276385135285402397 5218910253836038290656553618766051647814336545607298 16330138536196635941731796807106677736709375642706499 510751141451256485837143432052059920701335791378264100 1596769358010770276775069466520650488929439031119753101 4989904243783657114922092082877032777904497698662645102 15587020472849980472385504135172586924794461883451355103 48669676170327490046428206789416444887623523840164435104 151908383198294893175215312100299812831067362288998085105 473954155578680066706671773752935416032930169644317145106 1478173851557269514976253551803709465845277263936904138107 4608424360737369664337731661505682452341158528744465842108 14362176891230054973324387022750719099043804735213335294109 44743704930370555878433667263184932577790314752010775339110 139344681068868302592836278048204504313689837368455772558111 433808912761571130713546903357617796448279682380007436373112 1350078205136478378762720736617632955301655460117219404787113 4200243304869043845039575625032635860938483653698015926004114 13063142021565191407967120521890491347322439987189242191884115 40614496103411776922952320168059527643493404323800276784663116 126234244645739306652419373495320153486533553979398745800196117 392227831577832845670017339074744762618872114150274674450609118 1218336007821409989647575982435711607780744354572977086125343119 3783253919024378388905630682300367624161258785252928846389223120 11744536079058287694254870900706358624570168576828638546676866121 36448560245353306637342702795295595731424661100502729785452994122 113083994607378207772268385595660694448779076747713597539482366123 350752051070342576649578212949252662442823238047993022876699542124 1087626107940810174652893786372052373457157771762264079340354042125 3371640934616511541423970737753362357717189092463018589469190234126 10449300417199932463090818402128189125156577765897785059778194825127 32375701292635856320068273409872585977944150782863629119640636425128 100285708882067164698748066415946790712168467059114168248642946975129 310562195247691864873542399223577158334457188312095488769991061600130 961500556486854013648487267996194882203479455014247633062434604825131 2976073151030738613673889162845365111582198313139337912384428630304132 9209423215394332875384554653529358179935464071368187398165987808736133 28491653072626217333220965959356451869175341970795329763076024783277134 88125345550215974542288104013823444153495825165483229267188634794787135 272510683932206321276921675488900188843887090127109678194951866738214136 842494862538500458909567012007668522761635660316636791367644253137949137 2604075029664455963902298037114611797626873859160513718772718600608206138 8047179227008206023788304460557183825749211700112564950493137931202802139 24862180596876099207823567512467717192986370476467178279881784354611642140 76796513399239506441943908538511393107224566582865284020077764331414519141 237165703144710240482473835192461655184075867388260435944362511539579683142 732270747665784173168514104280374307612146656242585141638433156067461357143 2260487960185681578041934843648111993063583156227110654622989307860424189144 6976613920285305014244532718885180180030771036125399070742895058072819979145 21527837239737512615383129532559984555523522054329802846863785889551924943146 66415668080041262324054335791940377884061929742081306655218076966212985332147 204859595908859668295322528710351306431120600190363467006940265571840053348148 631769802767881914113547099029824658294574718069582440210214385434835409276149 1947956891867635901850103555341959363074938714047879190648161021757409178601150 6005080901136781021565491649916247139962052449513117229101572239553661787952151 18508810996654462052770350975769254883444682207403443514354161054629327174095152 57037356336629056529965775455941989538778510475875917768724047331612824556905153 175736719523667903903137794648037481281641897141887962854987605291996270256410154 541363451418547435513692937875498012807205575759238758056639669993465020454310155 1667399430369126101382174248656533879446193173338455374814450183538694036580345156 5134706855110222762534510103478730158559469043724382445620657850096957631090482157 15809492159155159558329939002816090225038365213572440687832025485824843232568063158 48668436646810981385447067126316199320216143892762219372345647083813733088493841159 149797655653171462186376037778401808297288650682917480405791147517712399246403121160 460990204816534112663879806582565564889075395972591213893950821715675268162899912161 1418431399435489577427322481792509430427924295300280658135233297587073239514328312162 4363709337116824623550297826151478056666798946688124572479730463277429138123697928163 13422548973663144095224333819681128705949773975255876849526259526283737728658969576164 41280669485039480896633328539774037340939870905032225027788307599702816033422868696165 126938058666496403757147485259805164823390103032974091960449045869085788698737550872166 390275397763451676147751585115550040916634167710075624350448929845948129533377540459167 1199735482013573671120865983873727903558542071108750993373602265822729435232234661411168 3687530530606137479948183177427838525661531151076590476565489172866180656756745799797169 11332410898935934694474904398924576932520803049650009757250039897100945432959755384742170 34821408034912235697568342607604609119927558461651848163186486229273813036736953234739171 106981434324127953046746112830592473802187077201460497368825951668250874793735083966146172 328631591666333173131621292707149335691748326972151108683878522190495202210695198051694173 1009368460118023317475693970457672959624655575700178405243341175299378121075706679730203174 3099776513616888176153166690340427609734889016499364451605290354913474821528353649585653175 9518137294753033105599723602104136542833012156545107316105656266263728566298684866441456176 29222351343540013920700905795933752543785563638515680356464734150809692976946863352904995177 89705822729006554361221385234029193855341730239164414117519649021090220301325254943801380178 275339837393655955871725754677858392700499761601134704603485165492479231098287343209008860179 845008466483978623192537660907910239667050992500034093438282059614850054060261156744889260180 2592968837153694403739386993757415992578322188414390332436328377218139880163480783391660245181 7955699841267016920564028276301162704501670350816879429066007521010201905077744488080616481182 24406469004564916315628629118822211008725463279624664011202497649200788895238504276993077679183 74864786946586765777152985948746782082944398599298126686048110766649610880900131096843934903184 229613229238414158724340722267385381919198183413489785199108451457489588679408781967415196993185 704147236331136753421311548286648504552207762468035341277265917802968071950156912439680537621186 2159125503667297779827778504414861436610360818617456433198246322545012596311346668002987101006187 6619736434320616270021430799249959789168029323013959833651766197692950707372150773327839573414188 20293290380622217090065697696061352140564286613173942440866889819157078398009708108398459020138189 62203346601472448036940508155318492430860095922989693133961553576111914219986279201830059170423190 190644851475864205605109557427381541666473915612622464902465950690029488447201100794233111257986191 584234222264745146209206708245201498655323289780617231152718235985574238789810100995043790272857192 1790193632928871490790777774462569298018717887937399323264746252511946731692840576845775892119503193 5484848577484202014337702117502339976908412252403946862768584263015326156675937086506206988621456194 16802790086578587123288516010761136754655929598634313404989472424792983305372315201519015060380016195 51469599107309145819757454306647271532682900138974581061599331322260612019614144189219481545091947196 157642489412439006830147176803081957312143961158639423670343501693834858803530233030068312416852688197 482780123825594458417325728959438494268440881048333234990426973937369255085811338654584206776611357198 1478357788502208937433365315103772798511132438857849439789338557497332796661733166553674954429934259199 4526518177166557262038242253462067228430993137533827666159108779141317944417884025427231561501963659200 13858109496248383002240157052906944283965655913372795470240963800755727245217829553959013288456062718201 42422784172188927557878031794613094746833640551141210623186623879864471158830090473784258119570993790202 129852481501674737651778950112445158032186219555015989877063625378468406643525606881684810386301062210203 397427291868762075843323453374453362462145702274442878108588671612888153666548069546974722697466887370204 1216247340442593488384844136206241697183149410478068908382565331719843646145365700271897518204810725670205 3721716861754336074457623056791099593380437196062890859650649915062721557204819042829574872614909434790206 11387342636711028287519592934957842039447606346162576510871391531162058495925192593739721092087727883773207 34838503710333740008352021949524487031577330306576595463953069139891842329117668430352216014407009070157208 106574930069543115986140914436722691855219320790069289571994364216122335400896906873146434211560357795899209 325993903742131884192901620629975292733612040063741356337865114072844790638037597494330269353008153258044210 997064281201544836043655200658509797775486581073004050848006958652066749902680846970456504836510478490493211 3049274258043559450036421244732335789313381291631031805991477591994184720576159871802874726429830703728628212 9324592296336102086343259168674244225291644239625329145857996694359028638283619318121834308357888094010732213 28511734136873850610164965534984708304257142963469756426758105276982414490136451376564839519786619364378969214 87172239777332012152609631468206835437417772027067819888509230966467764876541590572368097861931338630804599215 266497990176415008580835159059946611194391474482750192230585363240344309765427148321239591579820837511702218216 814650254330747301112031647363343906257736971760065753501078480047498008524646969986727728360350891754228761217 2490063041539265335474511827789843637995346970285484001267447429579144856245147342223582867818431027626133194218 7610474366394656025323507980709803794999863275379577863028677355192597659228126383979119469247880746406632438219 23258178671131331965241001025159867672569675617281513656171752291102611538014928294964224920037915925934287918220 71072666915968767912387617086186200283154776188623044056301587233741468746399106464146491899301679838947594531221 217166482243237901954517718874457834198528482798570412394254849880876710058441714196003169892912168471223641839222 663508653121044834082236164118735226145734488919134485794428412308853727044916389455991251792630265882125689121223 2027049371461540639902611400472833305564491603762126456601327167879342120238139061365551255476567693016035362177224 6192219312820870721894278661718381193710707227930879449617752855302647846754863160061889451661295829350354599527225 18914415355525568750513433003067055282607251168952504500650590539833542513723945652552680506695731261942542711979226 57770273144704791432563652837422001428777803344085703791579857983654485053229245771371309240509333364733049081560227 176433536901395714375126831638613139498699777780586068336446593301431265162564993842296160653447423519319852600440228 538794792062109782463952342358275999993787213760444450839103722144729558635456326487012042174877557922227890676680229 1645248382903942371452425902558307071409600242018500019526548865834799187976125568379983200212572542941088737602005230 5023491729133370707501407089144697591370646072296486726287729203682253520620436735453548704648463968572147445405060231 15337209261513388443256508369512572292237813229577769208577580312127234200124342245411277018618795723310998904335859232 46822405366646599961131102643489923341501341709680150050855784829533803086723212229383325876223900600240186082399781233 142931553224500147249768629122232397568793569429549931734191343163840030475260332068643836885315064990206883830483542234 436284522724565951648857081905853475548413559088451538350217243980454940184309921903851711715437687459190444530602602235 1331616238924544774163033354338735390586897036869969477921097849018605947866893761636973485322768908266079078458402669236 4064023586328156128939127769735101516726244203434322432616337591160680490243117324476477520140923506501561131237352414237 12402278875518683359003889917984706352768021103584052940915375062680007702983306317798905535602473459496143452224334091238 37845580602977613168462513869901829256729884140121294596527174547491353977773093527703956376881367509449605126744641797239 115477540814213742744795875654315837988483492632677796332993173619268490342435849481968482278176480349346231027759291637240 352329347931026610842632522741040237607415592415446723279813214829853223725644698206686816142351213450242437344258542884241 1074903095382793050028370408362495640158217061606447630345192858802942038485017723342434354332596938614253485498926374228242 3279134759332318038694142638169132269343421668951314922951790873057076345251762928171223789799441293747279620319509572012243 10002738803677575193663645190381470703963546771675019470852941906888392548961260024589531392413421761598844556100688862524244 30510445974397290025861076752251431561462031784732590770928011088375055097040830786300286129997424536424927537227624187364245 93056860221911734578876284094366866262459196943434401851330433819543918045974533898215872696492144820142740373169751798788246 283804117274295124130597795889459114949823691922922345895136385300268795700378765208251727933285172010500337371701354863167247 865485283257974386811492451927358788565991258839325170539713439469414757135865821172271798408117590676649789174857850781063248 2639195863761971278301711550938982972540738776954485396584064438875869691513072318883347335886482035767067875631973940036081249 8047384109175846848592104073354931686763564139566135799420262059523143649531663136267255811063699322174993850287658243388706250 24536309916548398350605313235902587632703601682677156906803819422301176760000621888945469758630952627155080567479920199434487251 74805822916306092532333272060678620831413419764259624715865303116771880365855554539467895605582172643911403760140377150464950252 228051759740803593833388477172838062696576133937196345793710822862061643382547500276191600773293020246418166118970461515385050253 695190041790514181201781002994619255639562730873066279919537830982736299988733508906455041066973884299565054782022858490447975254 2119073259915663708964464985031791225021799649528744202646302063116051613218669611485941269758366177443252516383756424073293225255 6458935296222942984923689274376899653866445331763612329665928688377725317090504975809148990223500108846890090340151210057643700256 19685599608010164874369013127084973048636775612745671044599344408800636922606519149378481982155289176366457201204512068287566847257 59994208329173835807600801911116108338702554248367759374017049626820988716515105979058230802758976537497774327480417731924013248258 182828200086138448251621416100673990233753633697595029554810850839047360871277259722742671734890003598461596863586569451831676736259 557122153018390389554153449062683734019390994023380129430801569092215186277041728446467826467735680256729432962267735258731172416260 1697583972138389539935596980085118671894379617083005335559736545822161567597103619619237259472276955135210429699176131147404074977261 5172326165109155629491272048696845953428187895799781881783572288051898526272425091027363524954593847677595590396936023757760636557262 15758487888250851587127105113344865297798720320666261530881467321185356210394197845425780700542595263546915748174322593783371900483263 48008416589787478091015134182515752418875171209471633966173772536634457292131160877925052831885580919177813093275261855479574859611264 146249577951128649474173516872605902156341737777116290344830527148280257928538555724644272912578082414020442203066338239279477081981265 445498714374207270705943943704245671183933293536446545973483759620915247228471292822762554410622466430400730341739544791239747324817266 1356978842634079617667530403237070147859107158473084306700841336776351040408561983885426171480631650621335561873543902283818596373394267 4133088230618303568315607869401457931265524856723363651707142697509649352084093370765534674967725409144373199904916160391172671396826268 12587846664354605164337649822777824345793480647282944049495898481768932057107828098795411690681171303135524460546911956172354790071702269 38335714841443570273210115369368828689461963789452602332555690830841747628464749209967844694347203514094551766211050048343080497036547270 116743101422811174379171936238040168876965301049389622952348839624487888061022840046958681767313936739148314242660397617455943043691574271 355495910347658087395222813356438108234368021992502235306024662014418004997851505406152376810241687062820054660507548377080740934854301272 1082465075328262266113543622692075587994536336628855120988007678718059318588963572641205551860398844876676795651657815844818885318488939273 3295863811447246302793476104913185372401274816004275293754530842663941805852963713713521381783900960520030840491614842273776904551817068274 10034618816265036141218798995999623866158528157276957121133683123203599773210324466659382943052099950430874566403838497480383958468171668275 30549839507295776696599454721154410436971519056598736124340324175086514865106987820718565848847504293533995902151167256039672039398355711276 93002278942874596954592435959233906311813665024700949456017592045927582153923486908091575001104025985850725532414419530768380230083239260277 283109878546691787788244621228844391272726892060486713785230022845691316262678849852572882723949020280457355664849777101015510406282801865278 861774025905864013377403956927361498709289550557745271631963915695126314338044411089699873786086578216337225485311958867926333874069627655279 2623064005859454697652390146267954342786669653887443637011160239743559657510689922805874798312394913257026445455292604729381614784576895855280 7983652992379503934309274736095555581499790910195601178830331347874034303041627146867335295227180154167749581258437510734134218053970718010281 24298074324633272843549966588116908291521102770160525326874921493529669617952778273074498724604461338771411769047524697406240128099345506426282 73946847132367685946254952468529074692246532979224992240272775520019897068354484058490261461521880536405415600386510180192997934973820440134283 225032491633032598239322625138041716509498442087857350486585496726391485323121919113247342433264427819420797114845279181450634003553424792638284 684776291743529304319659171118987158840731818396383120297889199715793444585414011925258042028105731966624576166679720519898165838770099100178285 2083676430591024883144105763547775211901083961691851494620719993420914338524188350572570899314093155841300496050039616341020670580150144559666286 6340011915143509875758755970937180804894757249987662020998987880337657506897441422560669462325799459944170548479658225850597583717723263733041287 19289823486500466217734087315830145853190431632941184446869260997623085606092215392046292193884879207915242307076406942481605414290094185400529288 58687413504865376019325262116359560351932726628842260808319553777220765748570309019617871303656823314540719527889704514051810112027459694805143289 178541990380998890424989529818784014591795337349717300487282022758868808474523757017429016923801039942828104479213748944157619495745511184195928290 543143528632722940345494464396090318073987920990192629903415837655927217359340692400389325168194742562919180994660772789797231070641074853289121291 1652219824861779573778252391694400617917375843571564993062838387275023353505686721637547947189963028076012893235506547553535158992097676740610312292 5025741836600465393409109191460668081678986451003401529421107707634478702475486090556025637271211580175467790225077407715108689198959135172657848293 15286631419659748904952707124026198748440250455135346318655869277388206053362936858774577980033268556367047861934610448466788929646834036150167621294 46494633279864772620946123051968957439027612975999894166430827317730910452962012106791882506744785678362059067960285758485492972870474455972309131295 141407815699450791212670622523574553314559843602868643637213757566340217308663774752380828865341037821777021027382662202451783922867159550834909102296 430054697230288488739565295303654569358712926421095359515237716310003753670678490226312830054387692344579600031730776804135812890549902193367760853297 1307837572398959513701143774759059101337455748842235202909353055079737442669734586715636277699644763020502345301975786993399321393179154615447163142298 3977076030742228418797676120513043205773628232827411487345507071931897820541752616940723288158305405635725561993380294235900325465264937755506560954299 12093557726134531314303137590947825258372869524311924726826133749343934188994308978044240202767091947749451198714564568186717316210703586236132195554300 36772614509636185047220048878237963582238860892568801626993362620886471076365746282392147328413835515699178729650726839534412677496910276332303239183301 111808625198218130211142040508155970351401941903080815757750089049992648543003958291057204714771797176112367759073155931025388105553149394965981693435302 339943395804683405995492466595504515916888732452801268111947240444927143549941327733416349688346575252624471671525453891299412320924221897825863532565303 1033519183218265657154081123273580843693628159739053519830282549809073798846465915860655076569268446908985809846986782635963985109923976642383330068805304 3142036580419409639976788431624364504740829422082941971657949290222234391810827817783730650841020127893873247996357810756158068444551487518148652282755305 9551791204475005305529436832138068094412121443132143593840165842275592551104916566062541178556701188797374673908927744698712049839781478814469044052935306 29036175920580165629765563792047615635837512028125951456357979221535439150368766305472508898270370723420590786135112579399765060416493081994957778038908307 88262283096333086252068832983773877992380251794104713367339817633673950794829561153721070094742385179139411727390838900294650084312386255865467682912972308 268282385253210470092922096297213668749116210898912346572013109044929731623887874001904638802830814356394053468405817251390669068157451292581174046082004309 815437249914363402519276371640215230013761114705904632343881949860246947435764459137368046887551554162197715147391365593042691509794358534029621113749249310 2478394526788901226673341627903211535156578863384831456336978909903111214009684110230623539228722264617564858825022281654919892695073462283541690677259928311 7532375522593719414399371614215642900966073016169585798671210412450632121009824256583267619224548059131814767017224581500246810002237377432468409497207383312 22891551669641499067213725459489233962870834280411151629186447279532377097401192284665109735298056479381052695853649949640815223883021085161215068602262177313 69566533645404036126337815032733516198854223657353369886099073550786704425868558371579684130646041768508653647139663483324035875176973167892523714973108434314 211401213893315177743143068982966898740207495191763153149019514770837266847542318158295544979536029840225326131599171556120613873110607782042329347442552814315 642386914475815798174325067683725221333146646679486742794762525529447436678660850661659365712009484224168571664407805180211671757470729719720105433272874273316 1951947376783427425320698356788168277041233379781720167013024394293658609843519305065170741472183159459290354414358121849839324382370417399608558881857546826317 5930917029457337176935968084087126687932978346259842045924189505738424237601462503851864945242402676818612999951318908697588716392587037483426005833336392279318 18020134488862388674971583539830215591770806413077028069245700383249972683575050610744803715417012605924923204324933808854335045652876270436863040087868719033319 54749071026671078967907295213369508517673087000240397382357955941466477516339484976594085173591815369593556487025435839640240871187401152855946943451677573113320 166332891976267373245356449267284506829882997648349397761639885193598155502021863881271554003578943837146138279629657455668922265569001723990471310176001925696321 505315114864609741504880352204408628343948347286124752693589524638779206588420852297533834947581601530570546672292630245070143592297460188384725496161595539184322 1535073992475139372458043467422225580742026051850278034207970701032001185945265869913328337711422972472995067651160261596222549777231716597522052532503522095376323 4663149297896178093693301853867515443386154610337637047311005337097211149758260472755582308896964123927400111166732115414940198379892573060397178447793718063312324 14164864168217544115325421618801324340567974349270126328665718406417547348325248896865703001006765630362541403512737993219677279718231671772805222306934522894512325 43025774910960790250300968167109022684475222085908008723322119659493300070537943524229572865558050602226219513169941654404769737143441966245837360260382043474224326 130685764916469690012596398638415255817331282036636475094202699900330117036680669582940291414078191081528236839067579791416356678241512415684263134543242283363795327 396927571702817878361239993380031429159472030533635008205373417709698305782216443640110574543380344340790731765863642968960238606584469386767730886904630289222955328 1205529250280075351926862023237804433453380996760049359286288924994470705796762635328013850238563832192927888118613726788080477006375741388294563467657716141571885329 3661236982332080698444543922425924575673231175345335091165766364798022143530908744329523545168971638511855067619493540615651819056400399771857563123997508281810910330 11118895081728503536506968773644269403659935907894909953786496621709685709738482863548429966405461560649849082278277306423533370488204692327626023887541638134076795331 33765969726721529144607052410760204630746431131337303233891508145682787891537110536542778118838671610562425127164093660611343671114492898811469378530926713236487914332 102537027335273634374907654568455300300707052334611443765303570607532135707328289794455592269133947734827180890746009189562887661824744490886205177006759101663096326333 311362436664428475114048853506650850913122634528271335336104744893603680379570050717310274085540890072828878558484832782940963753589772905252013281398573369684280307334 945443994613264579449649862167611550341062346181589860184707112914012391182949789260160984229347565905033585653271574316589734923514234444822982577863753180287525917335 2870711765462094268510755036036202343762862032951372848197201597393455805955502087389943352114564427384374705529024598379463376949579578406377088755354741817835581624336 8716209438940799818287942027844058475775457229958095807970355303264118081526524464733815918051774167738056130080573176348521733638451608791368595493312991761250036379337 26463672031482910291669414349598828143318255686137833055524452246054912729454026085697850739145145665903495720244631812528041890083009703800299832100179203901626616476338 80344661933421088002635969692025271029713983479535583240646309972256807115549610728650231523350577382067369889391359647044595648270038470096405796556399925358992520292339 243920620360745458786445728346447978515359219306134974269507060813977252740021872092369265762507441513222494215098319407494670620795865295442381669784998575790474298132340 740499316139934721151687479786082370597374107565191847259966211486014525482394757963998636658119606026708288408223853246036059765222074624636919782872204378605562264749341 2247944352567658974924765563636321482170599969394332393467754570582544095214412658104995861283577375438221589810679554496895181430138440881078537680657164379979483017273342 6823878553936840152368056889020643549734491895223744921416952301798049286066303113475996338555191854816915983312537638724996351937779302733956510526149196322608341622167343 20713903539465082829377592805133669473454404392010539317673943969363309371313689332622403086856884151012295262954626086780610228071483918949820650295352294162710528119359344 62874946141916136375898356921777421499069563773978893681081086561872700127084915407871542113202754546878028984012714581997781488747955612387508699569078202635484169424249345 190843954171933684529197365715512644079528793572782994937869650976037136856328331473304210178897772624641546798532710143005030871729088799897047786685639842218600676653133346 579247778791646227236713412069077966634346924773696186981510524223455825942228220160908673123634001954557187497012771255161897220644008527715592480453025787467770838756502347 1758067819841312233543007373472815582942842420804376146452654748958909787508868106804161411410327760318217428719003674160403652967919534654294692966989008091788146580787278348 5335710205407597770024112757391256623450434285881503115035608144799490054800967053012046732589362094726718202030562171431429162506134797595104301395438942925806007552768386349 16193260041992825790422016624175790450239108704826422244468531695263568654686655823676095316346784961903179659650892171437244318768618397352583984467553070972504278735727311350 49143023953526053920498120015976964062029990765081924898430587492582482265092546804025715351348069145253997401897055372448680584784763658052457562785255712322845570088772522351 149133454194226464209604121435768243540842457524092546657087042968819671613720156486205205545998475729817044138704936823904955531861276996980507693092104118066705024948662305352 452557715465476849604360633636495563252181866780603607002630133274256813283133500806841733256300849981260367371920168517498323271037246910145459944743474456265822453230378695353 1373278584860757336730473646896952054006620837127348876421774197521882743755715450724209397467395682701755597542378442397925946477630266485958637073704336281082495720147356040354 4167054502485793752428571897031152507716365233575537135044867837179581162284534849045666910939747931178106526640053783665912828996591553606390248312472470262654335150819627640355 12644033947542608471654695298991668466270799651592058392621856123099186269560502884818566455480035151174711803690677480723426926841086371228532195677029753977219462400375481555356 38364376507501076986644588300359335944667810908676758370775717296583001074307508753081975142695833151000193934275132526981338111355433006719052198199883907539030791091831692712357 116401005994349858584478466774953894286662562643371528238603596797587060077728464057646447307952130128602861141493868008000196315135234236295306101356465946737741150244534794933358 353159992691072800407865263218061248671432307623373673494460204448203233266989192650819674410245697925591116947705191605009094202577438716918619927911543991377112668305656559131359 1071451503249186970728947154509033279867565814653964195856074179597091165335441787872825791854813219130183219214224225377908946817989178480142931645697735160279714705537500408211360 3250572588730632021056552353256982654696812344738927997005610961763569535397945931095868669936996723952696696038646452766219537247815056966518131969702361138199413120132549023542361 9861287628733378041407518375049273222113925090781017519005786063777121062443206757257129672842574331092450650903758901650328933223708599786066247610458756362011021972566853733302362 29915334739266802293681631373048635572967453426655019532446124109441518517159644028317847158791338937179619201481150953745955839443351298510671557877105975182235117076442304182538363 90748752868278623717704613606510665453191772126668578805129862521937120417975903393165312889517860574796275007845055686503095088367261201627344446521053321362869656829654587548146364 275279643101825685873482797263203662057175041353599115094112591326990317925280665167568316815278412718532433101791826302512174237414895399922501677608431941404359488265999570584766365 835014917408871247149564485031717774906764292105917315785474860358537297706684684341623894339677851912881713742101873117620261853491849379764921750906563646605388898705502455819262366 2532801480783141317531227454597592696739354293229860002174778316045978783902547726742598793080186282118020710658176041727961736093001592994023793136222733222644266039544370010241829367 7682364712430633057042231340188278400607212745763498017646150803918466035151926530285562085088520822556869448349937275738403276878772787589608079733625859332771834561932923401230741368 23301056607124316792847098362389241099362372542935568367571383016843611858683942451361994092789149932879099897061380001619785145574459611945340208778848680786175729621730437092989107369 70671336522706719064019770857356379598066096943408976587359359479657548054909539742592421644063795400820127160318031653264403298665393987878174699153431163703126388742830776238076852370 214337450768866679462657222846831540315230600866722567348511810805427138895300987657670714410900332900569536346498797370311491648281071628989422991665519393750737625046905964139659909371 650039809708857962304780102076456310792092805907273359991388278672197060584109552732280035508468222731235479083643893664059441884131118874803987761649536724481552606449046881638308956372 1971374136800977961976076985316337531094276002656117846513392790632575826785051586351574058640122975203992065994811045362665282880212357786530894764893554153536697686587981414886751684373 5978406349646444036862233466339762730166337008054966078013441180287920170359015136870534373484720761759932461006003061480256673082383128504805648254405452269964550593022247986450040433374 18129638767627021347557829942640093482536940682963433716252142766238977427186281675225279035039031253141909007766171885627119829753893552295061030885310843062575425782091857715007033183375 54976904587236535005296987015249148344341749854824250350364605901946304522440562269196656965712954232500599747874715826144941754010455582905563450414334491897601887127969672480414304466376 166708942481512403991803532054326932311009349290235260496388629756575721260769899064275577052364079545992384680213087073889648175907715716357840651526069874377036724655390452398686003025377 505504535266521483071920387519571988297899317202648854408404232165100574145560339098125943320071725074944650320646134998246029952752428301214097459466147361014240390890538791144402718850378 1532776486290712593443276027572750452452879699078273067924678784393374663159862583163486439396785847345207505395846591643475227551107228977675989883796816797069988960046110918992813605950379 4647509453084674013274532126383687200752849141055512457290336207224831197923219704030464230684372061201778906735000093378879433269934753103434685904346497988976918397572967331919386708950380 14091248661752731608248381407195339592682638595680313770504299380305688192103202142620367547435016089563793645220520283124762441674442171409613967661978460249220473909899413013581056729275381 42723466687229026684582858521815657275686723401796696006316226844543841859036304368583029266159357292826395626466471071176141445502298072890850859400679743002497177933093112030406174924871382 129530298205577659152462088303541899910105901454253643329494555128152814973152509000770298279098528874537321488199406987677267035037471345661120775318241236742319030179112538596165140422089383 392702967575640204732067601047246077505241701234324537713229524277415677140827447922970269385838397064073466734064868803910444503050111540020223302948953590758459281971595156696310187628873384 1190542769774170435981914706077271089850983416143110537816624599986149374762033608610799048876855720914565734241267900410799738084444797254573183575430996506019709010515469221752138273312863385 3609224396789064058555699319476358672390349724728587735696714576800115999278586097683264485016152080246262436436685845455898153350737911677021861786569757463815466267021744379396086773042211386 10941349549321178445227907385814158180080981448980364395616024504472792596238233445732730919143453156652055417544283862208825110551449574768924541636451628063610885626685058210350359862820576387 33167755963649017381083551708829306734381613921254612487233917215129564990690770497797126713005546480112775323341048985439318005284237192624122039829871689260893731821207584836611823877346144388 100542466511218039632997398260968211797955753949286175189761299965444973770736252083400689592165638285668230157699628908864355624373366529077299447108305564574145228836610981710982578385375648389 304769351612129682637523363478559892012553379158773718543963940520255076742544264127808340326252091053431822665527000129995077986381767291265563949047051242615377724910977038311415940730669933390 923807359302221661397376013453193231113376086956594622183911476849708245606621185031564501716197896777545291040701322471959106519759798516641332801397165713534069924898060548803847781682651756391 2800141477677718507344378071865896581354015600360662455842425979052224475025250742194120380849615386605512928802125770187026307326733068042669324812525087787864952505323995278514394800580374267392 8487250525364247568772494775965624521778450385589294730499136107049765656859480931766674952807748962501981047764582760799436326858547516315377565904630304845389119609160326774411847806410281693393 25724243860382358610506324372514367107246024880033532482131402221367330959965849422055695217788434999748272454049353934794167836045494533986814478102693913655096919227764289398732817062728070286394 77966281520284834966033307031348171772347206513006516186202887452421807716708834109520988847744382685612373324740843930905716911819120965476746194558036308995782179356128784578678640917625693746395 236297807069170961358593253618085997525421533585573595210491828125032248002948312608855920046240667524086731461137634682898865101974874310752600005045125428799316733702615107786133587374816020757396 716145527818331430204432239226168560275254519946047852492155540481235841134255116218655409858811230220058252637974672888069450500870143371462483391249293179363382681872574625849680713319501478518397 2170359405735147293578738520920123085732148902285471552960920362478847396090548668540210782939458524238339806464066100487312518354677883482901607828582041574193108739960761876299542569958081011427398 6577348733411095233211902235154876832333306215323146614698361709191621498075937568018806723869962092539090863864383525904298242647382593455816322961428019121791329540186431029701667177659222607149399 19932371542367633777804597128870362786309562490090956999872700205012172763204744812727043726651611011400189064604248553121147466296890397427016978720672727998524993581174108247370026929251552773949400 60402655028390019321600260160146390519525433672503482351512967456707774171028049470466509723549312356065889393243760805281046878879437482835795755768722165605646898778457796952205735130241368549148401 183038348570878846429091697454989062180380102037889340459130204414265982336448634758989423404694885927472392100738669106912263269331628735866047744753703532138353796061875010142707497002793315461580402 554647691009489300388406327552523530989917538417080293633082206323329916248734779886811779233873923855791656667981407898275699528982240224803162309669282995371384424842407146603720702504686041562420403 1680666118988553005699542791528500950688041586258791040506274223180743414562749106893203532050381789372072205883380849058594205105408496761589481772515465558838918634070208589960018008092088859608740404 5092544706408923769149742443503653256596095934302953303188184300314583429088630752465872356513562865540940593766935956170026050056237775901658354543787463309865294808498451592134490656098585040769340405 15430410460419039020523719603816069367486170680937948508660198429953187790138551179971593240236095482589049999113815947195178931670400460982024814267676013828891813707984425454982843471336671396871580406 46752989300272150648220247677397816163330916152966602089830775791504047793063191231085999468545775589390762466142858792623796513664679700980449250212534555616218427862211033949784340712952957352469543407 141654579521720098232667317589727711659047402672421197376651455010079428387937728655379968539026752905169026576522393058248219287670596705955689519300664399852124490388490147638898823354170900635094287408 429181740933052704570934974632897111502969922240760004955065574608702188738640115851659904680277085104742882009761394352657756204083867439136220603141715216425419361698130199173934152147500421030893609409 1300293195302120075234713883541252634850582140650223381349010552774879898554691836144632978536285030119320018762247392791220528697521420162135480243181830259665131927521067732150731193635001275598548954410 3939406791693089709414799839765720945584356263155121207198113452480932433399029340615962134972893165324458427213030990011919972128046376639358603107121248712615103306545196443612068663659077740761180863411 11934656043799261927537447790423243258790044836652214494713496420077701707095581499895648832553346289037152378009921472203599915560337544991160300053593930828858564473235240722734324787118410722776172638412 36155849882074913898411973281552478963361487183273170692829830678024093869407498745384115505008049077107638530924405835938670014461661407798773095739757534918876191635132805432755337745742015776862459122413 109530956995697533280483330823526627447830387643445193569455075289308284369087422669840114618112619263002552020153347091225970926163268382449224378270441944018948462894667028222758817288571400735789214399414 331806493197235314754324809022859392195261247653370647512359017807953458027626691168537657730663900407971056119731044122320239553829558742920755512657891365866692287350837281095350060196919231079811336529415 1005130889148698197377735153186320402698815779476795961488658292969459011878810610808106758296303815382195248050502333658345701282576370630994093528588051405869345904343065821982042642334888477728816600828416 3044739554720509138042044442133744285547507653159637401589731325418434233063550390404119012357416667033657138255171302687689533082256889137682838061051396594421741243888945340839883950993378658989979654391417 9222900398765037389020561805298332204765265900833076400932001684762635735105123512680438173354504855480592496462266470277273148754020868067544130825709084829704691923236416954777124201067321763154113127864418 27936678931852449815168820383603422731625539084605759267714126168615150858635616257538082699434589768053804390010400373648592515959515995042367330903055847752931161249319025691104557810012638076769480685128419 84619795605176261034351934205407468853764314038878314303655831438269080137026721707615351944664192195989059674089473595544287475877374535708040176213603944642936415958082266223780472207139729826736542944808420 256306224278810988241398509147463104455859621076795279710109349681696948752391781172222885287814191783995778338145706770118480378741830822614473497591566646785954397250549804955601215301742886549723685570361421 776312121613706358615774330590873825996113275376831856814273511055139796701955875665867392939052600114987213235729784928724243454843045280034222612897533593630534953213217417113924858034708334651192489845029422 2351276282009858827174395634379553098880314308875152602293590993915207585694413119822519226095979457902227458793109636366855442406395122754636026762804760020996080685631399515143614138364116610706129771401131423 7121329600537036543547332232355297184647076351760629651922694254298212448538581362907438613008397114124928140746595214450810981068172788055907200673949344943973775473706583220506735643944908203717608350702947424 21567940962008351727354569457897069516270023604735654005465152765404371353688448089569306921020658562827049667320833716319997935502413527548797703234467109150125825957359556340866461890611189762571945100338997425 65320049770653865231416696072488267677846357202913694987980176946653238956885014214124186675091137361704778992457382112283422318950166683433501615510100387711809644328000833272159057893321882732926833180176969426 197822003462194009905121823022381333228632079414999907623930464624662422019069817394319092662093111962407584834639340126274022462378770834626400379513961981787547022608560844212290622634279083570519062118141530427 599091280627213139001767037494320720062065870834999720244983729360944491327893901966681991521694305895632448859405394979569195987962249115290378400518586286076978897852466253325373023048835708064273368215603970428 1814269339204397236551450531986347145152497353521594897479489733596619133312132596735980215459315380265496848673518465647347848842977874980347457993059832228048723328957468724609462984693991825130813675376332590429 5494155263062372763519015290260541826358034438494641151801096268721837186728250599549524992098492802502117815322636108233949617722602810081995603922379303256638114986748560949053185076290295998745199903733988315430 16637594878967702933291700420153687836524212523159066264395319759635304610162961227341738034895906439577001478400547461875513312962328980177713746466122737155984127030459752678682535623224858486320859913549720030431 50381449281381072262784726624409054716235291443369003476690052793261837904014600899696812359191829359282469265579122595820216370238038461101527542115723781528684328331673920709453573373153483159330258139609386469432 152560219955095378069743914579299549761340121396431197881405710214724956463444681412899246792587904827991177424809848984532880015732514590642330472964006673340957462606216345380148642556176706615957901111276198371433 461958049209821518641093722651336954417515881611623440313789253360475569104262399792330429540172721161393845660171879168118253505582567545496402553648020207125889886770225195356711777459824793865143551028537273572434 1398796051103865157843311761594607701138352284879950696894201025909691758196822511259294237698564952887297448747233732026539886488931830399999596543563585662136435810989563004122071326154574375829420682485011464732435 4235424322179610315144167240921347039260778313752780947340115664498648067842471882929304877868678066649444833183484463019895191182765681815812731859813461702561952153275374470000488640349424467328802204456954575079436 12824196613560072995970158351281572821891683757418513077213111234734885681054352220934438203291473032430453613235376390350262701841088665358783329645142848078522848167109892602028018189081632049401213920126843089844437 38828817524390221015576312785824762155172042487739386817117475682947292756525677557829271226632515570414428995629334070782739847241074014558538414758904734459971956950416063711695943961386052594020342147050719355361438 117562539894862770788500106379252339920162927716919944843512726605875059593083517963774075238141403955688952455589046112693237736104037027912803375863566066690584839635093440013933908853064930602218634075712455138287439 355938196824538435060113225304925287223719094516204625632202126175391309459243646553915057287829043312846275407013840073914549274748167407090837870702133206524028754102564009627440452149602117076763329897433562331127440 1077633575213602572354411764888704835111811603397336763120942988903426102431779040256335932064530689754065620025372936499644738838720313735950881553367148121821024986558797242876357786936063916567056250924509558480114441 3262560365325585769513356719387821977861447973588267264494598039799363429380615442977897775975184657053593161544707055457640035016309206723521017546891365873403103170315624680463606346277308364499253628740348002208818442 9877270854292334034476363706521941594303651416607042542165567978614548780481817462379310658158282153963166482205142870412946833699261053764801616051572716362728387858873161217971055368706816856367305608291717178311822443 29902422723268572898894196974539028662206944699591183586556034565394729869677830947751063773328498027751504007771733895359743154075845107972892563662980415289903749545355734646186345705263103085714719718253006800094694444 90524646467480486065217284234994007043446536459582421381624077306172200448295757014945703313789462138682799148812378922398857976689745212974884321430753922369663059557580344748933151349190578589783285889654318991630634445 274042793397009107815612324093209130413342696736735875637098343117775843175295337145244720031744462656194291968677474374171088238524410508369422536694918692264525443933402316376121857974773974101223128350247985875187978446 829585326950129612094880845044068456013180272434336494275569814200069729340179762106353064041675414163309251197697116302762818137029678069553694073668291279304175663607918576785445827623983048134015845365394264673765337447 2511278659410120861952376856717112203949400915197154365024236224886183931803530592077602714225705213010198592992123849803386087482682600129101454005810347809296350764496368904386711577739568593672654301128727434691171993448 7601861585257273308979994051597398341977757623655494364554177827477139170538452650058838013039888692204686937251553233829211610190242362919018171155285951269224393623452890972421174324489303575880427579714725710882306191449 23011040474292286773128630642673205791932671725659874833245078829119988840548829643421347498931554960187160458707404383483018928143436341808919869443027744382517083400722264565166797955210864878340753754812142692400494416450 69653643862633056816638798821754625172434401830255845843553081309718258355548929280199000182159111306454168849166008324835115721818446634644078795819681734119664070428703124425347006552995913982748375721962693027158902057451 210835020660436382740947036792306600858265566078128681365014932215514907578455279211364686650033184447787282390973343584142166422544625463608758686898139778164902455333518425951164225029743524149839994283459167022702066160452 638165062535951735678973916733760248235421277189503592588065331739578679985794167277352172343389034805047411800865623868779309104480711973741947434839335838606516827888703423516611177774592814708576090079463653202943837840453 1931588894640068199956894265828077894212569758636086766851376316604617611742716274169842735932222167847420291075834343674251658807312154991951073039379775440067939327270271969394028475585597894519707986936948021748196080605454 5846390440569827803433005138664494116336040761662454156238352815736470677858243689525203292053206962371145157176077668270173728995851266445571287885338785797443941081871491328299520486237923248668782080728980760703337357555455 17695075066791345485057228886357868858777083371965027912881414522295717918317617566962948630614373072776666009052928409297725819760776499775262431332958725013596995007797713753653213592754067415095028586060219207049966393910456 53556047596829682011315116252502197322019332156834286255173239075240920085373720574067460933012459521818512422078153611289125818122971002645749930752746473710775827462625009476134454405417641041131277801161221983968443368077457 162089984762086294228936015560670367116200102633958636276719006758693758134493915365761695921152753597008241135847155177529920617681912238095986516083533575301640114975378347264052950501352506513866345203514494854134580813118458 490563728717042625580289795438585150808632098700126468731527060190218857400421982265914536662031843667766663570080463020736249816428039025230899588411753933197679023468529170196504625027272155475741190450371683101586115441026459 1484657628319860280941229469014572681081631065229017110213916697580089669753700008003010073510202099558395144813415322005488121691128030001469726948188876440999143123889337180286337785875488858201912765812358353703919212810506460 4493128690541643091991369184248497982086606542462322111570468774874249396155703101143175541150655584817384866830929447036389326524578675411041349467376006284078725454056301752207224458830360667376018431330254815721209213645607461 13597626300323393567868617268120454419472625062714922179752734450277333698892259385038557558745405059315769991725181221294336119745435465059730399703901071649185616505696702671153442457045288498586691499723308681364032790318547462 41149928169250007230552073701992534928075799697450191191680594627425716642380732449689989286093862575566104810844476212363384800017368157937871209607210464093706143604767045501543131111802262567933029199381479007278900107244093463 124527948564586266422587716486815837140421524848615644086614201208759919795501517849935207752240378885883452549848131070601858805292734207209365712916143456842525578681674945557071571443139598076758031594634781449975012114935181464 376839478335970204925870017865331585594870366045157145177139706925855182126256227219084975093381015844209402160651533893389938737585202208744681863269113859595355182546506534594275409007670809866267768812522247132930919014477051465 1140349030094935924471328401888133841626216412032301621927344504436500898955975365845578881152144291424216277842667250390432162440692611901244776421023057592514640030662471948163546455068371768477104583257375849773985019631734207466 3450730796057344066458792018728734726829873958319003823402701916895702286428602245888465377889894330882389821237572265281242660747865929722855668345612072324420656925757371730343052722000638901399195530467359239708622917000245764467 10441821759498196980323357667062275212355332886861401179906877229048034191400835367428732896731758170072686082446160231305578440964321579550978840578280686384285883944174904067141964730209725506831331929855775361715703112481263156468 31596095648071218076529209700981096268919700592857069229048671701719861559724773973580247922939942108578473437380281823021847507108022749354041804859981083421996810811639396540099120058366793596265002232673739269468034688091252012469 95605427348905151248808212112451420606817369897351993960311066959514408685029272971781612249585514483715898073452404481729900646507896422614385116429770347251042074093839898151506820176609866830077722273004159341235173926896805657470 289283518881525909262522912778965911384499009560374743015392841316208114021153090475906942871326492212017781912575340012460150988465828530362236255519756728133798275806522014406817410727888530566451369875732126653864351941490239744471 875299917645818738326517826219617886377990565408000831870609240892389357875162784487186243451867712487006593340624955831692731531624073450237667640091967782550763023363081631574275856494397602603656333405993638803342214676970630111472 2648391399643558623673168497748008722595504644371531424910430101458128828003436861842385785861860980180171983705145744304457879345149498469348660332869272969473721952916561767482766135388830433573803852468241994923174623851305139929473 8013081670716408143421381608570898186314603795790787388190532101847671838574501274292346736710246042596417796851466610972462301608401046650849792802014723343535876678055238168281189845535435670813047553621860394895759118319333500298474 24244270555962863871033988278384018179915613616688970797105255975526324816497265049511385968852535467898330178533541835756767603373818944984127624703750303676924113019531733391878482709626403447513250487397483796070537716194316070198475 73351814320381260477894321982685263514553196942407907390390795738720072104381087022138703931294266883726437263563184022225794748931001148441339324103687088996991678114413031666491920027848253718402627177099598342365735950268830587721476 221924278994784068324839509183283440569508079921297808983666420228611683118350422519209454569202399807452596816512817901638550991988697742099593496492046925309369726779275095806265363141579539349814677350760678005906555094232969096290477 671414979670660274508200887952815154943342241795790828874312813742494668417382210503031993908519124841191331046568440600720022916440382151945380324132718240130889766611874654261328259674100809727829150967979339390751187869840423452335478 2031278722851405608501554906258939718232394816088322782492899865677610719884300091395007998484335872405380115703254626849112796603438027186963719331572769136632776439791950592490403254954837756280176564556402610292103488037508765243745479 6145260946347923296605969906277045476677751405634292974883583137936062810789211668903884957439952829175770223456681719201746308711666943008662391395517618020952323659623749260825397189040585110771673404164306631136870046088159429028545480 18591031536635717425732165800673924947338797410308376852437282040450783703377046669926068808086762559001224865488950801037704096039295572849363908284965930728649450734482795132223359496108043374092327815745825846822676721070388325594040481 56241776077217296413979661245736243538167790484966518209053962475313295237107031942633485469842306901180176063664052843475407349362574842233369806576367521532048758524485766786558062341167191322501584881774066455899612777396313769571816482 170140215680135343239774950057856183282130234108609404141855068871859717038040769587463562962227356097280909978757291935293527893354707541599062119265614955074939955033192791348015270352839113371844417158071232486086249974387590711723544483 514691949526099804026599535112259500054310289792989954788959057716964750705035466157891866199541332461648945249546117444423517434709010680234819716439496286691136349326353088471192637929299911999345245210399586139917818960176686546343608484 1556970010153066004247479595778004207888717348455203433171611011757582304324835888231284580632850502582315911621278338574049429567627049009729131042005908391264001190342141179947302990312224577217226013173004176026598997230263087276935048485 4709834280713024662848625777228462728863369979076990385344123310566686470582628561899635856414372770311505632654366974186499524442071823254430621402067872883573603600784977069340591545694479344809571601621149160785496214113838992834685256486 14247003905275365664126300427998780188141794843153889835084614172296317702074271429446923432604807444497381903351567458298039102002524953919327555384633586373387927732104244565261040954231741057275401546214825894509505533127545105537463611487 43095708908488554228830178473075148369939288135515293318575451168481392551087733908990901171655205921321956047897479987963778030538758055631492895748538939693775100899186698290768874919647050750015633722782606129034977318049711128368510259488 130357827567912583288449049170109299727704554795005887243144377136959243306706375240239558202460157041514239722522191019492918638958852006785944349251791699570611640608098894829841255191727414380482072192516330340621328906150368444195431653489 394305494957487648624564892531074410746610471528695493644552413488653578927723416015931225637193532869373650730934891844086018362470577144493021750629386463163998846798051202543156193389853170770714367127776668633614928757446569013020892438490 1192672497118833774293271540913579712505726931407415029230017300181143918117464435660558985587140026225507516746972136773761214304627498290662397748810948332910487233510806420888268321036937322719147288892943945689065825396444130476108445891491 3607466194989065119775944784244778142764235780182922001992027636350373579491096132553542610726534647225300513617384858142857993884367124459410956153810893105716905829754908310094144921654933877371930870847138891611320087039777487636881864722492 10911288922420724684661122519902583581707842513777092626148371064361602222978202470742029292813522659882685126403301634588151591358670994514809729804031715697579060138047186736691325399584635731763560929687547407276128312545363941045435291038493 33002177150600388595409460736426666734837654816260222779088105924175665739991448456588596795476966077841891898711625435762524075502865548983317953259735271249235026155241081195402451413497791680497983467661516338400748748600322083981685429451494 99816400829730009678140270816308875461809594014823863988284884789071185336293153920847719142148124394945108626164609446815486927747930770851384975196622630220078944138244497112474899060456511033653410119982377637003491613864777836828042433861495 301893685774816070087763023162795415172248608836671360062526937260007136057931539001421060752374531333282961191787655510572554340658027351840311292329377016298279582067098662695281225321625610922181105937254697463018366883222534218341864726912496 913059314410594427862175334820267192527065548110910325240025461977821989910444674983931314088138857494756002789826208621589090011969797591614790772116343929130234581200899214058029775158073385375674032128324607141561055068977044432254253905683497 2761447682607651440363652232139344679837954340628119032433247738664632359729149748731889827973883373886579130388742679733586516133762314667322781847376259688101197269973451281541358344380514628941062926436884177696428556793979353892671402056212498 8351558812916852530592708880567470421173204709688692651841728962168289753257935649815918323547789270719856964319706562845390457516104687969529954836588241774764472879372040285554087812315106109028650757236093932952079063245077518567896674372844499 25257548312748537815193334144874090706948922745495762797270330100160779132322582714220611286195135972581915596545833208281403529411053449041452940335754723100198628505631231146999609699592648839855879010750454121114182430137946989353112614398844500 76384949139766790119887719626013159168287954242438700823259967999880174466842234996339909283705290001929550804099216793529820370764337400434454649863888526224237064389757480862744274182404434976291381558859082147341428070099443186989111947892613501 231002870382359244314176571449636570065386958394471877489697483870605366331176113900221499849915191538093399609171018528820021282553439719055810433056114494629749186662573026802654054987110186420236136846856242786583156756576897868167213976998225502 698586145240816789143274420299403953336572632730163444400433235930623472023657342438698016648737490707755290970994045973473826936977504824428336178839718481747511121838726879847865280977115915874476687486569281505501981096851262567113325165851775503 2112591836812590531023637102351209545632285913437000295716972797814295078047445698218231351552206146598151542574933801678818440496160888083512197360105654685766569778090607793274869705123567408246911428423239634432301171750718878365607766465407175504 6388579322144687597824986748392735880479197281315497888250324552909361268083357832888399017018595341115452260011172558583841736891195952140320452537874615071787081753785024368841239248560046531151481654289917050818321579502674924756918075343285425505 19319063870165535295822759927139633302569092578698065614068981447997908474684074086654518627464232311533127634273785817157537412358976559272329048474532835977084135223445913691375907487645580710202080419497205015272338249123863019340665719416590725506 58419923679243085774793375827577933040702944624206725359909195396640381914463816848865460520176271361222930870109352321344649061325048876841474068740353785439685558609821475533801396893778552447018267448498312135602845811318113359849010366576275678507 176656263237233076107841323717655980788420458046904002183948523131673505470430426248162886592883625351267747133119515585261309312931123894512664614238759056369407725039260955897032909332182953415485517902032744665030119405539633625997605052714714102508 534183253248173973677985394382812617851267428805846893283868198177485888311182263068500498027387662344489549482057223071933303111268865692949826795739865854349640456828461061469954383885189407842849846379705377008967816333649667485372479692204930714509 1615268408631383206121527263967076249216927701389108463025030027822397805131432081183322934511386502803575542481458745955607845122170141500110190549022927702438198524219394162063909684605215590381950725957680544765212206532702565967673926688333957159510 4884187841544796348014994320945990955552967524794393312948952183138220689971676807855315091086905326299128422513242584305372632676344170436966853402689129904204216131649534426676416016618146943590571798774690699157781398161166526561692753315539353298511 14768394066331103581942571760963174233193755559160912586584776364034540821455860703594134563958429148691040487045970660053794719357325258435887916415245788050261760239967959827697463449458033248406274412249789197121327946794577278190178341725908924393512 44654729987545526215222805738770307888532598170007256400856927349240534673159436801991732320608031331249240762606455664423012435453214242962951037208228388720022245459311405159487596583864230709678143341181315264668630655692479225770302559893132901567513 135019026104074661942091003178644080544854470057344775259283937811876892240104123873738781189869953001572507502684086418412887993811293459037584238487871663531405844538390390403490055812628855059184307425304134343564993478629228525163749472432779796864514 408240238063204135027265331811263732727958800428789015960781886625694572018703824443387002458172608387858721113223593316183565073625895154143108336017356562229535549596429883754363842624038915395058249759416626237223035291965388409090393787964731055744515 1234326366849923090611849297358762109542181314237632671787305233680041235397728033905299525079416004184466956777628982144225602634374765348409162851252478076388125132309205648527900088875035308900352590448132002144639086310429720803318719397453099181883516 3731965238323152984335239069313674088537514932479730876538916998112844831094892000750856685416238212260276806695570992980095021663618419693331030538522658763247853873615895747506077568125106755872886012218781229351512939063065199692770282247455184451456517 11283363650242657851076074373628061502062642803669186322035631861481804294013462533520168259813157719880680657743640424088256042061096315791555537643814601104507183196010559799100406397378252457209428802567721373117464901698486189696110150232540284239949518 34114029281727801807054564041904723956528575026298066248493693990561946315818480291403081814756740006890712865809719878676189320149630381662188379893872215035264407674488066761022866125406763277060085911856795028665083942562089824987654664738148110830723519 103138524326468879393312825916575760755730361071726060214317510625161993336151592165059122840723684767914723333595923524246689111892073177243269926760851015884826633319366645421458237274089708429088275305497002868765642892493166513678629083663583977103003520 311818800730703000418229262042929047566353732405198982046004590375489754610462192234945736433022868317753833457104568790780766887797976576636449079546883556762475860346124013439243641622830438881729018739140582916083398563301452161933489884475370274428526521 942708002209102094287669861990250608921534539829671341069316203460782979054885697454487110146348206542046473242409161460499992916598533836342753031188252613467950275465026087141899381650417605921506335722991571490939434539152938994522073281749651515259374522 2850005043429064938823264979285805999505528985984093435379770263073895157181404922865306292376677460010094076746393654473426477618265973667705460324462744361412778105516123354357425016478922085213374086528115718066418445231520393904135397561653201776306386523 8616038413146555394203152427725042847925981451836081698464710872536138641208648859473107439887793247829743869082726762365609775965645781396962839513723277355159093654900094928424184509277976805876725520276118174695002481143940032536440217338897517339181082524 26047330000437274399816466587862412771475654909307923284954010325643933580070077187886908618851536812803214124452405183336496605953946495205847196911429329807793098159033234957028026002036889418922123971701790782459458367851333161945423316001406945482032982525 78743082232091144916368241300230217070691787533523183469130200445985122284365694883381192978528107441782024237767655669624947431845392097045368833739936358572789904434615856447015493990773058012587651699067713016319295976536236691210862129155020145661520214526 238042906939622942885374241934477143735776517015929009527600893862622970437381899119626447103995718274101128933750590555967931295885782251144829007947024500483961803233243711907964305250417593800049043044206643283225206603289221082462253019665891984050514765527 719600971553113034239694547457097572442634758335509534548954426274365991092315396189215581475297401219409159880188566853098458974919088874150460104483533834796344301728081565882696692883446289303596532420992496361933670536380059134339914300829075767876843485528 2175313835612756610196858660668587499104790732176750619735940627035894133684418052342542704230296732940508378146420887561660924740625391032565731214509497118189331436007833567228572603152444710112784163972445768161027023170204347019868842274590380093715658795529 6575757854218714638457679615456188165232802518641169812331545712261176159839920219295014586833568749957567311038035660110058978605249273655694882144624128693152482814191619027652784357621130574081393350634263543448600772331304743663114973593418248222224434220530 19877576599324000249966357237578991653760871613492450461276501038778069648887530262897501236771187821300303471652119223989835426755296375793500529454320937592443790906899236946447559572466160421080326185631573772005851398500021936758205213567481879875041434765531 60086210632937567295525680623099993782280961721393528960892845345355761866409074368834652027502259764006620760317242521186004426883880679679973083331502453939136174034163092670820569810306454504786537329190498740141798974639692916268143785324932349399187331524532 181626818858196479510004571598858235474712660383643058130364900635961534446280181156648198633417646687025705637922898171251053229650895489051607441645319561907104222460003428130203354284284975381641278871727636609195229158635732097941466888088457746855608005916533 549008338821366631246150182332912393594017814341466516621330267831429183667165093041686600414648795667600428405539669472190683625990206819178722494064261403037383217890464907757205593632043221039961138407722174295976488138603462932413979457176474552995360563337534 1659478891824887038492616524669805136780405453935737164607763890855302957814361027927517720345980008076546474518824067081347642945100833088595042094534506584984453242735072566169700839730883006508313535565118632701826851670372282096275903879064617788732668319047535 5016009782459375538990889948152882696456999126801982901323844817264519506450200691962044128291056552714391419205955010310035705656701008694206146104611848205934139801625634435856341028771461464955317516934566131223587422337530098724004718250477168812768071683034536 15161385500654044708249300125772837528838952162932547187617271057833434666389024690393749201331724608487002312289186048112254816532966325714125921841623382995337654202653753803294590115213174484469462551186400453360566461583263743910619219034536957341318708412809537 45826142641074631373806155267373538996941795259390105033249195227436396510439006958934490067183107463246428041656036025121251400347762879226155041957387969655080729244111346082138535536208241674862586056969420919180058026740391165805029519187096668054211434450746538 138510160965799683195500405507952666649293118504460523843460513154596688139431970376817004687114420493977477626844041344222018772908529077736089629631054444867420365501432229903049119603811402135466465549301570545589256062061482491767171773753119572674173772795782539 418643070784270952579658529007182778973706167165167201279672786950410214713564045296222182705997518122246533501360080017929472470925778897876495622143299389543102003594216515100227114308149069375735721716428342435545054839264480789723249518422350169093851066090622540 1265319337304983421161323068046008511402771723936589466297627843923015546152958992979422933524482218324621765741493924091573751374742027061432324151412551612880740074414669354985172418385564570430961985075634821903094861115591940555921463997707695243029924663088979541 3824286056779987205748774944467413784463601105927751745153278184991203702924988001169151403562800734488595635263470442217069920199780007163284263293448383606094774105507023050514886786911594410630892566833075394558542659205073504003039618647956769291212535296648863542 11558317076636721107877582374060731046898369822943651922502365911062800018337533567779390554902096074627543232835405079549915233676430077515847968948355170563671915033962566873343875707928338414253144573501082617073584238156116009305276165857791129533776433494340977543 34932757558757079036076113271789495691927043368227468449793395857598722732001541972507972197529383303614099064294365537821862769438429936878752411728671946722175713466957497650663832529909810895121957391287658615913843812717183329238622761495852001155986023906688529544 105575996406707387290849700407690331135712715485793220973494326256082225102839539653461014303850399631887509045891505493713941468302787323145617214667915772190026414170081194198388466031953769848151518720607784573884325734538574477420624264335330073994621953513906519545 319074122473604548256790205676575222987931762357063956719893963796159613644137275397126621007192318887482249560916549936557689770870646132173420915440812111507635385047356498021796252896571393318857923244503526712183063719333876097602633954585630219838595531796103323546 964299797124479549722462081850647855055949041504250590086925380419077575430987884056011137424693976674738406713675710067045883133777276203518564134465300928493500655364931375722064461156920939142944000933018976292828863024522383273742041955950051150274969709728989672547 2914249202379884690858658468766349052733661494435355104358641647834776879254535339637908197604517959028083967153138031531035344230861952806943557291981850407513568401268925449137899607703019369586978364443330411748438519620235542070829270708203291114668635395823035208548 8807150904429817270164012057542502385885706284288062110962303764450955541172546026419534718727465876178795193551196150538543277868958498261868098556431337971878021632564100666731663455323489476044625222930948813405502045482148295650517188272857459887976483765277349496549 26615728100887168367922124673896827063228127079723481820628726817568696525161150123959035069095503493452094298158394249053980052971631932247263150784509411076778433021940039514902306471602604225399565931063382075806333387449727569943842385148120705984987756084771990021550 80433218682864525324711448326436833345205000551017567997386262511074574636587916062679872951927145419661650108379587758150284673842711545708701668517590825767805649884651825836778162860054108549051532272406220695143174281494579056451365633314740055953049870372738923092551 243067419096568620486765365821649771098146979687141002189903540555445143132545900189417198481098516378098393184663589379025585552821381044724098448816895352595017073827244528627626316335328350010870015108919897705103005333414010678834858600528532528647052715489370976515552 734534632114493472878652924503084226005917655252000140072962618899727278972757537501109011132094785325405199148535490390364338059988560999870081784084694730968122894033702387242168740223579090617857650777046784107011458530408335744266949299220592815088808297447770062485553 2219688596316790494684396428790342113623721965506044218906616965142241558355632266609190734369979862224217171149589000157743328152082220831724188748985865829348926117736881666556626704033297397925496842494141376790530976872912781008222751896914784127348661570389611721670554 6707583572476421549510771721973001031879334682649412311777919025812347441369752149917390579817480130109246424293566760039519456109844088087122821738738709309453312257423473014239423865193516180616392097810164925492697432845468677035776949721278008865703878953144564382970555 20269097995374204755067095639852959481788098622842405931227093492545675359193687405750369352103003593166486467592559918519420611008292498910542054054152245222384372676068749363028949934457497985789897575564534738488842054621074448810840383519717805575420160588334706680765556 61248726247364883697253564864528452880539354277736126815776970354062703217890180636251116100274956411292558926572799027830917091340847569303180617060187819047676915618247672757610166317371568323666387410734937095433615301412196954805190722907811069042869971805016442492942557 185077672790950409433005337308031629356412396621854817986804323461189472767102937139976198650830846547166645452035197062358640776008213307242219690681871887991893288498617967680604633002492347760644083697655570788375489715136856015606989358351863882542585349584723597967803558 559249170404481255266820829370200456879864583643977216737703480115095133804392419459132419431353245172360695389422810653166887408155017064017629481246668941834455126729096969248264632454185737989215667014073162364150892068704677038118045601819104064608788642235213620622421559 1689861211655418089019238390551833149488977099314111662128006544607706234636377094177956083263691935773523112061180117388811136319948553366724750454164122398250682097733769542457752698065535966415066834984762588082289879644425323757779076421381191704251105030869580507079301560 5106121174677722766279752758478241786834260532522099562862463018571393433306674571056634867807588065391348214282160462812677974069466169362157489210149969841200709689909065806669641936316943812032553301386390739124324555231652678156698919475485377901386588017447386913841172561 15428567578162903322571914809790370866693449091073969902174348689208526920782757696717889528627244514132131294953290607059890281360976914619468672433546671462620849422746817545332731030597959719810592709225065542677815202913403753134410716010572669194014172239842897587092292562 46618095572797426017753200403729253444605161257230684641578866865238690857589553327784933710376395901767283607551863719356903668816021808446258125144809781098008778417384010644156169343799580266501306157317388345290418288156658018896253563816505928641877651489507354827785148563 140856826408129857107404831327396991590688713046041100906275931065936259472931876183952326587266314498888244018516921560637526139110775571756973474899909123532693190701988247215138533178577226396632978819421356183081801494322805411933841413252023289767393764177973835554920716564 425594239361952287396076493939129729511043356591705580376923162022122258049699353979777244375479079049413674682066333659958464488297137639888243647774501806165865472443037834608889056419708292278914313463332147751744477144742787729438744448985093625075363269582464773259858836565 1285902594643612982632431120973227682736938141702081860710274982395412251107305905238898388363054645985014174217957565272588789132497780154805193307204387600058293534595750028854000506182404340242719675678496417849913670230132358662090852561249491865053521857566945277343769652566 3885213721784178263033815953742639790087540374661370327814467192798972844254694312620201012968587566746165820498107082240709443100862276938315156249039994620496983139286624418730001529374644129610356239349467786551878201497624238097678102734346541288192759534524872745807485199567 11738599465461805499344162792624559365780504548354104655923425788919316529438560396493062847011853537962614881149085099011965541610790295802952198062046104743067397456421153492888865830744031551740898388639495198514393569649405616174123520361068375635856415817834935804948594071568 35465999450711423009563802682512212222367030615897570194894755358706496299422719776971047784666363886455431461517928514066347044902227874175526978514281392838290662652526433554891582199104081118137243621804229720555920891605042545492334117467455252143147004096158482778361560417569 107152594085128129092724680445036896501619539307605424844150111934815371798255876772976357136651567486737686543309486148881303837789709747509038956362296974107176044609760714144566056856867649335648693495663842985509378012934383860849179674050609485198444140035202224564411522962570 323733589563387108604037220388810588191618678934659221608786267385362548070128817082248923242945532212143771556512022754230771063906255821235273448691045902302565501148427502734113732840129340559207645658580849515512404014298938762529196961171221009349263236265128700825044531079571 978064378362883313980395135803650363617787881587044644789795966835635966784311443835063001317026254563190546575327842596704273002260949565922822610002983203069588351526167896952887779428659315117040766919034015320717687039666901586362706754943893082991033151250990454475688117766572 2954892910292097207845532394412086548284427938551335937433722206683323476369533515501698273820222176484559799441863482130783808911592604244137204816464039200808121421806570736296819693406161211279525279951155675916030684125131221194778336280809327779830052536319129891564115953674573 8927106045882462691307981670442148797281828067876923360275118497655956136355844212325553235696305026139972915215207280521875028331501600146020146945514597303849887957429710182192504566698895490414903838725674542028008193589304886567323283552585926884134454493527512137190181296663574 26969587509441042823125519317205718422719617660246803613906728818050243582417743762719905118035058593909689703435749235882430885240511864061526595077925470589310997185978333573266986555633394284750825481141361226267392064639745342722721835548146236052420258830182413644692305182713575 81476543317995571476179200463558328287584529142008764602012959692425472717409394314743292303958545436337694156695368744192185937516072684059559292498574842727707959919745070900290790962808254312878809611448112336197279184753756489744860764200372566532073686098209518907610063505476576 246141921582385920834341717687632427839025066147049245076133722363281857158548520477989805997072663533594610193169021162401962770954860560425113449317060601935720194153345441861649062015489034482865055306038518003398085102802505771010259244796727768709594610385336131166854880419055577 743589581283851173429619734552847614171040759269407509600627748677886449597852873052388784550597137388201899324818301693410125294073424909815727343391399860393224642477239376812813949585253586689494432812647830611664145205669108343191832124141163608968845256548707752895673484902320578 2246341300527655115543929774015670541239217372243183942615508958047855923654246637440986014061228001429280083300629110351296556516651131795621333388150982824329270255022864504821956277019326280208577422685328786716912103579429714733097838406436918337042008968736148551941380108841040579 6785985740618386707932359282479394979980492898030803060096328455148052563791748552826950781153605147174863526904687939632662419860406032288514620374658195500674136972490674305507442829880682525926260019052892188444469664820089068549114375952546370028625162982209898238791555938554640580 20499577793833282976832187954202972313436723763268704200673604394073334440532638671757240881502281983726500776058161654159886301387000483626347644505706583625514740732550089162898135992178687908754632440164997793613989230943469062990216865772243053671402707280153004747826584153212305581 61925807918871375659180567778321478863506769701540877272868179940429864455775679320933331829538143492507137761009029996941323202106563960954591842777655304702075779296245061012921452476373119724362952162998430834875592468475062798917488851423481575625350604149068696373667943350147261582 187065308843315091462654644085986720379709358041223135332078401449166817584778178607256147970337927395909776633342702399772489326294178481705118859551911951639026140924358997132620609473688644158690858960322816196166651078946333550282812942861574326369126695029162457156504723153044499583 565079635364062542722828734557323207236976711314836668321468665969282462807997750602541927951920451960654792390685741159174336269393833268264943821414599078826539173103686520750096166334014485641996954575646430931672963293841346676113825948505724522215389635849338495147503886894836843584 1706950401125639701592793534958131760721022915526164650939980478031563087135039837312341678735593904109128207066164699978231285207547175105691514237744617942776540610981602288068943341827618886680229142578248027114846308809893808871369743668284131587831980091710696076015516922589066733585 5156167418572621995156162540080425594453848531037655980080768616398790566656189301674521760594414689653780377206759576485967606351073535836502643007807880406456033017999598635684118508417221188730623203098431971560708160405058539896666025301478579427085634281646107214360639947298188801586 15574997968321775561960525400759289015949232653994984931225041173459341556766974568741455576322199277697735907053120579574652580285945017888230875178490241158916244314267290199011407886871296361828302446536571618053429985388774074916412941543988712804920942212559736087273638829900762146587 47046127883693610718086947860025481254362115130108562730401413029109145114770345862280891586210354519231305368727467317684259855915277218981975736363893202675901645196704288951653015575807111690883429039538303959687164801225884576809371050230811266513833361528659821377022434816091992874588 142106743058635417623586818493147294149110951533655538538999808480722477782350907484522555889050487664436241431096174865252112532190056917027888973819581354909541676143046745872831836070319594661484937459051377826773751655160862332352148232343839863346244510552264057366957989212929673158589 429240230745604240904121828462177785751766641276315702025335037945195977411073631511468816075830582602851934733653514490247819360930240413762322174345447791199369035473175444725471504842540693463800393283846970011008386848807810195666420345641324518737628966805126365060468994814397163443590 1296525620046978963551424394688321619527131034419230505091909422306258618949345481847462218813662631554255331067291897614133156941476469762594911593279326918032965958429232497145142135139776761282966316124030078648635588994604103616640645651479073315152592487322136749668966927836539771526591 3916126872838144651000036140952780318366931622733853232103548937682726545290685158481242538054919552646812177455813410882279330693538142456984630580382949906004009806177033310489593138562124347219881193753469691481373707372780312971804613660115953885705262332750051539043412454396197381677592 11828437726647411356427707117392298985459232993368180205314467234261455135946141032346240238452082396665754668874203028099286632571794082753379471923371329102802571356647155126913200399779636231040629227470020039176278676613184829470203713832002702281695792361100240849614940854590217985883593 35726709868241160831659197007633882649958499653438585109929411238177456328980181077290684801855269279725136550885347921606008604502561719336737996829774626677852664505791407322105176717701758412122716850317611546899780492627578668603880605043599998728387291213119094811081862173048005345116594 107908008243804796467778797073990963046309288426939291868530428850114931764440988347198859528863368503618027035696152720776042966740334972326072829134412666994736655612568613966086773142260489329654182133641818237580151946323365791929208143247138196498813227619930169217172551453060104429476595 325918763882135842890816637942121857878852799960687827304612244425262387125820069889336216407516140124486990131543295166818489096154706645228918273758514190821391051358639440826384118202556257602447038240931728981979374183641081086809873475363881825341833858634380022694976471954826457327567596 984373931522186936649928424241434037755925969424412473331189266157518377359710363371345425190213722711014005727250053930238583818335281491935057730387390576338719165271017600465474874774218138443939024128702430173998617458205295668283748620868176532441939921819975558111295574121699200942348597 2973075320205524058665662200242709559979046677923732267425956770083856180268854948831023007162334689539346355135680906127139506532404532614155208145156510727185185587000978833838292358270780458678653674226553961403901229755525453808938078604919425067578021250361682935646953524543240154197497598 8979389373504373674654639124173175079127272512919737758785646838482607788973894120331133568006309323718329379507596126262574799661950283156748697787479444708918494749272770811811773378858293088521869697368900750209759026125035561166624112616206897632432101280603329068707746648325367818158039599 27119569926038461906280172708361407562212671528919207978554630350568684130335296383626352897311984725169499843159305472247574394938617521857251117560165191595622524545783418916482022629077067004727667065790922467805231806175612452412329390628746084768658568514145407995390063109588737147770239600 81905659087548094194261294717521763679489362583979523928508690319280546860861390926683287657932162270806035660768524258199817122192765860130218921438011511424090212787853451752803688511683175474782550785254264999405044631424496768041942594417559917742590646325690858745181009623637649837169578601 247366084492594915351795856529428145340739685656313998441804769420645946895218965885956237893083711556125611056012321585167232919374125080930191373470504564703628159426403042206454092820519657474175488948754491608941409960678010373281035042941013157161759082160776991432769438086615896391003370602 747070436080650975509695023990886006782836940097712125947360132772905598412193962298792457154488998217243679621424147098922145650974116450447462389224991172798394592036523760633562360729308111266228486724630399281275313499334091629858804325666074911830237228033301366085901669799277154427100630603 2256202688230193414331955206233344696069905541499110534215606019712153027980639290822105648195664098294886430428581955954269891380701094163057051964783167321193813767923013230274604721533662958105031182315522577093617418360865166360409700020322627576530783334160773021991870260296813613537364110604 6813807450765308658641914804801536820017460975913006605001721685574765989343867240562920062747840323565024294900341833591442793835873588215309193663260016167011033566231604229660701070541563090504175974639032290421292003029724684383941815253361658240307490904001399660740055594118423751066931010605 20577698501311232149098582710500641196452732147257279947105199490435793287818479066500018589498477777166373370599032337446157237384338236410233764863045248824373321370019444773575317233035520533322611443409877517072301849149768546839504281705750147902842380447448261073513959947942514220651910370606 62143964691979844177394222328716578654844773456359339607314371173279475569701396848082418868452141706417583473606062716247546399089141263035897309860943638296568349894484679307885525420897620246223859849898382185501211075219350935962895627201749180220628036426127906756097282409386549262434557313607 187670644202689961319771920587386611286557804225350962468600542845551638846706211743876806483132879771207918197700701026807374341435313648171530414164776635254420697854108217577634360822577863135606274430424017962194687267024551497642100083476378753556647458841695240004293786412399911227750872417608 566746671796183117020405750231560562442490483406905642877813579638058929253485923027528465349560487667279633562210574742647145399259877534527955031830942376116583898494744716764298791140819716036383127260036710960458582940715934124720172888906278126412363221477159257127394668419536050324600893319609 1711499883040129148088112729176103420356130201546681941405847631224866700262182654970549537744368095207149092081907431010907935775248371892349321155727878963636836143798699277116028137484859539818481496891236690052775588218320966628294032035372601494331375026447580273179417011915949926808066273864610 5168446754238538766209887530916927188414297319381467614790882020244349522940508612613543810675967785030514696253958473482526939936163265202185470663660884076966115098711113354199972573859236990493166437719486665663505784586565960379988754591691616845081791147007842778490592150988289030548920877233611 15607685742997567561326888088412502895706541410013342797140782338361649549473813137100305566892774004300069132252052815962086303767621741452144243093233362806679852525810787851791996386406606753469463004994489435914547171276263543721748219314799960620141457538049544121187013151705823704523243762648612 47131611148129392652244128280164938727891417470435679319866645842202477140338549390947051242363187396840241712385523577691110699845223479541648101466057255394800938516987107302034150537534283655864127987075616369079678690196690404681984326201035136436110859418854718903024374146749217216459811889512613 142325062611785468601184571582866492605935267229802478998807831852440375048785487963451950791083572468089940434111548172106709284401036691510634727453422896225089676179586067444958388794264711829221281224129657325049819202633426945717307932409704787001150555745094184055843340351038754620756931955829614 429779622566623114544463755567966305258316841437777929193444339534709112832046818332985447462730196664724795498080684874391196016442539368945906837088414952640295426098947090363347252861498858873461307341829950444608567345883205506033053017572162731190666456511047954809024471109294367401596055610459615 1297793548799540618017872520911793334894786265456372041925122087578580632519065966179277367584178725010529628372892822194473086987355995930489115399863705479940039630941410722048009245526034259090025783809263555276998329591994859905103087964534345300891641913810355182467904146638844368056890776917438616 3918869226735110376829745991951323572636465891599028506304173897843668194758881681834315455307380929041615653597360486004587308497007876418580062050324937169377042748096403898819275054002509342096722702337301570353620160551932105605425854819266505648692463432127475420404393697030468231790534675838021617 11833448253278568588858448681578506474235602888357850783742015299371076509664074098087932943477189472008015895176343428327577362912533587616888814818628241648707148690330317655258203104242871346723437179606753761459951073039167534573246698866020428821541948402894729700828953516523374660700830197628534618 35731994644076069262605201483852880071468353909217588581902887959438601336685483124895210242049392679750142613330198508702032134993637309427179765463753467033861227122025151680070039063545766497202417976267701814783636926909460206354126655140299859296368917608088327367429678562944154154905769487455818619 107894329104425134222915380376324494548049394377344314708221423903581705013379292693087491512637742717030560920381413738002553059085022103710083526335177406971952304697450539437866209159305946393832708351792050756691959059430194173583958987996931496963302888021817196969404925172147331927028170406747698620 325788242515312966263339611965584693293866220095493320997019811689351587333081864278151986567428110935814230291298024896700391919871359425348983916104755194710431593208399433717264309607855516184304616925655021553133281257498976553407173724732188328438451133708072768458489666091610808386881722344400191621 983711251750782657873070906259720015465245404833794767945546833997068104609630304476238141258792672630867643412036244006270663913897286576540763123303319256755523966505881407003427947841901396270789914743049253390954388212578078554119063519483584967641187417604046654725646710070479166462342522300482219622 2970265902774243260320147647263952007798625914433321965449844006055977113270245149496323593460503645237125477595824185710992296388315469841321623498726229781743178524473998478520885359529112319696080407076662494436544611410102042700686896818148976976848512413284179769455234717765482475071870533299511141623 8968472774396016057859863284457175479857986984356923604416519280421445458515012053333559588021520715230543917789333220933190331813263214763602183573823858855554645836033141037087333464209261470150301034959631415240440525713997429902074028256741085823299877286712426294180368905097718929585939183069397717624 27079282092643221344329700288611407062769915466499337991364256114875091376356312645687274426514090818684792540142590936872589224812583115336304492890915657836884706086503942808265308957362051191778534142713329749732444818351310495132433536044990451379236624634677745951248965240109267656536543349203076467625 81761961415206629607395482161742829066944002827881872128764334592009953316998414956010609236184480665448276830882145538428204885240573535338003243051280824952658338377315130543665578013196386824208735347031214986288930161215569753045025128187455011181870175767047843597999766669373435467895493805696203959626 246865825529005524176918726333764580516135274238773768504723232463798168227652219070080341896692272540604700576334980490423323928866465988339381772497828577755610925052279983525560320088153341860533621216881687760534209423960053602189085531966953624074387181101550278657949893493282243713166243716437583500627 745360161323910569781757826454678267217527403569802471466029309593268424327220044073329392414771845387870784055236484503239553598731869977654917956191193037017744883035662072445341287983202533784697975313993263045471455463339197210468010657610834254038101488920757915304871221833414877320460137780498041500628 2250437341011678622406880371687399391069292208852003930702409520617877859004014290372283446440105684068354646561636962039476083979477764731892296429527502572440414325826774250834168479448481486435019087585266978793791023638107592219727653365916499569575712521123508248296087910543584886420201475385420250500629 6794589664208337379190004199133109699959209169033934944620736437250131228146735453624009636367242161514070759811096212311495099707269405055905587296842651997560481714515453026557008678334838334044192245209363762896638282907363307278793107277863277546603593573392130672740111576064285137845608300682903448625630 20514225114177812215250460678022684806116844323147256384798927451345596204020623681581609894119977534043282438021661684210866005036187787744790149166627334911034606392465055777780920601628543898146225226736111072937530303753911297336132149493324807481370869140944164101056405156286484757233745083082258321000631 61935919274434608764893563388918329526455009218447786848674078087928397484982394182410930830490028018117897456646869941147822283575710732967497415215536202846414386712075008658156453573606945634978219933755990300082958904304939859369472464125213875886347486844608042415796846334116162157614601435922114623079632 186993134268747550864343724872762994886091439315026571777575805136281429727387036981345920354254582198241116244708970970642468234144849150729621382779920306201375492896264739058835991411224797586943812335885310427523191715868024168718359449105310792747776383727022367293625885343671283834712026344817484818961633 564552520021569038915279780826048787108327020607150286767967717417817819686506086172980676738322751350103752229248740382704012375698461767170958824443835828913706902119933033846422037763825185071409981192418070972267470530709830929761161648891193094028318508831901924185851399063058525717538219665245145249602634 1704428037394212408426258034640169549632294136936372646378967719199421366589308517714610977942885381262077941944901999978942638317092812235067807325308178440551875051074328825555414069496826751113843488528460916973507037421014259039135844151421900930937642048126839036611974255676865087977114593234182083988862635 5145749408133003175915464733151749973651783251512667894306026352249681649607721905862206476265663484381701977109846990412617298538270680747776142115454214910999470392291068930486345333623753143838937008224020101720016484404395429670533929485721358048378305700712551878150290181329558946052344434983416743205489636 15535107167184423217304216032732303803180106329844108302144184153780734615693677069203650296808381834781524986361740914003226551054525589262303566925420411102145786208105366580945305642715134293206299525620853080470097310285853080067142845753247523110395863983594841017650321838192191889714887119994325677905274637 46900291890803606801608297769704486798208295691997719367865669881983610200543569379811020199858216045511312775281964658098348511727903203026068363439402127188123671020672530753866523997310880113034208061526246325216686183584505817671057831799361193187714095697308475730501288081124528679708868077451223723802631638 141589980731952121007698984262093640239140684150722972688769818553666159704958548317249383257391865502325621980353608944116815175216466067903343827065872772601112694029234133128971449224109149914705168413233264972336630800679290075149117719697597535832103691749694308248006258330219548668125824480267438445792777639 427449878739678800644693778986825279838667617451867144678715193551604147752824387191191355764429070301973565410720516591545085560511539517298107389596341461764242423299612193704812860906853174979094151960454998670429513174290475084913897973976658806912691586764850009442719208902271634307244208289009270008276617640 1290427429203093324150988935933455214883032791583038293463144922895157718491597401961439100788048075226587913216301150088176266172441923235685782465915254460160712953488750512334057093477854388086493683949909027482225790165535182264220381757658669185592331738605396117712490823907383086105207511284972850391991344641 3895629974952734563474683580176468573231797106665775980266097880438211980351992156864721813699767774268944643671852528568079294105485051277541984802763032332560642878456605320253757263329371737619603574188404611267096725028030738910853982664629944711224506417843256422411850713252258376904410743319118208199037408642 11760276988750562897271297526969150810556900841629964223001108672029327532522576008871051880289879795791492228855529689853087099787830068456378707654181022253554342629940427049996821377366376532876762438248511879853417585916645386068402211403584589764026257208026031554627926093538607313637648130930399237624409632643 35502027398641981410884826076712514829361427932569453124608362542834615717301694973488473231094527408611934220651646054321388329453543435496842305551649919843801981042735521157200435694055863953480633943678109530717370329898838579259784732230883886967891177715765104661776466545698052799476661912495217761229800864644 107172786935806544822530249611859845236053512491277738775226183638697924442370844450483982570862822177171238046380321187458463360744734408565584988120708443472134618828539624901783474888628734845483791670352227362682014657863630077295969872415297367701192616296887146936724262858609614789030486430678051739299351904645 323527850562466007183013191015801907806336540833044673927714041859319359410406986684898522385792144447335674852510594584640236270248166995857359682889388613731506380588653992672258864820047993314804196104875786351096331748425833295837209052353678928747972852409312527098602064329855492140652645270290913519788099168646 976640235317272580185851052442397334797599386134074015678824759746931295568077253097158566016392822941645133915145086616659683592714825486714494518550650495429742350138916498940438226874871867494767737071660915116024027976917297078697347139320388029839831563515524687624777493067188368076265968901558702669733529507647 2948175663621299471028316728400881674202099081507531841722059788768773910920457502340020717974718521590199796771886569880196988789223258244941885322353832803960811019578224571567864927855921618699158682935948369929680009687329784639432178747668087230264164439397331533671057292156091989613401008927135149180597476923648 8899547376499132617831979424301883871891561924115271080532687480560171323633916037390326926265829938423915716227421200835866804416613288107981647606047884094071437307933645246365825544274251729230275277727334037377152253193012615840027774415589047144545479279735957242388059415357658712036720619483000504758226598301649 26864472204835891007865478262178357526331050280248582267943392022063622753329709280569558299162691615366602721034327351591498552462571788947075035630678706023097630631402183787166405059113579754073998664444002125250285683551578455268655269353889918709621757328892392669568924694806348658694697025271666119953404514126650 81093220748551131460952071591412809463203961078517813450675634522415307753074331735300666679798078411036861236982690470618058421154460888496054409880513861437164475719907057106376729690068433769274535503368173857150862365697555430090033813072904917407183809234964429368711641863891726312920699985637283294261657935627651 244786037863273539239716005577794084292953133286547579301575057768900696777855954928539164126325468887804766891820814888088566441565323115429266407534058869663267380269069290026988580333797903792701771256297119228241767202957017165132455008501802769263170962542873983317538718752337638022975547702012794716012895693370652 738898194663018890471662069387066223530351575438373141230256704517253571572106151430350830817177188157469412271601316037769660371525619852292669696930474455104113127767376079478684230899393054261432085415066883852791609501352479943591475473885658127312168299607778808994054277779467398854515061301438930572446963352630653 2230377883890223687905202172409107304360135311045459667046885978450228373449135234873096026355553364253102114819833602114008419269605111776364910381475321040406859996779301869537509808085204960085433887456590779037130228680008411681581675967469671754664508015482739738259830505149133074320110277632121216357571389379235654 6732373304377424044077490070492205253068574844896849749992064147587052979332597727452072597273542435395727338878357513931190282510256415978272510689229821137376022702142761729466843935345017745465893660288846434720705882872321230330074735316291351259457274579862383894069349706605780728186588650048267277110142298603885655 20321409881828470729969285412778010317723913608750183399206815165485842993000856525016871439770292704994487752122057603589223591207881674075954870726567552417741163910160151558790688924841422794775512863825718007572346064916145006011702508754713278724700265710608432683399879713355570062845292450078758207272869372642120656 61338817846072112111197612651472796120318725408900323163504442089369710416661571538645395359675307473600873168847685393322310839821025329584103411640100215823135771249561747792663139381433787698515948966847213340828970841106336308468502964213535472648288820526954613017422630283276532233958645445328101811322332288967307657 185145388835996804654657824690335065590164496326251282186774144220674217944769896914193463294234670411114292018853136279230533332465916945738520727159075498067379137759413373705461745862978058574661637372324104071704623643093972170346646984006499708852503679136574660150748061959337753736856770301235742890617101142158988658 558838531999616695213369942518607066275978900856112216217659782938665977900676059445444588289336195069381729814945683930112375495084720214472625349510777651900159694523436078979272742872786758729951129036524975689632179480150412171138194801649021326413912330135051539291155329436224674755504891674939738495262337444403316659 1686769514017191676377969826501116741328413379648265313170734574191019327791948839977534583001757873191069624854285596449605243466815348170288933394394916031882133389891839174166795710138961868093155242688226761485220064669444822057839138438004844187065845473526898682814588104445118513711569810651882329953589991001914596660 5091211189636622815571368468691156942910340842083390113188614126985717879457531078832955527625153153127854424941866601802854299746402966920093467665219464114551111010406360377599626135793477272091859411900189782376000103590064752989844239224329125126456758016978590554309892082153175533277797613951553483841782843065510237661 15366765480915416425047728000012943211833040956288281134319292639377624087387060268428737720575919578038341099672097365197639502283350418447843088379778260589651219208238709676291554495230312498082136639576792330951951532177329589816907917170993395960951800112414131022924950082215226720311374885971809963950218479280754537662 46380967958379407566011635653007102570875068822404355387146358148989084574259574600143359056167501557458189346498887481258628817394039390840293522461339864154152766651350626009263550325786468316129188670138172286571871976115136341867470928082313400594470958330163199114855671252713538183222916893275645598954769017372505703663 139988757394136023443919617639623260950999827783123175986128673683726933076716588382803512288067869442419398240344666470789721628183225273873591087550487796671956526701492922879023420892115389172997824770356246445488963137636262575910026235822909443131640308881009290945445840589497092449666737006148073190766217733285404751664 422515384608401442534076053847057156345278691139047036474066664578046843535036865392103468802681323704054906069871838559029979238932374916137439564700941164765586542654430081345034270340542502374950946082304361426521316662759523920311141400685533964171217867017188891791338053008360723645504005925991680692616095707897830121665 1275228251727175262921029544338390690060295685983305600994455751271923200487565811910712287659001813361329352865431367287254119157504986110523908504370113333656133928738825336423194343209637370804397400902954981760046155745783290377666354045705429782771312107724415472416424576759673727771529935083336358335373711146960625597666 3848835646287011572658780546074265395870332667982896632350891412689087420533576088898443288774143143200986473474335215942620223478400071543865654260542172618220858075391764820218264318764336694031426346144319498655509955692643970201882566295283407589453506285795143592202927328146852450823313482121047033282180509299533060134667 11616274352388895954942966058997556285421336360468017328454805200230810674057530250179893793007157099872463706951241331500536565724838886623328666484234533068285913043251882342592284152403541865067658367970317761803185636667526665352509618516580435594755446463774466612116992147488536550974290539694640441839571990302820323486668 35059072366712188244103883988015249060525028744036957276377172255900229500436075460950177194279519391922775079350579041225601309223835010759096020565540423332790515836420839468366758052729241737557140866227158131777035383064435682308253011540991631410415759236821580227520514761877166875564940226137217985099522703764620614322669 105810814793510881387325577578286986622427948197364551779909417471120572166978757867084570929723127803333194667196627106349555758561092411989801845200817783673060532735221931166576781833839458497085105867348230265182498354911339017086956378205041008051917442034021757192697457203014822919626717188522567533342535389072740528767670 319341812467032088638138998796424033310094574484376925447034888518103741863347920359757494520232056392916874732426512184125651740499417249418845568899310213280951111578331452407999400211301944667142567632733681416874096538807605123749656317379725267910072640845535767877847261162678540175339569031840657120748898891669451633914671 963779343932033781025014095466685145575510652723119549772582771653736518236230210094763609588087737762406784102368302537676516514119862869867687077308729022064131733141811140150268460097172535707141983396088137609484885950455384832938151948848720403152021033182474542297963447309638977388016326872819964346070405150255527071921672 2908677390307622190709675223649830881624442194800059450812907225395759537045774232265006216043209319513830369412394892066481001113828011929600680789538937813216037749347025225071200015255784579278076180774101080971353936159320374315898800409344039237698678170609177291822789234534187798323953322331314225230344416143125001492919673 8778283860569111282141774327661765055920472252570239300656917614368040758509402473422533729854955072065691653795491171266505536295624658757597264179207333280604089974077249781053202441250990586563774821018843980895583136672439932067143685067720932789222358071778594940590932779672039822486661523682529158779003507402005992529528674 26492309588174941223683471401418690056656851237577448651758320872061396549223443339073386547947913737669105304952311920459005497430293252663062595482540517030702029383650175348200920372026532128957042397065838561178150004397094503503083856729041200749536533552946163206357389061521447536024767737391668716853225831755829744270728675 79951417891477210678041759960699389991880825675196419662470634034788274361984779748666250149180121757562583472557574183832998680304556652066735176217458097665790303602597991871734717898862161141419611532637500851794357177449141919527217251203166131217258016185159911718684582121530046603961334365765157865724544819033542029357731676 241284085290970717769053001371708293194573281657634500471688575142244792225065840523173109615633005304119570092293722387871568297491396751766227618241956255995864925179226428524981823763332155456594207680463396758395787308993312052224463388504338920588595354359089157542964716021648782188825350310601368295463166646831044507871320677 728160900253108058981606379139619670533622939288218403209203021411417319393502268721718848661463891007075131171386412206255268612072250911580222633623046558273235220630165471798605861000055969145793233892827036645873000986069102443320255583164879956776296694405108350442161375136761503391276503615921986463094199344900830746968805678 2197466253215546014549245997076623403943221678594905760650655774868630870264789164597044549229469781033238620221524224652161144949656376822317135466401794293986538979346011995873653051546974254584110041658739541497426545323486399795517740103132052291549269816250780177931693540717329291809335184017737822446574025066112313888697835679 6631522787893799100286596970406308610712927142822015307364145172229666454181871158442713075864601683414847705534985568163940309833236009579514916229467729367905964813041229079535623600662530613982314280020587874489266458735862518077274604406187825461440971522632176382660333326141020444421643567198929867739364342706932413129987235680 20012462102132842618198219301803926874107011244338437305334464764195304543953291184811565237831397969060807075814467559036957646118965557797736124976927058848036222702466642422243059665999370163973295093928796296792053002140669554553197583963562371059192976283854434500737934725473823195275863464320712692054698643751912025615484070681 60392637112945264705805277182958595892275596062796467607814065264731392410746618368366261960319603338585867506895730503602653251601612038324529134545756213091706944250047264114461304317512892210806985194696367522863591899951132975278880282966963368285138567483821074544416747600509506106476553606451477288611820597921988832157351206682 182248386442758014466706323906623945949658851929532028541749092076582325989889721309560226270211151581581871959509567826972260846413727318016267388296868453982802492027838346507894305348122361575596264036580027842260440548892414576801702242395134654957958778979979993049104010853531641027373115240739096160463736309534155367943084954683 549970794486552946311034127895210314768439544318322316218906552195704187279224734217345461576477899905481578214095244504403017244487442614544665304506479139895005750278698019107893434723094914135206425101537960125759382541347905935304251899617176259651893306479408651590659006204020261861364887584885237086001186562399530800607008578684 1659632044039686284228731852808963085361609169820681039665006664873340029064994816511547644727839789258220550457556930765127809033806730364067774976338403177680216174257808897131183575475142089930836472802726480556231185312550602741440960445236515693706523394663193412532047575422735665027889034847466643283087527638227744639828807918685 5008183756425641551819643767594106251708855906576525725577343641647196675943190240414258480855187128761571425792510032250062153143193251039804520958009416647940887631730917436637042201286752306673641826751756967796156459207873289449171839461213720887479097067424813062507707779749229055628842515788609716561155295915738188356832252846686 15112801203310856665182625466087941772777825092532687762204759447261364418595089491998973829893406093399455624087530273529923237458534700274299986150821367417795189549496380810997241884940199691944690093942526532776947905539177106928117665334499554219925909652801748668847478057564820584843880442875719507201175761847924866679425816181687 45604318000606661315169858078019038370053906217642626707650139211823882659045006121017431293138753284774310372979673464698800619779566588217755676683856853586250000136163565555765870673323945697979724652981993554919294412902678132049950374279179006722298419450829910205994295956698534844001035119410895521730234190444324597692460893989688 137614201170205459693360289163685560879474525204335949699073114078431950454307112174841765585884290658740634961509673514998869805806276337213461858924493375170221449898437933543826441372943853709423444377446396364112248587104567540490406619896614835804768729850893770035950576818090307926041190894737709619745260126655568075906532800163689 415256887741672615215052100634279236338063479563961111372641677570005183827031987615311994399510491110585775673327435869821150992959290000012551574298471237355755954079496922272599086248181453298611095314399652186443978192666414332707893660038907925586319676041293481511991214258097069531212014629734843063090960382188731737823221782948690 1253045236440930358612427287607379827023032426655047616360949412463066737183175355329707872151515598723475617980682934223241341755396864861351743217627649704546492784061781223850309943467140239369677567904911067254568909378454713030229512693869230192973609883762560038372633644965941117681830398581035253422683486933244545467073285728661691 3781054867977734464034583797882326883291074523580099950243681171718000212783050999318506261448450859121857914314888737379168480224010947905245056064853112082232128371731613897041022715709883812675266130558550888071366825675512034945444739469838639212034070640508016442319894636279239323343835063897555224757116599514092282776078059225132692 11409209230448098317239726656492086796306255440147812513617396024703660030712175722834444657907770932983422789482917543794783492728347445425870453016652840387870745436098450667490596928190086089775584699633007264879102517649689153481669497701565500853779662937078774504991472461436481975679432441717077119245273232594924748464060868666228693 34426625526759087364229175201856936321412480078120434270740863586169764860114065117157423124733332059409281556637408169938910655383792582418760262300248977682005330705436604048997789568201480701125165459939132386466594224768538782889456216901816831064602587583394674233084733764450779914986194402623040842373818649516081072400276690917281694 103879469477695417460424463344935516128035625663878639838708643535046358699821685600247144668099560742397527367560481255882431426041951783524822329930649672860506650996520609314755304081699388066239795342835204980354208117988087270866733635615206374141231900705192347939888478223937839540284902994271846025101841759570293976081531553580591695 313445007902263563989280772006022818229811844394485982817668689623139882337722825245963123476787370240103843448204234746010466998578758859853159552051612491153007025180805664628000787098692936165088773773598401114634001886451011156441361491812840102843543213432189084653402486357725394000957516094642034079222619382768841972948117170122722696 945778352353429133021201750553628908841038633230829629775454729181254203580538481386155010780176073734611452372656771990494679727983664577125669560097846662885701371204022880968714386542365805939522566306733236358917357356368101680434498857351333740128491461658631319106142509943093276514168827683139863335192311128676899770025894058488513697 2853735837736936459173799501670487227832498072523081310651950107702975111381740388922386795533248037511370971898999046121608224381546086180691326649543791664892116276118496785350687339740548847979368668278119938608987633179330341486628950309464717990445506028819685251869401099365865262083214613009242824629886626642597350751176397101335282698 8610622852392401350840425336209219038091996348695184733871901407224994167242740480861054530245341481149028430361914870765198841532197498129618418505333431993202619240063169954066792535927110593253766068354327260651360953792178562840607698552800469434374535506871517837891656130987047998580089113711871206783683890778746118933203241470262734699 25980755407650847879913329472654329489574409732230139528426169375690400268308787560407850412584647062717673678930619221011997657303201096661989867939723640625023464969297230380138131945578342337569720673103690610668515615620780850991689511195337439474899535088456712323552057547963801886205629112554262690208982805894372295455515255963588134700 78390854805530687775796045905260617179334585911491514519582269324924848003803636711043542899553963871250304611104328786276487895488939136259270148301583416389459289267073801593021097395507602707746337052515739871326442080513348841049745187016723180689013417382005360780559229334914061219847352532596500513465896717098785613442768954332280043701 236524130878756385530419104024493241489371595422603707602187881583824972425269593524700344955550753059806953567987198924110092788113178428368487516427191342554403027960998539289287793865755697825096706623969904784174609725686828399719058753929768217596161173135361002355135607012255425383039214675752928572052628756960736123165162765002177015702 713644544100465823200102404251806724321590337408515921215783522196246652812542259946118831336475227668255413706566828317652116403733162460342796624169847049342768389959799036047879814203277234614316175079209052741921383433456815099869699511498282010910655591253463684293902699493218306428309136962852810311372565675593153611214257237876008985703 2153202592944958486618074016266912552179468840375837435645329652930222708915779368834564840679966804397343698088867822975609394192352493039372392106735956856612994597787015429680279210189257673492478316213200952828777125373725003725394824027529200451257651397105722806766417027410770420255041608085627533690187139416617738546156483872445379545704 6496572630215904790096592418178710404215307273751990202826895905622088259089239898243343703854148770349067037581433817819113322391518466123084942708306341932184271254267261146202730835892910491267005391836396007891117249518148830982629018417824154151219437477104391129428288284419620624202979615812000670318461626651855236901064412713858806095705 19601087707165701309548575981704909105289612803091719011957720218105500575994963807271345575057088861396042261959983176048524766986981429217079141428489991658247401270017793629685953607722609939365593410797811955237199472831900472907589266997778019381964931359492105807646492651167183586873967279284391469292458155685401482545078430244751530515706 59138802426042023209265675037526223620096335347416527404123506792144270639414191800825814395500346564697046196926340110331854325502804169463797980201506893519533885429511602748624524793628131272123010076800816384203533359542752496718332809843510001416342125285771474726351400798671927804849817783326491857004544265047155330361986150118772414448707 178427326977716531562998147762792794340974413484085762167996563227580577228318031672577029757364293481521857329188017597838842537628118562570262282146426781302525312449723040771491087625219917427858312453937505842938865606141808814885226340809906243589476668597242141695743969931035816368478510064224372867714565175740562663399838555486552669232708 5383276821048887104482490347153392842065529601703355640943395598943078297315256688158405122551488854542074813587592963371496230758310661041415736848258480841289561702786096294115684165762324962510490479584657893212991948088574345609837340951035720379136273315714802027548690757094266949040439827115503482964759498403211001551508642620013914814247091624159086350544916181933167237756590418634215059364684852808558544758281746818921256882454587977603273773707963074922471741192348103955121018043333196166662911793900101941552372402438647610542666517298101962125736419729792632373590240697752840890637114409733320772657175201586373327130647996334203597925826299598665968773763551755245015561799069710490012252009589934286378985349604009619919854671101941089634582131163243301487070285587089490585583285576833593966008524452981010555618800341188392866417942129558244754160238566822693191981223298110963555017509424307058903394192712970491364580507004984730425925288431462645925420342748763592471117819490127423065224396049651641655602110991485266871114783655761762415864447411314371905672668970119680554313327502265430279153430133990202556665934097626037941296815121786927547444086168102616525938764950003069914434296407383968092526012732577983356605557679706729090283788445178901963557317373321245334525153076782781289170479053061343094995386800218476762371785093830305967539647725986168108987403712446018921355576139163597289017754947663407542648919693781153639775994136269681411613890429539426170245246517483828214590048920767125835401429276200645521309025848491573365629475832503326146942553035921563377856480192013023388495019636036180442633893897343019982711067748240902689955372300214427791598457342843247597454634070184845820770814377229577131345616406801568691035937583816277638713331230364537381238056743730965360271242224869025363695217937350065764612227494864893354178786418668718833283303437169603407313560323424520308230373799250414243966750529804296172513867172069720257871866420149713791984026388518136596387808115458580837935053337364837407222001226219065499879704340630592527912947144059624110223632482547066984179150732310035968617412494313403913738413124993211733420092035182046781370649746834350650939360909151515020497023391245396406355122268326806109739138137242270178556609404576698706983624136822513231392287209573938325388205643235306692581515063009198249599301004715203227959643461280480427196870386802098144723324989006747151224748569591411377128988377480526882902548879546267262368917068060236748413445004645892554839428761365624191228053393565086065831344390690792127330653394706010126585354744656511815489146862319472865437082905684355338179411738259475944071461393377681195466200976832338769713479246557975491278553641245445316740718197945083776549275200533050206107493716369491657070826639091656831180834059609840695728093288014251351756569314394773492962790369919912052479502656847281930970057610577810649512201000439416530470378582493050060096795758681324897282035062779541889267643066159611558166888312240968310660355297366385526765874354576007452024057613820138776948774751901996445514044268348429153835390379771408671711147023586912017145630321255286960112948564809325061554137807634453804597190638523652720710505211920308591389156763872523648139341815662250108833481273981044567348245386644493220360217498305643417343405280591950804861107382400877473240078650720483752510435338644565984741984045041399940371989579956263597852324274788822571466466654809528350221193619718336286784508383574758076031137759483912375356309371772832404266784153347665596963034740564492239983738902946396580632395489020304687875028050267893663679287894310884653950523210617038258609473197625605396333145668741321766894029276927621447092563261593968392895153736790743445734699176321741228421962454403651465849519738446344597117746079681988604171910145122322563840616651201275500475186936365791181887936708666535757231244701622666342173332160853290946735945913651010922735990704449339081516485195400072634794756940400692254841303927297546292264503557754924310510767606244954328606471941134977328648086945634400016093098898909139244058781941260797018582429485398317444210272076501283264084523857889372030605634754923362531631665945810524445065372044166898292979851353326360552197762365454640388071273494506446762707335986797680464265031083075288193799269869473080126881740270200968800798854276017362984858849470961918497519818694387138685282556847689362130827599162006591348706219599086735065874728146581330730403592659336918254745593944248960877138535672192329847864014613223916757601886498325895535775699022783291171680425892168641294286846401170717808307449615932189728675255572350296741814863997903081596254276331109028713664293425432577549212566346434769713487818078148942469804296396033813299987442768439368176242924912448610941807310972286045565895622959270352011971658141506498942569209988449421356472227853481301236207587633465368602579620489824809321755408683236310287476256732373715822700938948761418272457358622926516677517851281987802726754179130473179637336706949666339730359722547453130652860158773624863898257048279297376107824912292631502487964872294751075794502876756689976180423020183620506587511980721255494378878672044241670460419109637153967238402596169704404684514496655765067891083699239135225935265722820067224731487788505358213124479528862392498974760063904613301346222393534917291023954958900709536393767824135355983169782421097631489568788812180390476986987877175020828518109448444900965447547413764647756717417129594485626220294947356165536344044880139390619944797747556854772672907252852724253480265536701721289456790630798779635056239912160014653565407464893052052809642115743592030543784457987903703123485523035474547376517068645399596082139855896862838420174542240994370765943821456201317147894565604236227770592386928749037265558789849708702786376293754997497604368434482938411957452232587598473342768043647491797862509747121028199385694527257646654677023835258898613184029096518990863237350160442049223125190940403593090870491598359588070831149301761710891813278236815512524931570802887815144552319555362292341932024269996851439305280595406400628152729061126204412870339017262624177690160466212534055684861609091177731781106891824851662014037711492195978668722894494390515210760405744799292820472623067231515293816488355733252792350802781036811701246825876643962954639913751695760498233609020879414354689780473217328543918271483691714516638392507544245901571307886052291474046107006769055458106808490105731186834881407209421619088136210244765740657437255993224097087064232408632326646042378028203343486553165329220892955694295775202195531848449644773572769585083435332316221106353219642299236090163678511517433184668353622168604087525438178881995079605767956391055222530944000905810653020158195621078783145938467620926005293477604532439142303327960881757467382662776906332001249474080850361033120636818769942304090362996475936147072023833012576591891172966916499714801998760190446227421593326687487428429801572820991018945015184187860713191153506864994833607584179740217947673478554595506900827201679340424428793902197633670863068999443371097404836102994408413007094301228387222343717103109993052470754949195451318998836447639378989588534297418345423684109115039729483433068007650624721544133330539478498881694085870661947162262696538777762379874833403237908908077057296332097427612315230150248288602107595738773010906608916109944436309000447042413177708351889431899514624640833140492395399832088739880132879687816018509322369320828410718049468672959230192835470862274265289151768182928689676983274248848951011891478901487457433400625512287899427125303024616165960997221483636145387069299618879921690282684551473976941331530730191010994126732874597773696650659438784561332066934533786654461823555641071472518891698835616380196392883993132113887844681831421711970353212100050103170869264891748058487919834313956364575602410700604388791378165738828197566378217685967667075953991138663026301340248212050152374110865029169378410570794460678026234936832430828770452618721698122891494787357315761901888946900762660115642767826045980569107804223539845361864925438759594005735162816115700724932512616321753848682918088303216931337101026158536170030353858304796805627333845007774633892138835183520818913473594601015877002318136808115577084562542612562363635470297305645092276897994773414145563792573861466213684814781725838573812031184539024751556113473217380812713150692396855066856382176779691042714463084213041098445366557358720295154349457691515391715268456112250605449297617123734154638600481933521074108068791282557626878601268365955670048776431303247807258937541898250093901077956011275736652607504744634475175497059135185264598675794412788474857492592129567271816779664820858311375219240294472187293750673352428935052306209482821053319526456329947156320001281499777818936847472472183747471087100399131593690562540690250452701452702202912367563690464733533349919394320956726028331604924906097048663616817502654099918443464297468689844460427748298788034513846729694103688724645413278627827873687541872926905293588346881495755011186739841829368106389679479290243236773415814983289440515041525856824367445469074594889942773390673720691649875441197813537574833165663974557688206718499416391014333627462866429705806851720142177331702576658509780685765414061373115403756061500187341653933880676769405756993226132926596419197388010608232030932134951948229560252250285125687893086526034624028157695423993440710626330714015769443741777354770492219636714263210950236610563688068802458582737946063497666166167907057203480786271593259187941921839889607632177125145568174415325782491327053116859518412201890690210557541841337416931523160390058001715934515397979485785133821792321192378810283924438268400949604460433450685135845951843687467939626785872694856301007560801737435243933801865569825442444736143897884326935088240494463361508795242020648716483408632968705251660741929700871068860859960827762133210081485428576615060820490076413041729047553380611152367974078918904436106426267428239863318312723363800049734698393225255215048933680823928799954528774095510589519532630037739544795353294524112430434891684076558387941374995056484756820629297714347234672397374340526346910828891188685452216003004021606453087368391551842912509110904109009881421376759474148890575517212019484933962490322979354098307892581938038106891099545987062035449767612001114120467306482147367083467407295795647042552295704470754573637972671218618680077310492447040012498745082982366670032790175388538810390362786736130032009015703406465555931101673813092638135088462044226716964324123658788229014701461819537687148100469589338364048871301521415202178802822040620847461106502188413849810857776942244204985451870526845012497107007080674574789022120916818320083965126236022067682241645023990229689377295465299271352866212140246119328287483463129621701831513066553969044710903303511027968310960054886351083442927273939491962985130592596618462341980394796399371987124027886180435076150462766750869215532781428355936817260828335060703377234054284943138257818962057396007953392971861627871483099337434078349567976806144190409626565108292306345842619893846204861760601269972987175443114160324938567020202300255271093253208405898297666846035340482252610247739053898526405039158911274011912065569800615481184099457438168063077198325912104737913200620928649789644445857256622643083688697124796791677493794194271884315501703072739983843122399003022941119590622861391985217918502340759077778250087359842868577301868447388388712405241258913677566335776514842644950857562420204036154364022745203336680307070973995995251286683011756611724912413610872097413593041516977903039161508260259882214678176668957183766055340404682282952854710571074687808104047405926229467054896225966207008584295350655092766865724419264498767565963475917430734671709113477783308786374347002561300032827465754511171595317885271031027744193671720509602145503232143050673957001451272662297506055139433710009337510388211831025113378969562074453742108376272622006491941058790536739730844363456378450739646418205150728833164125123466743975541591552013215849460828145323241223610351269531971115613873885807665953328346496702367008455565934318332595596093760832926645454178771456883016749747512333208982017304511970619984336084853257177769989232214737844345825725380935700642479746073174964726849756329027632177877433268910336810114513018927747083775621403157911902863773074890578123609520641497626517236985848005349341713833330670074383942598328481381817990560385952165418216966245247989965704076180078181471657964727706119432177679959375952073463350744416835416303441334957230983740990950201671415687208618305013637418886288139538792271411380958792513163712297528298313133169974498598120984434983078744112966843516374934221727083671856345481713633634932474941941906918016985168114785928748228194801107010171504533153887699040599287912276124732891174149303848251764469100139723996996710963657970888084560178237480498096145144018137628357505654435164666143430657450159512993259477642851116864181758700581542194278058346981254549263558051066789745297393251401701192205076838029722606147098895803852372409950155655176044823356851911265190559339047611084044548709906481176819868646105404699113862996771108378797842990676623305661213430128420961978326076566041735933813790186915981157394257562110065517819586422460404442614638023280309129774317393106772431598134358476422587224663522465047519585774918778099875513746896995839248046106043652811061309075221006790987328005851873951267636248556278763861913226585860690162986288213720163273185144947940682293525667319565159820818641267320057021711407303665771957962242319542678951794618183294288471279199428023820939266440387011679080976962542126831351539682922561065706333507775284144849752024355084436626226580092541292345276484842747270549418899882369989985847864583518914368355556555266455053086649187321330047422307676792600964450752663519275243359219055034284837095279367984293960488905524544360682249004661742526361724749584838047322980524813524999220029325973429692711227932894648731284654687766366869175181747270324849149820087705443450281120778132753437557812556535725909313667421661559713874881601783008699379696844991260367653551426579381189818590279134210071169192548623605855140271704082656355174521644733244939748564242251752498472786374893087117160688060419921863656124034539053003986818849367342679287957369055951481353424140762018521791091091374314304768257580293714082476175901042640181413024506055405625235592673897434615957168609950025833587526067492461215068165610323114518284788508260341414571658467109093902918916662683710740744241114714646558622054583489604445986581247255082790496406002324363242743111436943333435246030403821805557871437378312116908337593714007746453784343066627470052015719931440973239838189514784543147568473132749176370157050632941223005219492245009004841745205352256537106557230787236673175074232889371384246926688893770735275986404812651229202605825501460479745641584355064560869312896875486666430887801209823463927277463493227171640575090019379481863243895691246044528692578369625768980769485812544605038596057471857971418952016199722452160374051945186736103635818155521599050837574522218567738851867479223962259845286979087159211429281098237338245039662751223892762849349270221246663517633205052829528773814619119446887782948294495395172781852487874018726333779449728622951880420692190741098875517682699668289013182563403170650541019020855631811873968105537993402446865062789717575979136317214526071548950885846671416447930607480684785420372472365338780817761618881699419516129292769962910076505742861030218916450196516725752675274959437193983679342346593343522066967775538693891400420131425679394241131625538840234511598648500676171671469224346168433073279378536199918503818815457430141027233568499218010693090324166064446823425884488335992590674295423017567181160962784185201890964794186328860313230015464657537134013752586903517189382586572743368956795764929541417223428491591381918008275753203665816643089522350347103464516441949609532301509815374244360494162127460961623959307963777829752809829604718026012048790907087342015772415376489921824555075186919443707290673239588718151245807672731771229332310962471198022790685512240735178080363879072996868406999720436717501990410080718493987411237210531984908463650941225472091668588962200007309763390054415330075461426045366720858610071309309258029688139911010562172620883579486824064877745301538595018714835435460267700541791823927666042604847211432561593523462403427224946228441032679523477734434486470531312777179066363376563981633689383732786669134948903009613194379162313940236110353115753849982956352191930839099945494513780959609643303265030619821843767224666955691979203007551852609528260301095679750688767222175394299716078555126245848757322613796712798294404025764439436733481673848340441409658407844962191896806057660667626087365104378249781545614428088470544111951224393359720641519437169686072071813380845941110058914769933942475535388437521088249971136115485963582101234337553653575077139726177808093589594031819013560019651695564057797575655874308675227456480887287750436194770547121929666143288240312055069510646531133646140058008726021322716261870720370078246255244199262932965653813743982528388301154936820250554988287427195919700709067373731731578231549120549169870940293696594985911503333950826733086697540144955853838902472803108868924806006878820548740682260947935580262496907059442854047190582691172757168514537334329616088633468906900651249469245394259059810809877315023470939272089241284111122061989840319789790949201246625674060962670654210243151025734540405142313027537670556799781761808970586712985111201552153496214634847762323527375138134877722459523138929562022114389692499835780094159996610258938111733512187506042376818922763159621466735652681373642324789286673758508229102637798881988428430129576864525291708220932702297940546324592699207286739265546104061358272147896736540830857943010499060353552530825315001300721303134233987895800862994013684437009524837218046729799103506759499914660382784502880396685667075306211219799515740002362538734564484188363017665203251595945293728852884777896113672158699005254538166533255935719083711759153277583474582845841072446964808725454975244627904637271288700575878487798059687677699183108160306480678670940828829040106879955337397673089756805432074302828547491840192461863181315438960167039765761042912886123921896923864417831824874008231194552950440890427599309385327906244350084488638926017330529725355384342097010608081666112796933890974644534575149071329601639176046226895042599356288757875727002578524632931393077994578374088902155671088236014416174972177123313623378189898313542215142167636861358212135811423307130223515311607803989170286419053676094344417158495085392402874724524410018447603054998426058599999611676014238893195691442601658064257268957726429330444464405578661600185987967800249120128640834650484041561136669845528027611394144453665694872200634347322299987250834438838860153950964585938028175676959164932261065659274537847913663599932225536033627143437787350127646099738848010779238965517133707050733364834591339565097470829294689872644386968810324536579317611291111099399752810379318600218110208735271250968566352630667656366666665151296745492996346270983654141750456533023162887192800528276242045334051767257506394296102203578215239828584796799623118258252265763871472890007138071504625148875915282615569950738424897896545158104628023990035717173165244419528079474943154878096662774481203666128180710396027042740419999615812557227299572082429717776302456860822958330337419078810584372299284204220410832186795382694326428778555557231249884970474133168711508105758763126801627496490700078650871886065144854931725784756575116686462222532369670431433451606373957220435792008358917141038770500417666889487370949423273379484772896766151769379524696638590143761348897139288613484306022846727842480368234495390265972060396351365219825087577627022088590158330027699043636099855999814198389200850711385509482556733285801104277709588949438664287286764382409651303645866245101246043745871637600422030708564482339014528822917227427603650496693001419733238349319580152618900758176600144975747171580860033782141186690015019907420330178831145019403986234297280982314211193886734436841750671868667733921274371903805243248307230900607092058520992625969542862411572562187236997031987300963380200741095123488394831685250678659490906765115326700103678463872864744201613886551760548328208424972831713328955542932271587837755055310428161655565347431277605594807597469412142685857534648841766929947354409792845764131153931708471641307427501232633087391060051104648584380597358287690282573797421516002305936864897919928289227646723516077926334365798026985986610042660975545580375196687066086832374134511715100204276634779865537180298894641864381432834380590073378874945507575398434947827993372311969467523250648177529503610033479908651784945623166999666759926677935854810016974818722021160142049707394341973298363484274493158418197479275317805670626929996090564849785161942079539044034814812908728485867178773902607239186826496707462783868830508498421902037902048313251088264307781380705697671048873110294492478476207406148722485650865992449535758220580913431891190666267360968981212991988345968494696285260237293986942808894556879452906901530109624921366580357016089323231333230942974273481454892195249934616894680844060775599542401786325784859608174524681406719218373546693707647989795645556898311381751099074505650557854716188069332006653856312346868494509355140176831631153693153698466235298054367109298592957386977480729561686524335276929529242432367310237150264535694708992822854600438583950239402036430159092797126897076593243792942254541713699839638267153385069825779046790295589445093344480270701796415600729108282547963057561164625445314953371183460347572482652988394356609160818315883795854547165760589086638576339582495489725113727769953902854830184833327305323524369369423536306539216172786781750681524581749154117332124120240761904322521067008689227740975097138109715863024693060269376581995691540562028199791994298828881773840303676421399526241374843998626514169420117001852671202427787833859746347163573638817441979145191633599476864990321958475216301044453738859642276340278214859684376938083878621230727702876671746527106418936069779569568804261566351877087203423667318721930993588625553836876268490768252643210590312478494638469998820417143132023486130773139574724261939969410531921739669801608172875268733992377394822028451117426625083466941076175310410458701349953509572426620110786717184167264181325481192481631949544089875804137846365498510031134724943576221295283300606482497718675080593312814396530445418806402007629527771326464020768500660897729236540111004390579869730645774942319143109432536050738508192119583074378920316039102372862983134894697557100807620419993315067716417131059767674785537965085514285650958075672280741722715559259278214498031926785008740765509476320968147238816483979877566233334240377207511739655035553139458091654232037925767722616096663928623168080172132164173121727131386581240062586380968534087056599384192067198336204300349079737180966377764782967166812043363187879849112255338173198445891918048950400804175493017540775961939090500813902448363665351081426689786965975226252360448642577146089978350436330342270846235126301225466044769560292758384706349686830831939329051120891057570608343707784057664773788916650215975424124176908605758457020838058765905206373705510823560628005751795420264498261609324019358243635173294692363536241756826711345016997914500417855156339281536636605242509172113102140251022256979151692457084667832435492736138881926904166727447793777170617759096303455868841052067780275213304604125820525784950388008577434922756703916978643709548636578649378629889377423790607436291898680675763992935680908079628846269625144091327433027790589666299266314608211556203152157240142912443048005085052596021861425345831185484089323876561128659082708550811167361902260900417693289137227240675934261422859657413602954336680918607951024307654910056493208246551916771718887623142436631570582565608581921871145274198605934765584847365972538698152263234243775717425850221685568006871740150605858033258417935559345254286523370006879859807102550422341132902645705313137816138866980101396001661854054930558701463559161169368505723979091548766019878108273374165842646978917424062980770844465975643043974804802247961138471148602268846119184799331085074596509831960217314847669225833367103374899208106821083096886152651680686548660231444444867762163443711758001226479866142477507937648931026848476624794054691096324248604476671115086826373539106698901485632325377080072303117851894523623280130872600583292842770179314381129547336208303159007698552729216579780734669639706074440168712375384131292489814455798314234847246568947399186508997257275366414262486373331443778038177938222152918354131457284960201924403166400793530857776523959794005993335809751787160153470008693562828048682021449897502905247087074728440313642224869223309640749419758390987575546189584469496107507959418930256354582861369745957603090930949390873277101335173077976333614392385020390280716013484318986591860476752718232563114494834856923971752520226602400275133508130978757921337925181581829007679297969636512111502604367073895517907781967315689499090616529434853282059215859025186927837189882535538302622526644239481499918641659271689461160748628390272883834230034659948045980155375602267325687261662335430508043053681764945682484983597967457278503707004999933056888014104454326980303444601721938706352473465389398640333525889346469624196809341197064875124791552858766784400633951302357401000247421834366009114130779593244808693911821573604773586605453464465734662735400670004902635441986716751285506564613647640842791001186989491330350241484870916837046423473210162234100536701384998823618316858823415940984873378774890961923517784515461220123356153090412971469254294534937855935481482308555407807046311295314555568846944832345471501103522414001597115606082641129160487588446703173308819802633078017889201521518347445387282011250283158018792540733066211171631709148747392994164570694729059284343865839609987025048245529217421204292234548279443769666336683280917893448397367825794455781342989020467057034555035626611775908018429462319642517604176094017137416378338325472968954684452480380608388598250262047479093393719654043363048198127174255535069876665840246069986582488309335781539442417014857384306781442091825548837164620429321841934814667518145217778432282157547242251615523789493393938641918744051143886830461711893993536353340564933986441632335693823612874053200291163761506616763644115544736541556225836879226333649404279123712648895944738165035404045897149537250304501545175428262598569760808896009770677411782692286269721393285072808786081334518836517821626658408064106629898055236578053102864191384383399067764827240662823996467010086351522765245219011890325639637371963471443796817044751339726675489930343556808661818204070180989350017897874237061381222655183034958457294358901206094991026125792219081064168257867694364891477415288979435477191072647516532855108453602251705589898188799454062867473268928216817150052748762634205449097834905065071103334387841693554000144703495363737485159656781856949350880585747565118998293582603192547422498651143026511958878081404610522677376324806396640082613265585484252756556574732632921542604113558289279434463420067565529857967672168754638233887116373692747571953773015445074480405693432206209606408840725491196507071097559319953109552039964381626730916496174484058020367588137841479075462390466300005152523536115520989808654602392815632937352249707123994997492237097769645044838754229695960843296096457588346525047210418098455741425873434988557163351697708779723614214724464321277075932912908160942068219465515540683492252273607296066983859312775277639702243896594733488094016221496067633399078381913993346192884448567104220325088727974691850303344324755258603785445998139428509838155399837866274834021542302003183064406239570832219378927722320736109481308351982147429262166654286207547211255259860389602995842038953032605011934160026050386032039735978593838472262010589001430768530223647715755455344560740685580046198659748346621468334433292005742411944102195660635737311753597677195760574532947748652958969582325874291746122789158274780557739178613448471425789253122355526481114945379266736507266275501622204728679598429894827981223275652767847861167681336779396210227575960385876712132074970653031170189306057681777994220987265730835205998586455531817376419583353248101029073035817367996726178502033263043628121556439533807972772386429300392711661935485043324073663426791071322990323443395371174124988841884453127502677445725716787405517846828785918957983778036688506448989318211430660266306377880134182834936117387781125181925642667946196830253404906862200953835003672729319447568382344071402608869980951062506043392703526146635065780375621449840753951690876652409940584862919807005043916328326222891105124286442420552433380128057529972809874145341411257971178767406428126934593715942758173446809138763598683136047881222768373387948345670242273237064576917067407786957584787674786941247516824117717947064159073469275017906731438350305217243494830146160499762354043051022623694229322531321871594606345402519827882765504862665188049902963065060229599412349579644129839513293341572385967108428095070613735535498353106441670837553145411431764980932251685627812014933046951904025603458386177038130895126687893687020962613660572913842772872985535499932846949448635762835709603455522668640669932218969451124191508075909592168522364239313492940718649793628772669154952057599640898016459757205868024944991217930680478750643558635975364543855577819890824335105791593654922802449523270821449932309784191222074928097078903030147643653944406790616052071616840946075247833056794101562401171098770509537901111742499172806952367779088329981753188323700475075786095621926704634295816136619838160802635772096980842761529256419418618401915642124973765798637567884047327431636943389166910230100587903795441126359323974875580037115119474561293337539054930088587095819261436101658800259155667487548940206707178956151052671476316403382757866296009158458438399853233050710609265316703764304555417296791335220066544472325332269267091864727106402947853171706494481420647580570112499209798529402321473265883536557865691821122407838745556213255448466001404056640224683585185220397656138083765054961220797642696923722026041725551291947870891853379158309154124311914707832179561910203426456169336932556744799755470080379441984626842251664154920517259658204623337407881119965701406227097969508779210107715602414648386448220721842376079078706420020031251733219964380034216988063848181833185627141803578554660931215902458371046292311233229723123523911390181107676590146480351181901814161060012413631589832274362996150123674914768711897942423667949462985923425688510318937902321867604699320723724973441165571801021802153996145656912828797807587915115262765805614964150056378359637632073793304770714103264017337575792323572151826028000684867947387285921768616260146746696742132432094544275701810226832139200307628040685159029062865763216913876434902434512413553773025484755208714195298157216464993450336026049414360374244409511563434454922894093325627359143626858577623825238141954816884985992505058365835049719477691381026411466888691450683557507032248157620989276427652459467949189474383417808583600669327475008228062365191752862444034894903517592939025480247776084359352608769259905318550813149960039401647570724214925864297060989082799641381899168897688570755912941325910215690370334833325804455725770980069077668053365884176996806358269802315441020990710776191884797330410414146635410042098647435201873199769744990217958950268483006713794258305874380499178720679527708010102912936767261764984867683037018422641462428280621670455922666304757840443294472080984701377692524644035489776208625132562675272253105580703290222778770564267954202929486298152638767390276118701850807054407678751314919588005750639624199412796970117399238821665038622784649454289961502836756463920614616053069070728691729703772070373143022323951666250395055076331746354467941237779683544379387417641200909367242616212444107380530831721174820080957491225204611187683005456274524036391651923231383872460502618130419697249461007345104105159705901132464059132726706474202330543901148600637059639475047172973307311273569804393810007079040169064471788356094964747587090958889454088831433838749261516311455396925382556576382891663456832488280770623552201422704402001668244417879725189896209236531210577218304970645873299043523690170475438175925061748205632767195330433028227701881725352610674834272181850012050787504004152214660177161790112614182345102140325133888278451873225108373901315538688465790436598399152107688436653649589384308833160428580148461772471364877274793450689899865307639009060036345683528422273023395496832826011929324374072853209357573230273695677987595087242911039864374543375433141775921565329778461236667424796572842365658000802526489958447974173922486518552777899720908370594379939731895075063364892035329036634298504314945447052569202828358289296594961595586900593308184964990250880586637941509233024264828068692955229772759020608015640749129829833285064926943574640924251760107793056574139632660091174600051474403981583555306986929799229000489414723292636179557188752410724889513847476526455690364773241619941879772307914571291239926604161621226893580502920083617165561407029682741834956568420374227991317623803267005590058835907931291889777557428652896982113284712678345190483768664648663225314841265125123678538855104982234810496433408323481680542857905420310563144811795685623303281967988312248403397016774698128525525298006904580794051468332690847780898610421478744209967311118418739677502643559757054266944292168366064202140571145671244181955967804155293719404404396631174728232750151251511803072407937262885170184544796310186123335301647724102208093789811238007416270303935166680247478144715993175567744486068136361760388424545730669806933971880247008393353790086216771588889703507618420702118393190222912400880120817831539853673364897028485121438456719831788846164176136903550259226813337852061138569351857480006453983353782645774741611469814955937902726824013592145425377340456819506750978705315231668898125014000561175885331601178197612343084858004042461116494276884463057723049394954298194204480607446316865492737323811065183669263012588218758466834490909565445236294091568140424735335220027521916080262766937503473496983497565181614575422205465230360517585015030403102787995546873905791696552714585264126627351492719945676401959805946196712989407910491750887304578566797082462486610881432497317684327030550195297932042197250768457255851673417859551989645361812707287939392817037089928942157708280335983748794376398539971441680363224186443918797560458927105162737814606575456725889242327684080318924467623227723526603401231449206574664956058176366580143629467401667658807741681370278434314698263845697419510211051290403899159537161565344926745945257222412884214500473734930173656732655206309334691165885950729886406840269286736538737624482466426953225629244828920072571151784256771282136105574984573884620252492126727905132069848694745441971236112608398690123050553953494046305393534808045705762516189685353640499820595887188781962345950796882548936594113969635803235257874968804538686873292150823979987286928483478482518776246672832106505897953541006016612220428967057364088731713641950847436623185895906927919675683573006485474014801204321692182834892724462431026864615089113725391530680580536677119931606168651246953224719104101340263804164409567522706981786478993435506010680805172028739863119013412261069590965998741776164730416526008850438312536184519467543024930309456841409229758347342996616700893776876247941103837185888011152823299261331400858445933356779527275261166304818050214189054761593876778221859726145537041546256310299019312472015642542295459968144936778820554650019503180815165894231084729417214476819675649428483410422848250984111739236693754754641511608065186634291753213700257309401525379362813850659475104997645116211295566611916530791575614198979675446814811595921808106525074546268898598823555604488725768642543272351224383856792217510092006937785594701513948396594872025123837775171518620124286319712726243840694380995964290181470949688168799645936077367043466524665918742239410186890593677747850344858611361180185458444876186705240629494708380715637508375884377465364306898863300871925050990786538509109589774205336742661061663378846799417525224935429474986199503214002809075058369021642707797679437129263880979127880505889753041648968548086743127507141175768579247817256534120613495586688679632633488287779318264640465908724135094753313645727475154003867901050114113135777845263660240391897922528830762261456905884925959418044690920454780847146211429658876517617667499561707859191218491524545118996658584497036430862304217982799628131791493858872676141455787398631134210107486178576582289143109950121862827482688299824523180363826718453306490279936222335903311289636449696146043356629257024415535672121705502732961351209378660520264428774865937538436100177243172978478410190935793261251395320422509881677670171115501558015188939502980914214230908643422472475774380464873115756158410877549423936306020997613968707739480645560484899435644417152657582946371723169386732002555534436521824487922701380024315151497069499333854378347756906817777666488234196794729672397854983017165310506134207361101799654603748585161482006409685709094648675407342362334466023586747674108416206819448117571316201082607456864013991888554201073236068327748104285458188233240539217230362905372304588844281142833844955703691051081876031513505531276434391419914161544037261342962008960509515350335687214588629569215949844635902220209116481351958332453416896005807005784713589518112908684421620345672075602284188977067586057356931405737505196218174809437604016796722970606925346476958188982100961115002050985856097427191235503383026922881379668658630379603811129201779124153529904440071735236410671847290361998588625835731628463138446111387325570741136118491208592456706514434214414069951889594487840340575308352292284397831791502582544040760034092578201703400881191772382413511344517408741159305001783046533240871888760786319395979430987925684426636890542938164228518298121488472233019895098108133787606414268977493020611987388928844005582034628128986588123895265534189164042843899560493558700924466635077355218422036369913888672111387922715162492988553768407750274683390563118580324571838703704034059723980435280395785932450133622424425888016694458051355320247082803053433371762216300709300979793533484701053795605390249257625996971420361712639498818971109709640458727751938698177663008348167156198840222012667168762688541725698605521450932468870190281311743647080798024267781855605646422024074258320604501623856535392463159412454629925413534446683313093862969887535568578907007018139850349285924467187643985573074423925060056317111264187139440222540967277378581322076935264372226371940417310367633129618523571899419117811357584928688120212858687033432702045401184976242231025694043426158583159035117302998585672160778821341338865161206029076940325981435405136254717405672583369372276419427338833181649418369080457135003270465978791579831409784252905606837804147959520103775265905121254637711211094524924203724015475838345460268769311931314084923087044733654338497584233757483139828384026971553346357403682313798125127740298083610717336463735893293624672792006786349882325675732721775526309425076206553786836161186822676454296034769074789763482638981510673992930125914154623282470012224227353263040689861686085737817738023021965457905919543542363653764431841694977425690545580165469889361147009567016032704381980961974967853577325266634107283380515872004886900569271691214293065118631332575868305161083924964233953279252075051873749596993141117459633512463960564477334893347503838132330623086815602255354465446832384651805205764740289990314430520488163217991703348688052781001928382230362007241446915747450367401845175026669384160860662550426766847528241165591149174576249561467888271206905602760956128232085566393591713489765297198140615574336049482990375890492215694823544580051178003470776572887651072322756105520070446794307190846442445133438816761772427075233919089419994224544883122199710892751040926836236874918726749490673537732056033979651817970153163768175905567474472990110828348981165277062778140320162190697695400545047648020128660744180927878493489307803283119023816562551047403393943423880806091937378388500362739844956678192854020829354734012306027588784241026104098984297593725422286924266761939201124686422717241772425013015598303378425973088691211075234008111045058359993213333184057658730924614507517621028715371966511474283520481829247790951977849256406887248447252648011720001157206263492308948701107643625287967838835613130184347530506611836327501192186068565741852609910437334956111386609329820789844884075768620150684934871497520947898672492252277672262990733216647013788561196203909391303591102170013283635722185816743314164582067159168292230570707919805306740963633036649866240117459978230724793224371234645632467693344508819881745442213189706083814512379478599486741534187220935756881156758139043703396273625018459393384181681079400804009185355351653713271873541827029646437128959984512228258209819969556955698400255898951534599584070544176745570119574683775351987369006500927326703270995240352889589656536391203861033083045262810916449497958483012717472023861483482456250267238921950695063865387869864985508379308592965888202658219081616941236623229763087581495630581533126382624729640493441408135434656005271988165312325072871671273344111126893373022298784040849409830480117823134579075515129351567687363730246588256127268614124144860523978237872127355825811091819589753340832443815873417552818465916301975353604768783171830933406652412780961953129743008511869837207366643202461082955192511411101577894106763321847312840218218013748701933425786878854432837561861827488445454535853964357369933656878883889427658199616015097646157244279934452661957962787812510711384250224241531672685128095302963486343763375951478685183913089204344848476579640275938030999180754026809057344630450749739030155857761551659439778639543788243385666784534760950295547068138949835733285299672698960950094485794583963244999805718968346951137651534098222415895110509428116656379249458863508651297924253919437982155716297013083560712320724864829160977417684858342898232179486225501393171833799193182656902387983288922733316899249043965112422521616643566549608489816134106976699555734514344818608409821275985336182035651637413304986193411846902858071414797709952156208149073736698437386219226645421524790798051740331953525272023809239390335194694251619151823728312633559443732967558829971339536960159007482905297562835696380004188760478799866444580527013485575899837846826473669074827192611459920392468023462260240438934408356903856741126890859894658513818473268280670731871369748301276444055540670946041475132009660745711117097947444493026114237463081186906008892667140500686532359211075112055367678420554291931001425256405051443852516422563152825919864648782421956091480564915466384648976791664429238493155986485710410761103323935800361686897072669955081761854540863243514219334419362006575796026171538504883129676845466777218964537512745327149366055089995333461530952088363741293144760092068047984329252459122111500029074001808483910139844706667305205707575957703980405004837546378448011531766357787521615977372132387288865251184552770000577636438671503611937825661895830975078915035400637446695054500945793678031618001651237163619137786513292799556586938562381761280657780087197496154425368967899715805404683793860501975535040064394350384224984307718148566688589230542848322380103373827401799905056308072098523778775952095986981348441778849952620507054494013753261515116599658029446917478816829567321344550666525343768021270904967494554286057443462711677603929498261995361975229379189662139558685225651510159365838158653537255556613833576153009013007189467323924354274262640689057020466482585612905666012933467225809749990730145218220920849209448034301586379662063652065278379534580701401002216144658969990838543052804470744747341996147860417361306620895200819347185532582111551953255640839853601403002439256331524208404093341117842307081351674304597238036303042074708276015215297589296389273457209759110905647414730592405284021069670667980050738633010014374087626136922009273508062631747829615385825766715790814028936200195227529561862228031465135051373478504925550600644547153071151692187435138067647767551870192104239476251223216439740212163155987004630873853564893340328148993218662004231144960126857226331480765835752342266787457437027916775485312398973058344207130308281813335255567320090132132118762132947376820892660966890602220395252400790508207593905912771737599720960511248299318270518259510599480828903646367653792549739915047749719045694410700177108161691408388845579767529711706964401771269238652648382739563866116716802527337423507457690158415369282871287302597491389751175637962636387684820745173575747725399574916301810410923604649030374126374465632776668030410829546641356168595036879637886287031339961653288515757494691251876432883927624076172726005743324781275105086157861105167957203473826348346965613783647089889994411283811929867658363613985429207966196412365584968755316004866453155319513205482837709353961581786958431784728154432633780765021516826732725685942792735669937463493784831200816870286669581297638846127875856885222566528088510911914154346752838293583016478752155046010384480720281161781121025839133802289567238102020467664581831241715994864044227042802258779086067497608600788356437919259436139150670455229286071064730540374137579490688029578326430030947997785387526110337806027631870812555362220161241865505037816346896000896487427425557725431324712496239097377104660263139912576958552358110596749508006807038538811526801543123363157805004602379964007970831496756572228384574544273529056813982946178443621885000271463365992306111486196027516067935473672355661311863490412458176948704691651561210605163258709848921577687060279001593251488278610092615409331441410586992916949331006501317231940959598691624715402483142181146534758380535759010770444749685212277428999424564050896552280689594117627917431748364692530295233379943229264386064532295611849678234944456898321497477792702977925439992633541278427430257388088705327299586664351655545266126598062342639825713642882285943992259078881660363719815407615524391782301878308939750714964390534432841932980605671360898770781854139470320051026853426673795419926890230248486566473346551766810934311544394015379396572229997134819305245681844141276613250465836031629200330324640902075956709154239557991389374800896309358786615518334514135954814774036108963301109940766746283140905082725772667046161512368338468585463293754836933879992977918121592585614280516720602967884479325952446241858832871720472365669014943797970521444102419482936603782751109719037471199248542715141929969444713127919653373441980787489872955872448036043823759478875586827562660599790370378215853544621357517500366777272449210204084464669695506646180178936632116328341360775120757794971801724884134347644885278838253534587660542213312137443724708443313965149980397800494867529238342565916777685317827119028144009114012443715949740220682803595520910078543827875610608719886438221121233195159787759580471440909491314070245851226925667096683955119082330123672815690412011452076006210142230258006771480719109530519755420534790901858124315597105799422143434391894362745795374992835410199921944096749331074175916161181626863572687993197388756219000839504120388015080908530753127144197368500982449771075153948031952223109447748289549293274374246991825105373011243014038151487322619640621188967378954874010817948731366210259704490096837966237321448081434127193728191562581853597278415982300502112985043386208787903724324259165777295605949491998639939158428592077403225080173779770347469389983612365232304091003093554041042960093381170797227237340065689943785765378553809530418503921414399320050714898856330164579341283270999281815754110823890745844191425856973789277489689094466493014148533841152299378619546112628123934555620605977142716578731397177190014770685830187969784835911763456813266330152379756835469719403766720779322091504832140541597447298660073839398049336604581787780061527630956998704837372740416089666295175883833362306661057408166417202510634018978542062132367239210211632631097517964990300076101875634194566567832526427811434013777860463668655000592431051778174762607235149993804361461658255307425740991242005142614140382099446312253105097600872079866346900377743033274840177279899903317574139785376899714719314131184372662188930390364499973858647418139546967983224652929716277780029328759018381123590858104624330356115612932475421266688962633367952223315312267848756751665854551512048842578163374121838045389816881820710477159496079844908278760653387746346323642702298915760992517961145789617803390010896693920322939585730016934573171320156143513685565173820581509083851756010267855564405556611321042815127348613665858580772393709189383438427617358264536691076768790440103093761712506090643041590052678393386939349250630175677787351213720874178004858585476057421360545613155604884517935662471571690937053624151439863441246571819263956329704010467745099285710571695820932419368800328804718453422446660790356981399753343543995048103747317234432797001046216778663682070725350016590891264520159938715726102303190769349196827835438811117580093267268716983461666713042020673101914555355418678317680144258844851987281078401020949262522615108045627636288016220395932722043071046290965807581833851196925945396699514484561504667304092710931930254044202081207408981358959810167920180713578597233479194063185805550570574640144829763135710079724579106117021796105277526952291416482861854822995892933144823151233202702484728455029596546880470468941532872764415485213216991199939839967938617943507625475976277487276506234050305431286276574841307750256167104075630978665483947473133702208079968784288664334342849438399073371100440523504915668871005539908079959837343467612995534764715858698758751059258160055625402819263065577749693522499182412799414113564701667386054413268682452077502365355207752616525592063420038870136496132872040851161085476471069232725087639095617984581823616346858885769104291199186404861297285198461587549986050064055825845999884292766295855388719571918658663799220396216328672133959708518532323418056521011005410562896153273862910579089269783242373908909054669980192518292890916168330048785880566653681362092527199818011620721293607278591221474588627839341060559835912967558875888788512723305708005825336840427687363937761944972360470311550079497743541008862019108839192726997466600970931367658239552335789213690010587192868770949654654428432796272832108733957501987252801394161346568570713727711500212561443365283676298325382838611970999734034878036938812293991574036659861216781637325088952758970205645994169059655377633934447974908758257609212240112475475070094536700703748753176086559910442479512399405947765093089008595922211298170322197882434450781632593080961675244155953792372653885449093706117359244786505969016154904137747603657701895318103484484288128634123816192163596690521166079207055009952531375256705219192739003782580034483895705299860874543582305342744833190592833287115819317768714540661828792015240992295016310489108703443725199638063095324853926704129347664878618352569687512787962020369853240263380713920386437458153602769643298508205538459189830140976182980651876882087495952820933262908018722306675388243094658590614593130985105221612151174845254068502025716074522093127167142372038752694387142630288273782874995256139973205532515742768832437778981369520390273711474501254622591969657845696686852083930217369276774977735902884806094657387480447330193488264779589890818419835319888629502832285518543414767079619009102879118623863002634210514074733837355557916567799637270250628790639778465031150462726707496309281736649609090095834556707241095953880132358846765830740350999106912611269166118802756525660251375229228030962649361443893973931064122958286551997348059181610213250723647872390568692797957953437694613594248633806321789023258637114130142635525877448254507125744609108648305225068413695214969892798798463206224193619724228060125697375400330230265373900449103851746134806278811040923493721254844991080148302286296602786904032744801430964610954084729173806955677847230840667340954362629953373057435810142050133695723317313627385178631751140487629102226136357632894212514750941415823080358467948606097662852409242858542672470668954922173460929978740577470547382978261718520081370524693319406016772403082951970734907761341997315558599389559479406059375150360822376902489232758381915877688638434966967200363960189618451474630784159237277097676378421143917836413475895800845849585384869580799017006528522267084334394352736767424640668202763217934251352702212097160800564248218830982703914588628960570159809118274900129793749462857189034036862155375380455843917328111483671727271666401308037903530546055246098539575169185501892958173264717676770917485296425935607449213790873884894390180918201547858629324653649258726412351699032244422917797962342659777118054054278544091959943848428378404425124118492097316975109770243609567091785535940312041804334833031156711193547882398430985510386675917875663744061122197536441830409412285442487324588846368586361405092148380035164451029925150658939109883638854560754128277034468774242591050701782084322460729772339357460962252163437293604091834121848141743736121093079440020762476326053124575829301217089313149430128886447864057736828548745078390639171767184855386976984783685063217353084077926751166477902695385088458822196932777874037200117946230400044024792365249264252255102055363752962335408908557290201363499737179890999556198458010934314365168913838564832164649392049261138943961202447242224803306581508153476559851819291696372225690606630470849818010668737836887825986987267140044176118665117837967983786542072814071162666746778470799114369750593796227217845051302567086052329335197851190548759295979566448551440486847791933297868324088160258622766312958495886657521537271141399341903676408011312120514530398133676138861612682989033154690669111025865841171608428236808891276425472488907688306266035745233656322023383978476791049198746091992611318570977432270292004642086621139555503861486443507225353549167908376853852098101890029313141917727672806382634493556867919655118312766686258452727173746580852574345906118814442908089524867676992686788025774967028500901915462789893741011396085777123958110838354037370578327831872616806700333546277661949234526476125431462851821146536384047902124473098265955349856252535052252162366694363281342445392619367649082475958319140148033749770351654364986740596459691115572932640292338873282274035282652248081753053661530057554515578354028395140258417375504714698958476756168329420853173116525476378504253900569052096980342857334184058458118903926406001293443635038725854519910015483824636735754505417248397235604487328335578295075878499171769200359581939922995003117668650146128276164414219514103013741392602687800366897455605554682907406668568835167261116086440899593974777000536671048514671677899436103786496749313969238926528396834772503196856346494445351176709966369314864477657767286411114386585452179645311431400752147415336197429057405408501414086493083056263010283854212257255531415365103606961984146854626544492184749812942647021289146890361964591349515161386358570429235922039349319663399140722731182166032057034590138761029315734852133619971737769713504027446548417573882457123846212529251026283750862631879504074163154475199915478561386042424362270995923519350489241601979262553208268354090281027802322158551572755897504555867376490330486327214647913606830857524650338707598027614523432977513782190181122835724745696959449493987968576714812490218150521565968862153381856982021772440467087438409564199736807041548673984816166236736705123597142434266954898051383437247129380215506553480285727707662282311764013286340820118386768111035364726652470474552251551366571696529771993375347842188511463322534616300857570403008678833085647404452139825920091900090454728899007895398372751463580823957520434087323767398205908946155282962087355731054065663361682014092520493976610529821582962766432719896109116877905970379312814714128377321522589292256797489979196811304661226132723141169233825106214886724474433721233053954995931305871618026785713320842092364333792133065377825473813576445617331775035299825135455943300567468479475320624449423444063564537857142881024759475308446008723342422315319572045799560749384455308582716826581496101634711471510289491361889104867183830414083817123935010014009202560827521577698620531934521293970107903844258434133418969096255049900769899373917149566162005526799326904451247503239236042782096004843289385480694358542623348340037333242362900949739668675927530301353596610733929575458509332098416505159456876825460825544115163620135250858858430653123864725695210654663204417084040585849649086385307660724931025745769081450530882993262548982756643480203434499407514060756901419397441570672787289538409324018292677897769223236557547988460750491848149745949448313353271971318408577033295509345069352087723418365759400736755096143107696595326007770905317683195914441197867160803997280662110312879480577888046691081858181517895619730736529639477045821415436963606859129801070354543786823445562422502292074996250233811282878444813345721343045622441881322344807705044685667484548435644200812785993941950061945503853835419586869508199424514392137936839683738702845195757144863869563686177818655978240466472749848084432577109165550360523824906030024311179433162884820742857413382636597925500192425066968324238925558775802316511414968639677365686092161981872004195233256898822520296808468686039122498047211618554856048463484024172779571561699611225468103390868292517961290377563471645550397678943287448107445041578309883788117580074100986120921201796809664317774688718065875539765454647025668556995811914107518156570345722302000032322633167573240973055354277180910273610836246713363830898602847199331819241269475321155485096768596202405842703661154547826613520053814382916968525849065386798782138922038868688678611179159403759415605975801460698467083712281479312908843010604050799534984770328611847123327634579743127028990842490750084953732478660553231205380189158606315838422125465638982390303258091061600342596085012256947878474262195694999574055608450845719303025253627135677980452669461635017716360732286429852170260234738813963158044172331187651847809484629072839395507795534619492461186961909593265853254011330990514560554452786235539891947614591718033782648589737190534691494343565244998719524098003099903836690794860621705011394365412874517545011311966055920422508707158658443368496077137040257616633506582885830212510078003800321898012793116674670378998645271711045840542508281379581317286537030446268604472004216566761911882242191157366748616882581424703984337277980068830768904832655736707887072917470780893961253275367037471037905473861285313863107116737268684538674633288961833403700143021217217319025136000803400275077332542753374719775908111265534915726692740558569631958753161547222275397126516236428294156300928454834526040509241901004333132438727577019813194286247191721063688536764152594890032164669583898322533858521170865855526394293854869820900874605971163584573758162582984681186475953832048074283364330968023985360596484616515267084965156204610029468321864322846603944847812140425593855863425121851317731519952218948901140865322671960364596609021536468102522083698272884173813896131712703067806470862634645576875567931979817350139192768240836353063678950500446875083706980628646209521962554004216161107180640620808299828536387706821549838616647215174420011941753565034173293763120444074368949182001853068969116615208753935102300598484398817577033944151901018381156851415941191865973044648168657591939515278226044183623068157628022925757576222973398739960141005853965795142471304345629006887576486657696248138751571807409855754652715420316371734519269256729831721218403652390511275765465368568016034245319861542953463870104174200256382715247855309670855908671141505057653176856594131424698335554857481404873303214321253199737992744920161940561321275574627807667347782817077218217660979676325883598987866293269554238985650532292932287640494367231343675344888773624889502435508733631348454244046271162954097201773852875840055368381407672512060421437361593936877551798449602497528596273323642480543316303921093075799237398560843972710883154963849351954941889118832295956391242261449825971220165459929610088475150649498346673073663838121003619472483070548932127453458894345196566779778746009607453312334532953282563873844361650486788389130152306812074582022979500000506504295924425292463326851847717801820182626831105108145299461107254084509254226503926572493866958971342795158401513690009231133650497514999201635130297500178162133062623077310761190379656740472672458942066865306151732102819593353184152580817618704175158340733991862928235196833486849811908519532181367692693420664230524835986949979197273070206743962896021513354595432494309077453778168682663964397753766143754204423750631533226160761291195662770720065537821582089165844585218844564587466280044887700698066474078969369037778498987372039424531954971149230880000423092971645120553858208571356846843848033486166598924472415076080050010621799544092693322854132467912661722204514016070037649047919772187102710304708699583537696451186195777371351837718405585827298865669242268146552636754996932824101016198267175863286980288926987856562943703105549150978154177345166692980391839757530792678237965137260415623509793816692051352865423816725677102271261277490872258296188211588087324914319577790529329839859883359337674997838300710419898124743328695904732154079285042351458481682562647131492435701054683108269650999745811583137578416845574461359418003844462487139511623553242886790835017294979701420218359416933635532546447615266738197774605877870241980615788834750975993059152181040517850102716264277319683523563903482273266026402200613283274543486910840370127040698081162567836012044744482518107130185137174626163166820705159413311810309587651698687225378109450186365153653437730318710631335734395678319584764244856392916357871518218474169176104967907129401984292047126014723725449368747607959847597290531400654802982378945404805346499682230669982699976614558920674084871729294927492908429615868226775049094401372711419687948965789834297676776828203613059750116246358612587571932293339002565810432219459574407370784494526108294697489346750421942310007007787326683630220477567734684602384510869573943963598304659062108853086282233390571222950560637060097762760066491396805965632341500206700049652307654645984818070945753907573158504685662777118280824132182287654391655261473407909608614414579731872219797882991807350240630181841199917378406792957283115414949116149922654884901504143613270328919844831756108314013242641806535108356155470179914634855446479128551287550040661505887925184346554132152953619895124667362252237854292454081011542575466024580675372070307105602054780235067526423535610382912801406840638989631745068221441936558054166018599188060976144491768954626305397169249402265389318938665514978985848842594790987366243232938544703713074718398223385237547485066388551834735816572373002900795199866323999444752801161275804072518276814627407355237292938939015747094682948087591033206325618721129356253715505254575129800650420061039130397952399661276028363522744138283761149001834491734444159573149383539627783037062199133674552027289936071251992178114731532062748326724367925574938661901199875460225395890121942205477993915325689006017047588741996444500184678699937200086132877398586154929676313202015800962060355518954920925775633539077187413594721874176356351870071114653239012739715560893451952140867674522064059786313438251190804467914065189273917723128440535238634461598180877837354049461049142108582330654229105338573972790452073231001909085513160549591166197590436910408313945713145430007953044845578416058909579675838093346792052550473496732614936473035197325887560168706660738247715348719837246029184975841673693025467648622097956921502296582383720817694946958602820238552763291432222143248514858521879703455892310557624770604561516836318549828673819417412306654325013934138422656130985052394372761628615428938929550006996584723855042691928056973063969379444678225542706976563540664023932477920581599605264932100145746446980418384063688226384233194995566764737939428971095261220325065741876181335080349526865961871859440609445017866342587191953906518522396253638281892685140375598678801109451668342366249873719383611971700922640567418566839627111096467091818578295449131228781602721822393763034628676364362195572716145275807691475448336354408804556103369575338102257532892714458001861127761586738927455200108200990611658486253385722015277833475049413554308604582655812632786161798870365569651208630659091937962764350877546500677934124545582338585561836721911643059999014283103590225753846974088089422647829212531983160136450004287275995567133179199117000802077036689970802807295315960205531835367335859217949487327122487677757065923788818767314254340392905042979619196543966024586760600904280656876653731187647810829997075630620816818674715829503943236093919354880906131161043416078810794544976462842846368357146009996609376469463410106612551275878164701407061246469579282109806780345400862874095922861265240078345747009029297052804861243776821041731844210914069088698410927201933199210797787346083984213745014466357474714645069947949876872984840694739997576225141853628499862906022191657282861180539195258956216167351564995216778461254834065325741386710671634484528428103943284611015246485989881332312108273505538510933314212341297685583923385143308049197154436654123438992587949636556773377940603184104946345472515546088142867370317235968691384167252078768545538274154250185803395612305224025129475329776875520219821667261966271672654962025673408283566946709713956027853783797476562198601490119274309912916986550666508358850061812392687720066911215354393706460748882486048970573523559391903003189888533937261489034238455074076580102195928328196544433596717045549637077139183921441828982240977913173719258801495904002415972907092531254211577268839943250659900063160585707876343417642648144623822045082945599583476910272865763044873652818522820796225560797772096009041541276580315928754725411608023376576318559379365916710050794586917032709640389800943340429862848908771632187941427308985187851369178465270118884361441330836793276983588486383389523277776934144468430337190621816267751752656041923341004373922972458129650050000124758810088145082038428974525967172174784458493033532536321257262177442309004492541353614053673594636975102470124433550720552118886283863509599317887009537448699980975614950559020228699222745149390926731896820559323761712558385092439605718793989162432357196560899976268483528641280426576435170044835783460597181665008153026408780071361149242055389821249467439021193237554514067037093209717102820830006190108064438646203782007484816514444596882135862973281390732190691058101851536017818122573640757052428760203960988366706891515747577565787717832243870643579532743954676460514249914898754249616932404276299119145341450451214857286453081417670169090880508884620067637261020265123553373683090661868457557128809804907830606064030135120838866999260137533122518584271070248024454677759746365270742683025914317651857672790596673093221726004972013243228440041728444449680784124364883409445816973302821613403803801251895561670560740151985376681662300319789542490244818528576582089181530885286700354719408318990791025860221893056656590436380085521035602019906485096255558035140582181397966366544998524714086779794557536357889254507848865533822508918842581002031486815190808359501230116542041733694958976368879581670930925158180531190363652129025634186107293757171987089620739357570662394592654229457874550517987548884123392715490589212110797119029524035420121196291315427674952186966273847838231701766129943045045988836782152954407241378001934767397895759703607176713090554134988080012485862602846414217660419499681288192594422946654376293046607028772902394611512092337292274838012060750520407441248400506410047640338875980495171552483322088966080352220789990924587403107450487930029465099108390056177520516331991431704582018322392936255326751878888537186077441027567104299313598442925219791069609610058431133318163017982325794371941338251017666132090357530640350909560734219432174911313037950708254899562450680498658308239502585078466504026421949406396222773824378114310131772936398379221648832962372556717371637271035270468242521677061704482538883943079576499426952928429538414215237447165446816959196116788671044217112320129981566776179362549926999133340295677084463582868624368861120647396208038486514355023880430947316064583581324689383189100145434087116731640229887133392776171394997092510007546921105023750560607674412702955922342092015399817682274414067688800551284791717090510578563728759635567461973406880110066214275272589093508338498262821778014678591317282620038605456718148425375777282179625203456183217428175076745789109126696590321707338678578218048897550055108517684085574587154406160032415359075188733771890919738846906521039155036116303470517722892982135833521861525666706987218817812244904285703668570320542988662808574797654523697224473797782957387588215157967294778745947754159091443480457868782053490049785069289550044504710740731927409792228365198924758825199322970102218772350761950823280090213588601460499047998228920482256144264051632543168390688883640307234764259193918072218685334222675785708132116285845503017687351719888101774633904218654154306325245244740071953621359703539596209514919048470110184585814494205764783983535748157378134577274765047065331323119280606908776453422695963024882679776859539996990182447903045106505477941651267700444698105362719238571729849512661148741543866200904216808611725057052719298695719205389885035546961181525659573367610290647105546286622449738807313195591952112135889211689325443420459534925890641715609886824510673889306705457829002822021574717707389126189688288803450485841970755366906249291325493902502900630525488845286302325057142375536295681043715825524362901561619816812268663221107381848206506766794164268905162591168819636851984145560806206203678229737917535892873583114094523991893187943026642520864492902031632532413727032923741611263691687006577244218524103577156226450998136942262926165168393597695680172063575840014332047946536765267458890924275091559266131448067539124979434517399622868703328520379666173490358033858861285847724273007320621896687345680676514751752069314791080986978371146711922529175734249371059196798591578576311983243015401861290363259030187808666838356169309277995557317846153859084853656925573157120966783215370135274987529884079092437987431909904778809651424102602581757557589125694948265059824284292991395129525405327720627179542959919332457937431891278534367320907513653085815966557007918900337817092312319346919715938967940226090252055691174822747862354870791531309965506453501700958486031064588144663750920191784474697599103324180532144328780503256334420953190733816094971686281987694362953978345151089077968821282083971927802428101728124722151375193759005698778420928492460434058625481862568165959357939064847106671687746699863576024063702183619702056671053762474257695245109154289283937132339209220292525184450801226850870417472952395809426642209775068918176362936160638388985479710944145391856053160969419414886884107458966814443143878941338516336061632739930725429810799417168568678907238768752140972024725753297982754473053451701111736799397890305575756822535548581654721793757146890397095020825156917739204085536179596239538625632894151108942066902068424885607521118633138310649785510904927519018130709151834188932529456825897791368274745423314685619965419337360592468311100163889167617399098504697813832532940807505478975997824304715700071556726372427479675624435281757286282316613749202838452942006460577030890650729231654788071275238042411214250020844255529693155123960306179667316674833976409099149865264865924831967371917519460809818357096091157844589380691015693972391526227151238007939120334758034485113956067860666459302262303128127143111189476225138769180911986592159606974609402557462371080171232907056682329359358967209157316572073742951893219102100091915774278520716540719367077818346432644767466478631340925018159777451424469155071605804874056373489057850915216148702395678355925315681079444061750959002573018806301718784888891890265194742686620802778792300444357465246661550794768851194949877975668152559484438956905549795464278803377821212584088239266149719687880949321895229703170987576635896674350635849328559167543909255077805232276429221732360393320179688816069414153907431047002748896749005609619957538587081695286665565467803478302535236964836542836764523903260726706373279992918711411409673832381826077922013142310848392105186597803259366784832819978732593314259834044815187632643506685159288451451175594642213549329605566370101579106671887142012058797920243084432896805553363697478645628809761496532896692203158363235990328362100400960097846649669356172709211053492943277610985023641618927577044194167498824198880337584479326668720074064092384233271264919507353916096865444725685878245468851492991078795299951493812278495662148417446916968822228156121916871832127963077162064890321124178335592647348658148517147916551981424974960148312465175773673827109468231354799215837252118290646209940356751775583884767051487037612352459583068709343897208592162520221787220026606040109948768138375698362359008891456169454060350643895590995216042017255856147920021339397654756736044793619313938208411789249286521000725154071235722381247065053005959643475534335158673475851607607056737366907196653507136290644785286991564059599823451029348807855721532869181974674170369027586360167363078913272699510677945095359403778059660373732507315808556017819369144560790788609546760314283784673620035289862857951774010843158912832794393714684777196976964513784202341383202785711487426991642567342560855040189703558502163391819751029847662886204671762164039174695186220760314187606822837161484618033303537812194391040349777903255385182559277409428285297173362275163190850938900685879811867597081718549266625833577625135840227871804073241361211291644259165761658696032111819268277063514763810105705702392834612319389506196193251698158646306248991894175862183279770359185364072669657279527613601145415376298743695171193587775484513255888376498249197662879044796735766917329691382593013818632296084133519338161954455105384930433146678294865567334797159414870947453038829642144091886950123040275062472460506595482689366873017452048896046288028766490939548748569529682034526176435259810997983105527881005688222712631332312510169001943002514218817072667176604422032355085235736458536342490057079243578863749057639362311776425314892580713768594248825449293250019096158999795891074088842634392023427762947673702384089812040881043109149176564680537448659472526987924281088024542920237457375440759094322982628836265067540364422559826612733204955175709344000187857234151151599730420523338699253922502379607732084384883989920065873857671066319650219193478137604810751833272443931852059627338934197676367027004234451627128131823601473901172002184891665315240654328394861995926573624918722326419451688718498941472800557420653906294503474172392025624953927451380627781819619214726230777594461440972522964088021646829171502528889108409501886216020839344975287852324061366005481620373191577431891088425000566087647553693436687651130596526769632540652835799807856235237482341360955035579311445988319546450657298717658467174471876870614151087907211608586153199901426303238694829805902518307587248797488400767725363781465986096441644711759544902914834005171461516060989997222646647592740218110662486584059177075690366143519960983045527122937512519032251864561180881350429863166143682941406805271738537573093458124718297454648683095689853290537360954883093546641731727276166115944717790765615813394834872503237287530399887025040324279641590220439304489050650870498074244685820813880034128420265338207468599281268287839604195903156184892104147661872213526150823234627881622615878621528787003066906235409227445549992481568132336966038998602749298047230864901796301154233231639331447067807224554707521770885909235441337386145301340695636421528338827704999742259210792013289137743512583985979815580584759155069716482105290617639904433380444437240886970351904238002460388614601057985539324778258123315262946054319477296195002489907834243344989442027842946003562014918591590447063945796455619133684810049230271702661992843872656921188430623831923439777213570070036993111290416128993016112107720795151615012923228789524417235694116428228177831220965220236720668585425925208157057227927243634024944699032456084764801334846957416639601559434973059411852178405111237289464203170312572594436094055929108265693075491122664844745949146388300812153065744974511807726807051419548961103778111410055445319971159471579356447659051418193566666529323228368942816805520640214717695362728558478042798135292985286702244777114725753551206020322885511512653293901999056086627524335772702249375037275758647458418636466516146707501212939132657801540941505285000264178010020912680223388316821406660324307188190277145642607351950322521322198752187512340967551997129072884674799162967321677934276310584178628386601779494585088807914433912666545943156009639437409321525216263847230590642734689605989202137236644614291087553142985111464037825041818936702966930688716943335958562490797908150334923797599965079832895975996395046931982495966781944796933237822970106526155286773705502698443342574152981755680896511845097638255026934589337182798214015321798179096586575135171593175645342838730434951121040254202799172396025439286653232834135311479685527678874747256989567300172458276760705946973305778906282935821093215192567255218907128772601273923116861429268361023476684526201256052388922908718259377676405334736864730748750388014095734601244880129384797101786322348338955167548141948684396849295499337952050485687438415666913896196236271117299791508510775160726586227453667642814260360915403153711142776632274076936131099117563010719869398167391808118856042763189738338274375657627246786901623316165812687913130733779092678753435436666790584331792704613892859083589578362908388029067626073976721981217287203632401545729366244241704578762329752666111756167230268402380737304932994296774439459641232462857788604463230355369318097862949974455208968513321563184407451860102670597961122602627610957539113191956856173755736053264233047675317808691051489719178032495252182390796181803726060258552724132233989322967085291743716682617650617009210457682365807100364038331020131659023059989299202621049777690368183351547334134909116923803120954149622862481846276846754625062698412534779123069533876798947834491099032204434195621530694299160793483192778454515997362672327376994029037453393333010618277680341586074593572883508813573987400217871417284108024815806468608109582412510151639587120100760445161282637274393480856729262035313423649131006373953120064924309993399857288080027707995656315186584819077272277836328948986575130399934828653533157034781920678257700767497991035232178023297454809010606408264857580095308947908395838968907250705196765828138920117217844425575681127442410108710349912358614930918011871464868808528744243493825409507539700718809438306436831882278040181259020481208150561731790523745228158147946429118359566465720854580642845507985748320033226250861845999025442473123774410723601475359271914319805034220996501824853730002176582259054101534070973909886432989621175051259571837777022765580389111061631854344393505834425557335133125757838779556180139518599523117275796586212133023399610543949465888277238185394914517226699986328986450431557305157654213959582156379200699591195913538372765464002417767051182405228457516926355277371131047149491101009857854486218740982396853954048577184477822380406764233745468630812670023634386666972746272914934522554355057780826070357753417608248138853084831313697143436909546948530254183518875864379641391231989414089561493400721996121244970592019552199857114898614470746190901345866788969712801936236095813370029679831138934681152933435910914763279449999954453878186747887368859007527435851161772524951693580566161868946961128927891168390907399689741556549723721238267208589910590979673812143827760623656578684132594991929559285276656877186731152854206351159217776989139996144297024149099693092452931025141502679306216006729142058253110118383126347913963910098557711959739816975635751536781558312982478704434021937902844780641977253536720551735043591909475784185220221644136943016306742982294411621144002046373556632377105707539593221242055172117487154586222674817608872783554077496889015920166661880176697150968051571607878600444796806448378337734850212332453523104837821635649044228886524605827186968850438742756465082057231917091814540759374661726730741526231354563997055852208252025288917249142904455181462676631163210886981653970566213662551165205109775674274908530449258193000085358858398677931852775449194925284148610474878073738728705643909154680986987476436625448790919508231011129185695617614591756133587131522722352325609477013571492728057176563808023382435620997379866284776796773438674072143663586121177990605107516108823092294126144232872774165467500395769811024108338863740293947711238174961878636029469676544772719798972876049158751666052275449805109367310004060645376437211775049442209895493254724385155896665061795663724977115262791549760101632010038999914412833177575946017141650698094856769658491187455715705021354413436458663185945709140984521577257901183319984583750585780585470481276483642459860192105047640503271156888839896503214893565131923339785504582849361615927348886304555509809807795504742099493763846915367618314250664299064704227647198558084745942440511039162637027806091779332055456999556657131894436898608398542136790683752384021652353056596556432154232950757010187057242478580412409963234163235175189002969685089601578686357031647592309507166149052127670585120243794905818058367680893386192465168210247855950287208683199516855358532088732796177988949029622998452395706129120431346620330414920032671319492062887596996525871497795714878969904328803248101071575781102920169706065314859944977703008534716917794578115256601930316710069603255898952402697080688508091217192867494659155774802579751872320157033846520174784353325782782160370500820237967260896947444586208896735757579272761366943606642280180574426305968196096621493902893321822944834899368614156595547066826911433368259347168841855690472985957610087691577127241537603655757967980285115107542320634738499621321611280256866720110668541178873440980777439306011472187748627767009736702617045328991823941778697381291460035809435690656933385102077425784071839413993192528010268745694380037248113384448102705376032376771395769147636886708375114290553148083862657994743363642709381385124445486448814460534148066894433797696898790014621262221338040060731592004171312523036101658971100590854375587999664680736468003034408214103581491455791504399352124031392832557045517553471923771599391557029387522849267456029910597590235448795038814738980279208103919721396701669453793008081172712167059021253513361385222470960023383503524510723475298934601545998476696661385181544481711421753091816039331127623152990917100194312007912729453190769525522132053392068099683192300079547908722749099565283984218435036403225430847787688057345995282345853689419588286116811058514582936069586670035704895724833732120522424315709637440955747727151838807272695274167759714736133193724002032423505754721410238415226356007839202173651045358124707457136385975349269641088455013485309674794299965376193525753684589248848592697049456497747481440585878021610135668656214118969434749681360913353230399338909778089160507670023171510110192963028764277141364611221313101578677841962146112035898743886310494982506478162428120005360463440533688202354911311966435451800561056392848393796544711989531094069635859411088706574234103714346927901396507898287714413117277153957586356999961869216549428913961161782294428411890790375774458663577750496400035226969910801453144289810400460825157048580713736952812245658667733596556213046908685196407336851660321960591894531645770832970708803442541380057399518984066495814767435397554975055506348824529715153420443468303659080654725220099579470392026062204627182920546973102453023524580397665466024523368003403027406274812119780652713870749776114415196785343645626459578124796240908890818020017549221973399355427992366900709454967748506899108973551289489809519883546113799827157870528477259897481889337896625430820091031068587560227351870077284318175951114627859277766129181127291691548317167274999109389159746014501169894896665649230577543987354613105300214711088909806217016341222004703940902583769684827850044319462517631633337404407376090477930835121678669854386427187119624203211387664300044070794843828188971200415960611997124456415505922406923594599413628957177216488273686360824627770743011205526014502396284155857333542338767077135171724935284163623740920301938119358735467195563467730765149747361989178514411885982025935601178937394845604306815949439812212444001011348277317187090051091814798394378419484959098474538910655780502298533392887467127868542765537399103387561139497908743601520336595486187452857609760302056704366307002119163605644720918166742302870429962176911355821926947862292417915623246339308201441306091812112332908565695299544086334680471282128062639594516278961776828143044633831057003354908233433126643184597554321506949941789394429111059918523223392988897328374824020438798404396070076346653305771745156597291102845192983424962283390139844871338392204633908714522730847719221730881337516572993659196483082368980533543088270216553352088821778305510283072799826864722133014474779351509351867771714529574184377267853303922925539805517813614807982557613983730167248071131601851480514344937678196293365619086947013935275734918692662822717535867452424745946248996787180208883317811306536494520196675504078753969819502771871572351621488977241865575249604339973631387944968335597283195602712581170108514674165122230379963663151194322637369598560825438461122746207655726239554146094402611803161465943197687845578837250196966906743345574437620499036988520182751505044926327072981949261626449850089881750436044928126874282424970021927402669302179372483164727567419073048820489022979803878544335549578753724732540717525478919028316667977118757479665899615390362452271733169511609059297802116864182243406049204833923373319328498683095855006371115664943264984938350497518120851682046953924262018133155272845376470809577335770510656637085137858032305979710661441479921995006586746347331159269748680611992958651517250576446897102127979627059274900518094956281456302964002534117957241395575828985482995069736180294591304002369771825725060561708432316880864132080094693056522001931059718724190499388186853049749600384410946215699289482917534413551280530041509958790337341257192061924695598308335366267851754026453501256765381892993195198184856834707035112695605167522598599789412983165514249265198448604930598303923518905882106429824274786210369253103942234399608605113798374587288665630723865459281476526632944032365111434766093974218752797518567758247909998801334496127672419348898748357680760792107288542327535353710004484310692022781915251568123380124337847383926182995324098142982020801046934353858196537967410118735443774241725266801566510886311331624672583701753737276763493435977881489933570673918163424320473551500184833624865241960468819774310462655687311290499033289072370676198069387977994895131457623544044509368719363732370435432618615929444875556938981180137471254199742881494349382217818069500155482999484547558443232395467037638878576323234989376608054624313039428676038032992647225720291154345948822169966824565182817106271202393362039084547528322648243567042799511792547919433026656654842775226025219229697465206662957333595461902062852401316772003051771361094651170089267707569826217714321215739553531682825614369857138802535192221941319052595024236647176848757003098584338987490284093013403980293934492422087917680591172007835153818822259023750630606697983070760878796607206852968157753652496382622774575545518279867244518896762246681972448077428749917704838270953129851623544227787027058687934718218601673744305753939090065421187516671319425022215484172899100924659131482040330295362693725864538849432489586847251814173392314605374115338052034900170737703047511296021952095910243821240015367620301242601761436093830408917069705251008705931403856425702777903430078729253232936305184440113543225445618351972865796624436844951772215116427215255836554076863294446781814263818706346889488857912560800605034689745102578574073782786497714854490340105176434814577739414110292154320316225973144400788133864060272147326009628291565624566873882549264746168056840063894664657708774962675643172235354015044980317186681289231463150361815334761664464446432289159632795260945018088632921803018528071355767449321216797192004162550464088339594692115534390659371225705145212575037987238373303244822329877907423098392180685584335686504705077927557332067812667076752731732567272803083140778810558873055758487150584163876761361852336166325361430406706195489906140573248390380065091809580954575855817464309901568457493458519290997085714992868371745923142471823142765656980183415212945890855961789601456558780290020710771719118505282808866704985492719089353558687482910969333666126022460817339544817885244352537752323581467615378864239611860142584581633483322450795936589421448854738032114848563745040824838685842245923649354135694243636592047911225812847639077479234992492804094207723856823190782015689027101856238984449399571658946834048167659858829841450032554401708412878997866312098978080948340482113794295637087831005147539431927732108524604815909187147131842339329641506170964806865014645805107152632083871282424786873979341104573383947021284541005948417539585916981023092341813287514173691769547281376977375623226891982108787442886087393914007526627477795853786054503799197225598297948204643929334881610392010534378766844710297060002053309807427218720515269977999237618285188490139094564135767485991897332469442386478132147289023445378368099954187837398978496607988034336211836692138398511491966510196966073716041626241514163161736328785271904586490303575586948947202042891307935332797271163392864439128888974832894595632346957499114067915560718746050697034224796397449650681061163700534066330940542912861311052041108443518241435551196390414071979816128638523905205754551538139664328210981263803664560329769342342632081060624347860016061262684807357042553687776944019093216314653409015450962385743663616593590530940590922846474200598538857182002029171917273192616741795408191352280128181147516124470113664249999685650543961114725985493610026813594128001984444216257512419649202456855164178463592944659678653836790343722383403289690229608637808786853472483596891256471546458745263895458933631642052754800251173370902895317960703727867688060586807759881517498299946326587229677630236856023064930739439644303292205833450207604442067365871136544450482808721922410789957265728124141123355103465938791561713413611649981184732017416049254500383599468272602108971638782468908314240601289997630399669937302095413866002463222310721578271184280692047739281256714259534381734549074112501850349747182941681770976041560993033625966423263649167984513959425415081949043821196127739214865829721596927640213009314100083220920035419905861043831083057240189968795201355423995134347678589205797512692631688038233542397176147593636171224565431330495328032063029840456355752432460206710531256943849007563350496852329153941061260372553566112673526765519180347878898563972869389101717131589849133096628492567205777202844010665805065635407836517211333840624251889958620913709190334551477255642202814486771641134096510918970469901343609455320282047962840169853669978173597414460685266172926111678085266617301277325550934340860485648554092715140957390292148947568906620311634238881869905154187687859724045310503991072863120866897350654020232000440121150731716608362921524615775961969221041831803301975806273137597796526879824049982076293927422089944640080792862861432638240960437690627423528324087834745138578900885992125073172975643659166596817834044301026466772778798877245804845806105248801838337549543557780976700180114902120453023867632054615218499209991370729213912627516412457367673035365328587159158561329879163232230438497793092305762219597306374343965164350918876744150773147161825203868236455287474216444379588793641509923761838309837271643141854132675431059100855917173260039239360294082618211095241826303202867011488689610217085024012919025620781258882755897107850070942383179024799863425920682890690900060854457621857969446257364490359224362135697394868736910550168324790666648308272855077915583435587749402507161060825362282237866026674464310834253849911514726847941383043046292129438857938615627867943261890883998369827029655567438354651654355181328020802501091238899280679561090755028300156318991429915342106587563821998366615698345943994124891384112027986129811120189358771869744891000824405091052414866458266199769672777783923137270292266544988923691426104505513843001457208743423693147736432980899857548454042530742678918366418797887748873004243797573542462961011772883710205302981921174703203991084679044524623026678546442327071639295407861045608554549957264800458640534499169191100446170952742017266170343471705878329745573442152722772729906382341151366689374018900273510370065970491808940439427499293206857524529824630981276394128953023190536531010890177926148525665096028415334473320865958918725347249901909913876100915559563895441054971798939162252409850358515022632261108066867492024166180903787724678820716155062853386857066585866629451811759567221646963601141196457237303800073567047783451055681083559177644541999113633108739717676251500484589070513846574053321304769959964968391376428643267505412737360758608762311137190194212881134973145852597943225938194057349299800473423806898612030077223203158173099953548180125090933490152470524750583872067210211421409624705934049692829118630794418138062940320602615247730417520831116949801673427851389057859638636566549545243648268909075245950657346426767804184829087146259454424532922735826641875271610192246091201941772239056244024468306666294692463611304578344491174098275849530994455297025593539763191320618020217439035222050770695881657663599169375630172488699446807019712334836732007873439294101953494019855609525790199878464340509928124000440246161015993334165470586913395402482294212790346928716905313233014463972149079188810981538138763056325177075522679922097100136813297800791064459465110445094884270940640234705873136706794425633691569964361766401952984386200127905146684390736042015131411703383226619343776913062465724430483262227724324124445198338552377486990193771406077137184561220971347500767307387196570505994520507957260991763430900316574554145459888366203283167061538357245757791613241669411465029784354385485758193764612531733890649598151598006676433059464853158644885385864574165966996782460533487106627169552114454739637629617334626814034872881608782238184196475566726759193418504909070360715449415245587001828470454654691696345181900906551004235423176576144912545641416582041704677448236220964048715524599808068203683753605843250426916448112811855947758517756970394661785397274082517881617850678917111985954854608191050605166039098537023616939567249206545630865762860918681533131272545781075038001891975481070907101868974238310381430465207775170965223817679008807678725020700517399234819493801294143320530670454458291388956675526421161893157722863414057703604910987407209047544044687522995314228554805629125849846539182600496167285876850766627823315604060475280600361970456857277639676705243889893093672537545499542963404201294718614326694675815896818626351036811445450093139919978940282507320769434503702175355971144002165290339627093226223625423028311142022226053759583782840244601792815802813127416100417749395455899472080275182761013595369323611223291727471204210832563668007533106055747768923296473632429550859422805810762448159158909766329425717696579685619785080590431473269662442475876573089434786598998904917582680078962555430632797658322981898318420021214719910204639376872730689485607985380654718235722345436192532483194455419990738087947253796214842356841768842663204677640677609213210164973628825750098828683472345570623279644659057655714707931293211998015570098885494209987281208295232197714130262935882481203148585681369393511071214666424115748789531451721352491158026649880818156963993917936574598512829574426915102222419492636172958544428986653985602198065311651203859396005580061339106908514908968517776381789079455449775235386577716949168952440917182401084685915471732652353866856085314185615699044453760716767563459624302479906886516108075950309163139623233909626862238885623438636752228389542930395726672615702926709335067219631396480470250427651472314277432730683705027305909052490947950577450319758363955799244656000898871057121409394474635579476817988963670416415997315155938146578996566674791907182668803523848493075593472204684744382356445127625173740534582161332713368340033482727112574419505090027505727177734265616945481723399486337981744862290453917244019648260711673751855969950210644564652827836298279984204729531298167133411322008453265547354801299858559121025462776100285040997783976506865639867976102420612179727582097489311355263933638257079376300021822033443910429995334242324070397312902513172174611794492800799326395304221755590586277516646905394169896822950000642926093465118351293552763436538276437226455041324731855619494232887523992223295115334649462285894865387958028142612778579348042254606266166664001539109453518256017747901012791053920994248766860568662773233788794689566831149814050535739916684677163735195478402655270414764105374559243728407636080223994444727509100399412830192919884639569425182299220076950650258695017656015458351619811598480486995394941125245537082691984177593481153161651631797434867115656591725453770391107030457192984340391101427100148892836761251156471051765463870768293595246198262846781053908080088969684133323428595527510445277057542129240844003049191571948005902315603840123116929095250680984198521046725801657096535888256035884161968266247637486676637261344584997501180065847040111654571337012468409148299392613031045861538217075021224577486314894601960808207615736723517763981483452373666068669826311823569409565653856103453212360631554040001022445821245625053673028399547607521790720561263700941143906916102863686047379538861606595313917957667764418772307672373145346494906336374110741741695816489568760598386971638131171398419131283480128897626164129207897782290026254170112627267601185494215884110591060407378531225569634467601621336293158919713655668618946178958601589166963783436767209701082343606888282208753502116903053854861009149148851976791053828282808433182290530983070402218508689293456088432304105496336020833876929342733028266569855938599469317498724366893712001971239590291454509309544192986403808058300319034279749477937717304077300591215965051564138786780904989664216756483464730910376152636281686327229228636413823504812681981175771526799574627257342449073202868363951905684180509525865346823125536518080249433682048676862839774167093514492665376224667397137494864336377853632354860395934306406917346985780879800892325461336206351943384229998945306304315852224870883410332364698722205249117304333873117258032545096411920191110197469825423439630955126319232502091187952769222196242166923651834412992548000968185016475871231053478094614284796590103847332093105665118616105814288593293376567324527632190628425079823268569360500069571132951095453943350137122343239845110681533409254716034875594183512276017247136929544789453585342213702428562285218943267928041946701025758666367136738461426003623395571178585960599804912031064362213660672116810438432714086774690766790170944063521963241308816125229695733121875731859563805516310394229794791627987300040044545347061968702944508662987089415048127951784869294699707998396662528356968775655469433837400838964499110249964944544168641994675756584835254461843279756976609334365329710971421201283938940247263527233633831080574876860284409076191606567003211800814488232882778890248305364640362132477172890081553017723453007658374623015532265416119548109068417515273436666949425375596526617093935029991973147130321774658988644471692361148740295711464517624170851944813433894513145848483251442989747946271896477912229367679585839291110502901827102550558117422740104922622106791603098932193484138089236003850042783686854314611130847191536774070977898913457002138661010858067887764491708048138171311708860604711376594041632526482610016756567130052371042163640534200205824088076422157620620654649122078171017380816400662672244546451085928798698330831908834914220404837884471616581901011396766785118009258079595154395834537911961169481567218645027436769917099071241157991976649123597152162134950777486468812438437718375050002471270395426267416651205343648514509436474768306995858838228714542221666901009744912988832925023904024190073552741000538201229649206512281941066019033364245920463267079730883078025297066348772672887777347296630420693553900742932349215004719443322590756453645211230358881524513187514775511970428552219348086864941832442823931414274627615362092134921245034300195910404817502767409855784736457951077226597770518562690664663478115116909221787058123282113935856394403552799486627999628416410425111546923043050327088939634623280744346889475298225437474004914038774195651855363262292598593043558363766667905609674874069574287409731947108116308925215719732149242000667993907701477581815076422775043054002890109425950071290264762478802551056189876886944538880237402662789482083690398495790652666737523992099085929407825240646085768194819603134519367064066822522794428222539181248354532136634664108568223789669929956164002165721653765324261677633939584162819995184585659258690847628878642395741236772638899057698474659118702901794522466320512082500534619456141590190304979759535543354409706614159673067938411523625212339856091035954893813802981409125759464081138044376844645687418305597733518543635775027742344362120421892677537335480873305205507241579500901604829812481744278724524296887560874998888358432961944290353257794189211887861221852807740090068258735128936472435618645334547463632451598155109219024438450391841254071295620460951743203937361001097290767234508912136954620460985173835183804207604916639623180077374898921315873229952061450038165345183582508353392851739036405921709077985584053357132191693144171776909681347025921057801211272460263752357050802409213378446837124956896860637388725508633645633746177969292671890292745808153244564288923985913554641007227296228447116911621950339580697010476506214364468827481017520625392182743516191226098770720558842004999450951436569261603840598472193561919090401376866912113708851506726132081199467296302683750339921891062403695174117783005121772858118618528322466360398790683088639828542984764454255875358750666936558120257589703732840445259388461132807114859963458102382919304737155299582677444422682692259326976965949747130220378590234804316193458580615525643457105202208869153918744368963856976820531742679332253565472183684077827317704699546602556177864277533693930282383084893716351027301104863662724307765837064202710840239022689330984970394002593023143907533012704901307969530423565825647852531356176960140255412633956917939852986543944795342531786795971087839065305692634914184830219868516544603105689129385165232581769163408560370324688032060857981165001091898353338835257364548339981396826853981395044431464733441089843497048075298275536306988478569642581653842039837956820521950624753559229242044680789353633769340823668190658774333477301624553220143767353442254025573655373595914110132899412460351632512479951502861170749596322945213637876927417811960684719460988524752706150038685611612021100394291404081068377822787862849600687870850909558998930662356771947193297534822516936764263536092896069770456750494915347974541906313341337639098079797893800006522870470440302693808656532754232072849814274803668430021782809769657777232199145011844921822376257070097178091659600877927821730139231300424359557679600371143966575683099152244790252040636812957691256775359480036809292943845853902369276883158922872456084104243846158531562717376227930817527276991540404981213564937802854794218488191148436834422072210938365046484278620349775490919808823652832272002343902479849410183500960865932485773307492768859812105737278828332703575271003982696996851334397193437723887257933970792613503924271164329662342881083925578490223587490037899888796105656040014734760032128311614435850251767163691411215737419622481347416002045540434288503245407353350125552851516382283771837570923698759803929278197896559274604461401332380838680202025690999945101000340322054033780360304194940137839297804271661453362078250427254172741541399224190941667788427221402618526793052578741610254559180561037053439859665107680269920389634461645257345197654566362669047796653162292480678258694130797939967705786837964275100277334360304556536146685466861118783922512797073498818616842995970933233856882228904984505697668807481931244083410102963618364225796641837407315050444962253534918065181727391291972744670388883704747452726140379679609241444801065832909552545131138974690172378901952107577114688437602721683222971619017848788872479299593308190071792751182244613983130198052586837928140676661336530377264985516616211620206112571031082629991133145979585135716600373290273196821261553654562430590909106741884927428468686805442425671435198590968017370793993056196026079115424154240498972263107066511760530487774752829251034465587310179840300740818644833902360405941756616178742806737260141510616410784353493775144438539645814966465336795695058832566875090286220810812146533307222176563134378678824292175691198838215857314623787862717462358931056122020295086495702004096960276473995046559746935723966070286201149632443169849291552219250858597249037969640493276066901436058091763261761714235197785093410831429956604856546913327653068829805598897833939252224159911328453538901997723407654379835529088050472497533778354266984902465274425506793166113932252186358956960029357436906250476379869808289745297330034627123427913379400469524804826085046405941122128638374919457295702743549867649649158191303604563831239737451616047493225486838003305185659467249797527128729306030522795312356101022122561880107289083451291424962771829701929444511426406709451681612229990987856704623074140193748066166132623706780816032215797798959588871923539515919411206671075758945021814800188479853847381917441133342854015659550831870412691952220933737933415013350057349294390124492058322831811699045946539545127259009527375300423427595263450675721079821711664135608661769819170430318684044416704226390733071416343883782448504134718833785391139349144459396254503846233625182513695663651784057160933786601959515007808114199715812301789079548162012829701438171609381998398701602447005044040834301228501215997668707655250935421633022765347294628791749957070407330298704426888919131863099066281268308042746294764907798738056850080109976903570048536694280809805268860704525925697416594281905097016278118141027095550948904209470333624410913700436030797281351917419638270447835713040407078490228469779425618046313305248702959833798817523323527209641192910223758922862842270665554444967093994938357333869721750903320743404735878321915231581582019623716175570623384249564731160235638473857415609658712096678719441087430886168942126951907559105807665563136237997013154868673974620613083759736316072153460145220616376703216085975945236814784151829496616755073068721731457036981222146654065349466382022540040029146629678553192363775851145618970362593776064677568428730056053312561268544505575042211941232884783449373882257989832967419594809694136448762611040341074368646045029463654973527441537529728120849296147191662385657977557476029332416164434995461079248118777709082413719470445779534112701287610396202705760582887658590163440627066042392520356746900176420686300733229999947291680094768023406829205150445304949440778389683311755482271959600074363351630128435388330988634062681479854501254407139352558923754196789005921844112045432803530665645811924448251629985208996902958170664105203950481849003402168960585234308045928902251408530254026019349784712397415888563963356825436110376198683823567963224873813515183929659295683703718526921693837064660961137577197730391899468882832979340713534046186013282592264249512319576071663587357812005282149621979836371663535891231419344167535086121232380104432255799940688873581760754041521241949462317215230369751983897784201874246024459437548384937328258884034706507929344747296389318962481388110699949039832145512575057691759097185148926018534038172808937734423858219812296201759360387773975478622514442563339425922878892310643975139619394671045025180045999874043974594486488576318962148907222389362939487093563277996222319035906758049605511300382216472178158773219170378138499393767268885340214967775033065192345747645837536233661351045849759720501091803333085825453364215370133022066137081951808637902545190417283674028730651262465457859960510776820619067938230624907828809963287769534210313303988423606863998015661240514094039532549217040111431736499969875214969761441782548655507484882414439505673155125935516714122354993462033521762696833871135920788602434897583548392262201853500177742676570837466557432847678805925456213368816801659800281520139145959597591647394571349888745330265305161548995667851142586827096341073600096317970418166273007548875014510343409850369763404598295244047945156059770499426067419403073629271061082156250591738265088981063746476401989150645341833159320183234857333221753236322161875339760293074330926660051159774343147430517825016189001521473879627786768717015380921214873286164322197869932804502128629556975436861823604657435235103323618312152368395229812760847479152050148040735864089736924863600174590276073633029745343874822033758758246357320440478903528537126197017574093639284352723627678092636302762864240620028033604741228983933556525728418024203090547530438791838321557100547952304712486167335064717103120462511201121902774188952954396392464970462933122240882841194396358672609781308300628864105356880777333960939484999282539524366030840780431834288629183635462486715212048457862840904931680466872979223178342540451363455147091679749372524047678046949398460321354081409221387376343104849291150781436890742078116475458483418935471975013716188044034608678091773147429549537862071437744840921530883508957030755824965055830312359547257113679226939412524327445858696022297683358138317497027299108991602983673979559027320279016282308014520866146715393188825220979394102058017175063356078100394393885933048764986087262267643715297926369407062263545792857510284945541603189892247413277314251053081487094494599750204146268889687462771021512842154297009738671001084413826450494890800075547991504845353079588331740931701713577340423120897521716762054882782170850853962868928466506325689453791400163290295051964729251709689069286636574573549971883923421911848354494643073539845542688024964486597127945190728812502288677064088426536238564272402098011871566609194288831556937239572665056260145874503982454154559916205228173831198646502498692386737282622446858600314387645866208645131565092621943244611052222861662340087078802229817131462589504924973573418308753787485352661036407495405074368516134527260848991269976472574577252616976315192161938031681497875960298241537700362484918806118642260613459193403040972837123307859153057262244516880062807990194850274369900031729844957860045940484655980457778578611705413369069220365981357606617121221405376817576683848721981606853186902750155885308951264045400243073982759694217387373062602395125870126021299658334187364768158898700196275548516529582785409955722906376705942757627862933461576103853844333369092695061849292199215547494981013279040304619153373536093175311133862255100544504136837328656046320072394525218135131232030774283079968652255544493085101536765897967212057001182652221562368126492665284739296809434006025180591868741009821740918666457340419821077212153723392626431908012467315034587378678535368263775609482337328644434918492048374391076531257853878043864315026489953832627956411988425423617889087962419802008329029170616697509360890005832958662412915530851447157733101127499511225120052565279149562006361941140397521306778111505288594285323339279093871298090833490248779004828016060609894133792327889195074787556959522848210888144836319093634130489312230702423658068564739519103664004203154421396921090464200240925233199833244853788209728709067894687861666760628238841477704401925302182991585057776349568072097092138508267523031408204777165684462158406911645928324435560635228156736949607911370078360726853350901796711550326654855985570923646913819960750061420453655273325536410706280448465860018169497256129427606098734721386718348511426989225227917124972735495456797666822288304262464544113295249806573902325856642177756797977008007821411141789357589594355208748857354729483977027103817903645947839849774334853350857980634546919820281181912846111866956364941487372463926798143467697900525357218039714939141596318577999594973345395283395140580960641790896664164723589101767478126438703301133195610175600924586620478706674922221720379909222592267008209404366877243148647416949521805320046661910505790289447836986476198356716238128295755461671197238324268568140214512707446483852583847229784424144823498260709087451547846227923202790310269163023881858117720376152123757914046884739852944269029295074771309508419113211229490481808390944407072170481991174684501991494306362332092617677397994489013514515796363399551722100250509693450465992546185128983166165060758086433892341346269514119788712214658483888201061073322601227050242062064710376634859364776242330100854010691606730593172748413266814701809953982279077013170420699323902809514368688766657297181838809472195613866981365482894643752406056342127158813146004530128329552531511526358115918284627530044807981986886882261117935366892925318907190538546827089071889981946815879131898184781180924125922598504962817197866841491838470354562063779341366589220809800828441179814174938354334123806334904398763371888523366358373557014864412806741638294422693775072914719798079812029502845443026039553883954505391325466408925708811156355597759188040017728704706065456962498976501050506861689330650559667486331796972301884240236816693647091787862973700850058536188847336843476811213413633319660251128698726714844484591169198261436795595413574557174434568743040719769556742920881697893824485530003846028648383809746770450054061044650298286785854533150619659154886866898855927905684512613515392485275420082664847952969958950438720384583247477883774599610398805703502884617279230865835034508527769323225352725073794942978613627002833221715290310799812848218655524339179218909134827539261674384617672546527225892265822604970443060067985815829665479089719168869698651418304759262271108334988804706556651825554385067287403438653044392609366816359548028867319590933170981318558511234398658095909099294610247228993639401928110144180216405483060129782502674338885071502867160209756634271622775836934026335137827591546806294516742441646557369749652733347630125653751806650432728176507883683319119216108919899894963881540072934882752902118472467705381562241197021260917846833711270120579129300784495086460841641073061046401892173668763820800187782534869856048834101481024941789892423933164548791608940385609617674967097133835531751717175160124730962932844297386389661888981323776701799094740622750749133320441990312347725026272144537271684884898836739770831567948901081281595434533203713472915163598927575057873602232764630125953222257766641963859471905398254681214603015485119785931450039210659220472443878230683414229551984140527185925287508100627398880096666874631500548015777686418973510796890805834893504474343715411434711979098937249317829549583087324639907301329643874380409874237668767148860281417350276860248587512781803824387562467355754443476758972228907855750350688021799673666752675387548934165430916590949328988319643255736098743253187317931465638842655246572730244058901639793615205913312342724571787247506220006874165627732610801181448880146548634374225651104594829585523844376078873115818007050704731614546229984326388301773411793921098621654839683614970850611680379762131748381575993262820480064208481181802470648190023890669912199284892728895518998629399212822729719656138977918350740863383565655013292142803913863805879730985786646204720237669852437199823067535600439601554748709444169076603381386362699114347055409153798473363355586442292984265206680546352653302488606277076897375770129150143638125189234693662160565317976617047814420261728868546552314178190086526772766829674751814929239660593242723759333978499401418242146684542697293830077306875858281163998731146550032187961413499821482564288945714497992662459370423810170008401743045564536520419219977847138475439396083150187894381008716911559764988877481631121239439371071053272043969582911864937732752574790021749213966855284326693713657115644806774195466682724714999211799337514114127484123467726621035045406747108751472760505328748151732863291828215043885741787043558884387034453065767704568939795807805181943731460075350619831458958265321217470506797684441646864926021615190138794383812330161423069382906011648355386386123162026399319954241764992500667459550478781377132436919014717338907924166424528896347911719452849481800208571856126864542596878221735369813794063550057794075836757718371505320453090701681743324816230527924544129612437730655382972209664255485866835959022671603483808655166795502473511490524882130562317825470453117111376189860745255464937394051859561627501668343360609528993368675953881018405079552607246388585305970737837460222872877801678674616257343062352176664813039379205522569687272572776994601048394518833766313063709568146840015465942819443403505622768237326412744479395854788738956737467739149944109161781825578025028235746366250440363171903367327748732353460063800944030612242089860636624018725982026146351997874793654168901131734466195937977590918946429409410821775772163247166856182809260614657933216988028615252749044384571166101819968364568118010569116952594073091324441021102038378427571567419555145988907696671098906275277884197515515450397478799309758325429669369951810430618641578071864197961547690784773858021704626494195724338266371073539431877211090928857566796765803164983353973135225929933534339054705871881796581657950855272604058495206479898268389810065069103862465533739362042078447105734072387045285028481098029470828584093433195020742780394750557136502158803184757532174806364980488583485206859815470330450164790028189411218942056086826595437440900202920988453696478002623704449342466522580571807612394444125730037660094001455112926751879965453214325575288137754420701533659931937402820169838632870067759561168168027451214404749165125970623961576637210203440775630071495055501592630703902283346366279821381153496072846965182977945088843825706386942097085767604040529374991126211231257124133277111978227369847525819512529969201140679164943434941984360477842378405112773382142626111553157352566843489640913615023755839978988281918201087505893186139870883062343247494534800632522460674119877706359470751476533174298473531840089971642560927905137193105867848405501600466628994623737684981427667900077669966333087564656300947217764556168446772589504136853090083389701487780296699599056345004446198274863534845436690195372976357394275270582962307688871055756227063859387011995593438531452680538647288750720635427373787601648119440623347444482772963006721217436175992153913439600218696545196274904221944655488896896873626167827567299278244549818406278389467103829061489628275632076067197792198126197694032645051727637998494753246260248272364516690290116343101277676024128843482321264319147261920372836345003725693164988296827776867755811366901066710918287729098778190181347183072336211383697566235921564992382736383178879892680124900533475662413582592950999652857887207920198888971912793620685339432353977715662590659305582296721850345654894578182437300355725588906772821889897488241543588767831549911233536341185524047546951606093338688687099305896548128446945862592096373473964209008791827959853949381999914902326149931421805426186828255617014539490563543679651771326613395642879170988652081902965043621478477890985332604620045289675377156473449916920537253052979060106809686021260667496635686055460072812539222175995494941912809519781522085442260125898395503777400220391389339355193767281783507985879617313012036068611014997528843845244238078897516970601898776187925504844112383175658292084585568505623725911198276091106981178826175596228335715854251516464207052805249218538560480912720819100044886704996326101659158072285710637379472214290392369765184588804368584632035631146019560991191692031154009329690267383191691615181244171788342724472509949525872502621737694189166319012212169059133888623164684882912905439889578678614763889903112881900828965696945239189799042729367380407209481086646318690524721233378841802959803213046756237043578787829781140917324641009861685877287816585860494766878850420302149969776435068812652673999462559757602717688285549851378474298626911612438