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