#include <bits/stdc++.h>
using namespace std;
const long double eps = 1e-9;
const int inf = (1 << 30) - 1;
const long long inf64 = ((long long)1 << 62) - 1;
const long double pi = 3.1415926535897932384626433832795;
template <class T>
T sqr(T x) {
  return x * x;
}
template <class T>
T abs(T x) {
  return x < 0 ? -x : x;
}
int a[150][4];
int x[150], y[150];
int step[2000];
int num;
bool key[150][2];
int Add(int b) {
  step[num] = b;
  num++;
  return 0;
}
int Mex() {
  sort(step, step + num);
  int mex = 0;
  for (int i = 0; i < num; ++i) {
    if (mex == step[i]) {
      mex++;
    }
  }
  return mex;
}
int main() {
  int n, r;
  cin >> r >> n;
  for (int i = 0; i < n; ++i) {
    cin >> x[i] >> y[i];
    x[i]--;
    y[i]--;
  }
  a[0][0] = 0;
  a[0][1] = 1;
  a[0][2] = 0;
  a[0][3] = 1;
  a[1][0] = 1;
  a[1][1] = 2;
  a[1][2] = 1;
  a[1][3] = 0;
  for (int i = 2; i <= r; ++i) {
    num = 0;
    Add(a[i - 2][1]);
    for (int j = 0; j <= i - 3; ++j) {
      Add(a[i - 3 - j][1] ^ a[j][1]);
    }
    a[i][0] = Mex();
    num = 0;
    Add(a[i - 1][1]);
    Add(a[i - 2][2]);
    Add(a[i - 2][1]);
    Add(a[i - 2][3]);
    Add(a[i - 2][1] ^ 1);
    for (int j = 0; j <= i - 3; ++j) {
      Add(a[i - 3 - j][2] ^ a[j][1]);
      Add(a[i - 3 - j][3] ^ a[j][1]);
    }
    a[i][1] = Mex();
    num = 0;
    Add(a[i - 1][2]);
    Add(a[i - 2][2] ^ 1);
    Add(a[i - 2][3]);
    for (int j = 0; j <= i - 3; ++j) {
      Add(a[i - 3 - j][2] ^ a[j][2]);
      Add(a[i - 3 - j][3] ^ a[j][3]);
    }
    a[i][2] = Mex();
    num = 0;
    Add(a[i - 1][3]);
    Add(a[i - 2][3] ^ 1);
    Add(a[i - 2][2]);
    for (int j = 0; j <= i - 3; ++j) {
      Add(a[i - 3 - j][2] ^ a[j][3]);
    }
    a[i][3] = Mex();
    num = 0;
  }
  for (int i = 0; i < r; ++i) {
    key[i][0] = true;
    key[i][1] = true;
  }
  for (int i = 0; i < n; ++i) {
    if (x[i] > 0) key[x[i] - 1][1 - y[i]] = false;
    if (x[i] < r - 1) key[x[i] + 1][1 - y[i]] = false;
    key[x[i]][0] = false;
    key[x[i]][1] = false;
  }
  int ans = 0;
  int i = 0;
  while (i < r) {
    while (i < r && !key[i][0] && !key[i][1]) i++;
    int left = i;
    i++;
    if (left < r) {
      while (i < r && key[i][0] && key[i][1]) i++;
      int right;
      if (i < r && (key[i][0] || key[i][1])) {
        right = i;
        i++;
      } else {
        right = i - 1;
      }
      int st = 0;
      if (key[left][0]) st++;
      if (key[left][1]) st++;
      if (key[right][0]) st++;
      if (key[right][1]) st++;
      if (st == 4) {
        ans = ans ^ a[right - left + 1][0];
      } else {
        if (st == 3 || left == right) {
          ans = ans ^ a[right - left][1];
        } else {
          if ((key[left][0] && key[right][0]) ||
              (key[left][1] && key[right][1])) {
            ans = ans ^ a[right - left - 1][2];
          } else {
            ans = ans ^ a[right - left - 1][3];
          }
        }
      }
    }
  }
  if (ans == 0) {
    cout << "LOSE" << endl;
  } else {
    cout << "WIN" << endl;
  }
  return 0;
}
