엘프 토너먼트 대진표
시간 제한5초메모리 제한512 MB
어떤 경기 결과가 나와도 민감한 엘프가 K라운드 안에 친구와 만나지 않는 초기 대진 순서가 있는지 판단합니다.
문제
엘프 나라에서 토너먼트를 연다. 참가를 원하는 엘프는 명이다. 대회가 시작되면 각 엘프는 1부터 까지의 서로 다른 번호를 받고, 엘프 대통령이 원하는 순서로 이들을 한 줄로 세운다.
경기는 두 엘프가 치르고, 모든 경기에는 승자와 패자가 한 명씩 나온다. 무승부는 없다. 1라운드에서는 줄의 첫 번째 엘프와 두 번째 엘프가 맞붙고, 세 번째 엘프와 네 번째 엘프가 맞붙는 식으로 진행한다. 1라운드가 끝나면 진 명은 줄에서 빠지고, 이긴 명은 원래 순서를 그대로 유지한 채 남는다. 남은 엘프끼리 같은 방식으로 2라운드를 치른다. 라운드가 끝나면 한 명만 남고, 그 엘프가 우승한다.
이 중 명은 예민해서 경기에서 친구를 만나면 크게 슬퍼한다. 정확히 말하면 예민한 엘프 는 1라운드부터 라운드까지 중 어느 한 경기에서라도 자기 친구와 맞붙으면 슬퍼한다. 친구 관계는 한쪽 방향일 수 있다. 어떤 엘프가 다른 엘프를 친구로 여겨도 그 반대는 성립하지 않을 수 있다.
경기 결과가 어떻게 나오든 슬퍼하는 엘프가 한 명도 없도록 처음 줄 순서를 정할 수 있는지 판별하라.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. 각 테스트 케이스의 첫 줄에는 두 정수 과 이 주어진다. 이어서 예민한 엘프 명의 정보가 두 줄씩 주어진다. 첫 줄에는 세 정수 , , 가 주어지고, 둘째 줄에는 그 엘프가 친구로 여기는 엘프 명의 번호가 주어진다.
제한
- 이고, 개의 는 모두 다르다.
- 이고, 한 줄에 주어지는 개의 번호는 서로 다르며 와도 다르다.
출력
각 테스트 케이스마다 한 줄에 Case #x: 를 출력한 다음, 조건을 만족하는 줄 순서가 있으면 YES를, 없으면 NO를 출력한다. 는 1부터 시작하는 테스트 케이스 번호다.