#include <bits/stdc++.h>
using namespace std;
int r, n, dp[110][110][3][3], mat[110][3], rez;
bool place(int l, int r, int lc, int rc, int pr, int col) {
  if (lc == 0 && rc == 0) return true;
  if (l == r) {
    if (lc == rc && col != lc)
      return false;
    else if (lc == rc && col == lc)
      return true;
    else {
      if (lc == 0) {
        if (rc == col) return true;
        return false;
      }
      if (rc == 0) {
        if (lc == col) return true;
        return false;
      }
      return false;
    }
  }
  if (pr > l && pr < r) return true;
  if (pr == l) {
    if (lc == 0) return true;
    if (col != lc)
      return false;
    else
      return true;
  }
  if (pr == r) {
    if (rc == 0) return true;
    if (col == rc)
      return true;
    else
      return false;
  }
}
int go(int l, int r, int lc, int rc) {
  if (l > r) return 0;
  if (dp[l][r][lc][rc] != -1) return dp[l][r][lc][rc];
  bool temp[200];
  memset(temp, 0, sizeof(temp));
  for (int i = l; i <= r; i++) {
    if (place(l, r, lc, rc, i, 1))
      temp[go(l, i - 1, lc, 1) ^ go(i + 1, r, 1, rc)] = 1;
    if (place(l, r, lc, rc, i, 2))
      temp[go(l, i - 1, lc, 2) ^ go(i + 1, r, 2, rc)] = 1;
  }
  int ret = 0;
  while (temp[ret]) ret++;
  dp[l][r][lc][rc] = ret;
  return ret;
}
int main() {
  scanf("%d %d", &r, &n);
  for (int i = 1; i <= n; i++) {
    int x, y;
    scanf("%d %d", &x, &y);
    mat[x][y - 1] = 1;
  }
  int last = 1;
  int lc = 0;
  memset(dp, -1, sizeof(dp));
  for (int i = 1; i <= r; i++) {
    if (mat[i][0]) {
      rez ^= go(last, i - 1, lc, 1);
      lc = 1;
      last = i + 1;
    } else if (mat[i][1]) {
      rez ^= go(last, i - 1, lc, 2);
      lc = 2;
      last = i + 1;
    }
  }
  rez ^= go(last, r, lc, 0);
  if (rez == 0)
    printf("LOSE\n");
  else
    printf("WIN\n");
  return 0;
}
