#include <bits/stdc++.h>
char c[10][10];
bool pre[10][10];
bool next[10][10];
bool can[10][10][10];
int vx[] = {-1, -1, -1, 0, 0, 0, 1, 1, 1};
int vy[] = {-1, 0, 1, -1, 0, 1, -1, 0, 1};
bool dfs(int k, int i, int j) {
  if (k == 7) return true;
  if (i == 0 && j == 7) return true;
  int l;
  for (l = 0; l < 9; l++) {
    int x = i + vx[l];
    int y = j + vy[l];
    if (x < 0 || x >= 8 || y < 0 || y >= 8) {
      continue;
    }
    if (can[k][x][y]) continue;
    if (dfs(k + 1, x, y)) return true;
  }
  return false;
}
int main() {
  int i, j, k;
  for (i = 0; i < 8; i++) {
    scanf("%s", &c[i]);
  }
  memset(pre, false, sizeof(pre));
  for (i = 0; i < 8; i++) {
    for (j = 0; j < 8; j++) {
      if (c[i][j] == 'S') {
        pre[i][j] = true;
      }
    }
  }
  for (k = 0; k < 8; k++) {
    memset(next, false, sizeof(next));
    for (i = 0; i < 7; i++) {
      memcpy(next[i + 1], pre[i], sizeof(pre[i]));
    }
    for (i = 0; i < 8; i++) {
      for (j = 0; j < 8; j++) {
        can[k][i][j] = pre[i][j] || next[i][j];
      }
    }
    memcpy(pre, next, sizeof(next));
  }
  if (dfs(0, 7, 0)) {
    printf("WIN\n");
  } else {
    printf("LOSE\n");
  }
  return 0;
}
