CF1850D.Balanced Round

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

Balanced Round

You are the author of a Codeforces round and have prepared nn problems you are going to set, problem ii having difficulty aia_i. You will do the following process:

  • remove some (possibly zero) problems from the list;
  • rearrange the remaining problems in any order you wish.

A round is considered balanced if and only if the absolute difference between the difficulty of any two consecutive problems is at most kk (less or equal than kk).

What is the minimum number of problems you have to remove so that an arrangement of problems is balanced?

Input

The first line contains a single integer tt (1t10001 \leq t \leq 1000) — the number of test cases.

The first line of each test case contains two positive integers nn (1n21051 \leq n \leq 2 \cdot 10^5) and kk (1k1091 \leq k \leq 10^9) — the number of problems, and the maximum allowed absolute difference between consecutive problems.

The second line of each test case contains nn space-separated integers aia_i (1ai1091 \leq a_i \leq 10^9) — the difficulty of each problem.

Note that the sum of nn over all test cases doesn't exceed 21052 \cdot 10^5.

Output

For each test case, output a single integer — the minimum number of problems you have to remove so that an arrangement of problems is balanced.

Note

For the first test case, we can remove the first 22 problems and construct a set using problems with the difficulties [4,5,6][4, 5, 6], with difficulties between adjacent problems equal to 54=11|5 - 4| = 1 \leq 1 and 65=11|6 - 5| = 1 \leq 1.

For the second test case, we can take the single problem and compose a round using the problem with difficulty 1010.

Samples

7
5 1
1 2 4 5 6
1 2
10
8 3
17 3 1 20 12 5 17 12
4 2
2 4 6 8
5 3
2 3 19 10 8
3 4
1 10 5
8 1
8 3 1 4 5 10 7 3
2
0
5
0
3
1
4

在线编程 IDE

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