#P0619. 安全点

安全点

题目描述

给定一个有向图,包含 nn 个节点(编号 11 到 nn)和 mm 条有向边。图中有 kk 个特殊节点(称为出口)。

定义安全点为:从该节点出发,能沿着有向边到达至少一个出口。

请找出所有安全点。

输入格式

第一行三个整数 nn,mm,kk,分别表示节点数量、边的数量和出口的数量。

第二行 kk 个整数,表示出口的编号,保证互不相同。

接下来 mm 行,每行两个整数 u, vu,\ v,表示一条从 uu 到 vv 的有向边。保证 u≠vu \ne v。

输出格式

第一行输出一个整数 tt,表示安全点的数量。

第二行输出 tt 个整数,表示所有安全点的编号,按升序排列,用空格分隔。

样例

6 5 1
6
1 2
2 3
3 6
4 5
5 4
4
1 2 3 6

数据范围

对于 60%60\% 的数据,2≤n≤1042\le n\le 10^4。

对于 100%100\% 的数据,2≤n≤1052\le n\le 10^5,1≤m≤2×1051\le m\le 2\times10^5,1≤k≤1001\le k\le 100。