Граф#7618

Граф

1 секунда
128 мегабайтів
Складна

Послідовність a_1, a_2, \ldots, a_n називається перестановкою, якщо вона містить кожне ціле число від до рівно один раз.

Перестановка вершин a_1, a_2, \ldots, a_n називається топологічним сортуванням орієнтованого графа, якщо для кожного орієнтованого ребра з до вершина розташована в цій перестановці раніше за вершину .

Перестановка a_1, a_2, \ldots, a_n лексикографічно менша за перестановку b_1, b_2, \ldots, b_n, якщо існує такий індекс , що a_i = b_i для всіх 1 \le i < m та a_m < b_m.

Задано орієнтований ациклічний граф. Додайте до нього не більше орієнтованих ребер так, щоб отриманий граф залишився ациклічним, а його лексикографічно найменше топологічне сортування було якомога більшим.

Вхідні дані

Перший рядок містить три цілих числа , та k~(1 \le n \le 10^5, 0 \le m, k \le 10^5) — кількість вершин та орієнтованих ребер у вихідному графі, а також максимальну кількість орієнтованих ребер, яку дозволено додати.

Кожен з наступних рядків містить два цілих числа u_i та v_i~(1 \le u_i, v_i \le n), що описують орієнтоване ребро з u_i до v_i.

Гарантується, що граф не містить циклів.

Вихідні дані

У першому рядку виведіть цілих чисел — лексикографічно найменше топологічне сортування зміненого графа. У другому рядку виведіть одне ціле число (0 \le x \le k) — кількість доданих орієнтованих ребер. У кожному з наступних рядків виведіть опис одного доданого ребра у тому самому форматі, що й у вхідних даних.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading