#include <bits/stdc++.h>
using namespace std;
class node {
 public:
  int x, y, steps;
  node(int, int, int);
};
node::node(int a, int b, int c) {
  x = a;
  y = b;
  steps = c;
}
int main() {
  vector<string> map(8);
  vector<string> map2(8);
  int vis[8][8];
  for (int fi = 0; fi < 8; fi++)
    for (int co = 0; co < 8; co++) vis[fi][co] = 0;
  for (int c = 0; c < 8; c++) cin >> map[c];
  node start(7, 0, 0);
  queue<node> s;
  s.push(start);
  while (s.empty() == false) {
    node top = s.front();
    s.pop();
    map2 = map;
    int ban_lose = 1;
    if (top.steps > 0) {
      for (int fi = 7; fi >= 0; fi--)
        for (int co = 7; co >= 0; co--) {
          if (map[fi][co] == 'S') {
            if (fi + top.steps == top.x and co == top.y) {
              ban_lose = 0;
            }
            if (fi + top.steps > 7)
              map2[fi][co] = '.';
            else {
              map2[fi + top.steps][co] = 'S';
              map2[fi][co] = '.';
            }
          }
        }
      if (vis[top.x][top.y] > 4 || ban_lose == 0)
        continue;
      else
        vis[top.x][top.y]++;
    }
    if (top.x == 0 && top.y == 7) {
      cout << "WIN";
      return 0;
    }
    map2[top.x][top.y] = 'M';
    top.steps++;
    if (map2[top.x][top.y] != 'S') s.push(node(top.x, top.y, top.steps));
    if (top.x - 1 >= 0)
      if (map2[top.x - 1][top.y] != 'S')
        s.push(node(top.x - 1, top.y, top.steps));
    if (top.y + 1 < 8 and top.x - 1 >= 0)
      if (map2[top.x - 1][top.y + 1] != 'S')
        s.push(node(top.x - 1, top.y + 1, top.steps));
    if (top.y + 1 < 8)
      if (map2[top.x][top.y + 1] != 'S')
        s.push(node(top.x, top.y + 1, top.steps));
    if (top.y + 1 < 8 and top.x + 1 < 8)
      if (map2[top.x + 1][top.y + 1] != 'S')
        s.push(node(top.x + 1, top.y + 1, top.steps));
    if (top.x + 1 < 8)
      if (map2[top.x + 1][top.y] != 'S')
        s.push(node(top.x + 1, top.y, top.steps));
    if (top.y - 1 >= 0 and top.x + 1 < 8)
      if (map2[top.x + 1][top.y - 1] != 'S')
        s.push(node(top.x + 1, top.y - 1, top.steps));
    if (top.y - 1 >= 0)
      if (map2[top.x][top.y - 1] != 'S')
        s.push(node(top.x, top.y - 1, top.steps));
    if (top.y - 1 >= 0 and top.x - 1 >= 0)
      if (map2[top.x - 1][top.y - 1] != 'S')
        s.push(node(top.x - 1, top.y - 1, top.steps));
  }
  cout << "LOSE" << endl;
}
