#include <bits/stdc++.h>
using namespace std;
bool isPowerOfTwo(long long x) { return x && (!(x & (x - 1))); }
long long power(long long x, unsigned long long y) {
  long long res = 1;
  while (y > 0) {
    if (y & 1) res = res * x;
    y = y >> 1;
    x = x * x;
  }
  return res;
}
const long long Nmax = 1e5 + 2;
vector<long long> adj[Nmax];
bool v[9][9];
char cb[9][9];
struct node {
  long long x, y, step;
};
long long dx[9] = {0, -1, -1, -1, 0, 1, 1, 1, 0};
long long dy[9] = {-1, -1, 0, 1, 1, 1, 0, -1, 0};
vector<pair<long long, long long>> stat;
void update() {
  for (long long i = 0; i < stat.size(); ++i) {
    long long x = stat[i].first, y = stat[i].second;
    cb[x][y] = '.';
    if (x + 1 <= 8) {
      cb[x + 1][y] = 'S';
      stat[i] = {x + 1, y};
    }
  }
}
bool check(long long x, long long y) {
  return x >= 1 && x <= 8 && y >= 1 && y <= 8;
}
bool ok = false;
void dfs(long long x, long long y, long long k) {
  if (k >= 8) {
    cout << "WIN\n";
    exit(0);
  }
  for (long long i = -1; i <= 1; ++i) {
    for (long long j = -1; j <= 1; ++j) {
      long long xx = x + i, yy = y + j;
      if (!check(xx, yy)) continue;
      if (xx - k >= 1) {
        if (cb[xx - k][yy] == 'S') continue;
      }
      if (xx - k - 1 >= 1) {
        if (cb[xx - k - 1][yy] == 'S') continue;
      }
      dfs(xx, yy, k + 1);
    }
  }
}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  for (long long i = 1; i <= 8; ++i) {
    string s;
    cin >> s;
    for (long long j = 0; j < 8; ++j) {
      v[i][j + 1] = false;
      cb[i][j + 1] = s[j];
      if (cb[i][j + 1] == 'S') stat.push_back({i, j + 1});
    }
  }
  dfs(8, 1, 0);
  cout << "LOSE\n";
  return 0;
}
