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

Задача . B. Поверните прямоугольники


В ряд стоят \(n\) прямоугольников. Каждый из них вы можете либо повернуть на \(90\) градусов, либо оставить как есть. Если вы поворачиваете прямоугольник, то его высота станет шириной, а ширина — высотой. Заметьте, что вы можете повернуть любое количество прямоугольников, а так же вы можете повернуть все или не поворачивать ни один. Вы не можете менять порядок следования прямоугольников.

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

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

Первая строка содержит одно целое число \(n\) (\(1 \leq n \leq 10^5\)) — количество прямоугольников.

Каждая из следующих \(n\) строк содержит два целых числа \(w_i\) и \(h_i\) (\(1 \leq w_i, h_i \leq 10^9\)) — ширина и высота \(i\)-го прямоугольника.

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

Выведите «YES» (без кавычек), если можно так повернуть прямоугольники, что они станут идти в порядке невозрастания высоты, иначе выведите «NO».

Вы можете выводить каждую из букв в любом регистре (строчную или заглавную).

Примечание

В первом тесте можно повернуть второй и третий прямоугольники, тогда высоты будут [4, 4, 3].

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


Примеры
Входные данныеВыходные данные
1 3
3 4
4 6
3 5
YES
2 2
3 4
5 5
NO

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

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