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
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//package cf11;

import java.util.*;
import java.io.*;
import java.lang.*;
import java.math.*;

public class Main {


    StringTokenizer st ;
    BufferedReader bf;

    public static void main(String[] args) throws IOException{
        Main ob = new Main();
        ob.f1();
        System.exit(0);
    }

    public void f1()throws IOException{
        bf = new BufferedReader(new InputStreamReader(System.in));
        String ss = new String();

        st = new StringTokenizer( ss = bf.readLine().trim() );
        int N = nextI(st.nextToken());
        int D = nextI(st.nextToken());

        
        int i=0;

        st = new StringTokenizer( ss = bf.readLine().trim() );

        int res=0;
        int moves=0;

        int prev =nextI(st.nextToken());

        while( st.hasMoreTokens() ){
            int curr = nextI( st.nextToken() );
            if(prev >= curr){
                moves = ( (prev-curr)/D ) +1 ;
                curr = curr + (moves*D);
                res+= moves;
            }

            prev = curr;

        }

        /*
        
        for(i=1;i<N;i++){
            if( B[i-1] < B[i] )continue;
            moves =  ( ( (B[i-1]-B[i])/D ) +1 ) ;
            
            B[i] = B[i]+ (moves*D) ;

            res+=moves;
        }
        */
        System.out.println(res);
        return ;
    }

    public int nextI(String ss){
        return Integer.parseInt(ss);
    }

}
