Дан граф, содержащий N вершин и M рёбер (1 ≤ N ≤ 1000, 1 ≤ M ≤ 7000).
Требуется найти наименьшее число рёбер и эти рёбра, которые нужно добавить, чтобы гарф стал связным.
Во входном файле записаны сначала числа N и M, затем идёт описание рёбер графа - M пар чисел, где каждая пара описывает начало и конец ребра.
В первую строку вывести единственное число K - минимальное количество рёбер, которое нужно добавить. В следующих K строках выведите по 2 числа - начало и конец нового ребра.