Представьте лист бумаги — сетку размера \(n \times m\): \(n\) строк и \(m\) столбцов с ячейками. Все ячейки изначально белые.
К листу применили \(q\) операций. \(i\)-я из них может быть описана следующим образом:
- \(x_i\) \(y_i\) — выбирается один из \(k\) небелых цветов, и вся строка \(x_i\) и весь столбец \(y_i\) раскрашиваются в этот цвет. Новый цвет наносится на каждую клетку вне зависимости от того, была ли клетка раскрашена до операции.
Лист после применения всех \(q\) операций называется раскраской. Две раскраски различные, если существует хотя бы одна клетка, раскрашенная в разные цвета.
Сколько существует различных раскрасок? Выведите их количество по модулю \(998\,244\,353\).
Выходные данные
На каждый набор входных данных выведите одно целое число — количество различных раскрасок по модулю \(998\,244\,353\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
2 1 1 3 2 1 1 1 1 2 2 2 3 2 1 1 1 2 2
|
3
4
|