#include <bits/stdc++.h>
using namespace std;
const int maxn = 7005;
int n;
vector<int> V[2];
int dp[2][maxn];
int d[2][maxn];
void dfs(int p, int now, int sta) {
  if (dp[p][now] != -1) return;
  dp[p][now] = sta;
  if (sta == 0) {
    for (auto v : V[p ^ 1]) {
      int pre = (now - v + n) % n;
      if (!pre) continue;
      dfs(p ^ 1, pre, 1);
    }
  } else {
    for (auto v : V[p ^ 1]) {
      int pre = (now - v + n) % n;
      if (!pre) continue;
      if (++d[p ^ 1][pre] == V[p ^ 1].size()) dfs(p ^ 1, pre, 0);
    }
  }
}
string ans[] = {"Loop", "Lose", "Win"};
int main() {
  memset(dp, -1, sizeof(dp));
  cin >> n;
  int k1, k2;
  cin >> k1;
  for (int i = 1; i <= k1; i++) {
    int t;
    cin >> t;
    V[0].push_back(t);
  }
  cin >> k2;
  for (int i = 1; i <= k2; i++) {
    int t;
    cin >> t;
    V[1].push_back(t);
  }
  dfs(1, 0, 0);
  dfs(0, 0, 0);
  for (int i = 1; i < n; i++) {
    cout << ans[dp[0][i] + 1] << " ";
  }
  puts("");
  for (int j = 1; j < n; j++) {
    cout << ans[dp[1][j] + 1] << " ";
  }
  return 0;
}
