#include using namespace std; typedef pair pii; typedef pair pll; typedef vector vi; typedef pair pdd; typedef vector vll; typedef vector vpii; typedef vector vpll; typedef vector vpdd; #define f first #define s second #define mp make_pair #define pb push_back #define MOD 1000000007 #define ll long long ll GCD(ll a, ll b) { return b? GCD(b,a%b) : a; } bool chk(string first, string second) { string t1 = first + second; string t2 = second + first; return t1 < t2; } struct sort_pred { bool operator()(const pair &left, const pair &right) { return left.second < right.second; } }; long long POW(long long Base, long long Exp) { long long y,ret=1; y=Base; while(Exp) { if(Exp&1) ret=(ret*y)%MOD; y = (y*y)%MOD; Exp/=2; } return ret%MOD; } vll A,B,C,D,Res,Mark; string str2,str1,s1,s2; set st; stack chlo; vpll Rec; string ItoS(ll n) { ll num = n; ll tmp; string ans =""; while(num) { tmp = num%10; ans = ans + (char)('0'+tmp); num/=10; } reverse(ans.begin(),ans.end()); return ans; } int cont(ll n) { ll count = 0; while(n) { count += n & 1; n >>= 1; } return count; } set At,Bt; set::iterator itr; vector kyu,andar,bahar; #define itfr(it,stl) for(it=stl.begin();it!=stl.end();it++) map Reg; map ::iterator it; vector Graph; ll mark[107]; int main() { ll i,j,k,l,m,n,x,y,z,t,tmp1,tmp2,tmp3,ind,Max,d1,d2; //cin>>t; //while(t--) { cin>>n; A.resize(n); B.resize(101); for(i=0; i>A[i]; mark[A[i]]++; } z = 0; for(i=1; i<100; i++) { z = max(z, mark[i] + mark[i+1]); } cout<