#d1807. 矩阵操作

矩阵操作

矩阵操作

题目来源

戳我

题目描述

有一个n×mn \times m的整数矩阵A, 其中每个数字范围都在[0,k)[0, k)

对于一次操作, 你可以执行下列两种操作中的一种

  1. 对于任意一行ii, 你可以把第ii行中的所有数Ai,tA_{i, t}变为(Ai,t+1) mod k(A_{i, t}+1) \ mod \ k

  2. 对于任意一列jj, 你可以把第jj列中的所有数At,jA_{t, j}变为(At,j+1) mod k(A_{t, j}+1) \ mod \ k

给定n,m,k,An, m, k, A

是否能通过若干次上面的操作, 将A变为全0矩阵, 如果可以, 输出最小操作数, 否则, 输出-1

输入格式

一行三个整数$1\leq n\leq 2000, 1\leq m \leq 2000, 1\leq k\leq 10^9$

接下来nn行每行mm个数, 表示矩阵A的初始状态

输出格式

一行, 如果可以输出操作数, 否则输出-1

样例输入 1

3 3 10
0 0 9 
0 0 9 
9 9 8

样例输出 1

2

样例输入 2

3 3 10
1 0 9 
0 0 9 
9 9 8

样例输出 2

-1