#include <bits/stdc++.h>
using namespace std;
string lower(string s) {
  for (int i = 0; i < s.length(); i++) s[i] = (char)tolower(s[i]);
  return s;
}
string upper(string s) {
  for (int i = 0; i < s.length(); i++) s[i] = (char)toupper(s[i]);
  return s;
}
long long int gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long int abs1(long long int a) {
  if (a < 0)
    return -1 * a;
  else
    return a;
}
long long int power(long long int base, long long int n, long long int M) {
  if (n == 0) return 1;
  if (n == 1) return base;
  long long int halfn = power(base, n / 2, M);
  if (n % 2 == 0)
    return (halfn * halfn) % M;
  else
    return (((halfn * halfn) % M) * base) % M;
}
long long int findMMI(long long int n, long long int M) {
  return power(n, M - 2, M);
}
long long int max2(long long int a, long long int b) {
  if (a > b)
    return a;
  else
    return b;
}
long long int max3(long long int a, long long int b, long long int c) {
  return max2(max2(a, b), c);
}
long long int min2(long long int a, long long int b) {
  if (a < b)
    return a;
  else
    return b;
}
long long int min3(long long int a, long long int b, long long int c) {
  return min2(min2(a, b), c);
}
vector<string> arr;
vector<int> vis[8];
bool dfs(int x, int y, vector<string> ar) {
  if (x < 0 || x > 7 || y < 0 || y > 7) return false;
  if (x == 0 && y == 7) return true;
  if (ar[x][y] == 'S') return false;
  if (vis[x][y] > 10) return false;
  vis[x][y]++;
  vector<pair<int, int> > omg;
  if (x + 1 >= 0 && x + 1 <= 7 && y >= 0 && y <= 7) {
    if (ar[x + 1][y] != 'S') omg.push_back(make_pair(x + 1, y));
  }
  if (x >= 0 && x <= 7 && y + 1 >= 0 && y + 1 <= 7) {
    if (ar[x][y + 1] != 'S') omg.push_back(make_pair(x, y + 1));
  }
  if (x >= 0 && x <= 7 && y - 1 >= 0 && y - 1 <= 7) {
    if (ar[x][y - 1] != 'S') omg.push_back(make_pair(x, y - 1));
  }
  if (x - 1 >= 0 && x - 1 <= 7 && y >= 0 && y <= 7) {
    if (ar[x - 1][y] != 'S') omg.push_back(make_pair(x - 1, y));
  }
  if (x + 1 >= 0 && x + 1 <= 7 && y + 1 >= 0 && y + 1 <= 7) {
    if (ar[x + 1][y + 1] != 'S') omg.push_back(make_pair(x + 1, y + 1));
  }
  if (x + 1 >= 0 && x + 1 <= 7 && y - 1 >= 0 && y - 1 <= 7) {
    if (ar[x + 1][y - 1] != 'S') omg.push_back(make_pair(x + 1, y - 1));
  }
  if (x - 1 >= 0 && x - 1 <= 7 && y + 1 >= 0 && y + 1 <= 7) {
    if (ar[x - 1][y + 1] != 'S') omg.push_back(make_pair(x - 1, y + 1));
  }
  if (x - 1 >= 0 && x - 1 <= 7 && y - 1 >= 0 && y - 1 <= 7) {
    if (ar[x - 1][y - 1] != 'S') omg.push_back(make_pair(x - 1, y - 1));
  }
  if (x >= 0 && x <= 7 && y >= 0 && y <= 7) {
    if (ar[x][y] != 'S') omg.push_back(make_pair(x, y));
  }
  for (int i = 7; i > 0; i--) {
    for (int j = 0; j < 8; j++) {
      if (i == 7) {
        if (ar[i][j] == 'S') ar[i][j] = '.';
      }
      if (ar[i - 1][j] == 'S') {
        ar[i - 1][j] = '.';
        ar[i][j] = 'S';
      }
    }
  }
  bool is = false;
  for (int i = 0; i < omg.size(); i++) {
    if (dfs(omg[i].first, omg[i].second, ar)) is = true;
  }
  return is;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 8; j++) vis[i].push_back(0);
  }
  for (int i = 0; i < 8; i++) {
    string s;
    cin >> s;
    arr.push_back(s);
  }
  arr[7][0] = '.';
  arr[0][7] = '.';
  if (dfs(7, 0, arr) == true)
    cout << "WIN";
  else
    cout << "LOSE";
  return 0;
}
