main(){
  long long int a[51],b;
  int n,p,d,x;
  int m[31][51];
  for(;scanf("%d",&n),n;){
    memset(m,0,sizeof(m));
    for(p=0;p<n;a[p]=(long long int)1<<p,p++)
      for(scanf("%d",&x);x;x--)scanf("%d",&d),m[d][p]=1;
    for(d=1;d<31;d++){
      for(b=p=0;p<n;p++)if(m[d][p])b|=a[p];
      for(p=0;p<n;p++)
        if(m[d][p]){
          a[p]=b;
//printf("%d %d %I64d\n",d,p,a[p]);
          if(a[p]==((long long int)1<<n)-1){printf("%d\n",d);goto s;}
        }
    }
//printf("---%d %I64d\n",n,(long long int)1<<n);
    puts("-1");
    s:;
  }
  return 0;
}