import numpy as np

InputData1 = input()
InputData2 = input()

Lines = [data.split(" ") for data in [InputData1, InputData2]]
InputNumbers = [int(numbers) for line in Lines for numbers in line]

N = InputNumbers[0]
D = InputNumbers[1]
A = InputNumbers[2:]
# print(N, D, A)


def NetworkMatrix(Num, vector):
    # matrix = np.empty((Num, Num))
    matrix = [[0]*Num for i in range(Num)]

    for i in range(Num):
        # ai = np.empty(Num)
        ai = [0]*Num
        for j in range(Num):
            if i < j:
                aij = (j-i)*D + vector[i] + vector[j]
            else:
                aij = 0
            ai[j] = aij
        matrix[i] = ai
    return matrix

def Explore(Num, matrix):
    ResultMatrix = matrix
    for i in range(Num):
        # ResultVector[i] = min(matrix.T[i])
        for j in range(Num):
            for k in range(Num):
                # if i < j and j < k and min([matrix[i,j], matrix[j,k], matrix[i,k]]) != 0:
                if i < j and j < k and min([matrix[i][j], matrix[j][k], matrix[i][k]]) != 0:                
                    # if matrix[i,j] >= matrix[j,k] and matrix[i,j] >= matrix[i,k]:
                    if matrix[i][j] >= matrix[j][k] and matrix[i][j] >= matrix[i][k]:
                        # ResultMatrix[i,j] = 0
                        ResultMatrix[i][j] = 0
                    # elif matrix[j,k] > matrix[i,j] and matrix[j,k] >= matrix[i,k]:
                    elif matrix[j][k] > matrix[i][j] and matrix[j][k] >= matrix[i][k]:
                        # ResultMatrix[j,k] = 0
                        ResultMatrix[j][k] = 0
                    # elif matrix[i,k] > matrix[i,j] and matrix[i,k] > matrix[j,k]:
                    elif matrix[i][k] > matrix[i][j] and matrix[i][k] > matrix[j][k]:
                        # ResultMatrix[i,k] = 0
                        ResultMatrix[i][k] = 0
    # if np.sum(ResultMatrix != matrix) != 0:
    if ResultMatrix != matrix:
        ResultMatrix = Explore(Num, matrix)
    return ResultMatrix

    



Matrix = NetworkMatrix(N, A)
# print(Matrix)
# Raveled = Matrix.ravel()
# Answer = sum(sorted(Raveled)[:N-1])
AnswerMatrix=Explore(N, Matrix)
# print(AnswerMatrix)
Amount = [sum(_) for _ in AnswerMatrix]
Amount = sum(Amount)
print(int(Amount))