func_code_string: #include <bits/stdc++.h>   using namespace std;   const int di[] = {-1, -1, -1, 0, 1, 1, 1, 0, 0},             dj[] = {-1, 0, 1, 1, 1, 0, -1, -1, 0};   int st[20][20][20] = {};   bool fr[20][20][20 * 20] = {};   int n;   void file_open() {     freopen( input.txt ,  r , stdin);     freopen( output.txt ,  w , stdout);   }   void xuli() {     queue<int> q1, q2, q3;     q1.push(7);     q2.push(0);     q3.push(0);     while (!q1.empty()) {       int u = q1.front(), v = q2.front(), k = q3.front() + 1, tK = k;       if (k > 9) k = 9;       q1.pop();       q2.pop();       q3.pop();       for (int i = 0; i < 9; ++i) {         int d = u + di[i], e = v + dj[i];         if (d >= 0 && d < 8 && e >= 0 && e < 8) {           if (st[d][e][k] == 0 && st[d][e][k - 1] == 0 && !fr[d][e][tK]) {             fr[d][e][tK] = 1;             q1.push(d);             q2.push(e);             q3.push(tK);             if (d == 0 && e == 7) {               printf( WIN );               return;             }           }         }       }     }     printf( LOSE );   }   int main() {     char c[20][20] = {};     for (int i = 0; i < 8; ++i) {       for (int j = 0; j < 8; ++j) {         scanf( %c , &c[i][j]);         if (c[i][j] ==  S ) {           int u = 0;           while (u + i < 8) {             st[i + u][j][u] = 1;             ++u;           }         }       }       scanf(  n );     }     xuli();     return 0;   }   