#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int maxn = 1e5 + 5;
vector<int> e[100005];
int dp[maxn][2];
int nex[maxn][2];
int SEEN = 0, WIN = 3, DRAW = 2, LOSE = 1;
int find(int v, int p) {
  if (dp[v][p] == -1) {
    if (e[v].empty()) {
      if (p == 0) {
        dp[v][p] = LOSE;
      } else {
        dp[v][p] = WIN;
      }
    } else {
      dp[v][p] = SEEN;
      for (int u : e[v]) {
        int res = find(u, !p);
        if (res == SEEN) {
          if (DRAW > dp[v][p]) {
            dp[v][p] = DRAW;
            nex[v][p] = u;
          }
        } else {
          if (dp[v][p] < res) {
            dp[v][p] = res;
            nex[v][p] = u;
          }
        }
      }
    }
  }
  return dp[v][p];
}
int main() {
  ios::sync_with_stdio(false);
  memset(dp, -1, sizeof(dp));
  int n, m;
  cin >> n >> m;
  for (int i = 1; i <= n; i++) {
    int c;
    cin >> c;
    while (c--) {
      int v;
      cin >> v;
      e[i].push_back(v);
    }
  }
  int s;
  cin >> s;
  find(s, 0);
  if (dp[s][0] == WIN) {
    cout << "Win\n";
    int p = 0;
    while (s != 0) {
      cout << s << ' ';
      s = nex[s][p];
      p = !p;
    }
  } else if (dp[s][0] == DRAW) {
    cout << "Draw\n";
  } else {
    cout << "Lose\n";
  }
  return 0;
}
