공지 전파 네트워크

학년 단체 채팅은 무료로 전파되므로, 세 학년을 모두 포함하는 친구 연결 최소 비용을 만들도록 시작 학생을 골라야 한다.

어려움8그래프최소 신장 트리그리디유니온 파인드아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

요즘 고등학생은 SNS로 서로 연락한다.

어느 고등학교의 학생 NN명이 ICPC(International Community for Programming Contest)라는 SNS를 쓴다. 이 NN명 중 몇몇 쌍은 SNS에서 친구로 맺어져 있고, 친구끼리는 메시지를 주고받는다. NN명 가운데 프로그래밍 동아리 회원은 1학년 AA명, 2학년 BB명, 3학년 CC명이다. 동아리에 속하지 않은 학생도 있으므로 A+B+CA+B+CNN보다 작을 수 있다.

같은 학년 회원끼리는 사이가 좋아서 학년마다 단체 대화방이 하나씩 있다. 어떤 학년의 회원 한 명이 메시지를 받으면 그 학년 회원 전원이 곧바로 메시지를 받는다. 반면 학년이 다르면 사이가 좋지 않아 동아리 전체나 학교 전체의 대화방은 없다.

동아리 운영자는 SNS 계정이 없다. 그래서 운영자는 NN명 중 한 명에게 직접 메시지를 알려 주고, 그 학생이 단체 대화방과 친구 관계로 SNS에 메시지를 퍼뜨리게 한다. 모든 학년에서 회원이 한 명 이상 메시지를 받으면 동아리 회원 전원에게 공지가 전달된 것으로 본다.

친구에게 연락하는 일은 번거로우므로 친구 사이의 연락 횟수를 줄이려고 한다. 친구 사이의 연락 한 번은 친구인 두 학생이 메시지를 한 번 주고받는 것이고, 단체 대화방으로 퍼지는 메시지는 횟수에 넣지 않는다. 동아리 회원 전원에게 공지를 전달하는 데 필요한 친구 사이 연락의 최소 횟수와, 그 횟수를 이루려면 운영자가 맨 처음 메시지를 알려 줄 학생의 번호를 구하라.

입력

입력은 테스트 케이스 하나로 이루어지며 형식은 다음과 같다.

N A B C
a1 ... aA
b1 ... bB
c1 ... cC
M
x1 y1
...
xM yM

첫째 줄에 네 정수 NN, AA, BB, CC가 주어진다. NN은 SNS를 쓰는 학생 수이고 3N100003 \le N \le 10000이다. AA, BB, CC는 각각 1학년, 2학년, 3학년 동아리 회원 수이며 1A,B,C1 \le A, B, C이고 A+B+CNA+B+C \le N이다. 학생은 1 이상 NN 이하의 서로 다른 번호로 구분한다.

둘째 줄에 1학년 회원의 번호 a1a_1부터 aAa_A까지 AA개가 주어진다. 셋째 줄에 2학년 회원의 번호 b1b_1부터 bBb_B까지 BB개가, 넷째 줄에 3학년 회원의 번호 c1c_1부터 cCc_C까지 CC개가 주어진다. 이 번호는 모두 서로 다르다.

다섯째 줄에 친구인 학생 쌍의 수 MM이 주어진다. 2M5000002 \le M \le 500000이다. 이어지는 MM개 줄 중 ii번째 줄에는 두 정수 xix_iyiy_i가 주어지며, 번호가 xix_i인 학생과 yiy_i인 학생이 친구라는 뜻이다. 1xi,yiN1 \le x_i, y_i \le N이고 xiyix_i \ne y_i이다. 같은 쌍이 순서를 바꿔서라도 두 번 주어지지는 않는다.

친구 관계와 단체 대화방을 쓰면 어느 학생에게서 어느 학생에게로도 메시지를 전달할 수 있다.

출력

동아리 회원 전원에게 공지를 전달하는 데 필요한 친구 사이 연락의 최소 횟수와, 그 횟수를 이루려고 운영자가 맨 처음 메시지를 알려 줄 학생의 번호를 공백 하나로 구분해 출력한다. 단체 대화방으로 오가는 메시지는 연락 횟수에 넣지 않는다. 조건을 만족하는 학생이 여럿이면 그중 가장 작은 번호를 출력한다.