#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
int n,m;
vector<int> child[120];
int h[120],maxh,maxs;
void dfs(int v,int deep)
{
h[deep] ++;
if(maxs < h[deep])
{
maxs = h[deep];
maxh = deep;
}
if(child[v].size() == 0)
return;
for(int i = 0; i < child[v].size(); i++)
dfs(child[v][i],deep + 1);
}
int main()
{
int k,u,v;
scanf("%d %d",&n,&m);
for(int i = 0; i < m; i++)
{
scanf("%d %d",&u,&k);
for(int j = 0; j < k; j++)
{
scanf("%d",&v);
child[u].push_back(v);
}
}
dfs(1,1);
printf("%d %d",maxs,maxh);
return 0;
}