#include <bits/stdc++.h>
#define int long long
const int dir[4][2] = { {0, 1}, {1, 0}, {0, -1}, {-1, 0} };
char mp[1010][1010] = {};
bool vis[1010][1010] = {};
signed main() {
int T;
scanf("%d", &T);
while (T --) {
memset(vis, false, sizeof vis), memset(mp, 0, sizeof mp);
int N, M, K, sx, sy, d, ans = 0, x, y;
scanf("%d%d%d%d%d%d", &N, &M, &K, &sx, &sy, &d);
vis[sx][sy] = true, x = sx, y = sy;
for (int i = 1; i <= N; i ++) scanf("%s", mp[i] + 1);
while (K --) {
int nx = x + dir[d][0], ny = y + dir[d][1];
if (nx >= 1 && ny >= 1 && nx <= N && ny <= M && mp[nx][ny] == '.')
vis[nx][ny] = true, x = nx, y = ny;
else d = (d + 1) % 4;
}
for (int i = 1; i <= N; i ++)
for (int j = 1; j <= M; j ++) ans += vis[i][j];
printf("%d\n", ans);
}
return 0;
}