#include <bits/stdc++.h>
using namespace std;
int dp[2][7005];
bool vis[2][7005];
int n, m, k;
vector<int> a[2];
int dfs(int x, int y) {
  int sum = 0;
  if (dp[x][y] != 2) return dp[x][y];
  if (vis[x][y]) return dp[x][y];
  vis[x][y] = 1;
  int lens = a[x].size();
  for (int i = 0; i < lens; i++) {
    int t = (y + a[x][i]) % n;
    if (t == 0) return dp[x][y] = 1;
  }
  for (int i = 0; i < lens; i++) {
    int t = (y + a[x][i]) % n;
    int nex = dfs(1 - x, t);
    if (nex == -1) return dp[x][y] = 1;
    if (nex == 1) sum++;
  }
  if (sum == lens) return dp[x][y] = -1;
  return dp[x][y];
}
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; i++) dp[1][i] = dp[0][i] = 2;
  for (int i = 1; i <= m; i++) {
    int x;
    scanf("%d", &x);
    a[0].push_back(x);
  }
  scanf("%d", &k);
  for (int i = 1; i <= k; i++) {
    int x;
    scanf("%d", &x);
    a[1].push_back(x);
  }
  for (int j = 1; j <= 2; j++) {
    memset(vis, 0, sizeof(vis));
    for (int i = n - 1; i >= 1; i--) {
      dfs(0, i);
      dfs(1, i);
    }
  }
  for (int i = 0; i < 2; i++) {
    for (int j = 1; j < n; j++) {
      if (dp[i][j] == 1)
        cout << "Win ";
      else if (dp[i][j] == -1)
        cout << "Lose ";
      else
        cout << "Loop ";
    }
    cout << endl;
  }
  return 0;
}
