#include<bits/stdc++.h>
using namespace std;
int n,m;
int r,c;
int x,y;
char maze[2024][2024];
int ans=0;
bool vis[2024][2024];
void dfs(int r,int c,int x,int y){
vis[r][c]=true;
ans++;
if(maze[r-1][c]=='.'&&!vis[r-1][c]&&!vis[r-1][c]){
dfs(r-1,c,x,y);
}
if(maze[r+1][c]=='.'&&!vis[r+1][c]&&!vis[r+1][c]){
dfs(r+1,c,x,y);
}
if(maze[r][c-1]=='.'&&!vis[r][c-1]&&x>0&&!vis[r][c-1]){
dfs(r,c-1,x-1,y);
}
if(maze[r][c+1]=='.'&&!vis[r][c+1]&&y>0&&!vis[r][c+1]){
dfs(r,c+1,x,y-1);
}
return;
}
int main(){
cin>>n>>m;
cin>>r>>c;
cin>>x>>y;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>maze[i][j];
}
}
dfs(r,c,x,y);
cout<<ans<<endl;
return 0;
}