#include<bits/stdc++.h>
using namespace std;
int n,ans;
string s[10005][4];
bool check(string s1[4],string s2[4],string s3[4],string s4[4],string s5[4],string s6[4]){
	if(s1[3]==s2[0] && s2[3]==s3[0] && s3[3]==s4[0] && s4[3]==s1[0] && s5[0]==s1[0] && s5[3]==s2[3] && s6[0]==s1[3] && s6[3]==s4[0]){
		return 1;
	}
	return 0;
}
bool check2(string ss[6][4]){
	for(int a=0;a<6;a++){
		for(int b=1;b<6 && b!=a;b++){
			for(int c=2;c<6 && c!=a && c!=b;c++){
				for(int d=3;d<6 && d!=a && d!=b && d!=c;d++){
					for(int e=4;e<6 && e!=a && e!=b && e!=c && e!=d;e++){
						for(int f=5;f<6 && f!=a && f!=b && f!=c && f!=d && f!=e;f++){
							if(check(ss[a],ss[b],ss[c],ss[d],ss[e],ss[f])){
								return 1;
							}
						}
					}
				}
			}
		}
	}
	return 0;
}
int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		for(int j=0;j<4;j++){
			cin>>s[i][j];
		}
	}
	for(int a=0;a<n;a++){
		for(int b=1;b<n && b!=a;b++){
			for(int c=2;c<n && c!=a && c!=b;c++){
				for(int d=3;d<n && d!=a && d!=b && d!=c;d++){
					for(int e=4;e<n && e!=a && e!=b && e!=c && e!=d;e++){
						for(int f=5;f<n && f!=a && f!=b && f!=c && f!=d && f!=e;f++){
							string s1[4]=s[a];
							string s2[4]=s[b];
							string s3[4]=s[c];
							string s4[4]=s[d];
							string s5[4]=s[e];
							string s6[4]=s[f];
							string ss[6][4]={s1,s2,s3,s4,s5,s6};
							if(s1!=s2 && s1!=s3 && s1!=s4 && s1!=s5 && s1!=s6 && s2!=s3 && s2!=s4 && s2!=s5 && s2!=s6 && s3!=s4 && s3!=s5 && s3!=s6 && s4!=s5 && s4!=s6 && s5!=s6){
								if(check2(ss)){
									ans++;
								}
							}	
						}
					}
				}
			}
		}
	}
	cout<<ans;

	return 0;
}