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

Сегодня у Барби гости. Она уже подготовила чай, печенье, круглый стол и $$$n$$$ стульев, ровно под число гостей.

Барби считает, что рассадка будет прелестной, если гость $$$i$$$ будет сидеть на стульях с $$$l_i$$$ места по $$$r_i$$$. Однако, прежде чем все распланировать, она забыла учесть, возможна ли вообще такая рассадка. Поэтому Барби теперь в срочном порядке, пока не прибыли гости, хочет узнать, сможет ли она рассадить всех гостей прелестным образом, или же ей придётся заново придумывать прелестную рассадку.

Времени у нее мало, так что ей понадобится ваша помощь! Определите, существует ли прелестная рассадка в текущих условиях, и, если да — найдите хотя бы одну такую.

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

В первой строке дано одно целое число $$$n$$$ — количество гостей Барби ($$$1 \le n \le 10^5$$$).

В следующих $$$n$$$ строках даны пары целых чисел $$$l_i$$$, $$$r_i$$$ — номера мест для гостя $$$i$$$ ($$$1 \le l_i \le r_i \le n$$$).

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

В первой строке выведите «YES», если Барби сможет рассадить всех гостей так, чтобы рассадка была прелестной, и «NO» иначе.

Если ответ на задачу «YES», во второй строке выведите $$$n$$$ чисел $$$a_i$$$ — описание рассадки гостей, где $$$a_i$$$ — номер гостя ($$$1 \le a_i \le n$$$), которого нужно посадить на место $$$i$$$.

Примеры

Входные данные
5
1 3
1 5
2 3
3 4
4 4
Выходные данные
YES
1 3 4 5 2
Входные данные
3
1 1
1 2
2 2
Выходные данные
NO
Входные данные
4
2 4
2 4
2 4
1 2
Выходные данные
YES
4 1 2 3