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