Дан неориентированный граф из n вершин и m рёбер. Каждое из рёбер графа изначально покрашено либо в красный, либо в синий цвет. За один ход разрешается выбрать произвольную вершину, и изменить цвета всех инцидентных ей рёбер, то есть все красные рёбра, заканчивающиеся в этой вершине, становятся синими, и наоборот, все синие становятся красными.
Найдите кратчайшую последовательность ходов, после выполнения которой все рёбра графа будут покрашены в один цвет.
Выходные данные
Если не существует способа сделать цвета всех рёбер одинаковыми, то выведите - 1 в единственной строке выходных данных. В противном случае сначала выведите k — минимальное необходимое число ходов, а затем выведите k чисел a1, a2, ..., ak, где ai равняется номеру вершины, выбираемой на i-м ходу.
Если подходящих оптимальных последовательностей несколько, то разрешается вывести любую из них.
| № | Входные данные | Выходные данные |
|
1
|
3 3
1 2 B
3 1 R
3 2 B
|
1
2
|
|
2
|
6 5
1 3 R
2 3 R
3 4 B
4 5 R
4 6 R
|
2
3 4
|
|
3
|
4 5
1 2 R
1 3 R
2 3 B
3 4 B
1 4 B
|
-1
|