1702 哈斯图


Submit solution

Points: 100
Time limit: 2.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

哈斯图是离散数学中的一个重要概念,对于一个偏序关系,我们知道他与其哈斯图是一一对应的。

偏序关系的定义是:

设A是一个非空集,P 是 A 上的一个关系,若 P 满足下列条件:

1、对任意的 a∈A,(a,a)∈P(自反性 reflexlve);

2、若(a,b)∈P,且(b,a)∈P,则 a=b(反对称性 anti-symmentric);

3、若(a,b)∈P,(b,c)∈P,则(a,c)∈P(传递性 transitive)。

则称P是A上的一个偏序关系。

而哈斯图去掉了原偏序关系中的冗余边:

1、不包含形如(a,a)的边;

2、若存在(a,b)∈P,(b,c)∈P,则不包含边(a,c);

3、包含其余在原偏序关系中的边。

现在,给出一个关系,它的自反传递闭包是偏序关系,求出其哈斯图中存在的边。

Input

多组数据,读入到文件结束。每组数据第一行是两个整数 n, m (n <= 300, m <= n * (n + 1) / 2) 。随后 m 行,第 i 行两个整数 a, b (0 <= a,b < n) ,表示第 i 条边(a,b) 。

Output

每组数据一行,以”Case #:” 开头,其中#代表测试数据编号,随后是哈斯图中存在的边的编号,按从小到大排序,编号间以空格分隔。具体格式参考样例输出。

Sample

Input

3 3
0 1
1 2
0 2

4 4
1 2
2 3
0 3
0 2

Output

Case 1: 1 2
Case 2: 1 2 4

Source: ycc


Comments

There are no comments at the moment.