#include<bits/stdc++.h> using namespace std; int n,cnt=0; vector<vector<string> > shuru(10000,vector<string>(4)); vector<vector<string> > fangzhen(4,vector<string>(4)); void fuzhi(int line){ for(int i=line;i<=line+4;i++){ for(int j=0;j<4;j++){ fangzhen[i][j]=shuru[i][j]; } } } bool in(string chengyu){ for(int i=0;i<n;i++){ if(shuru[i][0]+shuru[i][1]+shuru[i][2]+shuru[i][3]==chengyu) return true; } return false; } bool check(){ if(in(fangzhen[0][0]+fangzhen[0][1]+fangzhen[0][2]+fangzhen[0][3]) && in(fangzhen[0][3]+fangzhen[1][3]+fangzhen[2][3]+fangzhen[3][3]) && in(fangzhen[3][3]+fangzhen[3][2]+fangzhen[3][1]+fangzhen[3][0]) && in(fangzhen[3][0]+fangzhen[2][0]+fangzhen[1][0]+fangzhen[0][0]) && in(fangzhen[0][0]+fangzhen[1][1]+fangzhen[2][2]+fangzhen[3][3]) && in(fangzhen[0][3]+fangzhen[1][2]+fangzhen[2][1]+fangzhen[3][0])){ if(fangzhen[0][0]+fangzhen[0][1]+fangzhen[0][2]+fangzhen[0][3] != fangzhen[0][3]+fangzhen[1][3]+fangzhen[2][3]+fangzhen[3][3] && fangzhen[0][3]+fangzhen[1][3]+fangzhen[2][3]+fangzhen[3][3] != fangzhen[3][3]+fangzhen[3][2]+fangzhen[3][1]+fangzhen[3][0] && fangzhen[3][3]+fangzhen[3][2]+fangzhen[3][1]+fangzhen[3][0] != fangzhen[3][0]+fangzhen[2][0]+fangzhen[1][0]+fangzhen[0][0] && fangzhen[3][0]+fangzhen[2][0]+fangzhen[1][0]+fangzhen[0][0] != fangzhen[0][0]+fangzhen[1][1]+fangzhen[2][2]+fangzhen[3][3] && fangzhen[0][0]+fangzhen[1][1]+fangzhen[2][2]+fangzhen[3][3] != fangzhen[0][3]+fangzhen[1][2]+fangzhen[2][1]+fangzhen[3][0] && fangzhen[0][0]+fangzhen[0][1]+fangzhen[0][2]+fangzhen[0][3] != fangzhen[3][3]+fangzhen[3][2]+fangzhen[3][1]+fangzhen[3][0] && fangzhen[0][0]+fangzhen[0][1]+fangzhen[0][2]+fangzhen[0][3] != fangzhen[3][0]+fangzhen[2][0]+fangzhen[1][0]+fangzhen[0][0] && fangzhen[0][0]+fangzhen[0][1]+fangzhen[0][2]+fangzhen[0][3] != fangzhen[0][0]+fangzhen[1][1]+fangzhen[2][2]+fangzhen[3][3] && fangzhen[0][0]+fangzhen[0][1]+fangzhen[0][2]+fangzhen[0][3] != fangzhen[0][3]+fangzhen[1][2]+fangzhen[2][1]+fangzhen[3][0] && fangzhen[0][3]+fangzhen[1][3]+fangzhen[2][3]+fangzhen[3][3] != fangzhen[3][0]+fangzhen[2][0]+fangzhen[1][0]+fangzhen[0][0] && fangzhen[0][3]+fangzhen[1][3]+fangzhen[2][3]+fangzhen[3][3] != fangzhen[0][0]+fangzhen[1][1]+fangzhen[2][2]+fangzhen[3][3] && fangzhen[0][3]+fangzhen[1][3]+fangzhen[2][3]+fangzhen[3][3] != fangzhen[0][3]+fangzhen[1][2]+fangzhen[2][1]+fangzhen[3][0] && fangzhen[3][3]+fangzhen[3][2]+fangzhen[3][1]+fangzhen[3][0] != fangzhen[0][0]+fangzhen[1][1]+fangzhen[2][2]+fangzhen[3][3] && fangzhen[3][3]+fangzhen[3][2]+fangzhen[3][1]+fangzhen[3][0] != fangzhen[0][3]+fangzhen[1][2]+fangzhen[2][1]+fangzhen[3][0] && fangzhen[3][0]+fangzhen[2][0]+fangzhen[1][0]+fangzhen[0][0] != fangzhen[0][3]+fangzhen[1][2]+fangzhen[2][1]+fangzhen[3][0]){ return true; } } return false; } int main(){ scanf("%d",&n); for(int i=0;i<n;i++){ for(int j=0;j<4;j++){ cin >> shuru[i][j]; } } for(int i=0;i<n-4;i++){ fuzhi(i); if(check()) cnt++; } printf("%d",cnt); return 0; }