#include<bits/stdc++.h>
using namespace std;
char g[1005][1005];
bool flag[1005][1005];
int po;
int main(){
int T;
cin>>T;
while(T--){
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++){
cin>>g[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
flag[i][j]=0;
}
}
flag[x][y]=1;
while(k--){
if(d==0){
if(g[x][y+1]!='.'){
d=(d+1)%4;
}else{
y+=1;
flag[x][y]=1;
}
}else if(d==1){
if(g[x+1][y]!='.'){
d=(d+1)%4;
}
else{
x+=1;
flag[x][y]=1;
}
}else if(d==2){
if(g[x][y-1]!='.'){
d=(d+1)%4;
}else{
y-=1;
flag[x][y]=1;
}
}else if(d==3){
if(g[x-1][y]!='.'){
d=(d+1)%4;
}
else{
x-=1;
flag[x][y]=1;
}
}
}
int po=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(flag[i][j]==1){
po++;
}
}
}
cout<<po<<'\n';
}
return 0;
}