A sequence a0, a1, ..., at - 1 is called increasing if ai - 1 < ai for each i: 0 < i < t.

You are given a sequence b0, b1, ..., bn - 1 and a positive integer d. In each move you may choose one element of the given sequence and add d to it. What is the least number of moves required to make the given sequence increasing?

Input

The first line of the input contains two integer numbers n and d (2 ≤ n ≤ 2000, 1 ≤ d ≤ 106). The second line contains space separated sequence b0, b1, ..., bn - 1 (1 ≤ bi ≤ 106).

Output

Output the minimal number of moves needed to make the sequence increasing.

Examples

Input

4 2
1 3 3 2


Output

3
from math import ceil
def number_of_operations():
    # n is the number of terms in sequence
    # d is the number to be added to elements in order to make increasing sequence
    n, d = map(int, input().strip().split())

    sequence = list(map(int, input().strip().split()))

    count = 0

    for term_index in range(n - 1):
        # if next term is smaller than previous
        if sequence[term_index + 1] < sequence[term_index]:
            # add nr of operations
            count += ceil((sequence[term_index] - sequence[term_index + 1]) / d)
            # give new value to next term
            sequence[term_index + 1] += ceil((sequence[term_index] - sequence[term_index + 1]) / d) * d
        # if next term is equal to previous
        if sequence[term_index + 1] == sequence[term_index]:
            # nr of operations is 1
            count += 1
            sequence[term_index + 1] += d
    return count


print(number_of_operations())