#include <algorithm> #include <iterator> #include <iostream> #include <sstream> #include <string> #include <deque> #include <ctime> #include <map> typedef unsigned long long ullong; struct BigInteger { //Base value. static const ullong base = 10000; //N value static const ullong N = 4; //Digits holder. std::deque<ullong> digits; //Default constructors. BigInteger(); BigInteger(std::string str); BigInteger(ullong num); //Operators BigInteger& operator+= (const BigInteger& bi); BigInteger& operator-= (const BigInteger& bi); BigInteger& operator*= (const BigInteger& bi); //BigInteger& operator/= (const BigInteger& bi); BigInteger& operator*= (ullong n); BigInteger& operator<<= (ullong n); BigInteger& operator>>= (ullong n); //BigInteger& operator/= (ullong n); BigInteger operator+ (const BigInteger& bi) const; BigInteger operator- (const BigInteger& bi) const; BigInteger operator* (const BigInteger& bi) const; BigInteger operator* (ullong n) const; BigInteger operator<< (ullong n) const; //Comparison operators bool operator== (const BigInteger& other) const; bool operator== (ullong other) const; //removes all zeroes from the back. void normalize(); //Helper functions BigInteger& addZeroes(ullong n); }; //Helper classes and functors struct Add { ullong operator()(ullong a, ullong b) { return a + b; } }; // struct Divide { // ullong k; // Divide() {} // Divide(ullong n): k(n) {} // ullong operator()(ullong a) { // return a / k; // } // }; struct Multiply { ullong k; Multiply() {} Multiply(ullong n): k(n) {} ullong operator()(ullong a) { return a * k; } }; struct Carry { ullong& carry; Carry(ullong& c): carry(c) {} ullong operator()(ullong n) { n += carry; carry = n / BigInteger::base; n %= BigInteger::base; return n; } }; template <class BaseOperator> struct OperatorCarry: public BaseOperator, public Carry { OperatorCarry(ullong& c): Carry(c) {} ullong operator()(ullong a) { return Carry::operator()(BaseOperator::operator()(a)); } ullong operator()(ullong a, ullong b) { return Carry::operator()(BaseOperator::operator()(a, b)); } }; struct Borrow { long long& borrow; Borrow(long long& b): borrow(b) {} ullong operator()(long long n) { n -= borrow; borrow = 0; while (n < 0) { n += BigInteger::base; ++borrow; } return n; } }; struct SubtractionBorrow { long long& borrow; SubtractionBorrow(long long& b): borrow(b) {} ullong operator()(long long a, long long b) { long long n = b - a - borrow; borrow = 0; while (n < 0) { n += BigInteger::base; ++borrow; } return n; } }; BigInteger::BigInteger() { digits.assign(1, 0); } BigInteger::BigInteger(ullong num) { std::stringstream buffer; buffer << num; *this = BigInteger(buffer.str()); } BigInteger::BigInteger(std::string str) { std::reverse(str.begin(), str.end()); while (str.size() % BigInteger::N != 0) str.push_back('0'); std::reverse(str.begin(), str.end()); ullong position = 0; ullong size = str.size(); while(position != size) { std::stringstream buffer(str.substr(position, BigInteger::N)); ullong digit; buffer >> digit; digits.push_back(digit); position += BigInteger::N; } std::reverse(digits.begin(), digits.end()); } BigInteger& BigInteger::operator+= (const BigInteger& bi) { if (digits.size() < bi.digits.size()) digits.resize(bi.digits.size()); ullong carry = 0; std::deque<ullong>::iterator it; OperatorCarry<Add> addwc(carry); it = std::transform(bi.digits.begin(), bi.digits.end(), digits.begin(), digits.begin(), addwc); std::transform(it, digits.end(), it, Carry(carry)); if(carry) digits.push_back(carry); return *this; } BigInteger& BigInteger::operator-= (const BigInteger& bi) { long long borrow = 0; std::deque<ullong>::iterator it; it = std::transform(bi.digits.begin(), bi.digits.end(), digits.begin(), digits.begin(), SubtractionBorrow(borrow)); std::transform(it, digits.end(), it, Borrow(borrow)); return *this; } BigInteger& BigInteger::operator*= (ullong n) { ullong carry = 0; OperatorCarry<Multiply> mulmc(carry); mulmc.k = n; std::transform(digits.begin(), digits.end(), digits.begin(), mulmc); while(carry) { digits.push_back(carry % BigInteger::base); carry /= BigInteger::base; } return *this; } // BigInteger& BigInteger::operator/=(ullong n) { // ullong carry = 0; // OperatorCarry<Divide> divmc(carry); // divmc.k = n; // std::transform(digits.begin(),digits.end(),digits.begin(),divmc); // while(carry) { // digits.push_back(carry % BigInteger::base); // carry /= BigInteger::base; // } // return *this; // } BigInteger& BigInteger::operator*= (const BigInteger& bi) { const BigInteger* maxOp = this; const BigInteger* minOp = &bi; ullong maxSize = maxOp->digits.size(); ullong minSize = minOp->digits.size(); if (maxSize < minSize) { std::swap(maxOp, minOp); std::swap(maxSize, minSize); } std::deque<BigInteger> array(minSize); for (ullong i = 0; i < minSize; ++i) { array[i].digits.resize(maxSize); array[i] = *maxOp * minOp->digits[i]; } *this = array[0]; digits.resize(maxSize + minSize); for (ullong i = 1; i < minSize; ++i) { array[i].addZeroes(i); *this += array[i]; } return *this; } // BigInteger& BigInteger::operator/= (const BigInteger& bi) { // BigInteger* dividend = this; // BigInteger* divisor = &bi; // BigIn // long long shift = 0; // if(bi == ) { // shift = 1/shift; //throw exception // } // BigInteger quotient(0); // quotient.digits.resize(dividend->size()); // } BigInteger& BigInteger::operator<<= (ullong n) { for(ullong i = 0; i < n; ++i) { (*this) *= 2; } return *this; } BigInteger& BigInteger::addZeroes(ullong n) { digits.resize(digits.size() + n); std::copy(digits.rbegin() + n, digits.rend(), digits.rbegin()); std::fill(digits.begin(), digits.begin() + n, 0); return *this; } BigInteger& BigInteger::operator>>= (ullong n) { return *this; } BigInteger BigInteger::operator+ (const BigInteger& bi) const { BigInteger result(*this); return (result += bi); } BigInteger BigInteger::operator- (const BigInteger& bi) const { BigInteger result(*this); return (result -= bi); } BigInteger BigInteger::operator* (ullong n) const { BigInteger result(*this); return (result *= n); } BigInteger BigInteger::operator* (const BigInteger& bi) const { BigInteger result(*this); return (result *= bi); } BigInteger BigInteger::operator<< (ullong n) const { BigInteger result(*this); return (result <<= n); } bool BigInteger::operator== (const BigInteger& other) const { return this->digits == other.digits; } bool BigInteger::operator== (ullong other) const { return *this == BigInteger(other); } void BigInteger::normalize() { while (digits.size() > 1) { if (digits.back() == 0) digits.pop_back(); else break; } } BigInteger operator+ (ullong n, const BigInteger& bi) { return bi + n; } BigInteger operator* (ullong n, const BigInteger& bi) { return bi * n; } std::ostream& operator<< (std::ostream& out, const BigInteger& bi) { BigInteger& bi2 = const_cast<BigInteger&>(bi); bi2.normalize(); long long size = bi.digits.size(); if (bi.digits[size - 1]) out << bi.digits[size - 1]; for(long long i = size - 2; i >= 0; --i) { std::stringstream buffer; buffer << bi.digits[i]; std::string str = buffer.str(); ullong toN = BigInteger::N - str.size(); if (toN > 0) str = std::string(toN, '0') + str; out << str; } return out; } /* BigInteger operator"" _Big(const char* str, std::size_t n) { return BigInteger(std::string(str,n)); } BigInteger operator"" _Big(ullong number) { return BigInteger(number); } */ BigInteger fact(ullong n) { static std::map<ullong, BigInteger> cache; static std::map<ullong, BigInteger>::iterator it; if (n == 0) return 1; it = cache.find(n); if (it != cache.end()) return it->second; else return cache[n] = n * fact(n - 1); } BigInteger A_func(ullong n) { static std::map<ullong, BigInteger> cache; static std::map<ullong, BigInteger>::iterator it; if (n == 1) return 7; if (n == 2) return 2; if (n == 3) return 1; it = cache.find(n); if (it != cache.end()) return it->second; else return cache[n] = fact(n + 1) * A_func(n - 1) + 5 * A_func(n - 2) + 7 * A_func(n - 3); } BigInteger fib2(ullong n) { static std::map<ullong, BigInteger> cache; static std::map<ullong, BigInteger>::iterator it; if(n == 0) return 0; if(n == 1) return 1; it = cache.find(n); if(it != cache.end()) return it->second; else return cache[n] = fib2(n-1) + fib2(n-2); } int main() { BigInteger b("0"); for(size_t i = 1; i <= 600; ++i) { b = fib2(i); std::cout << "fib(" << i << "): " << b << '\n'; } }
Standard input is empty
fib(1): 1 fib(2): 1 fib(3): 2 fib(4): 3 fib(5): 5 fib(6): 8 fib(7): 13 fib(8): 21 fib(9): 34 fib(10): 55 fib(11): 89 fib(12): 144 fib(13): 233 fib(14): 377 fib(15): 610 fib(16): 987 fib(17): 1597 fib(18): 2584 fib(19): 4181 fib(20): 6765 fib(21): 10946 fib(22): 17711 fib(23): 28657 fib(24): 46368 fib(25): 75025 fib(26): 121393 fib(27): 196418 fib(28): 317811 fib(29): 514229 fib(30): 832040 fib(31): 1346269 fib(32): 2178309 fib(33): 3524578 fib(34): 5702887 fib(35): 9227465 fib(36): 14930352 fib(37): 24157817 fib(38): 39088169 fib(39): 63245986 fib(40): 102334155 fib(41): 165580141 fib(42): 267914296 fib(43): 433494437 fib(44): 701408733 fib(45): 1134903170 fib(46): 1836311903 fib(47): 2971215073 fib(48): 4807526976 fib(49): 7778742049 fib(50): 12586269025 fib(51): 20365011074 fib(52): 32951280099 fib(53): 53316291173 fib(54): 86267571272 fib(55): 139583862445 fib(56): 225851433717 fib(57): 365435296162 fib(58): 591286729879 fib(59): 956722026041 fib(60): 1548008755920 fib(61): 2504730781961 fib(62): 4052739537881 fib(63): 6557470319842 fib(64): 10610209857723 fib(65): 17167680177565 fib(66): 27777890035288 fib(67): 44945570212853 fib(68): 72723460248141 fib(69): 117669030460994 fib(70): 190392490709135 fib(71): 308061521170129 fib(72): 498454011879264 fib(73): 806515533049393 fib(74): 1304969544928657 fib(75): 2111485077978050 fib(76): 3416454622906707 fib(77): 5527939700884757 fib(78): 8944394323791464 fib(79): 14472334024676221 fib(80): 23416728348467685 fib(81): 37889062373143906 fib(82): 61305790721611591 fib(83): 99194853094755497 fib(84): 160500643816367088 fib(85): 259695496911122585 fib(86): 420196140727489673 fib(87): 679891637638612258 fib(88): 1100087778366101931 fib(89): 1779979416004714189 fib(90): 2880067194370816120 fib(91): 4660046610375530309 fib(92): 7540113804746346429 fib(93): 12200160415121876738 fib(94): 19740274219868223167 fib(95): 31940434634990099905 fib(96): 51680708854858323072 fib(97): 83621143489848422977 fib(98): 135301852344706746049 fib(99): 218922995834555169026 fib(100): 354224848179261915075 fib(101): 573147844013817084101 fib(102): 927372692193078999176 fib(103): 1500520536206896083277 fib(104): 2427893228399975082453 fib(105): 3928413764606871165730 fib(106): 6356306993006846248183 fib(107): 10284720757613717413913 fib(108): 16641027750620563662096 fib(109): 26925748508234281076009 fib(110): 43566776258854844738105 fib(111): 70492524767089125814114 fib(112): 114059301025943970552219 fib(113): 184551825793033096366333 fib(114): 298611126818977066918552 fib(115): 483162952612010163284885 fib(116): 781774079430987230203437 fib(117): 1264937032042997393488322 fib(118): 2046711111473984623691759 fib(119): 3311648143516982017180081 fib(120): 5358359254990966640871840 fib(121): 8670007398507948658051921 fib(122): 14028366653498915298923761 fib(123): 22698374052006863956975682 fib(124): 36726740705505779255899443 fib(125): 59425114757512643212875125 fib(126): 96151855463018422468774568 fib(127): 155576970220531065681649693 fib(128): 251728825683549488150424261 fib(129): 407305795904080553832073954 fib(130): 659034621587630041982498215 fib(131): 1066340417491710595814572169 fib(132): 1725375039079340637797070384 fib(133): 2791715456571051233611642553 fib(134): 4517090495650391871408712937 fib(135): 7308805952221443105020355490 fib(136): 11825896447871834976429068427 fib(137): 19134702400093278081449423917 fib(138): 30960598847965113057878492344 fib(139): 50095301248058391139327916261 fib(140): 81055900096023504197206408605 fib(141): 131151201344081895336534324866 fib(142): 212207101440105399533740733471 fib(143): 343358302784187294870275058337 fib(144): 555565404224292694404015791808 fib(145): 898923707008479989274290850145 fib(146): 1454489111232772683678306641953 fib(147): 2353412818241252672952597492098 fib(148): 3807901929474025356630904134051 fib(149): 6161314747715278029583501626149 fib(150): 9969216677189303386214405760200 fib(151): 16130531424904581415797907386349 fib(152): 26099748102093884802012313146549 fib(153): 42230279526998466217810220532898 fib(154): 68330027629092351019822533679447 fib(155): 110560307156090817237632754212345 fib(156): 178890334785183168257455287891792 fib(157): 289450641941273985495088042104137 fib(158): 468340976726457153752543329995929 fib(159): 757791618667731139247631372100066 fib(160): 1226132595394188293000174702095995 fib(161): 1983924214061919432247806074196061 fib(162): 3210056809456107725247980776292056 fib(163): 5193981023518027157495786850488117 fib(164): 8404037832974134882743767626780173 fib(165): 13598018856492162040239554477268290 fib(166): 22002056689466296922983322104048463 fib(167): 35600075545958458963222876581316753 fib(168): 57602132235424755886206198685365216 fib(169): 93202207781383214849429075266681969 fib(170): 150804340016807970735635273952047185 fib(171): 244006547798191185585064349218729154 fib(172): 394810887814999156320699623170776339 fib(173): 638817435613190341905763972389505493 fib(174): 1033628323428189498226463595560281832 fib(175): 1672445759041379840132227567949787325 fib(176): 2706074082469569338358691163510069157 fib(177): 4378519841510949178490918731459856482 fib(178): 7084593923980518516849609894969925639 fib(179): 11463113765491467695340528626429782121 fib(180): 18547707689471986212190138521399707760 fib(181): 30010821454963453907530667147829489881 fib(182): 48558529144435440119720805669229197641 fib(183): 78569350599398894027251472817058687522 fib(184): 127127879743834334146972278486287885163 fib(185): 205697230343233228174223751303346572685 fib(186): 332825110087067562321196029789634457848 fib(187): 538522340430300790495419781092981030533 fib(188): 871347450517368352816615810882615488381 fib(189): 1409869790947669143312035591975596518914 fib(190): 2281217241465037496128651402858212007295 fib(191): 3691087032412706639440686994833808526209 fib(192): 5972304273877744135569338397692020533504 fib(193): 9663391306290450775010025392525829059713 fib(194): 15635695580168194910579363790217849593217 fib(195): 25299086886458645685589389182743678652930 fib(196): 40934782466626840596168752972961528246147 fib(197): 66233869353085486281758142155705206899077 fib(198): 107168651819712326877926895128666735145224 fib(199): 173402521172797813159685037284371942044301 fib(200): 280571172992510140037611932413038677189525 fib(201): 453973694165307953197296969697410619233826 fib(202): 734544867157818093234908902110449296423351 fib(203): 1188518561323126046432205871807859915657177 fib(204): 1923063428480944139667114773918309212080528 fib(205): 3111581989804070186099320645726169127737705 fib(206): 5034645418285014325766435419644478339818233 fib(207): 8146227408089084511865756065370647467555938 fib(208): 13180872826374098837632191485015125807374171 fib(209): 21327100234463183349497947550385773274930109 fib(210): 34507973060837282187130139035400899082304280 fib(211): 55835073295300465536628086585786672357234389 fib(212): 90343046356137747723758225621187571439538669 fib(213): 146178119651438213260386312206974243796773058 fib(214): 236521166007575960984144537828161815236311727 fib(215): 382699285659014174244530850035136059033084785 fib(216): 619220451666590135228675387863297874269396512 fib(217): 1001919737325604309473206237898433933302481297 fib(218): 1621140188992194444701881625761731807571877809 fib(219): 2623059926317798754175087863660165740874359106 fib(220): 4244200115309993198876969489421897548446236915 fib(221): 6867260041627791953052057353082063289320596021 fib(222): 11111460156937785151929026842503960837766832936 fib(223): 17978720198565577104981084195586024127087428957 fib(224): 29090180355503362256910111038089984964854261893 fib(225): 47068900554068939361891195233676009091941690850 fib(226): 76159080909572301618801306271765994056795952743 fib(227): 123227981463641240980692501505442003148737643593 fib(228): 199387062373213542599493807777207997205533596336 fib(229): 322615043836854783580186309282650000354271239929 fib(230): 522002106210068326179680117059857997559804836265 fib(231): 844617150046923109759866426342507997914076076194 fib(232): 1366619256256991435939546543402365995473880912459 fib(233): 2211236406303914545699412969744873993387956988653 fib(234): 3577855662560905981638959513147239988861837901112 fib(235): 5789092068864820527338372482892113982249794889765 fib(236): 9366947731425726508977331996039353971111632790877 fib(237): 15156039800290547036315704478931467953361427680642 fib(238): 24522987531716273545293036474970821924473060471519 fib(239): 39679027332006820581608740953902289877834488152161 fib(240): 64202014863723094126901777428873111802307548623680 fib(241): 103881042195729914708510518382775401680142036775841 fib(242): 168083057059453008835412295811648513482449585399521 fib(243): 271964099255182923543922814194423915162591622175362 fib(244): 440047156314635932379335110006072428645041207574883 fib(245): 712011255569818855923257924200496343807632829750245 fib(246): 1152058411884454788302593034206568772452674037325128 fib(247): 1864069667454273644225850958407065116260306867075373 fib(248): 3016128079338728432528443992613633888712980904400501 fib(249): 4880197746793002076754294951020699004973287771475874 fib(250): 7896325826131730509282738943634332893686268675876375 fib(251): 12776523572924732586037033894655031898659556447352249 fib(252): 20672849399056463095319772838289364792345825123228624 fib(253): 33449372971981195681356806732944396691005381570580873 fib(254): 54122222371037658776676579571233761483351206693809497 fib(255): 87571595343018854458033386304178158174356588264390370 fib(256): 141693817714056513234709965875411919657707794958199867 fib(257): 229265413057075367692743352179590077832064383222590237 fib(258): 370959230771131880927453318055001997489772178180790104 fib(259): 600224643828207248620196670234592075321836561403380341 fib(260): 971183874599339129547649988289594072811608739584170445 fib(261): 1571408518427546378167846658524186148133445300987550786 fib(262): 2542592393026885507715496646813780220945054040571721231 fib(263): 4114000911454431885883343305337966369078499341559272017 fib(264): 6656593304481317393598839952151746590023553382130993248 fib(265): 10770594215935749279482183257489712959102052723690265265 fib(266): 17427187520417066673081023209641459549125606105821258513 fib(267): 28197781736352815952563206467131172508227658829511523778 fib(268): 45624969256769882625644229676772632057353264935332782291 fib(269): 73822750993122698578207436143903804565580923764844306069 fib(270): 119447720249892581203851665820676436622934188700177088360 fib(271): 193270471243015279782059101964580241188515112465021394429 fib(272): 312718191492907860985910767785256677811449301165198482789 fib(273): 505988662735923140767969869749836918999964413630219877218 fib(274): 818706854228831001753880637535093596811413714795418360007 fib(275): 1324695516964754142521850507284930515811378128425638237225 fib(276): 2143402371193585144275731144820024112622791843221056597232 fib(277): 3468097888158339286797581652104954628434169971646694834457 fib(278): 5611500259351924431073312796924978741056961814867751431689 fib(279): 9079598147510263717870894449029933369491131786514446266146 fib(280): 14691098406862188148944207245954912110548093601382197697835 fib(281): 23770696554372451866815101694984845480039225387896643963981 fib(282): 38461794961234640015759308940939757590587318989278841661816 fib(283): 62232491515607091882574410635924603070626544377175485625797 fib(284): 100694286476841731898333719576864360661213863366454327287613 fib(285): 162926777992448823780908130212788963731840407743629812913410 fib(286): 263621064469290555679241849789653324393054271110084140201023 fib(287): 426547842461739379460149980002442288124894678853713953114433 fib(288): 690168906931029935139391829792095612517948949963798093315456 fib(289): 1116716749392769314599541809794537900642843628817512046429889 fib(290): 1806885656323799249738933639586633513160792578781310139745345 fib(291): 2923602405716568564338475449381171413803636207598822186175234 fib(292): 4730488062040367814077409088967804926964428786380132325920579 fib(293): 7654090467756936378415884538348976340768064993978954512095813 fib(294): 12384578529797304192493293627316781267732493780359086838016392 fib(295): 20038668997554240570909178165665757608500558774338041350112205 fib(296): 32423247527351544763402471792982538876233052554697128188128597 fib(297): 52461916524905785334311649958648296484733611329035169538240802 fib(298): 84885164052257330097714121751630835360966663883732297726369399 fib(299): 137347080577163115432025771710279131845700275212767467264610201 fib(300): 222232244629420445529739893461909967206666939096499764990979600 fib(301): 359579325206583560961765665172189099052367214309267232255589801 fib(302): 581811569836004006491505558634099066259034153405766997246569401 fib(303): 941390895042587567453271223806288165311401367715034229502159202 fib(304): 1523202464878591573944776782440387231570435521120801226748728603 fib(305): 2464593359921179141398048006246675396881836888835835456250887805 fib(306): 3987795824799770715342824788687062628452272409956636682999616408 fib(307): 6452389184720949856740872794933738025334109298792472139250504213 fib(308): 10440185009520720572083697583620800653786381708749108822250120621 fib(309): 16892574194241670428824570378554538679120491007541580961500624834 fib(310): 27332759203762391000908267962175339332906872716290689783750745455 fib(311): 44225333398004061429732838340729878012027363723832270745251370289 fib(312): 71558092601766452430641106302905217344934236440122960529002115744 fib(313): 115783425999770513860373944643635095356961600163955231274253486033 fib(314): 187341518601536966291015050946540312701895836604078191803255601777 fib(315): 303124944601307480151388995590175408058857436768033423077509087810 fib(316): 490466463202844446442404046536715720760753273372111614880764689587 fib(317): 793591407804151926593793042126891128819610710140145037958273777397 fib(318): 1284057871006996373036197088663606849580363983512256652839038466984 fib(319): 2077649278811148299629990130790497978399974693652401690797312244381 fib(320): 3361707149818144672666187219454104827980338677164658343636350711365 fib(321): 5439356428629292972296177350244602806380313370817060034433662955746 fib(322): 8801063578447437644962364569698707634360652047981718378070013667111 fib(323): 14240420007076730617258541919943310440740965418798778412503676622857 fib(324): 23041483585524168262220906489642018075101617466780496790573690289968 fib(325): 37281903592600898879479448409585328515842582885579275203077366912825 fib(326): 60323387178125067141700354899227346590944200352359771993651057202793 fib(327): 97605290770725966021179803308812675106786783237939047196728424115618 fib(328): 157928677948851033162880158208040021697730983590298819190379481318411 fib(329): 255533968719576999184059961516852696804517766828237866387107905434029 fib(330): 413462646668428032346940119724892718502248750418536685577487386752440 fib(331): 668996615388005031531000081241745415306766517246774551964595292186469 fib(332): 1082459262056433063877940200966638133809015267665311237542082678938909 fib(333): 1751455877444438095408940282208383549115781784912085789506677971125378 fib(334): 2833915139500871159286880483175021682924797052577397027048760650064287 fib(335): 4585371016945309254695820765383405232040578837489482816555438621189665 fib(336): 7419286156446180413982701248558426914965375890066879843604199271253952 fib(337): 12004657173391489668678522013941832147005954727556362660159637892443617 fib(338): 19423943329837670082661223262500259061971330617623242503763837163697569 fib(339): 31428600503229159751339745276442091208977285345179605163923475056141186 fib(340): 50852543833066829834000968538942350270948615962802847667687312219838755 fib(341): 82281144336295989585340713815384441479925901307982452831610787275979941 fib(342): 133133688169362819419341682354326791750874517270785300499298099495818696 fib(343): 215414832505658809004682396169711233230800418578767753330908886771798637 fib(344): 348548520675021628424024078524038024981674935849553053830206986267617333 fib(345): 563963353180680437428706474693749258212475354428320807161115873039415970 fib(346): 912511873855702065852730553217787283194150290277873860991322859307033303 fib(347): 1476475227036382503281437027911536541406625644706194668152438732346449273 fib(348): 2388987100892084569134167581129323824600775934984068529143761591653482576 fib(349): 3865462327928467072415604609040860366007401579690263197296200323999931849 fib(350): 6254449428820551641549772190170184190608177514674331726439961915653414425 fib(351): 10119911756749018713965376799211044556615579094364594923736162239653346274 fib(352): 16374361185569570355515148989381228747223756609038926650176124155306760699 fib(353): 26494272942318589069480525788592273303839335703403521573912286394960106973 fib(354): 42868634127888159424995674777973502051063092312442448224088410550266867672 fib(355): 69362907070206748494476200566565775354902428015845969798000696945226974645 fib(356): 112231541198094907919471875344539277405965520328288418022089107495493842317 fib(357): 181594448268301656413948075911105052760867948344134387820089804440720816962 fib(358): 293825989466396564333419951255644330166833468672422805842178911936214659279 fib(359): 475420437734698220747368027166749382927701417016557193662268716376935476241 fib(360): 769246427201094785080787978422393713094534885688979999504447628313150135520 fib(361): 1244666864935793005828156005589143096022236302705537193166716344690085611761 fib(362): 2013913292136887790908943984011536809116771188394517192671163973003235747281 fib(363): 3258580157072680796737099989600679905139007491100054385837880317693321359042 fib(364): 5272493449209568587646043973612216714255778679494571578509044290696557106323 fib(365): 8531073606282249384383143963212896619394786170594625964346924608389878465365 fib(366): 13803567055491817972029187936825113333650564850089197542855968899086435571688 fib(367): 22334640661774067356412331900038009953045351020683823507202893507476314037053 fib(368): 36138207717265885328441519836863123286695915870773021050058862406562749608741 fib(369): 58472848379039952684853851736901133239741266891456844557261755914039063645794 fib(370): 94611056096305838013295371573764256526437182762229865607320618320601813254535 fib(371): 153083904475345790698149223310665389766178449653686710164582374234640876900329 fib(372): 247694960571651628711444594884429646292615632415916575771902992555242690154864 fib(373): 400778865046997419409593818195095036058794082069603285936485366789883567055193 fib(374): 648473825618649048121038413079524682351409714485519861708388359345126257210057 fib(375): 1049252690665646467530632231274619718410203796555123147644873726135009824265250 fib(376): 1697726516284295515651670644354144400761613511040643009353262085480136081475307 fib(377): 2746979206949941983182302875628764119171817307595766156998135811615145905740557 fib(378): 4444705723234237498833973519982908519933430818636409166351397897095281987215864 fib(379): 7191684930184179482016276395611672639105248126232175323349533708710427892956421 fib(380): 11636390653418416980850249915594581159038678944868584489700931605805709880172285 fib(381): 18828075583602596462866526311206253798143927071100759813050465314516137773128706 fib(382): 30464466237021013443716776226800834957182606015969344302751396920321847653300991 fib(383): 49292541820623609906583302538007088755326533087070104115801862234837985426429697 fib(384): 79757008057644623350300078764807923712509139103039448418553259155159833079730688 fib(385): 129049549878268233256883381302815012467835672190109552534355121389997818506160385 fib(386): 208806557935912856607183460067622936180344811293149000952908380545157651585891073 fib(387): 337856107814181089864066841370437948648180483483258553487263501935155470092051458 fib(388): 546662665750093946471250301438060884828525294776407554440171882480313121677942531 fib(389): 884518773564275036335317142808498833476705778259666107927435384415468591769993989 fib(390): 1431181439314368982806567444246559718305231073036073662367607266895781713447936520 fib(391): 2315700212878644019141884587055058551781936851295739770295042651311250305217930509 fib(392): 3746881652193013001948452031301618270087167924331813432662649918207032018665867029 fib(393): 6062581865071657021090336618356676821869104775627553202957692569518282323883797538 fib(394): 9809463517264670023038788649658295091956272699959366635620342487725314342549664567 fib(395): 15872045382336327044129125268014971913825377475586919838578035057243596666433462105 fib(396): 25681508899600997067167913917673267005781650175546286474198377544968911008983126672 fib(397): 41553554281937324111297039185688238919607027651133206312776412602212507675416588777 fib(398): 67235063181538321178464953103361505925388677826679492786974790147181418684399715449 fib(399): 108788617463475645289761992289049744844995705477812699099751202749393926359816304226 fib(400): 176023680645013966468226945392411250770384383304492191886725992896575345044216019675 fib(401): 284812298108489611757988937681460995615380088782304890986477195645969271404032323901 fib(402): 460835978753503578226215883073872246385764472086797082873203188542544616448248343576 fib(403): 745648276861993189984204820755333242001144560869101973859680384188513887852280667477 fib(404): 1206484255615496768210420703829205488386909032955899056732883572731058504300529011053 fib(405): 1952132532477489958194625524584538730388053593825001030592563956919572392152809678530 fib(406): 3158616788092986726405046228413744218774962626780900087325447529650630896453338689583 fib(407): 5110749320570476684599671752998282949163016220605901117918011486570203288606148368113 fib(408): 8269366108663463411004717981412027167937978847386801205243459016220834185059487057696 fib(409): 13380115429233940095604389734410310117100995067992702323161470502791037473665635425809 fib(410): 21649481537897403506609107715822337285038973915379503528404929519011871658725122483505 fib(411): 35029596967131343602213497450232647402139968983372205851566400021802909132390757909314 fib(412): 56679078505028747108822605166054984687178942898751709379971329540814780791115880392819 fib(413): 91708675472160090711036102616287632089318911882123915231537729562617689923506638302133 fib(414): 148387753977188837819858707782342616776497854780875624611509059103432470714622518694952 fib(415): 240096429449348928530894810398630248865816766662999539843046788666050160638129156997085 fib(416): 388484183426537766350753518180972865642314621443875164454555847769482631352751675692037 fib(417): 628580612875886694881648328579603114508131388106874704297602636435532791990880832689122 fib(418): 1017064796302424461232401846760575980150446009550749868752158484205015423343632508381159 fib(419): 1645645409178311156114050175340179094658577397657624573049761120640548215334513341070281 fib(420): 2662710205480735617346452022100755074809023407208374441801919604845563638678145849451440 fib(421): 4308355614659046773460502197440934169467600804865999014851680725486111854012659190521721 fib(422): 6971065820139782390806954219541689244276624212074373456653600330331675492690805039973161 fib(423): 11279421434798829164267456416982623413744225016940372471505281055817787346703464230494882 fib(424): 18250487254938611555074410636524312658020849229014745928158881386149462839394269270468043 fib(425): 29529908689737440719341867053506936071765074245955118399664162441967250186097733500962925 fib(426): 47780395944676052274416277690031248729785923474969864327823043828116713025492002771430968 fib(427): 77310304634413492993758144743538184801550997720924982727487206270083963211589736272393893 fib(428): 125090700579089545268174422433569433531336921195894847055310250098200676237081739043824861 fib(429): 202401005213503038261932567177107618332887918916819829782797456368284639448671475316218754 fib(430): 327491705792592583530106989610677051864224840112714676838107706466485315685753214360043615 fib(431): 529892711006095621792039556787784670197112759029534506620905162834769955134424689676262369 fib(432): 857384416798688205322146546398461722061337599142249183459012869301255270820177904036305984 fib(433): 1387277127804783827114186103186246392258450358171783690079918032136025225954602593712568353 fib(434): 2244661544603472032436332649584708114319787957314032873538930901437280496774780497748874337 fib(435): 3631938672408255859550518752770954506578238315485816563618848933573305722729383091461442690 fib(436): 5876600217011727891986851402355662620898026272799849437157779835010586219504163589210317027 fib(437): 9508538889419983751537370155126617127476264588285666000776628768583891942233546680671759717 fib(438): 15385139106431711643524221557482279748374290861085515437934408603594478161737710269882076744 fib(439): 24893677995851695395061591712608896875850555449371181438711037372178370103971256950553836461 fib(440): 40278817102283407038585813270091176624224846310456696876645445975772848265708967220435913205 fib(441): 65172495098135102433647404982700073500075401759827878315356483347951218369680224170989749666 fib(442): 105451312200418509472233218252791250124300248070284575192001929323724066635389191391425662871 fib(443): 170623807298553611905880623235491323624375649830112453507358412671675285005069415562415412537 fib(444): 276075119498972121378113841488282573748675897900397028699360341995399351640458606953841075408 fib(445): 446698926797525733283994464723773897373051547730509482206718754667074636645528022516256487945 fib(446): 722774046296497854662108306212056471121727445630906510906079096662473988285986629470097563353 fib(447): 1169472973094023587946102770935830368494778993361415993112797851329548624931514651986354051298 fib(448): 1892247019390521442608211077147886839616506438992322504018876947992022613217501281456451614651 fib(449): 3061719992484545030554313848083717208111285432353738497131674799321571238149015933442805665949 fib(450): 4953967011875066473162524925231604047727791871346061001150551747313593851366517214899257280600 fib(451): 8015687004359611503716838773315321255839077303699799498282226546635165089515533148342062946549 fib(452): 12969654016234677976879363698546925303566869175045860499432778293948758940882050363241320227149 fib(453): 20985341020594289480596202471862246559405946478745659997715004840583924030397583511583383173698 fib(454): 33954995036828967457475566170409171862972815653791520497147783134532682971279633874824703400847 fib(455): 54940336057423256938071768642271418422378762132537180494862787975116607001677217386408086574545 fib(456): 88895331094252224395547334812680590285351577786328700992010571109649289972956851261232789975392 fib(457): 143835667151675481333619103454952008707730339918865881486873359084765896974634068647640876549937 fib(458): 232730998245927705729166438267632598993081917705194582478883930194415186947590919908873666525329 fib(459): 376566665397603187062785541722584607700812257624060463965757289279181083922224988556514543075266 fib(460): 609297663643530892791951979990217206693894175329255046444641219473596270869815908465388209600595 fib(461): 985864329041134079854737521712801814394706432953315510410398508752777354792040897021902752675861 fib(462): 1595161992684664972646689501703019021088600608282570556855039728226373625661856805487290962276456 fib(463): 2581026321725799052501427023415820835483307041235886067265438236979150980453897702509193714952317 fib(464): 4176188314410464025148116525118839856571907649518456624120477965205524606115754507996484677228773 fib(465): 6757214636136263077649543548534660692055214690754342691385916202184675586569652210505678392181090 fib(466): 10933402950546727102797660073653500548627122340272799315506394167390200192685406718502163069409863 fib(467): 17690617586682990180447203622188161240682337031027142006892310369574875779255058929007841461590953 fib(468): 28624020537229717283244863695841661789309459371299941322398704536965075971940465647510004531000816 fib(469): 46314638123912707463692067318029823029991796402327083329291014906539951751195524576517845992591769 fib(470): 74938658661142424746936931013871484819301255773627024651689719443505027723135990224027850523592585 fib(471): 121253296785055132210628998331901307849293052175954107980980734350044979474331514800545696516184354 fib(472): 196191955446197556957565929345772792668594307949581132632670453793550007197467505024573547039776939 fib(473): 317445252231252689168194927677674100517887360125535240613651188143594986671799019825119243555961293 fib(474): 513637207677450246125760857023446893186481668075116373246321641937144993869266524849692790595738232 fib(475): 831082459908702935293955784701120993704369028200651613859972830080739980541065544674812034151699525 fib(476): 1344719667586153181419716641724567886890850696275767987106294472017884974410332069524504824747437757 fib(477): 2175802127494856116713672426425688880595219724476419600966267302098624954951397614199316858899137282 fib(478): 3520521795081009298133389068150256767486070420752187588072561774116509929361729683723821683646575039 fib(479): 5696323922575865414847061494575945648081290145228607189038829076215134884313127297923138542545712321 fib(480): 9216845717656874712980450562726202415567360565980794777111390850331644813674856981646960226192287360 fib(481): 14913169640232740127827512057302148063648650711209401966150219926546779697987984279570098768737999681 fib(482): 24130015357889614840807962620028350479216011277190196743261610776878424511662841261217058994930287041 fib(483): 39043184998122354968635474677330498542864661988399598709411830703425204209650825540787157763668286722 fib(484): 63173200356011969809443437297358849022080673265589795452673441480303628721313666802004216758598573763 fib(485): 102216385354134324778078911974689347564945335253989394162085272183728832930964492342791374522266860485 fib(486): 165389585710146294587522349272048196587026008519579189614758713664032461652278159144795591280865434248 fib(487): 267605971064280619365601261246737544151971343773568583776843985847761294583242651487586965803132294733 fib(488): 432995556774426913953123610518785740738997352293147773391602699511793756235520810632382557083997728981 fib(489): 700601527838707533318724871765523284890968696066716357168446685359555050818763462119969522887130023714 fib(490): 1133597084613134447271848482284309025629966048359864130560049384871348807054284272752352079971127752695 fib(491): 1834198612451841980590573354049832310520934744426580487728496070230903857873047734872321602858257776409 fib(492): 2967795697064976427862421836334141336150900792786444618288545455102252664927332007624673682829385529104 fib(493): 4801994309516818408452995190383973646671835537213025106017041525333156522800379742496995285687643305513 fib(494): 7769790006581794836315417026718114982822736329999469724305586980435409187727711750121668968517028834617 fib(495): 12571784316098613244768412217102088629494571867212494830322628505768565710528091492618664254204672140130 fib(496): 20341574322680408081083829243820203612317308197211964554628215486203974898255803242740333222721700974747 fib(497): 32913358638779021325852241460922292241811880064424459384950843991972540608783894735358997476926373114877 fib(498): 53254932961459429406936070704742495854129188261636423939579059478176515507039697978099330699648074089624 fib(499): 86168291600238450732788312165664788095941068326060883324529903470149056115823592713458328176574447204501 fib(500): 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125 fib(501): 225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626 fib(502): 365014740723634211012237077906479355996081581501455497852747829366800199361550174096573645929019489792751 fib(503): 590606256885570541884749772942551428042092906415213688441386695785274827100237057501589632981816458291377 fib(504): 955620997609204752896986850849030784038174487916669186294134525152075026461787231598163278910835948084128 fib(505): 1546227254494775294781736623791582212080267394331882874735521220937349853562024289099752911892652406375505 fib(506): 2501848252103980047678723474640612996118441882248552061029655746089424880023811520697916190803488354459633 fib(507): 4048075506598755342460460098432195208198709276580434935765176967026774733585835809797669102696140760835138 fib(508): 6549923758702735390139183573072808204317151158828986996794832713116199613609647330495585293499629115294771 fib(509): 10597999265301490732599643671505003412515860435409421932560009680142974347195483140293254396195769876129909 fib(510): 17147923024004226122738827244577811616833011594238408929354842393259173960805130470788839689695398991424680 fib(511): 27745922289305716855338470916082815029348872029647830861914852073402148308000613611082094085891168867554589 fib(512): 44893845313309942978077298160660626646181883623886239791269694466661322268805744081870933775586567858979269 fib(513): 72639767602615659833415769076743441675530755653534070653184546540063470576806357692953027861477736726533858 fib(514): 117533612915925602811493067237404068321712639277420310444454241006724792845612101774823961637064304585513127 fib(515): 190173380518541262644908836314147509997243394930954381097638787546788263422418459467776989498542041312046985 fib(516): 307706993434466865456401903551551578318956034208374691542093028553513056268030561242600951135606345897560112 fib(517): 497880373953008128101310739865699088316199429139329072639731816100301319690449020710377940634148387209607097 fib(518): 805587367387474993557712643417250666635155463347703764181824844653814375958479581952978891769754733107167209 fib(519): 1303467741340483121659023383282949754951354892487032836821556660754115695648928602663356832403903120316774306 fib(520): 2109055108727958115216736026700200421586510355834736601003381505407930071607408184616335724173657853423941515 fib(521): 3412522850068441236875759409983150176537865248321769437824938166162045767256336787279692556577560973740715821 fib(522): 5521577958796399352092495436683350598124375604156506038828319671569975838863744971896028280751218827164657336 fib(523): 8934100808864840588968254846666500774662240852478275476653257837732021606120081759175720837328779800905373157 fib(524): 14455678767661239941060750283349851372786616456634781515481577509301997444983826731071749118079998628070030493 fib(525): 23389779576526080530029005130016352147448857309113056992134835347034019051103908490247469955408778428975403650 fib(526): 37845458344187320471089755413366203520235473765747838507616412856336016496087735221319219073488777057045434143 fib(527): 61235237920713401001118760543382555667684331074860895499751248203370035547191643711566689028897555486020837793 fib(528): 99080696264900721472208515956748759187919804840608734007367661059706052043279378932885908102386332543066271936 fib(529): 160315934185614122473327276500131314855604135915469629507118909263076087590471022644452597131283888029087109729 fib(530): 259396630450514843945535792456880074043523940756078363514486570322782139633750401577338505233670220572153381665 fib(531): 419712564636128966418863068957011388899128076671547993021605479585858227224221424221791102364954108601240491394 fib(532): 679109195086643810364398861413891462942652017427626356536092049908640366857971825799129607598624329173393873059 fib(533): 1098821759722772776783261930370902851841780094099174349557697529494498594082193250020920709963578437774634364453 fib(534): 1777930954809416587147660791784794314784432111526800706093789579403138960940165075820050317562202766948028237512 fib(535): 2876752714532189363930922722155697166626212205625975055651487108897637555022358325840971027525781204722662601965 fib(536): 4654683669341605951078583513940491481410644317152775761745276688300776515962523401661021345087983971670690839477 fib(537): 7531436383873795315009506236096188648036856522778750817396763797198414070984881727501992372613765176393353441442 fib(538): 12186120053215401266088089750036680129447500839931526579142040485499190586947405129163013717701749148064044280919 fib(539): 19717556437089196581097595986132868777484357362710277396538804282697604657932286856665006090315514324457397722361 fib(540): 31903676490304597847185685736169548906931858202641803975680844768196795244879691985828019808017263472521442003280 fib(541): 51621232927393794428283281722302417684416215565352081372219649050894399902811978842493025898332777796978839725641 fib(542): 83524909417698392275468967458471966591348073767993885347900493819091195147691670828321045706350041269500281728921 fib(543): 135146142345092186703752249180774384275764289333345966720120142869985595050503649670814071604682819066479121454562 fib(544): 218671051762790578979221216639246350867112363101339852068020636689076790198195320499135117311032860335979403183483 fib(545): 353817194107882765682973465820020735142876652434685818788140779559062385248698970169949188915715679402458524638045 fib(546): 572488245870673344662194682459267086009989015536025670856161416248139175446894290669084306226748539738437927821528 fib(547): 926305439978556110345168148279287821152865667970711489644302195807201560695593260839033495142464219140896452459573 fib(548): 1498793685849229455007362830738554907162854683506737160500463612055340736142487551508117801369212758879334380281101 fib(549): 2425099125827785565352530979017842728315720351477448650144765807862542296838080812347151296511676978020230832740674 fib(550): 3923892811677015020359893809756397635478575034984185810645229419917883032980568363855269097880889736899565213021775 fib(551): 6348991937504800585712424788774240363794295386461634460789995227780425329818649176202420394392566714919796045762449 fib(552): 10272884749181815606072318598530637999272870421445820271435224647698308362799217540057689492273456451819361258784224 fib(553): 16621876686686616191784743387304878363067165807907454732225219875478733692617866716260109886666023166739157304546673 fib(554): 26894761435868431797857061985835516362340036229353275003660444523177042055417084256317799378939479618558518563330897 fib(555): 43516638122555047989641805373140394725407202037260729735885664398655775748034950972577909265605502785297675867877570 fib(556): 70411399558423479787498867358975911087747238266614004739546108921832817803452035228895708644544982403856194431208467 fib(557): 113928037680978527777140672732116305813154440303874734475431773320488593551486986201473617910150485189153870299086037 fib(558): 184339437239402007564639540091092216900901678570488739214977882242321411354939021430369326554695467593010064730294504 fib(559): 298267474920380535341780212823208522714056118874363473690409655562810004906426007631842944464845952782163935029380541 fib(560): 482606912159782542906419752914300739614957797444852212905387537805131416261365029062212271019541420375173999759675045 fib(561): 780874387080163078248199965737509262329013916319215686595797193367941421167791036694055215484387373157337934789055586 fib(562): 1263481299239945621154619718651810001943971713764067899501184731173072837429156065756267486503928793532511934548730631 fib(563): 2044355686320108699402819684389319264272985630083283586096981924541014258596947102450322701988316166689849869337786217 fib(564): 3307836985560054320557439403041129266216957343847351485598166655714087096026103168206590188492244960222361803886516848 fib(565): 5352192671880163019960259087430448530489942973930635071695148580255101354623050270656912890480561126912211673224303065 fib(566): 8660029657440217340517698490471577796706900317777986557293315235969188450649153438863503078972806087134573477110819913 fib(567): 14012222329320380360477957577902026327196843291708621628988463816224289805272203709520415969453367214046785150335122978 fib(568): 22672251986760597700995656068373604123903743609486608186281779052193478255921357148383919048426173301181358627445942891 fib(569): 36684474316080978061473613646275630451100586901195229815270242868417768061193560857904335017879540515228143777781065869 fib(570): 59356726302841575762469269714649234575004330510681838001552021920611246317114918006288254066305713816409502405227008760 fib(571): 96041200618922553823942883360924865026104917411877067816822264789029014378308478864192589084185254331637646183008074629 fib(572): 155397926921764129586412153075574099601109247922558905818374286709640260695423396870480843150490968148047148588235083389 fib(573): 251439127540686683410355036436498964627214165334435973635196551498669275073731875734673432234676222479684794771243158018 fib(574): 406837054462450812996767189512073064228323413256994879453570838208309535769155272605154275385167190627731943359478241407 fib(575): 658276182003137496407122225948572028855537578591430853088767389706978810842887148339827707619843413107416738130721399425 fib(576): 1065113236465588309403889415460645093083860991848425732542338227915288346612042420944981983005010603735148681490199640832 fib(577): 1723389418468725805811011641409217121939398570439856585631105617622267157454929569284809690624854016842565419620921040257 fib(578): 2788502654934314115214901056869862215023259562288282318173443845537555504066971990229791673629864620577714101111120681089 fib(579): 4511892073403039921025912698279079336962658132728138903804549463159822661521901559514601364254718637420279520732041721346 fib(580): 7300394728337354036240813755148941551985917695016421221977993308697378165588873549744393037884583257997993621843162402435 fib(581): 11812286801740393957266726453428020888948575827744560125782542771857200827110775109258994402139301895418273142575204123781 fib(582): 19112681530077747993507540208576962440934493522760981347760536080554578992699648659003387440023885153416266764418366526216 fib(583): 30924968331818141950774266662004983329883069350505541473543078852411779819810423768262381842163187048834539906993570649997 fib(584): 50037649861895889944281806870581945770817562873266522821303614932966358812510072427265769282187072202250806671411937176213 fib(585): 80962618193714031895056073532586929100700632223772064294846693785378138632320496195528151124350259251085346578405507826210 fib(586): 131000268055609921839337880403168874871518195097038587116150308718344497444830568622793920406537331453336153249817445002423 fib(587): 211962886249323953734393953935755803972218827320810651410997002503722636077151064818322071530887590704421499828222952828633 fib(588): 342963154304933875573731834338924678843737022417849238527147311222067133521981633441115991937424922157757653078040397831056 fib(589): 554926040554257829308125788274680482815955849738659889938144313725789769599132698259438063468312512862179152906263350659689 fib(590): 897889194859191704881857622613605161659692872156509128465291624947856903121114331700554055405737435019936805984303748490745 fib(591): 1452815235413449534189983410888285644475648721895169018403435938673646672720247029959992118874049947882115958890567099150434 fib(592): 2350704430272641239071841033501890806135341594051678146868727563621503575841361361660546174279787382902052764874870847641179 fib(593): 3803519665686090773261824444390176450610990315946847165272163502295150248561608391620538293153837330784168723765437946791613 fib(594): 6154224095958732012333665477892067256746331909998525312140891065916653824402969753281084467433624713686221488640308794432792 fib(595): 9957743761644822785595489922282243707357322225945372477413054568211804072964578144901622760587462044470390212405746741224405 fib(596): 16111967857603554797929155400174310964103654135943897789553945634128457897367547898182707228021086758156611701046055535657197 fib(597): 26069711619248377583524645322456554671460976361889270266967000202340261970332126043084329988608548802627001913451802276881602 fib(598): 42181679476851932381453800722630865635564630497833168056520945836468719867699673941267037216629635560783613614497857812538799 fib(599): 68251391096100309964978446045087420307025606859722438323487946038808981838031799984351367205238184363410615527949660089420401 fib(600): 110433070572952242346432246767718285942590237357555606380008891875277701705731473925618404421867819924194229142447517901959200