G. Стоимость раскраски
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Есть лист бумаги, разделенный на $$$n$$$ строк и $$$m$$$ столбцов. Изначально ни одна клетка этого листа не покрашена.

За одну операцию можно выбрать любой столбец или строку и покрасить (если какие-то клетки раньше были покрашены — их цвет меняется на новый). Во время первой операции клетки красятся в цвет $$$1$$$; во время операции $$$i \gt 1$$$ можно выбрать либо цвет $$$c_{i-1}$$$, либо $$$c_{i-1} + 1$$$, где $$$c_{i-1}$$$ — цвет, выбранный во время операции $$$(i-1)$$$.

Назовем итоговую раскраску красивой, если выполняются следующие условия:

  • каждая клетка покрашена;
  • для каждого цвета от $$$1$$$ до $$$k$$$ существует хотя бы одна клетка, покрашенная в этот цвет, а других цветов в раскраске не используется.

Для красивой итоговой раскраски назовем ее ценностью минимальное количество операций, за которое ее можно получить.

Для каждого $$$i$$$ от $$$\min(n, m)$$$ до $$$n + m - 1$$$ посчитайте количество красивых раскрасок с ценностью $$$i$$$. Две раскраски являются различными, если цвет хотя бы одной клетки в этих раскрасках отличается.

Входные данные

В единственной строке заданы три целых числа $$$n, m, k$$$ ($$$2 \le n, m \le 2000$$$; $$$1 \le k \le n + m - 1$$$).

Выходные данные

Для каждого $$$i$$$ от $$$\min(n, m)$$$ до $$$n + m - 1$$$ выведите одно целое число — количество красивых раскрасок с ценностью $$$i$$$, взятое по модулю $$$998244353$$$.

Примеры
Входные данные
2 3 2
Выходные данные
2 12 6 
Входные данные
2 3 3
Выходные данные
0 18 36 
Входные данные
3 2 4
Выходные данные
0 0 36 
Входные данные
2 2 3
Выходные данные
0 8 
Входные данные
2 2 2
Выходные данные
4 4 
Входные данные
2 2 1
Выходные данные
1 0 
Входные данные
5 3 4
Выходные данные
0 90 1500 7830 8100 
Входные данные
3 5 3
Выходные данные
6 120 750 1770 930 
Входные данные
5 2 2
Выходные данные
2 15 30 35 10 
Входные данные
2 5 2
Выходные данные
2 15 30 35 10