#include <iostream> #include <string> using namespace std; string s[10000][4]; int n; int sum=0; int x[7]; void dfs(int g){ if(g==1){ for(int i=1;i<=n;i++){ x[1]=i; dfs(2); x[1]=0; } } else if(g==2){ for(int i=1;i<=n;i++){ if(i!=x[1]&&s[i][1]==s[x[1]][4]){ x[2]=i; dfs(3); x[2]=0; } } } else if(g==3){ for(int i=1;i<=n;i++){ if(i!=x[1]&&i!=x[2]&&s[i][1]==s[x[2]][4]){ x[3]=i; dfs(4); x[3]=0; } } } else if(g==4){ for(int i=1;i<=n;i++){ if(i!=x[1]&&i!=x[2]&&i!=x[3]&&s[i][1]==s[x[3]][4]&&s[i][4]==s[x[1]][1]){ x[4]=i; dfs(5); x[4]=0; } } } else if(g==5){ for(int i=1;i<=n;i++){ if(i!=x[1]&&i!=x[2]&&i!=x[3]&&i!=x[4]&&s[i][1]==s[x[1]][1]&&s[i][4]==s[x[2]][4]){ x[5]=i; dfs(6); x[5]=0; } } } else if(g==6){ for(int i=1;i<=n;i++){ if(i!=x[1]&&i!=x[2]&&i!=x[3]&&i!=x[4]&&i!=x[5]&&s[i][1]==s[x[1]][4]&&s[i][4]==s[x[4]][1]) sum++; } } return; } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n; for(int i=1;i<=n;i++){ cin>>s[i][1]>>s[i][2]>>s[i][3]>>s[i][4]; } dfs(1); cout<<sum<<endl; return 0; }