#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, l, n;
  cin >> n;
  int m[2];
  vector<int> v[2];
  for (i = 0; i < 2; i++) {
    cin >> m[i];
    for (int j = 0; j < m[i]; j++) {
      cin >> l;
      v[i].push_back(l);
    }
  }
  int ct[2][n + 1];
  memset(ct, 0, sizeof ct);
  int an[2][n + 1];
  memset(an, -1, sizeof an);
  an[0][1] = 0;
  an[1][1] = 0;
  queue<pair<int, int> > q;
  q.push(pair<int, int>(0, 1));
  q.push(pair<int, int>(1, 1));
  while (!q.empty()) {
    int w = q.front().first;
    int p = q.front().second;
    q.pop();
    if (an[w][p] == 0) {
      for (i = 0; i < m[w ^ 1]; i++) {
        l = p - v[w ^ 1][i];
        l += (l < 1) * n;
        if (an[w ^ 1][l] != 1) q.push(pair<int, int>(w ^ 1, l));
        an[w ^ 1][l] = 1;
      }
    } else {
      for (i = 0; i < m[w ^ 1]; i++) {
        l = p - v[w ^ 1][i];
        l += (l < 1) * n;
        ct[w ^ 1][l]++;
        if (ct[w ^ 1][l] == m[w ^ 1] && an[w ^ 1][l] == -1) {
          an[w ^ 1][l] = 0;
          q.push(pair<int, int>(w ^ 1, l));
        }
      }
    }
  }
  map<int, string> k;
  k.insert(pair<int, string>(-1, "Loop"));
  k.insert(pair<int, string>(1, "Win"));
  k.insert(pair<int, string>(0, "Lose"));
  for (int l = 0; l < 2; l++) {
    for (i = 2; i <= n; i++) cout << k[an[l][i]] << ' ';
    cout << endl;
  }
  return 0;
}
