说明
给定一个包含 N 个整数的数组 A:[A1,A2,…,AN]。
如果可以通过重排 A,使得对于所有满足 1≤i<j≤N 的 (i,j) 对,在重排后都满足以下两个条件:Ai⊕p≤Aj⊕q 且 Ai⊕q≤Aj⊕p,则称数组 A 是 (p,q)-xorderable 的。其中运算符 ⊕ 表示按位异或。
给定另一个长度为 M 的数组 X:[X1,X2,…,XM]。请计算满足 1≤u<v≤M 且数组 A 是 (Xu,Xv)-xorderable 的 (u,v) 对的数量。
输入格式
第一行包含两个整数 N M(2≤N,M≤200000)。
第二行包含 N 个整数 Ai(0≤Ai<230)。
第三行包含 M 个整数 Xu(0≤Xu<230)。
输出格式
输出一个整数,表示满足 1≤u<v≤M 且数组 A 是 (Xu,Xv)-xorderable 的 (u,v) 对的数量。
3 4
0 3 0
1 2 1 1
3
5 2
0 7 13 22 24
12 10
1
3 3
0 0 0
1 2 3
0
提示
样例输入/输出 #1 的解释
数组 A 是 (1,1)-xorderable 的,可以通过将数组 A 重排为 [0,0,3] 来实现。
样例输入/输出 #2 的解释
数组 A 是 (12,10)-xorderable 的,可以通过将数组 A 重排为 [13,0,7,24,22] 来实现。
翻译由 DeepSeek V3.2 完成