#include <bits/stdc++.h>
using namespace std;
bool vis[10][10][100];
int di[] = {-1, -1, -1, 0, +1, +1, +1, 0, 0};
int dj[] = {-1, 0, +1, +1, +1, 0, -1, -1, 0};
int main() {
  vector<pair<int, int> > statues;
  for (int i = 0; i < int(8); ++i) {
    string s;
    cin >> s;
    for (int j = 0; j < int(8); ++j)
      if (s[j] == 'S') statues.push_back(make_pair(i, j));
  }
  queue<pair<pair<int, int>, int> > q;
  q.push(make_pair(make_pair(7, 0), 0));
  while (!q.empty()) {
    __typeof__(q.front()) p = (q.front());
    q.pop();
    if (p.first.first == 0 && p.first.second == 7) {
      puts("WIN");
      return 0;
    }
    if (vis[p.first.first][p.first.second][p.second]) continue;
    vis[p.first.first][p.first.second][p.second] = true;
    for (int k = 0; k < int(9); ++k) {
      int ni = p.first.first + di[k], nj = p.first.second + dj[k],
          nt = p.second + 1;
      if (0 <= ni && ni < 8 && 0 <= nj && nj < 8) {
        for (__typeof__((statues).begin()) it = ((statues).begin());
             (it) != (statues).end(); ++(it))
          if ((it->first + nt == ni && it->second == nj) ||
              (it->first + nt - 1 == ni && it->second == nj))
            goto fail;
        q.push(make_pair(make_pair(ni, nj), nt));
      }
    fail:;
    }
  }
  puts("LOSE");
}
