#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
int n, q, p;
int a[8000], b[8000];
int dp[8000][2];
int cnt[8000][2];
bool v[8000][2];
void dfs(int x, int op, int st) {
  if (dp[x][op] != -1) return;
  dp[x][op] = st;
  if (st == 0) {
    if (op == 0) {
      for (int i = 1; i <= p; i++) {
        int y = (x - a[i] + n) % n;
        if (y == 0) continue;
        dfs(y, op ^ 1, 1);
      }
    } else {
      for (int i = 1; i <= q; i++) {
        int y = (x - b[i] + n) % n;
        if (y == 0) continue;
        dfs(y, op ^ 1, 1);
      }
    }
  } else {
    if (op == 0) {
      for (int i = 1; i <= p; i++) {
        int y = (x - a[i] + n) % n;
        if (y == 0) continue;
        cnt[y][op ^ 1]++;
        if (cnt[y][op ^ 1] == p) dfs(y, op ^ 1, 0);
      }
    } else {
      for (int i = 1; i <= q; i++) {
        int y = (x - b[i] + n) % n;
        if (y == 0) continue;
        cnt[y][op ^ 1]++;
        if (cnt[y][op ^ 1] == q) dfs(y, op ^ 1, 0);
      }
    }
  }
}
string ans[5] = {"Loop", "Lose", "Win"};
int main() {
  cin >> n;
  memset(dp, -1, sizeof dp);
  cin >> p;
  for (int i = 1; i <= p; i++) cin >> a[i];
  cin >> q;
  for (int i = 1; i <= q; i++) cin >> b[i];
  dfs(0, 1, 0);
  dfs(0, 0, 0);
  for (int i = 1; i < n; i++) {
    int f = dp[i][1];
    cout << ans[f + 1] << " ";
  }
  puts("");
  for (int i = 1; i < n; i++) {
    int f = dp[i][0];
    cout << ans[f + 1] << " ";
  }
  return 0;
}
