2065: 船长

内存限制:128 MB 时间限制:3 S
题面:传统 评测方式:文本比较 上传者:
提交:0 通过:0

题目描述



大嘤帝国的东格玛男人,染染,终于成为了一名水手!

正如隔壁某位将军的那句“不想做将军的士兵不是好士兵”,不想做船长的水手不是好水手。作为一名好水手,染染自然也报名参与了船长的竞选。

报名那天,经过广泛的交流,染染得知,包括他自己在内,总共有 nn 名水手参与竞选。这 nn 名水手都被赋予了一个编号,可以认为第 ii 名参与竞选的水手的编号即为 ii。特别的,染染的编号为 p0p0

这 nn 名参与竞选的水手当然也不是谁都有竞争力的。根据染染的情报,只有 kk 名水手会对染染造成威胁,其中第 jj 名水手的编号为 pjpj,而染染当然不想在竞选时碰上这些对手。

竞选会持续若干轮,每轮会在仍在竞选的水手中大致筛选掉其中的一半,直至仍在竞选的水手只剩下一名,这一名水手就是最后的船长。在每一轮竞选中,假设仍在竞选的水手剩下 mm 名,编号从小到大依次为 q1,q2,⋯,qmq1,q2,,qm,则水手 q1q1 和水手 q2q2 进行一次较量,水手 q3q3 和水手 q4q4 进行一次较量,依此类推总共进行 ⌊m2⌋2m 次较量,并剩下 ⌈m2⌉2m 名水手进入下一轮竞选。注意,如果 mm 为奇数,则水手 qmqm 在本次竞选中不用参与任何一次较量,直接进入下一轮竞选。

现在,染染想要知道,如果他和其它水手的较量一定赢,而其他水手之间的较量双方赢的概率相等(即都是 1221),则染染不会碰上会对染染造成威胁的 kk 名水手的概率对 998244353998244353 取模后的结果。


输入格式


本题单个测试点内包含多组测试数据。

输入第一行一个正整数 T (1≤T≤20)T (1T20),表示数据组数。

每组数据第一行两个非负整数 n (1≤n≤109)n (1n109) 和 k (0≤k<min⁡{n,105})k (0k<min{n,105}),分别表示参与竞选的水手数量和会对染染造成威胁的水手数量。

第二行 k+1k+1 个两两不同的正整数 p0,p1,p2,⋯,pk (1≤pj≤n)p0,p1,p2,,pk (1pjn),表示染染的编号和会对染染造成威胁的水手的编号。

保证单个测试点内每组数据中 k+1k+1 的和不超过 106106


输出格式

对于每组数据输出一行一个非负整数,表示答案概率对 998244353998244353 取模后的结果。

输入样例 复制

3
10 0
1
8 2
1 3 5
4 2
1 3 4

输出样例 复制

1
623902721
0

数据范围与提示

对于第一组样例,没有水手能对染染造成威胁,答案即为 11

对于第二组样例,染染分别有可能在第二轮碰上水手 33 和在第三轮碰上水手 55,碰上的概率分别为 1221 和 1441,答案为 (1−12)(1−14)=38(121)(141)=83

对于第三组样例,不管第一轮竞选是水手 33 还是水手 44 赢,染染都会在第二轮碰上,所以答案为 00

分类标签