깃발 꽂기

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

KSA는 NN개의 건물로 구성되어 있으며 1,2,,N1, 2, \cdots, N으로 건물 번호가 붙어 있다. 또한, 건물들 사이를 이동할 수 있는 AA개의 지상 통로와 BB개의 구름다리가 있다. 지상 통로는 1,2,,A1, 2, \cdots, A로, 구름다리는 1,2,,B1, 2, \cdots, B로 번호가 붙어 있다.

ii번 지상 통로는 서로 다른 두 건물 U_iU\_iV_iV\_i를 양방향으로 연결한다. (1iA)(1 \le i \le A) 즉, U_iU\_i에서 V_iV\_i 방향, V_iV\_i에서 U_iU\_i 방향 모두 이동할 수 있다.

비슷하게, ii번 구름다리는 서로 다른 두 건물 W_iW\_iX_iX\_i를 양방향으로 연결한다. (1iB)(1 \le i \le B)

두 건물 사이에 지상 통로나 구름다리가 여러 개 존재할 수도 있다.

이제 아래 조건을 만족하게끔 00개 이상의 건물에 깃발을 꽂으려고 한다. 이때 경로의 양쪽 끝에 있는 건물도 경로에 포함된다.

  • 한 개 이상의 지상 통로를 지나고, 구름다리를 지나지 않는 모든 경로에서 깃발이 꽂힌 건물의 개수는 11개 이상이다.
  • 한 개 이상의 구름다리를 지나고, 지상 통로를 지나지 않는 모든 경로에서 깃발이 꽂힌 건물의 개수는 11개 이하이다.

하나의 경로는 같은 통로나 다리를 여러 번 지날 수 없다. 조건을 만족하려면 어떤 건물들에 깃발을 꽂아야 하는지 찾아보자!

입력

첫 번째 줄에 세 정수 NN, AA, BB가 주어진다.

i+1i + 1번째 줄에 두 정수 U_iU\_i, V_iV\_i가 주어진다. (1iA)(1 \le i \le A)

i+A+1i + A + 1번째 줄에 두 정수 W_iW\_i, X_iX\_i가 주어진다. (1iB)(1 \le i \le B)

출력

첫 번째 줄에 조건을 만족하게끔 건물들에 깃발을 꽂을 수 있다면 YES, 아니라면 NO를 출력한다.

만약 꽂을 수 있다면, 00개 이상의 정수를 출력한다. 각 정수는 깃발을 꽂을 건물들의 번호를 의미한다. 단, 같은 건물 번호를 중복해서 출력하지 않아야 한다.

깃발을 하나도 꽂지 않는 경우도 조건을 만족한다면 두 번째 줄에 아무것도 출력하지 않아도 된다.

정답이 여러 개 존재한다면 아무거나 출력해도 상관없으며, 정수들을 출력하는 순서는 상관없다.

제한

  • 1N,A,B2×1051 \leq N,A,B \leq 2 \times 10^5
  • 1U_i,V_iN1 \le U\_i, V\_i \le N; U_iV_iU\_i \ne V\_i (1iA)(1 \le i \le A)
  • 1W_i,X_iN1 \le W\_i, X\_i \le N; W_iX_iW\_i \ne X\_i (1iB)(1 \le i \le B)