import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
ArrayList<Long> list = new ArrayList<>();
// 注意 hasNext 和 hasNextLine 的区别
long n = in.nextLong();
long k = in.nextLong();
for (int i = 0; i < n; i++) {
list.add(in.nextLong());
}
long count = 0;
list.sort(Collections.reverseOrder());
for (int i = 0; i < list.size() - 1;) {
if (list.get(i) - list.get(i + 1) <= k) {
count += list.get(i) * list.get(i + 1);
i += 2;
} else {
i += 1;
}
}
System.out.println(count);
}
}