#include<iostream> #include<cstring> #include<vector> #include<queue> using namespace std; vector<int> vec[101]; void bfs(int root) { if(vec[root].size()==0) { cout<<1;return; } else cout<<0; queue<int> q; q.push(root); int last=q.back(),cnt=0,flag=0; while(!q.empty()) { int tmp=q.front(); q.pop(); for(int i=0;i<vec[tmp].size();i++) { if(vec[vec[tmp][i]].size()==0) cnt++; else q.push(vec[tmp][i]); } if(tmp==last) { cout<<" "<<cnt; cnt=0; last=q.back(); } } } int main() { int n,m; cin>>n>>m; while(m--) { int num; cin>>num; int k; cin>>k; while(k--) { int tmp; cin>>tmp; vec[num].push_back(tmp); } } bfs(1); }