#include <bits/stdc++.h>
using namespace std;
const int maxn = 100010;
vector<int> ve[maxn];
int n, m, s;
int vis[maxn][2], sta[maxn * 2], top, pin, flag[maxn];
bool dfs(int u, int val) {
  sta[++top] = u;
  vis[u][val] = 1;
  int si = ve[u].size();
  if (si == 0) {
    if (top % 2 == 0) return true;
    top--;
    return false;
  }
  for (int i = 0; i < si; i++) {
    int y = ve[u][i];
    if (vis[y][val ^ 1] == 0) {
      vis[y][val ^ 1] = 1;
      if (dfs(y, val ^ 1)) return true;
    }
  }
  top--;
  return false;
}
void pring(int u) {
  flag[u] = 1;
  int si = ve[u].size();
  for (int i = 0; i < si; i++) {
    if (flag[ve[u][i]]) {
      pin = 1;
      return;
    } else {
      flag[ve[u][i]] = 1;
      pring(ve[u][i]);
    }
  }
  flag[u] = 0;
}
int main() {
  while (cin >> n >> m) {
    for (int i = 1; i <= n; i++) {
      scanf("%d", &m);
      while (m--) {
        int v;
        scanf("%d", &v);
        ve[i].push_back(v);
      }
    }
    scanf("%d", &s);
    if (dfs(s, 0)) {
      puts("Win");
      for (int i = 1; i <= top; i++) {
        printf("%d%c", sta[i], " \n"[i == top]);
      }
    } else {
      pring(s);
      if (pin)
        printf("Draw\n");
      else
        printf("Lose\n");
    }
  }
}
