#include <bits/stdc++.h>
using namespace std;
const int maxn = 7010;
int cnt[maxn][2], vis[maxn][2], win[maxn][2], s[maxn][2], k[2], n;
inline int rd() {
  int res = 0, f = 0;
  char ch = getchar();
  for (; ch > '9' || ch < '0'; ch = getchar())
    if (ch == '-') f = 1;
  for (; ch >= '0' && ch <= '9'; ch = getchar())
    res = (res << 3) + (res << 1) + ch - 48;
  return f ? -res : res;
}
void dfs(int pos, int p) {
  vis[pos][p] = 1;
  if (win[pos][p] == -1) {
    p ^= 1;
    for (register int i = 1; i <= k[p]; ++i) {
      int last = (pos - s[i][p] - 1 + n) % n + 1;
      if (vis[last][p] || last == 1) continue;
      win[last][p] = 1;
      dfs(last, p);
    }
  } else {
    p ^= 1;
    for (register int i = 1; i <= k[p]; ++i) {
      int last = (pos - s[i][p] - 1 + n) % n + 1;
      if (vis[last][p] || last == 1) continue;
      cnt[last][p]++;
      if (cnt[last][p] == k[p]) win[last][p] = -1, dfs(last, p);
    }
  }
}
int main() {
  n = rd();
  k[0] = rd();
  for (register int i = 1; i <= k[0]; ++i) s[i][0] = rd();
  k[1] = rd();
  for (register int i = 1; i <= k[1]; ++i) s[i][1] = rd();
  win[1][0] = -1;
  dfs(1, 0);
  win[1][1] = -1;
  dfs(1, 1);
  for (register int i = 0; i < 2; ++i) {
    for (register int j = 2; j <= n; ++j) {
      if (win[j][i] == 1)
        printf("Win ");
      else if (win[j][i] == -1)
        printf("Lose ");
      else if (!vis[j][i])
        printf("Loop ");
    }
    puts("");
  }
}
