#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
using namespace std;
queue<pair<int,int> >q;
int n,m,mx,my,start_x,start_y,dist[205][205],ans;
char mp[205][205];
int dx[8]={0,0,1,-1,1,-1,1,-1},
dy[8]={1,-1,0,0,1,1,-1,-1};
int main(){
memset(dist,-1,sizeof(dist));
cin>>n>>m>>mx>>my;
start_x=m-my+1;
start_y=mx;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>mp[i][j];
}
}
q.push(make_pair(start_x,start_y));
dist[start_x][start_y]=0;
while(!q.empty()){
int sx=q.front().first;
int sy=q.front().second;
q.pop();
for(int i=0;i<8;i++){
int nx=sx+dx[i],ny=sy+dy[i];
if(nx<1||nx>m||ny<1||ny>n||mp[nx][ny]=='*')continue;
if(dist[nx][ny]!=-1)continue;
dist[nx][ny]=dist[sx][sy]+1;
ans=max(ans,dist[nx][ny]);
q.push(make_pair(nx,ny));
}
}
cout<<ans<<endl;
return 0;
}