CF1883C.Raspberries

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Raspberries

You are given an array of integers a1,a2,,ana_1, a_2, \ldots, a_n and a number kk (2k52 \leq k \leq 5). In one operation, you can do the following:

  • Choose an index 1in1 \leq i \leq n,
  • Set ai=ai+1a_i = a_i + 1.

Find the minimum number of operations needed to make the product of all the numbers in the array a1a2ana_1 \cdot a_2 \cdot \ldots \cdot a_n divisible by kk.

Input

Each test consists of multiple test cases. The first line contains a single integer tt (1t1041 \leq t \leq 10^4) — the number of test cases. Then follows the description of the test cases.

The first line of each test case contains two integers nn and kk (2n1052 \leq n \leq 10^5, 2k52 \leq k \leq 5) — the size of the array aa and the number kk.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n (1ai101 \leq a_i \leq 10).

It is guaranteed that the sum of nn over all test cases does not exceed 21052 \cdot 10^5.

Output

For each test case, output the minimum number of operations needed to make the product of all the numbers in the array divisible by kk.

Note

In the first test case, we need to choose the index i=2i = 2 twice. After that, the array will be a=[7,5]a = [7, 5]. The product of all the numbers in the array is 3535.

In the fourth test case, the product of the numbers in the array is 120120, which is already divisible by 55, so no operations are needed.

In the eighth test case, we can perform two operations by choosing i=2i = 2 and i=3i = 3 in any order. After that, the array will be a=[1,6,10]a = [1, 6, 10]. The product of the numbers in the array is 6060.

Samples

15
2 5
7 3
3 3
7 4 1
5 2
9 7 7 3 9
5 5
5 4 1 2 3
7 4
9 5 1 5 9 5 1
3 4
6 3 6
3 4
6 1 5
3 4
1 5 9
4 4
1 4 1 1
3 4
3 5 3
4 5
8 9 9 3
2 5
1 6
2 5
10 10
4 5
1 6 1 1
2 5
7 7
2
2
1
0
2
0
1
2
0
1
1
4
0
4
3

在线编程 IDE

建议全屏模式获得最佳体验