#include <cstdio>
#include <string>
#include <iostream>

using namespace std;

int n;
string str[31][6];

bool roll(int x,int y){
	bool flag2=false;
	for(int i=0;i<4;i++){
		string st=str[y][1];
		str[y][1]=str[y][2];
		str[y][2]=str[y][4];
		str[y][4]=str[y][3];
		str[y][3]=st;
		bool flag=true;
		for(int j=0;j<6;j++){
			if(str[y][j]!=str[x][j])flag=false;
		}
		if(flag)flag2=true;
	}
	return flag2;
}

bool check(int x,int y){
	bool flag=true;
	if(roll(x,y))flag=false;
	swap(str[y][0],str[y][5]);
	swap(str[y][1],str[y][4]);
	if(roll(x,y))flag=false;
	swap(str[y][0],str[y][5]);
	swap(str[y][1],str[y][4]);
	for(int i=0;i<4;i++){
		string st=str[y][0];
		str[y][0]=str[y][2];
		str[y][2]=str[y][5];
		str[y][5]=str[y][3];
		str[y][3]=st;
		if(roll(x,y))flag=false;
	}
	return flag;
}

int main(void){
	while(1){
		scanf("%d",&n);
		if(n==0)break;
		for(int i=0;i<n;i++){
			for(int j=0;j<6;j++){
				cin >> str[i][j];
			}
		}
		int cnt=0;
		for(int i=0;i<n;i++){
			bool flag=true;
			for(int j=0;j<i;j++){
				if(!check(i,j))flag=false;
			}
			if(flag)cnt++;
		}
		printf("%d\n",n-cnt);
	}
	return 0;
}