#arc104d. [arc104_d]Multiset Mean

[arc104_d]Multiset Mean

問題文

正の整数 N,K,MN, K, M が与えられるので、11 以上 NN 以下の全ての整数 xx について、次の問題を解いてください。

  • 1,2,3cdots,N1, 2, 3 \\cdots, N の各整数をそれぞれ 00 個以上 KK 個以下含むような空でない多重集合であって、平均が xx であるものの個数を MM で割った余りを求めよ。

制約

  • 1leqN,Kleq1001 \\leq N, K \\leq 100
  • 108leqMleq109+910^8 \\leq M \\leq 10^9 + 9
  • MM は素数である
  • 入力は全て整数である

入力

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

NN KK MM

出力

以下の形式で出力せよ。

c1c_1 c2c_2 :: cNc_N

ただし cxc_x は、平均が xx である多重集合の個数を MM で割った余りを表す。


入力例 1

3 1 998244353

出力例 1

1
3
1

11 以上 33 以下の整数をそれぞれ 00 個以上 11 個以下含むような空でない多重集合を考えます。

  • 平均が x=1x = 1 である多重集合は、1\\{1\\}11 個です。
  • 平均が x=2x = 2 である多重集合は、2,1,3,1,2,3\\{2\\}, \\{1, 3\\}, \\{1, 2, 3\\}33 個です。
  • 平均が x=3x = 3 である多重集合は、3\\{3\\}11 個です。

入力例 2

1 2 1000000007

出力例 2

2

11 以上 11 以下の整数をそれぞれ 00 個以上 22 個以下含むような空でない多重集合を考えます。

  • 平均が x=1x = 1 である多重集合は、1,1,1\\{1\\}, \\{1, 1\\}22 個です。

入力例 3

10 8 861271909

出力例 3

8
602
81827
4054238
41331779
41331779
4054238
81827
602
8