색칠된 정육면체

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

문제

크기가 모두 같은 정육면체 여러 개가 있다. 각 정육면체의 여섯 면은 각각 한 가지 색으로 칠해져 있으며, 한 정육면체의 서로 다른 두 면은 같은 색일 수도, 다른 색일 수도 있다.

한 정육면체를 공간에서 회전시켜 면 하나하나까지 다른 정육면체와 완전히 똑같아 보이게 만들 수 있으면, 두 정육면체는 같은 색 배열이라고 한다. 정육면체를 뒤집는(거울에 비추는) 것은 허용되지 않고 강체 회전만 허용되므로, 어떤 정육면체와 그 거울상이 반드시 같은 색 배열인 것은 아니다. 정육면체 집합에 속한 모든 정육면체 쌍이 서로 같은 색 배열이면, 그 집합을 같은 색 배열이라고 한다.

임의의 정육면체의 임의의 면을 원하는 색으로 다시 칠할 수 있다. 정육면체 집합이 주어질 때, 집합 전체를 같은 색 배열로 만들기 위해 다시 칠해야 하는 면의 최소 개수를 구하여라.

입력

입력은 여러 개의 데이터셋으로 이루어진다. 각 데이터셋의 첫 줄에는 정육면체의 개수 $n$ ($1 \le n \le 4$)이 주어지고, 이어서 정육면체마다 한 줄씩 총 $n$개의 줄이 주어진다.

각 정육면체 줄에는 여섯 면의 색이 면 번호 $1, 2, 3, 4, 5, 6$ 순서대로 공백 하나로 구분되어 주어진다. 면의 배치는 $1$번과 $6$번, $2$번과 $5$번, $3$번과 $4$번이 각각 서로 마주 보도록 되어 있으며, 모든 정육면체가 같은 면 번호 규칙을 따른다.

색 이름은 하이픈(-)으로 이어진 하나 이상의 단어로 이루어지고, 각 단어는 하나 이상의 영어 소문자로 이루어진다. 색 이름의 길이는 하이픈을 포함하여 최대 $24$자이다.

입력의 끝은 $0$ 하나만 있는 줄로 표시되며, 이 줄은 데이터셋이 아니다.

출력

각 데이터셋에 대해, 정육면체 집합을 같은 색 배열로 만들기 위해 다시 칠해야 하는 면의 최소 개수를 한 줄에 출력한다.