#include<iostream>
#include<cstdio>
using namespace std;
int t;
char c[1010][1010];
bool vis[1010][1010];
void dfs(int n,int m,int k,int x,int y,int d){
vis[x][y]=1;
if(k==0) return;
else if(d==0&&c[x][y+1]!='x'&&y+1<=m) dfs(n,m,k-1,x,y+1,d);
else if(d==1&&c[x+1][y]!='x'&&x+1<=n) dfs(n,m,k-1,x+1,y,d);
else if(d==2&&c[x][y-1]!='x'&&y-1>=1) dfs(n,m,k-1,x,y-1,d);
else if(d==3&&c[x-1][y]!='x'&&x-1>=1) dfs(n,m,k-1,x-1,y,d);
else dfs(n,m,k-1,x,y,(d+1)%4);
}
int main(){
cin>>t;
for(int i=1;i<=t;i++){
int n,m,k,x,y,d;
cin>>n>>m>>k>>x>>y>>d;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) vis[i][j]=0;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) cin>>c[i][j];
}
dfs(n,m,k,x,y,d);
int ans=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(vis[i][j]==1) ans++;
}
}
cout<<ans<<endl;
}
return 0;
}