#include <bits/stdc++.h>
char c[110];
int n, k;
int a[4][110], v[4][110];
int sx, sy;
using namespace std;
bool zzy;
void dfs(int i, int j) {
  v[i][j] = 1;
  if (zzy) return;
  if (j >= n) {
    zzy = true;
    return;
  }
  j++;
  if (a[i][j]) return;
  if (!a[i][j + 1] && !a[i][j + 2] && !v[i][j + 2]) {
    dfs(i, j + 2);
  }
  if (i <= 2)
    if (!a[i + 1][j] && !a[i + 1][j + 1] && !a[i + 1][j + 2] &&
        !v[i + 1][j + 2]) {
      dfs(i + 1, j + 2);
    }
  if (i >= 2)
    if (!a[i - 1][j] && !a[i - 1][j + 1] && !a[i - 1][j + 2] &&
        !v[i - 1][j + 2]) {
      dfs(i - 1, j + 2);
    }
}
void init() {
  zzy = false;
  memset(a, 0, sizeof(a));
  memset(v, 0, sizeof(v));
}
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    init();
    scanf("%d %d", &n, &k);
    for (int i = 1; i <= 3; i++) {
      scanf("%s", c);
      for (int j = 1; j <= n; j++) {
        if (c[j - 1] == 's')
          sx = i, sy = j;
        else if (c[j - 1] >= 'A' && c[j - 1] <= 'Z')
          a[i][j] = 1;
      }
    }
    dfs(sx, sy);
    if (zzy)
      printf("YES\n");
    else
      printf("NO\n");
  }
  return 0;
}
