#include <bits/stdc++.h>
using namespace std;
map<int, int> m;
map<pair<int, int>, int> m2;
int n, a[1010], ans = -1;
void dfs(int x, int y, int l) {
  if (m[x + y] == 0) {
    if (l > ans) ans = l;
    return;
  }
  m[x + y]--;
  dfs(y, x + y, l + 1);
  m[x + y]++;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    m[a[i]]++;
  }
  sort(a + 1, a + n + 1);
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      if (i == j) continue;
      if (m2[make_pair(a[i], a[j])] == 1) continue;
      m2[make_pair(a[i], a[j])] = 1;
      m[a[i]]--;
      m[a[j]]--;
      dfs(a[i], a[j], 2);
      m[a[i]]++;
      m[a[j]]++;
    }
  }
  printf("%d", ans);
  return 0;
}
