#include <bits/stdc++.h>
using namespace std;
int n;
short ans[2][7001], cnt[2][7001];
vector<int> arr[2];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n;
  for (int idx = 0; idx < 2; idx++) {
    int f;
    cin >> f;
    for (int i = 0; i < f; i++) {
      int x;
      cin >> x;
      arr[idx].push_back(x);
    }
  }
  set<pair<bool, short> > q;
  ans[0][1] = ans[1][1] = 2;
  q.insert({0, 1});
  q.insert({1, 1});
  while (q.size()) {
    pair<bool, short> tp = *q.begin();
    q.erase(q.begin());
    if (ans[tp.first][tp.second] == 2) {
      for (int i = 0; i < arr[!tp.first].size(); i++) {
        int a = !tp.first, b = (tp.second + n - arr[!tp.first][i]) % n;
        if (!b) b = n;
        if (ans[a][b] == 1) continue;
        ans[a][b] = 1;
        q.insert({a, b});
      }
    } else if (ans[tp.first][tp.second] == 0) {
      int a = tp.first, b = tp.second;
      if (cnt[a][b] == arr[a].size()) {
        ans[a][b] = 2;
        q.insert({a, b});
      }
    } else {
      int a = tp.first, b = tp.second;
      for (int i = 0; i < arr[!a].size(); i++) {
        int f = !a, w = (b + n - arr[!a][i]) % n;
        if (!w) w = n;
        if (ans[f][w] == 0) {
          cnt[f][w]++;
          q.insert({f, w});
        }
      }
    }
  }
  for (int i = 0; i < 2; i++) {
    for (int j = 2; j <= n; j++) {
      if (ans[i][j] == 2) cout << "Lose ";
      if (ans[i][j] == 1) cout << "Win ";
      if (ans[i][j] == 0) cout << "Loop ";
    }
    cout << "\n";
  }
}
