#include<iostream>
#include<iostream>
using namespace std;

int main(){
  int n;
  string cube[30][6];
  bool use[30];

  for(;;){
    cin >> n;
    if(!n)break;
    for(int i=0;i<n;i++){
      use[i] = false;
      for(int j=0;j<6;j++)cin >> cube[i][j];
    }

    for(int i=0;i<n;i++){
      if(!use[i]){
	for(int j=i+1;j<n;j++){
	  string tmp[6] = cube[j];
	  bool f;
	  for(int k=0;k<6;k++){
	    swap(tmp[0],tmp[1]);
	    swap(tmp[1],tmp[5]);
	    swap(tmp[5],tmp[4]);
	    for(int l=0;l<4;l++){
	      if(l){
		if(k&1){
		  swap(tmp[3],tmp[4]);
		  swap(tmp[4],tmp[2]);
		  swap(tmp[2],tmp[1]);
		}else{
		  swap(tmp[1],tmp[2]);
		  swap(tmp[2],tmp[4]);
		  swap(tmp[4],tmp[3]);
		}
	      }
	      f = true;
	      for(int z=0;z<6;z++)
		if(cube[i][z] != tmp[z])f = false;
	      if(f)break;
	    }
	    if(f)break;
	  }
	  if(f)use[j] = true;
	}
      }
    }
    int ans = 0;
    for(int i=0;i<n;i++)if(use[i])ans++;
    cout << ans << endl;
  }
}