#include <bits/stdc++.h>
using namespace std;
char enl = '\n';
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin.exceptions(cin.failbit);
  int n;
  cin >> n;
  vector<vector<int> > state(2, vector<int>(n));
  vector<vector<int> > count(2, vector<int>(n));
  vector<vector<int> > s(2);
  int k;
  int a;
  cin >> k;
  for (int _ = 0; _ < (k); ++_) {
    cin >> a;
    s[0].push_back(a);
  }
  cin >> k;
  for (int _ = 0; _ < (k); ++_) {
    cin >> a;
    s[1].push_back(a);
  }
  queue<pair<int, int> > q;
  q.push(make_pair(0, 0));
  q.push(make_pair(1, 0));
  state[0][0] = 1;
  state[1][0] = 1;
  while (!q.empty()) {
    int e = q.front().first;
    int f = q.front().second;
    q.pop();
    if (state[e][f] == 1) {
      int ne = (e + 1) % 2;
      int nf;
      for (auto x : s[ne]) {
        nf = (f - x + n) % n;
        if (state[ne][nf] != 0) continue;
        state[ne][nf] = 2;
        q.push(make_pair(ne, nf));
      }
    } else {
      int ne = (e + 1) % 2;
      int nf;
      for (auto x : s[ne]) {
        nf = (f - x + n) % n;
        if (state[ne][nf] != 0) continue;
        count[ne][nf]++;
        if (count[ne][nf] == s[ne].size()) {
          state[ne][nf] = 1;
          q.push(make_pair(ne, nf));
        }
      }
    }
  }
  for (int j = 0; j < (2); ++j) {
    for (int i = 1; i < (n); ++i) {
      if (state[j][i] == 1) {
        cout << "Lose";
      } else if (state[j][i] == 2) {
        cout << "Win";
      } else if (state[j][i] == 0) {
        cout << "Loop";
      } else {
        assert(0);
      }
      if (i != n - 1) cout << " ";
    }
    cout << endl;
  }
  return 0;
}
