#include <cstdio> #include <vector> #include <queue> int main() { std::vector<std::vector<int>> v(100); int n,m; scanf("%d %d",&n,&m); while(m--) { int w,k; scanf("%d %d",&w,&k); while(k--) { int x; scanf("%d",&x); v[w].push_back(x); } } std::queue<int> q; int root=1; q.push(root); int max=-1,level=1,curlevel=1; while(!q.empty()) { if(max<(int)q.size()) { max=(int)q.size(); level=curlevel; } int m=(int)q.size(); while(m--) { int k=q.front(); q.pop(); for(auto it=v[k].begin();it!=v[k].end();++it) q.push(*it); } ++curlevel; } printf("%d %d",max,level); return 0; }