//知识难点:字符串输入、坐标确认、多组数据处理、初始化函数memset使用、题目阅读
#include<bits/stdc++.h>
using namespace std;
int t, n, m, k ;
int x00, y00, d0;//全局变量不能定义y0 
char a[1010][1010];
bool b[1010][1010];
int dx[4]={0, 1, 0, -1};
int dy[4]={1, 0, -1, 0};
//以上代码也可写成//int dxy[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
void test(){
	for(int i=1; i<=n; i++){
		for(int j=1; j<=m; j++)
			cout<<a[i][j];
		cout<<endl;
	}
}
int main()
{
	cin>>t;
	while(t--){
		int ans=0;//每组初始化为0 
		memset(b, 0, sizeof(b));//标记轨迹初始化为0 
		cin>>n>>m>>k;
		cin>>x00>>y00>>d0;
		b[x00][y00]=1;
		for(int i=1; i<=n; i++)cin>>a[i]+1;//+1是为了输入从第1列而非第0列开始 
		//test();
		for(int i=1; i<=k; i++){
			int x=x00+dx[d0];//将要走的坐标 
			int y=y00+dy[d0];
			if(a[x][y]=='.'){
				b[x][y]=1;
				x00=x; y00=y;
			}
			else{
				d0=(d0+1)%4;
			}
			
		}
		for(int i=1; i<=n; i++)//统计走过的痕迹 
			for(int j=1; j<=m; j++)
				if(b[i][j]==1)
					ans++;
		cout<<ans<<endl;
	}
	return 0;
}