#include <bits/stdc++.h>
using namespace std;
template <typename T>
void _R(T &x) {
  cin >> x;
}
void _R(int &x) { scanf("%d", &x); }
void _R(long long &x) { scanf("%" PRId64, &x); }
void _R(double &x) { scanf("%lf", &x); }
void _R(char &x) { scanf(" %c", &x); }
void _R(char *x) { scanf("%s", x); }
void R() {}
template <typename T, typename... X>
void R(T &head, X &...tail) {
  _R(head);
  R(tail...);
}
const int N = 7005;
int stat[2][N], n, t[2], arr[2][N], cnt[2][N];
char str[3][10] = {"Loop", "Win", "Lose"};
void dfs(int who, int pos, int st) {
  if (stat[who][pos]) return;
  stat[who][pos] = st;
  ;
  if (st == 1)
    for (int i = 0; i < t[1 - who]; i++) {
      int pre = (pos - arr[1 - who][i] + n) % n;
      if (--cnt[1 - who][pre] == 0) dfs(1 - who, pre, 2);
    }
  else
    for (int i = 0; i < t[1 - who]; i++) {
      int pre = (pos - arr[1 - who][i] + n) % n;
      dfs(1 - who, pre, 1);
    }
}
void print() {
  for (int i = 0; i < 2; i++)
    for (int j = 1; j < n; j++)
      printf("%s%c", str[stat[i][j]], " \n"[j == n - 1]);
}
int main() {
  R(n);
  for (int i = 0; i < 2; i++) {
    R(t[i]);
    for (int j = 0; j < t[i]; j++) R(arr[i][j]);
  }
  for (int i = 0; i < 2; i++)
    for (int j = 0; j < n; j++) cnt[i][j] = t[i];
  stat[0][0] = stat[1][0] = 2;
  for (int i = 0; i < 2; i++)
    for (int j = 0; j < t[i]; j++) dfs(i, n - arr[i][j], 1);
  print();
  return 0;
}
