#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int n;
const int maxn=1.5*1e3;
int f[maxn][maxn],r,c;
bool is_in(int x,int y){
return x>=1&&x<=n&&y>=1&&y<=n;
}
bool vis[maxn][maxn];
int ans=-1;
void dfs(int x,int y,int step){
if(!is_in(x,y))return;
if(step>ans)ans=step;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(vis[i][j]==0&&((abs(x-i)==1&&abs(y-j)>1)||(abs(y-j)==1&&abs(x-i)>1))&&f[i][j]>f[x][y]){
vis[i][j]=1;
dfs(i,j,step+1);
vis[i][j]=0;
}
}
}
}
int main(){
cin>>n;
cin>>r>>c;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>f[i][j];
}
}
dfs(r,c,1);
cout<<ans;
return 0;
}
大红大紫