#include <bits/stdc++.h>
using namespace std;
struct Node {
  int x, y;
  Node(){};
  Node(int xx, int yy) : x(xx), y(yy){};
} st[100];
int cnt;
int dir[9][2] = {{0, 0}, {0, 1},  {0, -1}, {1, 0},  {-1, 0},
                 {1, 1}, {1, -1}, {-1, 1}, {-1, -1}};
bool isOk(Node tmp) {
  if (0 <= tmp.x && tmp.x <= 7 && 0 <= tmp.y && tmp.y <= 7) return true;
  return false;
}
bool DFS(Node v, int d) {
  if (d == 8) {
    return true;
  }
  bool flag = false;
  int i;
  for (i = 1; i <= cnt; ++i) {
    int x1 = st[i].x - d, x2 = x1 + 1;
    if (x2 >= 0) flag = true;
    if (v.y == st[i].y) {
      if (x1 == v.x || x2 == v.x) return false;
    }
  }
  if (!flag) {
    return true;
  }
  for (i = 0; i < 9; ++i) {
    Node tmp = Node(v.x + dir[i][0], v.y + dir[i][1]);
    if (isOk(tmp) && DFS(tmp, d + 1)) return true;
  }
  return false;
}
int main() {
  char s[10][10];
  int i, j;
  while (gets(s[7]) != NULL) {
    for (i = 6; i >= 0; --i) gets(s[i]);
    cnt = 0;
    for (i = 7; i >= 0; --i) {
      for (j = 0; j < 8; ++j) {
        if (s[i][j] == 'S') {
          st[++cnt] = Node(i, j);
        }
      }
    }
    if (cnt == 0)
      printf("WIN\n");
    else if (DFS(Node(0, 0), 0))
      printf("WIN\n");
    else
      printf("LOSE\n");
  }
  return 0;
}
