#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const long long INF = 1000 * 1000 * 1000 + 7;
const long long LINF = INF * (long long)INF;
const int MAX = 100 + 47;
vector<pair<int, int> > P;
int xs, ys, xe, ye;
string s;
int di[] = {0, 0, -1, 1};
int dj[] = {-1, 1, 0, 0};
int U[10][10][MAX];
bool win = false;
bool inside(int x, int y) { return x >= 0 && x < 8 && y >= 0 && y < 8; }
void dfs(int x, int y, int t) {
  if (win) return;
  if (t > 50) return;
  if (!inside(x, y)) return;
  if (U[x][y][t]) return;
  U[x][y][t] = 1;
  for (int i = (0); i < ((int)P.size()); i++) {
    if (P[i].first + (t + 1) / 2 == x && P[i].second == y) return;
    if (P[i].first + t / 2 == x && P[i].second == y) return;
  }
  if (x == xe && y == ye) {
    win = true;
    return;
  }
  if (t % 2 == 1) {
    dfs(x, y, t + 1);
    return;
  }
  dfs(x, y, t + 1);
  for (int di = (-1); di < (2); di++) {
    for (int dj = (-1); dj < (2); dj++) {
      if (di == 0 && dj == 0) continue;
      dfs(x + di, y + dj, t + 1);
    }
  }
}
int main() {
  for (int i = (0); i < (8); i++) {
    cin >> s;
    for (int j = (0); j < ((int)s.size()); j++) {
      if (s[j] == 'M') {
        xs = i;
        ys = j;
      }
      if (s[j] == 'S') {
        P.push_back(make_pair(i, j));
      }
      if (s[j] == 'A') {
        xe = i;
        ye = j;
      }
    }
  }
  dfs(xs, ys, 0);
  if (win) {
    cout << "WIN" << endl;
    return 0;
  }
  cout << "LOSE" << endl;
}
