#include<bits/stdc++.h>
using namespace std;
const int maxx=1000001;
long long minn[maxx],a[maxx],n,p;
const string ji="jump.inp";
const string jo="jump.out";
int tim;
ofstream fout(jo);
bool cmp(int x,int y)
{
return x>y;
}
void nhapfile()
{
ifstream fin(ji);
fin>>n>>p;
for(int i=1;i<=n;i++) fin>>a[i];
tim=0;
minn[0]=LLONG_MAX;
for(int i=1;i<=n;i++)
{
minn[i]=min(minn[i-1],a[i]);
cout<<minn[i]<<' ';
}
cout<<endl;
}
void xuly()
{
int j;
for(int i=1;i<=n;i++)
{
int x=a[i]-p;
j=lower_bound(minn+1,minn+n+1,x,cmp)-minn;
//cout<<minn[i]<<' ';
tim=max(tim,i-j);
cout<<i<<' '<<j<<' '<<x<<endl;
}
}
int main()
{
nhapfile();
xuly();
fout<<tim;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IG1heHg9MTAwMDAwMTsKbG9uZyBsb25nIG1pbm5bbWF4eF0sYVttYXh4XSxuLHA7CmNvbnN0IHN0cmluZyBqaT0ianVtcC5pbnAiOwpjb25zdCBzdHJpbmcgam89Imp1bXAub3V0IjsKaW50IHRpbTsKb2ZzdHJlYW0gZm91dChqbyk7CmJvb2wgY21wKGludCB4LGludCB5KQp7CiAgICByZXR1cm4geD55Owp9CnZvaWQgbmhhcGZpbGUoKQp7CiAgICBpZnN0cmVhbSBmaW4oamkpOwogICAgZmluPj5uPj5wOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspIGZpbj4+YVtpXTsKICAgIHRpbT0wOwogICAgbWlublswXT1MTE9OR19NQVg7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgICAgICB7CiAgICAgICAgICAgIG1pbm5baV09bWluKG1pbm5baS0xXSxhW2ldKTsKICAgICAgICAgICAgY291dDw8bWlubltpXTw8JyAnOwogICAgICAgIH0KICAgIGNvdXQ8PGVuZGw7Cn0Kdm9pZCB4dWx5KCkKewogICAgaW50IGo7CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgIHsKICAgICAgICBpbnQgeD1hW2ldLXA7CiAgICAgICAgaj1sb3dlcl9ib3VuZChtaW5uKzEsbWlubituKzEseCxjbXApLW1pbm47CiAgICAgICAgLy9jb3V0PDxtaW5uW2ldPDwnICc7CiAgICAgICAgdGltPW1heCh0aW0saS1qKTsKICAgICAgICBjb3V0PDxpPDwnICc8PGo8PCcgJzw8eDw8ZW5kbDsKICAgIH0KfQppbnQgbWFpbigpCnsKICAgIG5oYXBmaWxlKCk7CiAgICB4dWx5KCk7CiAgICBmb3V0PDx0aW07Cn0K