#include<bits/stdc++.h>usingnamespace std;\
int bin[2050];voidinit(){for(int i =1; i <=2010; i ++)
bin[i]= i;}intfind(int x){if(bin[x]== x)return x;return bin[x]=find(bin[x]);}voidmerge(int x,int y){int tx =find(x);int ty =find(y);if(tx!=ty)bin[ty]= tx;}intmain(){init();int t, n, a;char c;
cin >> t;for(int i =1; i <= t; i ++){
cin >> n >> c;while(n --){
cin >> a;merge(i+1000,a);}}int cnt =0;for(int i =1; i <= t; i ++){if(bin[i+1000]== i+1000)cnt ++;}
cout << cnt << endl;int dp[1005];
cnt =0;for(int i =1; i <= t; i ++){int sum =0;if(bin[i+1000]== i+1000){for(int j =1; j <= t; j ++){if(find(i+1000)==find(j+1000))sum ++;}
dp[cnt++]= sum;}}sort(dp,dp+cnt);for(int i = cnt -1; i >=0; i --){if(i != cnt-1)cout <<" ";
cout << dp[i];}return0;}