while True:
    try:
        n, k = map(int, input().split())
        number = list(map(int, input().split()))
        sorted_number = sorted(number, reverse=True)
        # print(sorted_number)

        total = 0
        flag = True
        for i in range(len(sorted_number) - 1):
            if flag:
                if sorted_number[i] - sorted_number[i+1] <= k:
                    total += sorted_number[i] * sorted_number[i+1]
                    # 利用flag来跳过已经用过的sorted_number[i+1],即题目中的“被配对的两个数随即从数组中移除,之后不可再次使用”
                    flag = False
            else:
                flag = True
        print(total)

    except Exception as e:
        break