#426. 伏犬的畅通工程

伏犬的畅通工程

题目描述

伏犬同学有个好朋友,叫渡渡鸟公爵。

在渡渡鸟,鸭子,鹦鹉和鸽子的联合王国中,没有一条路,因为大部分的鸟都会飞行。遗憾的是,渡渡鸟不会飞行!

所以为了旅行的更快,渡渡鸟们开始在王国中修建道路。在王国中有 NN 座城市,城市的编号为 1,2,...,N1, 2, ..., N ,然后渡渡鸟公爵——渡渡鸟的伟大领袖计划修建 MM 条道路,道路的编号为 1,2,...,M1, 2, ..., M 。但是渡渡鸟公爵非常吝啬,他不希望任何两座城市之间可以通过不同的简单路径互相到达,他觉得这是对资源的浪费。所谓的从 aabb 的一条简单路径,就是一条依次经过节点 a, v1, v2, ..., vk, ba,\ v_1,\ v_2,\ ...,\ v_k,\ b 的路径( kk 可以为 00 ),满足序列中不会有某个节点出现两次。

所以当计划开始时,渡渡鸟的修路工人按照伟大的计划一条一条地修建道路,但是如果建造了这条道路会导致,存在两座不同的城市 a, ba,\ b 可以通过不同的简单路径互相到达,那么这条路就会被跳过而不会被修建,工人们转而考虑下一条道路。

在计划开始之前,渡渡鸟公爵希望你告诉他有多少条路最终会被修建,这些路又是哪些。

输入格式

第一行包含两个整数 N, MN,\ M

接下来 MM 行,每行包含两个整数 ui, viu_i,\ v_i ,代表计划中的第 ii 条路。

输出格式

第一行包含一个整数,表示将要修建的道路数。

第二行包含升序排列的要修建的道路的编号,用一个空格互相隔开。

样例

样例输入

3 3
1 2
1 3
2 3

样例输出

2
1 2

数据范围与提示

1N, M21051 \le N,\ M \le 2 \cdot 10^5

1ui, viN1 \le u_i,\ v_i \le N

我他妈真编不出来题面了,操