#include <bits/stdc++.h>
using namespace std;
struct state {
  int x, y, t;
};
string g[16];
set<int> s[16];
bool vis[16][16][32];
int dx[] = {1, 1, 0, -1, -1, -1, 0, 1, 0},
    dy[] = {0, -1, -1, -1, 0, 1, 1, 1, 0};
int main() {
  for (int i = 0; i < 8; i++) cin >> g[i];
  for (int i = 0; i < 8; i++)
    for (int j = 0; j < 8; j++)
      if (g[i][j] == 'S') s[j].insert(7 - i);
  memset(vis, 0, sizeof(vis));
  state st;
  st.x = 0;
  st.y = 0;
  st.t = 0;
  queue<state> q;
  q.push(st);
  vis[0][0][0] = true;
  bool win = false;
  while (!q.empty()) {
    state cur = q.front();
    q.pop();
    if (cur.x == 7 && cur.y == 7) {
      win = true;
      break;
    }
    if (cur.t == 31) break;
    for (int i = 0; i < 9; i++) {
      state nxt;
      nxt.x = cur.x + dx[i];
      nxt.y = cur.y + dy[i];
      nxt.t = cur.t + 1;
      if (nxt.x >= 0 && nxt.x < 8 && nxt.y >= 0 && nxt.y < 8 &&
          !vis[nxt.x][nxt.y][nxt.t] &&
          s[nxt.y].find(nxt.x + nxt.t) == s[nxt.y].end() &&
          s[nxt.y].find(nxt.x + cur.t) == s[nxt.y].end()) {
        q.push(nxt);
        vis[nxt.x][nxt.y][nxt.t] = true;
      }
    }
  }
  cout << (win ? "WIN" : "LOSE") << endl;
  return 0;
}
