#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
int visited[100001]={0};
vector<int> v[100001];
vector<int> start;
int result=0,n;
int cnt=0;
int maxLen=0; //c++中不能用max,c++库中有一个max,防止重名
int vis[100001];
void DFS(int cnt,int D) //DFS遍历
{
cnt++;
if(cnt>maxLen)
{
maxLen=cnt;
result=D;
}
for(int i=0;i<v[D].size();i++)
{
// cout<<"_____cnt____"<<cnt<<"_____cnt____"<<endl;
// cout<<"___DDDDD____"<<v[D][i]<<"____DDDD____"<<endl;
// cout<<"___DD>>>>>DDD____"<<D<<"____DD>>>>DD____"<<endl;
DFS(cnt,v[D][i]);
}
}
/*
13
3 2 3 4
2 5 6
1 7
1 8
1 9
0
2 11 10
1 13
0
0
1 12
0
0
*/
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
int k;
scanf("%d",&k);
int D;
for(int j=1;j<=k;j++)
{
scanf("%d",&D);
vis[D]=1;
v[i].push_back(D);
}
}
for(int i=1;i<=n;i++)
{
if(!vis[i])
start.push_back(i);
}
DFS(0,start[0]);
printf("%d",result);
return 0;
}