Project Gutenberg's Catalan's Constant [Ramanujan's Formula], by Greg Fee This eBook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.net Title: Catalan's Constant [Ramanujan's Formula] Author: Greg Fee Posting Date: August 13, 2008 [EBook #682] Release Date: October, 1996 Language: English Character set encoding: ASCII *** START OF THIS PROJECT GUTENBERG EBOOK CATALAN'S CONSTANT *** Produced by Greg Fee Catalan's Constant [Ramanujan's Formula] Catalan constant to 300000 digits computed on September 29, 1996 by using a Sun Ultra-Sparc in 1 day 8 hour 15 min 15 sec 55 hsec. The algorithm used is the standard series for Catalan, accelerated by an Euler transform. The algorithm was implemented using the LiDIA library for computational number theory and it is part of the multiprecision floating-point arithmetic of the package. LiDIA is available from ftp://crypt1.cs.uni-sb.de/pub/systems/LiDIA/LiDIA-1.2.1.tgz http://www-jb.cs.uni-sb.de/LiDIA/linkhtml/lidia/lidia.html The implementation of the algorithm is: inline void const_catalan (bigfloat & y) { bigfloat p; bigfloat t; int i = 1, j = 3; // j = 2*i+1 // y = t = p = 1/2 divide (y, 1, 2); t.assign (y); p.assign (y); // while t is greater than the desired accuracy while (!t.is_approx_zero ()) { // do // p = p * (i/j); // t = (t * i + p) / j; // y = y + t; // i++; j+=2; multiply (p, p, i); divide (p, p, j); multiply (t, t, i); add (t, t, p); divide (t, t, j); add (y, y, t); i++; j += 2; } } Here is the output of the program: Calculating Catalan's constant to 300000 decimals Time required: 1 day 8 hour 15 min 15 sec 55 hsec -------------------------------------------------------------------------- Additional REFERENCES: Catalan constant is: sum((-1)**(n+1)/(2*n-1)**2,n=1..infinity) also known under the name beta(2), see ?catalan in Maple for more details. The previous record was 200000 digits, also from Thomas Papanikolaou and before that: 100000 digits was due to Greg Fee and Simon Plouffe on August 14, 1996, by using a SGI r10000 Power Challenge with 194 Mhz in 5.63 hours and the standard implementation of Catalan on MapleV, Release 4. (which uses Greg's idea). Euler Tranform: References, Abramowitz and Stegun, formula 3.6.27 page 16 in Handbook of Mathematical Functions and Tables, Dover 1964. Ramanujan Notebooks, part I formula 34.1 of page 293. The series used is by putting x--> -1/2 . In other words the formula used is: the ordinary formula for Catalan sum((-1)**(n+1)/(2*n+1)**2,n=0..infinity) and then you apply the Euler Transform to it. Computation of Catalan's constant using Ramanujan's Formula, by Greg Fee, ACM 1990, Proceedings of the ISAAC conference, 1990, p. 157. Catalan constant to 300000 digits ------------------------------------------------------------------------ .91596559417721901505460351493238411077414937428167213426649811962176301977625 476947935651292611510624857442261919619957903589880332585905943159473748115840 699533202877331946051903872747816408786590902470648415216300022872764094238825 995774150881639747025248201156070764488380787337048990086477511322599713434074 854075532307685653357680958352602193823239508007206803557610482357339423191498 298361899770690364041808621794110191753274314997823397610551224779530324875371 878665828082360570225594194818097535097113157126158042427236364398500173828759 779765306837009298087388749561089365977194096872684444166804621624339864838916 280448281506273022742073884311722182721904722558705319086857354234985394983099 191159673884645086151524996242370437451777372351775440708538464401321748392999 947572446199754961975870640074748707014909376788730458699798606448749746438720 623851371239273630499850353922392878797906336440323547845358519277777872709060 830319943013323167124761587097924554791190921262018548039639342434956537596739 494354730014385180705051250748861328564129344959502298722983162894816461622573 989476231819542006607188142759497559958983637303767533853381354503127681724011 814072153468831683568168639327293677586673925839540618033387830687064901433486 017298106992179956530958187157911553956036689036990493966753843775810493189955 385516262196253316804016273752130120940604538795076053827123197467900882369178 615573389124417223833938148120775994298491724397668575632718068808279982979378 849432724934657607490543874819526813074437046294635892810276531705076547974494 839948959477092788591195848724127866084088554597823812492260505610094584486698 958576871611171786662336847409949385541321093755281815525881591502228244454441 718609946588151766496078223678970519269711312571375454370124329673057246845015 819313016087766215650957554679666786617082347682558133518681937745650014565261 704096074688953930234791980600084245562175108423471736387879369577878440933792 219894575340961647424554622478788002922914803690711527079554550541478268849818 524600581446651786814231541148785540996651673853972761469701690439151149008933 307918457465762099677548123138201543601098852721629770108761574781735641636985 703553406726493519631695547672115077723159004483382605161163834308651397972251 617413853812932480119463625188008403981945539055182104246062921852175602465486 019297672397405110395264569242978642124240375189267872960271773378738379978326 676208611952067912151263821192523294040692059943864274693215338856671173308271 424083326592032607531659280423102309973584003959403426322276880701186819617678 090563158159784537637578356373590277164883131028876937950535073208018075810223 823080317625043294247222683912297129553513551043147618866554743676921841201887 716179922856205635220547032006918086880661211742040609924123487605154068202262 559504812485894118735834682290423083615554769477770831940874812491674892900659 369616416623436837075439638389451440119556487381342921229820013021079961922424 924493051999235858158082603524979985059186697220123164897104830701793528112228 966355128317437352393011402792389808744569648309013207877658785362301354280001 629055877295006795876178247374871378060042208445346045064702443258085164777173 903196028655538328281415915248735263307150513147882844999238663243198106336515 243311321463900933362159160744482923457177454817169580181688900175285645046489 139090420356029836045652425265797270138586757653899302958449258692189788644388 819358114526770563160609737684654083694230203816826392458579107404870879877852 426140868715178575801006023681703491797733622196629537718913853116739965565885 912164628015582629873541376336076073020045591202946657347571852745311633847776 486838248504116301605227086944442703644251242363971814999234960838959168258036 164749881042639483890042940550431502193126864230059992926361540649262664186583 594904249371523622068403940370108680740098440001512465343535067233845469463576 021186762114341424761178341043127306116782248833969915539091310973231066781117 485537679027231845076545775699887411395686146631581361573674061881125914620397 423401125882131569075175754979658229689846231329257273175338302313533232870056 595688534175204573932758183513982347678009261426521074710456668763134325667275 929891952548849037809046546488268575204454695053813498309021460489718319387780 863409014168285484524248093104343217724788778248739486061800233415225914146138 782700545170971410457656614928953108672486080484204376637936230213645817798022 720882738071736711299822289069125763027779162651035762577038104288680376054636 303337940367377696744757171918712803954370966413877226626889837311111602004518 593973174764621542838460162144526553720292552051504941828003032550267579038252 786139633572720650890367820176258573636602459644914533528141037251683822090097 101943680278336708963314672497329503919259298514966414498521873384370124517467 421871213110205726174340134056876555104187866544518902765005382178609412105353 899784905982180023067890821606141367018393687028304544346780536499566495053180 837980207950365835227622006506786177171095672005629703023553593373869771832835 337557262344415664916005762666604199085276789703504193295554568745338842121304 879862000928706178007678592735175386523677348535053066125396025536280809350562 562821347432394399222442739711562755985244339104126180433506987134104280978456 869518977668882650503756167591535473173668135683353168588440266726203196600785 194905261819016135540883210564405409027216204498851041761292787884227851835200 704439460961571665543448392802592501156306227650740050312351417656526449943042 570531502230552233576634208943102385867060630430297719853224212043298619528633 162199479803021651170071853216768095061934167286284674753307211005511854225758 629292681406381602461376952043278677852351940897487799588262651018857167526448 964259516245608164680586662605844328281537669209501700131691093864391470033345 906701868799246483109181855848104631118954767258303668922657116990565431759988 680286731145873457549777440562265841337924742718870078268554656782290336462515 389898481303382848801578806646984480217166949381713998561787717378778712739969 834267499971632268327257972572115422822471585175485105077970961560718370771383 998265316365376758124751878398350457588311790755545686617395928729558719386219 223573876438607017401059359744278581411271395680504961269960048434583896436697 014771140329178065084925873008209906179587580402996618292021820696155745628810 980223576195163967867626609736795492343789154100185728989816837858427303612448 456532426353483148925506480782198270518366562137380923695907752151698346526103 237738415089830658136487130918231383360055922540017526278742124582625282370841 549068233176525686246245609564332012497970680412465220417099693819728527361263 918229564824346904280303582683293573927934144962552827643618433542620664134683 156370222632876839087900597166332580664331095881812753248627892980094868158902 452714692410818394313034916873369765811519402277339800954019992521514349607341 474539039230411990899640390760329165111929551028666741487888146370780055212485 563601811272094261309853801454061531585422664625843416142595014823689366366735 542832720063760749018108182214340861973911548328544384315811917349722801704172 459572971660809528522210471512385830056016372167813179800095725635672059859413 601259647770490028817068063068944393809042066274116418284908815132355567686236 301149153615835301929518669408266688060717443297219890870195003345427130936321 480897947531976335087806006735145801884222411475843568459595642012392746288926 431857096931750781433192768351309119874941923765705532160176241226139675957034 480490314072757977766284315056551277393854632895972421929264699107855832088971 233051922897717260248197053719683239188010267755856584529891014031105506836583 574883237481454355676661805833306498942393994388379965296325401019799634146428 782283377256296616846911720121828661474404077735591989241075123126002042456108 959229931398206017121311234380896737575014319013773810588142008068583268348860 835919739558648453632085482935260075146055373154056807915110104867854204502431 784812177640696641654466861923921035823089944277756117355726622412507724360772 601174557283433060318105899040780191874490094925401279748286924188618885357723 618971933738259474905697075534520115315402733311828377976124717015057625706465 529679989718223087381422674357748520494951554930115312237349799758257618202831 754452121431136790914270888108434238961583657657348848869901897285510569345637 556197136235680510433375824604783740671629050969122053094969342273645888616180 749732254029065265157374208441696502868219289687780182022916709817519263029166 075560544631057607509820784122037469094403481232669125215712433087010353789034 900090664329264372577975024182433028437809210844805131449637450450720821172885 237993949048626138199252205239306727369305935217637216618890419427844146908993 764901848571379429452377041302501047569886854093043365370302936769520956382771 770453471932906996474983798241227697609433107940858403105491213134469627575233 133732110803099242578856580410400798316619455697015999176218878664471943175469 916497415202518064488778879851669666905018069611778953196777655119951365783552 962285756790257213860335416088979846955972160571371734597829251501311460097902 373072412036354335883448781036365025215337515426356641550685916208348770008127 064546983842306741350697392385488411364274333848991803820765123559375590563012 417219171980889432932113650166895367035795783718714129279518231967750770527301 435566890987728156213938442321621621619714293261707601370746636004397668423210 772544037792407419121770198942861545330158425131835182081137819138154235421559 608389967085629516895262671993966405734193091489098184941482188411810178142374 557350988488825815942045631984223214360317409340713561767809014347986994190579 589435555830750700972883787924906533440124683055020087050873645653095557917071 622999437962377763190566337687723700887467453957110781672472188004312957875214 467796449960511800034246725245859539203204670880889789317541179493224981308995 641838295378715037761463626258511238016069358074126973884404030409739084583137 914246290915648409556851262693103058511292005846401659476028476552408610605191 022645863054054032634791028174912277615366809620188627833142120644805591428083 298734118414360771660608731081949848484492815147685896339154809451338055599975 013469167678833652319853053583863333532935249293050310083172054433905050376413 930794611946777014640762590492778084651343952309552492153717435229293942988546 906689089111158690716054868384732500504471076651958754718458234785732434368548 833783871995617076483652381581775882106687691199738438887994684127831197614230 187333481444190086170200582604207251386376554624596299270296087829284515227536 076813961039567082881468033399263849883851517369906170600666320063069982547852 342755408169692580300982931288816845379325227504659787688963309573341060164659 585398436920742751496110274307126469676151836937086582026277051209542930439143 547965918260728897001187517345029606509198500136933628468394612030247503897543 589083078612913460889836406485044857015659677762794641541803525734051363485532 129950844092689612310940754182744027351269370218532477846540339600306219998878 318039319704292122495067614229002210715292351093485086757190433390511894693203 488114952940303089160914952098133026717570241776747702048465647977984387889350 893780320701044377856974402417553704657109846759091830221597568486217210138708 825254328906985144629218157238053861792363563698358706440809632911658563595614 359386346282238196122201356546966739288220771888508306195019156452016298554213 864386433761993145383651868918258176647027062375367382370897020672107900679360 185682046291587722285956060402209937565687974455240910912732822595108597224444 778399281565562088534838269442581400691380247361462202060899736983794449529070 119917881219370470809089734189712410315397023063331178349119734076268473989110 612392614402045318979278204807618498097421856104194597221642281896519731426902 105335385078269228032681905896448698926177536581470865895031857067258439249126 646921556595921463358417125127078556409733127792330834411800917211931482603316 472440285309531133416801362768340380656843956224901064370494908671162370101323 936333540331303482946612442291832250784904113459290936037071391403701640573451 435989843391250388711698186658623254071786832421840463850524922402294215252122 219746627890892242630352467165376788333616161489703724438114898481157046067438 588570956522791783226579688826613323267290015053503821071620540860875544294715 041219333078364405375830493287051435015130482451945497585034935205259578117234 780294001846247692094598694846960880926178711735163206818028819896261746322160 291576336869342567715495799463074610405499304632691317449812255036823267710191 234996107792483648674459526675230581370250480362465582246628910898031100355785 864480880974065849602998145682158416712262174948833437240976047910724363838702 614759709497782154721992961544399335529828152307598090888043036003879566321290 037402080486911085378912885547831326375799173473825279867518797825294506726570 553248628326265671959763322223727101073434792672964156546247735482954780949636 804529498374256495295751180048643190939852632732319051479912514631474488773002 204989667095501472083994719960636635875356737862996568695026670954696168431842 247284545920244602392896107022827103035172738727688234842665225206644088771292 841615804886744133343251154037199885483639749144086796114104752654810592239140 281719729298030588717934532522003225017422123424499627259789994079535389206504 191411359720721803071810804828658481244097035637611762987368821708516809351849 207641693156131384051153249286540942623014541601333466224647952172780652175063 512270382989521794534652994453209532643110873190584673587833562428457902818905 325423670980697735617904021722332265296608533456708737489454764732592286378040 464543812334110833044112313886605097457586451390038632625853675631677303165726 066164971471045067086318102875035208373241249420925145863198760299645845391231 563618501170074844874842829825222624397182151173215342804107184187974937499985 389146312927062586396363808604706577343407074173237281399459278759773292381069 105426202092090017623743082240629560919253171645226238046142833198930030378864 216946422876391023458494195850399013687152825184022701277950490077032067972245 576726494718932952075176404206425327778659538762171514621960214546086626810163 732584419529776054271644916927322804715192822149159563750219496725891245630251 662137729008831063889719577318471276609670576831516940848707527663026427136687 964704635676134598479176542522578221100923099544722575192307068631241750671481 895947389345079039763438500491986214881356697466172437262103708610949660153920 575627883088430812631657873324279779021954921514023668810641852019737002261344 485354433767019881198593723742825257717612088862905972995714528259794444345278 631918691855992347139345792525814782111551008070114520288591962778668286799253 672323017857780570051276153966878614481988996436475683377592289986040495779206 342202484831261285713483876164490122176195841856656511155230709621720979670720 461570744116891683989474248051336261022394412037740459546819934919544947711982 173852904788572628732840127540859220601520427534808856690645381336067422487925 263856375601154215213408721833481761715874307589068235823510134327030137170155 496887866539602187975257704492678601117789876720200097787383699742197019518713 705027503199230369743860774349865960858925384896499959607029009055428471410589 551467154779273315212485648911571787227374590414712195315294446632232035605558 737756625213846765330501807117669929053137742070952382617334181862731566041322 258032397827978329610482529169611577432037579163796404635709757917196640060946 909140077500849607829187532921089007544229799088223799242189625906431396534002 886687284888385516959706454562877126972675373896158863230407543339416313845440 066845416518082188833668970336142290974282435560555786773274815374657174078164 039163184394768495919702442094996275646063217029545706132900852860132498369952 292361831145643469409708451089623547805748399929858678225400628876632880486754 223541844390405303995076434928497123348376359779279588287274702380527623618350 690981823114305192278639501075089361713244560009688379588693464215682490648449 128932106915392161188059016802124055837807361892792848509090087139995492422330 086779797029557548254582650748704538807681700027235815227777187744610078008005 681922549531632232364957656829884723952152282383196940749144923498368863633899 700135858848890321792792843510119244981606396622859428093716216179397073596629 990042675669829500947635254185491168761918744907552602130070096115629703210306 879997810294365679101393266363354311282840552810079586584119761904239883736720 726175484082860097207573606012948844803614028655777522958925805418772793007043 124612956663699521186635958949075208277649299939934608517739459803010449436146 201743761453083076488017286650424462858361949422217496367337622242243039777886 035169280577628070400702868841349031007143252120126499090811527397048552564096 859704238829317489522921958806636864183121885065409789898960713932002140968117 844343650682552354545065582311056067566983675278925161362206482131534555739670 668802224958214283585091057114840045089214440326647438492613796148614536758167 945969362737631199565326351704510043392228494826734911792082137745490554124530 176884798501689778977291710660787098328146947831255829960153956423007879788184 894784024162808468788066884733048214486524877732314756996803153236229106526097 050805326987653820445373610053261235810666365477154897647273051668198131384366 944245848103944662129762769786601855298401659189970079032133205093509387991696 140762083145819638669222005784388969377148100504887807669944908949649200731617 820644920289386802777417536594959968985756722695396958441323760095046871993349 718054847569403682982495680355776974552510816871207299349477905840558610094384 426055494596443757203937970166469088896672171082428054204561695792660263046961 334241195099158741342167641916823618151721800916386647813101933390325266788467 247343409076050429332326678398250009202030723798075632689068928995766258120083 267416391488349942663027880629820074902491743541108840159537935577452808322782 431320181569682668326045229932540798274082280236106493448252601672114215207412 198466894550411580581095385927328847716454901989405373777732214742459958976451 867583786929110720544376968440047274519609830320319454155418822265657311995190 181963200654131096219592562474012208706325238283748814560092340146290980231000 153641270193250746927006953642201883072782925096198147285469500291118232704169 472852305398522879898358611903680853294108726555095000098382545160028798679517 882244213037763436248564903045544606482217990443398021967090050535331685807810 455964180403631646716682533587738514099100799841463636623832623798438981634534 721854293792436913886717623157534221268686589410661390605319281629353438820667 788840968644044115465375548916209753984638321421332400529112532394644604722928 313156815174202369877498095240805015411008360994993123537799943236862611142070 758226320852115215283086959391959286957520048656447899901041677195403288427606 747303662292777152724739500283802658378868989088766918529174998275752938322794 578876201210132756393638103726981793697231393707526312345648135283580643768061 100979875102128475021949092737452460415580986971650998918284105544674939395496 160016830695695274784901890735370358622923063354871841988100724816393260344114 116868694257576055754530889843229196304829312399026141189698439294191977930409 416541984481817058953818522851936673013086829405889187982168273948239106832931 090692023415389622399780718066235821788770335677194453040498249676213897374516 379875945631257152314864776866476953319652531266494910994911563945825468502300 596803942301164483294374292214780881796604549842817983982160074059890038846661 847978382612198790465523587286271674189191713790876153035557090624636395105979 728991992681627648827249215846327323015484322799842592616855364308960252547029 730310840455016304711286277599496176569547149368064994774883007372853659983634 412565708882862576181822219299507481783869310862228748677558916376478323088172 027724073168611455235157658514729001298731429502276219971188618638083953531312 744289024611847495875320544380718539137517188569599188150936351922318408404422 472331920169880959608418291907986881298181602289494962341232317306985822866380 270206173160551040595167685958643600032281814482058717708658207732249544432422 388838622071287946513026873334693822886472807485614747700882632930719330572247 017399994948552926714063630750540591863174186039032728990957828948282423111956 066955573796233950124452271928435165269971607476957092112093613917838015152980 352241540441040648909188179866510568691639649139667727266634141667647912076749 531286257899139198686408615564369937580488114202272734363732456956052806729440 170919812021322410430356336128077568023126546516868465192242887798687220537455 503800027427991305412431729225438875839858526467976329775063885572870445495584 471769522159054226503094437198590713458900081205086464760107785538257083674187 530176249264127435887899362663693148082506367418013694765085142266537649535223 182009716735331250768782791220363578713300900992391233529484208519400788434178 596990506984827315922021055529861965024189482323637297270373335723942610446272 347738758848746953782099799630782524288733273760371626306042942545004460327667 872474760759843427424212660082682743724607374049925753740248635103153598300001 058819807784516073619721513525470960752041640752107567985308434221704041588569 398515046559591495796252948533311227610489155065046575586425787788963731499559 726647967826666897010983303827023148663182812597065153299700903953658191973845 943154755116984195156844298072261347164254988473147613699389753101650491472109 873156881031060178632045599216628005081932392871812705608637401677502610702293 728527257316924151463133972719882233994255776808714551517882460474832366726986 591016391974951455800287998631584471910345823732287899712654691877716912889905 406655995379885112652859645177499650124281523481785011887221687608529999688738 964730810790136848754318217922985875807979409116854880230753413010856277874617 065057705268467486892473036452215595077804811097663862050713010200448828627614 994075987909497309356303766908538741329481097989706920315603886955349761445121 399792361222994958743253189592526859218787816032272850397628136338704318109238 783838852877262324202331797073888495793957519569277179895535853853672281644878 937707771006009843298558363506781107615402037618538114203568834885764346129304 567211422606055340221823014074876701058739066494655347264779091647627969747336 732611113921089353661686748221653720025298865086896566291535996167397456855012 309093252068463437475160950622227295846296254883573230981747719508172615566261 132698250554511674424246488873286730467197902668687538308613533670412627949120 768891726702098374270098851937068786260965415599792496104103858299579403601361 830937998086010368373590650172912332458821490019463981552951599540414650333499 350553189156713889047888770606289760771685177311354646563283341793553834134410 082612786056166886356649168377323610760569276531776185302889633191759549336054 363536989398512924377726514967078812775292279931309084700404218700891471754339 001065516079299932167464009488204288672622556430727214246494810776047829506874 758493278936374220265605264716897647843703430805192683347618056635065468722215 950979120953475916733903514266915280744170238985042662844188115427493476446200 453966134618113152384599661938278745602198813825141234003861715000457474379911 933646058342197227778605323828615016951200447742498731377584750318319198002993 457497541915784056477248278947771211020752439206419997831617333373256200887159 928232087771273315585204992637609072473745173006643985968060213584358283071895 307080827638625540044220479097308967909678353645387778467289838441377020689588 982981674163429653938868760556011939364222719005736877931065400119527451742088 176116152995141257263048172829663856856635636739793561274742905903324550338432 608668111924283293118886853526586553057316211052322689598383731369229143740087 954605690950585818180025837323865021122274850521097655993136592990508106103605 434637758675996050945457428806055181268636606039385389722302562845160295113795 207828325197919268482149547905582682953028921987187723474891120518175666000402 184013766506129265394198320724469256075226689874967034632533500658413722855923 295820810862328466799407933609955568926805933718617364067621783127051294006453 669706247177544104458444525626350917494633792341208899705424617544307916293577 354078364046154824449906316939756276202904212749820653413756748647563164951336 229573957501150960956917134569693845248654484214918203963933376883278866013127 333224439427773504343323400281649823707724271409155385757312763689757692641751 458196399455653851564517514140376213274190180755104367929769203986023519959365 928744042110473021780846083031298484853175211836088274342217859967429095793926 010273795994153193159917612386548296463116278652274822494997768245571795554256 150928946576597696551757236737421457140620078890541408784544260082899513849588 144932011479703875743389846080079894083853695515631622706682538655004425212369 338839759483217737768600867027083248256761193110043885198379835419820659761639 714792002522164547584032656508906833957660644981261747449235462807397629748294 389921608238687778738526862881756493617067018404275186916283956847922331159595 695194465487439529244447804405865830788125095610110226309373006924196094483167 558220393574935743767376498685652516581924264056599068166032105777585856351350 799569318750227835269650951857572322839225021320760031054359676385013274009638 785289261892990612364608381629951484516545911985582412883998769156590813664008 814023343162101317498732398061872442022810753327818378620956235986099513892259 203275876750827257159037262354681439939689163132435524039188879648593076075848 885614701967169381540149511697372752517444516562689033182063760211942984033322 852526174527240680898751064963132075315370483240708356278166799033274686796492 287566694955842135473063665135197854545004082407349124761088595180916432465959 887759263335743977913115663148400547187099363646262106821430064928937324201181 286100002105374912616155031961412345063645941802595926742493442920909222736565 556230238234706230511104796734189761914326914887707938733203453229526519827417 925466086594667030140763659454046597584966223993113399718262625025946091007232 123806818134756723000348046776374726954413809296859468465632491039819491217940 871892994653991539926134269327359677632020123410110344780507679797247667411918 181815497319630038768293649893566179071245520103284467384981999997116994650340 126607373515642089693641448574935539672428849172483996958743220679749660727002 618944142647660188419901100434643740506767690243716952269588141443581312064509 622534565917991569636497811463032374322795211547871587941255518550587323393314 918949198366729812002297159855040764517901467926272144574587295391436663616910 969670328956167617448220672748738672427279517781233370516089885929694929244449 742283039927647682875973575810562804289331332505247093325982791228024862970706 294381649958799923735842177422239380822719127958012068250698072804526226926655 139110539340090929905579070560432152921842501512931874123656996375006443324772 428841243049893510324708789327283658126504566258695060304266599250754223024812 442169650945712987881272951763279240540288963591828640022776571030115042781356 293240015700207538981395325444515866179204612013530946393928270585979205963305 172803654924094677427755899864718071881293337269553960901050115487089817765820 512022821411563667487136012382608587645301063564709314804688581597689719702223 047255672003461673999505538471774317867416599648687864400548552791445741554098 576440407075510828815239221568573697715490086357080631225050919662898605474693 931848248119749875644105651063636998726471855244095539623728116411957802443269 046687846944565367467582779392467358987985283074719956494545269441530803585649 035002152979425264395959639891949216059973525821326308090971333798882135182256 020906264445303030814896893872473013339459072078096772479411649039902819311515 628497029100941364118912852913067569109714569152107789092414331771415294064543 293643159480299313467290184301390344454709741355211194299878527163014534223852 136818966445413435346274440792084517806009894004856839665852822773832241141158 523454632425591755697655241657648394067083861779409771033661017620957244851366 697436198174929304095124596333635116787588648444995857690317460733312380405026 216415220720209185762386130248200634695858829692415182257216645604795773727197 034836233570832908452137304300338945968773683386780976963706185458629263472491 705058416712283876553306989180426849323853606600684023663288096269181912903668 938658268778004032830190301904436440667615584348775863075102165728390784604393 216589041686197943838347609769129542128179389356385009726461604747616844791203 589236931388753287614359213805616876245245776980372410014315857979747063047413 361914024296285966594977667529431661489203332992713144440506861717009818236867 237090236950897186144914998991028617357833505967980565770723134452410156379005 188860349238831842070897161052218343221813545840807843150720950611655378336668 907154591791174896992962321986545919841148453627792638293879576762359442669069 425576495689934577726834380909163467969274084562251125324661947422469816337589 912302351299456949985585467164438940122457838046620014849895768928296068583810 862449915131786533461842546595855779978085624468600015715829893667902142157680 183594175607548826967101808612488413028785250305864418344066801835187932130638 591771247065557249339220056524474359296652694334156923220115649639063037052828 266971047312599183470481859226887702297996288158001295929117777352167442823841 993092071910461724774376275592370454224800671179729888277239226969446555153750 915351364995802574117805532174338064464234284208846441723814827554468345330085 181155847624461679212943011519608188039593038250367329432139476830929470925529 254103100866804655963684250937366621574709987559596204844204028107259959775032 867458755248104558477860402697144173502728136309719615694242178388489177541424 648012377311139104497478180917517717350270676770505726235157877435229368713495 307278162342588957581152862930302379543355844237983987636848635960281083279977 182017297207454837456735444046629803246575054878732368441082194049890944136933 312055392249387059869784320475965194858300187071121409278554210130709586609760 475258635421392340839477839442107671343519490687553690712839340959348674785837 089914394578775276221959814018145497650903526553358965623908546754298140807447 124396500550860759208206486581563381509445662705526809630029133453215368375040 853622463805850920218105680835015050350462084504981871540051014808666273244694 251604857188334494480457041254664799294731154738765105464291457438886340564382 458768672687174121207599307997664718921599869873086015389070019375420254421939 999279905759794891878147267043152961316959097525821051978551267522996983645425 294634620349650727067361575285326962677792830876378021149526647529174451366309 859783322270189277811327182728378074782689984203106372783131551727759639018152 898656756587906208924815638105665502862233026458546014393042464208297022586620 146263317077085346405259169086385056622755889182881249569958010723313244588241 037384967512227529534963593232353820937438209167999023793841543728755926020882 094770334745183311114473193120656603864036065939897904856763305922278828394405 208171281242948288336552446581774821123238185892665684075792071133697934505212 648076065263900856661120476258156553695611471174583906735218359700587066847742 669689400146433985886004078222228654633497772104925619824553470843726893952599 864605354604550624648667820024243649427480128906069218790693007840130972660574 762086252746370289433191418505442698949724720074619086520872081059597903632958 106183770969226211468762922596218892835162473753352545136868244570895740250550 853526026733395844123115717678917079605615447634406744446172196838637308545403 167549097899648694599992678520357325234849191133459748031997160896178555979012 625671465947559218897452220419473449230199587793194555555429903566713088943777 713686619188585980970478582359024081855649194813872367907130331794180776540116 118755688816607427763191187722600438033994973981713619514502939440012152756749 951223082384671878781234465956379634307196186520132465549083963213266877996291 794292368065670906181908866410819472280274312584726750950098207209545227790851 572904296003480790077941969860602893598122753469496825194492660091276454976521 103416939210544828739603413106240017138012247921770578214381629499507736024881 520933301434875178216752038428374228296103618401059452375982040345158275883106 888213051852565521801616616498572007052198568375250909031168508435098247703502 438010677593424535477917494140071308413747684577092849409963748701026231172240 371963772882647117531040770139034724231157754785286901497065784137084434430265 996610458420816524352799622950409099842268672367272256975295602304949565461758 131959302642899954446000349436152505581029319389803424201423309625789231655927 013419247123893026590493421713596629797036418630400603585649983448355652605110 089166692878737116011114876667601453364357692418467697518184966113493204631732 808565726707896936922354972015179131881296026666681832068410156717462252051231 359871320101084998996211988192119257079648348991220590585863304311143042963099 324494427518708624002930860588780310005159396896046247355228120959394774076266 372325260353019180196271213246607358128243765521851853950583166003227603914564 373351958467346011255404382487665114366137013647815498255894738349104958817704 248761818934648050518264383091671828872082042622770233356023223427035591413419 324264347557709313454940085110314520880176756645858606487750716722231357473394 270332707496354010089227692436876379929659219247170451013425286745479135846877 510706582254073796784756636984589480779158298398254690618571421247479067459884 086714149237664742787465111731572636470987446898054132407177564890158105495875 963685695963852979876422033342606803203491937840009825466908847672766871387158 164525161596548003578534665214698592372842113728432275635918140070604782074117 368530966604119951318837879744680091536112900598637347222649270483315454859827 447392500164971975592912578451517736229684545166525219788984386670229777377293 187895618805913016874630779109813953541825218228420675532394427159194863078497 703003811904886601618669635434762930346396905899265031860858983758086257586922 468984529015776779119838942550582907171802601671469858684355891815822728497894 293660674334849811253318614816871112703009123731746265614280034637596476398084 311417661551349309310816930169264797959301877084177391310893849127948511582298 584736378132221893792436311583887386025292968276213293246363914432191469001577 203635781603837841898786243936283109395199017224693361705140393035591588222555 111544075223346134825222776183638165011815501942247356712204027337340396081472 646739480157406406106281844362517227537683500971748308458045373718724709794018 782396762939679736626169376628188805507329001478462713848888150202990854989779 911289740673482971146211315127948101982223083783415747984659961492167252144239 762072888282225995183554274271472646942132316449160092270462365279175993088937 328493953680299419210534596095541915413004827916520341203821507326529664515131 676922128761456931167507148789753886657718174248145003455248035598053409465137 356368846067112151240547477117060047567389642878187729481258498193704352582950 717758914305191176277789287451694288397919367387944654862317158862566004606035 656667437696707745876186999790822816887128780840808003528070899004842726103178 514211798076450962632420721196867995817252872657091313818570424829520110957843 853952258615487062963903342788925472065503843889459002696076340980765179958799 864140593292634854311769430662895424534735801633777460453614466443803311895306 851035257980956969966977888247491572703557261886357079565465522499591723942686 859534240035292262285728601560600007992623003711578773818407825873202481237840 454869863035801635582414699983481899946914263235501140476049538946274903517910 407899305050242713781988763240849045336325276065261024947015370470572319767541 179385797576345171333978068535869426414140163785307512296531322466009901708185 461634054221468681139886431356370278983003922697733531205056849175466125618970 001117943956720733588590644346961978011277511334339120354164480743959541661289 654422309439645076631678958695468198393930037218264127641970196548095905645585 985303403690357216056231919993660917123070886818847926777405322242804806709587 021352009150343552200963546433899739280909764356108057918616941573698554610991 087047805102069557797218725789704696872640920583328977484674495085328713159385 498763564424466450084913302673200254023676177020996865253539873445547057104180 109496295555238821697452871215913030424275162741980166087118297088586021569225 067982508203840239752018838751077630662135109476272325069842161466776479021502 093436116232087903562338031179695505903392034267059619378085488389711108603483 526168940702776389300139890997545028569701065369546179559316046845424140447818 857563623811363117942335729353056803396099264993518226271622820465534066310041 975503631586236709856988271151513042564545052867170319856433631313076854415941 227963364076248994175109191881857664887603755572408442355664374662256878667470 468971747352796908142734004839461795994769652934515161791764695426483739142094 922518918126184114996972562520548373880670953221358302617724503714903419335223 389139280239669335589261290043091354004911725766533004845387760628375698008156 357781728225924657266939581869052641508745483541023230040095663160930250391829 905892450499875903233932066298529379954194570848819915267121122440320574212362 965131712697100516225702366969820061322322310212501684197976242470085637396954 937842208372554940519028972896701196948837406381535801068706992582507416363305 565323781005041555944318351280011533651823810207539229486581530193233937917503 247073353659241786160597312374287970726438892107551835056055185307356488101586 773431533353059502650607476368877980878659432524610229371720561220697303829301 274641268027265654519684405650482414201956060675521996050445049169268806251370 393281040212246499957642965758207267062168501874656993745311172013630242836454 052610452894296045891323489716108174460691773756124795995685121420469354989413 701730634590059579483936744503573111029918952745789306494249422690026373548589 988935592571072686146500363585492932796293802104496336049960008004054600493389 235526867176429211006607050661867523901141868503555402765142567677227089214888 895537104484012434060560476844454172144471092939453365412239191488625316467094 306521537817467054690660488704266784595216243798324014835987375724155805634481 896020393322048990380411205497246329299975535703323651972000566246162905447960 704837754040086227657751902436144052077743591948366771172584005110406025023635 255518277799986470269991586566048374472304296110564018628307883121866269686529 469126749767151061898082647254252890060244783238542727750482005523983769632783 745380410409498174344813065746641429988889222440507065339682551361738808076754 529352511559402201950654661613978620557435178677570086906013851788257451103662 792658445614711171967614756686006014708137568789247359501153737124377998734018 591088979554200177521635893278798842747129799827114326743227206212042998196319 258884678372143767870044968609045634164389330905241258447791215909409636975852 203115912081164554952936959557174993624435186081342898711658726065657355130258 761078480485346824076308537316486525226342977466575040251685973806422233610108 327376312839123911296211624876745750043681561410114840219767598673414835481121 159866460649305894703341032377185913072954756169477957051302649029939530767779 654302885617248444675901060835964664432896732809088247620832572873783665581189 091298647409158223975038017690010790576368558353012809782078073326501528248875 538780181875109807694963650005953409946676524463486326713878700944897277794019 853847679647596245780604581683416291942089216790945612183164441974668668389332 689513944746775369688300803697711608288301427500526115818935424999165044542914 328334442862270403985939524243806016746764574010158622168460886279433419920945 239046900599413909533405027495954510076934282921440746827338338240764297446425 786768886423804095030421619784176734931959500644424604647722834275845014642072 225788177979083497328299849236899806824308550967142538197871678058726768029003 383119949105884698680257972873775466412884957921961344262063392963957552624853 898376030044713299434005831873957541845950107794527712167297003974351818687998 263303879775007369456609203560175910992123600837279272110452315986621355920338 042712194531138766190595195218889761013010921033805735286910666797755601784733 226293241319433303653886944816609476159684106506047484138455026551250639994934 974968266166441066551802139031058950942596932934888181984665813528399014893630 327104886103027153448352583690071146754785633122509245092346847461306563238553 435988563869996601567186058612474588988257925983049463313311362425041150367526 605943976465359264532327633223319860751018547634193129972821972812936917765373 540523212220572346832475001299207035100665762384727402360384697885995722525908 452266062691863282211458075828199250172308507115002122057643943620707427834155 896022955746495351914508567512874929794056708656539849871744412488817334535608 559370237478935102349426821653449679328500582218159689050573591689721439132211 505274663264207286280411226782559084572351779478669479383479157704906403912293 550330704112102924516835910335986520232091882997202408484458254568473159485768 244652855633966093047981447838235749952390643296960640427594595079815050322109 469784243288068591108941898937896157550820516744316407054439807581169313640269 129171642991630385965316300822806706949491156026615212738584517369434059484144 775903620822556479341552719416868004921836995551781485477483975205304202788655 061495348481057278030041416983749059686164017934133669334073734527178444912947 843844310462935739939040902980148998649493484704163930702722474652200796312165 756044622687359632494487164209199768090613711885941521436660552698591646263533 244455996626272840802559242054257589343986404452836081389978002591330301930935 822517563467904835451068538604861286693116602588843283003985569850855644133262 542316362913236285471166779905984501926940735617488269912585186782940707967751 150931013151606826822434837858579588080699722769925602037462882249678118817608 764564913781718121890224717594255690193502795232086999862955596579902791443423 675876662298314474457760598273183265393271754842407551406155089120484275930345 732618374685191590684516417544141463803609413979685388345041685892464127168632 344682258918568629454602204920565917797131358285154200441964635331344205736343 107130843155119302950777358076785333838806043196777195504876131349890900191839 285347806420781619856089677472601439174996470335774115534142316125620869833514 415443255666118206765463782722520773025214000381086330594392760644961501035515 195682940796852615119190973114314917635464466963432290898209231476931916894038 051233876504421677622559098506844870085773819681939574597939166891187752003975 484894753853984731539026977101786567209028067996274932072141402973814580750409 956165906615444836653859373403172313481336554123086773063182166745969842431477 634140714093274019482690564864909354783091966881846894497861616837624118800499 595576365339220832942263909490543421202423024269128152029970981965109215448889 818066900033607371471091484162408323949021267341285654658027260921634828085880 748855012536477024921745418397124187124108421569669597589748265135350443798203 083965759997554814365041805360513120861800406348121131180290885645073485818852 991283396147525216402164179558486194788414415783743067748760119420846998469217 666130660970854460378980962705892479414613607001351406000098067552937395225099 086837806617648871141489685093851014973462906463980638735536838024822961970953 107678125915303701582241021323554465039653412311688557103292746579314045489850 780760512896217951120032656796562348385200700994523791869572917160992023842683 603310877353834324297886707684630403325940847966101796013645441455749556065367 619782569899289462263894274594610021451010623547744567867548842470976943316566 036594785131062843208112125111647545970759513170677192499928085724418678673056 455911049190697560267009707943927062464783913772586246445549797402750511581692 295416671886194831700328217545033892173871635914930862586695047048097266047816 143287250174729268836963059122765954692725163394231704179065872375528280600114 914144140325473525153569834996837500424912583198617305817914463408643646517014 384505600146198789577900341058993958911473311427734011816276991607356658068837 502801835671154187418527402547729677386094377127429155823968421254103189433944 699588705962289843198226883721319870786721562042419048560799358298042900208606 457935791525970125373231053163710610926563166168503587571334680640307679940444 060789784545099150587498693813358098925574155766622168159445990260477765693393 931216548249783317133410958497891874254877830512545721745065724343551881594387 753854615182429238590268973411229929684411961965320468358857634687757780554977 983897659194982931496779168443842634362136985362802597385703491909556038231399 171757910567010882026918478509552358527575926894117897413809526891406292117233 997044116162427192030976316146645584489560353375212279875372829341702420706905 059232617908642659322837905012854473317758315343848132091117419463412138432286 513401793430140727156818872732284255364226988614696519353160648231191689157480 230735467460101311459723706346551419057523081807153666054778103118230543782434 755626986526098929094483275413545332730921866673059920770211873754030210312471 250231435904167477397929347169697503355720613802110189216451282476075054123773 831714851634463699647740038350278884404155447604325320758536225050527508806761 345940926740697502047932552889701113035082680958516000417523028203574885929493 253893036111848604561009477357170470800040901672145007440527035872960845507272 144648558151349878080608213521297937327044332259010629049066537039666180672782 406562030489978637783122304282099018084037969543771874184021716194587044640102 262733599818158593365452326877598181927503979385709516221261073350423776989468 372171875788041055260048494601649203545440874627538520732293270370348086757836 354731318063340788128602694851019869015427702324096815909854656618366149329189 232805312897454049507998283066461027269467832369111443082564184517213405909467 946847373074046195707787671207246870191107888630055547642081880771811961841198 339685742526988316544528516443706474360152793492435649325764903595724384550659 996092411284327238971798826825420250457224063981923009556383103882365498074891 808266246695708504307674001778446545911933427991389597296710703161405895417906 583737939519497303263305349199089276731952401302438767455163591284266158875763 373008347740269358406294860128411305206532833977935893610781186355145975692621 671550684936292327964473984063457314475231823708556136851652853747956348776151 214230958523750381025030952742157322061462083953085032140689572374844879111418 175913457973488676586418509863128339777194791902745154120250992525875815799668 273496844816356224868028778736605417341699916376566538581095634919642246410021 617453036166646767784493191687688037604342455682325406325888890510255125872387 020094507459965682207682022372401240208209428136831620711042665728552343755203 994535506870498582151881444798946681763590435724767487387031313867273666423769 572620346130517620869612270834356271293322754244814441539762720328603234137383 411832281787718959075612047446860928844366507065326401405937431561702125012152 897829458463913919521671255415911203662617446988989738953558976129096935643101 760553413097616200778317663793839172991822217771699855527631876415362159050295 660065405609429126673910583258757789975918507663262661937192596555297915514056 319132096459039262421449491795986762741875170656564452685195881296548342882035 648409991274621458114987659408744652471538986596487203211007939581684178653887 617750304241325568183764362430899022510058918663252868040989769526515207654193 805642961777503783842477034169745357141688754466614766850847279648458465706227 774334151119299751212043310405492298062443061970780124885833964010844208954972 678536603328348370824846333642251242034255438554747923490542487369732412155062 977695049576940322598840527323833838700773547494206625292385568754759528367361 896950503254975105475685582904264280288223133583017113458619750197844202320417 857560471058859095762346770565043077877585358715489938500855188951167005590631 464963846456224224185199851310612230676179904894428488317825175065443465384251 332713002302404383062472621983061047601858907494381215097083764992948968483123 978975240059120343706965306631739923470616819681720263900462328085534076013964 292364420123047678226703833623258852546762685363678261507534053159337313071457 898910856926960637345974288402225005290155209988840428093453917218475809170375 130608136420984855729076695828421855736099971976403540497075703445820150158257 028881134452044496425524101031249676626355293181434949379326010482772434184706 399428953446222200412993451422074481419033378931555068522756309684544363912187 670081612847742123338998836148123820790426352672021614274850622618875836948419 117247948330004158287340051234018949209028767417865440211256360975020769150161 031730685245191308694915945691392796245928108995407625899546354852238544875799 414709306507726768451250588734995781768905528225674785956202175853620241580733 897536259435693193627514202350752121696191367212237935483432189757522193749511 566098362743671674688760399745687626778025082784567540835581457350675069310164 155301861754793662772940834922234871893773711933435647383144721809411353838943 428834690549484721567494897166357418853498986877125372894967217015374967204028 920038091977769053259435538039541030192310486758936937681983639059267156816018 726405672201424250916680655520569294405829809380194330572029684666000783764140 181555451438925045231496109100442498254576145514105068210088918833396704587811 847052148663943918028156428711765630865258717067101332225766604292634769246899 873003825020947509408732193929797277222165184482521437363062661500906273381471 560628172412951169410227490796850084604423363335120981329924781063830188851178 987520111870089499394340148384509314528032587331166957402516900180722639539584 778356843138684511354462605623290430800164514616372329597678259608739620388021 911696732268061066659942820250031122396075044597321369468855274375199846159302 264318400938016037620588591530231147507543217941495241386152185844100046721746 115786282155320754268546341641223324502248355197457494830997598207476203598458 553861178776117091611842846234733965619562624561265957583201139977697669929410 552398382522334054848782257697172610571825777899998427914386750694009828253560 700450889999265086650563240602915052527087831535674185366150249160148918863598 641716495484203286320898579528762221024459958538098289846571759564070795435884 464842786147216271816063827634546770146827533067757844957716681596836933120493 555645785156347445647222403411023455203189943146677812758700717760229128727812 153884127522795145673229093514770123493141779551529255184199489045458062174316 770001872914625555492636719407242868382751868497504021067531822862653277886758 587589757047309159134696241766295187506504909034934147878753083391320447372838 935587328545023092096517984444772427884316880733145759978893644180777361910085 676286644684416438176921333632559039347700334317377649647362575842415788444300 889485233208587871526500050691126334424439657315439126316591822350061381939077 791838825713002518266673724016276852190592182269900410288377422805113108056052 078907550382208141733415258597812578309938624405176604685506009627970458408524 914433496782639748863395427606256644086652031456110728562669475549760734155109 018382873267654318810455999039256211945285722953045128257626090844853207330695 487986853042894503115900609655192019442937099129267652651977565699367821565176 327731073958217689669658630030733138193569356262742174056971132096329824880338 482075266443578876440829041259871534663933312714557492180719422508250711103454 113839273446889930330260209356542595437891137025608121320817176226975909921549 286373510996971026838929130590866671079852674170699633224731776579391451674911 507086898977151541247764372088469142117156032678679940233613284385816900925956 540836728033788083226282383672243265239126834606480895610842067312646227930911 047885276570156697783068404501043891550072638396555048957337863001594535232806 742782621794145876980810954905584692695563687777938491604119576120571209769528 050747473987152244806218741352587051914357190035697197795186134880988579157805 497669972829949362856550182141256796691879327842898697684622775611319553259270 105727628576932101618240207318340848714593413824574814675844986115398865478026 573052647433215788443367515314116147090038675905606603317449184506126408365301 127697010801326956627169221791523627373515092628882496998772443154350299339932 305487039409021519989283745971657390840365529747454139483316354125955313903699 327655417686394191739090020078490755799608064040240393400227427229576938496287 941375072020260615285464160762321102731299468042845234326145442354980826236677 599043671010624440478921749266099575746732816121912517035877384263698892251137 590990640323042559621426395288847886272073948955784597303877278159279083019503 170457488052751227697077672823869828775825937610838545322184758148651835644783 649503364030188741468964075377843751228706255233819394714961873053299615055397 265476626040539980121295112636823006489279880905663785698552861168245756804575 540748564845952644012608180583127216136244365248134139163794144634730543828298 805025016320843043179771580000031916599487025801898709570317981015727124299900 903127147591663397039087130900010186740175386236999607292783050152028659217851 119940002202924826116539988995436569081341972909425856243756203895973059855077 686803625588713295629021809123615711745739465030992733939089154027056430027259 124742663501578662046901175399606269906910873036000992726558957515298129698414 631510780151126516158262638012046330758897950105597007380136612714822066681481 200948629085685340309039868950439524351553860343508410242603852342770736776818 255307504324948016173005780592122840402228140884311230979332474576121961936090 079208295450970236446427689669746975228593895922853876651108081759069742697952 003307911971690098257679932704885820161802206692332435594684336505386467358120 739976476215800855159587398020355754628711131642521099117403060325315182148886 291172758840023978951163415136112106165483391817639818075222987791827830523326 610124752434358539772955456149275999510009618441807305035616860225699526465970 327029136587005140271628593504058197496898406640182337888682327645408505077457 834745144933505025988027575445816623315328396381426319399594137328294358629930 054103650728011683767852227914918513853791943180631475301615532353678630907546 983539309426311532033712122821426536039340307806608698699124725595897422943062 923303476104606328842584959924540855333705753675672097955939164644428883631061 799952688028052073786551356890661309140667604502898274696593013959112229625236 267424899217682051159162592272609923363190673285646462988591597232879160105542 412876241093947269235916336623925095577318762005354573051229383960130476281764 192144605177896157420509687932433184709279461807436762756145910129371843454601 814504106207222599907287247448767459326118548149394922954203855890675451694410 246817189897142031287294121173133410592687699363167276774018600581131413817362 911298442120627982641069904888488513655991138443003150096600074997788642628078 379083290204596625706369507631399951107430448637806643282184302823362287641288 629359357830149411550279951906482457138006871585116268508146194149008954906372 355542243172808403400419130343162150133835831815377990630777933707834195839007 152363375974961473949116309436436425591373870808332995852610554224020193458895 839987876535602712847917018737489026266196023324061786563755928949980607649658 199000158590371172110026743376166840495420107735819117092822840294832834445379 905491579791867026918553423690746321851539896754909723582169507992605314492112 024649849600536930125687740645491776281297325278262094584479450871322393052928 491601587956584106679658706436811624733987637330356167526424726686319774762229 270706975477728367046885195187929425571030500102230198347832637286045624647118 073665160234667154368688040606601548490187399388331028172331758628719177572131 748900095655408202637279800257722693625197257649541986165882149409049141337464 714220749961792860059051138559868261790059381357330969281268002243029291200168 077828021778078959944888068609163923116361324751374279937188245395419076451351 425586294626515993972166209518940874093715920822569843128928971400185321069449 788197470943831569399645290830133744436786872466919763772149859259543307506266 525046525265621017822730197531004287306277729485858315051411078786108783742457 152918146691279138245357714414146619797241124508714102177138541679373327577219 616067048599045357831044004448713385258930428638833753312791397227068545977868 543874899754492135774101921727278195792329055922959196471251833874405116947106 585491905108986777511061672750571598494054119711669170933998913143164975293139 542919533994425509293577260797415213802299922101112189979205175577073074795395 048959127230344601147313421949906045194075139764494779213443821780788592893112 236023312057099323697677580334060319509918965377144452276225400433041387535406 835700711539969590302500829970429753124789392137970126575555695939051180379839 001625750683305637046070897595855472723197288278811173723966983384721159475042 795820608390963282620830936706323770793370528975534716173771738635978064002426 244448210294773392896629895175478975465079145845247618691862834443031063608662 251279775401800173647373796630594990068687576939904517784320974887535104405528 246436958061135014934014293973512105734179152861547966613023560518322225609101 030230730684693856970048894045116155492772029437986224167680586932209178902486 787482341944629510650508174593481415019087964439175109270543742252351897822491 512371871614131467282093307386121193373159737368122885218280428272860105926851 223412463388220916475660514471715326737384868499405301221698466093190332397253 717441312611129865670364282631114601047844155987307307953669638066420878535397 037434612346766646088543155000089919001676730138630820946218535933783656625758 454732714739488551614961114004346899681877831136200809871446003353897586259675 743750829353845811464521146707022192131540110258086477968054279265554575100934 619342862869970379278804437457352319318314435513739000945465920900161796450283 727586388033877246991162327235419077831277852287410343030415642346839298292476 159659394423331946341850529195490180739482965548325158279393018861990265346806 692787118775137014145218432598934057872019879834590560986872280396108309589565 722269656947489376758771171599138294545720829789204495143816278401431863343394 611057054747292927150151492087106859769175224170545854814523336623869381293382 259218371364395860041670903544018437775465982100580563377685690828945830874830 408538765145857823067942253184485708194093264581080930980894346051976567271578 722238209168937781099561205665975466816043057174471654341745460420343127960675 810044273782465330104671489501345700668606133906855556373852837468752993346569 667215296572474031313193587342098104457048783769597325252977289247225785295548 969395105518144058284213406303182280946485968760457957698112020130277358933508 662820904817139960639721818977158673346352691055443251577510276433739032841718 069254449470555668250823909038514596170949648850674114736866729027184173748799 577843535914789293545600593816694410050061110838018538996323115688582883485403 509773256372393461930179854870409338694217624537312224362182232666245197431181 186377545652424737298511737549019734487831722837516354392564504467743595574016 184718027109151794283888352418344181579300156619990470311544268662454659229635 187935572435990866987861193664231120162768123894163173470121498095892678616746 883105656571349952172225756392031558699038334559351668630188467690170473360157 005527101052451040021636097815441185231747735016843503204176234532948694688553 831476136085328592148397820562799518875893214075688196409145976848914707291472 427607701680101074012137929728413387039112551943138919291718452864204470156566 403869898904085046682456890861325353470025836036198692391010048565892660963030 279441376878119444343065092838111646020281651865612454085347447671067440914627 444934134714281134703711627274784755003636434377444991218075069908191246549314 379652745592277602542835821241579688255514213626819799942935221809444695342606 237588779495443916820618698480656860012873016285466847540065319836450462431815 096167790837968352472760735819175112682311511484160624547598946054249547790902 248994183404381867628458725550754193224930958704070106801873372064611336555407 263641206263642513641124526314882534976696307484918111978701712220703375337577 352433076099834375161354779722877740087542362794008374575359466728472177333500 384847937660328504613606067578523245184911020032118354756875270905041151205543 836029411355461099906959822855329963768516271469907488405723239918139184628041 144186975264458448664607129471716348828158935208565557476357706575128141328500 143777573843363035911017683071017166889229162984332632053570254955595830564559 170237343169391043316320768962649227890176492709087836357198362250850117738335 047038969769101352873492335826286622766603382803035953478679287237132490062105 017625537643755494793515841495676990279795874576881932902699804387773420512936 398418579608022425542127202324455065525064400163632019761405361459522969298969 942994120939077418377340866786862757521429952430615007003799897808489059893216 952937558052802727842487086746881854720511238448416197971090215465605091401697 823964703913729020178188957171282879803504980563155103382039704336544921639626 293997852596601195243219349596665939652709395437785061741920011781884201504625 103826968929746111257412997683949164108063288038359306035467949482103989507189 628483071472316704422802364075608363762105150513400092048829151054997272865806 940085406231030838146996715968277893505023852192593460963726605555281238652303 889939828218464947977465937201652559144933473358283242449235545592782828762691 118487746859424473583720509735833032636244984774067872936971127533385070564713 510604739320626014000262393925513766554020251711526768076241303952889997878866 485573159906796974346060643483104845507350504608642164840807904729351974187108 126957046822530513430940638084919154901176577820309618198311324813358670882429 400748907810871052478782855566243845710957129434599836638504213480752972808725 580908928890762658038100975724542448669193377841693943996926080461052840722876 949396201745220945637270224655391039429128753837998827618874369057900350177591 558045557295144791102686294020582706586487623744829211581956382110179620240687 116020716940877997072605250309091598823825796096497387932254768300687304514941 261359919714936141573642968612300548353940158369284443426907921203280600331201 400306014505904032199194128551342946242143494178176445679945766108900458089981 554313091329247763251586548360443113067906454351871295343040000265238560342580 660726025466286513827835392611334842020826926583137851695093386488808880078588 516093666643387824009548407968424645682407698025094184155809790205277345199906 646263130911774294796146711408011001338710943670737431971506554393549315360433 537383826109198623202270056619303667250709974633881375304255417821091280594034 902431650513508954851046480167444268554542457351558132379001074563887872244738 853512564683512695677168664625567790628119635309351504831082842358034474111238 065955513189187857834150234580398192525004956034945935016761766006063413065840 680908105800291651088920483909103857862366472864422704247352859031300712840287 053629011702085793849533442932800426202692438740310269882221315972645844754432 766356673477014475441661858465740430811778387533912672462018336617485276058871 941752953624522953204123100847471911813440356730538788075692642357889590913062 272564534193274948474774446417377172941241562517062422940239558124643907288856 209966947475142018734388074493962294335212335186067575120318258459049394156193 433657090489860071292174640791416339551984050332626439071838903467734132364262 664814477970159119473451942260262130584774697286600917814745731997352169112164 254715408083350462051167286155039475888200753548153894062410962853344655600948 971865035365846751835425851959692089980703012101528597475260537654449139211044 608574805780550140043190863259537288443941553761789905341552405808368886131108 557844183102844503903884324639300972867351923505527264558639311143726388356538 877208191198433096965647653795336995979935273992709705174951575074389993225387 797792048244487988256999809775561903094427957404978978002013747344335133268849 688585746806461698267350831516599649224829199642905698520511175212612469847757 201947296551714668055721381369206342156109315607365729716850979690662419565220 227007370599650924951540070869046798782638201420144315329399174243567066922650 433041153660631089603790615520322524461176965968607364283371947702227251858981 899408450698870770053127547053283761729722084008712105727278790701320128925481 110213183799722593522031515042935953591850622776914873115357190137299355662622 933921408745943833847292163100120244149059604188373197324712536991283445593343 396043485775259608584966726846731995723528785191338071820533613528962154122756 518946570768677288284294952399042356805762581900754377787943797727795935968432 889468674583518954738668888535148225369514362103822157187411827228417531452690 953091433098946743769877384272337914642509076436731934068683382971387498471947 671161995068014365918386362266031328312315990857888535564914703036598020493630 948087117551370616995732753539882275232741950751420578578957127306441427482442 894425284024635036645327146088683603715997126026962865154633754289213677392104 213409319357709559344394822245827959989840257868308867138349491278021615067014 264657467777933373147699772495646972787944197346581113332967276326159060661253 476045394061790402840234807070701799428734377250465092798820598505004631484645 278504443004282464088784648177365061862366382330101359419819430045359345663156 842881276353521050281851849179648152280419538612725124899177776716201419844547 581078379926101661218564429225269135954059971781709102180765256078279689411900 995698081374547715499120370233814594936462473903414511737782935182150672850979 076304788919761299875400648295296465935724734868843262970827877980251745457625 835817088433365003066531413036624144311779845365608813987874406131560367047148 262486973866330330126485321059943912746320171951744626999413933765570891966715 296645830807375980066410222949637115053217361535225325254420179234630954753667 077907696085605058270187485686689560518686371698456779129801893430045749591734 618927956792056847685067637497090890378283673778207004572629349843881107654775 751371183668130228454586041200949759178165650363101103256745611288367145298605 383003764654858426605724865886588797606449097467384304730274185324160352310142 030437850370971381045591857790052698717940072570401158050255731373527806636945 093442318871853973095866464690823191720259727491603903757117936912622238830576 332543292182027648592886274935145164080842791563498384785404317391148103655622 972589411212236471750492640163549078296160790036616773268906161828517584394565 998601689685432275214507403602061729238729399958769452383625956751437977427893 109898805307158611524186539239154113092346161731618384621826225964597278217280 768891474220810014777464719291970300273387427843532959605221285169157944184438 961178798241226033399751905496529255835447079817117933420355419604832866662273 654473525837473849542600952350395994449818225224265070567494268395486394611932 672384622934384767677944718344736628433080236851417172767763077234749822344241 882644212252357092531742021473944324000314728945289020775126654365042543669242 137900891121242309661763101387165934657315087669413270570879270859020761088673 478506095843251705213450335002897390023576807828426387855251407590915287858726 759791288252505097682413571985466755160139382250340632245439833488363725490072 735553499415765078229201942335306884276673130752916240532575957239175823955888 440829730346344653352055106507059712685228296954494522473882797037676367825493 867223982161231014398224851908034053110117482575782807753644675517433970630780 070463892530621481181570629681191589099513666988531871636251229581551456247693 690288327273081830449773248463722329915662662896290603101018994508235905342809 524756999826260220025658669043267051781898651096754099354461417395126003763953 825984598518137078273580174162209269668236265715746997504698990366701848381617 615941183000772872741691676612772268188615456468834347521214016219294705850639 498357997387619255133660874382625143185545435997345227885139717084924489031953 682105895256640782058948711596237917967430598858783510251244019338104478792784 496348062125047762522203800682651506258057067776372855745146703534279650897466 674897443247498966994658258161351178794155714776961577507289078952715195279842 013164706054694045093271329049419926818735244064453978718060154477718473545108 811942145295674483274725874009458982556331598141487800755993994019558608553785 834962540840887488986888162517082087057739792052573906620991020603681322556703 256796731801265907153784565101517259681598346130994036812352970678032126057136 907135012294006490761827529979197523180210070044046469987711388618341763972276 687668340957448093330603123739800407718394912922640886409681253364902735921556 513255519069514321748927250676676870239582864984014839715478963971486022497726 875739311657231782864407465254325637304884017082664939255988510173982119610763 494734874988562620819739280227162956397004125888294520425140069021075788091736 725560307873042301158286944925222130731865287494959911042639142499298119078075 683543466842829405566832252918844202395719882342860892127329729694435339963601 429819508337210640747666950895314428791237966877339914803538620076772547980277 457024119603390653315330426644840731108181956598274319229132355409251854256742 954321209298039059761670855312829132258922453239189501560371135638770396775526 843958739485928655682497126147070148311636407625505062002173710800208305367506 534634543243037505881824818898939392714026228518477776495304227948289845525407 289696233106494993421345920993196614868814556332627242110698830513641230668821 304825179859139585391384393461990356615119767531195588606684851522931830051924 371697881253965990633077970162927949483561345823808996505033987270111853295210 508189895751530650139226689121825130497161868795240348506361661433580430421202 998551019709978810405602847964279192945220757791677749930733622487157901654350 989294538691729334072796575210155749754924075032077396637107619382134433509844 189638995019973128812815221464198366698311823659509195293903507558664216085179 821486338710931745258514697041937805459313249254724650305210191143502631038634 805192883661223054434652444684615362495212901422385564300603244333746479239990 939774924375748257058423914092362913255497230466924272589625119414495800953336 925264552092678646963732113027078744415771851864601555115650701648731350991644 540576960188451947464766722495210384472780383711268548222838472252435338781876 729805805916191361838955943578229736057772352148984068603918619617242169879600 210978685302261045598803449314075237177173724738757764791268347005345917887964 098034945691167181757074031546758005626316553642982930021285124840879508741968 645582299757890851026012597686607332794293164845142701933515725401712195789793 947800891304924094442049404039709482138905155318980387000937544069007794020298 403677662187092740769898441275827184594680395348360109743590504736731418104064 925930105141463162352660885383633135229198368753987664754696589895300384162026 569752312854659502467747837668077898052928199134218920461345119214766846190916 480576307799365229378584743384892060229329366683144671200649344722129894214470 473002556751171499671544962011089760132894602597980333132458850922256106237157 175045143015851080544092629448402950945066637119566659698569988298707170240857 807091579404687791383095762335358011076211625529969461487179306616118093225376 446386922002198487502202461130078077257037695646285806078491301508831753353225 948848781139886989257178425558743454444751804880659082370188451857171039237954 688965023656565424060254481670539255990701920163931862188965768163861279836182 486043543256898795981791124906270370147844261757654086799568975980502960453798 950112452558818165045033501046579693002767512372546219475714804175836167354685 290126307841627576818903703599030717001182680249027207066787984017771653008719 661687676448359566211929328693277483515165660203648480005241700982775840232606 777407902161095274911309495113634049114501581034645610064827645953608569006414 586489108925702434339315558272309938907001845532849850241318227138739833938238 709319047574438601824608139826449870760807558582433754183845557388009380606122 905541807684668910122685560498487203884823400761470758140324558911541512909975 684142374123092780918659141358671222406013049303852574316210660806013320769583 593841689316969196290672088569774484653197576469831365643848008626972320408263 785893803682161989263409279809885437902634125881959978737337865772855335391927 285987715558689405096931593429682147892821583924997907067733600483604541375709 091188627371837258141680473006698594364391753481136815870431873532342597979216 013018231923987930536447510140890895575967486001835123921310217298870382254127 406575454336367616871472153827199961728187139205583472252975913288933179572637 702139965637384056944326554489692444283878282539879892670523514372473526207345 042664132996842686983028262149207420932068680594409677073727986132706171424457 115277492869424896766511432853913547197616317751420227187708832510415248185586 621135044202120390542431090616613137650943994536953019749943621540160924639576 161174137517762186953999087005968113802025046928238177425546609782064516931224 212129083307664103115623618434841873002038866906220909716519778608847799739130 984254364903231068220268653417501199652048958975230931542451506383371615377063 194677206585375563732844994863521843797374954797905329247426836738000281756919 639905763285121123301675275295668552796012609875641820510326203404455945960095 287790672324901601952012207614828807384244531187762742200663988108526230688196 573535506264265811798413901444610814495807443207314864851693984197781175795279 770375485301004895865340745578329663319571549812143254504404969871943994695999 052253929415936443799852474226344511338902765717059466914576230885232131183958 303509107911652253006569950685148226220607352171210447643171057834369305232498 313500836551058787839001405557408640564713261642391470182386224662829019391724 297780208199002122854709487668686623675611833561863395189317471283264459347504 338489446628990005682498711199949272797615502895629447265841872935228323125408 004464819013480595696381358632537469650576701646249408741927905474885427398228 326554875038062191384113734389612523055680102119276079640392881338919048590640 038023341683684156898245129757150965365106502979915636847150969351302835204491 914453083063780068981646543448942035706312974883844878625880160228817243031339 968533191342874756954210563721477683946381723770265020274248225416333079701455 009303993352762856316834414746913834500850813935845371448185632231462355706144 805475162387678156151422335775278433347309676145217926997018172914267293396601 254961025761854612453159176214066289134481036949703832545752886406843414036761 905797460036630404587403694338231692664393985908994300262622084781545224496580 779974859633168234424035099786843652652382646052967419618023791760920676258913 292412695916285445468554302857260699690662260191930200739441138013852112389357 257516882951271694266536420346702599081460772212023040255611428620753158136922 769799259163889365445640857953755732332050972221789700992945565141416513065720 131426919361580794819410189988764815068512895875344890818843262531585814518519 273554334501857834006309888713945940232594482233154383873296329025698968291699 596915270788600282041978726480262715212766934616802851688061435109152303767155 014047589895639312931651946471492881568741319215148700113341972043029752826181 012848448991572027206677315919591583844206479427095990242488025317592845758290 017190866819677940556228130573166729289682446351524067005602488432921186328209 799640572455843295471721645076656327963680578013721890386680019638931368605754 413148929293839584834056860396635366347641982222582274405660401028106796333169 078072970153987757023149383914586360347034544135739492880067000854765152823868 240914143560136783428164661342130888851079829109223578552266978000222269440052 395718258449873089404415910616581663742933369471806865536790644820407365679424 320391424489890284525390684733591218944170483568754082173943414973855056012566 818059174120679659833231522827300956580244980153971520357063471876454465232406 773260261095785320858718962318707627821879680357866531959667122335289080278651 656237634056773440784888077692700413675910055035612672986384643627854693012813 882111972497495424139343085130101443023850961523285248822030826414477970868165 428144396120426663333897491680574524051367980330374550592884510404037824252010 627602688263885354015663394008817732440193277860316493819243687290323583743980 755168296327078141283187670265709298521836881523268636029359890103441250428154 436560520194835470588309655756833731026245749570995667717728972676342618548367 593768824974253450820254749500245224425212459815054941261506166821690525120943 035355300904341019584494455028996238107326034508377374604747161637009877878168 910243818705709180103055328169366544138483814893703687356369785033336644977299 470284358532733489432134846103284151630633191670661148063909658482958084159068 523623896115729699417609023140882513317403949483365416246008478314505577339620 938515938436666255349762999754400525488342688855866377228233312065078938142451 290803586609777882873009280054148554896728724647727171769129684996805261678179 462555300998904517073400893102111916631121783995627814218003554771656392050885 164152655676784976822325464407016855999306650203115773200355281565129988191200 714058350406719050497914943015647178514866567990319577819239747739276749443202 345312051192112728186482244293600960741733366481458384165894398745749008370885 100492401082779067878670165773548612054163260898249507653732991932070870882970 251391656337008562528638749871538208080813903830436691368283014852198463141357 980357320024969232147182660877340598300996067774139001810232446666896001006310 093079156429239004963935056122506886842617124221218773497397286231337006346833 587166643474511569233019402346730747483524057794495140390273769134758207790879 731247534536933886049400262117333996618523404719351724875711032247265249899450 095161245778521728374550019011324506824775267247925607558620918808428212314590 987386583463159613489695284398894659452779103336196588220904934481637293302938 817513895255232480138238507021301536074410176887236126717357342868977623576165 901534823193807516500545628348412368585932478946160426033727220001551850229844 323022307872960181808046924626132177138255728773589615276296854124329039808021 368578916273011209712059600363418203229500113013033772443128555829455240608406 705659660024501072760620143433882532530652493719973171974429511007274704642033 708602779155620010970586683137332782760370600235889754406064730265069471353791 988372334929434831265343477549655125436661715363273320748868121602569823796679 227033030935256019530006994866947372101392640902903153411719000150161791628503 963949547431553097127566597623507943665827912946659087388736264595215950048525 191588542402800339751339800991239678133136984103142894034892321893272642494014 607465054248897377362841934231802177359519799007282546887203479651524103115661 846296024585981512380366683506038071537328205836957963199111301684583527326497 773179069705194603036195041155418287550901177380870238808341381095879408748590 088388852591075239080940650095523380424345664177419042061868149826496269861943 244615487229449132033048912129156981660568041098002384872998012117867641296959 151688176092480281011317372526260047658982797911222742203026138800062358642542 480355155061577619932536646918101876289067923800217779666349185198068809787578 051138869464604824534751990688359098587087809428524886940595755644145180442877 445757387580035671993954228567315514551013650705555527918241221147656506282634 803271307303281754991648031818893562812818541729268642985933594227793621213458 307813480775233019084943429696182915119831524947322951871019473946731715846140 091988518598025011980250670169589934823504054360551873242976916649260372089279 098989570979643567213144323110651217512328556421008235823432691461737920554473 495138877184103538962289500541717192343973384000015012047500649530520691756996 705596501898911255445652923373862788026245065060635322199304324943596232321813 492607561563214572890024187071596383541577104080890709896847955130779476989599 756870901872487773670869244025896964115104609063871717733825110113224320576092 506338774852009213046516976930771377308583764785926933757696495327321838551344 858608706045115963862445508750575316607858287881706903771657119998710469853589 466931533275151784358737333057571462315087057816907683167182278780144575263684 903843925685383923211502729010716760228894246853007286907100967284633632046575 793752523889080208723725478049045338543595841500155571743823815639948447027271 239465795812293838281297551709530030375728989793272159839645629730531991077825 279305277552684281789000338645955550450984690356238235475384685849919252640050 078687482484744326202050308778540026361405373301677868445918470378329540808816 735310945649108278634552848889002311631973582933948119206932091602493695994291 296348942182840464315172051997223020398828356244275515756065754423012401752322 697187443954788095753781176036661260510619370772794029416228772836806117290342 500872281725597180468240983815354634102785572954668281637314669637518501296401 711135269068688848048339327068849374853474844173847060959436657320776419937177 432502654000474732264355531814909594810237736672833850526242161911401633349280 197454466077593195770746760004075056940878460852420241340501402549886587760843 892657598776615053731398643047900368367038771701816174512956397043226745235969 064560616433558390797531269717686617719461299799418906221438883804945355055172 635448312562392755559665613123565329689426376603649242494812978124008714875750 625852906809939003704683946304684632498438409977688804874165994879279852300590 551994645310554885631837025791190820333275583292672788127509865096996103946764 519572407197246287300768443504730155771853874991350584372599469704424297412172 188185900131803512676073589431599050342910180665256986077009938872417560444197 409947056735753370267450095725610634712342725849419842481401673487096351614476 790254769404905149332557797955967313767440368144604528402171624574138181568072 548819828779862081259245464564396230340513076160201207560241592393799360651351 738895112114144612523023952366445417224259825948989929498334859662931308935496 755338199763287885483542206322943286202606078595664486914165052798351066608834 518232728398337131240853612722057826784631295179435412793300234514884276211253 482199902485560050365605750444922273070691627810781768572447580935746183327578 603397343637718794818292835815237696750323967333865678180490826616113287903394 765796294315394058535086694678674237223916200517789927478672956254310968690132 737925139436121454930368334707641118801844552997125093621636891902652543509096 929597363409707805091907032789406374734442104411528524998482618789416181333307 881427538931740405178513146740065606416496986698207799003528651729037213380519 450852945317699983309738357197444524384882291005700012105408983794524721523078 325506946853880570976534874157159145591746378784022319971112906442608237475532 478946531226235529798766849993688178828914790098573299994808740356957760731135 377379328264945452259820671820903162572494231760453535704731737528885899480820 061130164584140945947731222563988363172169662924892695026866217527321905042288 583579676834335117282494503845230335827550179892748704068845769547420187503786 565394962495360897770768470033186637213153894946503302155569416979887136429586 984535939583654092371652907950277171219807775411110562176948646251347289770554 862780395981607032696667819822028317437775363430611065444146765395690850275922 644420694716299135111353269641156436179223430374843837362226890095717303408683 100502066520136847489123409870948059971847049246707092168871076980407480574377 555925212946969934962859568161378285404263943922589237974094314451222426346889 315896606096382950089676063037904192811728194070660659524219514089850818037495 322657002667659933655649788554480529392096902344888835114592013451045477636733 294592337475950888088968249766734449316211852287196326279128708815142338008646 893347226865450781372110531305152727510538236647344207746709381642915524593599 156772903142245494763969550183595148472010009572053674319169081309110012830011 683797937738324736406735786519110739535630011669447588937081520439538935644895 912400833166944263298544548220658583841842050906072249142412283254563223595996 865839694091360955625326899228186733664491168670076909547900454170654380009739 245093604750576446153877271569613143596213233479435817833289809986714583338700 869523015195533199498857167568414503151837389484467828739321753587474538916654 556986300707143486467989089434438318278514836521379811634319006956311179772534 985688970805278677565837024824741408250943136414335995986344153065254992123620 947829808259290726009908987997434948045201121028898444069058599792354821589385 077093877795898633671501610832225513477290838822029396541329882400138762737150 776987849082295322087686539848149537458189414586982120947729892617978539305264 201419289087328379922387685933949287922665554713674145742122029839879233112875 997117623119984654519778517661784277516132271636076489284608523770592665835395 483637150856054256037455276027075621070694421206195585189057981850998692188363 200389062408621675505244829480840794302430956375415076626798398101169505327723 741822139646132955764995229742146598662254427205941728482438309462216785614146 178041975756266848065904918318421782192057332318457882343704980032757366580582 187197516627165558194435266203934227307691133095059314595267246688862057642672 062800031244132466523465621052370095161412978921086499141331196820665057476882 775943207605069794986989553377056234944951315966957517180485132238866116078654 755671943029781018228104486277498401336777492875644755261491549324035419771915 507247824525407310138073364122064367763903450812142712236711894317296936272332 489327031013262992510232058541655014477682413912127822460811925587583575346783 612295751607719037331013964965415113453288143152343317920694955496345914866860 857687171169268754458417406859280309062218671537185823675950789203589693501467 331785018568662745650061836103220529307849269951555900828512209403442466197242 875590785397088535940154628067263520987468004633418393373396985405848272030742 223547787976838988581398334639887139902976882979244409024278104653921850329473 527436337848151675035818232373296300806311053013078147888442582813695009632597 320455132363150524024236183895403133311387967741607247894688704149687637641703 056636154577765901109672610165960350785426902421049988968237364570775637932636 675374047725749578210405891682442399996114500224236977689908335192624607676635 734284256773561653988391497968648052705231897881582464691650414623402018852470 538266380884492606684697411817457680553589835911725793988409244094609371400838 776791613797924525305757780825812180475224207176031732023365746317943674042379 328021061415470770787552429505898465302644070860100832585038001800524233876988 710613173579824080421729927055050397785450969459126838741679249909239764770785 249926162400382538848009146757621316463483587977240156644728003089104742321605 793578148893434154754983542689921682206491591258605695962738717299863858356772 112006707472364098636914293644408410549360491191868804869591266630698299709618 618858359938415614606425799731828525112955882623641659702739143991419904628564 725082654199739546291524919236842987134381884255878851498377381604505190996803 019819700484530494747878410786658332988546264647098513152217154149196208453846 749516574705399778698080172535054425916964024265298088647470422528663596917578 195802814845929879484067870339107590329403426094761065567709882735322997223669 764374683637375102724236183974094579446655755950889539728920533438814484291475 639130016839767063598904416675055355512405752891304984826377496491031995858727 290893875375561288167620869137326468342162833146429513843619448759802431552216 881010923707227168292099265376607842421353768156279208089245568815994683250073 163724163176642880213667872728919949613459105584138820302152740488020734962295 536015024191293370805109214508888443919253651267322692694127670525169820717552 838593326146540864441822043457755736257327206131500516972090066271475019038783 618177487904076182114898849691347895604624943261855851982471892512369682939846 590523806923972425175705433415404193350585147325252142270334397769965808650046 745025540416441303824141361887594617895065600030986507946111621217588773994744 190427973470647343033684866322476282618789721049911773184973258747107863204307 642018909583147749495953989917280379690893296511317589931837554541949160202051 076913932258274064740238356448102978213419195122452796319082771922262186682944 779305153003034016735612452977091023767608348458456321810458152254958717602779 576010618045920501342378416734889572817356605845872749660457844523358721207164 584423090497801779292422903243254315506455264703537881069195762146668979497991 071290625891291210448747078546767078312705687222135520877924817141038506194617 375456620270590983798553709146402739176043133941812582218367093637033023214343 639778965079999319224129248663203389222365540819532644839797575949151857034775 044546185777876103963293955557750384646807705796850862887375282040109715731785 190761404166685464281760960135414434595601334711210326938725543257283532175823 065943442568106231028977477248573464658054726304321446470210656661263475053647 604489814670377711214734271037698560088679999157529136427692976957661119263284 248519749851452215507533932658534365762197889016193662784383032871638457129936 478997396081558523211904738179084190869667985240258361536997734246920916930256 078100403896671546316362858452125812870378600570034913619947525018040204234723 476500468834513486561705933585109808217587395840926067400737460788847776653643 742026318783123906701611339094514258491546244331702484723783410427679022405032 234045702090758231892952817620592088263509208737732741899079118604576914388051 621554280263669755898985052881124662231154776319912218174035752105949831386442 931236755290677233355981279709716105622912829906947211985414467491095256110619 361626779529061695300044769161076339015779161232721841678560987017812889443078 364790943915045382674746788890038777246306425128619171751382054056345066285555 475695017541797952343110773267462785418170921216287817330281981194170923707591 940596236730434794830837860815396542642437013470731210257357802035208854989534 277362165835571513705604254279311800464877381056520327785426993345561033537887 910898361628061362678629262787352983604028628051676895847370571118953303748279 315628814282777899324735839471277268694127667796650046344903357160553331136190 847961749192476212724239587350956984209866910784596133897640042192459885795246 069166869284767283119860190245511600186616942735899638421638118741124910982381 200520402902690503005998538457820356756740481328771155933455031108565520970066 567668313341951280186212042836172145559076969742626080317418584858623437697225 912330414353265309901764864707069698459837878440394960078935571300401621712551 336323878354356547950317939209480494946353432550081779238462254841269334416350 171746442990204097631079371236896180765791790995149221095209884224067420838827 494194882031201047601728345673154883530937314441195311321991262174337119175077 457196838733469553045909226036150185278468447406648746077570810713059177171078 884323680578959466579106754473762043149020434119554995437629111491851853946183 566096512638920608788908909816003765410537748195032133444884406689985932958155 830460395310250009620798884579808687965918819860184283833772989010770943845699 867519326730018307470402328822372400199703621412921278410490655771601627556786 928985336235517343376949597384062710072864933668244363314622547420647027242805 002716464062170782392444448562454042163006289730216933371130185515180607917753 167788478727918932102343309794698878357939071545176410033800957982403627556793 851380803975786985072442104231504089706640429601492069912655601073008005399490 518105162506488879432714265487342407131974507986039827188936540682968267736938 926125689257255971113406861657813501178866989593182683818657569464794818954870 665535853955206108850738031397019573962943426987597074993579651522952916481547 464948035412868817145324349552647535687598532389926320011935791837136738972784 642370685314456975634719379754612931401169619077202473757679423597963248557258 898186532126945217190172358501873234096961772855976919883709569647239319088801 819672691442108556759581537888587037942145701829420036181073713563598251989476 868559632857647970063050828682700841227566071265421075793840688298723468352504 225512156533291170400168300339668990991480419972443523685957214038462361493544 533602807681224567776582482082340839877283438047624053015579773062847993763200 365244822898253206171816356704034043851536853425384806820482785073767248029710 506029952606478349847955695994451785537277483580407967341208762316398056771623 756197893425429370840931401464259776496458876991743626543561248140201901127674 767160153937028416630050914407433647694274983568396582242462172043341442033532 674150916120200266599244472473977228814165600385779620051016504185718238560696 216858990602985948528807341749079129843252435715643083293124556411564943006365 748026149582340780971663469996336761861828629328909345927669499743369655657112 687717233294152943199775291048528731156837441092521763932571334001035592507637 392218520618551667462979441896542651998343611543173582254556021882573270559988 279700141679311885457042174330373153980160217391428870201987067870219668135872 498822599656576451980128763996816372103276901522853739229066564870818928629888 595205748213676831951959889705265726773672843140899135876693908150638646352123 763948276956117780705900285031042154266742496147727245251699476447415411368836 965641289352117457868223380911817247049889298362036356877449506166165329966507 563871098166464828756763431970601376233666018403299955537495117434232915997659 497832807397859893345583328753502052798414730140344179842852266854908625968245 017749766380423543575682822518878676261688731090130439461171842243304682350444 091676222989515669991303657112247491689458654917052516429488378742277919204015 890699732487002711493763534654184071627509903984326154457554336674071197188541 334568508263772696524866068939199014501939222966675430387033314289314482880074 964622400832969643694469404575452248257321021615372741602886400459277618244506 301227048999981106815667977602755751902131331143938185497715553197477058501250 950717071302130146228062614316383774210616229675528915775988704690141761907947 782517468264585438672586671980857941627767656453940301820060668903292847177255 281211453595124133308612496893634282847898585492153640242630171358723674542717 403896655468013501730890318142960342850754099412773656709092917628130500486111 523081036167059145179515246363128052390854986394921502326223812056302994635261 082026886179383272966699782982587657773134623318201978879691479382308982260797 402346121301497427714932125200091320830841984749398058909636075962435208755634 462248971391525136475083154009032859183680851182396097555849842207021608499703 568348575735151595442085727952022283209225336512993355829937558984320579362266 295722378006260044033277938176662560159651355636529333458872251389829321247988 567134957390678679652991464356334076906200433381330512614684091280059554298603 796017501363298447379901747415385132861670372622281576399946222066558807151557 293721985163979837439937460069806771232028765306965502716704143551527033009436 145001269490442632434752033920660834511345099789363967174581140643991814075767 758419441008530543803760273680997839117161682331312338217738196094264930163931 799619171561714191446945790515161354498848590095530920114920886723347391818125 806405868196155705215651644292230373003288797692131225618341129177401377507400 053257345535985867601601796283780434115759372549894737119117448686823668754218 588730316767960563183987888606164575881625188808162284226005651751926477623984 072871597584957432330437065332399347432001290700215914338242985864532416532656 042476648734525356558639658561477848139426139412352362903068614966141774680005 854262816774611523467214097301142008802139312275529757166768345278233512062942 281058862196834452856651876132498538363077568673363523912487668463251421482016 319196162935343329006717362930399896488711279701886295459502791748314324898455 131652766845933766233422110540157011094814148075296984974520420837222521178224 772649957486051756012940691994228933777841159436711270225135495831100793898239 471334198494134711184566348284220537639824290145045948538877431254083349388161 159415942774129842214619989849320193490634683814618066062525909180246956123840 128920388245794409716514576034936555108878880152730415033257391797821883488119 864029136507892613995565017877543120104441271619158714943788050533061794130367 434414420435097308374170671837686518037272142293018553285064999555323492172223 221355947156018436756632916758044867432531354277969784891126868975097010704863 833847645378663702323542093726317147125648691095731842709713883463611501094806 353146320305998396224603513370417217230600106210664479800918564168980157969819 555270256096684431719633254204048704276171322500765058468483244104573538169961 591574788947019410412783871755847007065333929714762524702986600198760477760884 641371052627410104724855091923494021807711153256840873074553643207626175231651 382052710006934803079202584079984314188515802412507224323267976634268038163129 388855070268985153548765665378056805889104614982481548382342942737241665423439 262749012773989821549652260729634134115211258015697702052682249787944155685951 645195440185894237821651312821613206538657334680092392144752766016626898068087 555547510546727534224038627624970263653643447704977604027210562457259541059273 099373428627875919002163362874832786553597532019452005717063839308987172497171 166168902391402244688942955098467134188887122501131035170612762362969009298655 161242453544737412724766254799149094995503679309934077543523580698964869742894 617397971707536398647511049597728584625879083328289247099816112827711041866998 621443412767995783950143047620520575298800766296715405761726262673862253443027 406003166064586295135990781691535661900205309534995410778777558067131440629437 144470156331005863872300647909174603863412355471279260979394351149342629260748 121765301482255330974161868740423700088073638670259077260155698738329312756924 511047463717631604675859248583895064261162278194752654307375213816656889627099 418051981991366278238262838500160457361030853799044315288566723495453178750829 389129600676223523911281891996066423859201588039170139565325212207330624606982 241524456490976582616594631159879796945064564598443795032424904715628047831465 229836577619996692855863193025482201196153356506269465782578724671391880415697 262200296400649486949014107366467849703950347073766687145385386424313777086053 912770413852606853060253692515576219767225492014222694168812790566007016454473 464257238046183954900796180646696487202088031116827237007958824231665613158916 894766690562226341085405247666496410503012257532731719089775336036289855441439 339931148204806386691600511250947963648305346779451560969567834697100232182151 594295778057385032478763144440003385283708028842202115904722882080105525416512 554500720335731323912720752646810750844764373847390386441110388758025091710264 037377562446315254144703825313612098019748585377583878271144931096211543611649 294943989888968778061098552644580124954304715229715226254737728297733191923966 593688068083626393808527418661479884204111268506970179598193713595183032346845 916012498867500321264120444043087209089676607174511447570922861672752413249772 498556407524044943557922786355489746828435918636733385467300827679736729958999 848404364603939198423092631251704606036906428675435063996511433005514471242068 464413687718570050864371329418962773259814718234994223736203258065116762866861 431728821856439745471613912918729345596444640988074359986131229173779946013733 007511737195842374037165478613509994646818436000528670243294777697346482293004 768338745714103869177479814876841213281544471596311894448032148331953684099525 603810484397969302116709870688838372369718243976113084945995446251234794230455 918653914439888754848386539755853323184744998841573101375867930558805697370423 022074925097985873916191720439174080960034450082500842783314919473005564480136 870634285431922860309866237791419847279734223674680042945521301590144862564923 015193293332785392307191182413042586898763744303783885453210251717737371245345 160005446951635860136722636237277455327760142759125795665696194323689075649468 605307132494687025818583862724476808841231089613012504539219041040282341016537 686923862281792720492230557584917748119058900718838385197355514905141901096871 597979917863719765305745262810016084484733536968256714579149909431046369469125 593338584671970519617695475768431465714876626700038442753988035469958594156477 573960686363669130960758251502268341890122070131912292732542800366442000786621 154981543342215045618441168983265967298970237823142360903758253247712585715657 219891574964607893203492969615933140143085905300533997757826625363717312764947 709313828305128121009637088505814421025618321062813361435047072979127561761250 216458498865209235963930068358155523449316844005850191568828014198093965539397 088997192411001850788101909067673700487835790088685216285899876735082819802881 519214780888574930504860069020490249412214453188733734914986198052977015246274 352007595499034650278268603012604064104448925220966239951062240592755886786003 973063514298516554395983782888953790428690508899375079370783077223970758075704 126367747083721681916506217568956747930814929409655405043357540558267621379167 638312060423412075372477743305746228148194632056077756947826297786774229700847 072964928009525930337157302999370821922646029578196576212639745385044675021518 659096609709584060045927023093152401114485305678848785593576667598251235099774 895259982988405412879500841531784351295916126589084932694083197951650264084170 252495321958916359623825759753845093257731499664989266181385046618199085835676 316396087035807089652338148397648966059361682203646120843012257860718746729873 178659937954140031914979123303159453757811606362784901124899282365177714980379 094502526178602807965557904129310697065096447299215453257256418029324463743394 645443218322920139170896390281172538897071005217490520076200218536117478360770 287048221358003897206148026004965046825254961643461208644139742487907170309018 795262868156203020869615117483078142416509199147614616581339451980485614712597 831089769557523234498989584465013863479386591792116716767595829363940608914579 246095984413240514648584916837135770382797047501742874393503681532562388522408 688679022323253414632768211952530577370342339185989147169501444600372639585457 181962230264273735107080456503096991528224848575465385722565087151160678288796 276156729466039243451121773146144429160344908961086002399027467426982754758568 148600047026506319966409835047578164283823668829440667312502264446616813809644 421982744027094900978549373228118355539735747353783394463359823885003895148246 014134577784727754023476259605599015596490171648541535677046475017399886948022 166539997934209249081956026168921586931411300286548054193087179005506186660800 273876065848488665319377492677680402739779415889678050531466530035830785143144 188897997570551588334634226516229868969103721754899770340258430725734167366320 062988294364404742141612190636805191272835923188187801337667480775808884536393 177094930612860529017497448140631993039902159803818838136109390617743999614035 099497706052561871218466922159508166965295496721958434467485815728624596935400 743234528355726531290329812318509832255014091734804007717305212397312303819035 260277018054519982431238987887053283212730191016104103139154547470649501258899 621806139454620094426303422031988490509531446238608280454454867946717228691407 774632726580008603896856512936596450743828852733978677802036017440249133066778 449721029349673428698616963644023763184529399203036674668087927751256436908182 406680350797066874071130098716755961854448957646794159367675998599525260875654 641280580595990143865285822639916964606799751230282475421877654403017991649565 558519790674336277422143439333732294258536548388204392160675818175587845963232 105406802253544038147289907803402449477798529836969266488897933486973104744483 651264724582143485218895068338852201600954647006021463651450353754190307036400 489400417222326733208091890838382910221832585196596259450043740326246097537501 373580726141832727217863803486570053551750418441517551848977033185496560477354 126005784330263024375209658172274827853277226033509045067594055309131475475623 279964591439542286101674902122222204351913838227257083068818787260693034860025 854066033688122151410300046232891260572519913339909972626830187304066988255629 248321473592013519172866103231634642514167165855456972539298984174084293643486 607437100810215043320795852177798014372934620934241982269929703998050771058530 465759630232163398341829621750854820100384978714890239730019781880066958283156 820039684715638366563593456946384501710522813031864753401938359939620357384565 163709337733518270550713026170610700977978248402496034526944028660333839594492 535611698445398417598828800089188946506007184986163454058183590541631250457459 037555161618315291292923675997212493961449728862094587024395020772890096026178 411681547168911216892075017742348621417636518242273226048554997721878211274816 428404614562345497299635409324461136275424144201140666414646140455289351990794 172748861595001968665888933476841954055870921115810688006804522455140425731552 767150476977455264155223788638910163374177004858354072505685075074496942940617 773696311953801694970468787820842568223001715176387047139461708892351064545763 569183362384026440350156534553641881649233252062670423774272994074379080464557 869531667107205258266637840729090330943096918811702132818275897449491065489509 786652301434978137539060946945491537802139652934846381546316404908060461853605 088308773742313252051024723094845227359998566624813920925595618569949579186067 392557498970100439433310381548532177502046169736740825161347036636054806868787 458654620565042996082801780425768140842170380966575574972428424222587711358974 056013030607180882655845291691230597813775915094102528136849189703183655406042 129451019855070241291368591314175914568839295288273125057050496931384784342790 613175986237046346083879745281065648399869157964638231042363026442336533151213 749895600855134211573827578075531813296184255644924532430838894715764188671962 222904107677268272640874861525753148667016823275643355441843252169829066375357 181399046342982274398466948676616988642361112910638335174655131721934462148152 845556364325794056867796569988620784287371347047039342552580903909803292548819 613659394181626087439767335124008217161403838695929981531003254926728999650777 621441038413805273792164866146967922209192262407082611014965340333544075990741 586887587750953471503453940858890015062113220536921924431673947809054657351778 072745627178282618697514788903271853054663238335592912906242720000677597413917 560358795659231455839449349956837830949582068088161506109398817638086712464820 357881293775783674979927199293674676804855849344360038685314863167552907105912 815396548901455570408128495818314736331949498820950281381688256613170838091850 112515999904688745831548199406815385271054517397221218601109595731499195740970 827641107875298763512612816737964585115497365797258710390655648491652123693586 873181685180681113527108164471311014816609837590794461676999850368471939426580 359973037237777093054568928558527678665774872908942822587977811386374414645121 082163785263181773649241434537885662481813986561993244642490500127208409932386 103837484976469674550030301674021880556996585609953737873259110623493093232921 697774993734743637997091928453082850036209872245015469289755948597454248150868 115814357488270988217765501637283475312549333481987149624059515293931865617159 329171935117539794788845459294090425650761841410336130202306428085481340101980 586355061145315106716611529605926774681395986611178147014666252546619187865253 139361415688101893912909152270358676744603595179602608339423434922700396982484 054328380741028792112079394919784222567074547830174609097003851958726329779711 185264972971863450057260950477315463306257716461021237469788121229704369633690 198485067564177744998185839507273390966886970563726731322171094229940010006230 465359913050364274092125454737087186115802911754417530951294740521609438990678 808438232670843887243478046656451521655996556872956008233801018473610874240997 621962914102152772073299111445713504985424544437759694119833653849800615652971 541743932684413134009444596446173790014143423124103375380388734961332713032822 549858830377464050126087225320302409235644848873561138765111499354122263467759 229301454166974786799059483352961730688391607986683619538189043411969853870096 814943221986984342783040969585004328814161628904582899102670883208884077251587 721008121196924021857498106741040650669399165496509122564227451978121712523069 186198015932264730353820654979512923783695879713410622806703563264095617710303 505163034588842200480419197350975767105184234979225738812868439333247608583033 455065854989110567160946715692083349182855938934552967947677707465090538080806 319172265593973676441459106342459152284734923831818962732351298900928271542945 723363821024973321397961601490067725417724953120474379687288102477112967413948 129939195666650381133986413273460797531866278191567087260342492710650212010365 254616177087514375956225905162633669674747151294693942935428600734502326858368 851262432123731177282285498177573145194332169893219187442279213837742086404242 143195851107090239367571130373784747579938643648431564952300112792516361946981 981764562919833749080976558135260631226622681960542262532664959735190787831177 199122309945382331692605416913382097068453358746170534374543161224792669354995 145401700985690566160422179367789879595404920484872148521401414481179090993402 180260012485304287880233350536516783401956080869996435159215952821175903851427 263757299087782210403556352583588861246545439518279463464680287102463107252117 640612546570389515746704202044460543029762739217135418216283258986861744855618 272769288248396895714047328144875432320562052796090492807566268554995582118373 362399419673429483937986731333330508401230065997076488523706474330595234066106 746162719828771794363489299617569356091274417948558680356804555945781634206653 203032891572385824535847601881457630329396363527085632666520458723230320764071 432305467477839229771231131418089765382739288242077541911612142365818316975577 936535694122124964236776191946876255492141140141427195840570256976532801079139 021785540564123994874830245385797225002098273235632656671287998166352416628315 508158178238070234605135186911876279276726867927327560105778374157155206150341 677353770780409688768704787467081632276534653394448470880474858704052560710340 348270429315217712757325042620528767117959416322275153636003151636596889083693 912951204849529280787533869992807099267486062622229731134213187717139424956764 949787005408107443791603923675852378245421522476597279408429483873400333393444 908069902187646326884952263256954417720544629775940641251817995720062162798876 035535078071306940697213950518663464886260434862541326449572342567977261694411 520753432916048376871485624892656880388464109981652944779457528917435459079281 737054330347660168266782872906617312619847427588478637636142114766667343573667 748502546820305920471876123446507479091448936085793378187792699102209909468132 420439551877023842810679848594830446547794975983095738837122099242108582099391 259311618169305552534510439400727844248528541177641577044568704717956774391304 614977757724438263195194997554528642969847687610006284717612991653279674620737 100059045792201617054581820721379285245591730675962493786180961667666034275074 596137289702979700307132669612027091422029037468000751582780538209301434429484 397331286845034470877217060008140983864022275338206768951288662544567133279419 008546925339254589443633397157791908908054306509901805967890931142118388775108 721426852665228354933976865146896793178904949583013375233414280981194646252728 498615989438788530104832490709523724353689291379862936936814828949724756039435 694968108197060995705848006231088462514444063187363760394166324840098124985207 020457506856659924645949332514417122588259951299888283394460192064932914344920 264319948805144534176588013910701116528824797468260549943263520680414836566302 033367698160332457240802293920886346864705851253678118323037999242047307004998 375786889285738744236077764699924058608359285285260791217098735447240284740298 891798847531697259058489734830551655771210270990382129856354114717169207457539 896103933271647308958838056114164194264829747627615130159919626441278499476749 019373217508815948313155873239053854352970467317567979849399619163429333860235 198312428940354771584566606061353257600100670357332999384447660582409060473059 506507964055363193489697919229391699095966179647374880159373006569658302392142 265819985169418930713667638634703337232300069690839409706887792042556719308376 556834097478198387542835163697959216076425789322346487491712363577652381718405 525412787953772407825707544386878548574241017618671663597032946379003145774195 449626098108034612560996193622909497789267140307554138312349541810268623538683 053700963235149744843976743760423925976033443319997152937962417985485676062196 888425666166707155660611921380084341244022366934599675926010601467852433785153 839479486120562153460950947966581731471364787881569424578610890101585821010569 041688325311437469748507051979129964699928916943108191765386518781659552196006 637106522073570016317809669925804087515169154964843882369891540681427810273141 044684714103737793183627047063968940038476690021825068444931098052216728224154 875022249475221947658007470730844998332948712737624333821881307700044412181241 533641194176840494707074231975155470973039699059674203972516587670937290244680 523696129007735073701126014924927833284231301439425839618172103678498856667239 433115426755710221496872791690026480879989167146971314287753511412051505822735 580068016343692833727335603053527506532843530573512467291247848280598959239996 709826146126017105567895181942400154153994610187014588546942768709636783307474 884562752349838633277898647629629847676152485713029793683639183878375191300835 489186716236511015806163064505330537754494112526461226333959961308217351953352 292443804493191234822460610180743685425734757765187562426901114565160068100042 579537605703096185102364396787873764754402165731859821945648346494960139327204 809206714253984233200729471159669974083711337083407941250605302988204996548745 148860229736439876814270069119570116396956137643814235219537724371977841307580 084052864417064232861788938439020060451629078737427812138882304756475732481233 800374061298550150095107627922511117817068067028905836378785699833820407526410 792297686077469554714867775846693025288512747375219192666894167060467725250381 782447665736751220514641804746492119558706360167776367954149650681511906990096 263255429676752876606521942175443688822932038106910057626114388781188784792361 977208200594051144729858708477636552435884570138926302217596587479241613331684 856108570652509114984858377993110906011593468045224202511248664206758291697699 535695763866204092569628631050420033033164676786824645244057360118242598721483 139417618310144378634447797633324965805834432736162724800527666615060649941099 823859313582145138453972443518756597168974029981001274519074744225445746637673 866848768244018738872097562748506370689740990176242063253602185204002638046051 612242657492572673979994422556567660216687230567603035980917341264893059161177 712790513517163729987471580393010638379386239711795096906791381601066072624657 434863261483171956033967773183681178313548273890859157076880678395252473176630 277222412391574766236932953715545086130716465419905137494453938047732858396215 082540697804152791388734789334521219068870746856399778335969426829613477947974 966019946268369310736995252189116262986241969264005809213899639623121409979380 887413011156557854095673783920408731965690044203696137166444584663273893829838 550296937636226159328021707731445685028316383374533726975576622832272622058463 680125938743330004652022807744511100662073337657005905154122288269933369412760 680543543588707055157402832987602912029656439166487156156752976622898952934004 079950551053909892425734194380438460376897641633245828371518632601626010050252 519977173186374977968033278811870750700292114870829854509021655600928184847936 956603007886451534789520175178101047594765037355763785158240955731618776117416 361072602586797645385807060145495225571341561980928489707206542236916667420273 778991794810702663059553969123556600315352255489356524791810603114975269074886 096880141763471674656289150513454934683579989363973470357478412759805253360603 670190084567423612780410325910816039314792288439697880399769833269550600745168 425705824280734355972109689339940639606322307129497747734729150988076010655779 634842227690869903301974341893919564763141194726581331996374277533614825145189 954602197288813278688410089569158815401493489648621299387503636059918030632988 153872021435098484514714925697247257932001066294782023405589195115050659228876 685868060633822558687338872616159487364137246063234328131917353778616899527976 771981448651783881084868688932486625356019249693039348226564520691097238501753 365662973633360631107213763076824249423244493744911671687113824368643097986206 233659072123438531242345551397880286233155225177163758392272473158962037419937 946349285087833260388107622922368186377128655296422372282395580587095088788770 972575705390189763993252946084534050244867299021613582753275217874396760556250 395482261908991763006944474691226059045512183227507272172471945689164531524635 817500288597953868484620905598246029583034939605404721126277608034967888616167 985499162274690394530618670572206016301256268893941619641259960103124613001185 807290337789948853159261046298043488620457527171436195843026318361208202572435 927432277649438280887083890379215680450494963647750759667666487726456201709410 349025569005686624386383995844023216764601619951702801108755035963088390159637 764721271801521189886565083358146012156281761797451412771306580724161231829519 462144037289904475380730571548149414357075888377337716143960782306089561921447 555365449211365361079912866280159179062688786151662220389674797266173497715270 048189873877279553921030017749288860772599412842614865588650620074256753720597 367216379443962351769381270251811847614546848211537289892807132899147500154886 896253989204819134908728457840793100919211738588450326535622744671540333934054 091193863592328884775339373640168298937665598145563602280811864875467776718149 060681860967317088889286313654045411448711055130053289881682005125656323226826 115097873076683585328014014460192147983063910256244853810817163290710277396863 568466286983077729131190583696605288820526283360440286801014278947970841914390 946113503246086619188386810559719693691329124649795929494703205379960021104460 592893665115036303876631476911653953290164841780140682003278138498893290998320 866600328747170733559885401491051439904085740434592230147071315666004176826896 860686667963841970098935149715922760923389506402297997583010025586336188859158 003697332822685559435998064777773826735242050001461317979705678710352794589027 383578231989697932419096243416559959269549207087306100003217626749455350184331 748151766629478080740691747339548716586978061169602259606857615127323719575426 585796662095330410024513495044378068487618838297170756023955796452964376414047 065535436833064249075200826943112929223293317555832948018113754542814571043875 480879081195882549619584811795141554136767703017489057238153174733883212047125 962098086353506906277689647335977163977004812585240043678769503308004339232562 531421483300657768630899786815614871885314226551478825364120518677291417590697 965314532643535940927472368609428782290941142622489219224159097330246458403461 837583612231322098917215609267016458432937779979466513944252012597279542024118 148739261293670361539300397340232940581172751670661460128294768745844399901227 185206999888518288716134952599335457917898998165539664133680562497876532586133 089494670275654787627730984349667488822097167051971151262078834729968283234981 669756672732204954697326365978155137855258690302273762139348576103388111646339 201086763047113182156063569287770991289980304455883631849795268345898080229287 177327838501688325093195158712877052465844986467497191170199117297214892071796 378742328968183330253974408425261187781532746653700618869988705426643373940773 164881218624431174088624868790845771052183459281621194868742779446864404122518 544199983719592608690311100995359025860026709025737693590847214431838667327868 378011696750105298600501615470987555662895737516950841816862630308702867853025 476155102953755534281543490381561554557012290333743719127634772170729533062514 839600318023012785638584021300166026784416009592157465982269872287205805587423 507784411317155283016993544712366894742351284549483722501495988443633264240060 655713380872072901448197635077721137187887384917275443286983443635508620825983 998709263136992796730912996911326213422208471434950034015150428895211568937669 220566855395579537169525911295690643291366027166873348764996610100719953803085 221224573519991927935354938238463404366071976279033367063841400770950262724326 374215298205514674531589388790086845296530030716375998737898310947339737760701 566594300586570361623660291322810457331115240706589791067920240131072134740017 551100853021802657173412188944835670450486242505469388992976484539265158996021 332744959320830153710886826871345185824330865325169537937792203463769884030977 720801952029527355451241049648674749792544944786680666590384125046936611861037 259793470379074909313893276646829560669336256308268100641562990940901666029375 777474439960136735305008843678386412107262109097338161412560835641578869246821 556703678428276565412363467215178239336493894059453330127347194089881524027724 513846405950699794391276227801835314678445305868505182736734145004792237949597 274657215087533395141850972123766667943425806829637637140875880176730884905038 046201733339112078514167365684090135367010798504590182189463571664651272020914 913145996049596101992065899041739342506928907753224764820080431945074185076493 807833783558770457911284271524633095298698702222866409410905702178437139508737 456340556518556487905845606044003037586715038059750787537100214966604084070169 340575849129626231382547381998730262719308694124961977130046406802433431376053 319410524774204321260102803079206143185391903307352498293576082729842773441584 020208986707801404887795177912807065224015325783105651527145027747026593254829 214867835502571859734834226221689739607289939016016514995174571252488768103481 494757564563415014182220118792103667969882786954611603805357243834255502456526 701088379459833067171141261304004523446352346907553337471617035642713177278802 914991605789442659083154378497936839366501435392738645007013518613074094293209 259128186624892024277159677719553975065248254957624880452217301002813915461176 990706878904411484136046838144406662164945124273146803936608162215612917569358 379324759666298382010331415404147092887856157848996612301499075269149046829726 530645665478513630481145497101789319063056428223157210347128757103803872660257 023306162440318854053827576545377591520893560269934830508993795581998815136260 975623621317173430381661401994488170720108756334949507620985110066437359035115 721765742082027683613292542664841723235654212073894587821471940086973337322950 461882837985564037821636213415936954710179324934807487607610381138750066714373 977335990905092935460000958115676045436836060545224781856683591046415937264551 273356112038422925277543328726163547249197538314763639341175083181740839312471 314826029101037993578652559456587890962468440776179646879593410503908304453753 923427127723961712709534934479743089440864235269931578345270258353382690448858 798684812812065807412462157992252998562232130229548791006286898700416498487670 952872906628627981767850808774008636814899381168873506768234674818722416862885 314220017307307480516078681647910058194254005772539281772367180733719077273308 514462421359826241642810924523166088595860614221561682833960553826581643951316 184706546941759841712585385204872526009553695241907608675485493063767204677117 500521902246518766545982789857586263639714206460055448170763917831741405765741 652536600432254889471372287206258953530670245495286217184477894060842087058278 123003774981661101527883198293319605616466996584549306953972271269902299481066 349866667711541441417642110056742259055973859489399956416877027403686844843878 331160475603586333044810395367908436009255398182405958893732955789850646085796 615356602079265088799225882476951161563328151312060155958757652236229610314043 737655039032110056785575521022544264384326095780364164951236042764806188236160 890825160752083949890179981889996999361787560495806984007920321165173700520872 711392252986057538244781550431892600179113661700756891386662229086716434365066 138685539141848869670045603649745465121573191228685559238395660555034647129502 272973429272324828820561843249322610566452155667380755254012807217144473403239 753675637808509678312610307280681270600126456421425495339867496544294992573736 675057720340242200111889969391862722662472985723811522508076083907468859247062 618438713051979278966220573619236235884414040374903378967419651424850609019736 593447674433408886157827291196637314387602556825872640040360108127626486554739 771754647752945923251286783755693999281277093797872143256722393098775753320877 814706366224167994532459489604439278547717546494740527401757690307523818712770 802401258016213611190693700924477698311982720672040301495635719361673563646044 470733725465954798413877688251653402283558231113076048674143215504485248425995 733923936500852772757675171790641672968398130365942376812678819585258771388709 006706147148564361883053396196148931037899224824413660079163884204492064977616 153309853138057636688074273427947239602728505304485873507046172491376072401615 512298236587407537029361423362135584469525508098506414998243676892703264122397 777780797364982762651764442756998664191149250033467033383902975022281574290289 996084610599820200461855658250325572322081492640624150420681556810385606292974 667612314900454434631163816019911788555033327887961966956313765326499460741004 515599393220921877619685374338982579392523232381906272644415698794056346700197 147309006066975747110891841370040772065018838648648952378725516827825097137202 843454635845720745288715893500586521416064657271802755829475994377284413622402 278255823297224719731201808049285217820696007950178566097497563938879900233798 539886083265103979019521224174857355499840211941288220268393130665866693078492 677834837518281655693589893157735607017101765694142118973139921424274158208798 586671013991982210373016321195660611248325745529668638603284667257122544340115 662044484068544925938732184958317660309552318948496447745205582316975956975021 084605232853767422808843629081395938137059908999602252711688580520508066861061 705767663061772892595512331877182166187437579907803609662912477756180722701905 756176572618023780854102874362909856233915153585852097624343007128852963818965 639827836888066119086253556646502579672717215977941584606920731328957697707517 150163970841340277646051273597061385137570395371793307148031721327772102281559 903489984161157363603608374555932386954895383975547376650885566839720304336244 609887286598535584273929754184935820519527090894046593942228790679612068765922 330799831962032094315941357692606711929439001783931100270270040077330829912450 149098133056561047052644633702930631690915333074299528167295774991185823533685 797720343876437258084093109871827866756787472166312874765106236107153501937161 223524771553785523699634331829372557363105922751187700298422502563559713764608 962368662989976500574163947235212213619381032014021364586718914467252805879704 389668431341470687622389235831340353998407125405337062901538833352952961187255 133383966558189121269744800025614585642290512408114242447549724010284903791383 287173419488968857624795285310528359740109136972237837086854188083909494835049 343247719269777456765460563302257136585360189963431084375152136644883522440941 913582693028799161254835482880497180830265294265218900239368047506777804131994 427952941995122088725010286291022239620975719721701584143907796959140640799272 677407486878660868363449787190268979288132017387699034115237019907961958602867 866030983990878036359281774981771468774072554554927946481536187496960682284631 667799505988206594382818002763337692890214619867056077899763352757223250078047 394056487785142212550555102922708554728193106518346083720800086440306467280071 988722019758812309893005257262526100643404715078540248054867352879278107374139 571292337388081356532684426670940374303254020368346100539388439291132712921246 285952836081954846833872547593672643648959789430255618287447631617015938420825 888425260167619480962362451664308307106951912234095018190194807832165714345627 767096966738229179225407304485223507286134287617999320103157373249657078787521 866369988475926237688107460983583010027850265885808496784986481497065172670580 496038018704178331641984765891849002221682912181051305060893117308628480614348 387448377488887732092249498341763685982037160495321612056275448592711603500740 976434934697772603881583376336765862230762931090764097477551192765270733578957 366996596027476805757936363756568548300592337612216027700270903690596541187040 690153166527707965265052526876565064016647141539746331770128633793945421043370 822664735242277637590926206610050403013365492337424312386707973326871234702808 539151223240378478398145963811020307018633948587087464110609810102749002466579 286329392296944839387897206780219619416052134334996581911389372601922278885758 225391301722492000485630125353047171193121744779961767064526686182156494316979 159948053531104152742911366603204636671438152014696982124048373373258291184676 466798304251190763631178531780947110292141667021524088644942237960736223109753 718485928903490494928675011080063817726842004226552069312083354005699157227632 492939402019303535176958406688605738253359345207092516471214487660584108929495 752093179284962805858168576730229088043689728246504825367268139944333587439763 647453269976239001063588317251695246739434851079770312911372105124334460161865 671721422719088978864749087543640532416789825830009882824466336085546004188664 081531166590198165524257784158354416961724169323664187103581709338971187084336 498393851210325134707383098204662847156754590985028679575643674721017851679824 306643591575174059898229276931753354559748984737339398139925897306696098597489 488853665144385963858318651751306920315502773145088537869292050735387178635980 868057113022181254772500866252368770780470111248556594478494781258909231661490 340371790726990266933337788812783504899792389506416656164054879440245333651154 411004937485882892377934527485680722646601033483055241017915975717332852481902 596595794645346596144257977875555919404280576800707656538817206374218569319802 503561806524483484388077133512848655204874193274729654526341426102540899427315 951170841839803922955031713875852194800929825276388573332382856257019934171367 455780664108310682825265794242866887803364029343291171640921404985319131182896 322780843604345327288968658408272005842242493738668276713091655377494074592377 511234217839194915013715354021270067728077808132373908548094211373925003634094 232724604024661426699978270951097552299293902958253322606390335401933365900400 069980698143278579222376125522507787102074011220174831684385210288496303902766 048022869258935287149331123758696249481636925307663497372321992847203892030977 632623867942410982150858414833914107028226990487545340632276073712784489734056 401157397385727863271314368895125021272890178073152521785340683030147611784092 379488117406246186344148397899253299510955660167236949482375094876933217204858 969701485145262209059419631450027103437543780503073245185585067387879110954266 099790423151130593091871850824723107082053166873157084146082023585150018636203 291422188329458432252744665396269022540833394200920731821222492678009107654832 853729859534495923237423861940193815231087244207297410782075799185362864902584 222061770734528805317366417607738165624797803771826896213450459165100825614202 658664882676169316045362426945142242426608676140691948373858196522616393067930 452195019024013122301456249141305342170482836276927496492904128598393898746110 099258105154808013910784925257991806968752921437468460186933360643453706204260 728292752203903945727121117556575030583937117420572986471255809314325093313251 124361262716519112738748531665612683606819709481916999729327846331643285042672 160901062338642820193828205647384097609179282828633497587010684920143528889180 478946542182968327369312503526226516055027865494849703600578989357217398176999 252590966171596099346227920654599341629817468007945936043517969522340559728594 442335197190512426616471527478077799603976186078742589189350829898034841251987 632995113379968466276941270811283240312633526925461853858939771931788982418195 413176177792933012073049015667497313361908091299114099755324387040950908355728 005735613591267363565713986494810889028275278433450379416576809951238584991253 613869502338102881617031947662179405074394938352962834912957612198871104855521 931662738172599632946782538175341987884277788742020817600896531417845274848261 449239222942794975690387187554449354118409454112203588207558547741732689694164 911056500919821801338908064989748689850968592659634667383445072402451527153784 317608201541098423019998163832236390429497130534103636530157887279096519038686 614748425097319503687932472726337566766838507615867828931030058899422788065029 691310353593494174840007831623320830654786675079987704153875982756361002060933 425008168693493709118994534434927209897964144784926476996976250332462057211231 137708422282809498632812832763797686575831341615137109913751757530596429826754 439547599593930139614912763824555058880880401658107577487181182699040485171933 814153148518796096700558396924129788611789623797755633851130580333893612643251 948245838647125874345174939949138915492599421609693023201644524372425531146013 842366497486305490535582879015977945519534975511256742393531943969245712956423 629881614980177019648519025497050178654825452523024781082435606436245264917943 683262828403828969544751991107154531188460305583397508506266100579784434646882 542242946295507167480132963261228301053325540905093081966740417921503184007730 303909033395544096091770891194623754314583006934990192087763744222377346800736 787923855884589873456661703378565822479434249399426148701651033717779301868460 174891761036264989694426361458050991276515100251071263439524153698324823461072 830969480586905108801261200137863434917999995455754800087171285354498754623447 331600158028899317763581967969975192694631295191107127862038091854380328445529 394811666908137245135134857497713300547446308013630115563124953930044260525943 830246121103022453600801018148969630461285366370969146452907295745691771172299 610150250616592306229785803361251766878999103397571662413099449845469455890072 765611183296981613845571574066165776674401832713275682173464218222500394042435 390646566877602739303815584856755124431327821743341103236266664826216700768898 106248850571656248007415189137930735159250946305487552639752101133850810312274 421142439537119204793496236392549727840919408023171947009340694123388848703800 584426408018294375789667123481442638968320388148046385997260838557861278040352 579608736480668324049872823288207755568406313377942161922224473251523398910684 895847541456007414417507254164734584168150219696628169584695090833914558106338 237272978126031462299515741791562319718338256224681087604277270136841734428877 409353987125178792347626024635420721272852848721089678477522433480937846746289 641264462047035915790598887342852092112643197788349087648692082270039202515655 995562624160387659950832094566243229512224574888616241963564117019692173576953 123178814433856669339046803511261567063860629887221400983947025623897617649821 476488277216818358496832026974968607337586845398327188716335485054870088623011 730595264582506256775830321981359573036917109489408358819763480081020501292029 725999686965561043540464232338353434354128363183642900973263308740249909159801 400727429346522899127789648310148225640311569914914831913948808841539470891516 384191917864286752752244082836325943554416190807788147784146599876249263327735 530648114563769293788171655928382242900518742316816512218831609519100407639418 347929841056562803119363713678702312798320345171265016655456896459142992498956 288442423268857788721904665021456859250813004141051104055592647127940661545256 623209237368962032643552276445563312485807181630540079716226042056261110762862 382999873131796697085431536981437448401580872355642683026531168260590897620512 237207104385888448258985422648879810038646791401875663940545410835678235568620 443606049983689249386363499931960780519899209576038644937404603331438978531564 868250927635178277010584498929460011627871258374795788213397323444505027105884 126176935345179216219071745608529228919708734541088088303438769579771360358762 261483176096758782874642607332200695942683039888200950193963319332818309142943 551771677538113655018681111812933245426930220906480770493858731455726956083133 408210088752513094919960597089015948077056509216328200140959982891872515339667 054920344461919596649573012100529183181986181882633349094032696589444355772837 770753498378264313550806407988113173032255737361788823595045187084478936033443 983092184264708461644473320390881555244820260203169542631820728575989022715017 104109248036356445163527076332319732998863749546726653599543651223316434679172 469185504284716454578096976442871803842635467416509052685014707898053222251386 637007524388065657147031724529194484308750861856642941970824264428107011049075 609790949969688394070571586695852583342574573831676473055283614624447930445670 293742279982328514339347782022783592690785964617490638095604534823639261052301 148627210184586155729260303440009382646374066966545454364220573170636317848405 108257674044074656169650823952691125627096001310043996886958513899309189116641 829317121107386040655271035337399767342811405524432484973683168588640318918047 315182213172337736351566583159918548897597987834437197033000673966961450805213 482334231380470027375626634637172120920273213553404443303064844079431917003383 066163595938111717589475868959950924619248721065118306264056734172041922770253 530939865541434556748988572063218405582293376135050013581516690958160722641837 095534192726150506930903709410818318140331738104279966724428844118899546499816 517675816636812840293951743404510986838662585110677492992678190502223297744305 328153601651681691424290414735029413450959117152089767683575904972243139493787 504018429900146764464708641077834770880503071579276171118181876608942818409077 177804873047238611775214960626270909733023743924180447156737217573827059959875 646155086161799132421864870985075842198576294864405779474749596410770498230479 870172972406592548435146800381271812406429361908086399633044665311081374803742 377536989086807086856794774429516214079523947778891101395206347811033037237295 815481223002155802813716432026877710700630435057437108787108708958666818757072 704803637498142343227146108988140675022624076470245223335126191333253810114907 386015741542012965245374983584001826222353658787777301003139119018559043180251 336281798752388971348758102553773830185693283402895389753820906256699498925568 964849482685721388134388305479367385195636378566271199584147152442869528576431 899515774649954099508969269942106313631972698967875656514172097563051975667102 184166367297560663162158821865029172797920118347519774567561638492888027900464 128171902850094207806607663380648795514924012805840090484231526819950029071452 667762953098382840202091931407587195716846208000069503494849849435363014569786 753261372145135553503472187458112720404525174554574302184662724348518720567608 805093779817404920255386167854016846492437048497252481438060875114528249114278 511093617485373584947592375592728680373830853916819483875776458717421457768250 389226619820444326857679360168014776597210863813073963339826275665031033591583 108373580651183623384526852663240224702623892107263110225797562446750888601825 883747420766809148458348183214036481161988928837343429496873831842567359839201 648142452728880559226400720871820531426214458955072646505325046112257588160088 739778891490204990287495503965500006199985601837720407688563914322313781285956 076599989228783603874100634732959977629068472333446391015822041291008875796006 336696157039301206789338556707121979739850542647972272936250278043042694753839 206989389901875722987220036138173487064424454095980245571856695270712533991626 504152974556374659170070626786934108064091637472263695643395023670831727054436 023417082580952667620152184228574533797850083969729901385876647420076279832699 021584780546635771427690080752275272881403017898646903099728583788619803612091 358438236075147450674893751552461594760415772361772496427395652007799900610470 145767989923188826056157425438934184193047205131318168890384481796044816426949 166428578719531427894705924363291094746926066449169593656161311633189808095816 021001800290385737192530783788415589048013465696558966031653776684366607629379 149974438214733838136200373417772400800360805417699363245960275513602530408176 419289147430119265718951572902425108980092136445245545287177296676671046717056 843728144974955701739151524635597937806950353011674114321870248478143556111403 696160001860873270311136849061520707212385415421059189620705401362695626840575 739623589801337114070123081833123676293050711248537068137857028480761201317626 039014259962874850996250782404644436247416789704040851551785298749760193930634 406251809479340414159554661784794457936248762183184310471713290806741617845823 459522911016459394576095871403906889825369950401910656364253357100362332624294 868206169255974069359070371065175385161397052795961740468610492029502860944844 887303602275834842092257064870824156783102754088632213506480101703457597539843 492947159562294598218298498592840803913273228948392359655445540283597884642387 588879256323409934722244374009992765407088044912843124189481839492254265937434 578934371678612996355094042249599217172293825157408593079616177382292030001160 102772727933109612078093134951593365190150621495508747238611437804251345699610 624537751644913633206880632499759259474500377987792994895680854402270515394428 396295003919570950645400998325186214653043601183540257415397100766270659331283 142257265076499149356026544508406858209633366088416404363807094038550802054488 963337780674155477562167954130314570630757899848101166306408073395056091456481 424877413917750260843749511691185002218387540548618685039604703654643552504131 923778424701325804583558041662878809939113578112677578918745042050163052413201 695321125135210642467415560083550296847898564478673903624024360913369312882255 426792205110708359552389800486115227547727623044999121288858023225311688629054 792061260733996528557883453885527259071533693458454957722324224845568528119905 853756200920301648672833836241434989386985860594891795451118196084617891634037 452886443232650628325800334011049881864999691366015789490107490572033766013789 433077220804390460581351653245326687461228964372738333982924515798008463365720 011812469633140655573748004879371240075407625204947549534891144566886888687788 897485976500251469784785422078481025507532161327118725256213783795534745421592 929422071097920961148766462785086427691771270227682798469614109581981882515733 163020021187193547449105652654855475232151125651014507536211743982992309698759 368021855135489916418333311660198775054896453582063290311045334170591490037797 669127797404338675710063657648665995684343012892751483323252999396847498592128 429125010483724455075456589811007005847447723104464782704581430568770568043835 410631076420629942677730878962342607457151405979462562117779383941065714825867 460866467602540593201704915240778078730820597429468633595110277421836890324440 520453473621744945654259467111623583147759121807815591293912114036176213885975 334932185629039944333870747142001743188630700595331783836365873104453389531460 682646380706202847473161685868296697447231157873637863284020393858998074918652 423691941850878903036933945782475549523753793855548095574662322992751463747350 461462937891961570645239939548756569157949341768951239425622285137846928266438 953118761464014566655251183587608387465645499700048279875906777098865110313125 148512278688389704317388315686241141777305321340955173091909447691841903155048 858049491851453654289481480078151004648149656797019783219529907510762102384319 765509456482619316733640891752172104493290350860305997796865649151108411864991 574689509099398082629163283660413592136287852725662390610266565821218803202637 742575844504170656506752618066367276135801140426940280478377142661518947355591 646874581204513053111346356673593126601700311913469762690473430738856771232943 254167891457204108781448999323344905520383358425101494599402974374452685348187 706079521182145346702311072998215298515318999400815459300389408544728151472150 013256219948866619360790973901261378989817203273306074150840801360648518856106 333336988805198919361602035995535664332754084151185319321304722131380275011318 578636710703223387144759453896541947243246474021481371918668179296584993828261 616550843817769923072119978177711751607044672890642401406948010260888967377973 559065951631269946746537329884941897529436904234013789530118532907157575211520 445337878470097193374120056311376980536099525959836309244253689844026605047100 531274371876611430363248209108684197028289057211156953649741296426917774881744 725277306630009361039166766882482532559002556285643596997692966872778296737856 995614177990526681177006167696741301131744737766951163929740008289362192911693 788808743381815734138604133050689285668650884668919385615532565399217267727803 761489955149003353638763632354656171798915263379131494847728423716850093130606 638229390178785747808253855065553401739335020991012220343829628128063357323003 311907408638774306774323544382347817723127845882485920094604805680082448050865 122157164878259292860143310547624047852395722934869542475254281970777491089738 993191776307399285847867175219944092764258493974066240031427884404744862596060 626649812607881253755584624360941476526199776995177483692745048734417031887059 584258904672812574805794907170943827607592380156953057762363073379635839283018 091796270094471981271387264720039480766733844113971622799873917948936891093458 585515928047141213541403812680787370103546237131682297305058230100352248982888 617469948810175231735722548008485291257163922471930727194272891262424107367101 914687398162063368194241475240376287102945866387569682265610316427589843965096 968184593407573706859221860046780204582355326674408829670327128596971814981402 710337255747130024923527721695813685515928187919357123607717737875816574468984 420317455078026069152803201010286508187565934513737508021444975539325118222268 238685577644612820552541069114967246048981797006378267236272197774989808523313 311482241466641568242480971832027371598107692559550944715600035661751420153388 416706385687058094682709479705714273341992405871314069733293052021866254695612 966415714452906638789356907092651846210297343495250819542899261934353203402254 462157175383757860984654323423110179349172936836719916399163249018455796305778 191146014140911208200241358557208508723726658026184454239132611273577314313666 625466827419156224097176206254862575699431699612989648791788323858532846852957 057655939312255443939257520378280788791230381172750024391988717665793411430690 003853232177593073872553297758906497551068452026130769469860861120542752242357 843299192405821724119114002471221594478751483806910645599217657664459071089069 710959148740193487917534144124839394224056810137788450116705533241482106926858 289131960794967457777098904550460447633247906310478767337487042664208188092439 653838378389312471859845938601925740065529306880162983603306698658079130759991 244103358337839962354691937265480625859711308081768593505595317751618708267140 604204099648505884691298414984482089115488597792896821401945372279070124241328 954654210754475377871936267317945584417865312027482400664726322198392314351909 266304097502941201384885936867665743679298485286340807177591451384022998041505 379582428743631097938102457780732789374665619374113346761524829583016417941003 051456493386902017037712189816928821592190826974013146271372602019838932779406 161784030585320835588337119770445639336430028270364869288079598978815642969926 976943281961351716835271442200744587914862164125339033316656299936539295301524 722519895646727260112608302761569479840474923754768405192624842108952559935070 290639597202309500222666777135060816192574499595859463233920353786798558777338 612557433819821789480443585324500425564670680456355609434697753908447272547335 166785281497858671715379127127882491311161056380161137131712376320176626345929 808129551052300134874257268292814439865570658614591333300531082264573764975779 935664394074283112375096433089535696032716167393689390160947309812166173951072 966740468360334585417714625967350098719006500432534191791200311563501703493052 246195276794951306981931675318100571709446166477570678596023596974122031834194 085044029582543259375221953046369612892946231644909439602478670911107622377411 456692527920548887473088923060724411702642965361401493252394034327245406618233 826221620812088238466622347892778633061320033958813489383173439569772392380264 299352011040534949227354548284947800335532236919300013894176342457757045061544 997087529052942828938914277052526492086581944227912879749976178163077033423042 048993467324512994597588462398815898842046229296497776011381028578692748696045 370010777196956417763390857531429277005104633777087404720706017042102557613410 987232092382443294687007393355606579381889484999468296150163911122564104992676 842921393392502322489449814663219568068362331730850973432027898496293153891616 144556131558941761983200660140144740094585178861004147405214349237659207199779 217952624895279751929662295373050040362532376329396585695724087537279100310267 334735350257704765681124551125760117658302551638510879426496637529084630797935 998670532380831706478014080784095107058095616020555549659187637267411454690441 427676947547026364491844226944971432198232681335125705176643353256852335602491 038423807235766415568136599770921318221869168394311148199212450631238257893825 594144897153288637450277318939651479717815582204897622049232912243284797211411 816005593848443646040382578746584497737104761586917869217672860092523380622861 039045379844821283197808813482081992302394800347444469781395400730525251266017 614764481436916153441347214350082184799411466997571272880307846814286059609698 137747702714324850502458114575891154935146323960791330634868206270346644349875 900998793163675667959682736375027539567710888702874447082217918227166269660434 936538250753010191742148578431700488607228646999938864246237985750752543689229 176313354973236076694247265818417772008268347449256037299535504354870218922571 267262665663458265520311685513614192703432124929773611458545599283289234042159 502942628194563005171188091587715683744463765723567281925585308318406249754882 647611427720231906118334132583404471419858844939249290392641889162922699492440 422957007152841121816426442564489777692238801248043321129662775439600661319187 566348076805541940005088973423003826029883745540574366427011706558608348872923 612347349439715758878180024536872765789599064693722771377440937842632988529362 468615545440309249547581126837886710150179572422147022495662077273534196399122 078584328240879842045517108322018477233687511147092770178050799038755056641862 824434138385289456348746432863638873912295369106935112949512918147968201063306 840794715363508713242063248387621887877879802978207900066048952695305209884117 978639920354080535318772332264504082060722792979763578450255817317456232719059 291539161135138054673869780516406795613592533994268553766581844965386513173627 057171412085435016593942653439538209367678881655736933246181138105190019380870 671273542592659731167583144663173935540585491941026053993636218868710794803000 952672503423020053630035177545198037047584587301126382491452703229592566442707 035314606380042668359106621634244404673104444297881113397365538214239308101294 425319163296094152600691257710121002374958477210033917401851248337876083078618 796236641389661885814227921191934251224147638929120642565004116187930278188067 886343689449195941707388545972905653480988977766692323495403301867711803964507 012845168452506070171911553598443933233217435584679379383490711793994503551815 912862792687173162401574061848096926634532531729275055410802972017346186724116 320075192473875129820660206907107596815696433074377377678016874959102390657986 469348652581657984286908215646949628409197774580940569703258298888595790450402 323424005798228333822814171667958164073098780438792260602580568607857024380963 217133517693721107808216505839044015282050906072009564215600435317331314426655 879135696941449596201378306714629085859667004265233015260624893892632976262721 923433119720320151274945235367007471883559142402932743471786843400907359297060 729725577094726796337375310045160146655916794885505071283307934740939303254050 224256560122590501267923031888535479660156608393429130227565954947332850881620 210899286913668935605873458954116639925311363934115765172479569041167187750855 647446628605733360108168492220207814650767083810076300483370269125791128352056 634512556212994191071165163358193598601008679460262725355004213180772648488453 632712772524688924610050424616190580464021579801345310367328193348554865153562 520485133435235325197591019241067440199511946434537187487876723870113574080942 828780638083612536596171540442195775377362015798974081482744844706472682694982 344111785005137173193950516014460630746767091698594744541172333931701704979074 953239474175288994734574540460262420898782171204321670062692622162374385419567 374060568694539806088280259617212268651759024618235634052833184906827921057354 658286643752159178048663442578537651709598585893504753302327196743251170087440 530161638228936265046618593362099703103090579965962913590868101019938075278965 933744215369853504332324322234473106362955066239453912261084023660808074972121 184173122170888342280900009464072648254312801960211403646662756327539169659213 958361529413765253206593110113436473867765627146964886705789246087146733724569 184247059396111092735205471478146882988881414240219571479830354195813555543385 721122845954926152456957960705640363711802154579069558578514479694374441770465 085216001711387148834850179762659859711487916961099780132258835073369767433587 772458162541880927954670719248799746633172128290982714555245885242504110450703 971444526171525642852049332260844175972622304896136709267903003957927220207567 514033206462440390544629775935857770291766089105886330947286654508969500830501 574144070076208701689164461559479475431405086164492587340442733812488663422668 748954730702915752553733044902302412801406517308882033874257934560167764023141 901120260179887563468506189353663232875480509137128206656609919504100280550132 922107959398388809273293321391232423633901698943712388801229648791072441004175 711122284935039663727763840957564819188875770901749697889875301669163173544279 930004155398102270226412950411675555962839334001354588538421942099283783228755 266960193681896830820968938549414041104980098174635445432652855680636226301747 203609252840417437799930698306341880991794590439956546580613466806507026332909 954150923981887129522045202687275633131456088897379260081085365797243384378324 734972622311781948114279341251160968829265100388720980091003981327695456071162 929077183305053923059967039251750613476245771198011082375554184807528837652454 441784074333242104600684506310952946770077054021679062196846916813161173604759 620812059475541932814327377377133963517831717259869259111893297530967307933285 896279656511478460507176718497698181328647145247905084163025030441994893538139 619654964002318633869118814156266704266903090998230041165683996954053649734582 939951778483368122188875689251309466571117562727798391574862400662440893471836 738449060777655542433025888455604764503542260013531507119333492295036136996097 283199125517694072228201116059807253290890770142859781721393651461344596099717 070063451438458333376066346994003768223596361569171041831638735972876894759664 124627441037126054859831427287907206750285831739984965337760290205379559067070 881822286887663700143055673756678451952514058749743774666142127518770036943102 357309714847251396983029880084147653955501378042995097425390564956088621699658 233163856637329381099987118072774644192540501095242886606524955881665477842461 372936059481543358741414742093422444213730514357094397700411854331196512747910 182275745642444685141730394767409440911231752179175967322370437233285159296829 883483497756854981795828611865465790244574468072421938670287440554863105834813 382902745382350670920015583766545762235111774240646582228676531229801351482781 612369508887011069945012795793133834446126037276119679063920971366713274682665 895926032190201537650471824154010174428052993699578840073862884706195862991510 541795107516291133091394590629526874026104818968481174814423584029144270991772 876540954048267951787110091622076241638900651734741687952219646610502758103915 136530048555089218040019883174093286022503299009597828213008031930550990322597 317332002194980505323615439012097314579864518744138286913631050875159920553233 361458488848770260331864838282703267112303089724719916200376829520579963829037 262970539150837405787291896598158246545293192257703268366051026279495624428774 563009459533710586685447630790885741882737878077170541098264798989644443720427 965180570883863204507529595912391361890106857453302836519790969382122278556429 987216008435574433183287241361725039156052354869510867273505711628981864103252 115950074731017683958960045954366521957376635757082259182528392393314101522406 744371737434515844762291443649599142973029565022267601931702674448871840744676 671690154725983453606275354363769901585990916939372837116190468608849173008278 897479311646914163771804306045021985978599305508261256210225876236663609571404 319807540731270597421621829659440208904345226681969520444843677692624910071528 444955205890140007070106500193842725833542908836083954577910231918216465443420 300662503005429014544848138846364358304137354120216630671535672890831520655444 901935419034699239556353430139879807108327956056429039006055546840811411723793 510774848393108559233849260579490335261073540367877752791618642706694502138689 817722755473838734458746331042788229231159967350119331457128434101172937584553 811837181526991863761310191948205850802078503375447422377938507019979618313028 438007186569495134090819382909333594127041707368559785587655597240603063447240 486032214420880470503087848424808009045632477579849216636932881869250718308970 819792311687886519702545021256089980876730469083045086494557098085194319887235 075046322149602876465253491523519790017946992467497453668392846098246883262669 373661208063216011257764828140422646717138750545404089875558899215736627243319 900367414716406444243335657435766463580498798083510347518086886966278872746052 906451347796089385304404590945179303974867141375409850926041967457563900634467 911611917339925070821668008837052970376194763725594033040252477740822320773935 357700237315938025945913006895809706565777839931041661634651568299314749372382 773756576647145794909859102623557613930187840598785453951635966150528066634717 741766458320754788730809202996573315632376635777257763177722890930012183071978 429874246333161597403137692845839107051186601717463648569005524516517741652079 213216357069684099493601019197242168768176051675591961153212732472278423884138 114864778741672707245258832720212204036121131119968934419253186251694686375093 842538619487903261766986270143486336758184190457553220178209728179481602261347 438099722825438060183060988708347556794511940929401804984830508605011525207837 236369533362767710159772269395336942112073999776184300271690570895103400190595 880847165540419753839411033829988582279923344587796243387730170613766698455189 067902317136327719231170575824642440854228903438975873831618723642321259190015 007068849367753710901910781910224067969582361962507616436149808581048384669692 418445388579092417005530281967138429446845670597814603482566193440154441299048 889465726198472149912725809051085404212124273616507539324738271412010006132100 054856664762233490606176944680545951655128740373639440314259208034967178197775 104251506586294972724119240341979294088625790058386355313253846133387034639530 541463746932751678863722659305233292207350982946200325312386224083352646001771 862857829187388141014779721794748838547464209295293426474603906973113273690931 416618154629329402045070873647982627294367718502057116225437225973380974606137 294992590135108262071721533843213697403067385932417337439228762076404184147203 236404382189136159443718973627669883163243128582893525272314497251018057222714 573260033939089604830123612828271399430947140386560367598837878071913039751751 503519711125701879667015442794063328107414329498071059241099027408016427701338 893300581951190548036657326654164534754576619935288060479247531300078912793956 113769143695896883168925340138829490440078357557034932898496200460682855613609 430341590307598952528432361072718305574041750825608122828786880942079259548464 626176303120604917632159916261994819131272119024263767992495713364383652498147 496679333522762903964073288502616989476897981818942845614680339411726777785336 598357515774055544581928368458325395401755540038439934269053303867228517087547 147087826785556244974307229119210095099142471261132728673057521688950418097374 914684082102103072271465341070588792399465104198007393764020378741317217819778 879867678007194227980676575438299384386999829618929349940317150421386788723242 187258273591605953447973533039272839076621165927380852396398249320355353797533 479325917540599393252564606010452622146511525842661081265017699022905153720635 004176923699051359744057004534834051627836175555370131073756085997770392343830 352730903040253302050162659598119808429180731596844956284707706989153378415008 476511427332522651996117662323680720655363469143146578846237938481881354219711 569819912985747853793534897915585446933762204309239085531735086230592539628622 006857489936728474342982821190401366123970100436396908714052484541428942948958 174794012427598435317251569705875628749323915970439103448038815882792301529032 733504880396801628896296537534687636750251540320082248464712958254511496198273 103083845210414662627010062174371886799052103740883880245201902342865158656403 027184709011954782597537584305452594353039974332925590855019416521620755305038 039976837605817533585360157954089130074389102332860667421698056898792762473102 621062676417154031183587084130148263546922429845019957857280222643575750272227 163675666480485484117234719789901597763978371793368697948765670825482916650270 529195671762311259512792385569945214950761509918756249558614888687502821457590 245555925872903089531193198321607280604973446810954985779303569323366926443070 151909320634281187325032723111115225703748304467773094713915918621669307844999 394155940780278112539818751973199130301463340698870517168611337133851960456967 495528747386635509184674660689348882980956570078370892086965913873086786582435 580711079588834264189763795017230617548518511749478625488672801012333810947358 061411370666702791318584959580507316092579859337925660867057602897671810528263 591511019194533034813271089397874432946728128501534039181740838338064729721943 131849036310247589249158474403432262044391672206316999688970473398379959507624 777615241783934752673908032577765148101308913121299657223315315630148926494289 530995040976035138764525074244876241791807158104423766828526364596404090588861 708818351246899823235445004297306921702050347321994887331983208483601425552455 846100654529418868924425932984969332934545852424112703287386133170694081424284 209092137945681190134910602631447615449541033212742653083324735622111509659800 514813605314694500887544437872593856925242343041123406094288795620099629780301 032780970628631138259782302829711501904645132814079922486295316505253330579982 477761826984243149875129371965297924730788081361274873952357111934312298494209 567335604199510279606277379449506002763894293060934412452942902254778315077552 942793719225953443364969532068981341455329389893235031791536104726953174331089 460802869179106298924786792847627568820443119012221234766735866110986835277809 779733464837434750380889820177491178486343967186443909838825765252352450093498 539415344803875432797226079364805105879711710819790124675245848639494939625871 100203566845791206830337657105386745594989028011618030953088723057282714710597 195925195521719977823469947282939662529711004538870199059515050463238145058521 974332298759493770611432670756645699133864674149825932690800788373912605728413 638289124058038187958423567945027013980464229176947303945806180400120932975509 958842033873527132204494987240518933678840826471296960780530391150305454119305 703971219569632849887500704684845834641948413460050481052962424767037236794626 635415067250578676655891825961352246507664140797912935514643636369253331068863 115397312836733709260852016969757682483160006178683727752257537774358262527369 657542165484305418556784259233783819359591575222732641647257840166503284054007 557630461651887727987476125617452258399058665941627505453179723517227533136944 948569392954304584203139817345661328163256443102357449539262768397334297997181 072699313836839397843123715108856579735754765721736044864147595187368256367211 885602738308946324233297011353567172495519575246964296536214164238720220815773 159737216533198270454984616102625334647729837691570581126684911638109756296850 318032640621162623902600560108479515830687994527220225638248555997748190979113 235225717904243148068495410000226120463371850697496135718318211833961062243392 124369265572668797182319837868517982470837437393155261249956761136296435109977 314700443816443485837299876766060506699226697548699714330827744977894547052026 822124657728979894115093000475290586042238918346502743891495142422347539039391 135411605511308115989023145930313386082209498679483029605810463091529192354430 260744004997516494694064456121277275586154301144530781558065638464214629112252 076126027806933769575332426984755679711681453913180237458373771707122286416686 239518410914348779814525309152013713771009664583108871646967792081259905542552 074035038020509886101332922992927017440440889537964876431876467712353231773883 195777847637409153123909036334437912684383544307000273751382039648722495814486 078681051249990721042513423677243950808385275821245744512634030987229635667843 929224685358812038533780382735201379337849692440239204904284545471693090783547 546124427143593817603659107386979207901272010540190010117624864024702722341845 388476348248400840680892839625024192767676021770879626079698134194212963730883 131599176404082773122362005125861127462207573496816789010595481601801040610842 690339489484983317889937129200871734714747951993843738474565751631405894354854 612469920832423625583331749309302303191677352794172980329830406828049647364369 901691487683085500666173493065943990260995557030730835847085156708579526635126 852188157945330673066592515292727748088130084125330066927703603871329371435847 317975736570226079544050026001685670036834314628724502400290456002868948926374 170157372403646319432892274969969549688773556083866306924465028031855380301395 884305091097143500202336721925146007862596771765914098203695095460438900390641 517655256641285432456855305526805729655010396677628570779949417999007618880339 358400810922991979605148167582995791713158158935525273856147491242729510854367 774203159807237398134733235990924304929294688500441036985790354359820224606396 094331153610866310789194749183535211551801888217573016431899774262858789390665 687254139929026263982871870865828878436281470723754744503628292115955429640958 641599668080696084810110350156245329085023597590785921101440415372485907481569 571524452914335050067219373758681808127276216276154740937120883592409052494674 787345417166424814023939561942307519653483088453112077440750329308505817295988 858014412809617555581413124620991429380766870347813408586571298861554200228321 231477600492385705244489704538901049948166466869189938846360331059525064921813 902835683021374540973463094434009807917675503150935359901849362564321642090860 370760492577344675953414417137022657276040461520300378494569962039194428735140 824354081681251222996417016273291637353934985464471799166574691583952615997462 250371345350140264824770008144805130914324053554863549285561124403385322529179 264683170048659163462690020792755894446705352935704714100355692934071944925485 630145359898316083278165799288903321549011621353904409336024609704486518257245 820897481307109046600535226599868050759204292613083694565668256960140486066753 437251962498837318036862876711002039674587146744468536201344779457841481228368 106590810651319395975115010657502040538435896638486062001097525593588974203961 009112246493911734834256437051857095705074705078488773997069178682294886478443 184698598811874874728937564949389167045110147579373204017146929617189978360010 510215481186976746887409222152648959786740464280902843372542942963817516624872 426728857400699905939532647967582663614642975306935195743628040902485001136494 777567406714039942860412491003692954076712733702586391445704339800432348130402 502201596833427192513863281218328469706104265983561467710592171395137459086851 332956414336767815599685090405138688288751184411164695344662254160870367682971 134647742779100372771919176887035148306555635827193292621725986258852520646426 094280857189760578912702093100243109029828466319041167555357784728638519266141 382694889169605909313455889424521960546746097382538448155295157119940172850444 616677566987677970487081989612504947478602260337112261426378983979277712459570 032784556346414601514876862283165368614993797690590059910444511989121750086670 647265020535943008181724714680647313572080000182621013569463105327763964884886 119165662422653888634119157454858658450184077543398757066767204698746087436042 215531803410416391156298272846587386588156190317828249303625545510476591494747 799764034744800923749448334365688044092998593969665463146608331829075804755437 232766119323265899021327821920010945761404308135170249732934783645405295563756 094490061803073917088905199806221271117508446136326181023940892091101782377329 466787064124299231604958118354330998705067118958922351996786180024819438903961 609655463885818996449166271326281613131810775918858981431039576898064868539191 617124214886275640797816768656635241926404348603510634725621231202497556427637 226106806105673375138965069380853181486894192018293746692609936911431082279703 563748896096299968728207063119241972752304706429242191166862908768221345113951 966397522078036734450581291870642537161145509612470456912337066406272991199782 033645246688280065877647469662578889774846922240667216666410750160435587258836 846231619636757569892716530195012504659798779559784337499335359913552637941981 383651217104925887177384298643725882873797916927141618182505686063688819190490 512075982987117856466328415934537951787505747009571721694461458071344381258495 152339603179374180287395576333100943300750198413271060291044362018662518000796 236507849758386517297174166876535747608678620807558315778194830448572517940271 225536918653949545425216738464055930931956032181517420620886356727335566304504 597858420534940865259922778944257578063760683653415680653946668682079072470247 223503789905084183630154347740377243345419499888748671759946390721266555621641 591641633614450378313432696356895418497411455588509225225046196956989837109493 309117071390225979090236777057983594796402621238064126945211737206754091621467 806142735156752207513219865627899870868957608802920110572458330112959241477463 414054343674580700872804228334508825356609389349481846026312881862780778607580 760466203563555380315634481065928996891765640669539580574388895316937732257148 700524803843097250226106614754987514729018722425811083234013416033867425907548 416984764555051843469049649880230579319985646189144115699625667075363706083928 919745652896673192918286909303931143627382747692825869868557109070549789549552 507049327629037222224906665774153111010246152191663807492734189760930704683048 944448126269806164075158999889617416163640162378412679799106521363869058001991 351805746807439316648412039850299695215965813792256970029809544575562407662070 842201004513638916878175300302954497806150246858727505628428886979669666773790 617708859159572501971354455631933213735516070631699930365489209640770470878175 605556887118872145122665273501252421729107298348285583169681481947028359214816 570603841735569915958387847811915188272995711047200664714599195373384370524383 275431965067831235345979895217113994167887166191508625163063987938239805433727 409141797934095490841038639988110445104632913807271579760018785175240526960765 954592863932290336140202051909998126441494198462250099014586589048336565699514 390793281094334320697251629590890738443733540124560412361809274470516386092445 798514210109293763134940231491165816491383923342316268822353623163962501946056 391194468519472259596580646936820110424811120715529263801414308095742699228947 709758715171778321038684155098733595625616945803784890045678111513712730020863 331812416227101261224813507450732684266419336974254871003252934655328508297012 100234337621036027861309284818847938864778317645720449688095924302254449344225 700551140972930165164539290687062874526552730025383122231441333513429156261557 613440856777582121485226805844910452690314247997259418108808956363080713094628 171762169402597447958647960310257263242853720896987067641287529640631309871352 808081257291148260868864820562485622026340210889721878063629524116708405513614 892678131362583459656619043298273261626563656837349545064420698761638599646816 696810595406476640290920387457366525261845795646169973986725869214936882785097 728710538868087990735403356301658350557597561259648775493354011105406395782932 767568891205136537081978985214714349262948129388609046235623201099732355979676 326587113513400762212110614020616095793263296529933703656887528947877832034725 199525627354376405049395114314892055176281052216846336103217681653746622218998 337637473691824783803764643603419861639438324450283411061590989560624024819242 348225989317099005711516442443772678108472206944307374859385644042715266448835 181857110971376372417666028588185416447795647629655000677771484569383247527725 283686893257855845480547470772435148681932974797351222589772928295687507384158 061875476695495329890590896443373018248336260096838711736747407653601671463989 780784369698640932951847562933135125703906077584266896922749507255549208195663 415765560978078068269802099753390753513763566875320612439092983350674427872859 241911468994818743598410168263207613494152098757275973384109886920306265649429 690409573356434558843191253411754579157190711141415393225106082511433666098885 715720407127963009237228727457177679995928181595138994584665916947606467331601 026216455580950389877349771289100566481401481274395265750458668251110780870154 942125689779006670263743433272969698533416741246796854511452577856351318077096 436885819106430448962637023294352864053869742770314516400660108531023958587819 700775433793516418170939820353332148907505371658368147748072314097752719689333 455409532916274768429419431055489748620933895928198107860171263879371506104462 091597131157232798686511741618669742345460452046319758670124207951773830306801 204759895184095468023120123600444789359946509432219984156188314726442720652274 548922648627564284324849240564537007041270377737992443607622180315915200122874 009612023435182217921482679626514048578811994915902260895222997062531648194865 302762320418753179952925419045189131503878400644869800586603115086716193429770 582405125816601906101611367491151756939871802521491332351740470162186438375676 068452379630085632942410647770895747981345873664090923051157058043674699555657 725179514090341017439051448525127575489352929165252343601222274547194787589837 495546331698371440746450763850031977450204933666590320191331128188232069271299 491143598460587493907294533319411171335149046627770568215132372986376639994252 485709404095408796105598311016281518625184875670262465164042947142125950458302 949417368063029283212921759578195593897908302160594875907182540863177440475927 590302518939196095001445123212487756510243767889397193535971390703829290240471 480528093763761655809173914866194758919876067517184522628198484355737104106467 710646792231573281893649827403252306352116629278833649772785482034433068380171 045445186347014569752164816256369976774898110961200817106603126902037437565481 924481825156478514537344655613541541607727679611038037934684461326430483856285 269911515011301673357578173805160874040338383701557114658729234387246163507123 640328316683035219041889873428226614718166920077989177303582717459014907036280 091378808300923470086934149698468893660795132126212173475366330547186721765508 903633112717942028760460137422975160706406547265653975414388222907010015862828 385318368274171929003123087176921062644998761016525384864287157558400575764533 247638254556043119320054333520286262813353485442625543703071242701822421444100 204395475434706995240316665427678690894633225898162822946105402609265516485728 538477302436799189910811797278017229198752428880443789019317127765421466112293 554213880845535256479372225520287606449886272895287065344792579224826517806828 054728727998649615691511393654406801451898560990294777311559263956470616676633 683985332122276929636340713484087669995531861998870998510438602593888444997929 536207644602174856524125479560916645403455759581054784597765686609794142312002 437909126925034945965098770474216809188944324944760531623895135215295253268993 232352247720584897303867447013046871504888077498875200026904238107494230414435 247549661297046774561971081459270443932965714953472699632622920151400517771440 828429733803395067109120168837314200415020464499696211732212174591936554069108 117044294599828857283413814138346489696590710101221819340621298016470208121034 473919600840843254812834487715793200351642443287468354856440302229935689973558 745297122751174425600843736233159582540695452121622408315473632422858879979366 225310168106082196363317886333910968154801536086783131408872974840846725889717 075424152017898924868579212343071478320223215870207236929162226759646503082463 601277547361282576959582645220767021852097859362860259112843940141818955888316 546383826578894509287248780062471959389157671577737612566322203940020942753984 779699271725398699135445247682583662320196236543555624807199768462180666587690 853605219311038814591851953629305069912844235355793449288351280324469867271933 145921589388275636487901737156512335065644961514681139079222693489532278518048 186817131902299546124768407425781493021372635624011760575650313998901535152030 042153165004305269609772934597350069394402679574721723256163643608922441556653 587396392250075842866676277718769979446477818094988851274576592912350518130172 029638551375190254044358725667313564939504039542864412882474436439777644954843 575257112151794140344002722046141811836768642072031579297742917086900019365930 242169310473602271912449715638514176649350801019527548938821071715046272628128 850701729564196045308591491167250104636407886737343987052397775290091921886796 256565693698166584351920979861215410509142079337406812624458155011495993366461 724956046342308171107626886003533015884070428796455599622537102651009893838567 986157287234325698683488612571113688585780472226484998251613947051979677175699 508945184362668740141656554363677204623661858104542455194946940835414553754703 542607907542466055173207346667117958389578811763638922897882597722280067337999 805970504972916220130723583070308468935342052056007914534784591519759823716243 332506145805058949392968288500348988658543977171672296108455489314903857914293 509444378114715863900492544421456413999164150308379085126672646199192401413919 609843198813053457995700344046016496151271277269692207552177621980221493455188 351676208875082352203136024255393300592878460602862155223839754300924482330428 495449525032327899765499573444668133900795984514265351691198617560492302808844 639606405765529171111233913979523783993181090171900972145920529035002383512062 748241967616227714189889045844537714911837337704697528038414861042636940580572 284807387173455725174630273725584400584265016712674261253578166508986700218361 939225717065836316372294972306231073677628433797268657030958528281396560908995 007324764710290166777565948181936498512140610235403168308454953017787187138690 547591479404348209102895321816106613950754378601438881165608665649823257351010 610983240281222097571630880634053526779967670603683259636680677648880284204151 576453554125783192205671735875286646161180164269297546860694258583152463665301 482028094800141967679112655819184468215833393675172203818372766722159193525356 511205513931384115086135197173747803533446171255286715280434523459660009354051 525753999333059880039042968460235678061924075646603053450450671079304043694878 227005897282883655988785945932153929715901336388843424878910633630472663375086 780942824769621602924534754362982626266924388368760015839456532221005555853934 622157992617059476166668956021891697439766343590327893311022411948825628858132 304006373039182263777616636020415021789403034904318810028195065742772081323440 344159319679508429414229323163959676345490391224916767561676070822151973336054 682535463510082983965816833842069405350493435912568074792411430131751628295989 231805681796308160495454588968076459382785885163151164508597684271842285377096 183414630409003914663652935771267480567003575252053819596424754647424475515295 446672523036580111343330397630139946287737666706389631236676813640747510779908 017608458998273634111080329573180865279841911771391068281002050915607339768922 494171238291560465254573790032711520572684495038480089129928576857475333386718 912336363666055156039965756516746851806378940665346884846503064204600104396698 828620186502930933390196716524005082377511980667611467017973494970348723786536 855974924003784040239903624346923988175907934975007835894767747811765238979759 795350266536503331839354353189708724544534350948380975847644527554737845972978 048206312716720306453356440765835988970960759100153629383940643558991129799536 269934657437264198810485897406809888832700936947523821092024171190246441837409 550744139500244590987538870288993463793392539577398966378314277165071534302267 077514924540906137447501272543592377949745950896065175666613475105090090987590 084157885151116424110376357386350757926116241394715438361911366663180829945309 303278721276627441499069593075237340744425528262769453805758694730110750998229 829056952985752758595744294198840496269382382075085425361818300964614892086288 596547967423776440657813803635427806629438664111505021033166796402609429662318 021963729115101784816110111594667918268789013009188240160383244597069844139182 882372224176953063238710158940279601575151491892799608481252184739612542509141 658061155086306646578833121839016624090157198681908572187695152175983023673063 488730716951412600059079177713715903945905985847665647603733239253289126705187 939795464063472403873952091372409747960346601692942074696744018051265096920635 320584538967732679421178237799529668753520175701888753072772930065918647634461 348880251105264202818646846073336160125493497790808553272289426440823142391191 124886949527817631371347181319314144568113220745810719107968486437772098094754 828124989793135816205446098689706396902670709122342098292390398075600133337774 890247866686027229081989990015248654824274661403343703544599447809887986442627 293734929103323530969890793597494594548615079093012614030855500158126361818214 544653978495909415961704013554581001307264823577491277085942719036243281072797 225284985679816198775284920017479424522450879966697412434340506111485314077042 329776938149128443420190334140897306085149142146962502640779986874929453870310 202599630425332794938675406631587986888378689160499422783870321751167928046469 772724920193063106257591089666666804095190039426402713784666903065745766657026 553510660922891222516974551934908514681770389365547049039082136500854906162416 952094057023148208281988717486727602914387585126321445529083476804445042471710 890607606240857517935441345485062878855097038105811051033585143384548252097720 118800265783553519815076428460170332701966468031547251467606381322140974511977 416018504745488235814551510449647646553569861330789168219255797564971383164003 552536004058363613105835227276020115348381677888575420434341262687740860980494 991042845362386641265683800967957151391156380407434620209542597048870214623350 870599993328822201810367431998037688904692297009509974773392612722117765134266 909430621117819802865455108592107756254181055038177601389851658596131591214808 882591858270401640478958566915010932869356894135029051855682826045544039295042 523809936937165171643397251601400681195342644424494653268541923405312518784416 364166484195221723612628122646230263987603934606146075093012380201982138175574 872939665752626112817434265911746501447013207048311659074803495073357579996999 144997783598205515804368945358330325011997156120077583002492409784953551449458 628211080655273002024652857007411358497071909759985627615120634213134058968341 531824563352088434964714753676523855274149950755767507933848142607266010806288 929357916770842810544771117922783635619192779978744225584328332391109134541370 042661444372765323972949257670127467049493413002554072869997228934326468816608 249209977696549125949243303208629596623162335165195538438335428705919407609785 807699093367869115908418522819207097672431629425909702653441028187598425712582 575926013181389521989690072934996447951861862595876666888500059583908178148801 286985196273284997439138682722124070954749420454893349797982863212182238467066 618632017357999711238917985678975141165820328550400743238987149388899583702270 947844828849026979612370223042441093199864192060827684916734516365774265248182 887960367381182481736797565879558407032250179062246838276092119949647908911367 485220753105858284836611927637065676755221418509354845316919245724750285892041 835422920721717857272275132962654636401113661725873401744687451435472165912300 141176890423318685800202546469298524483553831217211285082437461369989536551464 464355581926213560183619046534237415528244743905071247744520297114379127501657 776168074629935222737631107596699840495238463673199460930351563218687236868049 690833039866419348575526941022028269773430929952757708814820487249084783659949 140311864242706946705596041910335188551375458354614724625274437003592950092997 359533205245735937834131326972519826321025938440561296908035557278670601388905 452026583113226366724005350514811916685110024075424057283498205540654259586633 618187062101782891197705034118341196313789742026116185858499689553704123506840 525633815465915418850854216217384650109922915304832489249880221182918213653595 796354422004202994563775295907202711573182796751918291365783516275395354916209 381691653665885165262317777125882220709110914114844784448404146617612146397961 616295358887444016367776414720574438409932733345818776931837195484222367325152 049239966732369156812366087201319567095138850350704407102658468270714017109002 578440015120369270615776414295306318799857505940361108363000251084858079023538 471587634185984928772499070139244168583440287448244764070426512085038396587236 913538249973700041709016295523762970638135188167854614844594242718893020495395 593632427009561493701900048064546043904290234664912754582305875618412189524241 065690577385156539202561534723043765180624102908904323442602266621005141397025 235418428609714525890958950062074698295653610150571125257193054509324249202390 386607518534980001655477398451484276217135533233054407188631946395482308732225 918544224484957040419585820989286761667207056765235180235607491503647783500788 166627197462749384406267566205238263422472494936616456664119603099385036739564 797774883080634661225317301106196828208945799475646988923722222463961923314568 868493454849688986587783925679948817264915158145848684190924786061056348544685 743001959531603756182805430919897001198917075622486090027779282898975695342543 596500114862703876489670445974116668717211804594806575049522228110110630766237 945182143192925695311465535007940562317379781569528372261210002785808730215433 917474499797107870960043656696125902736710998913772590622040354144453400096788 659491717719355635521344987372085490333033918669352947039478481347026237842378 727009799276815626716362407463060930451976383909502631066787300710718034916827 247351308494236713251585393485070729414149623135343560153966876300546250439144 497732381301858709067427229591769766952234159581488644040380424228323596499719 855559486420032808826764413887031048398909095483580580389113409574535462015578 656424803735283806984427279399745320694482065449015683737090550659176485960265 205858906954768673098365802026899869272522176979214667404895130403026872571262 523973133185157677742342581026972914215198437747038640130451663897447436566139 105228765334529179157551475978427658912788282388409566596481402747870001569977 748028688339879792840996497627235308542566732117506451849815671759154438317949 382050951943705870746618552760163348501733392498171352609818836934972400692661 030129404432484708830003470812808286717218797571504296304933231045903471168322 057580213964643679684358349931503714337439328768706525937501953244208371985225 447483826104490461705094326703092336682105647094167321003314603562676968559849 829179634921767961031566125124936766231676852579472279398102438719704629192930 434883751251043834072881644050600421453004219502303780394070858504998619792322 291808322173813721154461516361185051695495435258644051762149403614149366243035 909785654394705712148071122159954130521105463087976569257866153545597128491742 617789696294102903857523611936169743965960614322569793017247070647378912093088 906683940100886556235202160240673558927325116253608057485802087779514776643649 559156135937736602474501126418800487858079655544704739743774351819487537185170 866234583242088413150434898547115396207702747147470252437635954530361201289055 282317905243458633083320530016426987740330410992002998426547918802019607867447 030425067025886899172176420479620858700190185908899074509064141644630725550714 980167737148550340168558572529581590111391542331914932824295015928739155534769 279212097541685460845447162911684488378218665190332663278561884741693978974465 046670248208473067819853537865103611395034519120137098466179135685489693205613 778223263209561513920659262328722360015870615974545677092264196512491856032280 111294554737070458212695577292287976773929698312485953519095900488001277569612 721050072178242780924216800855322453664962136548359305476619677823255593805185 234708685528065814979095634062744436311313063802500956174760480339895339208178 060123589621615072110162245353027675379148714035753369374352996078851234015710 456566718451520661948915885550763375488911634253292817457989910708189213118993 328071563501015882527429275251237364831337090556186241223044187236862117088847 274624504017501091574242922601827846977556305987389661799620343801776423283500 828117095660237447528504594055588572096123849510405775361566459349136014315019 004759361808708602892840831664167910896969623089546232501666622632613232793281 433325708486870086371721848552736831456538249295915393038013584958239367336227 870517710434955076541987610911613581854868863859240652759195323540782506189354 658434017761408791827079497295810055848426254922933468811499548340671950751258 397116613462752545975277870388985556692550593187672253683818411174699842352877 576572925702574138830977385292421065675649531824320772932667322358185152988376 260081856108000022304549209171313170755986631243216869937450119693593466483365 753431044826201483120026780050971330302738123331914994215779012294848757515567 076058384988807467456245707816277337353265534284628416673039988857466189839334 256772779428687538824761349531154787814642485772790225943060684207620250772465 200306858104760872866659135095407328152941461811675021106276700338214803313557 608115937264982187144366190874668532700229289147318998661462240198276103521128 379371934060081534192483252424822907599348477730896796463946119011478697265118 459419078287232734792573760395614478777611268621453263432004461695035352949238 925621399959376811748105977349720372343614906834979332685043019488721218305210 847224949499503716745636065381296487201216518412088898078932847562728260594076 151718989571031885550380820869043225165578857808158236876461484803493916383963 480637375620841558508932162938155555557255134530894034969913577112176982828450 230843040315080915086569886902532815590605108286050114474964106999931589066874 744931708154296394348708255501059275874047606501950170159653513168297522900419 938999677726819954591476746224340285120465403655420239744230800279312089430409 958006735792232843585934768565579113509266356073739530770139259611568155788526 235123116178749137165334913126318916537084626131134484978174103415123721140300 784097007763881476178074940328114973548851611721399330314344953427337310659008 376330232360017091908745148651022009095766978901682846403929664855509012692951 817882829295452063535119378121227723934574560543742058251650232648647926096344 854192487805533409252270239064092175530226655358517613044948189337459212697874 604460705648100543776505710714070413724137725059937763498918598386166229276876 093134768027065661242820842240036132825945271873788791585852423330839457394426 775582252986757612566049738642634060053453818303643381696374710133351392598308 373089127400047659052692169871068224891422637071276700181316901146487105855019 258630640098097148491846285747551883938063585309838822476137008051740747320614 006236580809331978783604195267297866898932580026148215512053325588941963552450 633582998680701535678565464272788154703019680655093487485149840113237455092210 568862737981129165143050543643138890977111568328732797426275812883260100255306 184979259157900688081758852402734700141523151769012569048118674738074874371641 617783018631797314809422342776659891960380037880353805230628907841714131577084 716319760167198376391618585697122378485053625609374009431091175333858431602801 837306346481027346112701031282639676371229788148917412231155194146605825241081 296548804234343728681435651084923252912692014079464086101887621069931558425045 070053366231663835961375002664570498414467720174506913544307274207502679257035 173510192217799492195305964459379461474645986263580444833083066524373823629806 645232371461674853214247267927710129037761296862050077690854696798138273367620 928903434995554623077821570713848103279976719690019198185343130694515287712603 129231002652018912618012055740489893395122920040480975604892643673910660420892 706776691321854573666907278368675770932970299691056732308353035201951208992357 419639465087982643500620108125379660299406690992266576373907504945095494048153 206722562544890310230801380756371498862017143972819044889920455849666145606320 612622936407395385510011313429863180620546269119997314687184057435599891261238 611029783044543822872817599984535942162722834068985994315657531519581991051373 942529622739084439897552710500857465283423649086249110396495092120859846839000 214701590327974880749470510155190267203546120866485388833116102108647343544589 356545030421936676814035882976208723450864820819882910201002185602046545106976 512825982432366503411091808952080812214266373188745901973443366319292909034398 248270562834394767283324387359940140145228307261635151332678926709287048281287 820297473670535634016923500027933344852711942756627173761416969753649127301789 974939259883412234163692464406151741365615920151309947933024070918327510885004 885365410540543502036054040442361013384897730907694893567443441220770262828470 523977369336739958733114220773398248420036906752859596144988866099205905349096 493416091065277446224736318308749888218619956187498702091943795564096393360087 254935440554150121020962470972378312393327934624440734659075809707962497545532 896129497400575776617593507981982389938650392100292277876913746475058590321410 679733945149914035789006642249343966367434796142731238028506405128859639325613 161937488427358243040085678468644547050893120477605655737760354425421878204427 705116803644162819710035934791795756198947143986307717771659314854851165909867 196431995447482119607589512496496038267580278442719483138918571217893533634973 696736036867532806686952573561030443583159035625300377683166032130144478428293 549790417936558352233037178968808674699209125440189042531727616820340770291347 814002762794638075985396981201646834610454613948312398073024467805999290612170 026405417862688424350233839988956957962710964584475271449908827676784929191898 388128429918033391606772163844494091752332666554169260010286689741972282882010 011770763922811881279570299171471041287363451210730611111907074646995482444101 751354216471696558290373530165245985963191181145187865230562296135945725771264 088065618785990495110906906600080196225662753069388441409008681413937734054062 908460768714391550500042457105724410820359900902306867996930771678331282866352 595409529407968132909073769254660513379007221135396031219597803000624165119272 635044747130759805977722985381688770363416563015170736221168142695616149886248 820235287647377735065469827900259885421384008365416224084329075685975704155667 419412485406717844648721957233981591038605821049489635519702978139382254591486 382352161534258847670449524663287624399971692592119428100894474569536931821124 536667395897756436981719381386293657976255194039694306026188593319218002484665 104529982059265575082241145706890620056688190991950194524866735469665783356770 226397657859130217787134344912545862838611103319565684589752382064995715400613 549059500761687909910190915316620776250354365823519828860809648894242322982204 229191189725010102886506452279243931794130531887147271421519451278154424048762 119676659272743222254256335660290972983431631185558840829898476814166019180298 648979289079477355785902293594568100414801389901703245630928809424367602720544 968010130156544811556497691973581523050967040551525520519934952328115051934901 821314501254298346787994284186300868727343840811511508351166634457008610601612 738434456809994592335142492472012487302344972694841231868329328834415321919084 925931306740994197949551323944437335344264581625328483747214987639962184942653 868521209637084950300366269331683092901038103604728700867237405464632068351236 508373150500336333133042906026480400066472409296952539114803245678734535171199 057284321041891605520271182032876270519592793901452334411410347494789194883350 662289015409590298870436449150306292138866433117753350009814056438585643759239 525248698629233071131067033012433245326265772942452694849340540760908971101758 147778025973979032697344687202060191877354897951871545668031948817917815077765 939099217741288594874874887296863666662525234507694940097041672561301217607593 499343209370903284505413823273467070738682253055688036782851006871899022484175 318123134577469467945380085636381149100717098689004961026923529076836758252763 802509784033414736961730753982472645828965092706131932878409093162399041712208 217116262116428729853018134069724346878465356203246196487686740366120010974442 529055835105642979339476942707960197263451984586381583490779085448248461885832 538533263427847441654545555725114937353968781592877301397383290072777331567710 017127492117044044053022741372473417279882483134865556520579032397140982226067 279690226032799547116381322641537280997643590844975527864295604940171259360879 107158036593672368955963555487100349252872065383333544603207064339474443390968 993292947412321057153184601807821844778520353755667468139490034726872783908472 294530914044251029553070615248242037255882698647710407497889267176345655727922 264285880106021579639101645872844725336957305863247412694236108997903636646570 606677918883214600819620636466236452103652315281020835168023268747878660698901 710357666217602334842456142754837399017471417859875285730486893264732006230664 293645941718410096695616732458709112285982249058443790170048660279374926281764 079690679381708057794776366901503232413402424969372936319528316556614065437554 880243108205991493971477855580218034627650579154489391678408771707797155312181 481795346424670067865940671090013668636203998162303183762125626061430057056430 001884446344264484725983971551166045280684806846125239234093729571351155582165 677906647072841322915215304603370917465577767640087841589391131798813684647575 641668751841222619295438165488799901924625443242086610448911995514994329017988 322149781350001389740825988926006148841279843772783203517861827574501806733742 477011448585405293192553829132879904570634804501714211490463966465262883168048 212684358687654396422211763467696421254909727751438948602913831235790504789597 020115377282502475934882017623824672725507217723891224561724103723872611892577 243944595832380981258203015314025019257860977512696986085002543947917552343981 294727230773344420070915708707404937157316248203989818449106285590414787724770 073645716589827851922007746051266714970668274067141091018131518091460872338823 038456685856572141160894226943055524118484811073488277584842488015683808810161 183885700561888847890161694819800920374220120547642897583757285927221568609752 489820858835906563731800953377236129077597140994929489643035493023404887098845 325226417079751503515358548879298388141176632345219729425890866285879731384839 993468542546618850083198372387658901997113804331243158229835820687831100426405 041548014722627554957429947413337181936390083271615638368815355158530082027603 271012813250813904539706155671314216173821744259437875747919533915345531338310 622619894281793060450604530207005159463722956225664871074131941770750779306682 165848556858842816474089844394784619407833871020633845515252532244787437143399 501710173954868784721283636215118083673031321255735897560674195988614887154525 801055617593383633243707774354363730449933862459037777689815930812236760159175 915532171208634783080214004914807910924212190359451444271275794965163460558655 445041049776231333077142851927881607517364455224630943748041681151530867615895 875304580730470265505095360824721696079069295131387055240599096335254363162044 883713938981112964637640835852957183605645094611871718514697273109892721787257 040764925438475490196330876885301796581971758364777319763026136932772729167532 969736407938541242484659388525177123002848132270179480170912979074077169017976 588221843332499868157741947539077777511860561558453943875497460160387682089217 490695943741062387168366959463670390935290812552413831168268098934671979761307 998854675312879821326755005401953676181683395115116277705336586300593560328114 128291542994427317443857261230418746021094554273656725667548762580351885767615 664302858229198589677614120913908418161597477038663358242611054200844577513085 164039489255573853469926269245625317876680655808144026754977816337034345957741 177070923203207693880230451121285111111726083723672901926321528875287544230596 202290595617684783008358723822109598194617586227025427806377552406734505603119 748383097964479199838550672525371054697451439126892042768285453450158281386117 579714366011251127910655217903031319636338426273780088039385973919158927224959 874479174759476313287083435180311436867311965804961313536566861632737296571193 928500616596503057818796483621902371605131682632359905495751187245813239615917 631773525075832811260992479056537574895898968670001506687960233041791077963448 004569096799524287192514895438873889786864128942422765213900842662467436442551 791112338895428359835071480163658748892532374161785111336944653863614871470175 003165367159330144925865954474214714729023080276891052934103126804539047053656 682894676674059199169399774872731535364106838966352768944407353806478974704209 286880636721888867109175807281488566015290013929112225573018606479922811640476 976301951171204872858703432454070844481008905360035520966929065025590616974452 621182356353104745103968482733207032920351598216826613541098045233076942362333 480704073060939854196369878230753694620033432184856127765791620520780617580563 423587864862583544380917691664639079879056090563484863964136465304018036942623 492181025229177651407778862184189892073354948524380545874747316374532854484419 542295889814408684298745406268064009702974982063855879752026415659427947269738 430080333864534425640466469372941914366478277620337116660037781604358528986502 055588338880513983745737795021931458512476412901192583796852547902920963630238 320930081646958398284718371006961586441976976071737270124935702784873367711548 393625072815175567303194569127663803032482984193866920423222886289323327819032 077916553839019025517175771512322869970674231250771131383816249186361371039488 331020671137882439827242351440278191696511557705427560338922705349675338209889 707927149829112802425715519798870534194092275197657703284281779440301068253249 361552323370526501756282776869168568287018584641054801208075547947539993445887 652262068349034533482169838945701256424566245918849647284272073516523675598520 029211386324071028374173601390970124428425642111386098691302579078112403445431 017662115343639082744731205666528983763723863493632995364274968995862729984987 086114261222798403068765809122079241076980948201356045246422630724132091509048 578558360411891871641345417631931509281024198614807156800922818720063942813984 547575311252827365906268559457205750472627885240761559113858385405260385577813 206675072329335611696648466440799885326786316156201457000528551498079527991742 752159816031810595062162252552868661750616412494017054998572182812906476370419 040729407937729218538534124489353417764720009228227918919343043454099502386127 033269753305388656658885143065641829957827907297999858843445332874019941078112 146870925045583036474539890400434599839224697074891208756085072346020177075973 521808144091853687749613130396877478388848637909588091656949196053157653348013 132143409350660146806767182855136383507273747554457154642698334701203829575149 877539221201557644469436534493193303149694299780901214623413997693024281039232 863609463633551886680420149994078972247270943147629811297749465236741700372878 532471140936845998194014991454653998958172116842030117912502798256306866580543 706717685727914681766225802171087459760527916721008858062469961216683628856011 000999723399597735328651520223705624046979892499253928039277592439219423984333 984382196807402064649233988247895204784780156126489910658852127602935845786270 258935750767330151249268611815417226226624180530572269958278533841364423826406 243666379715230492305455158125325048810057131440154332448480519364252524518742 154411140790921828088525924283573386207428898409613171261958626951228593850339 942188543369594079888723502097792328323555463043352650133437436529092730574571 133216156083447487630688524566911735887839118247559869723949413865082227653545 240592233398595556947039496694474517529820060745033661773193269799862405296279 273076933807165832755496066532815894001774955647755960054726692978710431320753 274009652679625074784879464157008462613281279901655830772241725890714187931500 854165877138145991042484029682904576597870800817374178153910133583842227723227 911293650303769779604089350875909151303540791548505693212234974719125150327373 048026527283296322131821721793961860488077858357906699558638289626482548772670 873347314292636455524872486108268339414118839878850123228640195175641951285629 625516433969618434752441878212194579008500520604638148782652271616844085579251 475314809531370251645325588421640421652006105670491585782383677441804135948965 221652900986119296824588346386314845327094421304189140538656869132133062589680 938719276711418626181559122564518302631861700336319226555460345646878539384751 364945708620188457988047345839876677482146289623278031859522251446920933327607 773880402979704733204676931479159208496610380246754349326879975131292366429435 531786637404553211906639916003436580854720247192355526337094645553654380880306 777430334803045269920016430933331414933149002622099912683795418267407321954916 915017053356187951542997486973853636052123579412782193987390903083603924673030 250276731508887735333863518544546390842663507180798718223681392252112890728837 774172722408599720413479912094178939458368395081384953587579384193782475749003 223118903147075150383430061139884352584373927456264088978711185138845227493453 970277358756662525816197620864721163610645457826566315576959587179341701950584 397768377331699399155964833356122581641749781658733599424729992679482824323391 982643483136248696157767592390421068786998745286964038356038405611273224463531 749904049110076650603942471726089703495160631253410738623335620008289067835847 291554244774004242455471186661044813483028899967463403516094168915674505141577 001040630689623315972260748089121801002921557684877559869799621595226508433683 307943421213185004861687081817498846143079187554471619061348934177843648091708 124236291220329063249305650073550401067164045605206796570891146440973059587256 428300322297559140689867665655041542181072369661959818198684638418636777303722 799720681971285589703342413491046067399486631321395513276622159198036163855613 988811276085374109132989671524195818991823369591384400330592386896844522446097 219486584893688476700611999545145071630293345504089096049478460070973576668157 504960147093687511958671582035174854430384764961706658163488467201613311494046 922639479508828713755865480458373098069952610216828903052027608141904775649959 838531939178493630468288026821465753574338609852702877097084628965108690490500 592280558107611745975365111443614955979149381719697659792224055339966061120375 880724867476220933747330289355961987428121024195191708839726341398175382287971 388643444979317331731880108811834459152446451793134757338751571384452066523660 587759276406426682559807288393294519199568828414072928878125825581097232848758 034843366253601226724553920195724896493561354566481734210894055359476778577793 327551080824790483853238453831626025042542693426354136391687559085781260615625 201543807035907162315715114231860005700894323912322570786726218137434939990139 546967307149767049546288281257087527343260971988773934645214281170780203002158 766474653687196603824673125553288524624030273176069078558925699797242805819587 026404709918828467871137342953404297709887313933048326320592664537558623730356 962557007198074059282528871694041772080681610086620234918755868109846392797673 635623378483747038956677403020112083983132786227471991732474796652637315305384 681931566581029592284555975625880762023099000666901053851313653414834051412524 886207853548252471756832325494582326068421359453394031841606711696023085424661 821266979305264448556511466716868336110140416059329644943114897957358134731407 256494490541941681255446866010705995430975222127253931328573910303216652851192 732858240254192314377537322146089961270743198572518322953988529119042341302544 534518192767584279399169529967749839501323574336819315975771857097786188347723 568261786664916747515835389881192628587624460873481666881400536531118229215181 078480672558365667791398561520407342034884144338860361367407275320703482482498 098113436019083696936308367389005664598865272138193870917543180053803452329244 726362660915995097838204279782834683293342092855832809645352308634713129436743 623975751073100537869883477782517260524275440020943985697046956099302716634626 556711997171292995178704476310315986452496560737648955901915231052408420998943 127191611222826325108253605435237041123571326930312454146122638085978424968704 242239038249886151376224625096353336685209581426792221797270890949603232207537 910179771697016019940346536881433796526296974798817393711616991217288558663415 329646315741737242495102944846483250508026991412468043486152829335890065628254 622042469655928061063921224565124323350186384480361415951823282366292879331249 486148493418731640231583658694355126820983838490498797796460587295664425639150 757413299358769696008063035464978711459702330916590677636258483690141706872305 891190032369350969066232215295566636440692487303314440444032189680064397280369 168985863145051576533285608939248610467961462952079656503956692228399384453180 098112767593366741796211482727234585077863187643798339736458226646267655260440 051339852906169395268666198889749469486207544440725960615455236926024624389263 340857558085294915444598955753980578002021657015869899604670937233655975175837 789971507769967813589033489745518586590880411691221776975656152291084896413920 569815242470835814514608041793141579006397644940076254053184931021199717698032 571685935572160423766712833170028613205586984113953170224426611246300978335435 319928957702588929283153247991889816300232354701804963011060884428049719137258 329966676724078276036201574830423465353487428213882513412758617326409095849704 409147601831550903416965776170533275640171459958971876278258493681199896932265 034556070193072861390566637735203731737819299758103229234295574264438623303390 255961970220601103766200908796218824954326519961336532224589933376333518880381 014086824234288120929071078132193031811976436268560596624195722637018508523853 877268185179230301324224342260155906746788377440265308524984905933054812149255 257466456829576555770531532878987455010444673238960496165608291030930197385176 884738940350008177947931984097931608602148477193181942073586622382528535682300 744502194445578410237273023128003977064959368617600374149960407675698132365334 844670274355614684691616718848026315890772473186079911796926032849027854721708 653914457963049384955736788804566490983851595709340612472170838272913848752118 709945444646994682680452588612825662609354932703018597307657115221465472123187 062338522393635777111768162579803903877732346852308931757552332445946052015423 512028849314926667303260783033855804838469769397326632191447164445067622996939 062689607703827976654393689985933221091359291325444641214507570128841991805803 816204988765767899754063450369677973728522018159062922289292682052733491550056 629714226249238474892577205081114333787278802645184031993315424266960869766014 394808778462844463068620665498720061446526529821794631423249623304593035909707 337662410311533603471595429450109940266144622172740402426624629673489526655373 149666296958505416984114495702856796846245730588291558794901661883660182943603 044513595525078858203498419148108863883712433730903854901579480780344734823705 849931987500686710050100116589753944289821596812630741079872215241913913475896 625992289643850416851866896430856516974820033867415909938756288495929606762036 910617624795869805585596390408754004776083531620883640330176407488911681359870 111549603022437993071786679695533039541719954949453548239639137882713832257702 605739021097090026994302545579484532343851655117570484938153861290259824261898 254026336035765897174698954680298470844653736378346633625380322851350752126267 613432032170261062835498611852648212687847701815197813757394890008839259963512 370815190430554363888162630229971524316655594743014172597155147983383744044722 927236185642441750449605714376662243501239078653257965098946636281028311607717 584620291721776373113885544751938456997116962813832336447314630428889316390376 234041341471946489758978303063545846517776887152018067118292748830996192655551 189772623370274955240142613117647364098724996744926711152418999493681464950698 446420891586745470126456576159461901047582489710431227058503622981293791754215 171164280734264824080298857830489246747240688360230200060633384539247492918190 668807945337347854268382370337783372993856163848174951753918592413056829272975 258394949747931580149202166078453100867769181004546852550021059313677967120111 713797932683566230251492419466892613613699051136044238924643440324233811123588 122016350321029160068704472377613651951468171093353889023724849901721339869422 747570865460518491342686791435967239775759856119461456379415597834223156632379 611189281733766913755860068592638591913591916796411776823271153412893079992184 195695550867016212739230620424427925509461666446966089347200667002185533028856 060404499681021700146434657953752669743985824356196510957374213733177497200869 914236944468009237670764256330065083382729166252262460037513725008749866483542 491278389586450200595394676269898711529681978554911772319652889161845928894037 243846791928986556907440964506735965416066148669437951664967675815672473454982 838890065220442101740741227568912617901681312871680955414234889858207584225430 498660348063073978261121644404832845460264554487172368667329468648731106957702 481267427353114987966073924364878445307821150499476280517772844486700216978730 835407530487769399167569077975425798004551795867605174382821794233467652071701 504579275128473480357902607039667807447201293273819583884833812365486529306885 689733316776097024911040726330119997088512578532865555183279057194912690950871 851449642024465308579327745034235914454077435727159088025121261218317270354821 600353795998341814824268535114169414622115513700881750967974053755338085228379 091206363506283723052224893602869258470626954258840663013600690032584801099445 937009058520028952967785388253762948765185059733890326995295203115169986246149 045538733710985988408785615956985725159496799138996959893009815755595323257131 598988916829558127569321779828385573615691906048593713903591167863485847285888 016175406391464165280113335380413415515032632524625165006419404671675514499229 798056516603414986838252532324311751941408354482484568684686061609797292996338 012596198419243347450924054480425157444120087848341762718757113325914144940529 063512564528676286249683191762180454505708551376307342584303154509865116347955 502665466886328518168329000816897166323846775559746345440596046596478865947174 467449163657895354522068510297470694253726690887543932762197336422524296046708 856749974978253351054836063056632015434833144952723881391114369991552270331635 867536764996605424899517678336163366830027133804196363486992420579159307682158 333467074581744191805664970470735516949212979977602393789072455555632910606472 369474902033324573205766882001887266947899560032774125025150760135018925007844 087919619564090974471163523825778573849349629481631047574974725883782787496642 038455413815193399773893935929317269849233796819888242607897119983032398852682 801622234084689564345519566752441015110570601985213446087456212621916050760010 655242409747370374558254751315154003675164703315580641432749894463998691328092 427363870464911439720233083681427812701190995629587086788514840022705102245072 072217161502668951709569613686080316867817250052964322825458162978557589464289 468321718170514541512610386830821511977324715311434924701214380980929744466392 176379111836877298169950936983358914672513174282381705721461575166614935102052 618873838545515140338900226169741876822151906082583609452769747565339745828967 756002657676634231621154280302140908544137101133746013904831156618193107708496 787643628758546802322885467506038896514276001416801037885908785278198716194919 202688008426659015241571546312399161622160094584289752127239773214911741928633 167966060997701630235262001834814199968510581170023981856299416163425607919701 845595303909340173704841998515502527227618512124257535952232937307473897550682 900793357788288388045818400274737715697733238706908568398801852497806798484871 305034223498604137689700161720201897568278321008158096599205506605431300295800 528656743337582017213014503002187088885725205092799391344477837382807229240376 504118336491160111780326694224610668134603483529473032008713486546544086385219 742076448190037356153542129692432747683709732211353210782942634080137232313248 113940281291519090495765906052954788336064671339329076419126826726887910114902 705880946486786498898422653443689636651150870479038942657776858914951622655762 856005288244681067385826170581009971291559484191997919130464827213119861627316 467660933672957575487323669964692830417192693849514573681236593152233862671368 745045072689242582061491527779704225292102515993510677467759677586932152354821 258344267255937793418671012383506732147048617777327538649844419252686178989932 938637231608238064964670831343163621489118921560816980038297594362554340992384 430475876200232917405683978358170932591515086111731990997340954945434729993395 765468828884619595419787702104534113435631505062551167691100088264753854843136 281942052855942720089086462315304239053677041452098967844241658782868056125310 968822825059588802226879072269063587892928321488390918965447588870183862788214 560837885091829414565719219081041641809999648125470287544021441194104181748957 314708038734965077359528094732695641986805423204436421199221826735780745227549 125774106543315338273000695614541143996486312931935379843445210038446977339736 826733518899141806969660607706593641478452398433001834729666673085549258281933 739126964827604050268287894792455860005584722500634047120352627465830792834009 809602197517821111648431394246431794092496244980950858088592320121136868449434 467170575709585597341187519935030234212980719975096426763869417563029302975220 632607160424005978542598952697174526752955096434349371865787959142065496137243 741308367020474881359246891608141062559517596801126076951324120095685095636871 869376775548736522351510633359485151969782174088728348302261306649009753964368 507490166001867355338419725406931173191072911815145842141854709200168818122920 374493869999751741682079743113426862101198899465240597000077115719572112548824 626773628024471487260515083302251932301835666684421082427737996110801817107808 928618086744010073103475517848288372505837503798693602567577155149002382820535 114505324129811882038503356621956551902248270323622204812945268725797041676191 473869857274423684135596063317931240511358093985400505908429433089176695073168 755936173794706877486860272755687704800123240263273892879118283928201791851897 465724488273298612128962278307746071175668920455623279013212164637356799186571 431948172813505916885418944432593478345854320194688639685773375825536402675518 426547077218305020330421848764388987135023448993427835607016964970081684266695 868232076623542945831268255216061804239899699780819437128853865830770789945863 043603268035135490716621757113073906510854446092872994928750028574192363518137 683626134354549851271842557983599095908888320226354665034490570839986012676930 030891935685443938581598571440865495112798100688427738695593869010485901255275 016926611260965258023278967425830305951230952518616743402376807266296097286932 987748400051033152453693651265903772519843320318576154193982129870972905774839 935124656864858850127671107779821460650844400215630680687875080385302860952955 318393805393569593763325343216478596562298069792828401412913395029588384945087 348234015823387058663993836124669416233502986721734357868786011122269117144859 495503829472096572496134255674915611608866948225771888331952043520533938024351 697642733213193884456915992187678813211549107786823480323451449503177125570169 920930679274607068069170757432195882751335427952100858113473019812621005084818 270693343289168206379138084205165544075712355670747415475051140696567643595439 890655330793191119320149333515539541785418308129231046446632108507014492132952 467684266362272369190820250551596291640732601718677223039533295668542907571325 476320463948887540846552644345879545726531574252215766604915195465741126581892 040143091820151529982492548168714058200075253984228055727270737973833747963274 938860267671385613983158741955144784219795232805146995140897471532577581151224 311608342644000493561945856863529629184925097308579139148360318324031248869798 923569996812144668643610865147901744593931309818094977292371718539700043133278 920016698564316911931664265302514964801201205412501551411641376527781896676206 471482182006607215681675142747587478288478866387203727386841339677314562121986 272509932223451050660763838599569289554832888799449265041024192649647827031078 317550605568786306488557582149273631956865066076542613607805317325364121514244 536168170480700889910742696669676461217274377055962187506297015788799325904457 862432520815394592434993404409571914273497301829841242743451769117247553471062 411409464185196720160877897055911912917083232380006863955842259695449263108833 511549649629901920792081437376267835445330702950144614346067342080229590486752 658648419162680932231727096559239344732380528046615314357716200390498124134680 451902809869422202298927557868563034279148063467200610335803389984844214178758 150890318358295175882975879119013788761741523615931212333567440612831752814419 539618765119699230726113771136542097012075502956121946712335360233816927721278 239418759688141361062020080600438217142984511119957134108436519430408897346698 301560868942638342004881680606922208666600583116798171846847065276842694603499 143989700848281756753916910348504114890969733050716463491817367427428003082913 999566732806773959074099097810539842963397940660182647183138183362006310280004 892023012297328281501487633116486635888486698346428090037789726036329498976495 023441983014621481969396596679216953851625909244594996078993352695022166244032 832884259867597137306457071474286457957699388221245761005367922070587167555121 133848285081174344545461113990021444856683713348689106699035222316678859254286 494052696399778778846895108732426128047286629599240609032208224148820366114186 711539358710857150534378690653309566172934686417408473113689402451715206405655 422481391397858305485922603269710751705535949565198897308399852742387005460859 438293176316242682571639744163327707332532655287526229128796495981334855605197 291832102915183849340538006237815061405312592997089624299539370572730920013605 542199766416730639959272086742449410275468827354962661648316575367632912035208 504397476523724522010647828866837902413157627116252545633061706727531404939243 266784014863137143092814969647524652590615629941198725745956665467850363162188 217837435821502395971864225767024461366816132901228452594059878054088780457808 098863558087441357077683210262217634983069045731510315683459500584496391846597 806247321192803339030578326910729387442940924214453743202324934692198966686065 891375222123687071652941178706757407669340280418110214011588984288813542316747 443889046598602869813047533324472738277637888415818829655961029660886831020485 061509118295327648612978043324888573606904199863106875046708978865032140832911 541986814095572347134551214729145706743665214687745271339220659041240066247419 713013097498568962468514439675223035979463145241486097441202511196934431013906 020185410451638602242021684990506696330871871635185672996422493704332780187705 443502351959083106076647558118998403482825277970441169418690381317528979056540 210378516532867187914306082883090023411816042852462609678965872916425039331573 690222901276641383177900154207896167304024113985431697128228779301894615802739 387073208837016141357793697804308729698993522709044576660333922423084158746778 379757254385940390708997835431078148680340802831693319465775778374727302286921 638037297116542309384531584030109368497033171830053041845904743702421544751133 519068538335203198507040959065784727131864476087132011397708070476427857120084 441365061759816446519053613351694188812205296553342862858029564557101759561798 149451604739765007127636370876959650561333401844228422017159714695022926329381 694415570363886419884914089608311836480142846287995213304588380432981313729984 669570806778371638974545784697980192258886901961242507090103607150437098107799 072199648526679501337940063860197574756272443879130377666828544491382194256904 872723518509408059862551640017768305405389675596732532078568178068452275164090 452631082336528190411465759141401995920218604028547842701823505680674852820777 145811860864786245203566393360055452218887855557113959213761446520827646526791 715761442119083035456650111221342859007617310744247462913224624002129761663010 703548038996380570805179066933755701092077453482716487969590218711107105036203 010548326722929671765895439802028251714527038525085642431870674019175683413748 656266344558670942274366114116502381828584510488557103963043460956398206230657 104604669926626178894659427916725585127059769761870105499567465153040881246458 645087320452921061559647332604546476560146114262713887840999003379745436844594 658481741544124793814928509427626020877981595287833918163710988030242319865456 818738796122894931241278235175518457769143682875136372518879821674642500782008 805642896378731096260804360274717543117968575078073987502578983655937716886069 533382914039713869205212015578460104210782777492640674804877226399936900883399 623037635714219716120306879111207910585033786539032586444913656313420545372584 304919718077542787573973470466965732340433098748563864549208715987914659857746 751476073127225763206991006428899075172894010185475067947668091643678520030597 253472366918556510743577338308943619478230345632794388593903282781817463187184 097148629966448820114934913621293441576925462371463872738849923284240888505192 323190003722825107015967330494222854341380692151850173539585603849704920242488 097193296484802372128788156748270976364539658886499226475269453988480127431154 982347510452597900951261267893913980389597977982634524725747438242284328600045 676470372802786284164440291776512056683395278691710755862409310117567202534751 609365279663237722533733814969081799698802107561501869759830832342958998069780 242695894858801338233347761752631746481101211798491929087944203905194255090001 372960207894189044406059911445958736146963520549563901442660011875593626754765 351839887194851393402360734542846768532485608155693870822184383539378170138074 636601775099635096691207888527368370634032644462973517500669035020835675924128 825308014112924981556875295577908955735105244210075920900894866396052138640708 602458215977152243765589347463361820221459418814355000743508375124480394651131 321389889273453481426282497037402320297243400551487641648484441305931348887996 403358636368167378023906069711067359607970645932468073554262685265237167208718 192975438960820855225787666992654285718221509669551149192727315214208507336895 414227150888028924266178728256557626397405068507002989146130405142576693415959 281845994666010909138648958477465573816635519316656277829731245102360011799157 483508509996853523862159434986143621905691200626927383273673912560526822219858 082836807749630473301301710754185218893809683241409232649332577660626667669971 385291828245202842344478390091745714570539471825672259894143151635520922495025 112753116870909941116717965891294532397662222496713490798300420571332577347187 242994744385153296763223655324870378980294171971159997406582268875569807409262 595173460420517981461850575212551437982477034849485161930088700539668534415753 000549423901342632781589513958591102352947825097608346749938604626526223003340 929650047026497335550766160462503556154926343769815355180708481216408128593982 574545657044877445593370519387224719195044695156262368932570750277115679426870 213095672031576928797561664243466757740149477577909135144062000721426835049776 154071568323190945222310878941193095219952478966986683445854481991643134265610 975474164888592522753685252529336044982019460753723262476394347757909183081007 503929530496190462251013394941389524479697830314711039321907479149101824210989 258524768920618700975709657927734024594779157029891083614603498757902719735394 627243973807649974259510868906152125556387154618946756994610658672313344544775 914193752210727252522979641982213512597293582663325521151933710113729607562104 669229180492161352066074684517306797341076941567921118888056719837007902629676 551189671080042750974836436976908877581181693943540584422863826729353483004047 025423441816813177046883235440853390300745250149351424641377088512027733713511 785230276031495575708980929784857207154239949732642865716908705586073891198899 559015155300147211921382782936777070672740009027293522223076554383595507527031 764428991692298681816682472270209631092348318314845193359238270623768842476571 328595009833729330957525116551461104056484344328966961623402929520366718318690 789263150218427782775500041166302880053628471997884693836334909788927037337823 583072084777800837224760711854892117736618949359210050580382049872730342084118 025346710022358815598349447579960768051421757952802300558241914627233424405392 392332538092911114988471185966860801692746357143315831142023753701348561630396 512738738015386426074694739830933665963387409981685463840827544156568890058890 786269045989070853955012698288825690468320974461188639337389938794321417931396 872088635106878356813265144988639708883777795430379424923186635805337318910794 319303707390154430137094971478893529512672877561320059865139326138179157142268 906694145810382969307516564257119409691130924668337211789738491778119434082694 739702190112866259657400201305280425272700360449446723099581177018931966431476 657387225284596765778047664583451089589191439097728790148935773312036341335444 292211638397687716791789106661290536976471933734470349368873020306841988684416 526291870556199026263408309276618413897703038060515876393476092202953211183318 465620198941210186553465408204994293761698905770281567084151667313860240319489 208313488947471662173134872935042916002284595013838528334064909635408196628490 280839504688115199363572266415136355678170934824179067605281327204401726502915 893578100375475631560317058309338973885009318181677662816655089536418538804716 537396016554115983154605991304586422295156833037262919578622527721824471918721 372353550474424227010097844738364287810860137953197125850555885450490012149784 400547478447208667439170478728950143277134576831575834966582413859391720449758 183674154869793739538891165851352980501069500786458041299867285634423130346522 958206800468434491007219855580863739897782706421068677490935223313613525919582 591600052765935596478392936426271726234369949947842254966664753223540752935732 380530882413455560898976873751519122571626423840918590201835040560127065859867 529316402600779578211400602368423994478123953711930362145526698713256198315301 667092014285034574865988210040672116906817389588934885327045441362603247647379 429774936646279022903821168153368651852091006625239067222153080374359270525061 762620740410450151989793650804342365033143851851975098001525900227764241892225 739452599838820722767046770863549766385334012598541861063625942854433947014212 117538830283889040925465837590148467575494794685852378700054649976303873510573 396656165884576264563874043982462937723648850903982244351702511504012761321828 234924028844458904492181987836900547453171370526330930637609205517886679837399 841223634384102787832345330933353967603279564050338154351211103356927723234911 482261378456401151232610098401175588903607517612171419517373775177423766920404 474506538710660885820669896207593927482903968008575078013735311918934721596145 024206068212508374597545778003788060323546564676578495508635952671339634868891 877045573357937920229956676885162809751481378878530055500654772766925938549405 577598955577595462464889102553934162699346434151936557779673869730762980282720 362740697202935277395092616302992536460935681698056465539038797746572953725420 627101852474639390783203471321314944104290934109492448416239222978928286427808 131138896623382268668738583580667993932250436169156722240861331417810600521066 770145046942537290291935622859796124592258763066655889477892946192583759167518 954135717159130842557965419170771660224588226223530907857248643489780357911447 892229696575215556666861035276666408062161195001693038605026636325202742888596 331738563514272711097159136400833455027623443893153200092495733410710063266247 024507402674089608292456017042402351172841749243160888054791979852645093075449 287146271028106820337683526824617913953187768502850269951366262775978126774572 008155647132212833145687206363515430409671163950530833753719460523210486601910 010759017222856170273835076890092382007521264146952256326756551120220975854696 057810945662058629110694725369379065983427136451994579710074581366267893717301 977357840543756850330198618939533692284325585276308072807997266633142471674150 267426465600523018038398707840508589577674619685856161116093701786534667163042 400089738749508526103719285247346111994728851997031671980047064979493548778081 216237619609878422665319201188671060633190380221979999497406346549714461986444 059251020173253443911758467244801387327795466796421110720753298654652072244989 885146176838271407572847032534582527902588566507598558508867794545342567071505 980849422576013524943546824476863060375801860262625739242784779098347551209538 458797257862282158751285470787852926761506354703655906100716984015848297533066 168679511604093853095571023075385316785366810299109259480364164081955766629334 032944030288131097356364502115005533062806768372283391702081326269340581538096 891959927631840657664330632059276686676060811963165395035095548837218162432332 321372742445320983119798981065600903839337344794515228520966819283691238338663 424656120659595460768147412927139858437569419724217729683490573966893854126660 816977844243058681094014512228721553071309151619725714965565791158300943945212 790950594314165049451161854796837490684222113165726845008359613931839229051226 858372809184327324432985576808288595519710597166088039039079221095849036231300 483818952874429449368127904339424217056079438679597726516102520937103200761569 521745353347749186698402914535881929464969318566397210814133692907780697421029 225047400120092937201225201137658013926779294858693698655967387449032789158806 986244952521011439338230527605359315804000925288323918247694741370203804511548 391035311683949308762596501837296956880043629843514741281002120628188047588064 704154361545085545775215996046500878475966272607461381770281256749422367003585 474979968615872715801322892047645375752315003802439587996100998954784216279809 347258705386090006216026221588404933790139746768059129045540857258306575578932 604477605885891146568243088923254177837819395857941544553907657522910163387519 749654021251754101843217490639751154414693316164695029208234548177717456720699 861442018229075829600977690829869215858296642553854552412326519785071377814026 291524456665818520705280557289060236389139392947668047344464008415899525484711 504744565598732698417792908630525740251169602983886450226169285175604975346873 371175873778028150482804353003529604645135644085332297472900406876160098983892 523721915573884283991972506810108198553003465628155277782725915766470297252510 822412871297848528960694845488116833725597657360631749021115646854223735541271 765461136716051537216892599530750539800230852755908953059986928171684093476893 593052768137431373647355350913367650713792521967503872237807916616500462500081 281200772056029526019183069422641468784301238796999088288127978870153638737546 323572167046581550806516087309531821768005167906562213740783428463400665355720 697943563192639952970889050304054966683904134426363058793439721767391890344124 788173474859517525378529874392170300801227558537831975623793023026433582464417 119277809915226342649895106254608368703541190555613594722127852177974306789895 216438811744683326767600313293543365649718741033813159433748772445141784490138 397228065886765033871048802984842179721404189132278833384606078614865178659441 832573850747627401890518195931139637976523264394088190825697691299063051591057 464618439935484133074262489849731526740198384974094110579957235961543182567496 195533216717225297118485814864658969529149618504630548845006073377449516836771 009678513607502783438237244493946008373082154626518255892027247670840644890345 349677138009333903427874242734594312487740442306503284323895819719003312584291 661229653092153148432948936033888678234221016630629640742653159344897765182529 899211332296700570428436179725668023792975554185133177105126217754452592754732 809604076431002126940228068841734124224130869630473860827845256179034182031819 765646748806224748770328252286312484788355215081859485262592006758709426470188 280363822546559730277798883453934367100317819777519316357294757196799038247755 804204602971010842521922746937906136084710563725181485051744254079588082249301 164430820334071711273462276454730728862143439291166643125988833603918741952996 000031921585642703779597974116379879358116497700062572102563077780369129761887 926959086497570772266485143692874667499466323698300480311549307283814363044070 318732409038580163719027407924037645868754601655482677778562932679672404334869 594590841715672477027222154639966692594553447300219355594621521667209499400642 578689865512802823715895374342069853824106381458987022010962749023772861366061 436348466085119063235004761205200554442792810886993945110154920782797728068835 482667144423524489237993058260051973671019905885243689250823949534735870805245 261110742688699298561934171346229224402655170118076983333915531718811335141050 962315177511530386537063229138806174473425348848941077379337641756988377679465 317159315798317780029966549343821287384586923493241317391890894159009011766177 154391002173976343467340582199406220868159331107681265934506175760286666386283 515393055786782003275958814744164340554755226069130446915092491188441141829044 229297538706024618895782589380238022176805224460964052845084279708850473660249 658657508650466097090834559395391046818493169774529087352345721087088157606961 005923666856239642517988749327424447673967244539744948448902361530098849503689 206773660570287788281952915848380654713488431761987461886561641041247660973148 570109023385687852135886031024273174385597511738479436740129464291792611214338 070428319430142394346727738339958154064629963925384221913367265513865059970000 881399188226475526447627377366407363836738110952215520984149197345048960116263 810014934254167313651396394099179328260267008203652668905476949413057235309221 170548794106807448918468460312309418446634742106366827291053067639610668709210 244168412860101095269616998886676579813114415261770432679159004733670083622059 998874509751139575201607777537236507899963281151466913210306068886000973282867 577292167130410524523593169739822711934377127602750840778586415074860456256001 564654980638759905644993938492285616225843160696949414872066537761795126113320 889801702140115364573258904268243197696035565251848545403050232724496097426071 198596028432137466941951329696346828261907664132856665678071048013630195238824 153947443741994595067122844861824420390038554716334499489208917810118496307140 080294513495805887355634754998367366254593333163653618490867810577029998925865 765822818101915873321692855790570691693912397120511338927698559593287666095851 719048074395449119573664823421711807184920537640332783682958637963108251077426 147861118254442317727545755076916718607266802305170942776973680532194169519655 940857484749964584090272285965865865272718098102806875384358947741200340540632 354374039815301175089444722056469468521647311000106439410897213794137940376742 738611139223409011551399472496298353069890296881486558596153122334929381654010 524659597984874594434641022149347594810828610135134229656503581752039085959386 195701813034563746028848276371314829586342078792306629838652804017818836322163 770445011438409161228137797329413055079895223353655334020134963965641784913166 202801098395726196708988064826745731814312717874651208488190289976168857758076 683628270301048236193564467138301483781525625152601786983008308747459817927779 443248730339239429309272557833221527004429847961682975355956334683383379004677 993332177785103733204620712003594053139160748683871929096345615959171852628558 032148364091913593663751847662296574692002300513889132229941687884589308918667 874252569611998132720492696303713260995242794980646112055373580884972775747336 833594523823078050119204668299996187421586829396383324686687372829639645694717 810654079446535368850597204908135170237398220227830495590481492435169145261136 339247479736934200091579139342104931577447812164301243356498077923021112186036 956730216282828179413072245957550733726465922863152193858804322608525569858272 660881686475981043726976795833950790994759925755602690731424843751565070752072 224978339082073829107537122518910532280411284961071235603268362822382515793250 857668993321607511304887640523211062114134804207788974159837819608232646957553 348460650889653234381196207755284717133507465977207919729433139204865019330455 581630230489825008371143791890475700981874330747728194209985167894268268803493 463518072374486712792808502471528273032411921238340212886815658428772708011531 736914282533991655968890928346783882839756759049947586703881962017467637705891 552886181223201547730821951558908809113447388100730487342580988488327583003458 245934807748668902138258007444677628348206243220212193635054478445503652597379 088485683311568024684654002600462586906775383819610091924310730760177017559911 337758267386591186213454151548369441009131819730976427324753709515626793699109 506675870273563862608432650626839094784319873739301058781766648160944612226282 710376760315263328861732920857031990184333888857727821589738155081397543911039 926248163299693707574206730081683747069271078866337481220409465264582087841053 240170109545822412208984697788297876797543531363506055240712641295165626938272 407049261321071091072428662467172760797441114956263269328811268293475653607448 541318322512901301516578875148160282406860352179774868354198656034574253875438 002443023512595059173378766530672423212235480390966688628286839769544672446552 993675884590380712077477840195320277996786283614068098446317127209323697543847 795663017050500469144360307833861847518504106395805458583555267146622400311314 314763394668768915983139845849658064710365804161736188354348673434593098607526 193909062839049201997869144078091436121158970140533127699887690318004746116476 693212108598869409174252401414618383277499570073009176312908229589134135907905 456843819296866901304726640015157654972935971087408195669852066351062047730145 097142112495150711664064959582582982167902398535396197575879634854636729850920 549290559168328295022897633692114999773298033532123583823534297409976893970752 138688067250410974808741334162715324061695994032692043812716008858295855659901 668041336049880633357737071715175847896635413146053985753528548122192319906827 021102254272066239684266117190593607348799071603348627752661621818010540996581 271202855467790437078384786025789047868243410548531745282668894858086192337189 836926908123668205390087349307324953436499357446344949235682160733170961435671 255015760386150140575010722549708939561552402163571826544233030486332600287968 207318031036164699886346085838221530665432592110059323703020359034376805364928 933724792912792392891154212193028411577389219933143875341947529000954075680796 483794077095412050776405484245633852854381860770693008597546352103370034091160 858887407540591780953278343102165834462407190693539836209598042696380966667373 955047252516899350132984626207461208688506376003587818239139697340217062178908 533944711823217522694248454329068152901280998530049889734070279760946443348182 731793457497471865644343644247121434554750097979052257840880356213217448973498 708834804044064360265573072499146014852447734351455694494577874635947811509937 300306095555810140680094102976989108804297461684044873466366730474864368066635 032199788581701688303380383885358888740462129754832435737518792372269130642845 223339897517735942642822770835125186025118135131252397353599469974784473992734 922510503187578192562109715169443452365391317613907796449487084867628545749800 294685562770817716123702266822724682055059097169330431714138965309287254510381 083142643703954478385459967349930353114062797829597741241959243655272884726967 680385875405373727174145012482879209013638083093240617287999831197599022676363 463752008390762932312815997916964685184763335187950054175929218412692034427554 044076788438207779178867028955215439087767208090052280597424324628752295194027 357262560865957857983292288490959626744540753110824429500163856611722897292631 424295698186800620096502029297294165738980639338041530060440507236600329496135 452823476034087773300222559730059777166189029023775229552645379914695495123423 268146198625739337493502913383681682097755253259409934959151305645818125004325 940634727266154227529082316435170332386751732365877777356705702832919825673120 857696577500394637619005680337579088934849554387859895264316991637919549289754 957179150825345149762719491691607186359475184679105207512637923522827546865711 514732477613572433834131804368788551829011397032212965870109447768116598774975 113751267961576432160169406668694884251269873773876118341659553075475511213798 201530825168636966556369036944627315551070328260484177106947611637796612920130 230297230002223778940249435197054785918932228542013235102441239639072678065008 656687450093974705955485547239700701029846872364992733722820509219668630890100 123513889597127579488327702236423483236859675190943032503177529737533721284031 458613846225639360649445897617611238037621622789565331924817386952877871662378 349477751388689177431341579119768970042363608009369560157560153264536196049879 987133965843253008574975571176813421302319838016555118598919462716562535147125 029856272473774474142987139818909924057490101482823715289599306104547307086395 832069687481166997779049616189157966251480316266139932914336784035573959414396 443682041128535996665671134352695641094636766372913550598572279944711647217185 101520164077160665014519780958411977226502503710693657370783502643720638148063 503489818024055460663294351768874278913572367912003071566575588707772029061348 503798156215627033183508650107454433066634439653646872431265811352711106527296 466914448210411050133572790202930445714571550859626767369972545082696113954178 992617025026203683066521876791373847053049791624808857141139123868814581392191 332529758504311718533466037990274042385858383564036852038093604744220518685438 528892606936687757955167847175660019949362910549712785094200791148849143392855 405279283840217075558681352288463891462845590985637404437917860212454619850044 523800476841320207274505540712675969620276906042325842067964733514817652397457 362092985066861362223004969940307709768907754291858442478901827373801890692634 044623849474219556270995692980318112602099409479064942733161981373486717153513 968595724477792481896758260961237946436160421239481500541831556056361251970764 846127476972753713379234056483673894170701018080461723633095509013593764262410 557252410067746888840702759488451464632014222000971955298059681787433106977127 882654750306322271685834340666418242886656675158024263756267056148281026765378 522800759667592104686656870183301285412624301856481835758605676446701962325134 558686821874188242567564713625630551771357215995988259148738685728689431042820 996350925732957035906125791268425985106685576288692851917407477781950773706301 682617214410854411331470451201631318445050463114157635666171977283071320530585 406638509317310633088731300545537305653232866918240755714912760490405705563892 511085013447908514344513442734860519273324822581760835434101452531826898700960 409136274558730382467827429682524302969630369808723146086889593148856322310308 744295201503266203980004011007889258004700597931064581694580836655615186314983 109901786818977488973175884175471053710997760164340029765617108893247111516591 261479308332441641420767250767832168667175983530464584913391049280858320257931 735959644537896447812669914368460674176636080089485419771920627305930732138502 477162083550991448769278612737155561297855528180715125537205715674744979122154 165278639204804928929102850161917785111358543593612215343726456954592500803797 618344739227851795403935806433239081135267621973217547218569954225265985444791 161734293689284618957065412048382664658865250334825492176028542286629727766625 231045124932327872774422900220907267211357015463586665302207358967449391270251 088892030108809652806906875600060681065709717152582713567349606496256741503267 802212910577998327034101437474869676032203226461001582252571835509447049157224 838423409408606094005860533442739744615225658493281936797552063853312622554082 867187187368689698881437718404264954479920749787059078111011767450498161093152 860115729635693440945807718000249385994724004232983092475368429011301242996847 229661657322281613585857477496695616456978641526463220702436851819197346192869 149278707273068849669294809274059131300685431975249357300476322773896069714773 070067480653002576939670325733439440604514790695964358495118308605126403921100 213505079408719176832309958801775983436770916235286405055991246804024312490807 408508029763934207609104103762134728951495118188430537947545343603513846771644 188369755207284997564466422030540940621561905255393364773133073942487454777143 631939178310942571142468012096418722696079126369488807558422325584456760542053 301380927483869555320671327922384158603156650960377264526803799440390376820274 490860617648022808177921521890308478391517124320717895444613296525122299686685 173903030207490555870639199900997672822901813437057821643035269840564981742200 603932700466023604028594672304644752400725531810044266469576939316911174324152 065401818903693564605984704164789538294430047287267961751213268342250983278772 516301631725492126124790256604351566024014063990696663310344689991460167548026 764213480128027893783039150573323912186043216171581459650055856144260609132442 721680300044708833812442048616528740777231056281026515142720208121370613189618 149641644394016954553021359066390316732971762872801857430102125727422539006066 538412655562735422716898785908813604236599168346780131003485735414524298563274 454505394830701865961894837702104670724053160491947105541313874213827355691115 457949452696135070463727706248833890461240312663939060363605618966433356662972 262717236937442994823402181085096322561590915928701508886415022503361843988163 938480459642598266030119053921701483567193357324372392888710635563971361485371 477973762877717342100667323668728095880704458863383267707940962328938499673078 480590988518994926316598969618381304326044753047923156942796621736047420055926 720327886366451157126213617331020432543757160313976134924070779943063142201900 155183193796939070560465922223599450228955223184029929235817034486731869539371 901987733598825520965394925434396633736940490939868251962253871487678401118133 564300872040236245732389136117184043696758889022398029199069635638668666112793 725872232198535041214870735150516915447111239489308839784721981567226516643833 652841261142898566391596612862383927277989606574443293526556720426102380453424 330481971325307142152909136487245773948242036420330611304123260515724162481762 625688052263107656654408442349296672231685264093047288844516751832369945816915 197690313016206564716456171125040635834966466294229367096726124869066058725306 389152095730947018269298102356608086522327413284246808953084146897405989458294 232797568268922421575098166826272143088712949602860303929835046982476080243297 363600874922519644376137382687294885657806320783311651085554124853878882029004 245143530127424884827016838818464877085190732299275715235664914512022148869235 704587238724322926740327490092149599894395810590848046328244141882831049079833 877640836566571608668044879137384271944007214853139108691649351223577941561237 249046842034843964762701564302565463422755448019955075997207182814525166532056 562000772100930410844278606417400091700273494248158661227924617496437315306827 931294990974517800851202942867264904637108380911350835043318810278342268366095 440246936404022945204453565719713674484477151347451916325583441017654519201330 426914637369356709652464577305487301101835695505976917850340139637467311163974 815834235330640204349504695927501800348626485437609739367262780926136309248661 060182358770376933391975007846022141195367912048135873727896984559136240275936 903336483905904959448738620956812130391124410904302256230035587264918131783186 744676057168022575679519269587551425658135158775938383693063191564630496644632 664817586294932611919367203260763721099985000621425849309969883370260783248301 705496062856341743156365420458405271542046109628509501952607289663479658264455 138710655938691059470807500496270771957633832171359311294214302206625654516071 585547840420175089937669057704764422047096929015960858692665974940873668514143 845151394141386205933821251521756060272971856216988347777177631798179550044099 831313586693222587032638146606154334480569060043959646496475168795699870642237 110638710205319929381521250702408969936524583029511805257406234042316988391045 182176483096186528363810656597156356317458100261467216680793451791983919849294 900926975942517056243971682928806651980466214241357070627584928612810785786049 526299478377348647511660340915416831166577087447876178062074880082914117736402 991035162239091744833107096126728644755176213714521348624686333077685818097778 607401100130097437089191281505727327864317468398152713346034948590011087803425 047063334482372613516959925557899466929272323237085910443043043579818850982056 807550674844581021072092320068052250031892614054962655356084091548018266203151 704883760165332126967457606261028767837191804999574092526065086099827358913134 592590586682295742885628880015792172759982968899293335184314680907985388900770 919873344791882958329982179102717045608561162384939355475839847932160391769711 792130367292748187198857938725042222437238419032901575775991274593071349373233 659367545339567752660098240996445100645035360858947017945964851735893224443460 674900183719442870704619103345406750317835705772573085624195123245126963381497 083159894781503300812881862410161875719462665992536141605966232878743262309241 619433033606054340949345812412875463287625027344269223893847906872312923951128 391442068460759785042477452411493801927432319799170565311002176233373333861424 618619724181506302987973912219606133555219650281188881684055948289276997790965 403444597240865421566733850444993477672861478332407967899176475421171184275411 171537607882888286548269919901771303496501609153836525496471955584265820197033 934675680485741887208118721981537334942945734569436994482437441909894512423535 501055216933965594437667636298330054825236078009705851563333693738913269148349 168101918120007049361544761244315277858474407892477543702575000914783365324758 624635459998174950660576144346740116023655326860691376804583392406478770390303 072306758512317765365093130426940198771783039107046734876224468924966558871610 688846405582965828579465054487437169785057778651564604058819051637005910378479 176750271436303938178406886969029254071307148533551112583061548108814206995685 075462987569648375553992285401536772067077298948623873357047894729663822163976 994205315421887959203758463715033716567525398985921904426394645421921866478453 292259370760306446564229683484643879203491237814068684919026060530113245735721 724774907523793719706472600664745948616811076717350133166424658825847821016237 392992754180454257037249840546319074274864311250953591007106638098425608500761 534107093656608685199304437430121593512745841112904459328736485395162924726958 372770720843586189053631754553140016419822265316024960861274256879040275724719 555536360085381127342270494534920316269174194284624577584501837732393598950198 371445306818041511565565442694744755249464751363128367268063882629690064163276 883736231342060233677872773901430470578882938843815376562322323911321240240777 976181581451263155747063487847288783922605244873242590306343087549543802048067 432625083816468847278237592745951454794475153829344800098387878716990029608262 549034245874169192341232380433302293710258681200429112126524467099682580158026 025532059106503903638326679599982793263639032113436834399908761894329396169819 944754772601518320780690701160967893181164253186202154794388018207535582476576 977245184274480011206110388397106785766193781937412802082578197617061804741193 364672294188698643152449279239200355619184018485499734314685870970969097146046 006862176332947345352500348559591254598728558093006805886323030530607894128714 532435106542072050100431301308392496569222312252883779541496070283831681820452 655724368574328679824482982559905324809298440745215982624458662057428443631262 114448084018136310644133132758292901287155416644495817367158122912254702709909 600940556680592885519672424081449708718643431278624263432308490931452395363658 204448541043866836433320146112625330076183426683785445926021984452499178166312 434206102498022236382483063747345482466441499700332777091035210043651298062209 898145902384832104260422790516354636982645884392017423646193285941992447554695 375402148972654687154065398377410258587365977751507587824521750060062205698495 559113978635866281830195536771335931613197824416653395981738070077059456606113 346325684937524107177518345579110979971616876462147704007180850097126701432063 460576642351831828300707353895014835259630936936878657974048155019915691044092 310774639137433261324969599112178185264138056238101086906544902744129596969201 675006165697692126395949144229819366589548256997897742602986564121061990426594 171497537642530789960061982468730047791640216745069218023757951305508665310188 832941895347697522518864553862406137720777944064467011935570148777164539589118 435151951657039926465201337850722990891123571978016840074322446866857096804996 839161616843705813704523151709049621529519579040857517826232819103796764605849 325873443228233510283072863110393946833961737991962302324642690693762211851471 703266012886442860815237510124894151373588710654173090799302540108129138297683 923557463400941058999857069346185894228809773138411111010657397082839994150285 089915450568720700953998728604026060344168843733869903814132996080944534111613 483065295550159063317809351862047050935238749308889650507770482179839587984693 669738975127379260345983107861570368843640252205732454677876637761557701634783 908126831074918049680060617600759340599715050999004320101234152504701416142031 581491755568532959699769692317800105214256124206307240997673094691633965118903 391897277700905062042695420111475462424973426452683901906460990641545694537066 568230769282567356749860224334301291311927859891291031957512605295033695386117 956156548103939114891347290122721087047352965425167744215842859993313486191456 057787831521681683563105405416655043531209629093004271558730217132621148381574 123089692057796823180559245104186739736993854453042827290968318620481740770577 091669698509638091469698588997190366112136304118815166995644984898549669135757 340931664696134781422306364885923656805261960303866963929904565741627245237327 905787426041860796197179036635616197802252418762793340829691572944734172226102 207623992517511861473923533988358415653002867161579531133707834052197869678488 970953672678426197062702426186511472220919604791336327601406693549593550595245 587442980338256348726811576515540387377656945334505589970397822261608998179469 428066661115850362423428331726083656449636347714735573068104324935030316945014 832922163636745155080606245284655839597761142094952005621896872776648029219106 013384741030094217762780640558026238879490221769738553416725564528185617777459 853302965049684638468126603901229031439860576031649641662846964486157829624981 768825611036470754391677181452274510809214211644402615585225359646176914879315 801679520172915379083925242146458143641629233277415289393239423774133685734281 674604753539594782890618039694375123331572129119959773577295789496204667857335 366471407935497691932297874896936856550313401349041494626448726746535593420535 832839730762545525063111705360381110519347358693521061425296085989873606153626 750785986697353133984298294098758783174720847014864445159382420194193351935604 073441776186538898770114360505563006262578428803411456842217589536138067942701 308326689042849404121978718022813091201629196342819950467819854151085034508183 893870487248847613091290087699283282643592828512910920111272760812809854382078 660958750467699333862438097213442101426523999151115304569978760554274547865999 132167111860968268574646938768854994906886365574309069951283036069753034640847 091338735417098726936698381245547973572892694854460505870006883995987655205872 099265360745402098236198649262093886682442417657988868217236632064174944399954 984435781516322970282324429783519008557142749783664871447374392611332117062656 616420477510416095785534455056699973433612284589785059363611338625729996319008 387012725302876527136908582105089853291375367618877019823626444901649163815637 720961308356243827532490390132527502524918636625045798608249666690859270290834 458178973543299690156806920071797378503541322220280647077439257222878287510928 379047824261067817365832476964348419482405212177581589235865601003961977881414 327935477511814141267787751094558083471156703030370714187013683060436403617754 958794078147344367837496791136013533306074742166402004530465240331991302439658 915728269302036196444789695122598022534966634558871271129356886783697255847633 823611317375590912008888732612432036430497833689660391984518328790409770337317 417728650997266445762882288800961232561712472536427700561483005794552069074092 879993533974678562443182521377491051266527734877900851920367988265841215058267 153770337977747684309921958298985742445008530546701842021534003864498187077810 512412041774851953720718585043337836721690932980439997616829848857077380406211 561810592139189066590596917626699118453739624353474455867813467874665042996918 784027987626681352382770205794740472470928057707274289259269172001444346341774 941375313337104467726217509623282985741318454039784684489381873356113005698676 335156468819219002123348919505024177618431974708346454829585134704035850063316 225992212889227051344133632983479037484997234832237453542273763591896887378784 223563988630818946145838397023670223443870526751649003204109607458505690728458 940656091439518941398932900595861682214831654676228571429761832634399372417821 348767293664456124000229835982879510732711113570840290490589467345040699072153 402359251314154372910532705563345314207213001350811979470076092953738746033932 600697486406558373815216518105667625560501493012256699947499244499020242274776 992062603021854406753394055268504684401056901374473815439172884357653339161782 284488045019237313429056541252947073763858203789378856287708147921392741501722 319628831840910176606152703952432638026270578010274202289108178798243892520293 542247080943509989467343402632128794439486058444275101575158863085066369594896 247809699050003729357062138628967145922166223352269220744319321463861269115613 864722831668724207199413553258093932333123292195490453075875053272904525859147 062083030993942779467251862025941707424284473991698494790340397066893081682069 110638648584071633437232856649383092738559443494370253721467104564305282935402 085753128049585547790840568620201016513542992466993554808305066939456918117323 539971517945608583618707286806987914349133620108502190919273181939266244147441 135900700658263031257122580394446616710621391037279926176685691309028644994964 061061734315271759857361855005567308369177076092777506603117481942362296814843 042216249152190125423063699523617381405728137829464906967255712843254991424482 677857524624507484419944713435029860992064177983786084451001943018851319583260 879428013552230184628611552245400052057503032786397835442917446574097008829437 207356784061215606837447089424322394630868899991989479080323443025491433810013 200019992846700989750715633219164069534444123332658819753714916869190436729735 246309499268974456777088859963352655599705091544851091142512428712799910223695 415028750132440577733916843491977725057367657634227297266176565255281450354262 165170581921348696328441641405886776904121772990934382386906085204078805598582 282822274729337495778667231268558867774507472839170176450933687015244406107090 836295750220715435665726679045804371534435966137987345604664069559897388443578 744644937624780629513356442494216655179099934248492941127999886428774241001200 554772419373985418721383001825371588840211698153858324579256976921928342218973 771399068305433108461649316108842483094500280977692903400212854182568082482828 855619889675256741937497916288537651831827278976328512322282918906796130997290 703223091184374791695939595372037778478505161413157319489938556054297217945834 578482511544862706819722107232408073391025102307335632314908845497927763814226 061794568630504119438455253043978343526032724893018656539585685689253052461279 867150996663836153872870276661993931605330017107826625535622682169588955852530 381533883168299196037151630804179979008372156764433344598381061988211602135192 136427537194721503129573012093699638414727850196646216260939798116460955896772 091470990499046240468823413238968102044291094667683864122823916710294811531557 439976852534593778496947185236779289677142742737372370156575639465779914598837 842402083351427560602472990372298853293495952552022656610667467179284928115691 758205330657090381284948551999546938146091243806837627636179952206511342941357 628574425455965271270969474857185024013386528929364128400647005570838057604721 283838436442728879552402423350978459057584918473536395059619330763951202695715 251514695219792912915741274292283454796768750581154031749065706451634076921426 924268679150047909683649002709236180879747282296366512791199486886177502256547 655019887620316864262741776414068348443568618506459217135156935589455385859737 565394430921194781424771274840022314658602277383400756065951666102054351940749 456374900140318148718414094971668519719999157342830958608611783122718258945136 215221113819942951975143162027231332904189569909852160054940114477465780428202 811960202509177382479551318595577469727173356936553416368731543378956252053900 319350657877613158863057200512287726380173487037860295624596443138029224427990 772454954533553777075996540795563696869631170367215578621488939492848120921888 398552045513790813064346874549505209185424185951377148880618087425603717858300 199409238260578756880293921137378885836137803119362083285558657497124754213588 017820286678219037277387855500777162706351162171268399522953514663509706864075 871561011388627614258912903383636405004318328637931368882206177675352103457769 372255736465889863961493288792765281089251250485738454393848239572761560314253 841369191878438632783049552701814101145552243591148914836511886191289395489527 246321805441473969394038053830414961328089861906392290487835242184039705242959 499636323296512229458910707883434175627243697313053496467857784142112544530394 058626712049440077525913586747905985237948744174441128362332870550432040084459 422028806753862977221372657512247854708310271795313067971532240419936663694348 642833099529494944390397255396813902201107920293725947139814630704842723012348 814804190126092231706726280512140543314549101534499881941706356743628827773295 543055358224339844316858412281682729027699274642756380417341723670549049053404 147290762768246118544181464869117547951452147990854366694015099877199158657915 350425497444518186220363054484582542362727480720235806497284621437278976288360 518662421910428718071356242826602097279670666007454920876962324109643736431420 289392106108814914911493362100520408359192368281014898645284857669212503001804 342803732024095184497987024133551520057796093101061496572923379011482296139625 417369404355129646374137101527967712479711636465870521278808614895002181901383 916578751868719235817682771271801560337823823520619847007792590568861560694569 375967852329775162481230694002104226809119484478764698913901394921343172667054 149829305973950285795724128163555388602884673354853244633710606912482774393474 635324349634290937785005392984601756808678822446199792801838857016904987193453 419254060575981149087663046844434872039736306244159577716845365364061520211299 915834657256018837771650714528692357031197147377778220501716212519510460487648 080332845993548381960624456621842555160464389412312550724082572345832553263442 664162272554812929909214952451314259201481234396140370182649779241443527726615 052166739897416384828134056607152375115200081334117747611267206167619588805970 515337197550500487271153904308010350261388111535167446117422963565583376364321 049907254880658258438924775870277529924621072599162973998350116715597401945933 475504005037869835022149937231717444249401016788996940488440020808140772634258 086575432118784526940215665124272885265975801856297293448372326296485899986165 283718259386142911582861181005811501871576766886030787769869029383185540677325 941308229299089284242469424771241089342258065734679321835734062249581318106627 204706701394395623975178169680875817572245761479145607525020914996553934824881 806362461491805907773570038065623113884359911085699986439678828711887705541507 982885820281400160194401255253892570256334944148473185551813129217713120002604 109144819376126753579022202173675728079905408502986173117554613891366788807054 557172651040826975974064596109473234983332970759057823402556393471033881107016 786782001769254394222230853693403583443749422965224178237653950023198770228363 092403002141668031853376277431169831845668380887470789988419385242122152936033 927393917774002249243501706378488232230276682310037289672061619064591465073504 220277471310190628734489150381252396714002324593139164306226200689479345988491 526322166880524510015521425823604989687217931221089733903326234134383253723946 681709392164416211561945750657957687284487977879963060376464544167875265354972 614958529104143375968483189865366438123154492753506951988368485686587314731759 175197545642720592568325498663897991214944833770775770249498602644287708161194 826322283919056576464914830249570283739539316293491515397822231985157153454865 596451520752306437967470368782510774433285949144349829730704136609572179822761 255517161850428666954727763176032572434750938020195220689362782098545282441769 089173832775271194972926778692438538141430523407440504255633564032655434661834 522626730154262376373711109243423655806488308308462346791342347941882145296859 426037433997370813358888052894280252934575297837596241760841778114491498113896 481542256514303228090564152343129509206888559025782020275895968882496327687712 154525909617730670361208953894263097005400248275131060630393357813728469696647 465522938544803538415525439159314780401155209630940954658612351127462025085212 517833018228929666656002803772029195674175173644997453439424891945372464723614 869666683110784193777027294605959152143095403444103307512638297967322293129917 301791448239425341703671568163121616573584549022838356153297424592188770098668 245027377539859548291438556071626028114267259599544456604548838931919673030717 648628752960643707145013936716996997301095533809902176975773861570956681308537 304493830377606042874293791084372877695991715572913141229783479479998242464473 069459923032317010305045103727260812782289568512765070071484697061510178237396 520443915372751763776978301084913567499550094809232298133678128359993071536941 153365038319794307978966745204781816814034948563918091814695108828001243490123 393506007052722326347557246728332869371566825081548055558132862890138643621535 990388409025229482588016177695303490559657213593998892353312545750299733036575 542981874309728658522311426829650414752037385930292841568998633102859051168773 556594384573128089614716810434186473604665967023400470577323047968237262610651 125484260786777760570501646633701041679196567804362105354959420623388767824993 612303165655955866059538733918896356654438421219713996924250158586658385967656 408465745448153886066791260980607149332647368393025006288268062363609740589997 981472728208963107271927512594521315707173542664888863045644343941846377142870 386959272399709517186606679258034987490664112389450920289169300551448023145715 000605094618166342507979326782282163953396584359727902353753036225369109450886 073361553697621462450143325803997071691937947199093586786533504341408949496586 538382006811361768328826059406200027360490009001731257746107817854018097062030 100326875306483781080258074941275791042948529025200030457725262211212438256983 858055308799511219642380336427649468691553874389269196496592637078953327219000 563561780980762912017933686402042960260928362412540513244624181490961866803455 851747110223056550286348232295072627642887091059084053387907578557152171321616 123200190482079028265141258576698629063693526243284558187392502789190905970742 603659490736411528367902218707465492717899023236875005725617200858529616206302 823621207645792112913983630425703992372766335248102245477749109323264398571399 834529482255962043737856329582124971323767731786558760606807100161444796476178 172439792634353534425556206095253839033494611960667320760680732813804883198108 227652920697044000087365493108242728569231827717439702098831721440748418514623 274611671436996314701708765443573338648829127913685289434966130816482642297540 557967143773722210707788614586908532627804131268469116586403555595999176023771 322205535514430158523557328346706426503776332759415452260760371439854888431515 336621578278185091231311666906392357374455801688294015138843030320500389880081 649025872537566694763724568286207856275942904842382839123988056291138900844248 553371440453756615012208536920455728405193858430717660055573391467630087227566 515641702343478913792014920461556741284927606194580135122846100028455564622161 063211587040744341098120395426411919246142928180066385726708794645364432778339 146348340112438358049615784395016755276187031930710905582134739752094679454224 860348250681056720624903037166909512641960361098271226035922385168634973885705 610356382512004200417467591634089684621431894370759450794295072285025823070483 319028496795562888907869209518983189310885682281081910971632878149052191375137 975811569432423312400493149138510940284842670706265058952703837259008116861613 951049239212039262151304890145200476075596567609058747768289392446348535018988 233510148917856186626591316802740051099892155158350368034443634515948409646918 040928216144267901576237920385324505754770168476782985487067580247218127715174 521840755361181487542074634405575181067928169846460844600479244896114036894407 721166931066716075983540725965398991296719601549586334673276190368677136034284 970035935836984042664416023115467218284476105491018866654123048876661931668442 594350851562327800402842083778170624943148369466709924045797928776714720870459 187167422839479109333953152293648774961470760197497533543024379891570744726254 921027131181010022092281683707521517097563667206331476664389613445671363225453 273668768228554126093801636101223361310437605776149313206202220746643308689102 096106433525981984719831937276314267724732190932589680657242578303590505938500 190164250106729341989382394093046176677138061626472326740481546525976148940165 911489208165522982977720701327898693971944872420682227189637551712844911422335 028362573134284187111748209927469752545867397219308674034888329507001482340835 086594951196745942045747557642385225966254136891301873322130086119868452517289 863729264974206899673176512493034907163959951079549215659508896945810752446582 770960056601017511499528474626649238333133834620708582473428781360407639474401 327688142542567677256113730568812682381972023515793009892931032934203228686067 954932009902124304318699277740795297092323543683423967605173186702165169734452 209439068959271963868798936588554091389325584352994743703180848242521810582621 296163838982402970543938215237510484078242688483004539126808476878176406464318 360075811856712154947792182437946298236450739102224347450944451961469705641129 664403427680086957916372029611300384442817660710046784529743815068264946538078 166792158958779394532435811111429597979401053608888893017676334692004961214827 448632990479067689959588780638611633919174881960902310296217604239976868192213 304450912556149977374063167954082425542713164386997526423521131024111267802023 434438355508563485670080437193221258591363025498612342700181833380788022667824 767501091102627397831999354870171491152017157654995069258788846370056288208694 459090938484297684899664495556548258577636125534726219247136262164630844250887 275478336777032876189013829443859045803216366014724557943362153906958759462426 679231501254631462375846671447260578927175269123681246213521009622542105756323 566868903400618051658620856562331915932944694151662777490306748306454226576801 153880818338889486259321988218105946815283785949441769929899136204469156066881 984828615273996913735134651089863061957388355263264046513134784756788852449529 808764446117806159589215481834304953759522578129110176199759161573765390688574 473001341615545119058051559902451560087940763311105451788283452308648296359806 569412688191184495552640481844475279590888529717766934906460760116875178713448 112609398492442489683586441611081105266413100459512511343945531374246311916655 367860661601517726963206262180279415316027263311652450658624003091884934708971 018121572528216568987794741859121834715548400058076548500271785621910829341523 471223935073563768077344025521666357028507797470762741859952222026356648605832 973286700503994728924723279542047638041002584041048239240416229953768066803436 190951722277518028756730448273553126856593494234480399021958704463361611135722 760279431496844843541447656576783894904930283087201048454581038667847063885815 253906030637068386102798550263819528057412818863157715848080285851303207253209 480894940125796532220066101539899014345593994194872442953710116447258576507203 214673519469889678200327641529984487183065025729415727600791051248124244249424 419588813762349612311750278429534613483707272902351282696181640658643699567533 683558558282816065455965370975169972263235297030359132073041829033375319153408 818222768440698536147997000681848627808402228915095092190528869315397363850325 711638147949352565499552787125110377973801181779099927194434395049648741149230 619662523144673375933254313666569872894194938489804295770779785858380632196911 151067940194153548562874980043476579579130025572469942583544254656851020302980 682068640304267409090082023097664120287044804634231783715506629483599823041143 080921588925402533083522915310635967315277195782821886567956548506793286995260 966959670441734133637665937765329960945653792853583645047154376793999555169596 880753317059465933281809342457307480307172212020876856510314205424311523597927 283992350204394232587506515402078166002900928475398492323574742726871024641073 422885771201232919559685437961063778298179767491153669174920719284325615343879 400516308775950518969740566767808807838871842744538418545786228417282300610736 005483539383134681601555987531423745224704211758588891410371067916584773955372 708935616882226712149874791300227531779653851213927952706997405340993145980737 741081519810507828867643210004751444285907436090206919259952590013514439242965 938119693596224835225242986159488057874860953964446064379037124699518143865754 633918385089600962783642868071098447776426027537035870224555683720415471083083 310203106479469005167099708050820199108702786848474304508449597527257472541188 924019441406121475491150479211149989008545899514116912952561369903182557291406 518608503053546934379426502952270111974707507437932990102828671970274530804659 689546785595781196285297859428968346261406279172524206565575749037694803625717 598255414323735097098578763719242558917466550892192235227168095640367036944715 768710448931595353310014979029585682741224336980498693444206909995808494403078 919001514485879984677667225073957439376202038559454801850409870979055428139946 520162722170606457866671098558921844514362842191326961005401079299321793529130 498075431412590988590980215972425761534533273979004526016580475829884560505460 639859133054673451688723278286964042063348217497734675570939560329676231448194 508395609787339059359392887566224589595947059453006718797977462180573857730532 077915708570380030889875546682115249651900834216797283916511342375425209466769 090668759261503385824531356385785550091566255788887631087971774209737293458689 668970514581614262911890121857719940752693761685651811217113077436458066626842 369668055563723221265644397414030062115815558483708381716135224732504107825444 767767404231951680439422904364758861440920732812728183643129321155208098991208 001123628767569075336676209128414706942895822173421595056582713205772887295530 452325245141240439067720416904318346413202340900373834116665572963699931316662 060229050982977411881126714991827409066793152305095963452573267622003361256674 634870005408541604034374669892972516859650294325497727247063477947202115274814 087408933693020270702701649968951534504500586997665298691863082056939807465263 143860067532656818299073013065447467830687570826645695947249261116030228121375 462730798517483564667916358787039409502652695964744367827420526860125861122402 248891351708696205360468494068944499179759641304666761593281389102458497843521 456895752464755309010962875753152117402608536820621746412300583863023564884135 957848012822041099233859672894429712088967758793302288056958069796157901137220 691165436053353555790561322855997626028897013900064898801543329955200364736275 792147635408236950395297834404883324452463053822974422742933724166756136040535 183701626318693999435615791819773848897438766411592468090133013899892854560724 036464818411008999378046631846846567375542161210162815947672297740715906433289 026035349030905587021866861891872928783758310213935560577321953913881029272261 296511887585628446117096461281550803343552636460010406621600695413004828450552 063307273992755950953576521022112963140303625189067733389292369153624146563408 772841552211889223803844685107886094981803659055881222021186210954899034068852 868475597178323067541601963636840454508018143740840391998675344139108918599545 076877780477127841945842175656860272330032315797827247711744816663951980158571 718188310907327938277240444254657835061637794525932299218828834729295119390041 731953365786834029059748014996777938481657117108839204636779534186311908624795 241564743081045750999935926658407468049514300193195435074881169197235060285239 833864279664601972431248173169925612845320357674709533710016908854704120492341 721261897455714843521542310551468111050901239639870886189761430803136617170240 206510181272080183765140357015556690378784841628370017491705580754537984592535 289874003298531546875742260054074691119360598973651094286297210745541062461806 086491489001686883682005501990024304093648603385445124878370510438733570315272 460509011928132986668898751194059103778772672388243750921629211218052242871598 173345774405264492590325401452493773080573825594504925125760215983788840421690 041958262392859097636557477150139304675980984490556799012722509708178922694693 376860902482308812773384073743693782036312426810725999419678578971259804879627 590946984626629779026139725091712247191533983944802214538736697812738761091275 508813253797380400410979656363835635460407853012237467451559044944826862776622 620633015941101346116485304277540799469651676117849395202056029154874823595463 304381212637035104897938756736154375496153476332441474844243678054545204495176 471244635382698728663576775675833212997959381281407238486755445597047948032780 125485391248188362853348719312882356674913574571639892628211486832370649001686 204337625917524125623463982079531601028266209855768716113970471503484952513185 628835545263256929615608823965773022187997631143241258135433349268260017885193 106553924309082643423262984038243556954765498835105804266729616107687754997436 338184107392891587214683637708338925055254088495793256875248020250193535278423 153906911963916137730076312033556839715470433246140975660101477326099050652909 933342098940728207912269898031915460609874756582173448314521679657001168549746 457353915565593680728812038664762915995413057524999177635622554005552002792902 318858545048359620457769283771913890667818728940469355891661719841565649777350 237140054478484849114804718033280657023638259934847222537759339176801344919397 826578095301192427900538534863855987451277396473698586139019921833904953609333 948973133801573885770261867524085864310843924660709464226949266643788830274408 465333380068104693628814714953524215003567863674061539480167854789813287203623 848558301267723814170118289904374172334088383310190460047825611702425829853353 265612008694302303447380748132951237998513463760035032604136663218467472304886 619168392252152215869300839331216919713871139530489888534215064528054472640817 121696175793186613182237289437630654575706637373633783695680716563390463546821 089897791884967376533752853877904339673456964826042418988551864015141583989620 713556007247367066296769540136892690205134561486799630739219668616176533370935 911255378806469149470123186082959362903659207998410962900859630127021087592708 782969826434894664148130564401771041402051723709953084673023457849936539421272 124531494807472023179987922259973004937630232199012041576762688644045432428676 761292145873314547180077610115347001139806152780476258700087604985574343715163 323208224082119557516593828789990526554810509800941007959729863909728926029534 344944408069621810421066597590523418171459654826612304182728012275091428504895 339857141056999679787763140852381540445348243855425222728302657484848672287775 870108291567084112417295259051857579548369137772366215955298142312611528086654 288472213946713702466161614188304951162932853576113289759044937139682740533673 035708344173184213446930588392249548512294790069708488527376381187187483133511 721496238669683983978688139219519783026222168086245798855182512682706689702520 572493052775084321603813596065509552610869718291859570275355443709450920717346 202969438337583890395037441991502116085491007016475237892624190172583659899471 304156817230102736773286011167064127942726392007353785388264630202775848247216 241775638616862767864014217081501159676989347636402736404372139399304914759425 459076734690085926800501747950226119687893510915166131861648596995757966862416 071965715386843345424732312429468104838106593900362861500720131141281243969464 220912005307980166748830629062028250450507716330033116718343771128857488297742 407708552954615644805121691935148500312901569907850336348601736924767348407983 169295125874801561189788883688292814328984742238848592664090207388059919629857 379500262748618097230894647911300810161064899873707408701858170820269020228130 399567740058130126538939971643797136823819088846446132795068251866786854036869 152697471010625020046422778534276665369894160429547384829220423672665400499184 516681115228039176838742649648809588422210741859878335973664151304132044491465 248297069649469735740890598324232055928806335932957903559760848248283382916985 071477080887282067011597798582044284701619683855702479490140012590881932216289 052970828682179737291411976135246129335442968865700832168726477195185614092971 813439671573078899170924826338879480862627048345278043321933890794279568351804 307539403862556087529331223720614140413600739513490305847792834559647225367603 737880504591777470778330018854871745473000921483764673902970490247515069314962 834420644993031073622429445414383949265530767386918984094384739297153436400514 890952277801817028929660101093675718193271272930418524061826989948493605797531 894318214335209496128453375940517325002397449592421547369545391848297362217738 897236304991526518380018815664202080633352060575544814579949340705371469417991 456478343166928699223283646713609523673114686523080034225637912278713449553380 771479242503823191309620822673699805386822568622389016861990684012323425560722 089949703257822520277837761602676547306682893110574146988747397116135029488824 424427278112304228528135581793653474873063398865835335081274442780296865152784 776396108399181018138482579124322888200986705796588103671503999855262536423567 663139284175693543060498235142905822411490053962486341219200071087179683327439 078484726464018137239742786700590610433582548358897040734862139706802362240478 109581325211094704771835219052147388894110312787492937226833915179597934786239 411860775718421679087273320702490842659452550708332835223662664297226381149355 900625219520522423534429138418884391138357452117764722473693743223636540605153 782251033812490770442823950915927216258130807805823225155084291539740520502562 165585001228226645679943796267256769163239081492897185672343047855306929351168 123833936646324878946336879339472477507730738598202935438645732554191604494129 182567505995480354830725130808261238756565457676314553003473595818738428720233 252802114808542437324524119395148003564282717423896646855565669468032166517707 581624395432469898230855060380707254999513122064644931192948172950123555966277 104614362199124858075625177059562226619044444429687417932334747797291983192541 045831660715245706409994546419601873690658957358493700959888121328087507037500 862965435793299927225580218807645894849208531016789604653335689078349612029026 073011265144600519574442752551708265281734826255098784223882388638472196609414 181351356235374360850727774383084603610409985634209999338946720770462339009782 888387346761796352593200545278062470908275015205628950326193207976663181365230 757469836474333456369697603997115767765062874858246592318874145032651608871832 528625611035943907626206971838703498359921351357149457600002146002818505314377 466948879675883221918296286553481466707765235099007072302575919091789851503648 167470124795093411768132179425067907436354891084301679810843372817049822844036 834911153626294869958321431382345526854550016970234613643094574978601098918233 301317682688159011751853804534488228563026258401126157151220976180237298732321 491873671302508221922844696610521778422219790242742301097290128375951954695444 285296569242751531491577187514533349812142361613120770267908536409567133766380 847816355297055838350845440209923950237559461927225268213099704989649571383113 787597515405239013756305039284355423164752751641475514774040176934975084229294 766405527483569973102617115667785545440402173690377509709741842355532443017467 891126410454174973122243266771235586888885530774315182332578792099247787249936 902557176916914946781444692270763115475504980922442318428043510134607475680973 575064538196942524983177032109117237142410785389527337904677174602058954070913 550369950887761035179012584970119489296333835444511859942107891038909797427948 805694717226431673893726038393048049356596057390966304113792807082939642648532 779123373376226075463245973789793382035619104764383204602475221040041678868389 177580942145004303501541195376129797088556451596949876059316517226202947765353 340384778533418304750307575730388862125505566808212946353115873812734743699716 435959100751162561941962170145479298850394882895386878795367025674149008445136 350063499850045761434022622991229684204232929356898457633939363615374528176510 942861123726151325813675267488091015616047349522416702041575585834267160436272 840782755843949688920778370511843420302676240628011949098389724184072632693379 708812601135449175939532878787011750146197998946376537374649333600798673745216 207131371849952990758595502934053279563692419016339094098768586531407500641872 384645295108404136261305215688124046444915495648302887336566228775737059229734 084923168599350109385756581409012809104741023257576398147373942916805055728396 487521944244752257308846444044872515232523976258091344195897852112728497768525 800604401935138344544977962741130492483644674800716272538299375688895003604239 966303140179565733621722806388305520564236979882386485605094724886088801766760 873957023363036071145011474077965385432528488122710891624791354319349060596894 228402407769698538815467620523487601331183317025665127717352698276075343866139 843638376331720832448340298748381697075103786904542003871105392324018291244706 440805358249474638305409035153811480051001800005294075239791409430461388908598 571133724392582785436103948441911763690258733868817814921952941036055409706827 766293547097541209605508122814904366284375424109182592471784954382834047087767 010599541168717653388256324229374281722454134147510586382064095367970196308816 503160443584840999718209091650415162524450267042160624615614627511573267555824 119635829000480913539078593501587012964429700105411079967890760819518871790396 346839758342665218059866254573668134021960716159013284407747112522359491110573 907126611399482982434650633330712142032042684644414181745421009634230424816939 925204886862733328881453504813706285104271644743162001960278956297251634962156 791935329524825751581035035055045821447369118082679743356596149124465389946824 387222658063843004806945071635089113503898450778492976186919142289711170051978 337491338802490899406804185202169513469274519935989253971408394837858314763259 991597034225433176230716409095300704829813195566258343434123634974039026083332 112105671587245952200092505196818897349515373886778209933932858920358018496297 131527690852238103528459367434525818272448577493746906238673261349480622054395 394136408418342309614371626751023486821766985312355720239911300247762347569851 023433569986690857776159333067371693906517272981289685189219940046268287106544 479940001426058120049900690606584714027576916120130035345937952395441034653879 055183255795688815003304164477423285096920589272611493615402845163447282524857 826644222504283460865158147343814274853499237526388842860346573026839182340438 166947333499681166423514681655811865664924973523903736650380067669534824943838 052835600567790862283154167514881260142861051113616158970410650281428350134430 412287977230017724013587975976523372038553358721289724444207063812417343511812 076216070930041462373553242200361406961497541231115499793696994197245012382978 400482867731423242363065518223823494279052161123133047772331250259586414361127 722417390061584382047165120696701151366161574778236312600653396243964216494849 200618590832094933772580974406413569604766640026060395162511591802547665772237 659405540279636098458072536021908192653085943698242282006495064267915159931328 481628800272861707626315355944484813074702122079916741106804859579033440748896 556590277883759623859578764401030955798766841951191738518971655041282559338414 579904507446314250139077492665841717718907196628825688512722720875348048301272 995934051827739891542610861213445633102068238225875307350559500485036075764780 613016508461972907584593839869473703773629443779982638305652308265617722441248 223874954718809278472792059842910184141630364344493442050684067569864613549061 000491020535193319842025288161773067409436746449170001569598890525600074041096 943143296352561082979718332048481162021353053070264357780351586722828493438805 189425948405939423227506554586250843914682923483867943170867176797432827060746 855977812474201582831032909861968675702363462375748170139186124381007074660637 913338268430608817667533467530817015558650440644434273707010733375287845581226 021766239705511630104695875518938284057015658387365818716597443284899839414141 844215946848310047911474847290064906150994243357536386119298881064485535585941 409459370416841916069384696551255770302522478354996755568979915741206000104593 139652973663880608668011093368669865455861624013655785803130634130042065565486 459754215669152078391977751730801810591151294806187345330672743636683347516924 948933688575061318054086654332383795836406164740366530375267924833190886249662 139136189237589214987185258712053469579155568476610413475235892856375745333240 331345896104231612528293849343125287108258942569787176325294658400907014010098 692647089551830735397925804043078594275273999260194005360730614477171300215719 875340283344379148699332639427702938072384176801290255509386652965195288348302 719656613316347029342469054802386840904555146864544353442969211002935469287335 580594253162330504135345441243730679356290951594486527411441001762026150749539 779523450850067140195326700687372683342304951807483713651358549671866675099013 829351728309200638642485984342014228695482705430932134583565849346307176696114 645527408685396309531779809839339467562597483727150015110318725104115044737409 656404094693565178949164702736819227759379694799077728370813738643592423723643 432568999414277671149482737656695972837510170120731021202853085289585580262839 009038589909633411329463088278787461042577068922850898191537791785946970991510 951691571196251071871059641004166660572567197085658059074859369510151513239134 701046753988956130952781573873277268397439036130671226266274315817155149983369 255232611835020702025334380328028447809317987826912290482102307728881699091027 238217624823814141166942609035417856997584043316823744116630923803965016670561 130179842030708619496906015870141452658258605005599198260333820012987567795243 3428285033676 End of the Project Gutenberg EBook of Catalan's Constant [Ramanujan's Formula], by Greg Fee *** END OF THIS PROJECT GUTENBERG EBOOK CATALAN'S CONSTANT *** ***** This file should be named 682.txt or 682.zip ***** This and all associated files of various formats will be found in: http://www.gutenberg.org/6/8/682/ Produced by Greg Fee Updated editions will replace the previous one--the old editions will be renamed. Creating the works from public domain print editions means that no one owns a United States copyright in these works, so the Foundation (and you!) can copy and distribute it in the United States without permission and without paying copyright royalties. Special rules, set forth in the General Terms of Use part of this license, apply to copying and distributing Project Gutenberg-tm electronic works to protect the PROJECT GUTENBERG-tm concept and trademark. Project Gutenberg is a registered trademark, and may not be used if you charge for the eBooks, unless you receive specific permission. If you do not charge anything for copies of this eBook, complying with the rules is very easy. You may use this eBook for nearly any purpose such as creation of derivative works, reports, performances and research. They may be modified and printed and given away--you may do practically ANYTHING with public domain eBooks. Redistribution is subject to the trademark license, especially commercial redistribution. *** START: FULL LICENSE *** THE FULL PROJECT GUTENBERG LICENSE PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK To protect the Project Gutenberg-tm mission of promoting the free distribution of electronic works, by using or distributing this work (or any other work associated in any way with the phrase "Project Gutenberg"), you agree to comply with all the terms of the Full Project Gutenberg-tm License (available with this file or online at http://gutenberg.net/license). Section 1. General Terms of Use and Redistributing Project Gutenberg-tm electronic works 1.A. By reading or using any part of this Project Gutenberg-tm electronic work, you indicate that you have read, understand, agree to and accept all the terms of this license and intellectual property (trademark/copyright) agreement. If you do not agree to abide by all the terms of this agreement, you must cease using and return or destroy all copies of Project Gutenberg-tm electronic works in your possession. If you paid a fee for obtaining a copy of or access to a Project Gutenberg-tm electronic work and you do not agree to be bound by the terms of this agreement, you may obtain a refund from the person or entity to whom you paid the fee as set forth in paragraph 1.E.8. 1.B. "Project Gutenberg" is a registered trademark. It may only be used on or associated in any way with an electronic work by people who agree to be bound by the terms of this agreement. There are a few things that you can do with most Project Gutenberg-tm electronic works even without complying with the full terms of this agreement. See paragraph 1.C below. There are a lot of things you can do with Project Gutenberg-tm electronic works if you follow the terms of this agreement and help preserve free future access to Project Gutenberg-tm electronic works. See paragraph 1.E below. 1.C. The Project Gutenberg Literary Archive Foundation ("the Foundation" or PGLAF), owns a compilation copyright in the collection of Project Gutenberg-tm electronic works. Nearly all the individual works in the collection are in the public domain in the United States. If an individual work is in the public domain in the United States and you are located in the United States, we do not claim a right to prevent you from copying, distributing, performing, displaying or creating derivative works based on the work as long as all references to Project Gutenberg are removed. Of course, we hope that you will support the Project Gutenberg-tm mission of promoting free access to electronic works by freely sharing Project Gutenberg-tm works in compliance with the terms of this agreement for keeping the Project Gutenberg-tm name associated with the work. You can easily comply with the terms of this agreement by keeping this work in the same format with its attached full Project Gutenberg-tm License when you share it without charge with others. 1.D. The copyright laws of the place where you are located also govern what you can do with this work. Copyright laws in most countries are in a constant state of change. If you are outside the United States, check the laws of your country in addition to the terms of this agreement before downloading, copying, displaying, performing, distributing or creating derivative works based on this work or any other Project Gutenberg-tm work. The Foundation makes no representations concerning the copyright status of any work in any country outside the United States. 1.E. Unless you have removed all references to Project Gutenberg: 1.E.1. The following sentence, with active links to, or other immediate access to, the full Project Gutenberg-tm License must appear prominently whenever any copy of a Project Gutenberg-tm work (any work on which the phrase "Project Gutenberg" appears, or with which the phrase "Project Gutenberg" is associated) is accessed, displayed, performed, viewed, copied or distributed: This eBook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.net 1.E.2. If an individual Project Gutenberg-tm electronic work is derived from the public domain (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase "Project Gutenberg" associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or 1.E.9. 1.E.3. If an individual Project Gutenberg-tm electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg-tm License for all works posted with the permission of the copyright holder found at the beginning of this work. 1.E.4. Do not unlink or detach or remove the full Project Gutenberg-tm License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg-tm. 1.E.5. Do not copy, display, perform, distribute or redistribute this electronic work, or any part of this electronic work, without prominently displaying the sentence set forth in paragraph 1.E.1 with active links or immediate access to the full terms of the Project Gutenberg-tm License. 1.E.6. You may convert to and distribute this work in any binary, compressed, marked up, nonproprietary or proprietary form, including any word processing or hypertext form. However, if you provide access to or distribute copies of a Project Gutenberg-tm work in a format other than "Plain Vanilla ASCII" or other format used in the official version posted on the official Project Gutenberg-tm web site (www.gutenberg.net), you must, at no additional cost, fee or expense to the user, provide a copy, a means of exporting a copy, or a means of obtaining a copy upon request, of the work in its original "Plain Vanilla ASCII" or other form. Any alternate format must include the full Project Gutenberg-tm License as specified in paragraph 1.E.1. 1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg-tm works unless you comply with paragraph 1.E.8 or 1.E.9. 1.E.8. You may charge a reasonable fee for copies of or providing access to or distributing Project Gutenberg-tm electronic works provided that - You pay a royalty fee of 20% of the gross profits you derive from the use of Project Gutenberg-tm works calculated using the method you already use to calculate your applicable taxes. The fee is owed to the owner of the Project Gutenberg-tm trademark, but he has agreed to donate royalties under this paragraph to the Project Gutenberg Literary Archive Foundation. Royalty payments must be paid within 60 days following each date on which you prepare (or are legally required to prepare) your periodic tax returns. Royalty payments should be clearly marked as such and sent to the Project Gutenberg Literary Archive Foundation at the address specified in Section 4, "Information about donations to the Project Gutenberg Literary Archive Foundation." - You provide a full refund of any money paid by a user who notifies you in writing (or by e-mail) within 30 days of receipt that s/he does not agree to the terms of the full Project Gutenberg-tm License. You must require such a user to return or destroy all copies of the works possessed in a physical medium and discontinue all use of and all access to other copies of Project Gutenberg-tm works. - You provide, in accordance with paragraph 1.F.3, a full refund of any money paid for a work or a replacement copy, if a defect in the electronic work is discovered and reported to you within 90 days of receipt of the work. - You comply with all other terms of this agreement for free distribution of Project Gutenberg-tm works. 1.E.9. If you wish to charge a fee or distribute a Project Gutenberg-tm electronic work or group of works on different terms than are set forth in this agreement, you must obtain permission in writing from both the Project Gutenberg Literary Archive Foundation and Michael Hart, the owner of the Project Gutenberg-tm trademark. Contact the Foundation as set forth in Section 3 below. 1.F. 1.F.1. Project Gutenberg volunteers and employees expend considerable effort to identify, do copyright research on, transcribe and proofread public domain works in creating the Project Gutenberg-tm collection. Despite these efforts, Project Gutenberg-tm electronic works, and the medium on which they may be stored, may contain "Defects," such as, but not limited to, incomplete, inaccurate or corrupt data, transcription errors, a copyright or other intellectual property infringement, a defective or damaged disk or other medium, a computer virus, or computer codes that damage or cannot be read by your equipment. 1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the "Right of Replacement or Refund" described in paragraph 1.F.3, the Project Gutenberg Literary Archive Foundation, the owner of the Project Gutenberg-tm trademark, and any other party distributing a Project Gutenberg-tm electronic work under this agreement, disclaim all liability to you for damages, costs and expenses, including legal fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH F3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE. 1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a defect in this electronic work within 90 days of receiving it, you can receive a refund of the money (if any) you paid for it by sending a written explanation to the person you received the work from. If you received the work on a physical medium, you must return the medium with your written explanation. The person or entity that provided you with the defective work may elect to provide a replacement copy in lieu of a refund. If you received the work electronically, the person or entity providing it to you may choose to give you a second opportunity to receive the work electronically in lieu of a refund. If the second copy is also defective, you may demand a refund in writing without further opportunities to fix the problem. 1.F.4. Except for the limited right of replacement or refund set forth in paragraph 1.F.3, this work is provided to you 'AS-IS' WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR ANY PURPOSE. 1.F.5. Some states do not allow disclaimers of certain implied warranties or the exclusion or limitation of certain types of damages. If any disclaimer or limitation set forth in this agreement violates the law of the state applicable to this agreement, the agreement shall be interpreted to make the maximum disclaimer or limitation permitted by the applicable state law. The invalidity or unenforceability of any provision of this agreement shall not void the remaining provisions. 1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the trademark owner, any agent or employee of the Foundation, anyone providing copies of Project Gutenberg-tm electronic works in accordance with this agreement, and any volunteers associated with the production, promotion and distribution of Project Gutenberg-tm electronic works, harmless from all liability, costs and expenses, including legal fees, that arise directly or indirectly from any of the following which you do or cause to occur: (a) distribution of this or any Project Gutenberg-tm work, (b) alteration, modification, or additions or deletions to any Project Gutenberg-tm work, and (c) any Defect you cause. Section 2. Information about the Mission of Project Gutenberg-tm Project Gutenberg-tm is synonymous with the free distribution of electronic works in formats readable by the widest variety of computers including obsolete, old, middle-aged and new computers. It exists because of the efforts of hundreds of volunteers and donations from people in all walks of life. Volunteers and financial support to provide volunteers with the assistance they need, is critical to reaching Project Gutenberg-tm's goals and ensuring that the Project Gutenberg-tm collection will remain freely available for generations to come. In 2001, the Project Gutenberg Literary Archive Foundation was created to provide a secure and permanent future for Project Gutenberg-tm and future generations. To learn more about the Project Gutenberg Literary Archive Foundation and how your efforts and donations can help, see Sections 3 and 4 and the Foundation web page at http://www.pglaf.org. Section 3. Information about the Project Gutenberg Literary Archive Foundation The Project Gutenberg Literary Archive Foundation is a non profit 501(c)(3) educational corporation organized under the laws of the state of Mississippi and granted tax exempt status by the Internal Revenue Service. The Foundation's EIN or federal tax identification number is 64-6221541. Its 501(c)(3) letter is posted at http://pglaf.org/fundraising. Contributions to the Project Gutenberg Literary Archive Foundation are tax deductible to the full extent permitted by U.S. federal laws and your state's laws. The Foundation's principal office is located at 4557 Melan Dr. S. Fairbanks, AK, 99712., but its volunteers and employees are scattered throughout numerous locations. Its business office is located at 809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887, email business@pglaf.org. Email contact links and up to date contact information can be found at the Foundation's web site and official page at http://pglaf.org For additional contact information: Dr. Gregory B. Newby Chief Executive and Director gbnewby@pglaf.org Section 4. Information about Donations to the Project Gutenberg Literary Archive Foundation Project Gutenberg-tm depends upon and cannot survive without wide spread public support and donations to carry out its mission of increasing the number of public domain and licensed works that can be freely distributed in machine readable form accessible by the widest array of equipment including outdated equipment. Many small donations ($1 to $5,000) are particularly important to maintaining tax exempt status with the IRS. The Foundation is committed to complying with the laws regulating charities and charitable donations in all 50 states of the United States. Compliance requirements are not uniform and it takes a considerable effort, much paperwork and many fees to meet and keep up with these requirements. We do not solicit donations in locations where we have not received written confirmation of compliance. To SEND DONATIONS or determine the status of compliance for any particular state visit http://pglaf.org While we cannot and do not solicit contributions from states where we have not met the solicitation requirements, we know of no prohibition against accepting unsolicited donations from donors in such states who approach us with offers to donate. International donations are gratefully accepted, but we cannot make any statements concerning tax treatment of donations received from outside the United States. U.S. laws alone swamp our small staff. Please check the Project Gutenberg Web pages for current donation methods and addresses. Donations are accepted in a number of other ways including including checks, online payments and credit card donations. To donate, please visit: http://pglaf.org/donate Section 5. General Information About Project Gutenberg-tm electronic works. Professor Michael S. Hart is the originator of the Project Gutenberg-tm concept of a library of electronic works that could be freely shared with anyone. For thirty years, he produced and distributed Project Gutenberg-tm eBooks with only a loose network of volunteer support. Project Gutenberg-tm eBooks are often created from several printed editions, all of which are confirmed as Public Domain in the U.S. unless a copyright notice is included. Thus, we do not necessarily keep eBooks in compliance with any particular paper edition. Most people start at our Web site which has the main PG search facility: http://www.gutenberg.net This Web site includes information about Project Gutenberg-tm, including how to make donations to the Project Gutenberg Literary Archive Foundation, how to help produce our new eBooks, and how to subscribe to our email newsletter to hear about new eBooks.