#include <bits/stdc++.h> using namespace std; map<pair<string,string>,int> mp; string a[20005]; int n,ans,cnt; int main () { cin>>n; for(int i=1;i<=n;i++){ string A,B,C,D; cin>>A>>B>>C>>D; a[++cnt]=A; a[++cnt]=B; mp[make_pair(A,D)]++; } sort(a+1,a+n+1); int len=unique(a+1,a+n+1)-a; for(int i=1;i<=len;i++){ for(int j=1;j<=len;j++){ for(int k=1;k<=len;k++){ for(int w=1;w<=len;w++){ int flag=1; if(a[j]==a[w]){ if(mp[make_pair(a[i],a[j])]<2)flag=0; } else { if(mp[make_pair(a[i],a[j])]<1||mp[make_pair(a[i],a[w])]<1)flag=0; } if(a[k]==a[w]){ if(mp[make_pair(a[j],a[k])]<2)flag=0; } else { if(mp[make_pair(a[j],a[k])]<1||mp[make_pair(a[j],a[w])]<1)flag=0; } if(a[i]==a[w]&&a[w]==a[k]){ if(mp[make_pair(a[w],a[i])]<2)flag=0; } else { if(mp[make_pair(a[w],a[i])]<1||mp[make_pair(a[k],a[w])]<1)flag=0; } if(a[k]==a[i]&&a[i]==a[j]){ if(mp[make_pair(a[i],a[j])]<2)flag=0; } else { if(mp[make_pair(a[i],a[j])]<1||mp[make_pair(a[k],a[i])]<1)flag=0; } ans+=flag; } } } } cout<<ans; return 0; }