#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const int MAXN = 8005;
int n, k1, k2;
int s1[MAXN], s2[MAXN], cnt[MAXN][2];
int dp[MAXN][2];
vector<int> G[MAXN];
pair<int, int> Q[MAXN << 1];
int main() {
  scanf("%d", &n);
  scanf("%d", &k1);
  for (int i = (0); i < (k1); i++) scanf("%d", s1 + i);
  scanf("%d", &k2);
  for (int i = (0); i < (k2); i++) scanf("%d", s2 + i);
  memset(dp, -1, sizeof dp);
  Q[0] = make_pair(0, 0);
  Q[1] = make_pair(0, 1);
  dp[0][0] = dp[0][1] = 0;
  for (int i = (0); i < (n); i++) cnt[i][0] = k1, cnt[i][1] = k2;
  int t = 2;
  for (int i = (0); i < (t); i++) {
    int u = Q[i].first, v = Q[i].second;
    if (!dp[u][v]) {
      if (v == 1) {
        for (int j = (0); j < (k1); j++) {
          int uu = ((u - s1[j]) + n) % n, vv = v ^ 1;
          if (dp[uu][vv] == -1) dp[uu][vv] = 1, Q[t++] = make_pair(uu, vv);
        }
      } else {
        for (int j = (0); j < (k2); j++) {
          int uu = (u - s2[j] + n) % n, vv = v ^ 1;
          if (dp[uu][vv] == -1) dp[uu][vv] = 1, Q[t++] = make_pair(uu, vv);
        }
      }
    } else {
      if (v == 1) {
        for (int j = (0); j < (k1); j++) {
          int uu = ((u - s1[j]) + n) % n, vv = v ^ 1;
          cnt[uu][vv]--;
          if (cnt[uu][vv] == 0 && dp[uu][vv] == -1)
            dp[uu][vv] = 0, Q[t++] = make_pair(uu, vv);
        }
      } else {
        for (int j = (0); j < (k2); j++) {
          int uu = ((u - s2[j]) + n) % n, vv = v ^ 1;
          cnt[uu][vv]--;
          if (cnt[uu][vv] == 0 && dp[uu][vv] == -1)
            dp[uu][vv] = 0, Q[t++] = make_pair(uu, vv);
        }
      }
    }
  }
  for (int i = (1); i < (n); i++)
    if (dp[i][0] == 1)
      printf("Win ");
    else if (dp[i][0] == 0)
      printf("Lose ");
    else
      printf("Loop ");
  printf("\n");
  for (int i = (1); i < (n); i++)
    if (dp[i][1] == 1)
      printf("Win ");
    else if (dp[i][1] == 0)
      printf("Lose ");
    else
      printf("Loop ");
}
