生成机制

题目描述

Y 同学正在研究一个有趣的序列生成机制。

给定两个正整数 N,MN, M 和一个长度为 NN 的初始整数序列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N),其中每个元素都满足 1AiM1 \le A_i \le M

接下来,Y 同学将对序列 AA 执行 1010010^{100} 次以下操作:

  • 11MMMM 个整数中,找到在当前序列 AA出现次数最少的整数 vv。如果存在多个出现次数最少的整数,则选择其中数值最小的那个。
  • 将选出的整数 vv 追加到序列 AA 的末尾。

由于操作次数非常多,序列 AA 的长度将变得极其巨大。

现在,Y 同学提出了 QQ 个询问。第 ii 个询问给出一个正整数 XiX_i,请你帮助他计算,在执行完所有 1010010^{100} 次操作后,序列 AA 中第 XiX_i 个元素(下标从 11 开始计数)的值是多少。

输入格式

第一行包含两个由空格分隔的正整数 NNMM

第二行包含 NN 个由空格分隔的正整数 A1,A2,,ANA_1, A_2, \dots, A_N,表示初始序列 AA

第三行包含一个正整数 QQ,表示询问的次数。

接下来 QQ 行,每行包含一个正整数 XiX_i,表示第 ii 个询问查询的序列下标。

输出格式

输出共 QQ 行。第 ii 行输出一个整数,表示对第 ii 个询问的答案。

样例

样例输入 #1

3 3
1 1 2
8
1
2
3
4
5
6
7
8

样例输出 #1

1
1
2
3
2
3
1
2

样例输入 #2

7 30
20 26 3 14 4 4 9
10
31
9
21
23
97
99
30
79
57
3

样例输出 #2

30
2
18
21
7
9
29
19
27
3

数据范围与约定

对于 100%100\% 的数据,保证:

  • 1N,M5×1051 \le N, M \le 5 \times 10^5
  • 1AiM1 \le A_i \le M
  • 1Q2×1051 \le Q \le 2 \times 10^5
  • 1Xi10181 \le X_i \le 10^{18}
子任务编号 分值 N,MN, M \le QQ \le XiX_i \le 特殊性质
1 20 100100 500500
2 30 5×1055 \times 10^5 2×1052 \times 10^5 10610^6
3 50 101810^{18}