#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y, id;
  node(){};
  node(int x1, int y1, int id1) { x = x1, y = y1, id = id1; }
};
bool p[10][10];
bool u[10][10];
int d[10][10];
int dxy[9][2] = {{1, 0},  {-1, 0}, {0, 1},   {0, -1}, {1, 1},
                 {-1, 1}, {1, -1}, {-1, -1}, {0, 0}};
int cnt = 0;
int main() {
  for (int i = 0; i < 10; ++i)
    for (int j = 0; j < 10; ++j) u[i][j] = true, d[i][j] = 0;
  char ch;
  for (int i = 1; i <= 8; ++i)
    for (int j = 1; j <= 8; ++j) {
      cin >> ch;
      if (ch == 'S') p[i][j] = 1, cnt++;
      u[i][j] = false;
    }
  queue<node> q;
  q.push(node(8, 1, 0));
  d[8][1] = 0;
  int last = 0;
  while (!q.empty()) {
    node v = q.front(), nv;
    q.pop();
    for (int i = 0; i < 9 && !p[v.x][v.y]; ++i) {
      nv = v;
      nv.x += dxy[i][0], nv.y += dxy[i][1], nv.id++;
      if (!u[nv.x][nv.y] && !p[nv.x][nv.y]) {
        q.push(nv);
        if (cnt == 0) u[nv.x][nv.y] = true;
        d[nv.x][nv.y] = d[v.x][v.y] + 1;
      }
    }
    if (q.size() > 0 && q.front().id != last) {
      last = q.front().id;
      for (int i = 8; i >= 1; --i)
        for (int j = 1; j <= 8; ++j)
          if (p[i][j]) {
            p[i][j] = false;
            p[i + 1][j] = true;
          }
      cnt = 0;
      for (int i = 1; i <= 8; ++i)
        for (int j = 1; j <= 8; ++j)
          if (p[i][j]) cnt++;
    }
  }
  if (d[1][8] == 0)
    cout << "LOSE";
  else
    cout << "WIN";
  return 0;
}
