Full Text Archive logoFull Text Archive — Free Classic E-books

Catalan's Constant

Part 1 out of 2

Adobe PDF icon
Download this document as a .pdf
File size: 0.3 MB
What's this? light bulb idea Many people prefer to read off-line or to print out text and read from the real printed page. Others want to carry documents around with them on their mobile phones and read while they are on the move. We have created .pdf files of all out documents to accommodate all these groups of people. We recommend that you download .pdfs onto your mobile phone when it is connected to a WiFi connection for reading off-line.

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.php

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\

Book of the day:
Facebook Google Reddit StumbleUpon Twitter Pinterest