你在玩一个游戏。游戏中共有 $n$ 个敌人。第 $i$ 个敌人的生命值为 $a_i$,其中前 $c$ 个敌人是“关键”敌人。
游戏共有 $k$ 轮。在每一轮中,令 $S$ 为当前生命值大于 $0$ 的敌人集合(即 $S = \{i \mid 1 \le i \le n \land a_i > 0\}$),你将以相等的概率从集合 $S$ 中选择一个敌人(即对于 $S$ 中的每个 $i$,你以 $\frac{1}{|S|}$ 的概率选中它),并将其生命值减少 $1$(即将 $a_i$ 变为 $a_i - 1$)。
如果在 $k$ 轮结束后,所有“关键”敌人的生命值都已降为 $0$,则你赢得游戏;否则,你输掉游戏。
现在,对于每个满足 $1 \le k \le \sum_{i=1}^n a_i$ 的 $k$,你需要计算在 $k$ 轮后赢得游戏的概率。你只需要输出答案对 $998\,244\,353$ 取模的结果。
输入格式
第一行包含两个整数 $n, c$ ($1 \le c \le n \le 30$),分别表示敌人的总数和“关键”敌人的数量。
第二行包含 $n$ 个整数,其中第 $i$ 个整数为 $a_i$ ($1 \le a_i \le 10$),表示第 $i$ 个敌人初始的生命值。
输出格式
输出共 $\sum_{i=1}^n a_i$ 个整数。第 $k$ 个整数表示在 $k$ 轮后赢得游戏的概率,结果对 $998\,244\,353$ 取模。
样例
输入 1
5 3 1 1 1 1 1
输出 1
0 0 299473306 199648871 1
输入 2
8 5 3 5 3 2 2 5 4 4
输出 2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 851829480 293319617 60309444