바람의 신
시간 제한1초메모리 제한128 MB
4x4 격자 위에서 2x2 구름을 한 방향으로 한두 칸씩 이동시키면서, 각 마을이 6일을 초과해 비를 맞지 않는 일이 없고 축제나 장이 있는 날에는 비가 오지 않도록 할 수 있는지 판정하는 문제입니다.
문제
용태는 바람의 신이다. 용태는 구름을 움직여 날씨를 조절할 수 있는데, 구름 아래에 있는 지역에는 항상 비가 내리고 그 밖의 지역은 항상 맑다.
용태는 마음씨가 좋아서 모든 마을에 비를 골고루 내려 주려 하고, 축제나 시장이 열리는 날에는 그 마을을 맑게 해 주려 한다.
용태가 맡은 창영제국은 매우 작은 나라로, 크기의 정사각형으로 이루어져 있으며 각 칸(마을)에는 아래와 같이 번호가 매겨져 있다. 한 마을은 칸 하나를 차지한다.
구름의 크기는 이며, 나라의 경계를 넘어갈 수 없다. 용태는 각 마을에서 축제와 시장이 언제 열리는지 알고 있으며, 그 날에는 해당 마을에 비가 오면 안 된다.
첫째 날에 구름은 나라의 중심부(마을 6, 7, 10, 11)에 있다. 둘째 날부터는 하루가 시작하는 순간에 구름을 움직일 수 있다. 구름은 동서남북 중 한 방향으로 한 칸 또는 두 칸 움직일 수 있고, 전날과 같은 자리에 그대로 둘 수도 있다. 다만 대각선으로 움직이거나 서로 다른 두 방향으로 나누어 두 칸을 움직일 수는 없다.
어떤 마을도 일주일 내내 비가 오지 않은 채로 두어서는 안 된다. 즉, 한 마을은 최대 6일까지만 비가 오지 않을 수 있으며, 비가 오지 않은 지 7일째가 되는 날에는 반드시 비가 와야 한다. 문제가 시작되기 바로 전날에는 모든 마을에 비가 왔으며, 일 이후에 일어나는 일은 고려하지 않는다.
주어진 축제·시장 일정에 대해, 모든 조건을 만족시키면서 비를 내리게 할 수 있는지 판단하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어지며, 입력의 마지막 줄에는 이 하나 주어진다.
각 테스트 케이스의 첫째 줄에는 마지막 날 이 주어진다 (은 를 넘지 않는다). 이어지는 개의 줄에는 각 날의 축제·시장 일정이 주어진다. 각 줄에는 개의 숫자가 마을 번부터 번까지 차례대로 주어지며, 이면 그 날 그 마을에서 축제나 시장이 열리는 것이고 이면 열리지 않는 것이다.
출력
각 테스트 케이스마다, 모든 조건을 만족시키면서 비를 내리게 할 수 있으면 을, 그렇지 않으면 을 한 줄에 출력한다.