AT_abc449_e [ABC449E] A += v

Description

整数 $ N,M $ と各要素が $ 1 $ 以上 $ M $ 以下である長さ $ N $ の整数列 $ A=(A_1,A_2,\ldots,A_N) $ が与えられます。 この整数列 $ A $ に対して以下の操作を $ 10^{100} $ 回行います。 - $ 1 $ 以上 $ M $ 以下の整数のうち $ A $ における出現回数が最も少ないものを $ v $ とする。ただし、そのような $ v $ が複数存在する場合はその中で値が最小のものとする。そして、 $ A $ の末尾に $ v $ を追加する。 $ Q $ 個のクエリが与えられます。 $ i $ 番目のクエリでは整数 $ X_i $ が与えられるので、操作を $ 10^{100} $ 回行った後の $ A_{X_i} $ の値を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $ $ Q $ $ X_1 $ $ X_2 $ $ \vdots $ $ X_Q $

Output Format

$ Q $ 行出力せよ。 $ i $ 行目には、 $ i $ 番目のクエリに対する答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 はじめ $ A=(1,1,2) $ です。各操作で $ A $ は以下のように変化します。 - $ 1 $ 回目: $ A $ に含まれる $ 1,2,3 $ の個数はそれぞれ $ 2,1,0 $ であるため、 $ v=3 $ とする。 $ v $ を $ A $ の末尾に追加し、 $ A=(1,1,2,3) $ となる。 - $ 2 $ 回目: $ A $ に含まれる $ 1,2,3 $ の個数はそれぞれ $ 2,1,1 $ であるため、 $ v=2 $ とする。 $ v $ を $ A $ の末尾に追加し、 $ A=(1,1,2,3,2) $ となる。 - $ 3 $ 回目: $ A $ に含まれる $ 1,2,3 $ の個数はそれぞれ $ 2,2,1 $ であるため、 $ v=3 $ とする。 $ v $ を $ A $ の末尾に追加し、 $ A=(1,1,2,3,2,3) $ となる。 - $ \vdots $ 操作を $ 10^{100} $ 回行った後の $ A $ は $ A=(1,1,2,3,2,3,1,2,\ldots) $ となります。 ### Constraints - $ 1\le N,M\le 5\times 10^5 $ - $ 1\le A_i \le M $ - $ 1\le Q\le 2\times 10^5 $ - $ 1\le X_i \le 10^{18} $ - 入力される値は全て整数