EduBrick

L. Точки на прямой

2000 мс · 256 МБ · всё или ничего

На прямой отмечены nn различных точек. Сколькими способами можно выбрать три из них так, чтобы расстояние между двумя самыми удалёнными выбранными не превосходило dd?

Порядок точек внутри тройки значения не имеет.

Перебирать тройки нельзя: их около 101510^{15}. Отсортируйте точки и для каждой правой границы посчитайте, сколько точек попадает в окно, — а дальше комбинаторика.

Формат ввода

Первая строка содержит числа nn и dd (1≤n≤1051 \le n \le 10^5, 1≤d≤1091 \le d \le 10^9).

Вторая строка содержит nn различных целых чисел, не превосходящих 10910^9 по модулю, — координаты точек.

Формат вывода

Одно число — количество троек. Ответ помещается в 64-битный тип.

Примеры

ввод
4 3
1 2 3 4
вывод
4
ввод
4 2
-3 -2 -1 0
вывод
2
ввод
5 19
1 10 20 30 50
вывод
1
Войдите, чтобы отправлять решения.