#include <bits/stdc++.h>
using namespace std;
const long long INF = 0x3f3f3f3f;
const int N = 7e3 + 10;
const int M = 110;
const long long mod = 1e9 + 7;
const double PI = acos(-1);
int dp[2][N], out[2][N];
int s[2][N], k[2];
queue<pair<int, int> > que;
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < 2; ++i) {
    scanf("%d", &k[i]);
    for (int j = 0; j < k[i]; ++j) {
      scanf("%d", &s[i][j]);
      que.push({i, n - s[i][j]});
      dp[i][n - s[i][j]] = 1;
    }
    for (int j = 0; j < n; ++j) {
      out[i][j] = k[i];
    }
  }
  pair<int, int> now, to;
  int op;
  while (que.size()) {
    now = que.front();
    que.pop();
    op = dp[now.first][now.second];
    for (int i = 0; i < k[now.first ^ 1]; ++i) {
      to = {now.first ^ 1, (now.second - s[now.first ^ 1][i] + n) % n};
      if (to.second && dp[to.first][to.second] == 0) {
        out[to.first][to.second]--;
        if (op == -1) {
          dp[to.first][to.second] = 1;
          que.push(to);
        } else if (out[to.first][to.second] == 0) {
          dp[to.first][to.second] = -1;
          que.push(to);
        }
      }
    }
  }
  for (int i = 0; i < 2; ++i) {
    for (int j = 1; j < n; ++j) {
      printf("%s%c",
             dp[i][j] == 1   ? "Win"
             : dp[i][j] == 0 ? "Loop"
                             : "Lose",
             " \n"[j == n - 1]);
    }
  }
  return 0;
}
