CF BUDDY
← Problems·

1641A · Great Sequence

1200 · brute force, greedy, sortings

Problem: A sequence of positive integers is called great for a positive integer xx, if we can split it into pairs in such a way that in each pair the first number multiplied by xx is equal to the second number. More formally, a sequence aa of size nn is great for a positive integer xx, if nn is even and there exists a permutation pp of size nn, such that for each ii (1in21 \le i \le \frac{n}{2}) ap2i1x=ap2ia_{p_{2i-1}} \cdot x = a_{p_{2i}}.

Sam has a sequence aa and a positive integer xx. Help him to make the sequence great: find the minimum possible number of positive integers that should be added to the sequence aa to make it great for the number xx.

Input Format: Each test contains multiple test cases. The first line contains a single integer tt (1t200001 \le t \le 20\,000) — the number of test cases. Description of the test cases follows.

The first line of each test case contains two integers nn, xx (1n21051 \le n \le 2 \cdot 10^5, 2x1062 \le x \le 10^6).

The next line contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n (1ai1091 \le a_i \le 10^9).

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

Output Format: For each test case print a single integer — the minimum number of integers that can be added to the end of aa to make it a great sequence for the number xx.

Note: In the first test case, Sam got lucky and the sequence is already great for the number 44 because you can divide it into such pairs: (1,4)(1, 4), (4,16)(4, 16). Thus we can add 00 numbers.

In the second test case, you can add numbers 11 and 1414 to the sequence, then you can divide all 88 integers into such pairs: (1,2)(1, 2), (1,2)(1, 2), (2,4)(2, 4), (7,14)(7, 14). It is impossible to add less than 22 integers to fix the sequence.

Sample Cases

Case 1

Input

4
4 4
1 16 4 4
6 2
1 2 2 2 4 7
5 3
5 2 3 5 15
9 10
10 10 10 20 1 100 200 2000 3

Output

0
2
3
3

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback