dfs
#include<bits/stdc++.h>
using namespace std;
const int maxn=100100;
vector<int> v[maxn];
int maxx=0;
int id=-1;
void dfs(int node,int cnt){
if(cnt>maxx){
maxx=cnt;id=node;
}
for(int i=0;i<v[node].size();i++){
dfs(v[node][i],cnt+1);
}
}
int main(){
int n;
cin>>n;
vector<int> root(n+1);
for(int i=1;i<=n;i++){
int k;cin>>k;
for(int j=0;j<k;j++){
int x;cin>>x;
root[x]++;
v[i].push_back(x);
}
}
int r=0;
for(int i=1;i<=n;i++){
if(root[i]==0) r=i;
}
dfs(r,0);//入口是1吗
cout<<id;
return 0;
}