AT_arc145_f [ARC145F] Modulo Sum of Increasing Sequences
Description
[problemUrl]: https://atcoder.jp/contests/arc145/tasks/arc145_f
$ 0 $ 以上 $ M $ 以下の整数からなる長さ $ N $ の広義単調増加列 $ A=(A_1,A_2,\ldots,A_N) $ のうち、以下を満たすものの個数を $ 998244353 $ で割ったあまりを各 $ K=0,1,\ldots,\mathrm{MOD}-1 $ に対して求めてください。
- $ A $ の要素の総和を $ \mathrm{MOD} $ で割ったあまりが $ K $ に等しい。
広義単調増加列とは ある数列 $ B $ について、 $ B $ の長さを $ |B| $ としたとき、全ての整数 $ i $ ($ 1\ \le\ i\ \le\ |B|\ -\ 1 $) について、 $ B_i\ \leq\ B_{i+1} $ が成り立つとき、またそのときに限って、 $ B $ は広義単調増加列です。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ \mathrm{MOD} $
Output Format
各 $ K=0,1,\ldots,\mathrm{MOD}-1 $ に対して、条件を満たす数列の個数を $ 998244353 $ で割ったあまりを出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ ,M\leq\ 10^6 $
- $ 1\leq\ \mathrm{MOD}\leq\ 500 $
- 入力は全て整数
### Sample Explanation 1
$ 0 $ 以上 $ 2 $ 以下の整数からなる長さ $ 2 $ の広義単調増加列は $ (0,\ 0),\ (0,\ 1),(0,2),\ (1,1),(1,2),(2,2) $ の $ 6 $ 通りです。 - 総和を $ 4 $ で割ったあまりが $ 0 $ のもの:$ (0,0),(2,2) $ の $ 2 $ 通り - 総和を $ 4 $ で割ったあまりが $ 1 $ のもの:$ (0,1) $ の $ 1 $ 通り - 総和を $ 4 $ で割ったあまりが $ 2 $ のもの:$ (0,2),(1,1) $ の $ 2 $ 通り - 総和を $ 4 $ で割ったあまりが $ 3 $ のもの:$ (1,2) $ の $ 1 $ 通り です。
### Sample Explanation 3
$ 998244353 $ で割ったあまりを答えてください。