#include <bits/stdc++.h>
using namespace std;
const int N = 7e3 + 5;
int n, sz[2], dp[N][2], deg[N][2];
vector<int> moves[2];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  for (int i = 0; i < 2; i++) {
    cin >> sz[i];
    for (int j = 0; j < sz[i]; j++) {
      int a;
      cin >> a;
      moves[i].push_back(a);
    }
  }
  memset(dp, -1, sizeof dp);
  queue<pair<int, int> > q;
  dp[0][0] = dp[0][1] = 0;
  q.push(pair<int, int>(0, 0));
  q.push(pair<int, int>(0, 1));
  while (!q.empty()) {
    int p = q.front().second, pos = q.front().first;
    q.pop();
    if (dp[pos][p] == 0) {
      for (auto it : moves[1 ^ p]) {
        int np = pos - it;
        if (np < 0) np += n;
        if (dp[np][1 ^ p] == -1) {
          dp[np][1 ^ p] = 1;
          q.push(pair<int, int>(np, 1 ^ p));
        }
      }
    } else {
      for (auto it : moves[1 ^ p]) {
        int np = pos - it;
        if (np < 0) np += n;
        if (dp[np][1 ^ p] == -1) {
          deg[np][1 ^ p]++;
          if (deg[np][1 ^ p] == sz[1 ^ p]) {
            dp[np][1 ^ p] = 0;
            q.push(pair<int, int>(np, 1 ^ p));
          }
        }
      }
    }
  }
  for (int i = 0; i < 2; i++) {
    for (int j = 1; j < n; j++) {
      if (dp[j][i] == 1)
        cout << "Win ";
      else if (dp[j][i] == 0)
        cout << "Lose ";
      else
        cout << "Loop ";
    }
    cout << endl;
  }
  return 0;
}
