#1177. 渡渡鸟爱玩图论

内存限制:512 MiB 时间限制:500 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: Komeiji Koishi

题目描述

渡渡鸟最近很喜欢图论。

有一张个点条边的无向联通图,保证没有自环和重边,每条边有边权,你可以对这个图进行两种操作:

1.选择这个图的一个简单环,将这个环的边权反转(简单环指一个不重复经过点的环)

2.选择一个点集,如果一条边满足,就把这条边边权反转,即变成,变成

你最多可以进行次操作,请将所有边的边权变为

若没有办法在次操作之内办到,请输出

否则请输出任意一组合法解

输入格式

第一行两个正整数

下面行,每行三个正整数,表示有一条边权为的边

输出格式

若无解,输出

否则

第一行一个正整数表示操作次数

接下来行每行描述一个操作,首先输出两个正整数表示操作种类,表示操作涉及点/边的数量

下面输出个正整数,这些正整数小于等于

若为操作1,按照环的任意合法顺序输出环上边的编号,合法顺序指:对于任意一个环上的点,从这个点开始,沿任意方向遍历这个环,最后回到这个点,访问的边的对应顺序为一个合法顺序

若为操作2,按照任意顺序输出集合中的点的编号。

注意若你的输出有任何非法状况或者你的操作次数大于次,那么你不会获得分数。

样例

输入样例1

4 4
1 2 1
1 3 1
2 4 0
3 4 0

输出样例1

1
2 1 1

输入样例2

4 4
1 2 1
1 3 0
2 4 0
3 4 0

输出样例2

-1

输入样例3

5 9
1 2 1
1 4 1
1 5 1
2 5 1
4 5 0
3 5 1
2 3 1
3 4 1
2 4 0

输出样例3

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

数据范围与提示

,保证无重边,无自环,图联通,且至少有一条边边权为