#include<bits/stdc++.h> using namespace std; string a[10005][5],b[7][2]; bool c[10005]; int n,sum=0; void dfs(int dep) { if(dep>n) { sum++; return ; } for(int i=1;i<=n;i++) { if(c[i]==true) { if(dep==1) { c[i]=false; b[dep][0]=a[i][1]; b[dep][1]=a[i][4]; dfs(dep+1); c[i]=true; } else if(dep<5) { if(b[dep-1][1]==a[i][1]) { c[i]=false; b[dep][0]=a[i][1]; b[dep][1]=a[i][4]; dfs(dep+1); c[i]=true; } } else { if(i==5&&a[i][1]==b[1][0]) { c[i]=false; b[dep][0]=a[i][1]; b[dep][1]=a[i][4]; dfs(dep+1); c[i]=true; } else if(i==6&&a[i][1]==b[1][1]) { c[i]=false; b[dep][0]=a[i][1]; b[dep][1]=a[i][4]; dfs(dep+1); c[i]=true; } } } } } int main() { ios::sync_with_stdio(false); cin.tie(),cout.tie(); cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=4;j++) { cin>>a[i][j]; } } dfs(1); cout<<sum; return 0; }