거위, 거위, 오리?
메모리 제한1024 MB
오리 모임 기록과 진술이 주어졌을 때, 거위 진술이 모두 맞고 오리 진술이 앞선 거위 진술과 어긋나지 않는 조건에서 오리의 최소 인원을 구합니다.
문제
처음 열린 국제 거위 학회가 막 끝났다. 행사는 기쁜 자리였어야 했지만 씁쓸하게 마무리되었다. 주최 측이 오리의 잠입 계획이 자세히 적힌 문서를 발견했고, 지금은 참석자 중에서 잠입한 무리를 찾고 있다.
문서에는 정수 세 개로 이루어진 순서쌍 가 개 적혀 있었다. 이 순서쌍은 학회 시작 후 정확히 초에 오리들이 좌표 에서 만날 예정이었다는 뜻이다. 좌표 는 학회장 중앙에서 동쪽으로 미터, 북쪽으로 미터 떨어진 지점이다. 거위는 그 시각에 그 지점에 있었을 수도, 없었을 수도 있다. 그러나 모든 오리는 반드시 그곳에 있었다.
오리와 거위는 최대 초속 1미터로 걷는다. 따라서 시각 에 에 있는 참석자는 만 만족하면 시각 에 에 도달할 수 있다. 시각 0에서 각 참석자의 위치는 어느 점이든 될 수 있으며, 다른 참석자와 무관하다.

발견 이후 모임은 오리를 가려내기 위해 질의 세션을 열었다. 세션에서 참석자들은 진술을 한 번에 하나씩 했다. 번째 진술은 참석자 가 했으며, 자신과 참석자 가 학회 시작 후 정확히 초에 좌표 에 있었다고 주장한다. 진술에 나온 좌표는 오리 만남이 있었던 곳일 수도, 아닐 수도 있다.
거위의 진술은 항상 참이다. 오리는 거짓말을 할 수 있다. 오리는 누가 오리이고 누가 거위인지 알고 있다. 들키지 않으려고 오리는 앞서 나온 거위의 진술과 모순되지 않는 진술만 한다. 거위의 진술은 모든 오리가 모든 오리 만남에 있었다는 사실과 일관된다는 점에 유의하라.
가설 는 참석자 전체를 오리 집합(-오리)과 거위 집합(-거위)으로 나눈 분할이다. 가 진술 집합 와 일관된다는 것은, 참석자마다 초당 1미터 이하로 움직이는 경로가 존재해서 다음이 성립한다는 뜻이다.
- 모든 -오리가 모든 오리 만남에 있었다.
- 의 각 진술에서 가 시각 에 점 에서 를 만났다고 주장하면, 와 의 경로가 모두 시각 에 점 를 지났다.
가설 가 진술 집합 아래에서 실행 가능하다는 것은 다음 조건을 모두 만족한다는 뜻이다.
- -오리 집합이 비어 있지 않다. 즉 오리가 적어도 한 마리 있다.
- -거위가 한 진술 전체는 와 일관된다. 즉 거위의 진술은 모두 참이다.
- -오리가 한 의 각 진술 에 대해, 이전에 나온 -거위의 진술 집합을 라 하자. 그러면 가 어떤 가설 와 일관되도록 하는 가 존재한다. 는 와 같을 수도 다를 수도 있다. 즉 오리는 앞선 거위의 진술과 모순되지 않는다.
모든 참석자가 오리인 가설은 항상 실행 가능하다.
실행 가능한 모든 가설 에 대해 -오리 집합 크기의 최솟값을 구하라.
입력
첫 줄에 테스트 케이스 수 가 주어진다. 각 테스트 케이스의 첫 줄에는 참석자 수 , 오리 만남 수 , 진술 수 를 나타내는 정수 세 개가 주어진다.
다음 개 줄에는 각각 정수 , , 가 주어진다. 이는 학회 시작 후 정확히 초에 점 에서 오리 만남이 있었다는 뜻이다.
이어서 마지막 개 줄에는 진술이 주어진다. 번째 줄은 정수 다섯 개 , , , , 로 이루어지며, 참석자 가 자신과 가 학회 시작 후 정확히 초에 점 에 있었다고 진술했다는 뜻이다. 진술은 발언된 순서대로 주어진다.
출력
각 테스트 케이스에 대해 Case #x: y 형식으로 한 줄을 출력한다. 여기서 는 1부터 시작하는 테스트 케이스 번호이고, 는 회의장에 잠입했을 수 있는 오리의 최소 마리 수이다.
제한
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해
- 인 모든 에 대해
힌트
예제 1에서는 참석자 1만 오리인 가설이 실행 가능하다.
예제 2에서는 참석자 2와 4만 오리인 가설이 실행 가능하다. 오리가 적어도 한 마리 있으므로 모든 참석자가 거위인 가설은 실행 가능하지 않다.