#include<cstdio>
int n,m;
char g[4000][4000];
int sx,sy;
int lm,rm;
int nxtx[4]={0,0,1,-1};
int nxty[4]={1,-1,0,0};
bool vis[4000][4000];
int ans;
void dfs(int x,int y,int l,int r)
{
if(vis[x][y]) return ;
ans++;
vis[x][y]=true;
for(int i=0,nx,ny;i<4;i++)
{
nx=x+nxtx[i],ny=y+nxty[i];
if(nx<1||nx>n||ny<1||ny>m||g[nx][ny]=='*') continue;
if(i==0)
{
if(r+1>rm) continue;
else dfs(nx,ny,l,r+1);
}
else if(i==1)
{
if(l+1>lm) continue;
else dfs(nx,ny,l+1,r);
}
else dfs(nx,ny,l,r);
}
}
int main()
{
scanf("%d%d",&n,&m);
scanf("%d%d",&sx,&sy);
scanf("%d%d",&lm,&rm);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf(" %c",&g[i][j]);
dfs(sx,sy,0,0);
printf("%d",ans);
return 0;
}