#include<cstdio>
#include<cstring>
using namespace std;
bool path[1005][1005]={};
int load[4][2]={{0,1},{1,0},{0,-1},{-1,0}},m,n,d,k,x,y,t;
void cin()
{
char temp;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
{
scanf("%c",&temp);
path[i][j]=temp=='.';
}
}
void Just_Do_It()
{
x+=load[d][0];
y+=load[d][1];
}
void Dont_Do_It()
{
x-=load[d][0];
y-=load[d][1];
d=(d+1)%4;
}
void Why_Programming_Is_So_Damn_Hard()
{
scanf("%d %d %d",&n,&m,&k);
getchar();
scanf("%d %d %d",&x,&y,&d);
memset(path,0,sizeof(path));
int sum=0;
cin();
for(int i=0;i<k;++i)
{
Just_Do_It();
if(x<1&&x>n&&y<1&&y>m)
Dont_Do_It();
else
sum++;
}
printf("%d\n",sum);
}
int main()
{
scanf("%d",&t);
for(int c=0;c<t;c++)
Why_Programming_Is_So_Damn_Hard();
return 0;
}