#include<bits/stdc++.h>
#define int long long
using namespace std;
const int MAXN=1e5+5;
int n;
int cnt;
string a[MAXN],b[MAXN];
map<string,int> mp;
map<int,vector<int> > vis[MAXN];
vector<int> vec[MAXN];
int calc(int x){
	int ret=0;
	int now=mp[b[x]];
	for(int i=0;i<vec[now].size();i++){
		for(int j=0;j<vec[now].size();j++){
			if(i==j){
				continue;
			}
			int l=vec[now][i],r=vec[now][j];
			l=mp[b[l]],r=mp[b[r]];
			if(vec[now][i]==vec[now][j]){
				continue;
			}
			for(int k=0;k<vis[r][l].size();k++){
				int e=vis[r][l][k];
				if(e==vec[now][i]||e==vec[now][j]){
					continue;
				}
				for(int p=0;p<vis[l][mp[a[x]]].size();p++){
					int f=vis[l][mp[a[x]]][p];
					if(f==vec[now][i]||f==vec[now][j]||f==e){
						continue;
					}
					for(int q=0;q<vis[mp[a[x]]][r].size();q++){
						int g=vis[mp[a[x]]][r][q];
						if(g==vec[now][i]||g==vec[now][j]||g==e||g==f){
							continue;
						}
//						cout<<vec[now][i]<<" "<<vec[now][j]<<" "<<e<<" "<<f<<" "<<g<<"\n"; 
						ret++; 
					}
				}
			}
		}
	}
	return ret;
}
signed main(){
//	freopen("idioms.txt","r",stdin);
	cin>>n;
	for(int i=1;i<=n;i++){
		string o,p,q,r;
		cin>>o>>p>>q>>r;
		a[i]=o;
		b[i]=r;
		if(!mp[o]){
			mp[o]=++cnt;
		}
		if(!mp[r]){
			mp[r]=++cnt;
		}
		vec[mp[o]].push_back(i);
		vis[mp[o]][mp[r]].push_back(i);
	}
	int ans=0;
	for(int i=1;i<=n;i++){
		ans+=calc(i);
	}
	cout<<ans;
	return 0;
}