/////////////////////// All Is Well ///////////////////////// #include #define FOR(i, s, e) for(int i=s; i #define padd pair #define pall pair #define fr first #define sc second #define CASE(n) printf("Case %d: ",++n) #define CASE_COUT cout<<"Case "<<++cas<<": " #define inf 1000000000 #define EPS 1e-9 using namespace std; //8 way moves //int fx[]={0,0,1,-1,1,1,-1,-1}; //int fy[]={1,-1,0,0,1,-1,1,-1}; //knight moves //int fx[]={-2,-2,-1,-1,1,1,2,2}; //int fy[]={-1,1,-2,2,-2,2,-1,1}; //Bit operation int SET(int n,int pos){ return n=n | (1<> x; return x; } string int2str(int a) { stringstream ss; ss << a; string str = ss.str(); return str; } string char2str(char a) { stringstream ss; ss << a; string str = ss.str(); return str; } ll bigMod(ll n,ll power,ll MOD) { if(power==0) return 1; if(power%2==0) { ll ret=bigMod(n,power/2,MOD); return ((ret%MOD)*(ret%MOD))%MOD; } else return ((n%MOD)*(bigMod(n,power-1,MOD)%MOD))%MOD; } ll modInverse(ll n,ll MOD) { return bigMod(n,MOD-2,MOD); } int POW(int x, int y) { int res= 1; for ( ; y ; ) { if ( (y&1) ) { res*= x; } x*=x; y>>=1; } return res; } int inverse(int x) { dd p=((dd)1.0)/x; return (p)+EPS; } int gcd(int a, int b) { while(b) b^=a^=b^=a%=b; return a; } int nC2(int n) { return n*(n-1)/2; } ll MOD(ll n,ll mod) { if(n>=0) return n%mod; else if(-n==mod) return 0; else return mod+(n%mod); } int data[105],n,val[105]; int main() { int t,cas=0; getint(n); mem(val,0); loop(i,n) { getint(data[i]); val[data[i]]++; } int ans=0; for(int i=1;i<=99;i++) { ans=max(ans,val[i]+val[i+1]); } pf("%d\n",ans); return 0; }