问题 A: 学位运算导致的

内存限制:524 MB 时间限制:4 S
题面:Markdown 评测方式:文本比较 上传者:
提交:58 通过:4

题目描述

本题中,用 **a**&**b**,**a**∣**b** 分别表示自然数 **a**,**b** 按位与、按位或的结果。 我们称一个自然数集 **S** 是优雅的当且仅当以下条件同时成立: * **0**,**2**64**−**1**∈**S。 * **∀**u**,**v**∈**S,**u**&**v**∈**S**,且 **u**∣**v**∈**S**。 现有一个优雅的集合 **S**,你已经知道了其中的 **n** 个元素。yummy 有 **q** 次询问,每次询问给出一个自然数 **x**,你要回答最小的自然数 **y**≥**x** 使得 **y** 一定在 **S** 中。

输入格式

本题有多组测试数据,输入的第一行有一个正整数 **T**(**1**≤**T**≤**1**0**3**) 表示数据组数。每一组数据格式如下: 输入的第一行有两个正整数 **n**,**q**(**1**≤**n**,**q**≤**5**×**1**0**3**),分别表示已知的 **S** 元素个数和询问个数。 第二行有 **n** 个自然数 **a**1,**…**,**a**n(**0**≤**a**i<**2**64),表示已知的 **S** 中元素。 之后有 **q** 行,每行有一个自然数 **x**(**0**≤**x**<**2**64),表示一个询问。 保证所有测试数据的 **n** 之和、所有测试数据的 **q** 之和均不超过 **5**×**1**0**4**。

输出格式

为了防止输出的数字过多,设 **M**=**1**0**18**+**1029**,对于每组测试数据,假设 **q** 个询问的答案依次为 **A**1,**…**,**A**q,你需要输出 **(**A**1****mod**M**)**⊕**(**A**2mod**M**)**⊕**…**⊕**(**A**qmod**M**)**,其中 **⊕** 表示异或。

输入样例 复制

2
3 2
5 6 15
6 15
3 2
5 6 15
16

输出样例 复制

4
6744973797654149

数据范围与提示

$1\le n,m\le500$ 【样例解释】 最小的符合题意的 **S** 为 **0**,**4**,**5**,**6**,**7**,**15**,**2**64**−**1。 第一组数据的答案分别为 **0**,**4**。 第二组数据的答案分别为 **7**,**2**64**−**1。