#include <bits/stdc++.h>
using namespace std;
int dp[2][10005];
int cnt[2][10005];
bool chk[2][10005];
int n;
vector<int> v1, v2;
int main() {
  scanf("%d", &n);
  int t;
  scanf("%d", &t);
  while (t--) {
    int in;
    scanf("%d", &in);
    v1.push_back(in);
  }
  scanf("%d", &t);
  while (t--) {
    int in;
    scanf("%d", &in);
    v2.push_back(in);
  }
  dp[0][0] = -1;
  dp[1][0] = -1;
  chk[0][0] = chk[1][0] = true;
  queue<pair<int, int> > q;
  q.push(pair<int, int>(0, 0));
  q.push(pair<int, int>(1, 0));
  for (int i = 1; i < n; i++) cnt[0][i] = v1.size(), cnt[1][i] = v2.size();
  while (!q.empty()) {
    pair<int, int> now = q.front();
    q.pop();
    for (auto v : now.first == 0 ? v2 : v1) {
      pair<int, int> next =
          pair<int, int>(1 - now.first, (now.second - v + n) % n);
      if (dp[now.first][now.second] == -1) {
        dp[next.first][(now.second - v + n) % n] = 1;
        if (!chk[next.first][next.second]) {
          q.push(next);
          chk[next.first][next.second] = true;
        }
      } else {
        cnt[next.first][next.second]--;
        if (cnt[next.first][next.second] == 0) {
          dp[next.first][next.second] = -1;
          if (!chk[next.first][next.second]) {
            q.push(next);
            chk[next.first][next.second] = true;
          }
        }
      }
    }
  }
  for (int j = 0; j < 2; j++) {
    for (int i = 1; i < n; i++) {
      if (dp[j][i] == 1)
        printf("Win ");
      else if (dp[j][i] == 0)
        printf("Loop ");
      else
        printf("Lose ");
    }
    printf("\n");
  }
  return 0;
}
