Дана сетка из $n$ строк и $m$ столбцов. В каждой ячейке сетки записано целое число, где $a_{i,j}$ обозначает число в ячейке, расположенной в $i$-й строке и $j$-м столбце.
Пусть $(i, j)$ — ячейка, расположенная в $i$-й строке и $j$-м столбце. Вы начинаете путь из $(1, 1)$ и должны достичь $(n, m)$. Находясь в ячейке $(i, j)$, вы можете переместиться либо в соседнюю справа ячейку $(i, j + 1)$, если $j < m$, либо в соседнюю снизу ячейку $(i + 1, j)$, если $i < n$.
Пусть $\mathbb{S}$ — множество, состоящее из целых чисел, находящихся в ячейках на вашем пути, включая $a_{1,1}$ и $a_{n,m}$. Значение пути определяется как количество элементов в $\mathbb{S}$ (напомним, что множества не содержат дублирующихся элементов). Вычислите сумму значений всех возможных путей.
Входные данные
Имеется несколько тестовых случаев. Первая строка входных данных содержит целое число $T$ ($1 \le T \le 10^3$), указывающее количество тестовых случаев. Для каждого тестового случая:
Первая строка содержит два целых числа $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$.
Выходные данные
Для каждого тестового случая выведите одну строку, содержащую одно целое число — сумму значений всех возможных путей. Так как ответ может быть большим, выведите его по модулю $998\,244\,353$.
Примеры
Пример 1
3 2 3 5 2 1 1 5 5 1 1 1 2 3 3 3 3 3 3 3
Пример 2
7 1 3
Примечание
Для первого примера существует 3 возможных пути:
- Первый путь: $(1, 1) \to (1, 2) \to (1, 3) \to (2, 3)$. $\mathbb{S} = \{1, 2, 5\}$.
- Второй путь: $(1, 1) \to (1, 2) \to (2, 2) \to (2, 3)$. $\mathbb{S} = \{2, 5\}$.
- Третий путь: $(1, 1) \to (2, 1) \to (2, 2) \to (2, 3)$. $\mathbb{S} = \{1, 5\}$.
Таким образом, ответ равен $3 + 2 + 2 = 7$.