#include <bits/stdc++.h>
using namespace std;
struct mv {
  int x, y, c;
  mv(int _x, int _y, int _c) : x(_x), y(_y), c(_c) {}
};
int main() {
  vector<vector<char>> gr(8, vector<char>(8));
  for (int i = 0; i < 8; ++i) {
    for (int j = 0; j < 8; ++j) {
      cin >> gr[i][j];
    }
  }
  auto good = [&gr](const mv& m) {
    int x = m.x;
    int y = m.y;
    int c = m.c;
    if (x >= 0 && x < 8 && y >= 0 && y < 8) {
      if ((7 - y - c + 1 >= 0) && gr[7 - y - c + 1][x] == 'S') return false;
      if (y + c >= 8 || gr[7 - y - c][x] != 'S') {
        return true;
      }
    }
    return false;
  };
  stack<mv> st;
  st.emplace(0, 0, 0);
  while (not st.empty()) {
    mv cur = st.top();
    st.pop();
    for (int i = -1; i <= 1; ++i) {
      for (int j = -1; j <= 1; ++j) {
        mv nm(cur.x + i, cur.y + j, cur.c + 1);
        if (good(nm)) {
          if (cur.c + 1 == 7) {
            cout << "WIN" << endl;
            return 0;
          }
          st.push(move(nm));
        }
      }
    }
  }
  cout << "LOSE" << endl;
  return 0;
}
