#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 10;
vector<int> G[MAXN], path;
int n, m, ans, s;
bool draw, vis[MAXN][2];
bool ins[MAXN];
void dfs(int u, int step, int who) {
  ins[u] = vis[u][who] = 1;
  path.push_back(u);
  if (G[u].empty()) {
    if ((step & 1) && who) {
      cout << "Win\n";
      for (auto x : path) {
        cout << x << ' ';
      }
      exit(0);
    }
  }
  for (auto v : G[u]) {
    if (ins[v]) {
      draw = 1;
    }
    if (vis[v][who ^ 1]) {
      continue;
    }
    dfs(v, step + 1, who ^ 1);
  }
  ins[u] = 0;
  path.pop_back();
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> m;
  for (int c, x, i = 1; i <= n; ++i) {
    cin >> c;
    for (int j = 0; j < c; ++j) {
      cin >> x;
      G[i].push_back(x);
    }
  }
  cin >> s;
  dfs(s, 0, 0);
  if (draw) {
    cout << "Draw\n";
  } else {
    cout << "Lose\n";
  }
  return 0;
}
