#2739. 奇数度数

奇数度数

题目描述

奶牛们遭到了进攻!在他们的共和国里,有N(1<=N<=50,000)\red{N(1 <= N <=50,000)}个城市,由M(1<=M<=100,000)\red{M(1 <= M <= 100,000)}条无向的道路连接城市Ai\red{A_i}Bi(1<=Ai<=N\red{B_i(1 <= A_i <= N};1<=Bi<=N\red{1 <= B_i <= N};Ai!=Bi\red{A_i != B_i}; 不会有重复的道路出现)\red{)}。然而,整个共和国不一定是连通的——有一些城市无法到达另外一些城市。

入侵者想得到共和国的地图。(入侵者很傻,因此,他们的绘制地图的方法是去访问每一条边。奶牛想要折磨一下入侵者,使得他们旧能难地完成地图绘制。因此,奶牛会破坏若干条道路。

请你帮助奶牛找到一个道路的子集,使得每条边每个点的度数为奇数。或者输出不存在这样的一个子集。奶牛的图论学得真好.

举个例子,考虑下面的共和国:

1---2
\ /
3---4

如果我们保留道路13,23\red{1-3,2-3}34,\red{3-4,}破坏道路12,\red{1-2,}那么城市1,2,4\red{1,2,4}都只有一条边相连,城市3\red{3}3\red{3}条边相连:

1   2
\ /
3---4

输入格式

第一行:两个用空格隔开的整数:N\red{N}M\red{M}

第二行到M+1\red{M+1}行:第i+1\red{i+1}行有两个空格隔开的整数Ai\red{A_i}Bi\red{B_i}

输出格式

第一行: 一个整数表示需要保留的道路数量

第二到K+1\red{K+1}行:每行一个数表示保留的道路的编号,范围是1...M\red{1...M}

样例

输入样例

4 4
1 2
2 3
3 1
3 4

输出样例

3
2
3
4