#include <bits/stdc++.h>
using namespace std;
int n, k1, k2, i, j, ar[2][7002], cnt[7002][2], pos, turn;
int mark[7002][2];
queue<pair<int, bool> > q;
void func(int oldpos, int newpos, int turn) {
  if (mark[newpos][!turn] != 0) return;
  if (mark[oldpos][turn] == -1) {
    mark[newpos][!turn] = 1;
    q.push(make_pair(newpos, !turn));
  } else {
    cnt[newpos][!turn]++;
    int len;
    if (turn)
      len = k1;
    else
      len = k2;
    if (cnt[newpos][!turn] == len) {
      mark[newpos][!turn] = -1;
      q.push(make_pair(newpos, !turn));
    }
  }
}
int main() {
  scanf("%d", &n);
  scanf("%d", &k1);
  for (i = 0; i < k1; i++) {
    scanf("%d", &ar[0][i]);
  }
  scanf("%d", &k2);
  for (i = 0; i < k2; i++) {
    scanf("%d", &ar[1][i]);
  }
  mark[1][0] = mark[1][1] = -1;
  q.push(make_pair(1, 0));
  q.push(make_pair(1, 1));
  while (!q.empty()) {
    pos = q.front().first;
    turn = q.front().second;
    q.pop();
    int len;
    if (turn)
      len = k1;
    else
      len = k2;
    for (i = 0; i < len; i++) {
      int npos = pos - ar[!turn][i];
      if (npos <= 0) npos += n;
      func(pos, npos, turn);
    }
  }
  for (i = 0; i < 2; i++) {
    for (j = 2; j <= n; j++) {
      if (mark[j][i] == -1)
        cout << "Lose ";
      else if (mark[j][i] == 1)
        cout << "Win ";
      else
        cout << "Loop ";
    }
    cout << "\n";
  }
  return 0;
}
