#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cctype>
#include <cstring>
#include <utility>
#include <map>
#include <queue>
using namespace std;
typedef pair<int,int> P;
typedef long long ll;

int cmp(pair<string,int>a,pair<string,int>b){
        if(a.second!=b.second)
        return a.second<b.second;
        else
        return a.first>b.first;
}

int cmp1(pair<string,int>a,pair<string,int>b){
        if(a.first!=b.first)
        return a.first<b.first;
        else
        return a.second>b.second;
}

bool cmp2(const string &x,const string &y)
{
  return x<y;
}


int main()
{
    
    int b;
    cin>>b;
    while(b){
    vector<string>name(b);
    int t[31][31];
    int sum1=0;
    vector<int>cnt1;
        vector<string>mmin;
        bool bmin=false;
    for(int i=0;i<b;i++)
    {
        cin>>name[i];
        int c;
        cin>>c;
        if(c==0)
        {
            bmin=true;
            mmin.push_back(name[i]);
        }
        sum1+=c;
        cnt1.push_back(c);
        for(int j=0;j<c;j++)
            cin>>t[i][j];
    }
    int count[30]={0};
    
    for(int i=0;i<b;i++)
        for(int j=0;j<cnt1[i];j++)
        {
            count[t[i][j]]++;
        }
    vector<pair<string,int> >ans(b);
    for(int i=0;i<b;i++)
    for(int j=0;j<cnt1[i];j++)
    {
        ans[i].first=name[i];
        ans[i].second+=b-count[t[i][j]]+1;
    }
        vector<string>mm;
    
        sort(ans.begin(),ans.end(),cmp);
        cout<<ans[0].second;

        for(int i=0;i<b;i++)
        {if(ans[i].second==ans[0].second)
        {
            mm.push_back(ans[i].first);
        }
        }
        sort(mm.begin(),mm.end(),cmp2);
        if(bmin==true)
        {sort(mmin.begin(),mmin.end(),cmp2);
            mm[0]=mmin[0];}
        cout<<" "<<mm[0]<<endl;
       
        cin>>b;
    }
   
    
    return 0;
}


