Олимпиадный тренинг

Задача . G. Роботы с искуственным интеллектом


В последней миссии MDCS успешно запустили \(N\) роботов с искусственным интеллектом на Марс. Перед тем, как приступить к изучению местности, роботов нужно инициализировать, а для этого всех роботов выстроили в линию. Каждый робот может быть представлен тремя числами: позицией (\(x_i\)), радиусом видимости (\(r_i\)) и IQ (\(q_i\)).

Так как роботы умные, некоторые из них будут разговаривать между собой, если они видят друг друга. Робот может видеть всех роботов на отрезке \([x_i - r_i, x_i + r_i]\) включительно. Однако не все роботы будут разговаривать, только те, у которых похожий IQ. Два IQ похожи, если их разность по модулю не превосходит \(K\).

Помогите нам вычислить, сколько пар роботов могут поговорить друг с другом, чтобы мы могли правильно запланировать обновления и не допустить ссор.

Входные данные

Первая строка содержит два целых числа \(N (1 \leq N \leq 10^5) \) и \(K (0 \leq K \leq 20)\).

Следующие \(N\) строк содержат по три целых числа \(x_i, r_i, q_i (0 \leq x_i,r_i,q_i \leq 10^9)\) — позицию, радиус видимости и IQ каждого робота.

Выходные данные

Выведите одно число — ответ на задачу.

Примечание

В примере первый робот видит второго, но не наоборот. Первый робот не видит третьего. Второй и третий робот видят друг друга, и их IQ не отличается более, чем на 2, поэтому только они могут поговорить друг с другом.


Примеры
Входные данныеВыходные данные
1 3 2
3 6 1
7 3 10
10 5 8
1

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя