ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1569. Сети в Исети

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Problem illustration
До торжественного открытия небоскрёба Исеть осталось совсем немного, а в здании ещё не проведена компьютерная сеть, которую планировали сделать надёжной и разветвлённой. Всего в здании имеется N узлов, которые требуется объединить в сеть. Предполагалось соединить их с помощью M прямых каналов, при этом между каждой парой узлов могло быть не более одного прямого канала. Для экономии времени было решено сначала смонтировать только минимально необходимое количество соединений, так чтобы сеть была связной, а остальные закончить уже после торжественного открытия. Но, чтобы сеть работала быстрее, было поставлено условие: среди всех возможных конфигураций сети выбрать ту, в которой наибольшее расстояние между узлами было бы минимальным. Расстоянием между узлами называется количество промежуточных узлов на пути от одного к другому.

Исходные данные

Первая строка содержит целые числа N (2 ≤ N ≤ 100) и M (1 ≤ M ≤ 10000). В следующих M строках описан первоначальный план сети в виде пар узлов, которые надо соединить напрямую. В каждой из этих строк содержатся номера узлов, которые соединяются очередным прямым каналом. Узлы занумерованы от 1 до N. Гарантируется, что сеть по плану является связной и никакой канал не соединяет некоторый узел сам с собой.

Результат

Выведите новый план сети в том же формате.

Пример

исходные данныерезультат
4 4
1 2
2 3
2 4
3 4
1 2
2 3
2 4
Автор задачи: Сергей Пупырев
Источник задачи: XII Чемпионат УрГУ по программированию, 6 октября, 2007