#include <bits/stdc++.h>
#include <fstream>
using namespace std;
typedef long long int64;
typedef vector<int> vec;
typedef vector<int64> vec64;
#define ss cout << " ";
#define nn cout << "\n";
#define ct(x) cout << x;
#define cts(x) cout << x << " ";
#define ctn(x) cout << x << "\n";
#define db(x) cout << "> " << #x << ": " << x << "\n";
#define qr queries();
void solve(int);
void YN(bool b){if (b){ctn("YES");}else{ctn ("NO");}};
void yn(bool b){if (b){ctn("Yes");}else{ctn ("No");}};
void queries(){int n;cin >> n;for (int i = 1; i <= n; i++) solve(i);}
int64 ceildiv(int64 a, int64 b) {return a / b + !!(a % b);}
// // // // // // // // // // // // // // // // // // // // // // 
/*                  TEMPLATE - VANILLA                         */
// // // // // // // // // // // // // // // // // // // // // //
const int maxn = 200200;
const int64 mod = 1000000007;
const double pi = 3.14159265359;
 
void solve(int id){

    return;
}
 
 
int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);
    int n,m,x,y;
    cin >> n >> m >> x >> y;
    string a [n];
    x--;
    y--;
    for (int i = 0; i < n; i++){
        cin >> a[i];
    }
    int rs = 0;
    for (int i = x; i >= 0; i--){
        if (a[i][y] == '#') break;
        rs++;
    }
    for (int i = x+1; i < n; i++){
        if (a[i][y] == '#') break;
        rs++;
    }
    for (int j = y-1; j >= 0; j--){
        if (a[x][j] == '#') break;
        rs++;
    }
    for (int j = y+1; j < m; j++){
        if (a[x][j] == '#') break;
        rs++;
    }
    ctn(rs);
    return 0;
}

#include <bits/stdc++.h>
#include <algorithm>
#include <iostream>
#include <list>
#include <string>
using namespace std;
#define rep(i,n) for (ll i=0;i<(n);i++)
typedef long long ll;
bool aaa[11111111];
const int dx[4]={1,0,-1,0};
const int dy[4]={0,1,0,-1};
ll gcd(ll a, ll b) {
  if(a < b) return gcd(b, a);
  unsigned r;
  while ((r=a%b)) {
    a = b;
    b = r;
  }
  return b;
}
 
 
int main() {
  ll h,w,x,y,a=0,b=1,c=1,n,m,memo=0,sx=0,sy=1,ans=0,gx,gy;
  string ka,ss;
  cin>>h>>w>>x>>y;
  vector<string> map(h);
  rep(i,h){cin>>ka;
  map[i]=ka;
  }
  if(map[x-1][y-1]=='#')ans=0;
  else{
    ans=1;
  rep(i,x-1){
    if(x-2-i>=0){
      if(map[x-2-i][y-1]=='#'){break;}
      else{ans++;}
    }
  }
  rep(i,y-1){
    if(y-2-i>=0){
      if(map[x-1][y-2-i]=='#'){break;}
      else{ans++;}
    }
  }
    rep(i,h){
    if(x+i<=h-1){
      if(map[x+i][y-1]=='#'){break;}
      else{ans++;}
    }
  }
  rep(i,w){
    if(y+i<=w-1){
      if(map[x-1][y+i]=='#'){break;}
      else{ans++;} 
    }
  }
  }
  cout<<ans<<endl;
}