#include<bits/stdc++.h> using namespace std; map<string,int>mp; vector<pair<string,string> >tg; vector<pair<int,int> >g[20008]; bool vis[20008]; string s[20008]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,cnt=0,ans=0; cin >> n; for(int i=1;i<=n;i++){ string u,a,b,v; cin >> u >> a >> b >> v; tg.push_back({u,v}); if(!mp[u]){ mp[u]=++cnt; s[cnt]=u; } if(!mp[v]){ mp[v]=++cnt; s[cnt]=v; } } for(int i=0;i<n;i++){ int u=mp[tg[i].first]; int v=mp[tg[i].second]; g[u].push_back({v,i+1}); } for(int a=1;a<=cnt;a++){ for(pair<int,int>i:g[a]){ int b=i.first; vis[i.second]=1; for(pair<int,int>j:g[b]){ if(vis[j.second])continue; int c=j.first; vis[j.second]=1; for(pair<int,int>k:g[c]){ if(vis[k.second])continue; int d=k.first; vis[k.second]=1; for(pair<int,int>l:g[d]){ if(l.first!=a)continue; if(vis[l.second])continue; vis[l.second]=1; int cnt1=0,cnt2=0; for(pair<int,int>e:g[b])if(e.first==d&&!vis[e.second])cnt1++; for(pair<int,int>e:g[a])if(e.first==c&&!vis[e.second])cnt2++; if(a==b&&c==d)ans+=cnt1*(cnt1-1); else ans+=cnt1*cnt2; vis[l.second]=0; } vis[k.second]=0; } vis[j.second]=0; } vis[i.second]=0; } } cout << ans; return 0; }