#include <bits/stdc++.h>
using namespace std;
char g[9][9], temp[9][9];
int vis[10][10][10];
void update(int sec) {
  for (int j = 0; j < 8; ++j)
    if (temp[7][j] == 'S') {
      temp[7][j] = '.';
      vis[7][j][sec] = 1;
    }
  for (int i = 6; i >= 0; --i)
    for (int j = 0; j < 8; ++j)
      if (temp[i][j] == 'S') {
        vis[i][j][sec] = 1;
        temp[i + 1][j] = 'S';
        temp[i][j] = '.';
      }
}
int dx[] = {1, -1, 0, 0, 1, 1, -1, -1};
int dy[] = {0, 0, 1, -1, 1, -1, 1, -1};
int main() {
  for (int i = 0; i < 8; ++i) scanf("%s", g[i]);
  for (int i = 0; i < 8; ++i) strcpy(temp[i], g[i]);
  for (int i = 0; i < 10; ++i) update(i);
  int sx = 7, sy = 0;
  queue<pair<pair<int, int>, int> > Q;
  Q.push(make_pair(make_pair(sx, sy), 0));
  bool done = false;
  while (Q.size()) {
    int x = Q.front().first.first;
    int y = Q.front().first.second;
    int sec = Q.front().second;
    Q.pop();
    if (x == 0 && y == 7) {
      done = true;
      break;
    }
    if (!vis[x][y][sec + 1]) {
      Q.push(make_pair(make_pair(x, y), sec + 1));
    }
    for (int i = 0; i < 8; ++i) {
      int xx = x + dx[i];
      int yy = y + dy[i];
      if (xx < 0 || xx > 7 || yy < 0 || yy > 7 || vis[xx][yy][sec] ||
          vis[xx][yy][sec + 1])
        continue;
      Q.push(make_pair(make_pair(xx, yy), sec + 1));
    }
  }
  if (done)
    puts("WIN");
  else
    puts("LOSE");
  return 0;
}
