#include <bits/stdc++.h>
using namespace std;
template <typename S, typename T>
ostream& operator<<(ostream& os, const pair<S, T>& x);
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& x);
template <typename T>
ostream& operator<<(ostream& os, const set<T>& v);
template <typename T>
ostream& operator<<(ostream& os, const multiset<T>& v);
template <typename S, typename T>
ostream& operator<<(ostream& os, const unordered_map<S, T>& v);
template <typename S, typename T>
ostream& operator<<(ostream& os, const map<S, T>& v);
vector<long long> readvec(long long length, long long off = 0);
void solve() {
  long long n;
  cin >> n;
  vector<long long> v = readvec(n);
  for (long long b = 30; b >= 0; b--) {
    long long ones = 0;
    for (long long i = 0; i < n; i++) ones += (v[i] & (1LL << b)) != 0;
    if (ones % 2 == 1) {
      long long zeros = n - ones;
      if (zeros % 2 == 0 && ones % 4 == 1)
        cout << "WIN\n";
      else if (zeros % 2 == 0 && ones % 4 == 3)
        cout << "LOSE\n";
      else if (zeros % 2 == 1 && ones % 4 == 1)
        cout << "WIN\n";
      else if (zeros % 2 == 1 && ones % 4 == 3)
        cout << "WIN\n";
      return;
    }
  }
  cout << "DRAW\n";
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long t;
  cin >> t;
  while (t--) solve();
}
template <typename S, typename T>
ostream& operator<<(ostream& os, const unordered_map<S, T>& v) {
  os << "[";
  for (auto it = v.begin(); it != v.end(); it++) {
    if (it != v.begin()) os << ", ";
    os << it->first << ": " << it->second;
  }
  os << "]";
  return os;
}
template <typename S, typename T>
ostream& operator<<(ostream& os, const map<S, T>& v) {
  os << "{";
  for (auto it = v.begin(); it != v.end(); it++) {
    if (it != v.begin()) os << ", ";
    os << it->first << ": " << it->second;
  }
  os << "}";
  return os;
}
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& v) {
  os << "[";
  for (auto it = v.begin(); it != v.end(); it++) {
    if (it != v.begin()) os << ", ";
    os << *it;
  }
  os << "]";
  return os;
}
template <typename T>
ostream& operator<<(ostream& os, const set<T>& v) {
  os << "[";
  for (auto it = v.begin(); it != v.end(); it++) {
    if (it != v.begin()) os << ", ";
    os << *it;
  }
  os << "]";
  return os;
}
template <typename T>
ostream& operator<<(ostream& os, const multiset<T>& v) {
  os << "[";
  for (auto it = v.begin(); it != v.end(); it++) {
    if (it != v.begin()) os << ", ";
    os << *it;
  }
  os << "]";
  return os;
}
template <typename S, typename T>
ostream& operator<<(ostream& os, const pair<S, T>& x) {
  os << "(" << x.first << ", " << x.second << ")";
  return os;
}
vector<long long> readvec(long long length, long long off) {
  vector<long long> v;
  for (long long i = 0; i < length; i++) {
    long long x;
    cin >> x;
    v.push_back(x + off);
  }
  return v;
}
