#include #include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = unsigned; using u64 = unsigned long long; using namespace std; template constexpr T INF = ::numeric_limits::max()/32*15+208; int main() { vector vv(5); for (auto &&j : vv) scanf("%lld", &j); reverse(vv.begin(),vv.end()); vector v(70, 1); for (int i = 2; i < 70; ++i) { v[i] = v[i-1]+v[i-2]; } int ans = 0; for (int len = 1; len <= 5; ++len) { for (int i = 0; i+len < 70; ++i) { int ok = 1; for (int j = 0; j < len; ++j) { if(v[i+j] != vv[j]) ok = 0; } if(ok) ans = max(ans, len); } } cout << ans << "\n"; return 0; }