#include <bits/stdc++.h>
using namespace std;
const int maxn = 7000 + 5;
int n, k1, k2;
int cntPre[2][maxn], s[2][maxn];
bool vis[2][maxn], lose[2][maxn], win[2][maxn];
void dfs(int turn, int cur) {
  for (int i = 0; i < (turn ^ 1 == 0 ? k1 : k2); i++) {
    int nxt = (cur + n - s[turn ^ 1][i]) % n;
    if (vis[turn ^ 1][nxt]) continue;
    if (lose[turn][cur])
      win[turn ^ 1][nxt] = true;
    else if (--cntPre[turn ^ 1][nxt] == 0)
      lose[turn ^ 1][nxt] = true;
    else
      continue;
    vis[turn ^ 1][nxt] = true;
    dfs(turn ^ 1, nxt);
  }
}
int main() {
  scanf("%d", &n);
  scanf("%d", &k1);
  for (int i = 0; i < k1; i++) scanf("%d", &s[0][i]);
  scanf("%d", &k2);
  for (int i = 0; i < k2; i++) scanf("%d", &s[1][i]);
  for (int i = 0; i < n; i++) cntPre[0][i] = k1, cntPre[1][i] = k2;
  lose[0][0] = lose[1][0] = true;
  vis[0][0] = vis[1][0] = true;
  dfs(0, 0), dfs(1, 0);
  int turn = 0;
  for (int i = 1; i < n; i++) {
    if (win[turn][i])
      printf("Win");
    else if (lose[turn][i])
      printf("Lose");
    else
      printf("Loop");
    printf("%c", i == n - 1 ? '\n' : ' ');
  }
  turn ^= 1;
  for (int i = 1; i < n; i++) {
    if (win[turn][i])
      printf("Win");
    else if (lose[turn][i])
      printf("Lose");
    else
      printf("Loop");
    printf("%c", i == n - 1 ? '\n' : ' ');
  }
  return 0;
}
