近期发现部分用户尝试利用判题系统的评测信息进行作弊,严重破坏了公平竞争的环境。为维护良好的交流与学习氛围,已对判题机进行了优化,当程序遇到测试点不通过时会立即返回而不评测更多测试点;并且延长提交间隔为60秒。作弊行为不仅违背了学习的初衷,还侵害了其他用户的公平权益,希望所有用户能够遵守规范,专注算法与思维能力的提升。对于恶意多次尝试的用户,我们将保留进一步处置的权利。 —— Administrator

100426 - 递增数列

时间限制

20 毫秒

内存限制

128 MB

通过次数

6

提交次数

15

把一个数列中一个数增加d记为一次操作,将一个数列变为递增数列,最少需要多少次操作?

输入

第一行,有单个空格分隔两个正整数nd,分别表示数列长度和用来增加的数。

第二行,有单个空格分隔的n个正整数 {a_1},{a_2}..{a_n} 依次表示数列中的数字。

对于100%的数据:

1\le n \le 10^3

1\le {a_1},{a_2}..{a_n} \le 10^9

1\le d \le 10

输出

一行,一个整数,表示所需最少操作次数。

样例

输入

3 2
3 1 4

输出

3