#include <bits/stdc++.h>
using namespace std;
const int N = 8;
const int M = N * N * N;
const int dx[] = {0, 1, 1, 0, -1, -1, -1, 0, 1};
const int dy[] = {0, 0, 1, 1, 1, 0, -1, -1, -1};
int mem[N][N][M];
vector<array<int, 2> > pos;
int dfs(int x, int y, int t) {
  if (t >= M) return 0;
  if (mem[x][y][t] != -1) return mem[x][y][t];
  for (int i = 0; i < 8; i++) {
    int nx = x + dx[i];
    int ny = y + dy[i];
    if (nx < 0 || ny < 0 || nx >= N || ny >= N) continue;
    if (nx == 0 && ny == N - 1) return mem[x][y][t] = 1;
    bool flg = true;
    for (auto p : pos) {
      if (p[0] == nx - t + 1 && p[1] == ny) {
        flg = false;
        break;
      }
      if (p[0] == nx - t && p[1] == ny) {
        flg = false;
        break;
      }
    }
    if (flg && dfs(nx, ny, t + 1)) return mem[x][y][t] = 1;
  }
  return mem[x][y][t] = 0;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout << setprecision(32);
  vector<string> s(N);
  for (auto &x : s) {
    cin >> x;
  }
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      if (s[i][j] == 'S') {
        pos.push_back({i, j});
      }
    }
  }
  memset(mem, -1, sizeof(mem));
  if (dfs(7, 0, 1))
    cout << "WIN\n";
  else
    cout << "LOSE\n";
  return 0;
}
