#include <bits/stdc++.h>

using namespace std;

#define int long long

struct phrase{
	string w1,w2,w3,w4;
}; 

struct plan{
	int w1,w2,w3,w4,w5,w6;
};
signed main(){
	int n;
	cin>>n;
	int ans = 0;
	set<plan> s;
	phrase d[n];
	int word = 0; 
	for(int i = 0;i < n;++i){
		cin>>d[i].w1>>d[i].w2>>d[i].w3>>d[i].w4;
	}
	for(int i = 0;i < n;++i){//µÚÒ»ÐÐ 
		string w1 = d[i].w1;
		vector <int> v;
		for(int j = 0;j < n;++j){ 
			if(d[j].w1 == w1 && j != i){
				v.push_back(j);
			}
		}
		if(v.size() < 1){
			continue;
		}else{
			for(int j = 0;j < v.size();++j){//б±ß1 
				string w3 = d[v[j]].w4;
				vector <int> v2;
				for(int j2 = 0;j2 < n;++j2){//¿¿ÓÒÊúÁÐ 
					if(d[j2].w1 == d[i].w4 && d[j2].w4 == w3 && j2 != j && j2 != i){
						v2.push_back(j2);
					}
				}
				if(v2.size() == 0){
					continue;
				}else{
					for(int j2 = 0;j2 < v2.size();++j2){//w4
						for(int j3 = 0;j3 < n;++j3){
							if(j3 != i && j3 != v[j] && j3 != v2[j2] && d[j3].w4 == w1){
								for(int j4 = 0;j4 < n;++j4){
									if(j4 != i && j4 != v[j] && j4 != v[j2] && j4 != j3 && d[j4].w1 == w3 && d[j4].w4 == d[j3].w1){
										for(int j5 = 0;j5 < n;++j5){
											if(j5 != i && j5 != j4 && j5 != j3 && j5 != v[j2] && j5 != v[j] && d[j5].w4 == d[j3].w1 && d[j5].w1 == d[i].w4){
												ans++;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	cout<<ans;
	return 0;
}