$n$ 行 $m$ 列のグリッドがある。各セルには整数が配置されており、$a_{i,j}$ は $i$ 行 $j$ 列目のセルにある整数を表す。
$(i, j)$ を $i$ 行 $j$ 列目のセルとする。今、$(1, 1)$ から出発して $(n, m)$ に到達する必要がある。セル $(i, j)$ にいるとき、$j < m$ であれば右のセル $(i, j + 1)$ へ移動でき、$i < n$ であれば下のセル $(i + 1, j)$ へ移動できる。
パス上の各セルに含まれる整数の集合を $\mathbb{S}$ とする($a_{1,1}$ と $a_{n,m}$ を含む)。パスの値は $\mathbb{S}$ に含まれる要素の数として定義される(集合は重複する要素を含まないことに注意せよ)。すべての可能なパスについて、その値の総和を計算せよ。
入力
入力は複数のテストケースからなる。最初の行にはテストケースの数 $T$ ($1 \le T \le 10^3$) が含まれる。各テストケースは以下の通りである。
最初の行には、グリッドの行数と列数を表す2つの整数 $n$ と $m$ ($1 \le n, m \le 10^5, 1 \le n \times m \le 10^5$) が含まれる。
続く $n$ 行の各行には、$m$ 個の整数 $a_{i,1}, a_{i,2}, \dots, a_{i,m}$ ($1 \le a_{i,j} \le n \times m$) が含まれ、$a_{i,j}$ はセル $(i, j)$ の整数を表す。
すべてのテストケースにおける $n \times m$ の総和は $10^5$ を超えないことが保証される。
出力
各テストケースについて、すべての可能なパスの値の総和を1行で出力せよ。答えは非常に大きくなる可能性があるため、998 244 353 で割った余りを出力せよ。
入出力例
入出力例 1
3 2 3 5 2 1 1 5 5 1 1 1 2 3 3 3 3 3 3 3
7 1 3
注記
最初のサンプルテストケースには、3つの可能なパスが存在する。
- 1つ目のパスは $(1, 1) \to (1, 2) \to (1, 3) \to (2, 3)$ であり、$\mathbb{S} = \{1, 2, 5\}$ である。
- 2つ目のパスは $(1, 1) \to (1, 2) \to (2, 2) \to (2, 3)$ であり、$\mathbb{S} = \{2, 5\}$ である。
- 3つ目のパスは $(1, 1) \to (2, 1) \to (2, 2) \to (2, 3)$ であり、$\mathbb{S} = \{1, 5\}$ である。
したがって、答えは $3 + 2 + 2 = 7$ となる。