#include <bits/stdc++.h>
using namespace std;
template <typename P, unsigned long long int mod>
class Mod {
 public:
  Mod() : v_() {}

 public:
  template <typename V>
  P& operator=(const V&& rv) {
    static_assert(std::is_integral<V>::value, "should be integral type");
    v_ = rv;
    return v_;
  }
  template <typename V>
  P& operator+=(const V&& rv) {
    static_assert(std::is_integral<V>::value, "should be integral type");
    v_ += rv;
    return v_;
  }

 private:
  P v_;
};
const int sz = 1e5;
int dp[sz][2];
int C[sz][2];
vector<int> pp[2];
int n;
int main() {
  ios::sync_with_stdio(false);
  cin >> n;
  int k1, k2;
  cin >> k1;
  pp[0].resize(k1);
  for (int i = 0; i < k1; ++i) {
    cin >> pp[0][i];
  }
  cin >> k2;
  pp[1].resize(k2);
  for (int i = 0; i < k2; ++i) {
    cin >> pp[1][i];
  }
  vector<int> q[2];
  vector<int> lose[2];
  lose[0].push_back(0);
  lose[1].push_back(0);
  do {
    for (int i = 0; i < 2; ++i) {
      for (int l : lose[i]) {
        dp[l][i ^ 1] = 2;
        for (int j = 0; j < pp[i].size(); ++j) {
          int pos = l - pp[i][j];
          pos = pos < 0 ? n + pos : pos;
          if (dp[pos][i] != 0) {
            continue;
          }
          dp[pos][i] = 1;
          q[i].push_back(pos);
        }
      }
      lose[i].clear();
    }
    for (int i = 0; i < 2; ++i) {
      for (int w : q[i]) {
        for (int j = 0; j < pp[i ^ 1].size(); ++j) {
          int pos = w - pp[i ^ 1][j];
          pos = pos < 0 ? n + pos : pos;
          ++C[pos][i ^ 1];
          if (C[pos][i ^ 1] == pp[i ^ 1].size() && dp[pos][i ^ 1] == 0) {
            lose[i].push_back(pos);
          }
        }
      }
      q[i].clear();
    }
  } while (!lose[0].empty() || !lose[1].empty());
  for (int i = 0; i < 2; ++i) {
    for (int j = 1; j < n; ++j) {
      if (dp[j][i] == 1) {
        cout << "Win ";
      } else if (dp[j][i] == 2) {
        cout << "Lose ";
      } else {
        cout << "Loop ";
      }
    }
    cout << endl;
  }
}
