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