#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;
for (int indice = 1 , valoare ; indice <= lungime ; indice++)
{
cin >> valoare;
int __indice = lungime;
while (__indice && maxim[__indice - 1] >= valoare - limita)
{ maxim[__indice] = maxim[__indice - 1] + limita; __indice--; }
if (maxim[__indice] >= valoare - limita)
{ maxim[__indice--] = valoare; }
while (__indice > 0)
{ maxim[__indice] = maxim[__indice - 1] + limita; __indice--; }
if (__indice == 0)
{ maxim[0] = INT64_MIN; }
}
int necesar = 0;
while (maxim[necesar] < 0)
{ necesar++; }
cout << necesar;
return 0;
}