#include <bits/stdc++.h>
using namespace std;
const int MOV[][2] = {{-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 0},
                      {0, 1},   {1, -1}, {1, 0},  {1, 1}};
int Mi, Mj, Ai, Aj;
char b[10][10];
bool ret, cur, nex;
bool mk[10][10];
queue<int> Q[2];
bool ok(int i, int j) {
  if (!i) return true;
  return b[i - 1][j] != 'S';
}
int main() {
  for (int i = 0; i < 8; ++i) scanf("%s", b[i]);
  for (int i = 0; i < 8; ++i)
    for (int j = 0; j < 8; ++j)
      if (b[i][j] == 'A')
        Ai = i, Aj = j;
      else if (b[i][j] == 'M')
        Mi = i, Mj = j;
  cur = 0;
  nex = 1;
  Q[cur].push(Mi);
  Q[cur].push(Mj);
  mk[Mi][Mj] = true;
  while (true) {
    while (!Q[cur].empty()) {
      int i = Q[cur].front();
      Q[cur].pop();
      int j = Q[cur].front();
      Q[cur].pop();
      mk[i][j] = false;
      if (i == Ai && j == Aj) {
        ret = true;
        break;
      }
      for (int k = 0; k < 9; ++k) {
        int ii = i + MOV[k][0];
        int jj = j + MOV[k][1];
        if (ii >= 0 && ii < 8 && jj >= 0 && jj < 8 && !mk[ii][jj] &&
            b[ii][jj] != 'S' && ok(ii, jj)) {
          mk[ii][jj] = true;
          Q[nex].push(ii);
          Q[nex].push(jj);
        }
      }
    }
    for (int i = 7; i >= 0; --i) {
      for (int j = 0; j < 8; ++j)
        if (b[i][j] == 'S') b[i][j] = '.';
      for (int j = 0; j < 8; ++j)
        if (b[i - 1][j] == 'S') b[i][j] = 'S';
    }
    cur ^= 1;
    nex ^= 1;
    if (Q[cur].empty()) break;
  }
  puts(ret ? "WIN" : "LOSE");
  return 0;
}
