#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
const int N = 1e5 + 5;
vector<int> g[N];
int vis[N][2], pre[N][2], col[N];
bool cyc(int u) {
  col[u] = 1;
  for (int v : g[u]) {
    if (col[v] == 1) {
      return 1;
    }
    if (col[v] == 0) {
      if (cyc(v)) return 1;
    }
  }
  col[u] = 2;
  return 0;
}
void dfs(int u, int pr, int p) {
  vis[u][p] = 1;
  pre[u][p] = pr;
  for (int v : g[u])
    if (not vis[v][p ^ 1]) {
      dfs(v, u, p ^ 1);
    }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n, m, s;
  cin >> n >> m;
  for (int i = 1, e, x; i <= n; i++) {
    cin >> e;
    while (e--) {
      cin >> x;
      g[i].push_back(x);
    }
  }
  cin >> s;
  dfs(s, 0, 0);
  for (int i = 1; i <= n; i++) {
    if (g[i].size() == 0 and vis[i][1]) {
      cout << "Win"
           << "\n";
      vector<int> ans;
      int u = i, p = 1;
      while (u) {
        ans.push_back(u);
        u = pre[u][p];
        p ^= 1;
      }
      reverse(ans.begin(), ans.end());
      for (int x : ans) {
        cout << x << " ";
      }
      return 0;
    }
  }
  cout << (cyc(s) ? "Draw" : "Lose") << "\n";
}
