Матрёшка — традиционная русская рекурсивная игрушка. Но время не стоит на месте, и даже матрёшка нуждается
в щепотке инноваций. Использование новейших наноматериалов позволило сделать стенку матрёшки сколь угодно
тонкой без потери прочности. Вскоре наноматрёшки появились на прилавках всех рынков страны. И теперь перед
торговцем Александром встала острая проблема: как разместить всех наноматрёшек на прилавке?
Каждая наноматрёшка характеризуется парой целых чисел — внутренним и внешним объёмом. Одна наноматрёшка
вложима в другую, если внешний объём первой не превосходит внутреннего объёма второй. Александр твёрдо убеждён,
что наноматрёшки нужно выложить на прилавок в ряд так, чтобы любая наноматрёшка, кроме последней, не вкладывалась
в следующую. Помогите Александру, и, возможно, он продаст вам пару наноматрёшек со скидкой!
Исходные данные
В единственной строке дано целое число n (2 ≤ n ≤ 105) — количество наноматрёшек. В следующих n строках дано описание
наноматрёшек. В каждой строке дано два целых числа, разделённых пробелом — внутренний и внешний объёмы очередной
наноматрёшки. Гарантируется, что внутренний объём не превышает внешний, но может быть равен ему.
Оба числа лежат в диапазоне от 1 до 106.
Результат
Если не существует требуемого размещения наноматрёшек на прилавке, выведите в единственной строке слово «No».
Иначе в первой строке выведите слово «Yes», а во второй n чисел — номера матрёшек, разделённые пробелом, в порядке
размещения их на прилавке. Матрёшки пронумерованы с единицы в порядке появления их во входе. Если существует
несколько правильных ответов, выведите любой.
Примеры
исходные данные | результат |
---|
3
1 5
2 2
6 7
| Yes
3 1 2
|
3
2 2
2 2
3 4
| No
|
Автор задачи: Олег Меркурьев
Источник задачи: Ural FU Dandelion contest. Petrozavodsk training camp. Summer 2014