#include<bits/stdc++.h>
using namespace std;
int n,x,y,a[110][110],vist[110][110];
int sum=0;
int da=0;
int step;
int xx[]={1,-1,0,0};
int yy[]={0,0,-1,1};
void dfs(int h, int l, int ct) {
sum = max(sum, ct);
for (int i = 0; i < 4; i++) {
step=0;
int dx = h;
int dy = l;
while(dx + xx[i] >= 1 && dx + xx[i] <= n && dy + yy[i] >= 1 && dy + yy[i] <= n && a[dx][dy] == 1) {
step++;
dx = dx + xx[i];
dy = dy + yy[i];
}
if (a[dx][dy] == 0 && vist[dx][dy] == 0) {
vist[dx][dy] = 1;
dfs(dx, dy, ct+step);
vist[dx][dy] = 0;
}
}
}
int main(){
cin>>n>>x>>y;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
sum=0;
if(a[i][j]==0){
vist[i][j]=1;
dfs(i,j,0);
vist[i][j]=0;
da=max(da,sum);
}
}
}
cout<<da;
return 0;
}