#include <bits/stdc++.h>
using namespace std;
template <class c>
struct rge {
  c b, e;
};
template <class c>
rge<c> range(c i, c j) {
  return rge<c>{i, j};
}
template <class c>
auto dud(c *x) -> decltype(cerr << *x, 0);
template <class c>
char dud(...);
struct debug {
  template <class c>
  debug &operator<<(const c &) {
    return *this;
  }
};
struct compare {
  bool operator()(const pair<int, int> &a, const pair<int, int> &b) const {
    if ((a.second - a.first) != (b.second - b.first))
      return ((a.second - a.first) > (b.second - b.first));
    else
      return (a.first < b.first);
  }
};
const int mod = 1e9 + 7;
int mpow(int base, int exp);
void add_self(int &a, int b);
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    int n;
    scanf("%d", &n);
    vector<int> v(n);
    int nax = 0;
    for (int i = 0; i < n; i++) {
      scanf("%d", &v[i]);
      nax = max(v[i], nax);
    }
    vector<int> req(30, 0);
    for (int i = 0; i < n; i++) {
      int temp = v[i], j = 0;
      while (temp != 0) {
        req[j++] += temp % 2;
        temp /= 2;
      }
    }
    int index = -1;
    for (int i = 29; i >= 0; i--) {
      if (req[i] % 2 != 0) {
        index = i;
        break;
      }
    }
    if (index == -1)
      printf("DRAW\n");
    else {
      int rem = n - req[index];
      if (req[index] % 4 == 3 && rem % 2 == 0)
        printf("LOSE\n");
      else
        printf("WIN\n");
    }
  }
}
int mpow(int base, int exp) {
  base %= mod;
  int result = 1;
  while (exp > 0) {
    if (exp & 1) result = ((long long int)result * base) % mod;
    base = ((long long int)base * base) % mod;
    exp >>= 1;
  }
  return result;
}
void add_self(int &a, int b) {
  a += b;
  if (a >= mod) a -= mod;
}
