#include <bits/stdc++.h>
using namespace std;
long long br, edges, chip;
vector<long long> graph[100005];
vector<long long> st;
long long u[100005][2];
void dfs(long long vertex, long long status) {
  u[vertex][status] = 1;
  st.push_back(vertex);
  long long neigh = 0;
  for (long long att : graph[vertex]) {
    neigh++;
    if (u[att][!status]) continue;
    dfs(att, !status);
  }
  if (neigh == 0 && status == 1) {
    cout << "Win\n";
    for (long long i : st) {
      cout << i << ' ';
    }
    cout << '\n';
    exit(0);
  }
  st.pop_back();
}
long long u2[100005];
bool cyc;
void cycle(long long vertex) {
  u2[vertex] = 1;
  for (long long att : graph[vertex]) {
    if (u2[att] == 1) {
      cyc = true;
      continue;
    }
    if (u2[att] == 2) continue;
    cycle(att);
  }
  u2[vertex] = 2;
}
signed main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> br >> edges;
  for (long long i = 1; i <= br; ++i) {
    long long cnt;
    cin >> cnt;
    for (long long z = 0; z < cnt; ++z) {
      long long v;
      cin >> v;
      graph[i].push_back(v);
    }
  }
  cin >> chip;
  dfs(chip, 0);
  cycle(chip);
  if (cyc) {
    cout << "Draw\n";
  } else {
    cout << "Lose\n";
  }
  return 0;
}
