Public Judge

pjudge

Time Limit: 2 s Memory Limit: 512 MB Total points: 100
[+19]

# 21633. 【PER #2】 2048

Statistics

pb 大师喜欢玩 2048。

pb 大师在一个 1×n 的网格上玩 2048,初始 n 个格子都是空的。

游戏会进行若干轮,每轮将发生如下事件:

  1. 如果没有空位,游戏结束。否则随机一个 1m 的数,随机到 i 的概率是 pi,再等概率随机一个空位,在空位中填入 2i1

  2. 将所有数顺序不变移到最左侧。例如 _ _ x _ y z 会变成 x y z _ _ _

  3. 如果没有相邻相同的数,这一轮结束。否则从左往右最后一对相同的数变成他们的和以及一个空位,并且他的得分会加上产生的和,例如 x y y z _ _ 会变成 x 2y _ z _ _,并且 pb 大师会得到 2y 分,接下来回到第二步。

pb 大师想要知道:他的期望总得分是多少。

输入格式

第一行两个整数 n,m 分别表示网格大小和随机数的值域。

第二行 m 个数,第 i 个数 ai 表示 pi=aimj=1aj

输出格式

输出一行一个整数表示期望得分对 998244353 取模后的结果,具体的,设答案的最简分数为 ab,你需要输出 x 满足 bxamod

样例一

input

2 2
1 1

output

2

样例二

input

10 6
19 2 6 8 1 7

output

5623384

样例三

见附件下载。

数据范围

对于 20\% 的数据,1\leq n,m\leq 5

对于 60\% 的数据,1\leq n,m\leq 300

对于 100\% 的数据,1\leq n,m\leq 2000, 1\leq a_i\leq 100

时间限制:2\texttt{s}

空间限制:512\texttt{MB}