eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Дорожные работы

Дорожные работы

В некотором государстве король подсчитал собранные налоги и решил пустить их на ремонт дорог. Всего в том королевстве было \textbf{N} городов, которые соединялись \textbf{M} двусторонними дорогами таким образом, что из любого города можно было проехать в любой другой. Дорожная сеть находилась в катастрофическом состоянии, поэтому король решил, пока еще собранные деньги не обесценились, починить за лето как можно большее количество дорог. Жители королевства возмутились тем, что все пути, которыми они пользовались ежедневно, будут закрыты на лето. Поэтому королю пришлось пойти на уступки, пообещав, что для любого города будет закрыто на ремонт не более одной дороги, выходящей из него. Помогите королю выполнить свой план, не вызвав недовольства со стороны жителей. \InputFile В первой строке расположены через пробел два целых числа: \textbf{N} и \textbf{M} (\textbf{2} ≤ \textbf{N} ≤ \textbf{10^5}, \textbf{M = N−1}). В следующих \textbf{M }строках описываются дороги королевства в виде пар (\textbf{a_i}, \textbf{b_i}) --- номеров городов, соединяемых очередной дорогой (\textbf{1 }≤ \textbf{a_i}, \textbf{b_i} ≤ \textbf{N}). \OutputFile В первой строке выведите целое число \textbf{K} --- максимальное число дорог, которые можно закрыть на ремонт, не вызвав беспорядков в народе. В следующих \textbf{K} строках выведите описание дорог в том же формате, в каком оно было приведено во входных данных.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
4 3
1 2
2 3
3 4
Выходные данные #1
2
1 2
3 4
Автор Д.Иванков & А.Ипатов
Источник Petrozavodsk summer training camp, August 2005