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>.
numbers = list(map(int,input().split(" ")))
soldados = list(map(int,input().split(" ")))

quantidade = 0

soldados.sort()
for x in range(numbers[0]-1):
    i=1
    while soldados[x]<soldados[x+i]+numbers[1]:
        if abs(soldados[x] - soldados[x+i]) <= int(numbers[1]):
            quantidade+=1
        if i+x <numbers[0]-1:
            i+=1
        else:
            break
print(quantidade*2)

# 1512825064436
