#include <bits/stdc++.h>
using namespace std;
string Map[8];
int b, dx[9]{0, 0, 1, -1, 1, -1, 1, -1, 0};
int dy[9]{1, -1, 0, 0, 1, 1, -1, -1, 0};
queue<pair<int, int> > st;
queue<pair<int, int> > M;
bool val(int x, int y) {
  return x >= 0 && y >= 0 && x < 8 && y < 8 && Map[x][y] != 'S';
}
void Mmove() {
  int p = M.size();
  for (int i = 0; i < p; i++) {
    for (int j = 0; j < 9; j++) {
      if (M.size() == 0) return;
      int xx = M.front().first + dx[j], yy = M.front().second + dy[j];
      if (!val(xx, yy)) continue;
      M.push(make_pair(xx, yy));
    }
    M.pop();
  }
}
void Smove() {
  int p = st.size();
  for (int i = 0; i < p; i++) {
    Map[st.front().first][st.front().second] = '.';
    if (st.front().first + 1 > 7) {
      st.pop();
      continue;
    }
    st.push(make_pair(st.front().first + 1, st.front().second));
    Map[st.front().first + 1][st.front().second] = 'S';
    st.pop();
  }
  p = M.size();
  for (int i = 0; i < p; i++) {
    if (Map[M.front().first][M.front().second] != 'S')
      M.push(make_pair(M.front().first, M.front().second));
    M.pop();
  }
}
int main() {
  for (int i = 0; i < 8; i++) cin >> Map[i];
  for (int i = 7; i >= 0; i--)
    for (int j = 0; j < 8; j++)
      if (Map[i][j] == 'S') {
        st.push(make_pair(i, j));
      }
  M.push(make_pair(7, 0));
  for (int i = 0; i < 9; i++) {
    Mmove();
    Smove();
    if (st.size() == 0) break;
  }
  if (M.size() == 0)
    cout << "LOSE";
  else
    cout << "WIN";
}
