#include <bits/stdc++.h>
using namespace std;
long long type[2][7010], cnt[2][7010], s[2][7010];
bool vis[2][7010];
int main() {
  memset(cnt, 0, sizeof(cnt));
  ;
  long long n, k[2];
  queue<pair<long long, long long> > q;
  cin >> n;
  for (int i = 0; i < 2; i++) {
    for (int j = 0; j <= n; j++) {
      type[i][j] = -1;
      vis[i][j] = false;
    }
  }
  cin >> k[0];
  for (int i = 0; i < k[0]; i++) {
    cin >> s[0][i];
  }
  cin >> k[1];
  for (int i = 0; i < k[1]; i++) {
    cin >> s[1][i];
  }
  type[0][0] = 0;
  type[1][0] = 0;
  vis[0][0] = true;
  vis[1][0] = true;
  q.push(make_pair(0, 0));
  q.push(make_pair(1, 0));
  while (!q.empty()) {
    pair<long long, long long> pos = q.front();
    q.pop();
    long long pos1 = pos.first, pos2 = pos.second;
    if (type[pos1][pos2] == 0) {
      pos1 = pos1 ^ 1;
      for (int i = 0; i < k[pos1]; i++) {
        long long pos3 = (pos2 - s[pos1][i] + n) % n;
        type[pos1][pos3] = 1;
        if (vis[pos1][pos3] == false) {
          vis[pos1][pos3] = true;
          q.push(make_pair(pos1, pos3));
        }
      }
    } else if (type[pos1][pos2] == 1) {
      pos1 = pos1 ^ 1;
      for (int i = 0; i < k[pos1]; i++) {
        long long pos3 = (pos2 - s[pos1][i] + n) % n;
        cnt[pos1][pos3]++;
        if (cnt[pos1][pos3] == k[pos1] && vis[pos1][pos3] == false) {
          vis[pos1][pos3] = true;
          type[pos1][pos3] = 0;
          q.push(make_pair(pos1, pos3));
        }
      }
    }
  }
  for (int i = 0; i < 2; i++) {
    for (int j = 1; j < n; j++) {
      if (type[i][j] == 1) {
        cout << "Win ";
      } else if (type[i][j] == 0) {
        cout << "Lose ";
      } else {
        cout << "Loop ";
      }
    }
    cout << endl;
  }
  return 0;
}
