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>.
def f(n, d, array):
    sa = sorted(array)
    diff = [0] * n
    answer = 0
    for i, a in enumerate(array):
        if i>0:
            diff[i] = sa[i] - sa[i-1]
    for i, a in enumerate(array): 
        j = i + 1
        if j < n: 
            dist = diff[j]
            while dist <= d:
                answer += 1
                j += 1
                if j == n:
                    break
                dist += diff[j]
    return answer*2

if __name__ == '__main__':
    for line in sys.stdin:
        n_d = [int(v) for v in line.split()]
        n, d = n_d[0], n_d[1]
        array = [int(a) for a in sys.stdin.readline().split()]
        answer = f(n, d, array)
        print(answer)
