小红走迷宫
题号:NC300617
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红来到了一个由  个房间,  条路径组成的迷宫,每条路径一定连接两个不同的房间。小红可以沿路径移动到相邻的房间。
小苯为了阻止小红穿过迷宫,在除  号房间外的  个房间内设下了陷阱。
一开始,小红在  号房间,他想知道,不途径陷阱的情况下,他有可能到达哪些房间?
请你按编号从小到大的顺序给出这些房间的编号。

输入描述:

第一行输入三个整数 n,m,x\left(1 \leqq x < n \leqq 2\times 10^5, 1 \leqq m \leqq min \left( 10^6,\frac{n\times \left(n - 1 \right)}{2}\right)\right) 。
第二行输入  个整数 a_i\left(2 \leqq a_i \leqq n \right),代表被设下陷阱的房间编号。
\hspace{15pt}此后 m 行,第 i 行输入两个整数 u_i,v_i\left(1\leqq u_i,v_i\leqq n \right),表示第 i 条路径连接房间 u_i 和房间 v_i
特殊的,保证不存在两条不同的路径,连接的两个房间相同。

输出描述:

在一行内输出若干个整数,代表小红可能到达的房间。
示例1

输入

复制
5 6 1
3
1 2
1 3
2 3
2 5
3 4
3 5

输出

复制
1 2 5