11 20
1 2
2 7 6
1 7
4 10 9 3 2
2 9 2
1 3
0
0
3 1 6 7
4 11 7 5 6
2 2 8
4
 5 5
1 2
1 3
2 1 4
1 5
0
1
 5 5
1 2
1 3
2 2 4
1 5
0
1
 4 3
1 2
1 3
1 1
0
1
 6 6
1 2
2 3 6
1 4
0
1 3
1 5
2
 5 5
1 2
2 3 5
1 4
1 2
0
1
 5 5
2 2 3
1 4
1 5
1 3
0
1
 6 6
1 2
2 3 6
1 4
1 5
1 1
0
1
 5 5
1 2
2 4 3
0
1 5
1 2
1
 6 6
2 2 3
1 4
1 4
1 5
1 6
0
1
 5 5
2 2 3
2 4 5
1 5
0
0
1
 5 5
2 2 4
1 3
1 4
1 5
0
1
 57 39
1 57
1 40
1 38
0
0
0
1 20
0
0
1 53
0
0
0
1 36
1 40
1 27
1 11
1 7
1 35
0
1 23
1 44
1 14
1 54
0
1 21
1 28
1 37
1 38
1 26
1 3
0
1 14
0
1 1
1 10
1 52
1 45
0
1 16
0
1 22
1 51
1 48
1 30
1 30
0
1 19
1 33
0
1 45
1 42
1 49
0
1 23
0
1 31
15
 15 20
3 4 9 7
0
1 1
3 5 6 1
1 13
0
4 8 15 4 2
1 7
1 2
0
1 4
0
2 3 11
1 5
2 1 6
4
 5 5
2 2 3
1 4
0
1 5
1 4
2
 6 6
2 2 3
1 4
1 5
0
1 6
1 4
1
 4 4
2 2 4
1 3
1 1
0
3
 2 1
0
1 1
1
 8 8
2 2 5
1 3
1 7
0
1 6
1 8
1 4
1 4
1
 5 5
1 2
1 3
1 4
2 3 5
0
1
 4 4
2 2 3
1 4
1 4
0
1
 5 5
1 2
2 3 4
0
1 5
1 3
1
 6 6
1 2
2 3 4
1 5
1 5
1 6
0
1
 3 2
1 2
1 1
0
3
 5 5
2 2 3
1 5
1 4
1 5
0
1
 92 69
1 76
1 14
1 9
0
1 46
1 80
0
0
1 77
0
1 53
1 81
1 61
1 40
0
1 20
1 71
1 24
1 54
1 82
1 23
0
1 63
1 25
1 38
1 68
0
1 65
0
1 76
1 55
1 87
1 1
1 37
1 68
1 30
1 17
1 19
0
1 16
1 69
0
1 60
1 86
0
1 44
1 32
1 10
1 8
0
0
0
0
0
1 2
1 39
0
1 74
1 5
1 28
1 79
1 32
1 34
0
1 81
1 85
1 6
1 18
0
0
1 58
1 88
1 7
1 78
1 43
1 5
1 61
1 90
1 31
1 75
1 72
1 80
1 13
0
0
1 21
1 70
1 30
0
1 68
1 3
1 62
91
 5 5
2 2 4
1 3
1 1
1 5
0
1
 3 3
1 2
2 1 3
0
1
 6 6
2 2 4
1 3
0
1 5
1 6
1 3
1
 53 38
0
1 35
0
1 32
0
0
1 49
1 25
0
1 19
0
0
1 25
1 48
1 50
1 2
1 4
1 50
1 34
1 4
1 46
0
1 4
1 5
1 43
1 8
1 40
1 47
1 21
1 43
0
1 10
1 27
1 33
1 20
1 26
0
0
0
1 53
0
0
1 45
1 23
1 7
1 52
1 51
0
1 29
1 48
1 36
1 2
1 28
2
 8 8
2 2 3
1 4
1 4
1 5
1 6
0
1 8
1 7
1
 5 5
1 2
1 3
1 4
2 2 5
0
1

Win
4 10 11 8
 Win
