eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Дороги з одностороннім рухом

Дороги з одностороннім рухом

Судиславль страждає від жахливих пробок. Рік за роком ситуація погіршується, і міська влада вирішила прийняти міри. Було вирішено зробити рух на усіх вулицях одностороннім, щоб впоратись з проблемою. На жаль, вони не спланували це належним чином і ризикують залишити деякі частини міста недоступними з інших. У зв'язку з цим міністерство транспорту підготувало список пар перехресть міста, які повинні бути зв'язними після операції. Напишіть програму, яка орієнтує усі вулиці міста так, що усі вимаги залишаються задоволеними. \InputFile Перший рядок вводу містить три цілих числа \textbf{n}, \textbf{m} та \textbf{k} (\textbf{1} ≤ \textbf{n} ≤ \textbf{50000}, \textbf{0} ≤ \textbf{m}, \textbf{k} ≤ \textbf{200000}), які задають число перехресть міста, вулиць та вимог відповідно. Перехрестя пронумеровано від \textbf{1} до \textbf{n}. Наступні \textbf{m} рядків містять пари чисел \textbf{a_i}, \textbf{b_i} (\textbf{1} ≤ \textbf{a_i}, \textbf{b_i} ≤ \textbf{n}, \textbf{a_i} ≠ \textbf{b_i}), які описують одну вулицю. Спочатку усі вулиці двосторонні. Існує не більше однієї дороги між кожною парою перехресть. Наступні \textbf{k} рядків описують вимоги. Кожен з них містить пару цілих чисел \textbf{p_i}, \textbf{q_i} (\textbf{1} ≤ \textbf{p_i}, \textbf{q_i} ≤ \textbf{n}, \textbf{p_i} ≠ \textbf{q_i}), які означають, що після того, як вулиці стануть однонаправленими повинен існувати шлях з \textbf{p_i} у \textbf{q_i}. \OutputFile Виведіть у першому рядку \textbf{YES} або \textbf{NO}, у залежності від того, чи можна так визначити односторонній рух на усіх вулицях, щоб задовольнити усі вимоги. Якщо це можливо, виведіть ще \textbf{m} рядків, які містять пари \textbf{c_i}, \textbf{d_i} - опис, як направити рух на \textbf{i}-й вулиці з вхідних даних. Це значить, що рух по вулиці повинен бути можливим від перехрестя \textbf{c_i} до перехрестя \textbf{d_i}. Зверніть увагу, що порядок вулиць повинен бути таким же, як і у вхідних даних. Якщо існує декілька варіантів розв'язку, виведвть довільний з них.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4 4 3
1 2
2 3
3 1
2 4
1 3
3 1
1 4
Вихідні дані #1
YES
2 1
3 2
1 3
2 4