#include <bits/stdc++.h> using namespace std; string s[10010][5]; int ans, n; string a[5][5]; int b[10010]; void f(int x) { // cout <<x-1 <<"\n"; // for(int i=1;i<=4;i++) // { // for(int j=1;j<=4;j++) // { // cout <<a[i][j] <<" "; // } // cout <<"\n"; // } for(int i=1;i<=n;i++) { if(!b[i]) { if(x==1) { a[1][1]=s[i][1]; a[1][2]=s[i][2]; a[1][3]=s[i][3]; a[1][4]=s[i][4]; b[i]=true; f(x+1); b[i]=false; a[1][1]=a[1][2]=a[1][3]=a[1][4]="000"; } else if(x==2) { if(s[i][1]==a[1][4]) { a[2][4]=s[i][2]; a[3][4]=s[i][3]; a[4][4]=s[i][4]; b[i]=true; f(x+1); b[i]=false; a[2][4]=a[3][4]=a[4][4]="000"; } else { continue; } } else if(x==3) { if(s[i][1]==a[4][4]) { a[4][3]=s[i][2]; a[4][2]=s[i][3]; a[4][1]=s[i][4]; b[i]=true; f(x+1); b[i]=false; a[4][3]=a[4][2]=a[4][1]="000"; } else { continue; } } else if(x==4) { if(s[i][1]==a[4][1] && s[i][4]==a[1][1]) { a[2][1]=s[i][3]; a[3][1]=s[i][2]; b[i]=true; f(x+1); b[i]=false; a[2][1]=a[3][1]="000"; } else { continue; } } else if(x==5) { if(s[i][1]==a[1][1] && s[i][4]==a[4][4]) { a[2][2]=s[i][2]; a[3][3]=s[i][3]; b[i]=true; f(x+1); b[i]=false; a[2][2]=a[3][3]="000"; } else { continue; } } else if(x==6) { if(s[i][1]==a[1][4] && s[i][4]==a[4][1]) { a[2][3]=s[i][2]; a[3][2]=s[i][3]; b[i]=true; f(x+1); b[i]=false; a[2][3]=a[3][2]="000"; } else { continue; } } else { ans++; } } } } int main() { for(int i=1;i<=4;i++) { for(int j=1;j<=4;j++) { a[i][j]="000"; } } cin >>n; for(int i=1;i<=n;i++) { for(int j=1;j<=4;j++) { cin >>s[i][j]; } } // for(int i=1;i<=n;i++) // { // for(int j=1;j<=4;j++) // { // cout <<s[i][j] <<" "; // } // cout <<'\n'; // } f(1); cout <<ans/4 <<'\n'; return 0; }