다다스는 빨간색과 파란색 간선으로 이루어진 트리를 접는 놀이를 하고 있다.
정점이 개인 두 트리 가 주어진다. 각 간선은 빨간색 또는 파란색으로 칠해져 있다. 색은 입력에서 또는 로 주어진다.
하나의 트리에서 다음 연산을 접기 연산이라고 한다.
어떤 정점 에 대해, 간선 와 가 모두 존재하고 두 간선의 색이 같다면, 정점 와 정점 를 하나의 정점으로 병합할 수 있다. 병합 후 중복 간선은 하나로 합쳐진다.
두 트리 가 닮았다는 것은 다음 조건을 만족한다는 뜻이다.
에 접기 연산을 번 이상 적용하여 를 만들고, 에 접기 연산을 번 이상 적용하여 를 만들었을 때, 와 가 완전히 같아지도록 만들 수 있다. 단, 한쪽 트리의 모든 간선 색을 반전한 뒤 같아지는 경우도 같다고 본다 (정점 번호는 무시함에 주의하라).
트리 와 정수 에 대해, 을 정점 을 모두 포함하는 의 최소 연결 부분트리라고 하자.
개의 쿼리가 주어진다. 각 쿼리는 네 정수 로 이루어진다.
각 쿼리에 대해, 과 가 닮았는지 판별하라.
Input
입력은 다음과 같은 형식으로 주어진다.
이는 각 에 대해 에 와 를 잇는 색 의 간선이 존재하고, 에 와 를 잇는 색 의 간선이 존재함을 의미한다. 색은 이면 빨간색, 이면 파란색이다.
각각의 ()의 형식은 다음과 같다.
Output
각각의 쿼리마다, 두 부분트리가 닮았다면 YES, 아니라면 NO를 한 줄에 하나씩 출력한다.
Constraints
- .
- .
- ().
- ().
- ().
- ().
- ().
- ().
- ().
- ().
- 각 간선은 트리를 이룸이 보장된다.
모든 쿼리는 다음 조건을 만족한다.
- .
- .
- .
- .
- .
- .
Subtasks
Samples
이 예제는 서브태스크 4, 5, 6의 조건을 만족한다.
위 예제는 서브태스크 2, 3의 조건을 만족한다.
위 예제는 서브태스크 5, 6의 조건을 만족한다.