#include <stdio.h>
int n[5][5][2];
int test[5][5];
int m[5][5];
void in(void);
void out(void);
int check(void);
int search(int a);
int clear(void);
void dump(void);
void dump(void){
int i, j;
for(i=0;i<5;i++)
for(j=0;j<5;j++){
n[i][j][0]=test[i][j];
n[i][j][1]=test[i][j];
}
}
int main(void)
{
in();
//set
// dump();
printf("%d", check());
return 0;
}
void in(void)
{
int i, j;
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
{
scanf("%d", &n[i][j][0]);
n[i][j][1]=n[i][j][0];
}
}
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
scanf("%d", &m[i][j]);
}
}
void out(void)
{
int i, j;
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%2d ", n[i][j][1]);
printf("\n");
}
printf("\n\n");
/*for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%d ", m[i][j]);
printf("\n");
}*/
}
int check(void)
{
int i, j, c=0;
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
{
search(m[i][j]);
c++;
if(clear()>0){
//printf("\n###############################\n");
return c;
}
}
}
}
int search(int a)//0 집어 넣는 함수
{
int i, j;
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
{
if(n[i][j][1]==a)
{
n[i][j][1]=0;
return 0;
}
}
}
}
int clear(void)
{
int i, j, a, c=0;
for(i=0; i<5; i++)
{
a=0;
for(j=0; j<5; j++)
{
if(n[j][i][1]!=0)
break;
a++;
}
if(a==5)
{
c++;
if(c>=3)
return c;
}
}
for(i=0; i<5; i++)
{
a=0;
for(j=0; j<5; j++)
{
if(n[i][j][1]!=0)
break;
a++;
}
if(a==5)
{
c++;
if(c>=3)
return c;
}
}
a=0;
for(i=0; i<5; i++)
{
if(n[i][i][1]!=0)
break;
a++;
}
if(a==5)
{
c++;
if(c>=3)
return c;
}
a=0;
for(i=0; i<5; i++)
{
if(n[4-i][i][1]!=0)
break;
a++;
}
if(a==5)
{
c++;
if(c>=3)
return c;
}
return 0;
}