#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int e[N], ne[N], idx, h[N];
int n, m;
int cnt[N], max_depth = -1;
void add(int a, int b){
e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}
void dfs(int u, int depth)
{
if(h[u] == -1)
{
max_depth = max(depth, max_depth);
cnt[depth] ++;
return;
}
for(int i = h[u]; ~i; i = ne[i])
{
int j = e[i];
dfs(j, depth + 1);
}
}
int main()
{
memset(h, -1, sizeof h);
cin >> n >> m;
while(m --)
{
int id, k;
cin >> id >> k;
while(k --)
{
int son;
cin >> son;
add(id, son);
}
}
dfs(1, 0);
cout << cnt[0];
for(int i = 1; i <= max_depth; i++) cout << ' ' << cnt[i];
cout << endl;
}