大嘤帝国的东格玛男人,染染,终于成为了一名水手!
正如隔壁某位将军的那句“不想做将军的士兵不是好士兵”,不想做船长的水手不是好水手。作为一名好水手,染染自然也报名参与了船长的竞选。
报名那天,经过广泛的交流,染染得知,包括他自己在内,总共有 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 (1≤T≤20),表示数据组数。
每组数据第一行两个非负整数 n (1≤n≤109)n (1≤n≤109) 和 k (0≤k<min{n,105})k (0≤k<min{n,105}),分别表示参与竞选的水手数量和会对染染造成威胁的水手数量。
第二行 k+1k+1 个两两不同的正整数 p0,p1,p2,⋯,pk (1≤pj≤n)p0,p1,p2,⋯,pk (1≤pj≤n),表示染染的编号和会对染染造成威胁的水手的编号。
保证单个测试点内每组数据中 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(1−21)(1−41)=83。
对于第三组样例,不管第一轮竞选是水手 33 还是水手 44 赢,染染都会在第二轮碰上,所以答案为 00。