#include<bits/stdc++.h>
using namespace std;
pair<string,string> a[10005];
int n;
long long ans;
pair<string ,string> fu;
void f(pair<string,string> s1,pair<string,string> s2,pair<string,string> s3,pair<string,string> s4,pair<string,string> s5,pair<string,string> s6,long long k)
{
	if(k==1)
	{
		for(int i=1;i<=n;i++)
		{
			swap(a[i],a[n]);
			n--;
			return f(a[n+1],fu,fu,fu,fu,fu,2);
			n++;
		}
	}
	else if(k==2)
	{
		for(int i=1;i<=n;i++)
		{
			if(a[i].first==s1.second)
			{
			swap(a[i],a[n]);
			n--;
				return f(s1,a[n+1],fu,fu,fu,fu,3);
				n++;
			}
		}
	}
	else if(k==3)
	{
		for(int i=1;i<=n;i++)
		{
			if(a[i].first==s2.second)
			{
				swap(a[i],a[n]);
			n--;
				return f(s1,s2,a[n+1],fu,fu,fu,4);
				n++;
			}
		}
	}
	else if(k==4)
	{
		for(int i=1;i<=n;i++)
		{
			if(a[i].first==s3.second&&a[i].second==s1.first);
			{
				swap(a[i],a[n]);
			n--;
				return f(s1,s2,s3,a[n+1],fu,fu,5);
				n++;
			}
		}
	}
	else if(k==5)
	{
		for(int i=1;i<=n;i++)
		{
			if(a[i].first==s1.first&&a[i].second==s2.second)
			{
				swap(a[i],a[n]);
			n--;
				return f(s1,s2,s3,s4,a[n+1],fu,6);
				n++;
			}
		}
	}
	else if(k==6)
	{
		for(int i=1;i<=n;i++)
		{
			if(a[i].first==s2.first&&a[i].second==s3.second)
			ans++;
		}
	}
}
int main()
{
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		string s,b,c,d;
		cin>>s>>b>>c>>d;
		a[i].first=s;
		a[i].second=d;
	}
	f(fu,fu,fu,fu,fu,fu,1);
	cout<<ans;
	return 0;
 }