#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y, k;
  node(int a, int b, int c) {
    x = a;
    y = b;
    k = c;
  }
};
int d1[9] = {+0, +0, +0, +1, +1, +1, -1, -1, -1};
int d2[9] = {+0, +1, -1, +1, -1, +0, -1, +1, +0};
int used[10][10][100];
char ch;
vector<int> g[10];
queue<node> q;
bool succe = false;
bool check(int x, int y, int k) {
  if (x < 1 || x > 8 || y < 1 || y > 8) return false;
  if (used[x][y][k] == 1) return false;
  if (k > 70) return false;
  for (int i = 0; i < g[y].size(); i++)
    if (g[y][i] + k == x || g[y][i] + k - 1 == x) return false;
  return true;
}
int main() {
  for (int i = 1; i <= 8; i++)
    for (int j = 1; j <= 8; j++) {
      cin >> ch;
      if (ch == 'S') g[j].push_back(i);
    }
  q.push(node(8, 1, 0));
  used[8][1][0] = 1;
  while (!q.empty()) {
    node tmp = q.front();
    q.pop();
    if (tmp.x == 1 && tmp.y == 8) succe = true;
    for (int i = 0; i <= 8; i++) {
      int x = tmp.x + d1[i];
      int y = tmp.y + d2[i];
      int k = tmp.k + 1;
      if (!check(x, y, k)) continue;
      used[x][y][k] = 1;
      q.push(node(x, y, k));
    }
  }
  if (succe)
    cout << "WIN" << endl;
  else
    cout << "LOSE" << endl;
  return 0;
}
