#include <bits/stdc++.h>
using namespace std;
int di[] = {0, 0, 1, -1, -1, -1, 1, 1, 0};
int dj[] = {1, -1, 0, 0, 1, -1, 1, -1, 0};
vector<string> v(8);
int vis[10][10];
inline bool bound(int i, int j) { return i >= 0 && i < 8 && j >= 0 && j < 8; }
bool check(int j, int cur, int lvl) {
  for (int i = (0); i < (8); i++)
    if (v[i][j] == 'S' && (cur - i == lvl)) return false;
  return true;
}
bool bfs() {
  memset(vis, 0, sizeof(vis));
  queue<pair<int, int> > q;
  q.push(make_pair(7, 0));
  vis[7][0] = 1;
  int lvl = 1;
  while ((int)q.size()) {
    int si = (int)q.size();
    while (si--) {
      int i = q.front().first, j = q.front().second;
      q.pop();
      for (int d = (0); d < (9); d++) {
        int ii = di[d] + i, jj = dj[d] + j;
        if (bound(ii, jj) && check(jj, ii, lvl) && check(jj, ii, lvl - 1)) {
          if (v[ii][jj] == 'A') return true;
          if (d != 8 && vis[ii][jj]) continue;
          q.push(make_pair(ii, jj)), vis[ii][jj] = 1;
        }
      }
    }
    lvl++;
  }
  return false;
}
int main() {
  for (int i = (0); i < (8); i++) cin >> v[i];
  if (bfs())
    cout << "WIN";
  else
    cout << "LOSE";
  return 0;
}
