#include <iostream>
#include <vector>
#include <map>
using namespace std;
vector<int> vectors[100];
int maxHeight=0;
map<int,int> nums;
void dfs(int id,int height){
if(height>maxHeight){
maxHeight=height;
}
nums[height]++;
for (auto x:vectors[id]){
dfs(x,height+1);
}
}
int main() {
int N,M;
cin>>N>>M;
for (int i = 0; i < M; ++i) {
int id,num;
cin>>id>>num;
for (int j = 0; j < num; ++j) {
int val;
cin>>val;
vectors[id].push_back(val);
}
}
dfs(1,1);
int maxVal=0,index=1;
for (int i = 1; i <= maxHeight; ++i) {
if(nums[i]>maxVal){
index=i;
maxVal=nums[i];
}
}
cout<<maxVal<<" "<<index<<endl;
return 0;
}