#include <bits/stdc++.h>
using namespace std;
int n, m, par[200005][2], atleast_draw;
vector<int> v[200005];
bool dis[200005][2], vis[200005];
void dfs(int u, int col) {
  if (dis[u][col]) return;
  vis[u] = 1;
  dis[u][col] = 1;
  for (int i : v[u]) {
    if (!dis[i][col ^ 1]) {
      par[i][col ^ 1] = u;
      dfs(i, col ^ 1);
    }
    if (vis[i]) atleast_draw = 1;
  }
  vis[u] = 0;
}
int main() {
  ios_base::sync_with_stdio(0);
  int dest = -1, s;
  cin >> n >> m;
  for (int i = 1, k, x; i <= n; ++i)
    for (cin >> k; k--; v[i].push_back(x)) cin >> x;
  cin >> s;
  dfs(s, 0);
  for (int i = 1; i <= n; ++i)
    if (v[i].empty() && dis[i][1]) dest = i;
  if (dest == -1) {
    if (atleast_draw)
      return cout << "Draw", 0;
    else
      return cout << "Lose", 0;
  }
  cout << "Win\n";
  stack<int> path;
  for (int cur = dest, p = 1; cur; cur = par[cur][p], p ^= 1) {
    path.push(cur);
  }
  for (; !path.empty(); path.pop()) cout << path.top() << ' ';
}
