#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;
}