#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline void read(T &FF) {
  int RR = 1;
  FF = 0;
  char CH = getchar();
  for (; !isdigit(CH); CH = getchar())
    if (CH == '-') RR = -RR;
  for (; isdigit(CH); CH = getchar()) FF = FF * 10 + CH - 48;
  FF *= RR;
}
inline void file(string str) {
  freopen((str + ".in").c_str(), "r", stdin);
  freopen((str + ".out").c_str(), "w", stdout);
}
const int N = 7e3 + 10;
int n, si[3], num[3][N], flag[3][N], shit[3][N], fuck[3][N];
void dfs(int loc, int usr) {
  if (flag[usr][loc]) return;
  flag[usr][loc] = true;
  int ui = usr ^ 1;
  for (int i = 1; i <= si[ui]; i++) {
    int lt = (loc - num[ui][i] + n - 1) % n + 1;
    if (lt == 1) continue;
    if (!shit[usr][loc]) {
      shit[ui][lt] = 1;
      dfs(lt, ui);
    } else {
      fuck[ui][lt]++;
      if (fuck[ui][lt] == si[ui]) dfs(lt, ui);
    }
  }
}
int main() {
  read(n);
  for (int i = 0; i <= 1; i++) {
    read(si[i]);
    for (int j = 1; j <= si[i]; j++) read(num[i][j]);
  }
  dfs(1, 0), dfs(1, 1);
  for (int i = 0; i <= 1; i++) {
    for (int j = 2; j <= n; j++) {
      if (!flag[i][j])
        cout << "Loop";
      else if (shit[i][j])
        cout << "Win";
      else
        cout << "Lose";
      if (j != n) putchar(' ');
    }
    cout << endl;
  }
  return 0;
}
