题目描述
你在玩一个抽卡游戏。
这个游戏有 n+1 种级别的抽卡方式,编号为 0,1,⋯,n 。抽出来的每张卡的等级是 [0,m] 中的一个整数。
一次 0 级抽卡就是只抽一次卡,而一次 i 级抽卡 (1≤i≤n) 会包含 bi 次 i−1 级抽卡,并且这次 i 级抽卡合法当且仅当它包含的所有 i−1 级抽卡合法,且抽出来的卡中至少有一张的等级大于等于 i 。
对于每次 0 级抽卡,抽出一张等级为 j 的卡的概率是 ∑k=0makaj 。
设 pj 表示在一次合法的 n 级抽卡中抽出等级为 j 的卡的期望次数,q 表示一次 n 级抽卡合法的概率。你需要对于 0≤j≤m 求出 (pj⋅q)mod998244353 。
输入格式
第一行,两个正整数 m,n 。
第二行, m+1 个正整数 a0,a1,⋯,am 。
第三行, n 个正整数 b1,b2,⋯,bn 。
输出格式
输出 m+1 行,第 j 行一个整数 (pj−1⋅q)mod998244353 。
样例一
2 1
1 1 1
3
output
554580197
1
1
explanation
共有 27 种 n 级抽卡,每种的可能性相等,且其中 26 种是合法的。
98=554580197(mod998244353)
样例二
3 2
1 1 2 1
2 3
output
58137752
260406016
517809313
758026833
样例三
7 5
1 2 3 4 5 6 7 8
2 3 4 5 6
output
853156597
693809475
552532484
320522442
504282215
597794834
31931071
464311661
数据范围与提示
本题共 20 组测试点,各 5 分。
对于所有数据,$1\le n\le m\le 4000,1\le a_i\le 4000,2\le b_i\le 4000$ 。保证 ai,bi 在范围内均匀随机。
测试点编号 |
m≤ |
特殊限制 |
1∼3 |
3 |
∏i=1nbi≤12 |
4∼6 |
10 |
bi≤3 |
7∼10 |
50 |
ai≤10 |
11∼15 |
400 |
无 .h=2 |
16∼20 |
|
|
时间限制:5s
空间限制:512MB