Codeforces Round 101 (Div. 2)
E
Clearing Up
Codeforces
2300
原题
← D→
翻译中…

After Santa Claus and his assistant Elf delivered all the presents and made all the wishes come true, they returned to the North Pole and found out that it is all covered with snow. Both of them were quite tired and they decided only to remove the snow from the roads connecting huts. The North Pole has $*n*$ huts connected with $*m*$ roads. One can go along the roads in both directions.

翻译中…

The Elf offered to split: Santa Claus will clear up the wide roads and the Elf will tread out the narrow roads. For each road they decided who will clear it: Santa Claus or the Elf. To minimize the efforts they decided to clear the road so as to fulfill both those conditions:

翻译中…
  • between any two huts should exist exactly one simple path along the cleared roads;
  • Santa Claus and the Elf should clear the same number of roads.
翻译中…

At this point Santa Claus and his assistant Elf wondered which roads should they clear up?

翻译中…

Input

翻译中…

The first input line contains two positive integers $*n*$ and $*m*$ ($1 ≤ *n* ≤ 10^{3}$, $1 ≤ *m* ≤ 10^{5}$) — the number of huts and the number of roads. Then follow $*m*$ lines, each of them contains a road description: the numbers of huts it connects — $*x*$ and $*y*$ ($1 ≤ *x*, *y* ≤ *n*$) and the person responsible for clearing out this road ("S" — for the Elf or "M" for Santa Claus). It is possible to go on each road in both directions. Note that there can be more than one road between two huts and a road can begin and end in the same hut.

翻译中…

Output

翻译中…

Print "-1" without the quotes if it is impossible to choose the roads that will be cleared by the given rule. Otherwise print in the first line how many roads should be cleared and in the second line print the numbers of those roads (the roads are numbered from $1$ in the order of occurrence in the input). It is allowed to print the numbers of the roads in any order. Each number should be printed exactly once. As you print the numbers, separate them with spaces.

翻译中…

Note

翻译中…

A path is called simple if all huts on it are pairwise different.

翻译中…

样例

Input #1
1 2
1 1 S
1 1 M
Output #1
0
InputCopy OutputCopy
Input #2
3 3
1 2 S
1 3 M
2 3 S
Output #2
2
2 1
InputCopy OutputCopy
Input #3
5 6
1 1 S
1 2 M
1 3 S
1 4 M
1 5 M
2 2 S
Output #3
-1
InputCopy OutputCopy
题目信息
题号
141E
时间限制
2 s
内存限制
256 MB
标签
构造
动态规划
并查集
图论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。