J. Паромы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Островное государство М. состоит из $$$N$$$ островов, между некоторыми островами имеется паромное сообщение. Каждый остров государства пронумерован числом от $$$1$$$ до $$$N$$$. Известно, что с каждого острова можно добраться на любой другой, возможно, с пересадками. Всего в стране есть $$$N$$$ рейсов. Так как государство находится в плачевном финансовом положении, властями М. было решено закрыть ровно один рейс между двумя островами, но с условием, чтобы всё ещё можно было добраться от каждого острова до любого другого. Так как вы – министр цифрового развития, эта задача поставлена вам. Напишите программу, которая найдёт все рейсы, после удаления которых с каждого острова М. всё ещё можно будет добраться до любого другого.

Входные данные

В первой строке содержится число $$$N$$$ $$$(3 \le N \le 10^5)$$$ – количество островов и паромных переправ. В следующих $$$N$$$ строках содержатся числа $$$u_i$$$ и $$$v_i$$$ $$$(1 \le u_i, v_i \le N, u_i \ne v_i)$$$ – номера островов, соединенных друг с другом паромной переправой. Гарантируется, что между двумя островами действует не более одного рейса. Переправа действует в любом из двух направлений. Гарантируется, что с каждого острова можно попасть на любой.

Выходные данные

В первой строке выведите число $$$k$$$ – количество переправ, после удаления которых от каждого острова можно будет добраться до любого другого.

Выведите все такие паромные переправы $$$(u_i, v_i)$$$, что после их отмены всё ещё можно будет добраться от каждого острова до любого другого. Переправы можно выводить в любом порядке, порядок перечисления островов рейса также может быть любым. Каждую переправу выводите в отдельной строке, разделяя номера островов пробелами.

Пример
Входные данные
4
2 1
2 3
2 4
1 3
Выходные данные
3
1 2
2 3
3 1