#P2834. 开会(S)

开会(S)

题目描述

NN 个村庄,编号为 1N1 \sim N ,其中有 KK 个村庄驻扎着我军部队,村庄之间通过 MM 条有向路连接。

现这 KK 个部队的队长需要选择一个村庄一起开军事会议,安排接下来的作战计划。作为开会地点的村庄需满足,所有的队长可以从自己所驻扎的村庄沿着有向路,都可以汇集到该村庄。

请编程计算出,有多少个村庄满足条件?(注意,只需要考虑所有队长可以汇集到该村庄,不需要考虑队长返程的问题)

输入

11 行,有 33 个整数 K,N,MK,N,M ,含义如题所述;

接下来 KK 行,每行包含一个整数,分别代表每个部队所驻扎的村庄编号;

接下来 MM 行,每行包含 22 个整数 X,YX,Y ,用空格隔开,表示编号为 XX 的村庄到编号为 YY 的村庄之间,存在一条有向路。

输出

输出一个整数,代表可以作为开会点的村庄数量。

样例

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

说明

样例 $1$ 说明

编号为 3344 的村庄,可以作为开会的地点。

数据范围

1K1001 \le K \le 1001N10001 \le N \le 10001M100001 \le M \le 100001X,YN1 \le X,Y \le NXYX \neq YXXYY 之间不存在相同的有向路;