#include <bits/stdc++.h>
using namespace std;
int sg[110][4];
bool vis[10000];
int mex(int n, int x) {
  if (sg[n][x] != -1) return sg[n][x];
  if (n == 1) {
    if (x != 3)
      return sg[n][x] = 1;
    else
      return sg[n][x] = 0;
  }
  memset(vis, false, sizeof(vis));
  if (x == 0) {
    vis[mex(n - 1, 1)] = true;
    for (int i = 2; i < n; i++) vis[mex(i - 1, 1) ^ mex(n - i, 1)] = true;
  } else if (x == 1) {
    vis[mex(n - 1, 1)] = true;
    vis[mex(n - 1, 2)] = true;
    vis[mex(n - 1, 3)] = true;
    for (int i = 2; i < n; i++) {
      vis[mex(i - 1, 2) ^ mex(n - i, 1)] = true;
      vis[mex(i - 1, 3) ^ mex(n - i, 1)] = true;
    }
  } else if (x == 2) {
    vis[mex(n - 1, 2)] = true;
    for (int i = 2; i < n; i++) {
      vis[mex(i - 1, 2) ^ mex(n - i, 2)] = true;
      vis[mex(i - 1, 3) ^ mex(n - i, 3)] = true;
    }
  } else {
    vis[mex(n - 1, 3)] = true;
    for (int i = 2; i < n; i++) {
      vis[mex(i - 1, 2) ^ mex(n - i, 3)] = true;
      vis[mex(i - 1, 3) ^ mex(n - i, 2)] = true;
    }
  }
  for (int i = 0;; i++)
    if (!vis[i]) return sg[n][x] = i;
}
int a[110];
int main() {
  memset(sg, -1, sizeof(sg));
  for (int i = 1; i <= 100; i++)
    for (int j = 0; j < 4; j++) sg[i][j] = mex(i, j);
  int r, n;
  while (scanf("%d%d", &r, &n) == 2) {
    memset(a, 0, sizeof(a));
    int x, y;
    while (n--) {
      scanf("%d%d", &x, &y);
      a[x] = y;
    }
    int sum = 0;
    int t = 0;
    for (int i = 1; i <= r; i++)
      if (a[i] != 0) {
        if (i - t > 1) {
          if (t == 0) {
            sum ^= sg[i - 1][1];
          } else {
            if (a[t] == a[i])
              sum ^= sg[i - t - 1][2];
            else
              sum ^= sg[i - t - 1][3];
          }
        }
        t = i;
      }
    if (r - t >= 1) {
      if (t > 0)
        sum ^= sg[r - t][1];
      else
        sum ^= sg[r][0];
    }
    if (sum == 0)
      printf("LOSE\n");
    else
      printf("WIN\n");
  }
  return 0;
}
