#include <bits/stdc++.h>
using namespace std;
int n, m, sr, sc, er, ec;
vector<int> t[10][10];
char mat[10][10];
int dr[] = {0, 0, -1, 1, -1, -1, 1, 1, 0},
    dc[] = {-1, 1, 0, 0, -1, 1, -1, 1, 0};
int main() {
  n = 8, m = 8;
  for (int i = 0; i < n; ++i) {
    scanf("%s", &mat[i]);
    for (int j = 0; j < m; ++j)
      if (mat[i][j] == 'M') {
        sr = i;
        sc = j;
      } else if (mat[i][j] == 'A') {
        er = i;
        ec = j;
      } else if (mat[i][j] == 'S') {
        int cnt = 1;
        for (int k = i; k < n; ++k) t[k][j].push_back(cnt++);
      }
  }
  queue<pair<pair<int, int>, int> > q;
  q.push(make_pair(pair<int, int>(sr, sc), 0));
  bool used[10][10][105] = {0};
  used[sr][sc][0] = 1;
  bool ans = 0;
  while (!q.empty()) {
    int r = q.front().first.first, c = q.front().first.second,
        w = q.front().second;
    q.pop();
    if (mat[r][c] == 'A') {
      ans = 1;
      break;
    }
    for (int i = 0; i < 9; ++i) {
      int nr = r + dr[i], nc = c + dc[i];
      if (nr < 0 || nc < 0 || nr >= n || nc >= m) continue;
      if (used[nr][nc][w + 1]) continue;
      bool valid = 1;
      for (int j = 0; j < int((t[nr][nc]).size()); ++j)
        if (w + 1 == t[nr][nc][j] || w + 1 == t[nr][nc][j] - 1) {
          valid = 0;
          break;
        }
      if (!valid) continue;
      used[nr][nc][w + 1] = 1;
      q.push(make_pair(pair<int, int>(nr, nc), w + 1));
    }
  }
  printf("%s\n", ans ? "WIN" : "LOSE");
  return 0;
}
