According to the regulations of Berland's army, a reconnaissance unit should consist of exactly two soldiers. Since these two soldiers shouldn't differ much, their heights can differ by at most *d* centimeters. Captain Bob has *n* soldiers in his detachment. Their heights are *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> centimeters. Some soldiers are of the same height. Bob wants to know, how many ways exist to form a reconnaissance unit of two soldiers from his detachment.

Ways (1, 2) and (2, 1) should be regarded as different.
The first line contains two integers *n* and *d* (1 ≤ *n* ≤ 1000, 1 ≤ *d* ≤ 10<sup class="upper-index">9</sup>) — amount of soldiers in Bob's detachment and the maximum allowed height difference respectively. The second line contains *n* space-separated integers — heights of all the soldiers in Bob's detachment. These numbers don't exceed 10<sup class="upper-index">9</sup>.
str1 = str(input())

n = int(str1.split(' ')[0])
d = int(str1.split(' ')[1])

str2 = str(input())

lis = [int(i) for i in str2.split(' ')]
lis.sort()

pair = 0
left = 0
right = 1

while right < n:
  if lis[right] - lis[left] <= d:
    pair += 2 * (right - left)
  else:
    while lis[right] - lis[left] > d and right != left:
      left += 1
    pair += 2 * (right - left)
  right += 1

print(pair)