#include <bits/stdc++.h>
using namespace std;
vector<int> v[202000];
vector<int> path;
int vis[202000];
int st[202000];
bool circle = false;
void dfs(int x, int dep) {
  vis[x]++;
  if (v[x].size() == 0 && (dep & 1)) {
    printf("Win\n");
    for (int i = 0; i < path.size(); ++i) {
      printf("%d%c", path[i], i == path.size() - 1 ? '\n' : ' ');
    }
    exit(0);
  }
  for (int i = 0; i < v[x].size(); ++i) {
    int to = v[x][i];
    if (st[to]) circle = true;
    if (vis[to] < 10) {
      path.push_back(to);
      st[to] = true;
      dfs(to, dep + 1);
      path.pop_back();
      st[to] = false;
    }
  }
}
int main() {
  int n, m;
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> m;
  for (int i = 1; i <= n; ++i) {
    int num;
    cin >> num;
    for (int j = 1; j <= num; ++j) {
      int to;
      cin >> to;
      v[i].push_back(to);
    }
  }
  int s;
  cin >> s;
  path.push_back(s);
  dfs(s, 0);
  if (circle) {
    printf("Draw\n");
  } else {
    printf("Lose\n");
  }
  return 0;
}
