#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } const long long MAX = 5100000; const long long INF = 1LL << 60; const long long mod = 1000000007LL; //const long long mod = 998244353LL; using namespace std; typedef unsigned long long ull; typedef long long ll; int main() { /* cin.tie(nullptr); ios::sync_with_stdio(false); */ vector fibo(80); fibo[0] = 1; fibo[1] = 1; for (ll i = 2; i < 80; i++) { fibo[i] = fibo[i - 1] + fibo[i - 2]; //cout << fibo[i] << endl; } ll a[5]; cin >> a[4] >> a[3] >> a[2] >> a[1] >> a[0]; if (a[0] == 1 && a[1] == 2) { ll cnt = 0; for (ll i = 1; i <= 5; i++) { if (a[i - 1] == fibo[i]) cnt++; else break; } cout << cnt << endl; } else { if (binary_search(fibo.begin(), fibo.end(), a[0])) { auto itr = lower_bound(fibo.begin(), fibo.end(), a[0]); ll cnt = 1; for (ll i = 1; i < 5; i++) { itr++; if (*itr == a[i]) cnt++; else break; } cout << cnt << endl; } else { puts("0"); } } return 0; }