#include <bits/stdc++.h>
using namespace std;
int n, k;
char a[3][150];
int book[3][150];
struct node {
  int h, g;
} _a, _b;
queue<node> p;
void bfs() {
  int tx, ty;
  while (!p.empty()) {
    _a = p.front();
    p.pop();
    tx = _a.h;
    ty = _a.g;
    if (_a.g >= n) {
      printf("YES\n");
      return;
    }
    if (a[tx][ty + 1] == '.') {
      ty++;
      if (tx >= 0 && tx <= 2 && a[tx][ty + 1] == '.' && a[tx][ty + 2] == '.' &&
          !book[tx][ty + 2]) {
        book[tx][ty + 2] = 1;
        _a.h = tx;
        _a.g = ty + 2;
        p.push(_a);
      }
      if (tx <= 2 && tx >= 1 && a[tx - 1][ty] == '.' &&
          a[tx - 1][ty + 1] == '.' && a[tx - 1][ty + 2] == '.' &&
          !book[tx - 1][ty + 2]) {
        book[tx - 1][ty + 2] = 1;
        _a.h = tx - 1;
        _a.g = ty + 2;
        p.push(_a);
      }
      if (tx >= 0 && tx <= 1 && a[tx + 1][ty] == '.' &&
          a[tx + 1][ty + 1] == '.' && a[tx + 1][ty + 2] == '.' &&
          !book[tx + 1][ty + 2]) {
        book[tx + 1][ty + 2] = 1;
        _a.h = tx + 1;
        _a.g = ty + 2;
        p.push(_a);
      }
    }
  }
  printf("NO\n");
}
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    memset(book, 0, sizeof(book));
    while (!p.empty()) {
      p.pop();
    }
    int c, d;
    scanf("%d%d", &n, &k);
    for (int j = 0; j < 3; j++) {
      scanf("%s", a[j]);
      if (a[j][0] == 's') {
        c = j;
        d = 0;
      }
    }
    for (int i = n; i < n + 15; i++) {
      a[0][i] = '.';
      a[1][i] = '.';
      a[2][i] = '.';
    }
    _a.h = c;
    _a.g = d;
    p.push(_a);
    book[c][d] = 1;
    bfs();
  }
  return 0;
}
