#include <bits/stdc++.h>
using namespace std;
char grid[8][9];
bool state[8][8][9], avail(int, int), DFS(int, int, int, bool);
pair<int, int> mv[] = {make_pair(0, 0),   make_pair(0, 1),  make_pair(1, 0),
                       make_pair(0, -1),  make_pair(-1, 0), make_pair(1, 1),
                       make_pair(-1, -1), make_pair(1, -1), make_pair(-1, 1)};
int main() {
  for (int i = 0; i < 8; i++) gets(grid[i]);
  for (int l = 0; l < 9; l++)
    for (int i = 0; i < 8; i++)
      for (int j = 0; j < 8; j++)
        if (!l)
          state[i][j][l] = (grid[i][j] != 'S');
        else
          state[i][j][l] = (!i || state[i - 1][j][l - 1]);
  puts(DFS(7, 0, 0, true) ? "WIN" : "LOSE");
}
bool DFS(int x, int y, int z, bool turn) {
  if (z == 9) return true;
  if (!state[x][y][z] || (!turn && x && !state[x - 1][y][z])) return false;
  bool ret = false;
  if (!turn) return DFS(x, y, z + 1, true);
  for (int k = 0, nx, ny; k < 9; k++) {
    nx = x + mv[k].first, ny = y + mv[k].second;
    if (avail(nx, ny)) {
      ret |= DFS(nx, ny, z, false);
      if (ret) break;
    }
  }
  return ret;
}
bool avail(int x, int y) { return (x >= 0 && x < 8 && y >= 0 && y < 8); }
