矩阵

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

给定一个 n x m 的矩阵,每次操作,你可以对矩阵的某一个元素加上或减去一个整数值 d,求最小的操作次数,使得矩阵的所有元素都相同,如果不能实现,输出 -1

Input

 

输入包含多组测试数据,对于每组测试数据:

第一行为三个整数 nmd1 n, m 500, 1 d 10000)。

接下来 n 行每行为 m 个整数,第 i 行第 j 个整数为 Aij (1 Aij 108)

n=m=d=0 时代表输入结束。

Output

 

对于每组测试数据,输出一个整数,为最小操作次数,如果不能实现,输出 -1

注意:64-bit 整型请使用 long long 来定义,并且使用 %lld cincout 来输入输出,请不要使用 __int64 %I64d

Sample Input

2 2 2
2 4
6 8
1 2 7
6 7
0 0 0

Sample Output

4
-1

Hint

 

Source

“师创杯”山东理工大学第五届ACM程序设计竞赛