#include<bits/stdc++.h>
using namespace std;
const int a[10]{25,18,15,12,10,8,6,4,2,1};
int n,m,al=0;
struct ss{
string name;
int fs,p[50];
}g[50];
bool cmp1(const ss& a,const ss& b){
if(a.fs>b.fs)return 1;
else if(b.fs>a.fs)return 0;
for(int i=0;i<m;i++){
if(a.p[i]>b.p[i]){
return 1;
}else if(b.p[i]>a.p[i]){
return 0;
}
}
}
bool cmp2(const ss& a,const ss& b){
if(a.p[0]>b.p[0])return 1;
else if(b.p[0]>a.p[0])return 0;
if(a.fs>b.fs)return 1;
else if(b.fs>a.fs)return 0;
for(int i=1;i<m;i++){
if(a.p[i]>b.p[i]){
return 1;
}else if(b.p[i]>a.p[i]){
return 0;
}
}
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
int k;
cin>>k;
m=max(m,k);
for(int j=0;j<k;j++){
string name;
cin>>name;
int ind=-1;
for(int l=0;l<j+1;l++){
if(g[l].name==name){
ind=l;
}
}
if(ind==-1){
ind=al;
al++;
g[ind].name=name;
}
g[ind].p[j]++;
g[ind].fs+=a[j];
}
}
for(int i=0;i<m;i++){
cout<<g[i].name<<" "<<g[i].fs<<endl;
}
sort(g,g+m,cmp1);
cout<<g[0].name<<endl;
sort(g,g+m,cmp2);
cout<<g[0].name;
return 0;
}
请大佬们告诉本蒟蒻这是怎么回事