#include <bits/stdc++.h>
using namespace std;
inline void prep() {
  cin.tie(0);
  cin.sync_with_stdio(0);
};
int mod;
char newgrid[8][8];
bool valid(int x, int y, int ax) {
  if (x < ax - 7 || y < 0 || y > 7 || x > ax) {
    return false;
  }
  if (newgrid[x][y] == 'S') {
    return false;
  }
  return true;
}
int mymod(int num) {
  if (num < 0) {
    if (mod == 1) {
      return 0;
    }
    return mod - abs(num) % mod;
  } else {
    return num % mod;
  }
}
int numget[1000001];
double dist(double x, double y, double x2, double y2) {
  return sqrt((x - x2) * (x - x2) + (y - y2) * (y - y2));
}
double eps = .0000000001;
bool visited[20][8][9][2];
int main() {
  prep();
  char grid[8][8];
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 8; j++) {
      cin >> grid[i][j];
    }
  }
  for (int i = 7; i >= 0; i--) {
    for (int j = 0; j < 8; j++) {
      newgrid[i][j] = grid[7 - i][j];
    }
  }
  queue<pair<pair<int, int>, pair<int, bool> > > q;
  q.push({{0, 0}, {0, true}});
  int cx[] = {-1, -1, -1, 0, 0, 0, 1, 1, 1};
  int cy[] = {-1, 1, 0, -1, 1, 0, -1, 1, 0};
  bool found = false;
  while (!q.empty()) {
    pair<pair<int, int>, pair<int, bool> > front = q.front();
    q.pop();
    int myx = front.first.first;
    int myy = front.first.second;
    if (front.second.first > 8) {
      front.second.first = 8;
    }
    if (visited[myx][myy][front.second.first][(int)front.second.second]) {
      continue;
    }
    if (myx == 7 + front.second.first && myy == 7) {
      found = true;
      break;
    }
    visited[myx][myy][front.second.first][(int)front.second.second] = true;
    if (front.second.second) {
      for (int i = 0; i < 9; i++) {
        if (valid(myx + cx[i], myy + cy[i], 7 + front.second.first)) {
          if (myx >= 7) {
            q.push({{myx + cx[i], myy + cy[i]}, {front.second.first, false}});
          } else {
            if (newgrid[myx + cx[i]][myy + cy[i]] != 'S') {
              q.push({{myx + cx[i], myy + cy[i]}, {front.second.first, false}});
            }
          }
        }
      }
    } else {
      if (myx < 7) {
        if (newgrid[myx + 1][myy] != 'S') {
          q.push({{myx + 1, myy}, {front.second.first + 1, true}});
        }
      } else {
        if (front.second.first >= 8) {
          q.push({{myx, myy}, {front.second.first, true}});
        } else {
          q.push({{myx + 1, myy}, {front.second.first + 1, true}});
        }
      }
    }
  }
  if (found) {
    cout << "WIN";
  } else {
    cout << "LOSE";
  }
  return 0;
}
