#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
const int N = 1e5 + 10, INF = 0x3f3f3f3f, MOD = 1e9 + 7;
int n;
vector<int> g[2];
int d[2][N], deg[2][N];
int dfs(int k, int i, int v) {
  int& ret = d[k][i];
  if (~ret) return ret;
  ret = v;
  if (v == 0) {
    for (int x : g[k ^ 1]) {
      int j = (i + n - x) % n;
      if (j == 0) continue;
      dfs(k ^ 1, j, 1);
    }
  } else {
    for (int x : g[k ^ 1]) {
      int j = (i + n - x) % n;
      if (j == 0) continue;
      if (--deg[k ^ 1][j] == 0) dfs(k ^ 1, j, 0);
    }
  }
  return ret;
}
int main() {
  ios_base::sync_with_stdio(0);
  while (cin >> n) {
    for (int k = 0; k < 2; ++k) {
      int cnt;
      cin >> cnt;
      g[k].clear();
      g[k].reserve(cnt);
      while (cnt--) {
        int x;
        cin >> x;
        g[k].push_back(x);
      }
      for (int i = 1; i < n; ++i) deg[k][i] = g[k].size();
    }
    memset(d, -1, sizeof d);
    dfs(0, 0, 0);
    dfs(1, 0, 0);
    string s[3] = {"Loop", "Lose", "Win"};
    for (int k = 0; k < 2; ++k)
      for (int i = 1; i < n; ++i)
        cout << s[d[k][i] + 1] << (i + 1 == n ? '\n' : ' ');
  }
  return 0;
}
