#include<bits/stdc++.h>
#define int long long
using namespace std;
map<string,int> mp;
int n=0,m;
int push(string s){
	if(!mp.count(s)) mp[s]=++n;
	return mp[s]; 
}
const int N=20005;
vector<int> G[N];
vector<int> ee;
void add(int x,int y){
	G[x].push_back(ee.size()); 
	ee.push_back(y);
}
bool v[N];
bool find(int s,int t){
	for(int i=0;i<G[s].size();i++){
		int id=G[s][i];
		if(v[id]) continue;
		if(ee[id]==t){
//			cout<<id<<'\n';
			v[id]=1;
			return 1;
		}
	}
	return 0;
}
int sum(int s,int t){
	int sum=0;
	for(int i=0;i<G[s].size();i++){
		int id=G[s][i];
		if(v[id]) continue;
		if(ee[id]==t) sum++;
	}
	return sum;
}
void hy(int s,int t){
	for(int i=G[s].size()-1;i>=0;i--){
		int id=G[s][i];
		if(v[id]&&ee[id]==t){
			v[id]=0;
			return;
		}
	}
} 
int solve(int a){
	int ans=0;
	for(int i=0;i<G[a].size();i++){
		int id=G[a][i];
		int c=ee[id];
		v[id]=1;
		int t=1;
		for(int j=0;j<G[a].size();j++){
			int id=G[a][j];
			if(v[id]) continue;
			int b=ee[id];
			v[id]=1;
//			cout<<"b,c"<<a<<' '<<b<<' '<<c<<' '<<sum(b,c)<<'\n';
			if(!find(b,c)){
				v[id]=0;
				continue;
			}
			t*=sum(b,c)+1;
			for(int k=0;k<G[b].size();k++){
				int id=G[b][k];
				if(v[id]) continue;
				int d=ee[id];
				v[id]=1;
//				cout<<"c,d"<<a<<' '<<b<<' '<<c<<' '<<d<<' '<<sum(c,d)<<'\n';
				if(!find(c,d)){
					v[id]=0;
					continue;
				}
				t*=sum(c,d)+1;
//				cout<<"d,a"<<a<<' '<<b<<' '<<c<<' '<<d<<' '<<sum(d,a)<<'\n';
				if(!find(d,a)){
					t/=sum(c,d)+1;
					hy(c,d);
					v[id]=0;
					continue;
				}
				t*=sum(d,a)+1;
//				cout<<a<<' '<<b<<' '<<c<<' '<<d<<'\n';
//				cout<<t<<'\n';
				ans+=t;
				t/=sum(d,a)+1;
				t/=sum(c,d)+1;
				hy(c,d);
				hy(d,a);
				v[id]=0;
			}
			t/=sum(b,c)+1;
			hy(b,c);
			v[id]=0;
		}
		v[id]=0;
	}
//	cout<<a<<' '<<ans<<'\n';
	return ans;
}
signed main(){
	cin>>m;
	for(int i=1;i<=m;i++){
		string a,b,c,d;
		cin>>a>>b>>c>>d;
		int s=push(a);
		int t=push(d);
//		if(s==1048&t==33) cout<<a<<' '<<b<<' '<<c<<' '<<d<<'\n';
		add(s,t);
//		if(s==4&&t==33)cout<<ee.size()-1<<'\n';
	}
//	cout<<find(3,1048)<<' '<<find(1048,33)<<' '<<find(33,33)<<' '<<find(33,3)<<' '<<find(3,33)<<' '<<find(1048,33)<<'\n';
	int ans=0;
	for(int i=1;i<=n;i++) ans+=solve(i);
	cout<<ans;
	return 0;
}
/*
8
1 1 1 2
1 1 2 2
2 2 2 3
2 2 3 3
3 3 3 4
4 4 4 1
1 1 1 3
2 2 2 4
*/