#include <bits/stdc++.h>
using namespace std;
const int dir[9][2] = {{-1, 0}, {-1, 1}, {0, 1},   {1, 1}, {1, 0},
                       {1, -1}, {0, -1}, {-1, -1}, {0, 0}};
char board[8][10];
struct pos {
  int r, c;
};
pos spos[70];
int scnt = 0;
void priBoard() {
  for (int i = 0; i < 8; i++) printf("%s\n", board[i]);
}
bool inBoard(int r, int c) { return 0 <= r && r < 8 && 0 <= c && c < 8; }
bool noS(int r, int c) {
  for (int i = 0; i < scnt; i++)
    if (spos[i].r == r && spos[i].c == c) return true;
  return false;
}
bool dfs(int r, int c) {
  if (r == 0 && c == 7) return true;
  bool ret = true;
  for (int i = 0; i < scnt; i++) spos[i].r++;
  if (noS(r, c)) ret = false;
  if (ret) {
    bool res = false;
    for (int i = 0; i < 9 && !res; i++) {
      int rn = r + dir[i][0], cn = c + dir[i][1];
      if (inBoard(rn, cn) && !noS(rn, cn)) {
        if (dfs(rn, cn)) res = true;
      }
    }
    ret = res;
  }
  for (int i = 0; i < scnt; i++) spos[i].r--;
  return ret;
}
int main() {
  for (int i = 0; i < 8; i++) {
    scanf("%s", board[i]);
    for (int j = 0; j < 8; j++)
      if (board[i][j] == 'S') {
        spos[scnt].r = i, spos[scnt].c = j;
        scnt++;
      }
  }
  const int r = 7, c = 0;
  bool res = false;
  for (int i = 0; i < 9 && !res; i++) {
    int rn = r + dir[i][0], cn = c + dir[i][1];
    if (inBoard(rn, cn) && !noS(rn, cn)) {
      if (dfs(rn, cn)) res = true;
    }
  }
  if (res)
    printf("WIN\n");
  else
    printf("LOSE\n");
  return 0;
}
