#include <iostream>
#include <vector>
using namespace std;

int main() {
	vector<unsigned long long int> fib;
	fib.reserve(1000);
	fib.push_back(0);
	fib.push_back(1);

	unsigned long long int x;
	cin >> x;

	for (int i = 0; fib.size() < 99998; i++) {
		fib.push_back(fib[fib.size() - 1] + fib[fib.size() - 2]);
		/*if (fib.back() > 9223372036854775807 ||fib.back() == 0) {
			cout << "2^63-1"<<' '<<fib.back()<<' '<< fib.size(); return 0;
		}*/
		if (fib.back() >= x) { 
			cout << fib.size() - 2; return 0; }
	}

	//cout <<endl<< fib.back()<<' '<<fib.size();
	return 0;
}