#include <bits/stdc++.h>
using namespace std;
const int N = 7e3 + 100;
int vis[N][2], ctr[N][2];
vector<int> moves[2];
queue<pair<int, int> > Q;
int main() {
  int n, k1, k2, mv, cur, pos, val, v;
  cin >> n;
  cin >> k1;
  for (int i = 1; i <= k1; i++) {
    cin >> mv;
    moves[0].push_back(mv);
  }
  cin >> k2;
  for (int i = 1; i <= k2; i++) {
    cin >> mv;
    moves[1].push_back(mv);
  }
  memset(vis, -1, sizeof(vis));
  Q.push({0, 0});
  Q.push({0, 1});
  vis[0][1] = vis[0][0] = 0;
  while (!Q.empty()) {
    pos = Q.front().first;
    cur = Q.front().second;
    val = vis[pos][cur];
    Q.pop();
    for (int i = 0; i < moves[1 - cur].size(); i++) {
      v = (n + pos - moves[1 - cur][i]) % n;
      if (vis[v][1 - cur] != -1) continue;
      if (!val) {
        vis[v][1 - cur] = 1;
        Q.push({v, 1 - cur});
      } else {
        ctr[v][1 - cur]++;
        if (ctr[v][1 - cur] == moves[1 - cur].size()) {
          vis[v][1 - cur] = 0;
          Q.push({v, 1 - cur});
        }
      }
    }
  }
  for (int j = 0; j < 2; j++) {
    for (int i = 1; i < n; i++) {
      if (vis[i][j] == 1)
        cout << "Win ";
      else if (!vis[i][j])
        cout << "Lose ";
      else
        cout << "Loop ";
    }
    cout << "\n";
  }
  return 0;
}
