#include <iostream>
#include <cassert>

using namespace std;

const long long MAXVAL = (1LL << 62);

int solve(long long);

int main() {
	long long x;
	cin >> x;
    assert(1 <= x && x <= MAXVAL);
	cout << solve(x);
	cout << '\n';
	return 0;
}

int solve(long long x) {
    if(x == 1)
		return 0;
    int n = 1;
    unsigned long long a = 0, b = 1;
    while(a < x - b) {
        unsigned long long c = a + b;
        a = b;
        b = c;
        ++ n;
    }
	return n;
}