#include<bits/stdc++.h>
using namespace std;
int a[20];
int n,cnt;
bool h[100010];
bool vis[100010];
int q[20];
int b[20];
int turnnum()
{
int base=1;
int op=0;
for(int i=5;i>=1;--i) op+=base*b[i],base*=10;
return op;
}
void go(int x)
{
for(int i=5;i>=1;--i) b[i]=x%10,x/=10;
for(int i=1;i<=5;++i) a[i]=b[i];
}
int main()
{
cin>>n;
for(int i=1;i<=n;++i)
{
for(int j=1;j<=5;++j) cin>>b[j];
h[turnnum()]=1;
q[i]=turnnum();
}
for(int i=0;i<=99999;++i)
{
go(i);
for(int i=1;i<=n;++i) vis[q[i]]=0;
int ans=0;
for(int k=1;k<=5;++k)
{
for(int j=1;j<=5;++j)
{
b[j]=(a[j]-k+10)%10;
int now=turnnum();
if(h[now]&&!vis[now]) ans++,vis[now]=1;
b[j]=(a[j]+k)%10;
now=turnnum();
if(h[now]&&!vis[now]) ans++,vis[now]=1;
b[j]=a[j];
}
}
for(int k=1;k<=5;++k)
{
for(int j=1;j<=4;++j)
{
b[j]=(a[j]-k+10)%10;
b[j+1]=(a[j+1]-k+10)%10;
int now=turnnum();
if(!vis[now]&&h[now]) ans++,vis[now]=1;
b[j]=(a[j]+k)%10;
b[j+1]=(a[j+1]+k)%10;
now=turnnum();
if(!vis[now]&&h[now]) ans++,h[now]=1;
b[j]=a[j];
b[j+1]=a[j+1];
}
}
if(ans==n) cnt++;
}
cout<<cnt;
return 0;
}