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

100758 - 全部相等

Time Limit

100 毫秒

Memory Limit

128 MB

通过次数

25

提交次数

62

对一个n个元素的数组进行操作,每次可以对任意元素增加或减少d。最终的目标是让全部元素相等。

Input

第一行,有单个空格分隔的两个整数,分别表示n,d

接下来n行,每行一个整数a_i

对于100%的数据:

1\le n,d,a_i \le 10^4

Output

一行,一个整数,如果能让全部元素相等,输出所需步数;否则输出-1。

Examples

Input

2 2
2
10

Output

4

Input

2 7
6
7

Output

-1

Hint

`给定一个数列,中位数有这样的性质 :所有数与中位数之差的绝对值之和最小`