#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline bool checkmin(T &a, const T &b) {
  return a > b ? a = b, 1 : 0;
}
template <typename T>
inline bool checkmax(T &a, const T &b) {
  return a < b ? a = b, 1 : 0;
}
char bd[10][10];
vector<pair<int, int> > pos;
bool win;
const int dx[] = {1, 0, -1, 0, 1, 1, -1, -1, 0},
          dy[] = {0, -1, 0, 1, -1, 1, 1, -1, 0};
void dfs(int step, int x, int y) {
  if (step == 8) {
    win = true;
    return;
  }
  for (int i = 0; i < (9); ++i) {
    int tx = x + dx[i], ty = y + dy[i];
    if (tx < 0 || tx >= 8 || ty < 0 || ty >= 8) continue;
    bool wtf = false;
    for (int j = 0; j < (((int)(pos.size()))); ++j) {
      if (pos[j].second == ty &&
          (pos[j].first + step + 1 == tx || pos[j].first + step == tx)) {
        wtf = true;
        break;
      }
    }
    if (wtf) continue;
    dfs(step + 1, tx, ty);
    if (win) return;
  }
}
int main() {
  for (int i = 0; i < (8); ++i) {
    gets(bd[i]);
    for (int j = 0; j < (8); ++j) {
      if (bd[i][j] == 'S') {
        pos.push_back(make_pair((i), (j)));
      }
    }
  }
  win = false;
  dfs(0, 7, 0);
  if (win) {
    puts("WIN");
  } else {
    puts("LOSE");
  }
  return 0;
}
