atcoder#ARC106D. [ARC106D] Powers

[ARC106D] Powers

配点 : 600600

問題文

長さ NN の整数列 A=(A1,A2,,AN)A = (A_1, A_2, \cdots, A_N) と整数 KK が与えられます。

1XK1 \le X \le K を満たす整数 XX それぞれについて、以下の値を求めてください。

$\left(\displaystyle \sum_{L=1}^{N-1} \sum_{R=L+1}^{N} (A_L+A_R)^X\right) \bmod 998244353$

制約

  • 入力は全て整数
  • 2N2×1052 \le N \le 2 \times 10^5
  • 1K3001 \le K \le 300
  • 1Ai1081 \le A_i \le 10^8

入力

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

NN KK

A1A_1 A2A_2 \cdots ANA_N

出力

KK 行出力せよ。

XX 行目には、$\left(\displaystyle \sum_{L=1}^{N-1} \sum_{R=L+1}^{N} (A_L+A_R)^X \right) \bmod 998244353$ の値を出力せよ。

3 3
1 2 3
12
50
216

11 行目には、(1+2)1+(1+3)1+(2+3)1=3+4+5=12(1+2)^1 + (1+3)^1 + (2+3)^1 = 3 + 4 + 5 = 12 を出力します。

22 行目には、(1+2)2+(1+3)2+(2+3)2=9+16+25=50(1+2)^2 + (1+3)^2 + (2+3)^2 = 9 + 16 + 25 = 50 を出力します。

33 行目には、(1+2)3+(1+3)3+(2+3)3=27+64+125=216(1+2)^3 + (1+3)^3 + (2+3)^3 = 27 + 64 + 125 = 216 を出力します。

10 10
1 1 1 1 1 1 1 1 1 1
90
180
360
720
1440
2880
5760
11520
23040
46080
2 5
1234 5678
6912
47775744
805306038
64822328
838460992

mod998244353\bmod 998244353 での値を出力してください。