#include<bits/stdc++.h>
#define int long long
#define double long double
#define debug(x) cout<<#x<<"->"<<x<<endl<<flush
#define endl '\n'
#define inf INT_MAX
using namespace std;
const int N=1e4+7;
const int M=1e6+7;
const int mod=1e9+7;
const double eps=1e-3;
string A[N][5];
map<pair<string,string>,int>mp;
signed main(){
	ios::sync_with_stdio(0);
	ios_base::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
//	freopen("out.txt","r",stdin);
	int n;cin >>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=4;j++){
			cin >>A[i][j];
		}
		for(int j=1;j<=4;j++){
			for(int k=1;k<=4;k++){
				mp[make_pair(A[i][j],A[i][k])]=0;
			}
		}
	}
	for(int i=1;i<=n;i++){
		mp[make_pair(A[i][1],A[i][4])]++;
	}
	string a,b,c,d;
	/*
	a..b
	....
	....
	c..d
	*/
	int ans=0;
	for(int i=1;i<=n;i++){
		a=A[i][1],b=A[i][4];
		for(int j=1;j<=n;j++){
			if(i==j)continue;
			if(A[j][1]!=b)continue;
			for(int k=1;k<=n;k++){
				if(k==i||k==j)continue;
				if(A[k][1]!=b)continue;
				c=A[j][4],d=A[k][4];
				if(b==d){
					ans+=mp[make_pair(c,a)]*(mp[make_pair(a,d)]-1)*mp[make_pair(d,c)];
				}else{
					ans+=mp[make_pair(c,a)]*mp[make_pair(a,d)]*mp[make_pair(d,c)];
				}
			}
		}
	}
	cout<<ans;
	return 0;
}