#include<stdio.h>
main()
{int a[10][10],i,j,k,x=0;
for (i=1;i<=9;i++)
{for (j=1;j<=9;j++) scanf("%d",&a[i][j]);};
for (k=1;k<=9;k++)
{for (i=9;i<=2;i--)
{for (j=1;j<i;j++) {if (a[k][i]==a[k][j]) x+=1;};};};
for (k=1;k<=9;k++)
{for (i=9;i<=2;i--)
{for (j=1;j<i;j++) {if (a[i][k]==a[j][k]) x+=1;};};};
for (k=2;k<=8;k+=3)
{for (i=2;i<=8;i+=3)
{if (a[k-1][i-1]==a[k][i]||
a[k-1][i-1]==a[k][i+1]||
a[k-1][i-1]==a[k+1][i]||
a[k-1][i-1]==a[k+1][i+1]||
a[k][i-1]==a[k-1][i]||
a[k][i-1]==a[k-1][i+1]||
a[k][i-1]==a[k+1][i]||
a[k][i-1]==a[k+1][i+1]||
a[k+1][i-1]==a[k-1][i]||
a[k+1][i-1]==a[k][i]||
a[k+1][i-1]==a[k-1][i+1]||
a[k+1][i-1]==a[k][i+1]||
a[k-1][i]==a[k][i+1]||
a[k-1][i]==a[k+1][i+1]||
a[k][i]==a[k-1][i+1]||
a[k][i]==a[k+1][i+1]||
a[k+1][i]==a[k-1][i+1]||
a[k+1][i]==a[k][i+1]) x+=1;};};
if (x==0) printf("1");
else printf("0");}
using namespace std;
int Map[10][10];
bool bo[10];
void Chear(int x,int y)
{
memset(bo,false,sizeof(bo));
for (int i=0;i<3;i++)
for (int j=0;j<3;j++){
if (bo[Map[x+i][y+j]]){
cout<<0<<endl;
exit(0);
}
bo[Map[x+i][y+j]]=true;
}
}
int main(){
for (int i=1;i<10;i++){
memset(bo,false,sizeof(bo));
for (int j=1;j<10;j++){
cin>>Map[i][j];
if (bo[Map[i][j]]){
cout<<0<<endl;
return 0;
}
bo[Map[i][j]]=true;
}
}
for (int i=1;i<10;i++){
memset(bo,false,sizeof(bo));
for (int j=1;j<10;j++){
if (bo[Map[j][i]]){
cout<<0<<endl;
return 0;
}
bo[Map[j][i]]=true;
}
}
Chear(1,1);Chear(1,4);Chear(1,7);
Chear(4,1);Chear(4,4);Chear(4,7);
Chear(7,1);Chear(7,4);Chear(7,7);
cout<<1<<endl;
return 0;
}