#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
const unsigned gen_seed =
    std::chrono::system_clock::now().time_since_epoch().count();
std::mt19937_64 gen(gen_seed);
std::vector<std::vector<int> > e;
std::vector<std::vector<int> > erev;
std::vector<int> vis;
std::vector<int> v1, v2;
int n, m;
void go(int v) {
  for (auto u : erev[v]) {
    if (v1[v] != -1 && v2[u] == -1) {
      v2[u] = v;
      go(u);
    }
    if (v2[v] != -1 && v1[u] == -1) {
      v1[u] = v;
      go(u);
    }
  }
}
void dfs2(int v) {
  for (auto u : e[v]) {
    if (!vis[u]) {
      vis[u] = 1;
      dfs2(u);
    }
  }
}
std::vector<int> used;
vector<int> ans;
void dfs(int v) {
  used[v] = true;
  for (size_t i = 0; i < e[v].size(); ++i) {
    int to = e[v][i];
    if (!used[to]) dfs(to);
  }
  ans.push_back(v);
}
void topological_sort() {
  for (int i = 0; i < n; ++i) used[i] = false;
  ans.clear();
  for (int i = 0; i < n; ++i)
    if (!used[i]) dfs(i);
  reverse(ans.begin(), ans.end());
}
int main() {
  scanf("%d", &n);
  scanf("%d", &m);
  e.resize(n);
  erev.resize(n);
  for (int i = 0; i < n; i++) {
    int k;
    scanf("%d", &k);
    e[i].resize(k);
    for (int j = 0; j < k; j++) scanf("%d", &e[i][j]);
    for (int j = 0; j < k; j++) e[i][j]--;
    for (int j = 0; j < k; j++) erev[e[i][j]].push_back(i);
  }
  vis = std::vector<int>(n, 0);
  used = std::vector<int>(n, 0);
  v1 = std::vector<int>(n, -1);
  v2 = std::vector<int>(n, -1);
  int s;
  scanf("%d", &s);
  s--;
  dfs2(s);
  for (int i = 0; i < n; i++) {
    if (e[i].size() == 0) {
      v2[i] = -2;
      go(i);
    }
  }
  if (v1[s] != -1) {
    std::vector<int> res;
    res.push_back(s);
    int cur = v1[s];
    res.push_back(cur);
    while (v2[cur] != -2) {
      cur = v2[cur];
      res.push_back(cur);
      cur = v1[cur];
      res.push_back(cur);
    }
    printf("Win\n");
    for (auto x : res) printf("%d ", x + 1);
    exit(0);
  }
  topological_sort();
  std::vector<int> pos(n);
  for (int i = 0; i < n; i++) pos[ans[i]] = i;
  for (int i = 0; i < n; i++)
    for (auto j : e[i]) {
      if (vis[i] && vis[j] && pos[i] > pos[j]) {
        printf("Draw\n");
        exit(0);
      }
    }
  printf("Lose\n");
}
