#include <bits/stdc++.h>
using namespace std;
const int N = 7e3 + 5;
int n, k, cnt[2][N], ans[2][N], used[2][N];
vector<int> g[2];
queue<pair<int, int> > q;
inline void upd(int from, int to, int turn) {
  if (to < 1 || to > n || used[turn ^ 1][to]) {
    return;
  }
  if (ans[turn][from] == 2) {
    ans[turn ^ 1][to] = used[turn ^ 1][to] = 1;
    q.push(make_pair(turn ^ 1, to));
  } else if (ans[turn ^ 1][to] == 0) {
    cnt[turn ^ 1][to]++;
    if (cnt[turn ^ 1][to] == (int)g[turn ^ 1].size()) {
      ans[turn ^ 1][to] = used[turn ^ 1][to] = 2;
      q.push(make_pair(turn ^ 1, to));
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  for (int i = 0; i < 2; i++) {
    int x, y;
    cin >> x;
    for (int j = 1; j <= x; j++) {
      cin >> y;
      g[i].push_back(y);
    }
  }
  ans[0][1] = ans[1][1] = 2;
  used[0][1] = used[1][1] = true;
  q.push(make_pair(0, 1));
  q.push(make_pair(1, 1));
  while (!q.empty()) {
    int v = q.front().second, turn = q.front().first;
    q.pop();
    for (auto it : g[turn ^ 1]) {
      upd(v, v - it, turn);
      upd(v, v - it + n, turn);
    }
  }
  for (int i = 0; i < 2; i++) {
    for (int j = 2; j <= n; j++) {
      if (ans[i][j] == 1) {
        cout << "Win ";
      } else if (ans[i][j] == 2) {
        cout << "Lose ";
      } else {
        cout << "Loop ";
      }
    }
    cout << "\n";
  }
}
