#include <bits/stdc++.h>
typedef struct pair {
  int x, y;
} pair;
int const N = 1e4 + 5;
pair sMatrix[64], sac[64];
pair anna, maria;
char matrix[8][8], mariaMove[9][9][9];
int i, j, k, s, m, h, t, n = 8;
int kontrol(int x, int y) {
  int i, j;
  for (i = 0; i < s; i++) {
    if (sMatrix[i].x == x && sMatrix[i].y == y) return 0;
  }
  return 1;
}
void sDown(int add) {
  int i;
  for (i = 0; i < s; i++) {
    sMatrix[i].x += add;
  }
}
void dfs(int x, int y, int t) {
  int i, j, k;
  if (x == anna.x && y == anna.y) {
    printf("WIN"), puts("");
    exit(0);
  }
  if (!(!mariaMove[x][y][t] && x >= 0 && x < n && y >= 0 && y < n) ||
      !kontrol(x, y))
    return;
  sDown(1);
  if (!kontrol(x, y)) {
    sDown(-1);
    return;
  }
  mariaMove[x][y][t] = 1;
  for (i = -1, k = 0; i <= 1; i++) {
    for (j = -1; j <= 1; j++, k++) {
      dfs(x + i, y + j, k);
    }
  }
  sDown(-1);
}
void clearMariaMove() {
  int i, j, k;
  for (i = 0; i < 9; i++) {
    for (j = 0; j < 9; j++) {
      for (k = 0; k < 9; k++) {
        mariaMove[i][j][k] = 0;
      }
    }
  }
}
void clear_sMatrix() {
  int i;
  for (i = 0; i < s; i++) {
    sMatrix[i].x = sac[i].x, sMatrix[i].y = sac[i].y;
  }
}
int main() {
  for (i = 0; i < n; i++) {
    scanf("%s", matrix[i]);
    for (j = 0; j < n; j++) {
      if (matrix[i][j] == 'S') {
        sMatrix[s].x = sac[s].x = i, sMatrix[s].y = sac[s].y = j, s++;
      }
    }
  }
  maria.x = 7, maria.y = 0, anna.x = 0, anna.y = 7;
  for (i = -1; i <= 0; i++) {
    for (j = 0; j <= 1; j++) {
      dfs(maria.x + i, maria.y + j, 0);
      clearMariaMove();
      clear_sMatrix();
    }
  }
  puts("LOSE");
  return 0;
}
