새란 무엇인가 (작은 입력)
시간 제한5초메모리 제한512 MB
새와 새가 아닌 점들이 2차원 평면에 주어질 때, 답을 모르는 동물이 반드시 새인지, 새가 아닌지, 알 수 없는지를 판정한다.
문제
숲에서 동물을 관찰하며 어떤 동물이 새인지 판단한다.
동물마다 키와 무게를 측정한다. 어떤 동물이 새인 것은, 그 동물의 키가 어떤 구간 안에 있고 무게가 또 다른 구간 안에 있는 것과 같다. 두 구간이 각각 무엇인지는 모른다. 두 조건을 모두 만족하는 동물은 예외 없이 새다.
측정한 동물 중 일부를 생물학자에게 보여 주고 새인지 아닌지 답을 들었다. 이 답은 새의 키 구간과 무게 구간이 어떤 모양이어야 하는지 제한한다. 보여 주지 않은 나머지 동물마다, 지금까지 얻은 정보만으로 확실히 새인지, 확실히 새가 아닌지, 아니면 판정할 수 없는지 결정하는 프로그램을 작성하라.
생물학자의 답은 모두 옳다. 따라서 들은 답과 모순되지 않는 키 구간과 무게 구간이 적어도 한 쌍 존재한다.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다.
각 테스트 케이스는 다음과 같이 주어진다.
- 첫 줄에 생물학자에게 보여 준 동물의 수 .
- 다음 개 줄에 동물 하나씩
H W X형식으로 주어진다. 는 키, 는 무게이고, 는BIRD또는NOT BIRD다. - 다음 줄에 보여 주지 않은 동물의 수 .
- 다음 개 줄에 동물 하나씩
H W형식으로 키와 무게가 주어진다.
제한
- 모든 키와 무게는 인 정수다.
출력
각 테스트 케이스마다 개 줄을 출력한다.
- 첫 줄에
Case #X:를 출력한다. 는 1부터 시작하는 테스트 케이스 번호다. - 다음 개 줄에 보여 주지 않은 동물의 판정 결과를 입력 순서대로 출력한다. 반드시 새라면
BIRD, 절대 새가 아니라면NOT BIRD, 둘 다 가능하다면UNKNOWN을 출력한다.
예제 설명
예제의 케이스 1에서 동물 1500 1500은 반드시 새다. 키 구간과 무게 구간이 각각 1000과 2000을 포함한다는 사실을 알기 때문이다. 동물 900 900은 새일 수도 있고 아닐 수도 있다. 900이 두 구간에 들어가는지 알 수 없다. 동물 1400 2020은 키 구간에 들어가지만, 2020이 무게 구간에 들어간다면 새가 아님이 확인된 1500 2010도 두 구간에 함께 들어가게 된다. 그러므로 1400 2020은 새가 아니다.
케이스 2에서는 새의 키가 501이어야 한다는 것을 알 수 있다. 무게 구간은 700을 포함한다는 것 외에는 알 수 없다.
케이스 3에서는 키가 100이고 무게가 100인 동물이 새가 아니라는 사실만 알고, 새가 무엇인지는 알 수 없다.