func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m, s;   int even_odd[100005][2];   int visited[100005];   vector<int> ans;   vector<int> v[100005];   int dfs(int s, int p) {     if (v[s].empty() && p) {       ans.push_back(s);       return 1;     }     for (auto it : v[s]) {       if (even_odd[it][p ^ 1] == 0) {         even_odd[it][p ^ 1] = s;         if (dfs(it, p ^ 1) == 1) {           ans.push_back(s);           return 1;         }       }     }     return 0;   }   bool dfs2(int source) {     visited[source] = 1;     for (auto it : v[source])       if (visited[it] == 1 || (visited[it] == 0 && dfs2(it))) return true;     visited[source] = 2;     return false;   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     cin >> n >> m;     for (int i = 0; i < n; i++) {       int k;       cin >> k;       for (int j = 0; j < k; j++) {         int a;         cin >> a;         v[i + 1].push_back(a);       }     }     cin >> s;     if (dfs(s, 0)) {       cout <<  Win n ;       for (int i = ans.size() - 1; i >= 0; i--) cout << ans[i] <<    ;       return 0;     }     if (dfs2(s)) {       cout <<  Draw n ;       return 0;     }     cout <<  Lose n ;     return 0;   }   