Надіслати розв'язок
Бали:
28,00 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Author:
Problem types
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb
Ви знайшли набір лего і тепер хочете збудувати з нього велику палицю. У вас є ~n~ фігур і відомо, що кожна фігура ~i~ (де ~i~ є ~[1,n]~) повинна бути лівим кінцем палиці або мати лівого сусіда ~l~ такого, що ~SR_l~ = ~SL_i~ та бути правим кінцем палиці, або мати зправа такого сусіда ~r~, що ~SL_r~ = ~SR_i~, якщо в порядку зліва направо перед ~i~ стоять ~p_i~ елементів, то ~p_l~ = ~p_i - 1~, ~p_r~ = ~p_i + 1~.
Виведіть YES та таку перестановку індексів фігур (~n~ чисел), що може утворювати палицю, або NO - якщо це не можливо.
Input
~n~ ~k~
~SL_1~ ~SR_1~
~SL_2~ ~SR_2~
...
~SL_n~ ~SR_n~
Output
Виведідь відповідь
Обмеження
~1 \le n,k \le 10^6~
~1 \le SL_i,SR_i \le k~
Sample Input 1
5 2
1 1
1 2
2 1
1 1
2 1
Sample Output 1
YES
5 4 2 3 1
Sample Input 2
5 3
1 2
3 3
1 3
2 1
2 2
Sample Output 2
YES
1 5 4 3 2
Sample Input 3
4 4
1 2
2 1
3 4
4 3
Sample Output 3
NO
Коментарі