C - Median of Medians 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点 : 100

問題文

奇数 N, M が与えられます。 整数の集合 \{1,2,\dots,NM\} の「要素数 M 個ずつの N 個のグループ」への分割に対して、以下の「中央値の中央値」を定めます。

  1. 各グループ内の中央値( 昇順で (M+1)/2 番目の値 )を求める。
  2. 手順1で得た N 個の値の中央値を「中央値の中央値」とする。

k \in \{1,2,\dots,NM\} について、「中央値の中央値」が k となる分割方法の数を \text{mod }998244353 で出力してください。 ただし、二つの分割方法について、「一方の分割では同じグループに含まれ、もう一方では異なるグループに含まれる異なる整数の組」が存在するとき、またそのときに限りそれらを区別するものとします。

制約

  • 入力はすべて整数
  • 1 \le N,M \le 999
  • N,M奇数

入力

入力は以下の形式で標準入力から与えられます。

N M

出力

NM 行出力してください。 i 行目には、「中央値の中央値」が i となる分割方法の数を \text{mod }998244353 で出力してください。


入力例 1

3 3

出力例 1

0
0
0
60
160
60
0
0
0

入力例 2

1 3

出力例 2

0
1
0

入力例 3

5 5

出力例 3

0
0
0
0
0
0
0
0
470892775
605208979
651451783
755742174
832121060
755742174
651451783
605208979
470892775
0
0
0
0
0
0
0
0

\text{mod }998244353 で出力してください。