#include <bits/stdc++.h>
using namespace std;
int const xn = 1e4 + 105, xm = 105;
int n, m, cnt, hd[xn], ct, to[xn], nxt[xn], w[xn], s1, s2, f;
long long dis[2][xn], inf = 1e17;
bool vis[xn];
struct E {
  int u, v, bh, l, r, w;
} ed[xm];
struct N {
  long long d;
  int id;
  N(long long d = 0, int i = 0) : d(d), id(i) {}
  bool operator<(const N &y) const { return d > y.d; }
};
priority_queue<N> q;
int rd() {
  int ret = 0, f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = 0;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') ret = ret * 10 + ch - '0', ch = getchar();
  return f ? ret : -ret;
}
void add(int x, int y, int z) {
  to[++ct] = y;
  nxt[ct] = hd[x];
  hd[x] = ct;
  w[ct] = z;
}
void dij(int t) {
  for (int i = 1; i <= n; i++) dis[t][i] = inf;
  for (int i = 1; i <= n; i++) vis[i] = 0;
  int st = (t ? s2 : s1);
  dis[t][st] = 0;
  q.push(N(0, st));
  while (q.size()) {
    int x = q.top().id;
    q.pop();
    if (vis[x]) continue;
    vis[x] = 1;
    for (int i = hd[x], u; i; i = nxt[i])
      if (dis[t][u = to[i]] > dis[t][x] + w[i]) {
        dis[t][u] = dis[t][x] + w[i];
        q.push(N(dis[t][u], u));
      }
  }
}
int main() {
  n = rd();
  m = rd();
  cnt = rd();
  s1 = rd();
  s2 = rd();
  f = rd();
  for (int i = 1, x, y, z; i <= m; i++)
    x = rd(), y = rd(), z = rd(), add(x, y, z);
  for (int i = 1; i <= cnt; i++)
    ed[i].u = rd(), ed[i].v = rd(), ed[i].l = rd(), ed[i].r = rd(),
    ed[i].bh = ct + 1, ed[i].w = 1, add(ed[i].u, ed[i].v, ed[i].r);
  dij(0);
  dij(1);
  while (dis[0][f] >= dis[1][f]) {
    int i;
    for (i = 1; i <= cnt; i++)
      if (dis[0][ed[i].u] <= dis[1][ed[i].u] && ed[i].w) break;
    if (i > cnt) {
      if (dis[0][f] > dis[1][f])
        puts("LOSE");
      else {
        puts("DRAW");
        for (int j = 1; j <= cnt; j++)
          printf("%d ", ed[j].w ? ed[j].r : ed[j].l);
        puts("");
      }
      return 0;
    }
    ed[i].w = 0;
    w[ed[i].bh] = ed[i].l;
    dij(0);
    dij(1);
  }
  puts("WIN");
  for (int j = 1; j <= cnt; j++) printf("%d ", ed[j].w ? ed[j].r : ed[j].l);
  puts("");
  return 0;
}
