#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y, s;
} A;
queue<node> qu;
char ch[10][10];
bool sav[10][10];
bool jud;
int main() {
  int i, j, k;
  int x, y, s;
  node aa;
  for (i = 0; i < 8; i++) scanf("%s", ch[i]);
  aa.x = 0;
  aa.y = 7;
  aa.s = 7;
  qu.push(aa);
  while (!qu.empty()) {
    aa = qu.front();
    qu.pop();
    x = aa.x;
    y = aa.y;
    s = aa.s;
    sav[y][x] = true;
    if (y == 0) {
      jud = true;
      break;
    }
    if (x > 0 && y < s && !sav[y][x - 1] && ch[y + 1][x - 1] != 'S' &&
        ch[y][x - 1] != 'S') {
      aa.x = x - 1;
      aa.y = y;
      aa.s = s - 1;
      qu.push(aa);
    }
    if (x < 7 && y < s && !sav[y][x + 1] && ch[y + 1][x + 1] != 'S' &&
        ch[y][x + 1] != 'S') {
      aa.x = x + 1;
      aa.y = y;
      aa.s = s - 1;
      qu.push(aa);
    }
    if (x > 0 && !sav[y - 1][x - 1] && ch[y][x - 1] != 'S' &&
        ch[y - 1][x - 1] != 'S') {
      aa.x = x - 1;
      aa.y = y - 1;
      aa.s = s - 1;
      qu.push(aa);
    }
    if (x < 7 && !sav[y - 1][x + 1] && ch[y][x + 1] != 'S' &&
        ch[y - 1][x + 1] != 'S') {
      aa.x = x + 1;
      aa.y = y - 1;
      aa.s = s - 1;
      qu.push(aa);
    }
    if (!sav[y - 1][x] && ch[y][x] != 'S' && ch[y - 1][x] != 'S') {
      aa.x = x;
      aa.y = y - 1;
      aa.s = s - 1;
      qu.push(aa);
    }
    if (y > 1 && !sav[y - 2][x] && ch[y - 1][x] != 'S' && ch[y - 2][x] != 'S') {
      aa.x = x;
      aa.y = y - 2;
      aa.s = s - 1;
      qu.push(aa);
    }
    if (x > 0 && y > 1 && !sav[y - 2][x - 1] && ch[y - 1][x - 1] != 'S' &&
        ch[y - 2][x - 1] != 'S') {
      aa.x = x - 1;
      aa.y = y - 2;
      aa.s = s - 1;
      qu.push(aa);
    }
    if (x < 7 && y > 1 && !sav[y - 2][x + 1] && ch[y - 1][x + 1] != 'S' &&
        ch[y - 2][x + 1] != 'S') {
      aa.x = x + 1;
      aa.y = y - 2;
      aa.s = s - 1;
      qu.push(aa);
    }
  }
  if (!jud) {
    printf("LOSE\n");
  } else
    printf("WIN\n");
}
