小苯的水果园
题号:NC285670
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小苯有一个果园,他在其中种了 n 个果子,其中第 i 个果子的种类为 a_i

\hspace{15pt}现在果子们成熟了,小苯会把它们“打下来”,具体来说:小苯会在第 i早上会把所有总数量恰好i 的同一种类的果子全都打下来(特别地,如果当前果园中不存在总数恰好为 i 的同种类果子,则今天一个果子都不打。)

\hspace{15pt}现在小苯提出了 q 次询问,每次询问一个天数 d,请你来回答一下,到第 d晚上时果园里还剩多少果子吧。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^3\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入两个正整数 n, q\left(1 \leq n, q \leq 2 \times 10^5\right) 代表果园中的果子个数、小苯的询问次数。
\hspace{15pt}第二行输入 n 个正整数 a_1, a_2, \dots, a_n\left(1 \leq a_i \leq 10^6\right) 代表果园中每个果子的种类。
\hspace{15pt}第三行输入 q 个正整数 d_1, d_2, \dots, d_q\left(1 \leq d_i \leq 10^9\right) 代表小苯问的是第几天晚上的果园情况。

\hspace{15pt}除此之外,保证单个测试文件的 nq 之和均不超过 3 \times 10^5

输出描述:

\hspace{15pt}对于每一组测试数据,在单独的一行上输出 q 个整数,表示对小苯每次询问的回答。
示例1

输入

复制
1
8 3
1 2 3 3 2 3 4 4
1 2 4

输出

复制
7 3 0

说明

\hspace{15pt}在第一组测试数据中,一共有四个不同的种类,其中种类一的果子 1 个,种类二的果子 2 个,种类三的果子 3 个,种类四的果子 2 个。
\hspace{15pt}我们考虑前四天:
\hspace{15pt}在第一天过后,总数为 1 的所有种类的果子都会被小苯打下来,因此所有种类为 1 号的果子都被打了下来,还剩 7 个果子:\{2,3,3,2,3,4,4\}
\hspace{15pt}在第二天过后,总数为 2 的所有种类的果子都会被打下来,此时所有种类号为 24 的果子都被打了下来,还剩 3 个果子:\{3,3,3\}
\hspace{15pt}在第三天过后,总数为 3 的所有种类的果子都会被打下来,此时所有种类号为 3 的果子都被打下来了,还剩 0 个果子。
\hspace{15pt}在第四天时,总数为 4 的所有种类的果子都会被打下来,但此时果园中不存在总数为 4 的任何某种果子,因此第四天不打果子。