Большие планы | 프로그래밍의 벗 PivotOJ
PivotOJ

Большие планы

시간 제한: 1000ms메모리 제한: 1024MB출처: MOOI 2015-16 qualBOJ 30764

문제

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

Геннадий только что получил шенгенскую мультивизу на aa дней. Он уже запланировал nn поездок, когда узнал о наличии дополнительного требования миграционной полиции: для любых последовательных bb дней он может находиться в шенгенской зоне не более, чем cc дней. При этом день приезда и день отъезда считаются полностью проведёнными в шенгенской зоне днями. Теперь Геннадий просит вас определить, соответствует ли его план требованиям миграционной полиции, или ему лучше сразу отказаться от части поездок. % пока его не загребли

입력

Первая строка ввода содержит четыре целых числа nn, aa, bb и cc (1n1000001 \leq n \leq 100\,000, 1cba10000001 \leq c \leq b \leq a \leq 1\,000\,000) --- количество поездок, запланированных Геннадием, продолжительность действия мультивизы в днях и параметры требования миграционной полиции соответственно.

Следующие nn строк описывают сами предполагаемые поездки. Каждое описание содержит два числа lil_i и rir_i (1liria1 \leq l_i \leq r_i \leq a) --- предполагаемые день отъезда и день приезда для ii-го путешествия соответственно.

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

출력

Выведите "Yes", если текущий план Геннадия не нарушает правил миграционной полиции по пребыванию на территории стран шенгенской зоны, в противном случае выведите "No" .

힌트

Во втором тесте из примера 180-дневное окно с дня 11 по день 180180 (включительно) содержит 9191 день предполагаемого пребывания Геннадия в шенгенской зоне, а следовательно не попадает под правила миграционной полиции.

В третьем тесте из примера одним из 100-дневных окон, нарушающих правило, будет окно с дня 44 по день 103103 (включительно). В этот период Геннадий планирует пробыть на территории стран шенгенской зоны с дня 44 по день 2121 (1818 дней) и ещё с дня 100100 по день 103103 (44 дня), что в сумме даст 2222 дня.

예제

예제 1

입력
1 1000 180 90
2 91
출력
Yes

예제 2

입력
1 1000 180 90
1 91
출력
No

예제 3

입력
2 1000 100 20
3 21
100 110
출력
No

예제 4

입력
2 300 10 10
181 270
1 90
출력
Yes
이 문제는 채점 준비 중입니다. 테스트 데이터가 확보되면 제출이 가능합니다.