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>.
t=1
 # t = int(input())
for i in range(t):
    #n = int(input())

    a = input() ; a = a.split()
    n = int(a[0]) ; k = int(a[1])
    a = input(); a = a.split()
    a = [int(x) for x in a]
    a.sort(reverse=True)
    j = 0
    sm = 0
    while (j < (n -1)) :
        l = 1
        while a[j] - a[j+l] <= k:
            sm += 1
            l += 1
            if (j+l) >= n:
                break
        j += 1
    print( sm*2 )