#include <bits/stdc++.h>
using namespace std;
inline void prep() {
  cin.tie(0);
  cin.sync_with_stdio(0);
}
const int MX = 1e5 + 10;
const int mood = ((int)1e9 + 7);
std::vector<vector<int>> g(MX);
vector<int> stk;
bool dp[2][MX];
bool vis[2][MX];
bool instack[MX];
bool hasCycle;
void dfs(int x, int p) {
  stk.push_back(x);
  instack[x] = true;
  vis[p][x] = true;
  for (auto y : g[x]) {
    dp[0][y] |= dp[1][x];
    dp[1][y] |= dp[0][x];
    if (instack[y]) hasCycle = true;
    if (!vis[!p][y]) dfs(y, !p);
  }
  if (g[x].size() == 0 && dp[1][x]) {
    cout << "Win" << endl;
    for (auto xx : stk) {
      cout << xx + 1 << " ";
    }
    cout << endl;
    exit(0);
  }
  stk.pop_back();
  instack[x] = false;
}
int main() {
  prep();
  int n, m;
  cin >> n >> m;
  bool ok = false;
  for (int i = 0; i < n; ++i) {
    int c;
    cin >> c;
    ok |= c == 0;
    while (c--) {
      int x;
      cin >> x;
      --x;
      g[i].push_back(x);
    }
  }
  int s;
  cin >> s;
  --s;
  dp[0][s] = true;
  dfs(s, 0);
  if (!ok || hasCycle) return puts("Draw"), 0;
  puts("Lose"), 0;
  return 0;
}
