#include <bits/stdc++.h>
using namespace std;
map<pair<string,string>,int> mp;
string a[20005];
int n,ans,cnt;
int main () {
	cin>>n;
	for(int i=1;i<=n;i++){
		string A,B,C,D;
		cin>>A>>B>>C>>D;
		a[++cnt]=A;
		a[++cnt]=B;
		mp[make_pair(A,D)]++;
	}
	sort(a+1,a+n+1);
	int len=unique(a+1,a+n+1)-a;
	for(int i=1;i<=len;i++){
		for(int j=1;j<=len;j++){
			for(int k=1;k<=len;k++){
				for(int w=1;w<=len;w++){
					int flag=1;
					if(a[j]==a[w]){
						if(mp[make_pair(a[i],a[j])]<2)flag=0;
					}
					else {
						if(mp[make_pair(a[i],a[j])]<1||mp[make_pair(a[i],a[w])]<1)flag=0;
					}
					if(a[k]==a[w]){
						if(mp[make_pair(a[j],a[k])]<2)flag=0;
					}
					else {
						if(mp[make_pair(a[j],a[k])]<1||mp[make_pair(a[j],a[w])]<1)flag=0;
					}
					if(a[i]==a[w]&&a[w]==a[k]){
						if(mp[make_pair(a[w],a[i])]<2)flag=0;
					}
					else {
						if(mp[make_pair(a[w],a[i])]<1||mp[make_pair(a[k],a[w])]<1)flag=0;
					}
					if(a[k]==a[i]&&a[i]==a[j]){
						if(mp[make_pair(a[i],a[j])]<2)flag=0;
					}
					else {
						if(mp[make_pair(a[i],a[j])]<1||mp[make_pair(a[k],a[i])]<1)flag=0;
					}
					ans+=flag;
				}
			}
		}
	}
	cout<<ans;
	return 0;
}