func_code_string: #include <bits/stdc++.h>   char ar[10][10];   int q[10 * 10 * 10 * 10][3];   bool forb[10][10][10 * 10];   bool used[10][10][10 * 10];   int dir[9][2] = {{1, 1},  {1, 0},  {1, -1}, {0, 1},  {0, 0},                    {0, -1}, {-1, 1}, {-1, 0}, {-1, -1}};   void BFS(void) {     int x = 8, y = 1;     q[1][0] = x;     q[1][1] = y;     q[1][2] = 1;     used[x][y][1] = 1;     for (int al = 1, at = 1; al <= at; al++) {       x = q[al][0];       y = q[al][1];       if (x == 1 && y == 8) {         printf( WIN n );         return;       }       for (int i = 0; i < 9; i++) {         int cx = x + dir[i][0];         int cy = y + dir[i][1];         if (cx > 0 && cx <= 8 && cy > 0 && cy <= 8)           if (!used[cx][cy][q[al][2] + 1])             if (!forb[cx][cy][q[al][2]] && !forb[cx][cy][q[al][2] + 1]) {               q[++at][0] = cx;               q[at][1] = cy;               q[at][2] = q[al][2] + 1;               used[cx][cy][q[al][2] + 1] = 1;             }       }     }     printf( LOSE n );   }   int main() {     for (int i = 1; i <= 8; i++)       for (int j = 1; j <= 8; j++) {         scanf(  %c , &ar[i][j]);         if (ar[i][j] ==  S )           for (int k = i; k <= 8; k++) forb[k][j][k - i + 1] = 1;       }     BFS();     return 0;   }   