#include<bits/stdc++.h>
using namespace std;
string a[10005][5],b[7][2];
bool c[10005];
int n,sum=0;
void dfs(int dep)
{
	if(dep>n)
	{
		sum++;
		return ;
	}
	for(int i=1;i<=n;i++)
	{
		if(c[i]==true)
		{
			if(dep==1)
	    	{
	    		c[i]=false;
	    		b[dep][0]=a[i][1];
	    		b[dep][1]=a[i][4];
	    		dfs(dep+1);
	    		c[i]=true;
			} 
			else if(dep<5)
			{
				if(b[dep-1][1]==a[i][1])
				{
					c[i]=false;
					b[dep][0]=a[i][1];
					b[dep][1]=a[i][4];
					dfs(dep+1);
					c[i]=true;
				}
			}
			else
			{
				if(i==5&&a[i][1]==b[1][0])
				{
					c[i]=false;
					b[dep][0]=a[i][1];
					b[dep][1]=a[i][4];
					dfs(dep+1);
					c[i]=true;
				}
				else if(i==6&&a[i][1]==b[1][1])
				{
					c[i]=false;
					b[dep][0]=a[i][1];
					b[dep][1]=a[i][4];
					dfs(dep+1);
					c[i]=true;
				}
			}
		}
	    
	}
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(),cout.tie();    
    cin>>n;
    for(int i=1;i<=n;i++)
    {
    	for(int j=1;j<=4;j++)
    	{
    		cin>>a[i][j];
		}
	} 
    dfs(1);
    cout<<sum;
	return 0;
}