#include #define FOR(i, a, n) for(int i = (int)(a); i < (int)(n); ++i) #define REP(i, n) FOR(i, 0, n) #define all(a) a.begin(),a.end() #define pb push_back typedef unsigned long long llu; typedef long long ll; typedef long double ld; using namespace std; int main(){ int n, aux, res = 0; scanf("%d", &n); vector idx, sum; map num; map::iterator it, rit, zit; REP(i, n){ cin >> aux; it = num.find(aux); if(it == num.end()) num.insert(make_pair(aux,1)); else it->second++; } for(it = num.begin(); it != num.end(); it++){ idx.pb(it->first); sum.pb(it->second); } REP(i, idx.size()){ int a = 0, b = 0; if(i && abs(idx[i]-idx[i-1]) <= 1) a = sum[i-1]; if(i != idx.size()-1 && abs(idx[i+1]-idx[i]) <= 1) b = sum[i+1]; res = max(res, (sum[i] + max(a,b))); } cout << res << endl; return 0; }