#include <bits/stdc++.h>
using namespace std;
struct cond {
  int x, y, t;
};
char tbl[10][10];
int en = 0;
int xx[9] = {1, -1, 1, -1, -1, 1, 0, 0, 0};
int yy[9] = {0, 0, 1, -1, 1, -1, 1, -1, 0};
struct enemy {
  int x, y;
} ene[100];
bool OK(int x, int y, int t) {
  if (x < 0 || x > 7 || y < 0 || y > 7) return 0;
  for (int i = 0; i < en; i++)
    if ((ene[i].x + t - 1 == x && ene[i].y == y) ||
        (ene[i].x + t == x && ene[i].y == y))
      return 0;
  return 1;
}
int main() {
  for (int i = 0; i < 8; i++) scanf("%s", tbl[i]);
  for (int i = 0; i < 8; i++)
    for (int j = 0; j < 8; j++)
      if (tbl[i][j] == 'S') {
        ene[en].x = i;
        ene[en++].y = j;
      }
  bool f = 1;
  cond st;
  st.x = 7;
  st.y = 0;
  st.t = 0;
  queue<cond> que;
  que.push(st);
  while (!que.empty()) {
    cond nw = que.front();
    que.pop();
    if (nw.t > 7 || nw.x == 0 && nw.y == 7) {
      puts("WIN");
      f = 0;
      break;
    }
    for (int i = 0; i < 9; i++) {
      cond nx;
      nx.x = nw.x + xx[i];
      nx.y = nw.y + yy[i];
      nx.t = nw.t + 1;
      if (OK(nx.x, nx.y, nx.t)) que.push(nx);
    }
  }
  if (f) puts("LOSE");
}
