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
#11A - Increasing Sequence
#We take two integers as input:
# n - the length of the sequence
# d - the number the user wants to add when modifying the sequence terms
n, d = map(int, input().split())
#Next, we take the sequence itself
lst = list(map(int, input().split()))
#We will count the moves using the "moves" variable 
moves = 0
#We iterate through the sequence:
for i in range(1, len(lst)):
    #If the current element is bigger than the previous one:
    if lst[i] <= lst[i - 1]:
        #We calculate how many timesthe current element
        #needs to be added to (with d), in order to make it bigger,
        #but leave the sequence alone, to rest in peace :) 
        #since we are actually interested in nr of moves, not doing them
        times = (lst[i - 1] - lst[i]) // d + 1
        lst[i] += times * d
        #Each time we would add d, we make +1 move            
        moves += times
print(moves)