#include<bits/stdc++.h> using namespace std; pair<string,string> a[10005]; int n; long long ans; pair<string ,string> fu; void f(pair<string,string> s1,pair<string,string> s2,pair<string,string> s3,pair<string,string> s4,pair<string,string> s5,pair<string,string> s6,long long k) { if(k==1) { for(int i=1;i<=n;i++) { swap(a[i],a[n]); n--; return f(a[n+1],fu,fu,fu,fu,fu,2); n++; } } else if(k==2) { for(int i=1;i<=n;i++) { if(a[i].first==s1.second) { swap(a[i],a[n]); n--; return f(s1,a[n+1],fu,fu,fu,fu,3); n++; } } } else if(k==3) { for(int i=1;i<=n;i++) { if(a[i].first==s2.second) { swap(a[i],a[n]); n--; return f(s1,s2,a[n+1],fu,fu,fu,4); n++; } } } else if(k==4) { for(int i=1;i<=n;i++) { if(a[i].first==s3.second&&a[i].second==s1.first); { swap(a[i],a[n]); n--; return f(s1,s2,s3,a[n+1],fu,fu,5); n++; } } } else if(k==5) { for(int i=1;i<=n;i++) { if(a[i].first==s1.first&&a[i].second==s2.second) { swap(a[i],a[n]); n--; return f(s1,s2,s3,s4,a[n+1],fu,6); n++; } } } else if(k==6) { for(int i=1;i<=n;i++) { if(a[i].first==s2.first&&a[i].second==s3.second) ans++; } } } int main() { //freopen(".in","r",stdin); //freopen(".out","w",stdout); cin>>n; for(int i=1;i<=n;i++) { string s,b,c,d; cin>>s>>b>>c>>d; a[i].first=s; a[i].second=d; } f(fu,fu,fu,fu,fu,fu,1); cout<<ans; return 0; }