#include <bits/stdc++.h>
using namespace std;
const int MAX = 110;
int N, M;
bool mark[MAX][2];
int dp[MAX][MAX][3][3];
int solve(int l, int r, int ml, int mr) {
  if (l > r) return 0;
  int &ret = dp[l][r][ml][mr];
  if (ret != -1) return ret;
  vector<int> g;
  for (int i = l; i <= r; ++i)
    for (int j = 0; j < 2; ++j) {
      if (mark[i][j]) continue;
      if (i == l && ml && ((ml & (1 << j)) == 0)) continue;
      if (i == r && mr && ((mr & (1 << j)) == 0)) continue;
      g.push_back(solve(l, i - 1, ml, 1 << j) ^ solve(i + 1, r, 1 << j, mr));
    }
  sort(g.begin(), g.end());
  g.resize(unique(g.begin(), g.end()) - g.begin());
  ret = 0;
  while (ret < (int)g.size() && ret == g[ret]) ++ret;
  return ret;
}
int main() {
  int r, c;
  scanf("%d%d", &N, &M);
  for (int i = 0; i < M; ++i) {
    scanf("%d%d", &r, &c), --c;
    mark[r][c] = true;
    mark[r][1 ^ c] = true;
    mark[r - 1][1 ^ c] = true;
    mark[r + 1][1 ^ c] = true;
  }
  memset(dp, -1, sizeof dp);
  if (solve(1, N, 0, 0))
    puts("WIN");
  else
    puts("LOSE");
  return 0;
}
