P1143

albus就是要第一个出场

albus就是要第一个出场

给定一个长度为 nn 的正整数序列 AA,其下标从 11 开始。令

S={x∣1≤x≤n},S=\{x\mid 1\le x\le n\},

2S2^S 表示 SS 的幂集,即由 SS 的所有子集构成的集合。定义映射 f:2S→Zf:2^S\to\mathbb Z:

f(∅)=0,f(\varnothing)=0,

对于任意非空子集 T⊆ST\subseteq S,有

f(T)=⨁t∈TAt,f(T)=\bigoplus_{t\in T}A_t,

其中 ⊕\oplus 表示按位异或。

计算 2S2^S 中每个集合对应的 ff 值,并将这些值按非降序排列,得到下标从 11 开始的序列 BB。给定整数 QQ,求 QQ 在序列 BB 中第一次出现的位置。

输入格式

第一行输入一个整数 nn,表示序列 AA 的长度。

第二行输入 nn 个整数 A1,A2,…,AnA_1,A_2,\ldots,A_n,相邻整数之间以空格分隔。

第三行输入一个整数 QQ。

输出格式

输出一行一个整数。

若存在子集 T⊆ST\subseteq S,使得

Q=⨁t∈TAt,Q=\bigoplus_{t\in T}A_t,

则输出 QQ 在按非降序排列的序列 BB 中第一次出现的下标对 1008610086 取模后的值。序列 BB 按多重集合计数,即不同子集产生的相同异或值均会保留。

若不存在满足条件的子集 TT,输出 00。

样例输入

3
1 2 3
1

样例输出

3

数据范围

  • 1≤n≤1051\le n\le 10^5;
  • 1≤Ai≤1091\le A_i\le 10^9;
  • 0≤Q≤1090\le Q\le 10^9。

来源与许可

本题题面与测试数据整理自 BZOJ。

样例 1

输入

3
1 2 3
1

输出

3