#include <bits/stdc++.h>
using namespace std;
bool vis1[10][10][15], vis2[10][10][15];
bool valid(int x, int y) { return (x >= 0 && x < 8 && y >= 0 && y < 8); }
void bfs1(int x, int y) {
  queue<pair<pair<int, int>, int> > q;
  q.push(make_pair(make_pair(x, y), 1));
  vis1[x][y][1] = 1;
  while (!q.empty()) {
    int u = q.front().first.first, v = q.front().first.second,
        t = q.front().second;
    q.pop();
    if (valid(u + 1, v)) {
      vis1[u + 1][v][t + 2] = 1;
      q.push(make_pair(make_pair(u + 1, v), t + 2));
    }
  }
}
bool bfs2(int u = 7, int v = 0) {
  int dx[9] = {0, 0, 0, 1, 1, 1, -1, -1, -1},
      dy[9] = {0, 1, -1, 1, 0, -1, 1, 0, -1};
  queue<pair<pair<int, int>, int> > q;
  q.push(make_pair(make_pair(u, v), 0));
  vis2[u][v][0] = 1;
  while (!q.empty()) {
    int x = q.front().first.first, y = q.front().first.second,
        t = q.front().second;
    q.pop();
    if (x == 0 && y == 7) return 1;
    for (int i = 0; i < 9; i++) {
      if (valid(x + dx[i], y + dy[i]) && !vis1[x + dx[i]][y + dy[i]][t + 1] &&
          !vis2[x + dx[i]][y + dy[i]][i + 2] &&
          !vis1[x + dx[i]][y + dy[i]][t + 3]) {
        vis2[x + dx[i]][y + dy[i]][t + 2] = 1;
        q.push(make_pair(make_pair(x + dx[i], y + dy[i]), t + 2));
      }
    }
  }
  return 0;
}
int main() {
  char x;
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 8; j++) {
      cin >> x;
      if (x == 'S') bfs1(i, j);
    }
  }
  cout << (bfs2() ? "WIN" : "LOSE");
  return 0;
}
