#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i = 0; i < (n);i++)
#define sz(x) int(x.size())
typedef long long ll;
typedef pair<int,int> P;

int main(){
  vector<ll> a(5);
  rep(i,5) cin >> a[i];
  map<int,ll> mp;
  set<ll> st;
  mp[0] = 0;
  mp[1] = 1;
  auto fib = [&](auto& f, int n)->ll{
    if (mp.count(n)) return mp[n];
    return mp[n] = f(f,n-1) + f(f,n-2);
  };
  fib(fib,100);
  reverse(a.begin(), a.end());
  int res = 0;
  int idx = 0;
  int cnt = 0;
  for (auto e : mp) {
    if (idx == 5) break;
    if (e.second != a[idx]) res = max(res, cnt), cnt = 0;
    else cnt++, idx++;
  }
  res = max(res, cnt);
  mp.erase(1);
  cnt = 0;
  idx = 0;
  for (auto e : mp) {
    if (idx == 5) break;
    if (e.second != a[idx]) res = max(res, cnt), cnt = 0;
    else cnt++, idx++;
  }
  res = max(res, cnt);
  cout << res << endl;
  return 0;
}