#include <bits/stdc++.h>
using namespace std;
#define int long long
const int inf=1e18;
int lis(vector<int> v){
int n=v.size();
vector<int> d(n,inf);
d[0]=-inf;
int ans=0;
for(int x:v){
int i=lower_bound(d.begin(),d.end(),x)-d.begin();
d[i]=x;
ans=max(ans,i);
}
return ans;
}
signed main(){
int n,x;cin>>n>>x;
vector<int> v(n);
for(int i=0;i<n;i++)cin>>v[i];
int ans=0;
for(int m=0;m<=n;m++){
vector<int> a;
for(int i=0;i<m;i++)a.push_back(v[i]);
for(int i=m;i<n;i++)a.push_back(v[i]+x);
ans=max(ans,lis(a));
}
cout<<ans<<'\n';
}