#P1156C. Match Points

    ID: 4542 Type: RemoteJudge 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>binary searchgreedysortingsternary searchtwo pointers*2000

Match Points

Description

You are given a set of points x1x_1, x2x_2, ..., xnx_n on the number line.

Two points ii and jj can be matched with each other if the following conditions hold:

  • neither ii nor jj is matched with any other point;
  • xixjz|x_i - x_j| \ge z.

What is the maximum number of pairs of points you can match with each other?

The first line contains two integers nn and zz (2n21052 \le n \le 2 \cdot 10^5, 1z1091 \le z \le 10^9) — the number of points and the constraint on the distance between matched points, respectively.

The second line contains nn integers x1x_1, x2x_2, ..., xnx_n (1xi1091 \le x_i \le 10^9).

Print one integer — the maximum number of pairs of points you can match with each other.

Input

The first line contains two integers nn and zz (2n21052 \le n \le 2 \cdot 10^5, 1z1091 \le z \le 10^9) — the number of points and the constraint on the distance between matched points, respectively.

The second line contains nn integers x1x_1, x2x_2, ..., xnx_n (1xi1091 \le x_i \le 10^9).

Output

Print one integer — the maximum number of pairs of points you can match with each other.

Sample Input 1

4 2
1 3 3 7

Sample Output 1

2

Sample Input 2

5 5
10 9 5 8 7

Sample Output 2

1

Note

In the first example, you may match point 11 with point 22 (312|3 - 1| \ge 2), and point 33 with point 44 (732|7 - 3| \ge 2).

In the second example, you may match point 11 with point 33 (5105|5 - 10| \ge 5).