#include <bits/stdc++.h>
using namespace std;
int X[] = {0, 1, 0, -1, 0, 1, 1, -1, -1};
int Y[] = {0, 0, 1, 0, -1, 1, -1, -1, 1};
bool cmp[10][10], cmp1[10][10][50];
string T[10];
void imp(pair<pair<int, int>, int> u) {
  int x = u.first.first, y = u.first.second;
  int dist = u.second;
  cout << x << ":" << y << "::" << dist << endl;
}
bool IsValid(pair<pair<int, int>, int> u) {
  int x = u.first.first, y = u.first.second;
  int dist = u.second;
  for (int i = x; i >= 0; i--) {
    if (T[i][y] == 'S') {
      if (abs(i - x) == dist) return false;
    }
  }
  return true;
}
int main() {
  for (int i = 0; i < 8; i++) cin >> T[i];
  queue<pair<pair<int, int>, int> > q1;
  q1.push(make_pair(make_pair(7, 0), 0));
  cmp[7][0] = true;
  while (!q1.empty()) {
    pair<pair<int, int>, int> u = q1.front();
    q1.pop();
    if (!IsValid(u))
      continue;
    else {
      cmp[u.first.first][u.first.second] = true;
    }
    int dist = u.second;
    for (int i = 0; i < 9; i++) {
      int x = u.first.first + X[i], y = u.first.second + Y[i];
      if (x >= 0 && x < 8 && y >= 0 && y < 8) {
        if (IsValid(make_pair(make_pair(x, y), dist))) {
          if (dist + 1 <= 45 && !cmp1[x][y][dist + 1]) {
            cmp1[x][y][dist + 1] = true;
            q1.push(make_pair(make_pair(x, y), dist + 1));
          }
        }
      }
    }
  }
  if (cmp[0][7])
    cout << "WIN" << endl;
  else
    cout << "LOSE" << endl;
  return 0;
}
