#L2969. 「COCI 2010.03.20」HOLMES

「COCI 2010.03.20」HOLMES

题目描述

译自 COCI 2010.03.20 T5. HOLMES

DD 个事件,编号分别为 1N1\ldots N

福尔摩斯有 MM 组形如 ABA\rightarrow B 的推论,表示「如果事件 AA 发生,那么事件 BB 一定会发生」。请注意,这不代表「如果 AA 不发生,BB 就一定不会发生」。

福尔摩斯的这 MM 组推论可以形成链式结构,例如 ABCA\rightarrow B\rightarrow C,但一定不会形成环,如 $A\rightarrow B\rightarrow C\rightarrow \dots \rightarrow A$。

已知事件 S1SNS_1\ldots S_N 会发生,试求哪些事件一定会发生。

Update: 原题题意不清(或者是我语文太差),补充一句,这样才能解释样例 1。对于一个事件 XX,如果存在推论 Y1X,Y2XY_1\rightarrow X, Y_2\rightarrow X,那么「事件 XX 一定会发生」当且仅当『「事件 Y1Y_1 一定会发生」或「事件 Y2Y_2 一定会发生」……』


输入格式

第一行:D,M,ND,M,N。 接下来 MM 行:每行两个整数,表示一组推论 Ai,BiA_i, B_i。 接下来 NN 行:第 ii 行有一个整数 SiS_i


输出格式

一行,若干个整数,表示一定会发生的事件。

以任意顺序输出均可 请按照编号递增的顺序输出,传题人懒得写 SPJ


样例 1

输入:

3 2 1
1 2
2 3
2

输出:

1 2 3

样例 2

输入:

3 2 1
1 3
2 3
3

输出:

3

解释: 只知事件 33 发生,无法推出是事件 11 导致事件 33 发生还是事件 22 导致事件 33 发生。


样例 3

输入:

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

输出:

1 2 3 4

解释: 事件 44 发生,则事件 22 和事件 33 至少有一者发生; 无论是何者发生,其条件都是事件 11 一定发生; 因为事件 11 一定发生,因此事件 2,32, 3 都一定发生。


样例 4

输入:

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

输出:

3 4

解释: 事件 33 发生,则事件 1122 一定有一者发生; 若事件 1122 中有任意一者发生,则事件 44 一定会发生。


数据范围与提示

$1\le D\le 1000, 1\le M\le 10^5, 1\le N, X_i, A_i, B_i\le D.$