#include using namespace std; #define int long long #define double long double #define f first #define s second const int N = 2e5 + 4; const int M = 1e6 + 4; vector pe[N]; vector li[M]; int nr[N],ind[N]; vector g[N]; pair a[N]; int ne[N]; set> s; void find() { int n,m; cin>>n>>m; for (int i=1;i<=n;i++) { cin>>nr[i]; for (int j=1;j<=nr[i];j++) { int x; cin>>x; pe[i].push_back(x); li[x].push_back(i); } } for (int i=1;i<=m;i++) { if (li[i].size() > 1) { int r=0; for (int x : li[i]) { a[++r] = {nr[x], x}; } sort(a+1,a+r+1); for (int j=2;j<=n;j++) g[a[j-1].second].push_back(a[j].second); } } for (int i=1;i<=n;i++) { ind[i] = 0; ne[i] = 0; } for (int i=1;i<=n;i++) for (int x : g[i]) ind[x]++; queue q; for (int i=1;i<=n;i++) { if (ind[i]==0) q.push(i); } while (!q.empty()) { int x = q.front(); q.pop(); int Min=m+1; int pos=0; for (int y : g[x]) { if (nr[y]