#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int INF = 1e9;
const long long LNF = 1e18;
void setIO(string s) {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
}
const int N = 1e5 + 7;
vector<int> adj[N], ans;
bool vis[N][2], cvis[N];
bool dfs(int u, int p) {
  if (vis[u][p]) return false;
  vis[u][p] = true;
  if (adj[u].empty() && p) {
    ans.emplace_back(u);
    return true;
  }
  for (auto& v : adj[u]) {
    if (dfs(v, p ^ 1)) {
      ans.emplace_back(u);
      return true;
    }
  }
  return false;
}
bool cycle(int u) {
  if (cvis[u]) return true;
  cvis[u] = true;
  for (auto& i : adj[u]) {
    if (cycle(i)) return true;
    cvis[i] = false;
  }
  return false;
}
int main() {
  setIO("input");
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; ++i) {
    int c;
    cin >> c;
    for (int j = 0; j < c; ++j) {
      int v;
      cin >> v;
      adj[i].emplace_back(--v);
    }
  }
  int s;
  cin >> s;
  --s;
  if (dfs(s, 0)) {
    cout << "Win\n";
    for (int i = (int)ans.size() - 1; i >= 0; --i) cout << ans[i] + 1 << ' ';
  } else {
    if (cycle(s))
      cout << "Draw";
    else
      cout << "Lose";
  }
}
