#include <bits/stdc++.h>
const int maxi = 2000000000;
const int maxq = 1000000000;
const double eps = 1e-10;
const double pi = 3.1415926535897932;
const double inf = 1e+18;
const int mo = 1000000007;
using namespace std;
struct T {
  int x, y, k;
} och[1111111];
char a[111][111];
vector<int> s[10];
int st_min, q1, q2;
int xp[9] = {0, 0, 0, -1, -1, -1, 1, 1, 1};
int yp[9] = {0, 1, -1, 0, 1, -1, 0, 1, -1};
bool f[100][100][100];
void add(int x, int y, int k) {
  if (x < 1 || y < 1 || x > 8 || y > 8 || f[x][y][k]) return;
  f[x][y][k] = true;
  for (int i = 0; i < s[y].size(); i++)
    if (s[y][i] + k == x) return;
  for (int i = 0; i < s[y].size(); i++)
    if (k && s[y][i] + k - 1 == x) return;
  if (st_min + k > 8) {
    puts("WIN");
    exit(0);
  }
  och[q1].x = x;
  och[q1].y = y;
  och[q1].k = k;
  q1++;
}
int main() {
  for (int i = 1; i <= 8; i++) {
    for (int j = 1; j <= 8; j++) scanf("%c", &a[i][j]);
    scanf("\n");
  }
  st_min = maxi;
  for (int i = 1; i <= 8; i++)
    for (int j = 1; j <= 8; j++)
      if (a[i][j] == 'S') {
        s[j].push_back(i);
        st_min = min(st_min, i);
      }
  add(8, 1, 0);
  while (q1 != q2) {
    int x = och[q2].x;
    int y = och[q2].y;
    int k = och[q2].k;
    for (int i = 0; i < 9; i++) add(x + xp[i], y + yp[i], k + 1);
    q2++;
  }
  puts("LOSE");
  return 0;
}
