#include #include #include #include #include using namespace std; typedef long long ll; int main() { int n, m; cin >> n >> m; vector>E(n); for (int i = 0; i < m; i++) { int g, r; cin >> g >> r; g--; for (int j = 0; j < r; j++) { int h; cin >> h; h--; E[g].push_back(h); } } vectorused(n); bool flag = true; while (flag) { flag = false; for (int i = 0; i < n; i++) { if (used[i])continue; bool sold = true; for (int j = 0; sold && j < E[i].size(); j++) { if (!used[E[i][j]])sold = false; } if (sold) { flag = true; used[i] = true; } } } int ans = 0; for (int i = 0; i < n; i++)if (used[i])ans++; cout << ans << endl; return 0; }