#include<iostream>
using namespace std;
main()
{
int b;
string v;
while(cin>>b)
{
int a[9][9]={0},f[9]={0},k[9]={0},z=0;
for(int i=0;i<=8;i++)
{
for(int y=0;y<=8;y++)
{
a[y][i]=b;
cin>>b;
}
}
for(int i=0;i<=8;i++)
{
for(int y=0;y<=8;y++)
{
f[a[y][i]-1]++;
k[a[i][y]-1]++;
if (f[a[y][i]-1]>1)
{
z=1; 判斷橫的
break;
}
if(k[a[i][y]-1]>1) 判斷直的
{
z=1;
break;
}
}
int f[9]={0};
int k[9]={0};
if(z==1)
{
break;
}
}
for(int t=0;t<=8;t=t+3)
{
for(int m=0;m<=8;m=m+3)
{
int f[9]={0};
int k[9]={0};
for(int l=t;l<(t+3);l++) 判斷九宮格
{
for(int e=m;e<(m+3);e++)
{
f[a[e][l]-1]++;
if(f[a[e][l]-1]>1)
{
z=1;
break;
}
}
if(z==1)
{
break;
}
}
if(z==1)
{
break;
}
}
if(z==1)
{
break;
}
}
if(z==1)
{
cout<<"no"<<endl;
}
else
{
cout<<"yes"<<endl;
}
cin>>v;
}
return 0;
}