#abc260h. [abc260_h]Colorfulness

[abc260_h]Colorfulness

問題文

11 から NN までの番号がついた NN 個のボールがあります。ボール ii には色 aia_i がついています。

(1,2,dots,N)(1, 2, \\dots, N) を並べ替えた列 P=(P1,P2,dots,PN)P = (P_1, P_2, \\dots, P_N) に対して C(P)C(P) を次のように定めます。

  • ボールを P1,P2,dots,PNP_1, P_2, \\dots, P_N という順番に一列に並べたときの、異なる色のボールが隣り合っている場所の数。

(1,2,dots,N)(1, 2, \\dots, N) を並べ替えた列全体の集合を SNS_N と置きます。また、F(k)F(k) を次のように置きます。

$\\displaystyle F(k) = \\left(\\sum_{P \\in S_N}C(P)^k \\right) \\bmod 998244353$

F(1),F(2),dots,F(M)F(1), F(2), \\dots, F(M) を列挙してください。

制約

  • 2leqNleq2.5times1052 \\leq N \\leq 2.5 \\times 10^5
  • 1leqMleq2.5times1051 \\leq M \\leq 2.5 \\times 10^5
  • 1leqaileqN1 \\leq a_i \\leq N
  • 入力される値はすべて整数

入力

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

NN MM a1a_1 a2a_2 dots\\dots aNa_N

出力

答えを以下の形式で出力せよ。

F(1)F(1) F(2)F(2) dots\\dots F(M)F(M)


入力例 1

3 4
1 1 2

出力例 1

8 12 20 36

(P,C(P))(P, C(P)) の組としてあり得るものを列挙すると次のようになります。

  • P=(1,2,3)P=(1,2,3) のとき C(P)=1C(P) = 1
  • P=(1,3,2)P=(1,3,2) のとき C(P)=2C(P) = 2
  • P=(2,1,3)P=(2,1,3) のとき C(P)=1C(P) = 1
  • P=(2,3,1)P=(2,3,1) のとき C(P)=2C(P) = 2
  • P=(3,1,2)P=(3,1,2) のとき C(P)=1C(P) = 1
  • P=(3,2,1)P=(3,2,1) のとき C(P)=1C(P) = 1

これらの値を F(k)F(k) に代入すれば答えを計算することができます。例えば F(1)=11+21+11+21+11+11=8F(1) = 1^1 + 2^1 + 1^1 + 2^1 + 1^1 + 1^1 = 8 です。


入力例 2

2 1
1 1

出力例 2

0

入力例 3

10 5
3 1 4 1 5 9 2 6 5 3

出力例 3

30481920 257886720 199419134 838462446 196874334