Олимпиадный тренинг

Задача . B. Пингвин Поло и матрица


У маленького пингвина Поло есть матрица n × m, состоящая из целых чисел. Пронумеруем строки матрицы от 1 до n сверху вниз, а столбцы от 1 до m слева направо. Обозначим через aij элемент матрицы, стоящий на пересечении i-ой строки и j-го столбца.

За один шаг пингвин может добавить к любому элементу матрицы или отнять от любого элемента матрицы число d. Найдите минимальное количество шагов, которое требуется для того, чтобы все элементы матрицы были равны между собой. Если описанное невозможно, сообщите об этом.

Входные данные

В первой строке заданы три целых числа n, m и d (1 ≤ n, m ≤ 100, 1 ≤ d ≤ 104) — размеры матрицы и параметр d. В следующих n строках записана матрица: j-тое целое число в i-той строке — элемент матрицы aij (1 ≤ aij ≤ 104).

Выходные данные

В единственной строке выведите целое число — минимальное количество шагов, которое требуется для того, чтобы все элементы матрицы были равны между собой. Если описанное невозможно, выведите «-1» (без кавычек).


Примеры
Входные данныеВыходные данные
1 2 2 2
2 4
6 8
4
2 1 2 7
6 7
-1

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя