Hexagon Perplexagon

시간 제한2초메모리 제한128 MB

문제

잘 알려진 퍼즐이 하나 있다. 이 퍼즐은 육각형 조각 7개로 이루어져 있고, 각 조각의 여섯 변에는 $1$부터 $6$까지의 숫자가 하나씩 적혀 있다. 조각마다 변에 적힌 숫자의 배열이 서로 다르다. 목표는 이 7개의 조각을 아래에서 설명하는 방식으로 놓아, 서로 맞닿는 모든 변에서 두 조각이 보이는 숫자가 같아지도록 하는 것이다.

배치는 꽃 모양이다. 한 조각을 가운데에 놓고, 나머지 여섯 조각이 그 주위를 빙 둘러싼다. 바깥쪽 여섯 조각은 각각 가운데 조각과 한 변을 맞대고, 양옆의 이웃한 바깥 조각과도 각각 한 변씩 맞댄다. 따라서 맞닿는 변은 모두 12개이며, 각 맞닿는 변에서 두 조각이 보이는 숫자가 서로 같아야 한다.

조각은 제자리에서 회전시킬 수 있지만, 뒤집을(반사시킬) 수는 없다.

어떤 해를 통째로 회전시키면 본질적으로 같은 해가 하나 더 생긴다. 이런 중복을 없애기 위해, 가운데 조각의 가장 위쪽 변에 숫자 $1$이 오는 해만 다룬다.

입력

입력의 첫째 줄에는 테스트 케이스의 개수를 나타내는 정수 하나가 주어진다.

각 테스트 케이스는 42개의 정수가 적힌 한 줄로 이루어진다. 처음 6개는 조각 0의 여섯 변 값을 시계 방향 순서로 나열한 것이고, 그다음 6개는 조각 1의 값이며, 이런 식으로 이어진다. 즉 42개의 정수는 조각 0부터 조각 6까지 일곱 조각의 변 값을 차례로 나타낸다.

출력

각 테스트 케이스마다 한 줄을 출력한다. 이 줄은 Case k: 로 시작하며, 여기서 $k$는 1부터 시작하는 테스트 케이스 번호이다. 그 뒤에는 해가 없으면 No solution을, 해가 있으면 해의 명세를 이어서 출력한다.

해의 명세는 조각 번호들을 다음 순서로 나열한 것이다. 먼저 가운데 조각의 번호를 출력하고, 이어서 바깥쪽 여섯 조각을 가장 위쪽 조각부터 시작해 시계 방향으로 출력한다. 예를 들어 조각 3이 가운데에 있으면 3을 먼저 출력하고, 조각 0이 맨 위에 있으면 그다음에 0을 출력한다.

각 테스트 케이스에는 해가 최대 하나만 존재함이 보장된다.