#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int n;
  cin >> n;
  int k1;
  cin >> k1;
  vector<int> s1(k1);
  for (int i = (int)(0); i < (int)(k1); i++) {
    cin >> s1[i];
  }
  int k2;
  cin >> k2;
  vector<int> s2(k2);
  for (int i = (int)(0); i < (int)(k2); i++) {
    cin >> s2[i];
  }
  vector<vector<bool> > rev(2 * n - 1, vector<bool>(2 * n - 1, false));
  for (int i = (int)(1); i < (int)(n); i++) {
    for (int j = (int)(0); j < (int)(k1); j++) {
      int p = i + s1[j];
      if (p == n) {
        p = 0;
      } else if (p >= n + 1) {
        p -= 1;
      } else {
        p += n - 1;
      }
      rev[p][i] = true;
    }
    for (int j = (int)(0); j < (int)(k2); j++) {
      int p = i + s2[j];
      p = p >= n + 1 ? p - n : (p == n ? 0 : p);
      rev[p][n - 1 + i] = true;
    }
  }
  queue<short> que;
  que.push(-1);
  vector<int> res(2 * n - 1, 0);
  vector<bool> vis(2 * n - 1);
  vector<int> nums(2 * n - 1);
  nums[0] = -1;
  while (not que.empty()) {
    int top = que.front();
    que.pop();
    int t = abs(top) - 1;
    int win = top > 0 ? 1 : -1;
    if (0) {
      cerr << endl << "t=" << t << endl;
      cerr << "res:";
      for (int i = (int)(0); i < (int)(2 * n - 1); i++) {
        cerr << " " << res[i];
      }
      cerr << endl;
      cerr << "vis:";
      for (int i = (int)(0); i < (int)(2 * n - 1); i++) {
        cerr << " " << vis[i];
      }
      cerr << endl;
      cerr << "nums:";
      for (int i = (int)(0); i < (int)(2 * n - 1); i++) {
        cerr << " " << nums[i];
      }
      cerr << endl;
    }
    if (win == -1) {
      nums[t] += 1;
      int ne = t == 0 ? 0 : t < n ? k1 : k2;
      if (nums[t] == ne) {
        assert(res[t] == 0);
        res[t] = -1;
      }
    }
    if (win == 1) {
      res[t] = 1;
    }
    if (res[t] != 0) {
      if (vis[t]) {
        continue;
      }
      for (int i = (int)(0); i < (int)(2 * n - 1); i++) {
        if (not rev[t][i]) {
          continue;
        }
        if (not vis[i]) {
          que.push(-res[t] * (i + 1));
        }
      }
      vis[t] = true;
    }
  }
  const char* dat[3] = {"Lose", "Loop", "Win"};
  for (int i = (int)(0); i < (int)(2 * (n - 1)); i++) {
    cout << dat[res[i + 1] + 1] << (i % (n - 1) == n - 2 ? "\n" : " ");
  }
}
