#include <bits/stdc++.h>
using namespace std;
int n, k1, k2, x, stt[14444], cnt[14444];
vector<int> sr, sm;
vector<vector<int>> G(14444);
int getPos(int pos, int k) {
  pos -= k;
  if (pos < 1) pos += n;
  return pos;
}
int main() {
  cin >> n;
  cin >> k1;
  for (int i = 0; i < k1; ++i) {
    scanf("%d", &x);
    sr.push_back(x);
  }
  cin >> k2;
  for (int i = 0; i < k2; ++i) {
    scanf("%d", &x);
    sm.push_back(x);
  }
  stt[1] = stt[n + 1] = -1;
  queue<int> que;
  que.push(1);
  que.push(n + 1);
  while (!que.empty()) {
    int t = que.front();
    que.pop();
    if (t > n) {
      for (auto i : sr) {
        int p = getPos(t - n, i);
        if (!stt[p]) {
          stt[p] = 1;
          for (auto j : sm) cnt[n + getPos(p, j)]++;
        }
      }
    } else {
      for (auto i : sm) {
        int p = getPos(t, i);
        if (!stt[p + n]) {
          stt[p + n] = 1;
          for (auto j : sr) cnt[getPos(p, j)]++;
        }
      }
    }
    for (int i = 1; i <= n; ++i)
      if (!stt[i] && cnt[i] == k1) {
        stt[i] = -1;
        que.push(i);
      }
    for (int i = n + 1; i <= 2 * n; ++i)
      if (!stt[i] && cnt[i] == k2) {
        stt[i] = -1;
        que.push(i);
      }
  }
  for (int i = 2; i <= n; ++i) {
    if (stt[i] == 1)
      printf("Win ");
    else if (stt[i] == -1)
      printf("Lose ");
    else
      printf("Loop ");
  }
  putchar('\n');
  for (int i = n + 2; i <= 2 * n; ++i) {
    if (stt[i] == 1)
      printf("Win ");
    else if (stt[i] == -1)
      printf("Lose ");
    else
      printf("Loop ");
  }
  return 0;
}
