#arc133f. [arc133_f]Random Transition

[arc133_f]Random Transition

题目描述

给定整数 NN

Snuke 将执行以下过程。

  • 令变量 xx 初始化为介于 00NN 之间的随机整数(包括边界)。对于每个 0leqileqN0 \\leq i \\leq N,以概率 Ai/109A_i/10^9 选择 x=ix=i
  • 重复执行以下操作 KK 次。
    • 以概率 x/Nx/N,将 xx 的值减 11;以概率 1x/N1-x/N,将其增加 11。(注意,在操作后,xx 仍然在 00NN 之间。)

对于每个 i=0,1,cdots,Ni=0,1,\\cdots,N,计算在过程结束后 x=ix=i 的概率,模 998244353998244353

998244353998244353 的概率定义:

可以证明所求的概率始终是有理数。此外,在问题的限制条件下,当将它们表示为既约分数 fracPQ\\frac{P}{Q} 时,可以证明 Qneq0pmod998244353Q \\neq 0 \\pmod{998244353}。因此,唯一存在一个整数 RR,使得 $R \\times Q \\equiv P \\pmod{998244353}, 0 \\leq R < 998244353$。输出该 RR

约束条件

  • 1leqNleq1000001 \\leq N \\leq 100000
  • 0leqAi0 \\leq A_i
  • sum0leqileqNAi=109\\sum_{0 \\leq i \\leq N}A_i = 10^9
  • 1leqKleq1091 \\leq K \\leq 10^9
  • 输入的所有值都是整数。

输入

输入以以下格式从标准输入给出:

NN KK A0A_0 A1A_1 cdots\\cdots ANA_N

输出

对于每个 i=0,1,cdots,Ni=0,1,\\cdots,N,输出在过程结束后 x=ix=i 的概率,模 998244353998244353


示例输入1

2 1
0 1000000000 0

示例输出1

499122177 0 499122177

首先,xx 总是初始化为 x=1x=1。在后续操作中,以概率 1/21/2xx 的值减小 11,以概率 1/21/2 将其增加 11。最终,当 x=0x=0x=1x=1x=2x=2 时,概率分别为 1/2,0,1/21/2,0,1/2


示例输入2

4 2
200000000 200000000 200000000 200000000 200000000

示例输出2

723727156 598946612 349385524 598946612 723727156

示例输入3

10 100
21265166 263511538 35931763 26849698 108140810 134702248 36774526 147099145 58335759 4118743 163270604

示例输出3

505314898 24510700 872096939 107940764 808162829 831195162 314651262 535843032 665830283 627881537 696038713