func_code_string: #include <bits/stdc++.h>   using namespace std;   int dx[3] = {-1, 1, 0};   int dy[3] = {1, 1, 1};   int d[5][205];   char mp[5][205];   int n, k, flag;   void dfs(int x, int y) {     d[x][y] = 1;     if (flag) return;     if (y >= n) {       flag = 1;       return;     }     if (mp[x][y + 1] !=  . ) return;     if (x < 2 && !d[x + 1][y + 3]) {       if (mp[x + 1][y + 1] ==  .  && mp[x + 1][y + 2] ==  .  &&           mp[x + 1][y + 3] ==  . )         dfs(x + 1, y + 3);     }     if (x > 0 && !d[x - 1][y + 3]) {       if (mp[x - 1][y + 1] ==  .  && mp[x - 1][y + 2] ==  .  &&           mp[x - 1][y + 3] ==  . )         dfs(x - 1, y + 3);     }     if (!d[x][y + 3]) {       if (mp[x][y + 1] ==  .  && mp[x][y + 2] ==  .  && mp[x][y + 3] ==  . )         dfs(x, y + 3);     }   }   int main() {     int t;     cin >> t;     while (t--) {       memset(d, 0, sizeof(d));       cin >> n >> k;       for (int i = 0; i < 3; i++) {         for (int j = 0; j < n; j++) {           cin >> mp[i][j];         }         mp[i][n] = mp[i][n + 1] = mp[i][n + 2] = mp[i][n + 3] = mp[i][n + 4] =             mp[i][n + 5] = mp[i][n + 6] = mp[i][n + 7] =  . ;       }       flag = 0;       for (int i = 0; i < 3; i++) {         for (int j = 0; j < n; j++) {           if (mp[i][j] ==  s ) {             dfs(i, j);           }         }       }       if (flag)         cout <<  YES  << endl;       else         cout <<  NO  << endl;     }     return 0;   }   