Problems
Связность графа
Связность графа
Дан граф, содержащий \textbf{N} вершин и \textbf{M} рёбер (\textbf{1} ≤ \textbf{N} ≤ \textbf{1000}, \textbf{1} ≤ \textbf{M} ≤ \textbf{7000}).
Требуется найти наименьшее число рёбер и эти рёбра, которые нужно добавить, чтобы гарф стал связным.
\InputFile
Во входном файле записаны сначала числа \textbf{N} и \textbf{M}, затем идёт описание рёбер графа - \textbf{M} пар чисел, где каждая пара описывает начало и конец ребра.
\OutputFile
В первую строку вывести единственное число \textbf{K} - минимальное количество рёбер, которое нужно добавить. В следующих \textbf{K} строках выведите по \textbf{2} числа - начало и конец нового ребра.
Input example #1
3 1 2 1
Output example #1
1 1 3