#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; }