← Home
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
)

func abs(x int) int {
	if x < 0 {
		return -x
	}
	return x
}

func main() {
	in := bufio.NewReader(os.Stdin)
	var n, m, d int
	if _, err := fmt.Fscan(in, &n, &m, &d); err != nil {
		return
	}

	size := n * m
	a := make([]int, size)
	for i := 0; i < size; i++ {
		fmt.Fscan(in, &a[i])
	}

	rem := a[0] % d
	for i := 1; i < size; i++ {
		if a[i]%d != rem {
			fmt.Println("-1")
			return
		}
	}

	sort.Ints(a)
	median := a[size/2]
	ans := 0
	for _, val := range a {
		ans += abs(val-median) / d
	}

	fmt.Println(ans)
}