#include <cstdio>
using namespace std;
char field[3][105];
int n;
bool dfs(int row, int col, bool climbed) {
if (row < 0 || row > 2) {
return false;
}
if (col >= n) {
return true;
}
if (climbed) {
return field[row][col] == '.' && field[row][col + 1] == '.' && field[row][col + 2] == '.' && dfs(row, col + 2, false);
}
field[row][col] = 'A';
return field[row][col + 1] == '.' && (dfs(row - 1, col + 1, true) || dfs(row, col + 1, true) || dfs(row + 1, col + 1, true));
}
int main() {
int t;
scanf("%d", &t);
while (t--) {
int startingRow;
scanf("%d %d", &n, &startingRow);
for (int i = 0; i < 3; ++i) {
scanf("%s", field[i]);
field[i][n] = field[i][n + 1] = '.';
field[i][n + 2] = 0;
if (field[i][0] == 's') {
startingRow = i;
}
}
puts(dfs(startingRow, 0, false) ? "YES" : "NO");
}
return 0;
}/*1698306527.8952184*/
274. H-Index | 260. Single Number III |
240. Search a 2D Matrix II | 238. Product of Array Except Self |
229. Majority Element II | 222. Count Complete Tree Nodes |
215. Kth Largest Element in an Array | 198. House Robber |
153. Find Minimum in Rotated Sorted Array | 150. Evaluate Reverse Polish Notation |
144. Binary Tree Preorder Traversal | 137. Single Number II |
130. Surrounded Regions | 129. Sum Root to Leaf Numbers |
120. Triangle | 102. Binary Tree Level Order Traversal |
96. Unique Binary Search Trees | 75. Sort Colors |
74. Search a 2D Matrix | 71. Simplify Path |
62. Unique Paths | 50. Pow(x, n) |
43. Multiply Strings | 34. Find First and Last Position of Element in Sorted Array |
33. Search in Rotated Sorted Array | 17. Letter Combinations of a Phone Number |
5. Longest Palindromic Substring | 3. Longest Substring Without Repeating Characters |
1312. Minimum Insertion Steps to Make a String Palindrome | 1092. Shortest Common Supersequence |