#include <bits/stdc++.h>
using namespace std;
const int N = 7005;
const int inf = 0x3f3f3f3f;
int vis1[N], vis2[N], n, *p[2], goal, dp[N][2], way[N][2];
int flag;
void dfs(int x, int op) {
  if (dp[x][op] == 0) {
    for (int i = 1; i <= n - 1; i++)
      if (p[op ^ 1][i] && (dp[(x - i + n) % n][op ^ 1] == -1)) {
        dp[(x - i + n) % n][op ^ 1] = 1;
        dfs((x - i + n) % n, op ^ 1);
      }
  } else {
    for (int i = 1; i <= n - 1; i++)
      if (p[op ^ 1][i] && (dp[(x - i + n) % n][op ^ 1] == -1)) {
        if (++way[(x - i + n) % n][op ^ 1] == p[op ^ 1][0]) {
          dp[(x - i + n) % n][op ^ 1] = 0;
          dfs((x - i + n) % n, op ^ 1);
        }
      }
  }
}
void solve() {
  memset(dp, -1, sizeof(dp));
  dp[0][0] = dp[0][1] = 0;
  dfs(0, 0);
  dfs(0, 1);
  for (int i = 1; i <= n - 1; i++) {
    if (dp[i][0] == 1) printf("Win ");
    if (dp[i][0] == 0) printf("Lose ");
    if (dp[i][0] == -1) printf("Loop ");
  }
  puts("");
  for (int i = 1; i <= n - 1; i++) {
    if (dp[i][1] == 1) printf("Win ");
    if (dp[i][1] == 0) printf("Lose ");
    if (dp[i][1] == -1) printf("Loop ");
  }
  puts("");
}
int main() {
  int k, x;
  scanf("%d", &n);
  scanf("%d", &k);
  for (int i = 1; i <= k; i++) scanf("%d", &x), vis1[x] = 1, vis1[0]++;
  scanf("%d", &k);
  for (int i = 1; i <= k; i++) scanf("%d", &x), vis2[x] = 1, vis2[0]++;
  p[0] = vis1, p[1] = vis2;
  solve();
}
