#include <iostream>
using namespace std;
typedef long long ll;
ll f[100];
ll n, mmax;
bool KTNT(int n) {
if (n < 2) return 0;
if (n < 4) return 1;
if (n % 2 == 0 | n % 3 == 0) return 0;
for (int i = 5;i*i <= n;i += 6)
if (n % i == 0 | n % (i+2) == 0)
return 0;
return 1;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin >> n;
f[1] = f[2] = 1;
for (int i = 3;;i++) {
f[i] = f[i-1] + f[i-2];
if (f[i] > n) break;
if (KTNT(f[i])) mmax = f[i];
}
cout << mmax;
}