Последовательность 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) — количество добавленных ориентированных рёбер. В каждой из следующих строк выведите описание одного добавленного ребра в том же формате, что и во входных данных.

Esempio 1
Esempio 2