eolymp
bolt
Try our new interface for solving problems
Problems

Дороги с односторонним движением

Дороги с односторонним движением

Судиславль страдает от ужасных пробок. Год за годом ситуация ухудшается, и городские власти решили принять меры. Они решили сделать движение на всех улицах односторонним, чтобы справиться с проблемой. К сожалению, они не спланировали это должным образом и рискуют оставить некоторые части города недоступными из других. В связи с этим министерство транспорта подготовило список пар перекрёстков города, которые должны быть связными после операции. Напишите программу, которая ориентирует все улицы города так, что все требования остаются удовлетворены. \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}. Обратите внимание, что порядок улиц должен быть таким же, как и на входе. Если существует несколько вариантов решения, выведите любой из них.
Time limit 2 seconds
Memory limit 64 MiB
Input example #1
4 4 3
1 2
2 3
3 1
2 4
1 3
3 1
1 4
Output example #1
YES
2 1
3 2
1 3
2 4