#include <bits/stdc++.h>
using namespace std;
char ch[3][100000];
int vis[3][100000];
bool ans;
int n, k;
void dfs(int x, int y) {
  if (y >= n) {
    ans = true;
    return;
  }
  if (ch[x][y + 1] != '.') {
    return;
  }
  if (vis[x][y]) {
    return;
  }
  vis[x][y] = 1;
  if (ch[x][y + 1] == '.' && ch[x][y + 3] == '.') {
    dfs(x, y + 3);
  }
  if (x >= 1 && ch[x - 1][y + 1] == '.' && ch[x - 1][y + 3] == '.') {
    dfs(x - 1, y + 3);
  }
  if (x <= 1 && ch[x + 1][y + 1] == '.' && ch[x + 1][y + 3] == '.') {
    dfs(x + 1, y + 3);
  }
  return;
}
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    memset(vis, 0, sizeof(vis));
    scanf("%d%d", &n, &k);
    for (int i = 0; i <= 2; i++) {
      scanf("%s", ch[i]);
    }
    for (int i = 0; i <= 2; i++) {
      for (int j = n; j <= n + n; j++) {
        ch[i][j] = '.';
      }
    }
    ans = false;
    for (int i = 0; i <= 2; i++) {
      if (ch[i][0] == 's') {
        dfs(i, 0);
      }
    }
    if (ans == false) {
      printf("NO\n");
    } else {
      printf("YES\n");
    }
  }
  return 0;
}
