#include <bits/stdc++.h>
const bool debug = false;
using namespace std;
long long powmod(long long a, long long b, long long MOD) {
  long long res = 1;
  a %= MOD;
  for (; b; b >>= 1) {
    if (b & 1) res = res * a % MOD;
    a = a * a % MOD;
  }
  return res;
}
void buginfo(const char* f, ...) {
  if (!debug) return;
  va_list al;
  va_start(al, f);
  vprintf(f, al);
  va_end(al);
}
const int maxn = 7010;
int n, k1, k2, dp[2][maxn];
int fcnt[2][maxn];
set<int> s0, s1;
void dfs(int i, int u, int val) {
  if (dp[i][u] != -1) return;
  dp[i][u] = val;
  set<int>& s = ((i ^ 1) == 0) ? s0 : s1;
  for (int t : s) {
    int pre = (u + n - t - 1) % n + 1;
    if (pre == 1) continue;
    if (val == 0)
      dfs(i ^ 1, pre, 1);
    else {
      int tot = ((i ^ 1) == 0) ? k1 : k2;
      if (++fcnt[i ^ 1][pre] == tot) dfs(i ^ 1, pre, 0);
    }
  }
  return;
}
int main() {
  scanf("%d", &n);
  scanf("%d", &k1);
  for (int i = 0; i < k1; ++i) {
    int d;
    scanf("%d", &d);
    s0.insert(d);
  }
  scanf("%d", &k2);
  for (int i = 0; i < k2; ++i) {
    int d;
    scanf("%d", &d);
    s1.insert(d);
  }
  memset(dp, -1, sizeof(dp));
  for (int t = 0; t < 2; ++t) dfs(t, 1, 0);
  for (int t = 0; t < 2; ++t) {
    for (int i = 2; i < n + 1; ++i) {
      int r = dp[t][i];
      if (r == 1)
        printf("Win ");
      else if (r == 0)
        printf("Lose ");
      else
        printf("Loop ");
    }
    printf("\n");
  }
  return 0;
}
