#include <bits/stdc++.h>
char map[10][10];
int dp[10][10][10];
int d[10][3] = {{1, 1},  {1, -1}, {1, 0},  {-1, -1}, {-1, 0},
                {-1, 1}, {0, 0},  {0, -1}, {0, 1}};
struct ndoe {
  int t, x, y;
} Q[3000000];
int bfs() {
  int top = 0, rail = 0;
  Q[top].x = 8, Q[top].y = 1, Q[top].t = 0;
  top++;
  int i, j, xx, yy, t;
  while (rail < top) {
    for (i = 0; i <= 8; i++) {
      xx = Q[rail].x + d[i][0];
      yy = Q[rail].y + d[i][1];
      if (xx < 1 || yy < 1 || xx > 8 || yy > 8) continue;
      t = Q[rail].t + 1;
      if (dp[t][xx][yy] > 0 || dp[t - 1][xx][yy] > 0) continue;
      if (t >= 8) return 1;
      if (xx == 1 && yy == 8) return 1;
      Q[top].x = xx, Q[top].y = yy, Q[top].t = t;
      top++;
    }
    rail++;
  }
  return 0;
}
int main() {
  int i, j, k, t;
  while (scanf("%s", map[1] + 1) != EOF) {
    memset(dp, 0, sizeof(0));
    for (i = 2; i <= 8; i++) scanf("%s", map[i] + 1);
    for (i = 1; i <= 8; i++) {
      for (j = 1; j <= 8; j++) {
        if (map[i][j] == 'S') {
          for (int t = i; t <= 8; t++) {
            dp[t - i][t][j] = 1;
          }
        }
      }
    }
    int f = bfs();
    if (f)
      printf("WIN\n");
    else
      printf("LOSE\n");
    memset(dp, 0, sizeof(dp));
  }
  return 0;
}
