#include <bits/stdc++.h>
using namespace std;
template <class T>
T Gmax(T x, T y) {
  return x > y ? x : y;
}
template <class T>
T Gmin(T x, T y) {
  return x < y ? x : y;
}
struct {
  int x, y;
} p[70];
int l, f;
int x[9] = {-1, -1, -1, 0, 0, 0, 1, 1, 1};
int y[9] = {-1, 0, 1, -1, 0, 1, -1, 0, 1};
void dfs(int x1, int y1, int m) {
  int i, x2, y2;
  if (m == l || f || (x1 == 0 && y1 == 7)) {
    f = 1;
    return;
  }
  for (i = 0; i < l; i++)
    if ((x1 == p[i].x || x1 == p[i].x + 1) && y1 == p[i].y) return;
  for (i = 0; i < l; i++) {
    p[i].x++;
    if (p[i].x == 8) m++;
  }
  for (i = 0; i < 9; i++) {
    x2 = x1 + x[i];
    y2 = y1 + y[i];
    if (x2 >= 0 && x2 < 8 && y2 >= 0 && y2 < 8) dfs(x2, y2, m);
  }
  for (i = 0; i < l; i++) p[i].x--;
}
int main() {
  int i, j, m, x1, y1, x2, y2;
  char s[10];
  l = 0;
  for (i = 0; i < 8; i++) {
    scanf("%s", s);
    for (j = 0; j < strlen(s); j++)
      if (s[j] == 'S') p[l].x = i, p[l++].y = j;
  }
  x1 = 7, y1 = 0;
  m = f = 0;
  for (i = 0; i < 9; i++) {
    x2 = x1 + x[i];
    y2 = y1 + y[i];
    if (x2 >= 0 && x2 < 8 && y2 >= 0 && y2 < 8) dfs(x2, y2, m);
  }
  if (f)
    printf("WIN\n");
  else
    printf("LOSE\n");
  return 0;
}