1 2 3 1 2 3 4 5
 Draw
 Draw
 Lose
 Win
1 2 3 4 2 5
 Lose
 Win
1 2 3 4 5 1 2 6
 Win
1 2 4 5 2 3
 Lose
 Lose
 Lose
 Draw
 Win
4 5 13 3 1 4 5 13 3 1 9 2
 Draw
 Lose
 Win
3 1 2 3 1 4
 Lose
 Lose
 Draw
 Lose
 Lose
 Lose
 Lose
 Win
1 3 4 5
 Lose
 Win
1 2 3 1 4 5
 Draw
 Lose
 Draw
 Lose
 Win
1 2 3 4 2 3 4 5

#include <bits/stdc++.h>
using namespace std;
template <typename A, typename B>
ostream &operator<<(ostream &os, const pair<A, B> &p) {
  return os << '(' << p.first << ", " << p.second << ')';
}
template <typename T_container, typename T = typename enable_if<
                                    !is_same<T_container, string>::value,
                                    typename T_container::value_type>::type>
ostream &operator<<(ostream &os, const T_container &v) {
  os << '{';
  string sep;
  for (const T &x : v) os << sep << x, sep = ", ";
  return os << '}';
}
void dbg_out() { cerr << endl; }
template <typename Head, typename... Tail>
void dbg_out(Head H, Tail... T) {
  cerr << ' ' << H;
  dbg_out(T...);
}
const int mxn = 1e5;
const long long INF = 2e18;
const int32_t M = 1000000007;
const long double pie = acos(-1);
vector<int> adj[mxn + 1];
vector<int> color_DAG;
int cycle_start = -1, cycle_end = -1;
bool dfs_DAG(int v) {
  color_DAG[v] = 1;
  for (int u : adj[v]) {
    if (color_DAG[u] == 0) {
      if (dfs_DAG(u)) return true;
    } else if (color_DAG[u] == 1) {
      cycle_end = v;
      cycle_start = u;
      return true;
    }
  }
  color_DAG[v] = 2;
  return false;
}
bool is_DAG(int no_of_nodes_DAG) {
  color_DAG.assign(no_of_nodes_DAG + 1, 0);
  for (int v = 1; v <= no_of_nodes_DAG; v++)
    if (color_DAG[v] == 0 && dfs_DAG(v)) break;
  return cycle_start == -1;
}
void solve_LOG() {
  int n, m;
  cin >> n >> m;
  vector<int> out(n + 1);
  for (int i = 1; i <= n; i++) {
    cin >> out[i];
    for (int j = 1; j <= out[i]; j++) {
      int v;
      cin >> v;
      adj[i].push_back(v);
    }
  }
  int s;
  cin >> s;
  queue<int> q;
  vector<bool> visited(n + 1, false);
  vector<int> distance(n + 1, 0);
  vector<int> parent(n + 1, -1);
  q.push(s);
  visited[s] = true;
  distance[s] = 0;
  parent[s] = -1;
  int found = -1;
  int cnt = 0;
  while (!q.empty()) {
    int parent_node = q.front();
    q.pop();
    for (int child_node : adj[parent_node]) {
      if (!visited[child_node]) {
        visited[child_node] = true;
        q.push(child_node);
        distance[child_node] = distance[parent_node] + 1;
        if (distance[child_node] % 2 && out[child_node] == 0) {
          found = child_node;
          break;
        }
        parent[child_node] = parent_node;
      }
    }
    if (found != -1) {
      break;
    }
  }
  if (found != -1) {
    cout << "Win\n";
    vector<int> v;
    int cur = found;
    while (cur != -1) {
      v.push_back(cur);
      cur = parent[cur];
    }
    reverse((v).begin(), (v).end());
    for (int x : v) {
      cout << x << " ";
    }
    assert(v[0] == s);
    cout << "\n";
    return;
  }
  if (is_DAG(n)) {
    cout << "Lose\n";
  } else {
    cout << "Draw\n";
  }
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  int _t = 1;
  for (int i = 1; i <= _t; i++) {
    solve_LOG();
  }
  return 0;
}
