#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int longestConsecutive(vector<int>& nums) {
unordered_set<int> s(nums.begin(), nums.end());
if (nums.size() == 0) {
return 0;
}
int longest = 1;
for (auto it : s) {
if (s.find(it - 1) == s.end()) {
int cnt = 1;
int x = it;
while (s.find(x + 1) != s.end()) {
cnt++;
x = x + 1;
}
longest = max(longest, cnt);
}
}
return longest;
}
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
cout << longestConsecutive(nums);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBsb25nZXN0Q29uc2VjdXRpdmUodmVjdG9yPGludD4mIG51bXMpIHsKCiAgICB1bm9yZGVyZWRfc2V0PGludD4gcyhudW1zLmJlZ2luKCksIG51bXMuZW5kKCkpOwoKICAgIGlmIChudW1zLnNpemUoKSA9PSAwKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgaW50IGxvbmdlc3QgPSAxOwoKICAgIGZvciAoYXV0byBpdCA6IHMpIHsKICAgICAgICBpZiAocy5maW5kKGl0IC0gMSkgPT0gcy5lbmQoKSkgewogICAgICAgICAgICBpbnQgY250ID0gMTsKICAgICAgICAgICAgaW50IHggPSBpdDsKCiAgICAgICAgICAgIHdoaWxlIChzLmZpbmQoeCArIDEpICE9IHMuZW5kKCkpIHsKICAgICAgICAgICAgICAgIGNudCsrOwogICAgICAgICAgICAgICAgeCA9IHggKyAxOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsb25nZXN0ID0gbWF4KGxvbmdlc3QsIGNudCk7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBsb25nZXN0Owp9CgppbnQgbWFpbigpIHsKICAgIGludCBuOwogICAgY2luID4+IG47CgogICAgdmVjdG9yPGludD4gbnVtcyhuKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNpbiA+PiBudW1zW2ldOwogICAgfQoKICAgIGNvdXQgPDwgbG9uZ2VzdENvbnNlY3V0aXZlKG51bXMpOwoKICAgIHJldHVybiAwOwp9