#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y, adim;
} t, t2;
queue<node> s;
int M[10][10], bx, by, sx, sy,
    yol[10][2] = {{1, 1}, {1, -1}, {-1, 1}, {-1, -1}, {0, 0},
                  {1, 0}, {-1, 0}, {0, 1},  {0, -1}},
    fl, fl2 = 1;
char A[10][10];
int main() {
  for (int i = 1; i < 9; i++) {
    for (int j = 1; j < 9; j++) {
      scanf(" %c", &A[i][j]);
      if (A[i][j] == 'M') {
        bx = i;
        by = j;
      }
      if (A[i][j] == 'A') {
        sx = i;
        sy = j;
      }
    }
  }
  t.x = bx;
  t.y = by;
  t.adim = 0;
  s.push(t);
  while (!s.empty()) {
    t2 = s.front();
    s.pop();
    if (fl2 == 0) M[t2.x][t2.y] = 1;
    if (t2.x == sx && t2.y == sy) {
      printf("WIN");
      exit(0);
    }
    for (int i = 0; i < 9; i++) {
      if (M[t2.x + yol[i][0]][t2.y + yol[i][1]] == 0 &&
          A[t2.x + yol[i][0] - t2.adim - 1][t2.y + yol[i][1]] != 'S' &&
          A[t2.x + yol[i][0] - t2.adim][t2.y + yol[i][1]] != 'S' &&
          t2.x + yol[i][0] > 0 && t2.x + yol[i][0] < 9 &&
          t2.y + yol[i][1] > 0 && t2.y + yol[i][1] < 9) {
        t.x = t2.x + yol[i][0];
        t.y = t2.y + yol[i][1];
        t.adim = t2.adim + 1;
        s.push(t);
      }
    }
    fl = 0;
    if (fl == 0) fl2 = 0;
  }
  printf("LOSE");
}
