#include<bits/stdc++.h> using namespace std; int n; string s[10010][5]; int c[11]; int ans=0; inline void dfs(int i,int len){ if(len==n+1){ return; } if(len==6){ ans++; return; } if(len==0){ c[len+1]=i; dfs(i+1,len+1); } c[len+1]=0; if(len==1||len==2){ if(s[c[len]][4]==s[i][1]){ c[len+1]=i; dfs(i+1,len+1); } } c[len+1]=0; if(len==3){ if(s[c[len]][4]==s[i][1]&&s[1][1]==s[c[1]][1]){ c[len+1]=i; dfs(i+1,len+1); } } c[len+1]=0; if(len==4){ if(s[i][1]==s[c[1]][1]&&s[i][4]==s[c[3]][1]){ c[len+1]=i; dfs(i+1,len+1); } } c[len+1]=0; if(len==5){ if(s[i][1]==s[c[2]][1]&&s[i][4]==s[c[4]][1]){ c[len+1]=i; dfs(i+1,len+1); } } c[len+1]=0; } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>s[i][1]>>s[i][2]>>s[i][3]>>s[i][4]; } dfs(1,0); printf("%d\n",ans); return 0; }