#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl '\n'
const int N = 105;
bool train[3][N]; // 初始火车位置
int n;
bool dfs(int r, int rel){
if(rel >= 3 * n - 2) return true; // 主角到达最右列
for(int nr = r - 1; nr <= r + 1; nr++){
if(nr < 0 || nr > 2) continue;
// 检查 (r, rel+1), (nr, rel+1), (nr, rel+3)
bool ok = true;
// 主角右移 1 格(火车未动):目标 (r, rel+1)
if(rel + 1 <= n && train[r][rel + 1]) ok = false;
// 行变后(火车未动):(nr, rel+1)
if(ok && rel + 1 <= n && train[nr][rel + 1]) ok = false;
// 火车左移 2 后:主角 (nr, rel+3)
if(ok && rel + 3 <= n && train[nr][rel + 3]) ok = false;
if(ok && dfs(nr, rel + 3)) return true;
}
return false;
}
int main(){
int t;
scanf("%d", &t);
while(t--){
int k;
scanf("%d%d", &n, &k);
memset(train, 0, sizeof(train));
int sr = -1;
char buf[N];
for(int i = 0; i < 3; i++){
scanf("%s", buf);
for(int j = 1; j <= n; j++){
if(buf[j-1] == 's'){ sr = i; }
else if(buf[j-1] != '.'){ train[i][j] = true; }
}
}
printf("%s\n", dfs(sr, 1) ? "YES" : "NO");
}
return 0;
}