| Codeforces Round 1125 (Div. 3) |
|---|
| Закончено |
K1o0n придумал для своего друга Noobish_Monk такую забаву. Берут прямоугольную таблицу целых чисел, и за каждый сплошной прямоугольный кусок этой таблицы Noobish_Monk что-то получает или, наоборот, что-то теряет — смотря какой формы кусок. Посчитать, сколько наберётся в сумме, стало задачей Noobish_Monk, но он опять 998244353 раз неправильно прочитал условие, из-за чего зациклился на незначимом куске.
Мы предлагаем и вам попробовать свои силы в данной забаве!
Дана таблица целых чисел $$$A$$$ из $$$n$$$ строк и $$$m$$$ столбцов. Подматрица — это любой сплошной прямоугольный кусок таблицы; она задаётся номерами первой и последней строки и номерами первого и последнего столбца. Пусть подматрица занимает $$$a$$$ подряд идущих строк и $$$b$$$ подряд идущих столбцов, а сумма всех стоящих в ней чисел равна $$$S$$$. Если число $$$a+b$$$ чётно, то Noobish_Monk получает $$$S^2$$$, а если нечётно — теряет $$$S^2$$$. Эта величина и называется ценой подматрицы:
$$$$$$(-1)^{a+b}\,S^2.$$$$$$
Цена таблицы — это сумма цен всех её подматриц, в том числе всей таблицы целиком. Помогите ему: найдите цену таблицы $$$A$$$. Она бывает и отрицательной, и очень большой по модулю, поэтому выведите её по модулю $$$\mathbf{10^9+7}$$$.
Первая строка содержит целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n, m$$$, $$$1 \le n \cdot m \le 10^6$$$) — размеры матрицы.
В следующих $$$n$$$ строках по $$$m$$$ целых чисел: $$$j$$$-е число $$$i$$$-й строки равно $$$A_{i,j}$$$ ( $$$-10^9 \le A_{i,j} \le 10^9$$$).
Гарантируется, что сумма $$$n \cdot m$$$ по всем наборам входных данных не превосходит $$$10^6$$$.
Для каждого набора входных данных выведите в отдельной строке одно целое число из отрезка $$$[0,\;10^9+6]$$$ — остаток от деления цены таблицы на $$$10^9+7$$$.
43 31 5 27 9 83 6 42 41 -1 -2 2-2 2 1 -13 24 58 20 04 41 1 1 1-1 -1 -1 -11 1 1 1-1 -1 -1 -1
1006999999967999999971
| Название |
|---|


