Послідовність 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
Приклад 2