C - Median of Medians
解説
/


実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 100 点
問題文
奇数 N, M が与えられます。 整数の集合 \{1,2,\dots,NM\} の「要素数 M 個ずつの N 個のグループ」への分割に対して、以下の「中央値の中央値」を定めます。
- 各グループ内の中央値( 昇順で (M+1)/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 で出力してください。