D. Unwanted Divisors
time limit per test
2 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

You're given an array of integers $$$a_1, a_2, \dots, a_n$$$. You need to process $$$q$$$ queries. In each query, you're given an integer $$$b$$$. you need to find the number of divisors of $$$b$$$ that aren't present in the array $$$a$$$.

Input

The first line contains a single integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases. The description of the test cases follows.

The first line of each test case contains two integers $$$n$$$ and $$$q$$$ $$$\left(1 \leq n \leq 10^5;\ 1 \leq q \leq 10^5\right)$$$ — the length of the array and the number of queries.

The second line of each test case contains $$$n$$$ integers $$$a_i$$$ $$$(1 \leq a_i \leq 10^5)$$$ — the array.

The third line of each test case contains $$$q$$$ integers $$$b_i$$$ $$$(1 \leq b_i \leq 10^5)$$$ — the queries.

It is guaranteed that the sum of $$$n$$$ over all test cases doesn't exceed $$$10^5$$$, the sum of $$$q$$$ doesn't exceed $$$10^5$$$.

Output

For each test case, output the answers to the queries on separate lines.

Example
Input
1
5 2
1 3 6 9 10
6 18
Output
1
2