#include<bits/stdc++.h> #define int long long using namespace std; map<string,int> mp; int n=0,m; int push(string s){ if(!mp.count(s)) mp[s]=++n; return mp[s]; } const int N=20005; vector<int> G[N]; vector<int> ee; void add(int x,int y){ G[x].push_back(ee.size()); ee.push_back(y); } bool v[N]; bool find(int s,int t){ for(int i=0;i<G[s].size();i++){ int id=G[s][i]; if(v[id]) continue; if(ee[id]==t){ // cout<<id<<'\n'; v[id]=1; return 1; } } return 0; } int sum(int s,int t){ int sum=0; for(int i=0;i<G[s].size();i++){ int id=G[s][i]; if(v[id]) continue; if(ee[id]==t) sum++; } return sum; } void hy(int s,int t){ for(int i=G[s].size()-1;i>=0;i--){ int id=G[s][i]; if(v[id]&&ee[id]==t){ v[id]=0; return; } } } int solve(int a){ int ans=0; for(int i=0;i<G[a].size();i++){ int id=G[a][i]; int c=ee[id]; v[id]=1; int t=1; for(int j=0;j<G[a].size();j++){ int id=G[a][j]; if(v[id]) continue; int b=ee[id]; v[id]=1; // cout<<"b,c"<<a<<' '<<b<<' '<<c<<' '<<sum(b,c)<<'\n'; if(!find(b,c)){ v[id]=0; continue; } t*=sum(b,c)+1; for(int k=0;k<G[b].size();k++){ int id=G[b][k]; if(v[id]) continue; int d=ee[id]; v[id]=1; // cout<<"c,d"<<a<<' '<<b<<' '<<c<<' '<<d<<' '<<sum(c,d)<<'\n'; if(!find(c,d)){ v[id]=0; continue; } t*=sum(c,d)+1; // cout<<"d,a"<<a<<' '<<b<<' '<<c<<' '<<d<<' '<<sum(d,a)<<'\n'; if(!find(d,a)){ t/=sum(c,d)+1; hy(c,d); v[id]=0; continue; } t*=sum(d,a)+1; // cout<<a<<' '<<b<<' '<<c<<' '<<d<<'\n'; // cout<<t<<'\n'; ans+=t; t/=sum(d,a)+1; t/=sum(c,d)+1; hy(c,d); hy(d,a); v[id]=0; } t/=sum(b,c)+1; hy(b,c); v[id]=0; } v[id]=0; } // cout<<a<<' '<<ans<<'\n'; return ans; } signed main(){ cin>>m; for(int i=1;i<=m;i++){ string a,b,c,d; cin>>a>>b>>c>>d; int s=push(a); int t=push(d); // if(s==1048&t==33) cout<<a<<' '<<b<<' '<<c<<' '<<d<<'\n'; add(s,t); // if(s==4&&t==33)cout<<ee.size()-1<<'\n'; } // cout<<find(3,1048)<<' '<<find(1048,33)<<' '<<find(33,33)<<' '<<find(33,3)<<' '<<find(3,33)<<' '<<find(1048,33)<<'\n'; int ans=0; for(int i=1;i<=n;i++) ans+=solve(i); cout<<ans; return 0; } /* 8 1 1 1 2 1 1 2 2 2 2 2 3 2 2 3 3 3 3 3 4 4 4 4 1 1 1 1 3 2 2 2 4 */