5816 - 立方体
时间限制 : 1 秒
内存限制 : 256 MB
小林有N个相同尺寸的立方体,它们的每个面都被染成几种颜色。假设有两个立方体A和B,A通过适当的旋转后,A和B两个立方体的每个相应的面都是同一种颜色,则可认为A和B是两个“等价”的立方体,如图9.6-5所示。

对于给定的N个立方体,如果它们不全是“等价”的,可以通过重新染色,使它们都是等价的,当然最好是用最少的染色次数。如图9.6-6所示,3个立方体至少要重新染色4次才能使它们都“等价”。

小林想知道对给定的N个立方体,计算出最少要重新染色几次,才能使它们都“等价”。
输入
多组测试数据,对于每组格式如下(当N为0时表示结束)。
第1行1个整数N。
下面的N行。每行有6个单词(color1 color2 color3 color4 color5 color6),表示一个立方体的六个面对应的颜色,每个颜色单词之间用一个空格分隔,6个颜色依次对应的面如图9.6-7所示。

输出
对应每组数据,输出一行一个整数。
样例
输入
3 scarlet green blue yellow magenta cyan blue pink green magenta cyan lemon purple red blue yellow cyan green 2 red green blue yelloe magenta cyan cyan green blue yellow magenta red 0
输出
4 2
提示
【数据规模】
每个输入文件最多有10组数据。
对于50%的数据满足:N=2。
对于100%的数据满足:1≤N≤4,颜色名称长度不超过100个字符。
来源
课课通