#include<stdio.h>
int u, d;
void direction(int x, int y, int color)
{
if(arr[x][y+1]==color)
{
u=0, y=1;
f(x, y);
}
if(arr[x][y-1]==color)
{
}
if(arr[x+1][y]==color)
{
}
if(arr[x-1][y]==color)
{
}
if(arr[x+1][y+1]==color)
{
}
if(arr[x-1][y-1]==color)
{
}
if(arr[x+1][y-1]==color)
{
}
if(arr[x-1][y+1])
}
void f(int x, int y)
{
}
int main()
{
int i, j, c;
int arr[20][20];
for(i=1; i<=19; i++){
for(j=1; j<=19; j++){
scanf("%d", &arr[i][j]);
}
}
for(i=1; i<=19; i++){
for(j=1; j<=19; j++){
if(arr[i][j]!=0){
c=arr[i][j];
dfs(i, j, c);
}
}
}
}
/*
#include<stdio.h>
int main()
{
int t, s, result;
scanf("%d %d", &t, &s);
result=(90-t)/5+s;
if(t%5!=0){
result++;
}
printf("%d", result);
}
*/
#include<stdio.h>
int d=0;
int cnt=0;
int color;
int arr[20][20];
void direction(int x, int y)
{
if(arr[x][y+1]==color){
d=1;
f(x, y+1);
}
if(arr[x][y-1]==color){
d=2;
f(x, y-1);
}
if(arr[x+1][y]==color){
d=3;
f(x+1, y);
}
if(arr[x-1][y]==color){
d=4;
f(x-1, y);
}
if(arr[x+1][y+1]==color){
d=5;
f(x+1, y+1);
}
if(arr[x-1][y-1]==color){
d=6;
f(x-1, y-1);
}
if(arr[x+1][y-1]==color){
d=7;
f(x+1, y-1);
}
if(arr[x-1][y+1]==color){
d=8;
f(x-1, y+1);
}
}
void f(int x, int y)
{
if(arr[x][y]==color){
arr[x][y]=0;
cnt++;
}
else{
d=0;
}
if(cnt==5){
d=0;
}
switch (d)
{
case 1 : f(x, y+1); break;
case 2 : f(x, y-1); break;
case 3 : f(x+1, y); break;
case 4 : f(x-1, y); break;
case 5 : f(x+1, y+1); break;
case 6 : f(x-1, y-1); break;
case 7 : f(x+1, y-1); break;
case 8 : f(x-1, y+1); break;
}
}
int main()
{
int i, j;
for(i=1; i<=19; i++){
for(j=1; j<=19; j++){
scanf("%d", &arr[i][j]);
}
}
for(i=1; i<=19; i++){
for(j=1; j<=19; j++){
if(arr[i][j]!=0){
color=arr[i][j];
direction(i, j);
}
}
}
printf("%d", color);
return 0;
}