#include <bits/stdc++.h>
using namespace std;
bool statue[1000][9][9];
int lvl[10000];
int movement[9][2] = {{-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 0},
                      {0, 1},   {1, -1}, {1, 0},  {1, 1}};
void makemap() {
  for (int i = 1; i <= 8; i++) {
    for (int j = 7; j > 0; j--) {
      for (int k = 0; k < 8; k++) {
        statue[i][j][k] = statue[i - 1][j - 1][k];
      }
    }
  }
}
int cnt = 0;
bool MultiDimensiBfs() {
  pair<int, int> start = make_pair(7, 0);
  queue<pair<int, int> > q;
  q.push(start);
  int time = 0;
  lvl[0] = 1;
  while (!q.empty()) {
    pair<int, int> root = q.front();
    q.pop();
    lvl[time]--;
    for (int i = 0; i < 9; i++) {
      int my = root.first + movement[i][0];
      int mx = root.second + movement[i][1];
      if (mx < 0 || mx > 7 || my < 0 || my > 7) continue;
      if (i >= 0 && i <= 2 && statue[time][my][mx] == 1) continue;
      if (statue[time + 1][my][mx] != 1 && statue[time][my][mx] != 1) {
        if (my == 0 && mx == 7) return true;
        q.push(make_pair(my, mx));
        lvl[time + 1]++;
      }
    }
    if (lvl[time] == 0) time++;
  }
  return 0;
}
int main() {
  string a;
  for (int i = 0; i < 8; i++) {
    cin >> a;
    for (int j = 0; j < 8; j++) {
      if (a[j] == 'S') {
        statue[0][i][j] = 1;
      }
    }
  }
  makemap();
  bool ans = MultiDimensiBfs();
  cout << (ans ? "WIN" : "LOSE") << endl;
}
