#include <bits/stdc++.h>
using namespace std;
bool mark[200005][2], cyc, win, pr[200005][2];
vector<int> G[200005], nodes;
void dfs(int nd, int fl) {
  if (win) return;
  if (pr[nd][fl]) cyc = 1;
  if (mark[nd][fl]) return;
  mark[nd][fl] = pr[nd][fl] = 1;
  nodes.push_back(nd);
  for (int i = 0; i < G[nd].size(); i++) {
    int ch = G[nd][i];
    dfs(ch, fl ^ 1);
  }
  if (G[nd].size() == 0 && fl) win = 1;
  if (!win) nodes.pop_back();
  pr[nd][fl] = 0;
}
int main() {
  int N, M, S;
  scanf("%d %d", &N, &M);
  for (int i = 1; i <= N; i++) {
    int ci, v;
    scanf("%d", &ci);
    for (int j = 0; j < ci; j++) {
      scanf("%d", &v);
      G[i].push_back(v);
    }
  }
  scanf("%d", &S);
  dfs(S, 0);
  if (win) {
    puts("Win");
    for (int i = 0; i < nodes.size(); i++) {
      if (i) printf(" ");
      printf("%d", nodes[i]);
    }
    puts("");
  } else if (cyc)
    puts("Draw");
  else
    puts("Lose");
}
