#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
int n, m, s;
vector<int> to[maxn];
vector<int> path;
int dp[maxn][2], vis[maxn][2];
int dfs(int u, int t) {
  if (to[u].size() == 0) {
    if (t == 1) path.push_back(u);
    return t & 1;
  }
  if (dp[u][t] != -1) return dp[u][t];
  if (vis[u][t]) return 2;
  vis[u][t] = 1;
  path.push_back(u);
  for (int i = 0; i < to[u].size(); i++) {
    int st = dfs(to[u][i], t ^ 1);
    if (st == 1) {
      dp[u][t] = 1;
      break;
    } else
      dp[u][t] = max(dp[u][t], st);
  }
  if (dp[u][t] != 1) path.pop_back();
  return dp[u][t];
}
char res[3][5] = {"Lose", "Win", "Draw"};
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) {
    int k;
    scanf("%d", &k);
    while (k--) {
      int x;
      scanf("%d", &x);
      to[i].push_back(x);
    }
  }
  scanf("%d", &s);
  memset(dp, -1, sizeof dp);
  int ans = dfs(s, 0);
  puts(res[ans]);
  if (ans == 1)
    for (int i = 0; i < path.size(); i++) printf("%d ", path[i]);
  return 0;
}
