有一个 $n \times m$ 的表格,我们想要用整数填充它。我们将第 $i$ 行第 $j$ 列单元格中的数字记为 $a_{i,j}$。
我们希望满足以下条件:
- 对于所有 $1 \le i \le n, 1 \le j \le m$,满足 $1 \le a_{i,j} \le n + m$。
- 对于所有 $1 \le i \le n - 1, 1 \le j \le m$,满足 $a_{i-1,j} < a_{i,j}$。
- 对于所有 $1 \le i \le n, 1 \le j \le m - 1$,满足 $a_{i,j-1} < a_{i,j}$。
换句话说,我们希望用 $1$ 到 $n + m$ 之间的数字填充表格,使得每一行和每一列的数字都是递增的。
此外,我们已知表格中某些单元格的数值。请找出填充未知单元格数值的方法数,使得上述所有条件均得到满足。由于该数字可能非常大,请输出其对 $998244353$ 取模的结果。
输入格式
第一行包含一个整数 $t$ ($1 \le t \le 10^4$),表示测试用例的数量。接下来是各测试用例的描述。
每个测试用例的第一行包含两个整数 $n, m$ ($1 \le n, m \le 2 \cdot 10^5, 1 \le n \cdot m \le 2 \cdot 10^5$),表示表格的大小。接下来有 $n$ 行。
接下来的 $n$ 行中,第 $i$ 行包含 $m$ 个整数 $a_{i,1}, a_{i,2}, \dots, a_{i,m}$ ($1 \le a_{i,j} \le n + m$ 或 $a_{i,j} = -1$)。如果 $a_{i,j} \neq -1$,则表示第 $i$ 行第 $j$ 列的数字已知(等于 $a_{i,j}$);否则,该数字需要被确定。
保证所有测试用例的 $n \cdot m$ 之和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示填充未知单元格使得所有条件满足的方法数。
样例
样例输入 1
4 2 3 1 2 -1 -1 4 5 4 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 4 4 -1 -1 -1 -1 -1 4 4 -1 -1 -1 -1 -1 -1 -1 -1 -1 4 5 -1 -1 -1 -1 -1 3 5 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
样例输出 1
4 0 17 55
说明
在第一个测试用例中,我们只需要选择 $a_{2,1}$ 和 $a_{1,3}$ 的值。$a_{2,1}$ 可以取 $2, 3$,而 $a_{1,3}$ 可以取 $3, 4$。总共有 $4$ 种选择。
在第二个测试用例中,不存在这样的表格,因为条件 $a_{3,2} < a_{3,3}$ 已经被违反了。