#include <bits/stdc++.h>
using namespace std;
int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = (x << 3) + (x << 1) + (ch ^ 48);
    ch = getchar();
  }
  return x * f;
}
int n, a, b, A[7005], B[7005], f[7005][2], vis[7005][2], cnt[7005][2];
void dfs(int x, int now) {
  if (vis[x][now]) return;
  vis[x][now] = 1;
  if (now == 0) {
    for (int i = 1; i <= b; i++) {
      int lst = (x - B[i] + n - 1) % n + 1;
      if (vis[lst][now ^ 1] || lst == 1)
        continue;
      else {
        if (f[x][now] == -1) {
          f[lst][now ^ 1] = 1;
          dfs(lst, now ^ 1);
        } else {
          cnt[lst][now ^ 1]++;
          if (cnt[lst][now ^ 1] == b) {
            f[lst][now ^ 1] = -1;
            dfs(lst, now ^ 1);
          }
        }
      }
    }
  } else {
    for (int i = 1; i <= a; i++) {
      int lst = (x - A[i] + n - 1) % n + 1;
      if (vis[lst][now ^ 1] || lst == 1)
        continue;
      else {
        if (f[x][now] == -1) {
          f[lst][now ^ 1] = 1;
          dfs(lst, now ^ 1);
        } else {
          cnt[lst][now ^ 1]++;
          if (cnt[lst][now ^ 1] == a) {
            f[lst][now ^ 1] = -1;
            dfs(lst, now ^ 1);
          }
        }
      }
    }
  }
}
int main() {
  n = read();
  a = read();
  for (int i = 1; i <= a; i++) A[i] = read();
  b = read();
  for (int i = 1; i <= b; i++) B[i] = read();
  f[1][0] = f[1][1] = -1;
  dfs(1, 0);
  dfs(1, 1);
  for (int i = 2; i <= n; i++) {
    if (f[i][0] == -1)
      printf("Lose ");
    else if (f[i][0] == 0)
      printf("Loop ");
    else
      printf("Win ");
  }
  puts("");
  for (int i = 2; i <= n; i++) {
    if (f[i][1] == -1)
      printf("Lose ");
    else if (f[i][1] == 0)
      printf("Loop ");
    else
      printf("Win ");
  }
  puts("");
}
