#Lutece2940. 衔尾蛇:终焉的二重奏

衔尾蛇:终焉的二重奏

Migrated from Lutece 2940 衔尾蛇:终焉的二重奏

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

Groove CoasterGroove\ Coaster 的轨道可以看做 nn 个点 mm 条边组成的无向连通图,对立随机降落在一个点上,并开始在轨道上游走。

每条边对立只能走一次,游走完之后,她发现她不重不漏地走完了这 mm 条边(不需要回到第一个点),走过的轨迹形似一条蛇,对立把她走过的最后一条边叫做蛇尾。

光光想去找对立玩游戏,但她不知道对立现在哪里,请你帮助光找到所有可能是蛇尾的边。

如果对立无论从哪里出发都无法不重不漏地走完每一条边,输出no ouroboros here

Input

第一行输入两个整数 nn, mm,表示点数与边数。

接下来的 mm 行每行输入两个整数,第 i+1i+1 行输入两个数 xix_iyiy_i ,表示第 ii 条边连接的两个结点。

Output

如果有解,第一行输出一个数 kk 表示可能是蛇尾的边的数量,第二行 kk 个数从小到大输出所有可能是蛇尾的边的编号。

如果无解输出no ouroboros here

Samples

输入数据 1

6 7
1 2
2 3
1 3
3 4
4 5
5 6
4 6

输出数据 1

4
2 3 5 7

Constraints

2n,m2×1052 \leq n, m \leq 2 \times 10^5,(数据保证无自环,重边视为多条边)

Note

样例解释: 从编号为3的点出发,蛇尾可能是5号边或7号边;从编号为4的点出发,蛇尾可能是2号边或3号边。

Resources

2023 UESTC ICPC Training for Graph