#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; }