#include <bits/stdc++.h>
using namespace std;
string a[10005][10];
map <string,int> mp;
int main()
{
	int n,cnt=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=4;j++)
		{
			cin>>a[i][j];
		}
	}
	int x1=1,x2=4;
	for(int i=1;i<=n;i++)
	for(int j=i+1;j<=n;j++)
	for(int k=j+1;j<=n;j++)
	for(int l=i+1;j<=n;j++)
	{
		if(x2>n)break;
		string s1="",s2="",s3="",s4="",s5="",s6="";
		s1=a[x1][1]+a[x1][2]+a[x1][3]+a[x1][4];
		s2=a[x2][4]+a[x2][3]+a[x2][2]+a[x2][1];
		s3=a[x2][1]+a[x1+2][1]+a[x1+1][1]+a[x1][1];
		s4=a[x1][4]+a[x1+1][4]+a[x1+2][4]+a[x2][4];
		s5=a[x1][1]+a[x1+1][2]+a[x1+2][3]+a[x2][4];
		s6=a[x1][4]+a[x1+1][3]+a[x1+2][2]+a[x2][1];
		cout<<s1<<" "<<s2<<" "<<s3<<" "<<s4<<" "<<s5<<" "<<s6<<endl;
		if(s1!=s2&&s3!=s2&&s3!=s4&&s4!=s5&&s5!=s6&&mp[s1+s2+s3+s4+s5+s6]==0)
		{
			cnt++;
		}
		mp[s1+s2+s3+s4+s5+s6]++;
		x1++;
		x2++;
	}
	cout<<cnt;
	return 0;
 }