#include <bits/stdc++.h>
using namespace std;
int v[6],a[9][6],ans,n;
int dis(int x,int y)
{
return (x<=y)?(y-x):(10-x+y);
}
int check()
{
for(int i=1; i<=n; i++)
{
int cnt=0;
for(int j=1; j<=5; j++)
{
if(v[j]!=a[i][j])
{
cnt++;
if(cnt==2 && (v[j-1]==a[1][j-1] || dis(v[j-1],a[i][j-1])!=dis(v[j],a[i][j]))) return false;
else if(cnt>2) return false;
}
}
if(cnt==0) return false;
}
return true;
}
void dfs(int x)
{
if(x>5)
{
ans+=check();
return;
}
for(int i=0; i<=9; i++)
{
v[x]=i;
dfs(x+1);
}
return;
}
int main()
{
cin>>n;
for(int i=1; i<=n; i++) cin>>a[i][1]>>a[i][2]>>a[i][3]>>a[i][4]>>a[i][5];
dfs(1);
cout<<ans<<endl;
return 0;
}