#include <bits/stdc++.h>
using namespace std;
const int MAXN = 7007;
string outcome[3] = {"Lose", "Loop", "Win"};
int n;
vector<int> moves[2];
int cnt[2][MAXN];
int mem[2][MAXN];
void dfs(int p, int i, int val) {
  mem[p][i] = val;
  if (val == -1) {
    for (int move : moves[!p])
      if (!mem[!p][(i + n - move) % n]) dfs(!p, (i + n - move) % n, 1);
  } else {
    for (int move : moves[!p])
      if (!mem[!p][(i + n - move) % n]) {
        if (cnt[!p][(i + n - move) % n] < moves[!p].size())
          ++cnt[!p][(i + n - move) % n];
        if (cnt[!p][(i + n - move) % n] == moves[!p].size())
          dfs(!p, (i + n - move) % n, -1);
      }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  int k, i;
  cin >> n;
  cin >> k;
  moves[0].resize(k);
  for (int& x : moves[0]) cin >> x;
  cin >> k;
  moves[1].resize(k);
  for (int& x : moves[1]) cin >> x;
  mem[1][0] = -1;
  dfs(0, 0, -1);
  dfs(1, 0, -1);
  for (int p = 0; p < 2; ++p) {
    for (i = 1; i < n; ++i) cout << outcome[mem[p][i] + 1] << ' ';
    cout << '\n';
  }
}
