아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

공사

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

요약
트리가 주어질 때, 한 정점이나 한 간선을 삭제한 뒤 두 정점이 여전히 연결되는지 묻는 질의에 답한다.
난이도

어려움10점 중 8점

유형
트리, DFS, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

한국항공대학교는 nn 개의 건물로 이루어져 있으며, 두 건물을 잇는 여러 개의 도로가 존재한다. 결벽증이 있는 동원이는 한번도 가지 않은 길을 무서워한다. 동원이는 항공대의 여러 도로들 중 n−1n-1 개의 도로를 선택해서 그 도로로만 다니기로 하였다.

어떠한 건물 xx에서 어떠한 건물 yy로 이동한다는 것은, xx에 연결된 도로를 타고 다른 건물로 이동하는 것을 반복하여 yy에 도달할 수 있다는 것이다. 예를 들어, 33 개의 건물이 있고, (1,2),(2,3)(1, 2), (2, 3) 번 건물 사이에 도로가 있다면, 11번 건물에서 33번 건물로 이동한다는 것은

  • 11번 건물을 거치고,
  • 건물 (1,2)(1, 2) 를 잇는 도로를 지나고,
  • 22번 건물을 거치고,
  • 건물 (2,3)(2, 3) 을 잇는 도로를 지나고,
  • 33번 건물을 거쳐서 도착

한다는 것이다. 이 과정에서 33개의 건물과 22개의 도로를 거쳤다. 동원이는 도로를 섬세하게 골랐기 때문에, 동원이가 고른 n−1n-1 개의 도로들만을 사용해서, 임의의 건물 ii (1≤i≤n1 \le i \le n) 에서 jj (1≤j≤n1 \le j \le n) 으로 항상 이동할 수 있다.

한국항공대학교는 학생들의 편의를 위해서 도로들과 건물들을 공사하고 있다. 만약 어떠한 건물이나 도로가 공사중이라면, 이동을 할 때 이 건물이나 도로를 거쳐갈 수 없다. 이 조건에 따라 다음과 같은 qq 개의 질문을 해결하라.

  • 1 i j k: kk 번 건물이 공사 중일때, ii 번 건물에서 jj 번 건물로 이동할 수 있는가? (1≤i,j,k≤n1 \le i, j, k \le n)
  • 2 i j k l: kk 번 건물과 ll 번 건물을 잇는 도로가 공사 중일때, ii 번 건물에서 jj 번 건물로 이동할 수 있는가? 동원이가 고른 도로 중 kk 번 건물과 ll 번 건물을 잇는 도로가 존재함이 보장된다. (1≤i,j,k,l≤n1 \le i, j, k, l \le n)

입력

첫 번째 줄에 정수 nn 이 주어진다. (2≤n≤250 0002 \le n \le 250\,000)

이후 n−1n-1 개의 줄에 동원이가 고른 도로가 잇는 두 건물의 번호 x,yx, y 가 주어진다. (1≤x,y≤n,x≠y1 \le x, y \le n, x \neq y)

다음 줄에 정수 qq 가 주어진다. (1≤q≤250 0001 \le q \le 250\,000)

이후 qq 개의 줄에 질문이 위에서 설명한 형식대로 주어진다.

출력

qq 개의 줄에 걸쳐 질문의 정답을 YES나 NO로 출력하라.

예제1

  1. 예제 1

    입력
    4
    1 2
    2 3
    2 4
    13
    1 1 3 1
    1 1 3 2
    1 1 3 3
    1 1 3 4
    1 1 1 2
    1 1 1 1
    2 1 2 2 4
    2 1 2 1 2
    2 1 3 1 2
    2 1 3 2 3
    2 1 3 2 4
    2 1 1 1 2
    2 1 1 2 4
    
    예상 출력
    NO
    NO
    NO
    YES
    YES
    NO
    YES
    NO
    NO
    NO
    YES
    YES
    YES