题目描述
小 X 有 2n 个数,编号为 0 到 2n−1,第 i(0≤i<2n)个数为 ai。
对于 S⊆{0,1,…,2n−1},定义 f(S) 为集合 S 中所有数的二进制按位与;特别地,若 S 为空集,则 f(S)=2n−1。
定义两个 {0,1,…,2n−1} 的子集 P,Q(可以为空)构成的有序对 (P,Q) 是特别的,当且仅当 P∩Q=∅ 且 f(P)=f(Q)。定义有序对 (P,Q) 的权值为编号包含在 P∪Q 内所有数的乘积,即 ∏i∈P∪Qai;特别地,若 P∪Q=∅,则有序对 (P,Q) 的权值为 1。
小 X 需求出所有特别的有序对的权值之和,答案对 998244353 取模。
输入格式
- 第一行包含两个非负整数 c,t,分别表示测试点编号与测试数据组数,c=0 表示该测试点为样例。
- 每组测试数据:
- 第一行包含一个正整数 n,表示有 2n 个数。
- 第二行包含 2n 个非负整数 a0,…,a2n−1。
输出格式
对于每组测试数据,输出一行一个整数,表示所有特别的有序对的权值之和对 998244353 取模后的结果。
样例1
输入
0 2
2
1 2 3 4
3
1 1 1 1 1 1 1 1
输出
117
2091
样例1解释
该样例共包含两组测试数据:
- 第一组测试数据(n=2,22=4 个数):
所有特别的有序对 (P,Q) 如下:
- P=∅,Q=∅,权值为 1;
- P=∅,Q={3},权值为 a3=4;
- P={3},Q=∅,权值为 a3=4;
- P={0},Q={1,2},权值为 a0×a1×a2=6;
- P={0},Q={1,2,3},权值为 a0×a1×a2×a3=24;
- P={0,3},Q={1,2},权值为 a0×a1×a2×a3=24;
- P={1,2},Q={0},权值为 a0×a1×a2=6;
- P={1,2,3},Q={0},权值为 a0×a1×a2×a3=24;
- P={1,2},Q={0,3},权值为 a0×a1×a2×a3=24;
答案为 1+4+4+6+24+24+6+24+24=117。
数据范围
- 对于所有 0≤i<2n,均有 0≤ai<998244353。
| 测试点编号 |
n≤ |
特殊性质 |
| 1 |
4 |
B |
| 2 |
无 |
| 3 |
8 |
B |
| 4 |
无 |
| 5 |
10 |
B |
| 6 |
无 |
| 7, 8 |
12 |
B |
| 9 |
无 |
| 10 ~ 12 |
16 |
B |
| 13, 14 |
无 |
| 15, 16 |
20 |
AB |
| 17, 18 |
A |
| 19 ~ 21 |
B |
| 22 ~ 25 |
无 |
特殊性质说明:
- A:保证至多存在 24 个 i 满足 ai=0。
- B:保证对于所有 0≤i<2n,均有 ai=998244352。