10616: Магнітні подушки
В місті є \(N\) хмарочосів та \(M\) магнітних подушок.
Кожна магнітна подушка з'єднує РІВНО ТРИ хмарочоса, і є телепортом між цими хмарочосами.
Один хмарочос може бути під'єднаний до кількоїх магнітних подушок.
Наприклад може бути магнітна подушка, яка з'єднує хмарочоси 1, 2, 3 і магнітна подушка, яка з'єднує хмарочоси 1, 2, 5.
Гарантується, що між будь-якими парами хмарочосів існує шлях через мережу магнітних подушок (якщо хмарочос належить до кількох подушок, то в ньому можна робити пересадку з подушки на подушку).
Напишіть програму, яка визначить - які з магнітних подушок є критичними, тобто такими, що видалення такої подушки призведе до того, що перестане існувати можливість дістатись між будь-якою парою хмарочосів.
Формат вхідних даних
В першому рядку числа \(N,M\) - кількість хмарочосів та кількість магнітних подушок (3 ≤ N ≤ 100000, 1 ≤ M ≤ 100000).>
В кожному з наступних \(M\) рядків знаходиться три різних цілих числа - номера хмарочосів, які з'єднані подушкою.
Формат вихідних даних
Виведіть в першому рядку кількість критичних магнітних подушок (відключення яких приведе до розриву комунікації між якимись хмарочосами).
В другому рядку виведіть через пробіл номера критичних магнітних подушок в порядку зростання.
Приклад вхідних даних-1
3 1
1 2 3
Приклад вихідних даних-1
1
1
Приклад вхідних даних-2
3 2
1 2 3
3 2 1
Приклад вихідних даних-2
0
Приклад вхідних даних-3
5 4
1 2 3
2 4 3
1 2 4
3 5 1
Приклад вихідних даних-3
1
4
Коментарі