#P4869. albus就是要第一个出场

albus就是要第一个出场

Description

已知一个长度为 nn 的正整数序列 AA(下标从 11 开始),令 S={x1xn}S = \{ x | 1 \le x \le n \}SS 的幂集 2S2^S 定义为 SS 所有子集构成的集合。定义映射 $f : 2^S \to Z,f(\emptyset) = 0,f(T) = \mathrm{XOR}\{A_t\}, (t \in T)$。

现在 albus 把 2S2^S 中每个集合的 ff 值计算出来,从小到大排成一行,记为序列 BB(下标从 11 开始)。

给定一个数,那么这个数在序列 BB 中第 11 次出现时的下标是多少呢?

Input Format

第一行一个数 nn, 为序列 AA 的长度。接下来一行 nn 个数,为序列 AA,用空格隔开。最后一个数 QQ,为给定的数.

Output Format

共一行,一个整数,为 QQ 在序列 BB 中第一次出现时的下标模 1008610086 的值.

3
1 2 3
1
3

Hint

【样例解释】

N=3,A=[1,2,3]N = 3,A = [1,2,3]
S={1,2,3}S = \{1,2,3\}
$2^S = \{\emptyset,\{1\},\{2\},\{3\},\{1,2\},\{1,3\},\{2,3\},\{1,2,3\}\}$
f()=0f(\emptyset) = 0
f(1)=1f({1}) = 1
f(2)=2f({2}) = 2
f(3)=3f({3}) = 3
f(1,2)=1xor2=3f({1, 2}) = 1 \operatorname{xor} 2 = 3
f(1,3)=1xor3=2f({1, 3}) = 1 \operatorname{xor} 3 = 2
f(2,3)=2xor3=1f({2, 3}) = 2 \operatorname{xor} 3 = 1
f(1,2,3)=0f({1, 2, 3}) = 0
所以
B=[0,0,1,1,2,2,3,3]B = [0,0,1,1,2,2,3,3]

【数据范围】

1N10,00001 \leq N \leq 10,0000
其他所有输入均不超过 10910^9