#include <bits/stdc++.h>
using namespace std;
int64_t maxim[200001];
int main ()
{
ios :: sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int lungime , limita;
cin >> lungime >> limita;
int inceput = 0;
for (int indice = 1 , valoare ; indice <= lungime ; indice++)
{
cin >> valoare;
if (maxim[lungime] < valoare - limita)
{
for (int __indice = lungime ; __indice > inceput ; __indice--)
{ maxim[__indice] = maxim[__indice - 1] + limita; }
inceput++;
continue;
}
if (maxim[inceput] >= valoare - limita)
{
for (int __indice = lungime ; __indice > inceput ; __indice--)
{ maxim[__indice] = maxim[__indice - 1] + limita; }
maxim[inceput] = valoare;
continue;
}
int locatie = inceput;
while (maxim[locatie] < valoare - limita)
{ locatie++; }
for (int __indice = lungime ; __indice > inceput ; __indice--)
{ maxim[__indice] = maxim[__indice - 1] + limita; }
maxim[locatie] = valoare;
inceput++;
}
cout << inceput;
return 0;
}