#include <bits/stdc++.h>
using namespace std;
long long ans=0;
int f[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
bool q[1005][1005]={0},w[1005][1005]={0};
int dfs(int x,int y,int d,int s,int k,int n,int m){
if(s==k){
return s;
}
if(q[x+f[d][0]][y+f[d][1]]==0&&x+f[d][0]<=n&&y+f[d][1]<=m&&x+f[d][0]>=1&&y+f[d][1]>=1){
w[x+f[d][0]][y+f[d][1]]=1;
dfs(x+f[d][0],y+f[d][1],d,s+1,k,n,m);
}
else {
dfs(x,y,(d+1)%4,s+1,k,n,m);
}
}
int main(){
int t;
cin >> t;
while(t--){
int n,m,k,x,y,d;
char c;
cin >> n >> m >> k;
cin >> x >> y >> d;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin >> c;
if(c=='.'){
q[i][j]=0;
}
else {
q[i][j]=1;
}
}
}
w[x][y]=1;
dfs(x,y,d,0,k,n,m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(w[i][j]==1){
ans++;
w[i][j]=0;
}
}
}
cout << ans << endl;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
q[i][j]=0;
}
}
ans=0;
}
return 0;
}