#include <bits/stdc++.h>
using namespace std;
const int N = 7100;
int dp[N][2], s[2][N], k[N], n, vis[N][2], cnt[N][2];
queue<pair<int, int> > q;
int main() {
  scanf("%d", &n);
  scanf("%d", &k[0]);
  for (int i = 0; i < k[0]; i++) scanf("%d", &s[0][i]);
  scanf("%d", &k[1]);
  for (int i = 0; i < k[1]; i++) scanf("%d", &s[1][i]);
  memset(vis, 0, sizeof(vis));
  dp[0][0] = dp[0][1] = 0;
  q.push(make_pair(0, 0));
  q.push(make_pair(0, 1));
  while (!q.empty()) {
    int t1 = q.front().first, t2 = q.front().second;
    q.pop();
    for (int i = 0; i < k[t2 ^ 1]; i++) {
      int t = (t1 - s[t2 ^ 1][i] + n) % n;
      if (t == 0) continue;
      if (dp[t1][t2] == 0) {
        dp[t][t2 ^ 1] = 1;
        cnt[t][t2 ^ 1] = k[t2 ^ 1];
      } else
        cnt[t][t2 ^ 1]++;
      if (!vis[t][t2 ^ 1] && cnt[t][t2 ^ 1] >= k[t2 ^ 1]) {
        vis[t][t2 ^ 1] = 1;
        q.push(make_pair(t, t2 ^ 1));
      }
    }
  }
  for (int i = 1; i < n; i++) {
    if (vis[i][0]) {
      if (dp[i][0])
        printf("Win ");
      else
        printf("Lose ");
    } else
      printf("Loop ");
  }
  printf("\n");
  for (int i = 1; i < n; i++) {
    if (vis[i][1]) {
      if (dp[i][1])
        printf("Win ");
      else
        printf("Lose ");
    } else
      printf("Loop ");
  }
  return 0;
}
