#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 10;
int memo[MAXN][2], nxt[MAXN][2];
bool vis[MAXN][2], cycle = false;
vector<int> adj[MAXN];
bool dp(int u, bool turnoA) {
  if (int((adj[u]).size()) == 0) return !turnoA;
  int &res = memo[u][turnoA];
  if (res != -1)
    return res;
  else if (vis[u][turnoA]) {
    cycle = true;
    return false;
  }
  vis[u][turnoA] = true;
  for (int v : adj[u]) {
    if (dp(v, !turnoA)) {
      nxt[u][turnoA] = v;
      return res = true;
    }
  }
  return res = false;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n, m;
  cin >> n >> m;
  for (int u = 0; u < int(n); u++) {
    int c;
    cin >> c;
    for (int _ = 0; _ < int(c); _++) {
      int v;
      cin >> v;
      v--;
      adj[u].push_back(v);
    }
  }
  int s;
  cin >> s;
  s--;
  fill(memo[0], memo[MAXN], -1);
  fill(vis[0], vis[MAXN], false);
  fill(nxt[0], nxt[MAXN], -1);
  if (dp(s, true)) {
    cout << "Win" << '\n';
    int u = s;
    bool t = true;
    string sep = "";
    do {
      cout << sep << u + 1;
      sep = " ";
      u = nxt[u][t];
      t = !t;
    } while (u != -1);
    cout << '\n';
  } else if (cycle)
    cout << "Draw" << '\n';
  else
    cout << "Lose" << '\n';
  return 0;
}
