C - Secuencia creciente

Languages: C, C++, Java, Pascal, Python, Tiger, JavaScript, Haskell, C#
Time & Memory limits: (details)

Una secuencia $A = \{ a_0, a_1, ..., a_n \}$ es creciente si $a_{i-1} \lt a_i$ para cada $i$: $0 \lt i \leq n$. Se tiene una secuencia $B = \{ b_0, b_1, ..., b_n \}$ y un número positivo $D$ y se define una operación como tomar un elemento de la secuencia y añadirle $D$. ¿Cuál es el la menor cantidad de operaciones que se tienen que realizar para convertir a $B$ en creciente?

Input

En la primera línea se tiene dos entero $N$ y $D$ $(2 \leq N \leq 2000, 1 \leq D \leq 10^6)$ separados por un espacio. La segunda línea tiene una secuencia de $N$ enteros $b_i$ $(1 \leq b_i \leq 10^6)$ separados por un espacio.

Output

Se debe de imprimir en una línea la menor cantidad de operaciones para convertir la secuencia de entrada en una secuencia creciente.

Sample test(s)

Input
4 2 1 3 3 2
Output
3