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

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.StringTokenizer;

public class P937D
{
	static ArrayList<Integer>[] g, rev;
	static final int LOSE = 0, WIN = 1;
	static int oo = Integer.MAX_VALUE/2;
	public static void main(String[] args) throws Exception
	{
		FastScanner scan = new FastScanner();
		int n = scan.nextInt();
		int m = scan.nextInt();
		g = new ArrayList[n];
		rev = new ArrayList[n];
		for (int i = 0; i < n; i++)
		{
			g[i] = new ArrayList<>();
			rev[i] = new ArrayList<>();
		}
		for (int u = 0; u < n; u++)
		{
			int c = scan.nextInt();
			for (int j = 0; j < c; j++)
			{
				int v = scan.nextInt()-1;
				g[u].add(v);
				rev[v].add(u);
			}
		}
		int s = scan.nextInt()-1;
		ArrayDeque<Integer> q = new ArrayDeque<>();
		boolean[][] can = new boolean[2][n];
		int[][] dist = new int[2][n];
		for (int[] a : dist)
			Arrays.fill(a, oo);
		for (int i = 0; i < n; i++)
		{
			if (g[i].size() == 0)
			{
				can[LOSE][i] = true;
				dist[LOSE][i] = 0;
				q.add(i);
				q.add(0);
			}
		}
		while (!q.isEmpty())
		{
			int p = q.poll();
			int r = q.poll();
			for (int x : rev[p])
			{
				if (can[1-r][x])
					continue;
				can[1-r][x] = true;
				dist[1-r][x] = dist[r][p]+1;
				q.add(x);
				q.add(1-r);
			}
		}
		if (can[WIN][s])
		{
			System.out.println("Win");
			StringBuilder sb = new StringBuilder();
			int curr = s;
			sb.append(curr+1);
			int need = LOSE;
			while (g[curr].size() > 0)
			{
				int min = oo;
				int best = -1;
				boolean found = false;
				for (int x : g[curr])
				{
					if (can[need][x])
					{
						if (dist[need][x] < min)
						{
							if (dist[need][x] >= 1000000)
								throw new Exception();
							found = true;
							best = x;
							min = dist[need][x];
						}
					}
				}
				if (!found)
					throw new Exception();
				sb.append(" ");
				sb.append(best+1);
				curr = best;
				need = 1-need;
			}
			System.out.println(sb);
		}
		else if (hasCycle(s, new boolean[n], new boolean[n]) || !can[LOSE][s])
			System.out.println("Draw");
		else
			System.out.println("Lose");
	}
	
	private static boolean hasCycle(int c, boolean[] vis, boolean[] rec)
	{
		if (!vis[c])
		{
			rec[c] = true;
			vis[c] = true;
			for (int x : g[c])
			{
				if (rec[x])
					return true;
				if (!vis[x] && hasCycle(x, vis, rec))
					return true;
			}
		}
		rec[c] = false;
		return false;
	}

	static class FastScanner
	{
		BufferedReader br;
		StringTokenizer st;

		public FastScanner()
		{
			try
			{
				br = new BufferedReader(new InputStreamReader(System.in));
				st = new StringTokenizer(br.readLine());
			} catch (Exception e)
			{
				e.printStackTrace();
			}
		}

		public String next()
		{
			if (st.hasMoreTokens())
				return st.nextToken();
			try
			{
				st = new StringTokenizer(br.readLine());
			} catch (Exception e)
			{
				e.printStackTrace();
			}
			return st.nextToken();
		}

		public int nextInt()
		{
			return Integer.parseInt(next());
		}

		public long nextLong()
		{
			return Long.parseLong(next());
		}

		public String nextLine()
		{
			String line = "";
			try
			{
				line = br.readLine();
			} catch (Exception e)
			{
				e.printStackTrace();
			}
			return line;
		}
	}
}
