Задача B. Неуловимый Джо

Автор:Евгений Татаринов   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  

Условие

За Неуловимым Джо началась жесткая погоня, из-за чего ему пришлось убегать от преследователей по крышам домов! Дома пронумерованы от 1 до n, i-й дом имеет высоту, равную hi метрам. Джо последовательно бежит от дома к дому в порядке номеров, то есть от первого ко второму, от второго к третьему и так далее до того момента, как он прыгнет на самый последний дом и спрячется в свое укрытие, которое находится в n-м доме.

Неуловимый Джо умеет перемещаться с одной высоты на другую высоту только в том случае, когда разность высот не превосходит l метров, в противном случае ему придется использовать специальный трос (таких тросов у Джо ровно k штук, каждый трос можно использовать только один раз). Обратите внимание, что если высота дома, с которого Джо хочет спрыгнуть, выше l метров, то Джо для этого обязан использовать трос.

Также Джо может прыгать с крыши домов на землю (для простоты будем считать, что земля имеет высоту 0). Однако Джо не может ходить по земле — так его с легкостью поймают. Поэтому, если Джо спрыгнул с (i − 1)-го дома, то он пройдет только вдоль i-го дома, а затем запрыгнет на (i + 1)-й дом (использовав трос, если высота дома больше l метров). В самом начале погони Джо может выбрать, где он будет стартовать — на крыше первого дома или на земле около первого дома.

Определите, сможет ли Неуловимый Джо спрятаться в своем укрытии или нет. Джо не важно, окажется он на крыше здания или на земле рядом с ним, он сможет спрятаться в любом случае.

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

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

В следующей строке вводится последовательность натуральных чисел h1, h2, ..., hn — высоты домов (1 ≤ hi ≤ 109).

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

Если Джо сможет добежать до укрытия, выведите YES, иначе выведите NO.

Примечание

В первом примере Джо будет действовать следующим образом:

  1. Изначально Джо запрыгнет на крышу первого дома;
  2. С крыши первого дома Джо прыгнет на землю около второго дома;
  3. С земли около второго дома Джо поднимется на крышу третьего дома;
  4. С крыши третьего дома Джо спрыгнет на землю около четвертого дома;
  5. С земли около четвертого дома Джо прыгнет на крышу пятого дома.

Во втором примере Джо будет стартовать с земли около первого дома, а затем запрыгнет на крышу второго дома.

Примеры тестов

Стандартный вход Стандартный выход
1
5 1 3
3 7 2 6 3
YES
2
2 0 3
6 2
YES

0.111s 0.033s 13