Description
小 F 有一根法杖,其中装填有 x+y 个法术。
初始时刻,有 m 只小羊排成一排,第 i 只小羊的血量为 ai。ai 是一个整数。
这 x+y 个法术分别编号为 1 到 x+y,并且分成以下两类:
编号为 1 到 x 的是「治疗法术」,施放时产生如下效果:
- 对于所有血量 >0 的小羊,将它们的血量 +1。
- 对于所有血量 <0 的小羊,将它们的血量 −1。
编号为 x+1 到 x+y 的是「伤害法术」,施放时产生如下效果:
- 对于所有血量 >0 的小羊,将它们的血量 −1。
- 对于所有血量 <0 的小羊,将它们的血量 +1。
然而小 F 的这根法杖是乱序的。也就是说,当使用这根法杖的时候,会随机产生一个长度为 x+y 的排列∗(从所有长度为 x+y 的排列中等概率选取),记作 [P1,P2,P3,…,Px+y]。随后,依次施放编号为 P1,P2,…,Px+y 的法术。
小 F 想知道,在他使用这根法杖后,每只小羊的血量的期望是多少?
请你计算并输出答案对 998244353 取模的结果。
具体而言,若答案为最简分数 qp(p 与 q 互质且 q 不被 998244353 整除),请输出满足 0≤x<998244353 且 x⋅q≡p(mod998244353) 的最小整数 x。
∗如果一个长度为 k 的整数序列 [c1,c2,…,ck] 满足:1 到 k 中的每个整数(包括 1 和 k)都恰好在 c 中出现一次,那么我们称 c 是一个长度为 k 的排列。例如 [1,2,3]、[1,5,3,2,4] 都是排列,而 [1,1,4] 不是。
Input
第一行包含三个整数 x,y,m(0≤x,y≤105 且 1≤m≤3×105)。
第二行包含 m 个整数 a1,a2,…,am(−107≤ai≤107),表示小羊的初始血量。
Output
输出一行,包含 m 个整数,分别表示每只小羊的血量的期望,对 998244353 取模后的结果。
Samples
2 3 11
-5 -4 -3 -2 -1 0 1 2 3 4 5
998244349 998244350 598946610 499122176 0 0 0 499122177 399297743 3 4
0 0 1
23333
23333
233 123 4
-123 1145 81 0
625392963 1255 783909838 0