#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:60000000")
using namespace std;
const long double eps = 1e-9;
const int inf = (1 << 30) - 1;
const long long inf64 = ((long long)1 << 62) - 1;
const long double pi = 3.1415926535897932384626433832795;
template <class T>
T sqr(T x) {
  return x * x;
}
char a[10][10];
int n;
bool u[10][10][100];
int qx[10000], qy[10000], qz[10000];
const int dx[9] = {-1, -1, -1, 0, 0, 0, 1, 1, 1};
const int dy[9] = {-1, 0, 1, -1, 0, 1, -1, 0, 1};
int main() {
  n = 8;
  for (int i = 0; i < (int)(n); i++)
    for (int j = 0; j < (int)(n); j++) scanf(" %c", &a[i][j]);
  a[n - 1][0] = a[0][n - 1] = '.';
  memset(u, 0, sizeof(u));
  int h, t;
  h = t = 0;
  u[n - 1][0][0] = 1;
  qx[h] = n - 1;
  qy[h] = 0;
  qz[h] = 0;
  while (h <= t) {
    int x, y, z;
    x = qx[h];
    y = qy[h];
    z = qz[h];
    h++;
    for (int i = 0; i < (int)(9); i++) {
      int vx = x + dx[i];
      int vy = y + dy[i];
      int vz = z + 1;
      if (vz >= 100) continue;
      if (0 <= vx && vx < n && 0 <= vy && vy < n) {
        int px1 = vx - z;
        int px2 = vx - vz;
        if (px1 >= 0 && a[px1][vy] == 'S') continue;
        if (px2 >= 0 && a[px2][vy] == 'S') continue;
        if (!u[vx][vy][vz]) {
          u[vx][vy][vz] = 1;
          t++;
          qx[t] = vx;
          qy[t] = vy;
          qz[t] = vz;
        }
      }
    }
  }
  if (u[0][n - 1][99])
    cout << "WIN" << endl;
  else
    cout << "LOSE" << endl;
  return 0;
}
