#include <bits/stdc++.h>
using namespace std;
const int INF = 2000000000;
const double EPS = 1e-9;
int mods(int a, int b) { return (b + (a % b)) % b; }
char grid[8][8];
bool visited[8][8][11];
vector<int> statues[8];
int dr[9] = {0, -1, -1, 0, 1, 1, 1, 0, -1};
int dc[9] = {0, 0, 1, 1, 1, 0, -1, -1, -1};
bool valid(int moves, int r, int c) {
  for (int i = 0; i < statues[c].size(); i++) {
    int pos = statues[c][i];
    if (pos + moves == r || pos + moves - 1 == r) return 0;
  }
  return 1;
}
bool bfs() {
  int mR = 7, mC = 0;
  queue<pair<int, pair<int, int> > > q;
  q.push(pair<int, pair<int, int> >(0, pair<int, int>(mR, mC)));
  visited[0][mR][mC] = 1;
  while (!q.empty()) {
    pair<int, pair<int, int> > states = q.front();
    q.pop();
    int moves = states.first, r = states.second.first, c = states.second.second;
    for (int i = 0; i < 9; i++) {
      int newR = r + dr[i], newC = c + dc[i], newMoves = moves + 1;
      if (newR == 0 && newC == 7) return 1;
      if (newR >= 0 && newR < 8 && newC >= 0 && newC < 8 &&
          valid(newMoves, newR, newC)) {
        q.push(
            pair<int, pair<int, int> >(newMoves, pair<int, int>(newR, newC)));
        if (newMoves > 8) return 1;
      }
    }
  }
  return 0;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 8; j++) {
      cin >> grid[i][j];
      if (grid[i][j] == 'S') statues[j].push_back(i);
    }
  }
  cout << (bfs() ? "WIN" : "LOSE") << '\n';
  return 0;
}
