#include <bits/stdc++.h>
using namespace std;
int T, n, k, a, b, vis[105][105];
int dx[] = {0, 1, -1}, flag;
char m[5][120];
bool ok(int a, int b) { return (a >= 0 && a < 3 && m[a][b] == '.'); }
void dfs(int a, int b) {
  vis[a][b] = 1;
  if (b + 1 >= n) {
    flag = 1;
    return;
  }
  if (flag) return;
  if (!ok(a, b + 1)) return;
  if (ok(a, b + 1) && ok(a, b + 2) && ok(a, b + 3) && !vis[a][b + 3])
    dfs(a, b + 3);
  if (ok(a - 1, b + 1) && ok(a - 1, b + 2) && ok(a - 1, b + 3) &&
      !vis[a - 1][b + 3])
    dfs(a - 1, b + 3);
  if (ok(a + 1, b + 1) && ok(a + 1, b + 2) && ok(a + 1, b + 3) &&
      !vis[a + 1][b + 3])
    dfs(a + 1, b + 3);
}
int main() {
  scanf("%d", &T);
  while (T--) {
    flag = 0;
    memset(vis, 0, sizeof(vis));
    scanf("%d%d", &n, &k);
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < n; j++) {
        cin >> m[i][j];
        if (m[i][j] == 's') a = i, b = j;
      }
      for (int j = n; j < 115; j++) m[i][j] = '.';
    }
    dfs(a, b);
    if (flag)
      puts("YES");
    else
      puts("NO");
  }
  return 0;
}
