D. Группировка
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Набор чисел называется хорошим, если

  • размер набора (количество чисел) не более k;
  • разница между минимальным и максимальным числом не превосходит M;

Набор может содержать одинаковые значения — например, размер набора (2, 7, 3, 7) равен 4, а разница между минимальным и максимальным числом равна 7 - 2 = 5.

Дан массив целых чисел a. Разбейте его элементы на минимальное количество хороших наборов.

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

В первой строке содержатся целые числа n, M, k (1 ≤ n,  k ≤ 105, 0 ≤ M ≤ 109) — количество элементов массива, максимальная разница между числами набора и максимальный размер набора соответственно.

Во второй строке содержится n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 109) — элементы массива.

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

В единственной строке выведите минимально возможное количество хороших наборов, на которые можно разбить данный массив.

Примеры
Входные данные
4 3 3
5 8 13 21
Выходные данные
3
Входные данные
10 5 3
1 6 4 15 4 10 8 2 12 5
Выходные данные
4
Примечание

Второй тестовый пример

Массив можно разбить, например, на следующие наборы:

  • (1, 4, 6) — максимальная разница 5;
  • (2, 5) — максимальная разница 3;
  • (4, 8) — максимальная разница 4;
  • (10, 12, 15) — максимальная разница 5.