/** The Fibonacci sequence is defined by the recurrence relation:
Fn = Fn1 + Fn2, where F1 = 1 and F2 = 1.
Hence the first 12 terms will be:
F1 = 1
F2 = 1
F3 = 2
F4 = 3
F5 = 5
F6 = 8
F7 = 13
F8 = 21
F9 = 34
F10 = 55
F11 = 89
F12 = 144
The 12th term, F12, is the first term to contain three digits.
What is the first term in the Fibonacci sequence to contain 1000 digits? */

#include "0.hpp"
#include "lib/lint.cpp"

void fib_matrix(unsigned int maxnum);

int main()
{
  unsigned int max;
  cin >> max;
  
  //for(int i = 1; i <= max; i++) cout << fib_recursive(i) << endl;
  fib_matrix(max);
  
  return 0;
}


void fib_matrix(unsigned int maxnum)
{
  string first = "1";
  lint fib[2];
  fib[0] = first;
  fib[1] = first;
  //for(int i = 1; i <= maxnum; i++) {
  int i = 1;
  while(1) {
    //cout << fib[i % 2].getd() << endl;
    if(fib[i % 2].getd().size() >= maxnum) break;
    if(i >= 2) fib[(i + 1) % 2] = fib[(i + 1) % 2] + fib[i % 2];
    i++;
  }
  //cout << fib[maxnum % 2].getd() << endl;
  cout << i << endl;
}