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

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.HashMap;
import java.util.stream.StreamSupport;

/**
 * Created by harish.sharma on 10/9/16.
 */
public class A1 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] mn = br.readLine().split(" ");
        int m = Integer.parseInt(mn[0]);
        int t = Integer.parseInt(mn[1]);
        int[] ar = new int[m];
        String[] a = br.readLine().split(" ");
        for (int i = 0; i < m; i++) {
            ar[i] = Integer.parseInt(a[i]);
        }
        int sum = 0;
        for (int i = 1; i < m; i++) {
            int cur = ar[i];
            int prev = ar[i - 1];
            if (cur > prev) {
                continue;
            } else {
                int diff = prev - cur;
                int mod = diff / t + 1;
                sum += mod;
                ar[i] += mod * t;
            }
        }
        System.out.println(sum);
        br.close();
    }
}
