#include <bits/stdc++.h>
using namespace std;
int n;
int k[2];
enum st { undef, win, lost };
vector<st> state[2];
vector<int> degree[2];
vector<int> can[2];
void dfs(int vm, int vk) {
  for (int c = 0; c < (k[!vm]); c++) {
    int um = !vm, uk = (vk - can[!vm][c] + n) % n;
    if (state[um][uk] != undef) continue;
    if (state[vm][vk] == lost)
      state[um][uk] = win;
    else if (--degree[um][uk] == 0)
      state[um][uk] = lost;
    else
      continue;
    dfs(um, uk);
  }
}
int main() {
  cin >> n;
  for (int m = 0; m < (2); m++) {
    cin >> k[m];
    can[m].resize(k[m]);
    for (int i = 0; i < (k[m]); i++) cin >> can[m][i];
    state[m].resize(n, undef);
    degree[m].resize(n);
    for (int i = 0; i < (n); i++) degree[m][i] = k[m];
  }
  state[0][0] = state[1][0] = lost;
  dfs(0, 0);
  dfs(1, 0);
  for (int m = 0; m < (2); m++) {
    for (int i = 0; i < (n); i++)
      if (i) {
        st t = state[m][i];
        if (t == undef)
          cout << "Loop";
        else if (t == lost)
          cout << "Lose";
        else if (t == win)
          cout << "Win";
        cout << ' ';
      }
    cout << endl;
  }
}
