#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
const long long INF = 1e17;
int n, m;
vector<int> g[maxn];
bool tie = 0;
bool vis[maxn][2];
int road[maxn << 5];
int top = 0;
void dfs(int i, bool mark) {
  for (auto nx : g[i]) {
    if (vis[nx][!mark]) continue;
    vis[nx][!mark] = 1;
    road[++top] = nx;
    if (!mark && g[nx].empty()) {
      cout << "Win\n";
      for (int i = 0; i <= top; ++i) cout << road[i] << " ";
      exit(0);
    }
    dfs(nx, !mark);
    --top;
  }
}
bool vi[maxn];
void dfs2(int i) {
  for (auto nx : g[i]) {
    if (vi[nx]) {
      cout << "Draw\n";
      exit(0);
    }
    vi[nx] = 1;
    dfs2(nx);
    vi[nx] = 0;
  }
}
int main() {
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> n >> m;
  int c, x;
  for (long long t = (1); t < (n + 1); ++t) {
    cin >> c;
    while (c--) cin >> x, g[t].push_back(x);
  }
  int s;
  cin >> s;
  memset(vis, 0, sizeof(vis)), memset(vi, 0, sizeof(vi));
  road[0] = s;
  vis[s][0] = 1;
  dfs(s, 0);
  vi[s] = 1;
  dfs2(s);
  cout << "Lose";
}
