#include <bits/stdc++.h>
using namespace std;
const int win = 1;
const int lose = 2;
const int N = 11000;
int v[2][N], k[2], a[2][N], num[2][N], n;
void dfs(int i, int j, int t) {
  if (v[i][j]) return;
  v[i][j] = t;
  if (t == lose) {
    for (int q = 0; q < k[!i]; q++) dfs(!i, (j + a[!i][q]) % n, win);
  } else {
    for (int q = 0; q < k[!i]; q++) {
      if (!--num[!i][(j + a[!i][q]) % n]) dfs(!i, (j + a[!i][q]) % n, lose);
    }
  }
}
int main() {
  while (~scanf("%d", &n)) {
    memset(v, 0, sizeof(v));
    for (int i = 0; i < 2; i++) {
      scanf("%d", &k[i]);
      for (int j = 0; j < k[i]; j++) {
        scanf("%d", &a[i][j]);
      }
      for (int j = 0; j <= n; j++) num[i][j] = k[i];
    }
    v[0][0] = v[1][0] = lose;
    for (int i = 0; i < 2; i++)
      for (int j = 0; j < k[i]; j++) dfs(i, a[i][j], win);
    for (int i = 0; i < 2; i++) {
      for (int j = n - 1; j > 0; j--) {
        if (v[i][j] == win)
          cout << "Win";
        else if (v[i][j] == lose)
          cout << "Lose";
        else
          cout << "Loop";
        if (j == 1)
          cout << endl;
        else
          cout << " ";
      }
    }
  }
}
