#include <bits/stdc++.h>
using namespace std;
const int maxr = 100 + 100;
int r, n;
pair<int, int> p[maxr];
int nim[maxr][4];
bool mark[5 * maxr];
int main() {
  ios::sync_with_stdio(false);
  cin >> r >> n;
  for (int i = 0, _n = (int)(n); i < _n; i++)
    cin >> p[i].first >> p[i].second, p[i].second--;
  sort(p, p + n);
  for (int i = (int)(1), _n = (int)(r + 2); i < _n; i++)
    for (int j = 0, _n = (int)(4); j < _n; j++) {
      memset(mark, false, sizeof mark);
      for (int k = (int)(1), _n = (int)(i); k < _n; k++)
        for (int d = 0, _n = (int)(2); d < _n; d++) {
          int x, y;
          if (j >= 2)
            x = 2 + d;
          else
            x = 1;
          if (j == 0)
            y = 1;
          else if (j == 1 || j == 2)
            y = 2 + d;
          else
            y = 3 - d;
          if (k == 1 && x == 3) continue;
          if (i - k == 1 && y == 3) continue;
          mark[nim[k][x] ^ nim[i - k][y]] = true;
        }
      nim[i][j] = 0;
      while (mark[nim[i][j]]) nim[i][j]++;
    }
  int f = 0;
  if (n) {
    for (int i = (int)(1), _n = (int)(n); i < _n; i++)
      f ^=
          nim[p[i].first - p[i - 1].first][2 + (p[i].second ^ p[i - 1].second)];
    f ^= nim[p[0].first][1];
    f ^= nim[r - p[n - 1].first + 1][1];
  } else
    f = nim[r + 1][0];
  cout << (f ? "WIN" : "LOSE") << endl;
  {
    int _;
    cin >> _;
    return 0;
  }
}
