A81672.奇怪的数学

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Alice 参加了一场奇怪的比赛。

比赛一开始,Alice 面前有一个包含 nn 个非负整数的数组 A=[a1,a2,,an]A = [a_1,a_2,\dots,a_n]

接下来,Alice 可以 无限次 地执行以下两种操作中的任意一种:

或炼金术:从数组中选择两个(不一定不同的)数 x,yx, y,将 xyx \mid y (按位或)加入数组。

与炼金术:从数组中选择两个(不一定不同的)数 x,yx, y,将 x & yx~ \&~ y (按位与)加入数组。

每次操作不会删除原有的数,只会把新生成的数加入数组中。由于可以无限次操作,数组中可以包含任意多的数字。

现在,比赛组织者给出 qq 次询问,每次询问一个整数 tit_i,Alice 想知道是否存在一种操作序列,可以最终在数组中生成数字 tit_i

请你帮助 Alice 回答所有的询问。

输入格式

第一行包含两个整数 n,qn,q,表示初始数组中数字的个数和询问的个数。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n

接下来 qq 行,每行包含一个整数 tit_i,表示一次询问。

输出格式

输出 qq 行,每行输出一个 "Yes" 或 "No",表示是否可以生成该数字。

输入输出样例

  • 输入#1

    2 4
    1 2
    0
    3
    4
    2

    输出#1

    Yes
    Yes
    No
    Yes
  • 输入#2

    5 6
    1 2 4 8 16
    0
    3
    31
    32
    18
    7

    输出#2

    Yes
    Yes
    Yes
    No
    Yes
    Yes
  • 输入#3

    2 5
    576460752303423488 1
    576460752303423488
    1
    576460752303423489
    288230376151711744
    0

    输出#3

    Yes
    Yes
    Yes
    No
    Yes

说明/提示

数据范围

  • 1n2×1051 \le n \le 2 \times 10^5

  • 0ai<2600 \le a_i < 2^{60}

  • 1q2×1051 \le q \le 2 \times 10^5

  • 0ti<2600 \le t_i < 2^{60}

首页