#include <bits/stdc++.h>
using namespace std;
long long int a[1001];
map<long long int, int> used;
int ans = 0;
map<pair<long long int, long long int>, bool> us;
void rec(long long int x, long long int y, int kol) {
  ans = max(ans, kol);
  long long int z = x + y;
  if (z > 1000000000 || z < -1000000000) return;
  x = y;
  y = z;
  if (used[z] > 0) {
    used[z]--;
    rec(x, y, kol + 1);
    used[z]++;
  }
}
int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; ++i) {
    cin >> a[i];
    used[a[i]]++;
  }
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= n; ++j) {
      if (us[make_pair(a[i], a[j])] || i == j) continue;
      us[make_pair(a[i], a[j])] = true;
      used[a[i]]--;
      used[a[j]]--;
      rec(a[i], a[j], 2);
      used[a[i]]++;
      used[a[j]]++;
    }
  }
  cout << ans << endl;
  return 0;
}
