만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

악당의 선거

시간 제한2초메모리 제한512 MB

요약
방향이 있는 설득 관계와 이미 포섭한 대표 집합이 주어질 때, 목표 집합 V에서 도달 가능한 이름을 사전순으로 출력한다.
난이도

쉬움10점 중 3점

유형
그래프, BFS, 해시맵, 정렬
정답자
아직 제출이 없습니다

문제

딜런은 선거를 조작하려는 부패한 정치인이다. 그는 이미 정신 조종 기술로 정부 대표 몇 명을 손에 넣었고, 이 대표들의 집합을 UU라고 한다. 그런데 선거의 승자를 뽑는 대표는 다른 집합 VV이다. 딜런은 정신 조종 장치를 다시 쓰지 않기를 바라며, VV의 대표 중 누구를 UU의 대표들로 설득해 자신에게 투표하게 만들 수 있는지 알고 싶어 한다.

다행히 대표들은 설득력이 있다. 대표 쌍 (A,B)(A, B)의 목록이 주어지는데, 이 쌍은 AA가 BB를 설득해 딜런에게 투표하게 만들 수 있다는 뜻이다. 설득은 연쇄적으로 이어질 수 있다. 예를 들어 딜런이 AA를 조종하고 있고, AA가 BB를 설득할 수 있으며 BB가 CC를 설득할 수 있다면, 결과적으로 AA는 CC도 설득할 수 있다. 설득은 한 방향으로만 작용한다. 쌍 (A,B)(A, B)가 있어도 BB가 AA를 설득할 수 있는 것은 아니다.

UU에 속한 대표는 이미 조종당하고 있으므로 설득할 필요 없이 딜런에게 투표한다.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. (1≤T≤101 \le T \le 10)

각 테스트 케이스의 첫째 줄에 세 정수 uu, vv, mm이 공백으로 구분되어 주어진다. (1≤u,v,m≤10 0001 \le u, v, m \le 10\,000)

둘째 줄에는 UU에 속한 대표 uu명의 이름이, 셋째 줄에는 VV에 속한 대표 vv명의 이름이 공백으로 구분되어 주어진다.

다음 mm개의 줄에는 각각 A B 꼴로 두 대표의 이름이 주어진다. 이는 AA가 BB를 설득해 딜런에게 투표하게 만들 수 있다는 뜻이다. 이 쌍에 나오는 대표는 UU나 VV에 속하지 않을 수도 있다.

모든 이름은 알파벳 소문자(a부터 z)로만 이루어진 길이 11 이상 1010 이하의 문자열이다.

출력

각 테스트 케이스마다 한 줄에 VV의 대표 중 딜런에게 투표하게 만들 수 있는 대표의 이름을 사전순으로 공백으로 구분해 출력한다. 즉 UU에 속하거나, UU의 어떤 대표에서 시작하는 설득의 연쇄로 도달할 수 있는 대표를 출력한다.

VV의 목록에 같은 이름이 여러 번 나오더라도 한 번만 출력한다. 사전순은 문자열의 일반적인 사전식 비교를 따르며, 어떤 이름이 다른 이름의 접두사이면 짧은 이름이 먼저 온다. 그런 대표가 한 명도 없으면 빈 줄을 출력한다.

힌트

예제의 두 번째 테스트 케이스에서 질은 잭을 거쳐 사울을 설득할 수 있고, 피터는 이미 조종당하고 있다.

예제1

  1. 예제 1

    입력
    2
    1 1 1
    alice
    bob
    alice bob
    5 5 5
    adam bob joe jill peter
    rob peter nicole eve saul
    harry ron
    eve adam
    joe chris
    jill jack
    jack saul
    
    예상 출력
    bob
    peter saul