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>.
# https://codeforces.com/problemset/problem/32/A
d, count = int(input().split(' ')[1]) , 0
input_arr = list(map(int, input().split(' ')))


for i in range(len(input_arr)):
    modified_arr = [s for s in input_arr if s != input_arr[i]]
    #print(modified_arr)
    minimum, maximum = input_arr[i]-d , input_arr[i]+d
    #print('min: '+str(minimum)+'  ; max:'+str(maximum))
    for j in modified_arr:
        if (j >= minimum) and (j <= maximum):
            #print(j)
            count += 1

print(count)
