F. Рёбра на простых циклах
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Задан неориентированный граф, состоящий из $$$n$$$ вершин и $$$m$$$ рёбер. Граф не обязательно связный. Гарантируется, что в графе нет кратных рёбер и петель.

Цикл в графе называется простым, если он содержит каждую свою вершину ровно один раз (под своими вершинами цикла понимаются все вершины, которые входят в этот цикл).

Определите рёбра, которые лежат ровно на одном простом цикле.

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

В первой строке следуют два целых числа $$$n$$$ и $$$m$$$ $$$(1 \le n \le 100\,000$$$, $$$0 \le m \le \min(n \cdot (n - 1) / 2, 100\,000))$$$ — количество вершин и количество рёбер.

В следующих $$$m$$$ строках следует по два целых числа $$$u$$$ и $$$v$$$ ($$$1 \le u, v \le n$$$, $$$u \neq v$$$) — описание рёбер графа.

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

В первую строку выведите количество рёбер, которые лежат ровно на одном простом цикле.

Во вторую строку выведите номера рёбер, лежащих ровно на одном простом цикле, в порядке возрастания. Рёбра нумеруются начиная с единицы в том же порядке, в котором заданы во входных данных.

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