题目描述
给定两个大小分别为 n 和 m 的集合 S 和集合 T,集合 S 中的第 i 个元素为 si(编号从 1 到 n),集合 T 中的第 i 个元素为 ti(编号从 1 到 m)。保证集合 S 内的元素互不相同、保证集合 T 内的元素互不相同。
你需要求有多少个长度为 L 的序列 a(下标从 1 到 L)满足:
- ∀i∈[1,L],ai∈S。
- 令 di=a1⊕a2⊕a3…⊕ai,那么 ∀i∈[1,L],di∈T。其中 ⊕ 代表按位异或运算。
输出方案数对 998244353 取模的结果。
输入格式
第一行三个正整数 n,m,L 分别表示集合 S 和 T 的大小,和一个正整数 L。
第二行 n 个非负整数依次表示集合 S 中的元素,保证元素互不相同。
第三行 m 个非负整数依次表示集合 T 中的元素,保证元素互不相同。
输出格式
输出一行一个非负整数,表示答案对 998244353 取模的结果。
样例
样例 1
4 4 4
3 4 5 6
0 3 1 2
3
样例 2
6 6 7
4 10 6 8 2 30
2 11 12 8 22 24
13118
样例 3
见下发文件中的 randomxor/randomxor3.in 与 randomxor/randomxor3.ans。
样例 4
见下发文件中的 randomxor/randomxor4.in 与 randomxor/randomxor4.ans。
数据范围
对于所有测试点:n≤35,m≤20,L≤4000,si,ti≤109。
| 测试点编号 |
n |
m |
L |
特殊性质 |
| 1∼2 |
≤16 |
≤10 |
≤50 |
保证 si,ti≤105 |
| 3∼5 |
无 |
| 6∼8 |
≤30 |
≤20 |
| 9∼10 |
≤200 |
| 11∼13 |
≤35 |
≤500 |
| 14∼18 |
≤2000 |
| 19∼20 |
≤5000 |