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>.
class CodeforcesTask32ASolution:
    def __init__(self):
        self.result = ''
        self.n_d = []
        self.heights = []

    def read_input(self):
        self.n_d = [int(x) for x in input().split(" ")]
        self.heights = [int(x) for x in input().split(" ")]

    def process_task(self):
        ways = 0
        d = self.n_d[1]
        for x in range(self.n_d[0]):
            for y in range(self.n_d[0]):
                if x != y:
                    if abs(self.heights[x] - self.heights[y]) <= d:
                        ways += 1
        self.result = str(ways)

    def get_result(self):
        return self.result


if __name__ == "__main__":
    Solution = CodeforcesTask32ASolution()
    Solution.read_input()
    Solution.process_task()
    print(Solution.get_result())
