#include <bits/stdc++.h>
using namespace std;
int n = 8;
bool win = false;
int dx1[] = {0, 0, 1, -1};
int dy1[] = {1, -1, 0, 0};
int dx2[] = {1, 1, -1, -1};
int dy2[] = {-1, 1, -1, 1};
void dfs(int x, int y, vector<vector<char> > a) {
  int col = 0;
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < n; ++j) {
      if (a[i][j] == 'S') {
        ++col;
        break;
      }
    }
    if (col >= 1) break;
  }
  if (col == 0) {
    win = true;
  }
  if (win) return;
  bool mustmove = false;
  for (int i = n - 1; i >= 0; --i) {
    for (int j = n - 1; j >= 0; --j) {
      if (a[i][j] == 'Q') a[i][j] = '.';
      if (a[i][j] == 'S') {
        a[i][j] = 'Q';
        if (i + 1 >= n) continue;
        if (a[i + 1][j] == 'M') mustmove = true;
        a[i + 1][j] = 'S';
      }
    }
  }
  for (int i = 0; i < 4; ++i) {
    int xx = x + dx1[i];
    int yy = y + dy1[i];
    if (xx >= 0 && yy >= 0 && xx < n && yy < n && a[xx][yy] == '.') {
      if (mustmove)
        a[x][y] = 'S';
      else
        a[x][y] = '.';
      a[xx][yy] = 'M';
      dfs(xx, yy, a);
      a[xx][yy] = '.';
      a[x][y] = 'M';
    }
    xx = x + dx2[i];
    yy = y + dy2[i];
    if (xx >= 0 && yy >= 0 && xx < n && yy < n && a[xx][yy] == '.') {
      if (mustmove)
        a[x][y] = 'S';
      else
        a[x][y] = '.';
      a[xx][yy] = 'M';
      dfs(xx, yy, a);
      a[xx][yy] = '.';
      a[x][y] = 'M';
    }
  }
  if (!mustmove) {
    dfs(x, y, a);
  }
}
int main() {
  vector<vector<char> > a(n, vector<char>(n, 0));
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < n; ++j) {
      cin >> a[i][j];
    }
  }
  a[7][0] = 'M';
  dfs(7, 0, a);
  if (win) {
    cout << "WIN";
  } else {
    cout << "LOSE";
  }
  return 0;
}
