#include <bits/stdc++.h>
using namespace std;
using ll = long long;
bool csc(ll x, const unordered_set<ll> &st) {
for (auto y : st) {
ll sum = x + y;
if (sum % 2 == 0) {
long long mid = sum / 2;
if (st.count(mid)) return true;
}
}
return false;
}
int maxlen(const vector<long long> &a) {
unordered_set<ll> st;
int l = 0, ans = 0;
for (int r = 0; r < (int)a.size(); r++) {
while (st.count(a[r])) {
st.erase(a[l]);
l++;
}
while (csc(a[r], st)) {
st.erase(a[l]);
l++;
}
st.insert(a[r]);
ans = max(ans, r - l + 1);
}
return ans;
}
int main(){
ll n;
cin >> n;
vector<ll> a(n+1);
for( int i = 1 ; i<= n ; i++ ) cin >> a[i];
cout << maxlen(a);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwpib29sIGNzYyhsbCB4LCBjb25zdCB1bm9yZGVyZWRfc2V0PGxsPiAmc3QpIHsKICAgIGZvciAoYXV0byB5IDogc3QpIHsKICAgICAgICBsbCBzdW0gPSB4ICsgeTsKICAgICAgICBpZiAoc3VtICUgMiA9PSAwKSB7CiAgICAgICAgICAgIGxvbmcgbG9uZyBtaWQgPSBzdW0gLyAyOwogICAgICAgICAgICBpZiAoc3QuY291bnQobWlkKSkgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CmludCBtYXhsZW4oY29uc3QgdmVjdG9yPGxvbmcgbG9uZz4gJmEpIHsKICAgIHVub3JkZXJlZF9zZXQ8bGw+IHN0OwogICAgaW50IGwgPSAwLCBhbnMgPSAwOwogICAgZm9yIChpbnQgciA9IDA7IHIgPCAoaW50KWEuc2l6ZSgpOyByKyspIHsKICAgICAgICB3aGlsZSAoc3QuY291bnQoYVtyXSkpIHsKICAgICAgICAgICAgc3QuZXJhc2UoYVtsXSk7CiAgICAgICAgICAgIGwrKzsKICAgICAgICB9CiAgICAgICAgd2hpbGUgKGNzYyhhW3JdLCBzdCkpIHsKICAgICAgICAgICAgc3QuZXJhc2UoYVtsXSk7CiAgICAgICAgICAgIGwrKzsKICAgICAgICB9CiAgICAgICAgc3QuaW5zZXJ0KGFbcl0pOwogICAgICAgIGFucyA9IG1heChhbnMsIHIgLSBsICsgMSk7CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CmludCBtYWluKCl7CiAgICBsbCBuOwogICAgY2luID4+IG47CiAgICB2ZWN0b3I8bGw+IGEobisxKTsKICAgIGZvciggaW50IGkgPSAxIDsgaTw9IG4gOyBpKysgKSBjaW4gPj4gYVtpXTsKICAgIGNvdXQgPDwgbWF4bGVuKGEpOwogICAgcmV0dXJuIDA7Cn0KCg==