#include <bits/stdc++.h>
using namespace std;
int square,m,n;
int a[1005][1005];
bool history[1005][1005];
struct path{
int x;
int y;
};
int dx[4]={1,0,-1,0};
int dy[4]={0,1,0,-1};
int bfs(int r,int c){
queue <path> q;
q.push({r,c});
history[r][c]=true;
int total=0;
while(!q.empty()){
path curr=q.front();
q.pop();
total++;
for(int i=0;i<4;i++){
int nextx=curr.x+dx[i];
int nexty=curr.y+dy[i];
if(nextx<0||nexty<0||nextx>=square||nexty>=square)continue;
if(abs(a[nextx][nexty]-a[curr.x][curr.y])>2)continue;
if(history[nextx][nexty])continue;
history[nextx][nexty]=true;
q.push({nextx,nexty});
}
}return total;
}
int main(){
cin>>square;
cin>>m>>n;
for(int i=0;i<square;i++){
for(int j=0;j<square;j++)cin>>a[i][j];
}
cout<<bfs(m,n)<<endl;
return 0;
}