Dynamic Insertion
给定一个非严格递增的数组 {an}(下标从 1 开始),描述了这个色块序列,每次该数组会发生如下“融合”变换:
- 若数组长度为 l,对于每个 1≤i<l,在 ai,ai+1 之间插入一个新数 ⌊2ai+ai+1⌋。
其中 ⌊x⌋ 表示对 x 向下取整。
你需要回答 q 组询问,每次询问第 k 次“融合”变换后是否存在色块 x。
输入格式
第一行两个整数 n,q,表示初始数组长度和询问组数。
接下来一行 n 个整数,表示原始的数组 a。
接下来 q 行,每行两个数 k,x,描述每组询问。
输出格式
对于每组询问,输出仅一行一个字符串。若存在,输出 Yes;否则,输出 No(大小写敏感)。
样例
输入样例 1
输出样例 1
样例 1 说明
对于数组 a=[1,10],依次进行变换:
-
第一次变换后,变成 [1,5,10]。
-
第二次变换后,变成 [1,3,5,7,10]。
容易发现两次变换后,3 在数组中,4 不在数组中。
样例 2
见选手目录下的 juncture/juncture2.in 与 juncture/juncture2.ans。
该样例与测试数据 1∼5 满足同样的约束条件。
样例 3
见选手目录下的 juncture/juncture3.in 与 juncture/juncture3.ans。
该样例与测试数据 6∼9 满足同样的约束条件。
样例 4
见选手目录下的 juncture/juncture4.in 与 juncture/juncture4.ans。
该样例与测试数据 13∼20 满足同样的约束条件。
数据规模与约定

对于 100% 的数据,1≤n≤103,1≤q≤5×105,1≤k≤106,1≤ai≤1018,且对于 1≤i<j≤n,必定满足 ai≤aj。