semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
struct book
{
  char num[500];
  char s[50];
  struct book *next;
};
void main()
{
  struct book *head;
  struct book *p1,*p2;
  int m,mi,i,j,k,max,found;
  int aut[26]={0};
  scanf("%d",&m);
  p1=(struct book*)malloc(LEN);
  scanf("%s %s",p1->num,p1->s);
  for(i=0;i<strlen(p1->s);i++)
	  aut[(p1->s)[i]-'A']++;
  p1->next=NULL;

  head=p2=p1;

  for(mi=2;mi<=m;mi++)
  {
    p1=(struct book*)malloc(LEN);
    scanf("%s %s",p1->num,p1->s);
    for(i=0;i<strlen(p1->s);i++)
	  aut[(p1->s)[i]-'A']++;

	p2->next=p1;
	p2=p1;
  }
  p2->next=NULL;

  max=0;
  for(i=0;i<26;i++)
	  if(aut[i]>max)
	  {
        k=i;
		max=aut[i];
	  }

  printf("%c\n",k+65);
  printf("%d\n",aut[k]);

  p1=head;
  for(i=1;i<=m;i++)
  {
    found=0;
	for(j=0;j<strlen(p1->s);j++)
		if((p1->s)[j]==k+65)
		{
          found=1;
		  break;
		}
	if(found==1) printf("%s\n",p1->num);
	p1=p1->next;
  }
}
void main()
{
	int a[100],i,l,c[26]={0},k,max,n,j;
	char b[100][26],d[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d %s",&a[i],b[i]);
	for(i=0;i<n;i++)
	{
		l=strlen(b[i]);
		for(j=0;j<l;j++)
		{
			if(b[i][j]=='A')
				c[0]++;
			else if(b[i][j]=='B')
				c[1]++;
			else if(b[i][j]=='C')
				c[2]++;
			else if(b[i][j]=='D')
				c[3]++;
			else if(b[i][j]=='E')
				c[4]++;
			else if(b[i][j]=='F')
				c[5]++;
			else if(b[i][j]=='G')
				c[6]++;
			else if(b[i][j]=='H')
				c[7]++;
			else if(b[i][j]=='I')
				c[8]++;
			else if(b[i][j]=='J')
				c[9]++;
			else if(b[i][j]=='K')
				c[10]++;
			else if(b[i][j]=='L')
				c[11]++;
			else if(b[i][j]=='M')
				c[12]++;
			else if(b[i][j]=='N')
				c[13]++;
			else if(b[i][j]=='O')
				c[14]++;
			else if(b[i][j]=='P')
				c[15]++;
			else if(b[i][j]=='Q')
				c[16]++;
			else if(b[i][j]=='R')
				c[17]++;
			else if(b[i][j]=='S')
				c[18]++;
			else if(b[i][j]=='T')
				c[19]++;
			else if(b[i][j]=='U')
				c[20]++;
			else if(b[i][j]=='V')
				c[21]++;
			else if(b[i][j]=='W')
				c[22]++;
			else if(b[i][j]=='X')
				c[23]++;
			else if(b[i][j]=='Y')
				c[24]++;
			else if(b[i][j]=='Z')
				c[25]++;
		}
	}
	max=c[0];
	for(i=0;i<26;i++)
		if(c[i]>=max)
		{
			max=c[i];
			k=i;
		}
	printf("%c\n",d[k]);
	printf("%d\n",c[k]);
	for(i=0;i<n;i++)
	{
		l=strlen(b[i]);
		for(j=0;j<l;j++)
		{
			if(b[i][j]==d[k])
				printf("%d\n",a[i]);
		}
	}
}
struct test {
	int num;
	int book[100];

}a[26];
int main() {
	int n,i,j,index,temp,max;
	char s[100];
	char ch;
	scanf("%d",&n);
	for (i=0;i<26;i++) {
		a[i].num=0;
	}
	for (i=0;i<n;i++) {
		scanf("%d %s",&index,&s);
		for (j=0;s[j]!='\0';j++) {
			temp = (int)(s[j]-'A');
			a[temp].book[a[temp].num]=index;
			a[temp].num++;
		}
	}
	max = 0;
	for (i=0;i<26;i++) {
		if (a[i].num>a[max].num)
			max = i;

	}
  ch = (char)('A'+max);
		printf("%c\n",ch);
	printf("%d\n",a[max].num);
	for (i=0;i<a[max].num;i++) {
		printf("%d\n",a[max].book[i]);
	}
	
	return 0;
}
int main ()
{
	int m;
	scanf ("%d",&m);
	int a[1000];
	char s[1000][26];
	int i,j;
	for (i=0;i<m;i++)
	{
		scanf ("%d %s",&a[i],s[i]);
	}
	char x;
	int max=0;
	char maxx;int l;
	for (x='A';x<='Z';x++)
	{ 
	   l=0;
	   for (i=0;i<m;i++)
	   {
	       for (j=0;j<26;j++)
		   {
			   if (s[i][j]==x)break;
		   }
		   if (j!=26)l++;
	   }
	   if (l>max){max=l;maxx=x;}
	}
	printf ("%c\n%d\n",maxx,max);
	for (i=0;i<m;i++)
	{
	     for (j=0;j<26;j++)
		 {
			  if(s[i][j]==maxx)break;
		 }
		   if (j!=26)printf ("%d\n",a[i]);
	}
	return 0;
}
void main()
{
	char name[30]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"},c[1000][100];
	int n,a[1000],num[100]={0},i,j,k,max=0,t;
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%d ",&a[i]);
		scanf("%s",c[i]);
	}
	for (i=0;i<n;i++)
	{
		for (k=0;c[i][k]!='\0';k++)
		{
		for (j=0;name[j]!='\0';j++)
		{
			if (name[j]==c[i][k])
			{
				num[j]++;
			}
		}

		}
	}
	for (i=0;name[i]!='\0';i++)
	{
		if (num[i]>max)
		{
			max=num[i];
			k=i;
		}
	}
	printf("%c\n%d\n",name[k],num[k]);
	for (i=0;i<n;i++)
	{
		for (j=0;c[i][j]!='\0';j++)
		{
			if (c[i][j]==name[k])		
			{
				printf("%d\n",a[i]);
				break;
			}
		}
	}
}
struct {
int num;
char w[26];

}book[999],test[1];



int main(int argc, char* argv[])
{  
   int m,i,j,n,s;
   char x,c;
   scanf ("%d",&m);
   for (i=0;i<m;i++)
   {
   scanf ("%d%s",&book[i].num,book[i].w);
   
   
   }

   x='A';
   n=0;
   c='A';
   while (1)
   {
    s=0;
   for (i=0;i<m;i++)
   {
    for (j=0;j<strlen(book[i].w);j++)
	{
	 if (book[i].w[j]==x)
	 {s++;}
	
	
	}
   }
   
   if (s>n)
   {
   n=s;
   c=x;
   }
   if (x=='Z') {break;}
   x++;
   }
   printf ("%c\n%d\n",c,n);
   for (i=0;i<m;i++)
   {
    for (j=0;j<strlen(book[i].w);j++)
	{
	 if (book[i].w[j]==c)
	 {
		 printf ("%d\n",book[i].num);
		
	 }
	
	
	}
   }
	return 0;
}
void main()
{
struct books
{
int num;
char author[26];
}books[999];
int n,a[26]={0},max,i,j,u,lenth,temp;
scanf ("%d",&n);
for (i=0;i<n;i++)
scanf("%d %s",&books[i].num,books[i].author);
for (i=0;i<n;i++)
{
lenth=strlen(books[i].author);
for (j=0;j<lenth;j++)
{
for (u=0;u<26;u++)
{
if (books[i].author[j]=='A'+u)
a[u]++;
}
}
}
temp=a[0];
for (u=0;u<26;u++)
if (a[u]>=temp)
{
max=u;
temp=a[u];
}
printf ("%c\n%d\n",'A'+max,a[max]);
for (i=0;i<n;i++)
{
lenth=strlen(books[i].author);
for (j=0;j<lenth;j++)
{
if (books[i].author[j]=='A'+max)
printf("%d\n",books[i].num);
}
}
}
void main()
{
	struct b
	{
		int num;
		char str[27];
	}b[100];
	int n,i,m,j,max,nmax;
	int a[26]={0};
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d %s",&b[i].num,b[i].str);
		m=strlen(b[i].str);
		for(j=0;j<m;j++)
		{
			a[b[i].str[j]-65]++;
		}
	}
	max=a[0];
	nmax=0;
	for(i=0;i<26;i++)
	{
		if(a[i]>max) {max=a[i];nmax=i;}
	}
	printf("%c\n%d\n",nmax+65,max);
	for(i=0;i<n;i++)
	{
		m=strlen(b[i].str);
		for(j=0;j<m;j++)
		{
			if(b[i].str[j]==nmax+65)
				printf("%d\n",b[i].num);
		}
	}
}
struct book
{
	int id;
	char peo[26];
}book1[999];
int main()
{
	int n,i,j,m=0,num[26]={0},length,max=0,t;
	char author;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d%s",&book1[i].id,&book1[i].peo);
	}
	for(i=0;i<n;i++){
		length=strlen(book1[i].peo);
		for(j=0;j<length;j++){
			num[(int)(book1[i].peo[j]-'A')]++;
		}
	}
	for(i=0;i<26;i++){
		if(num[i]>max){
			max=num[i];
			t=i;
			author=i+'A';
		}
	}
	printf("%c\n%d\n",author,num[t]);
	for(i=0;i<n;i++){
		length=strlen(book1[i].peo);
		for(j=0;j<length;j++){
			if(book1[i].peo[j]==author){
				printf("%d\n",book1[i].id);
			}
		}
	}
	return 0;
}
int main()
{
	int i,j,num[1000],m,a[1000][26],k,sum[26],max=0,b;
	char writer[1000][26],letter[27]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
	scanf("%d",&m);
	for(k=0;k<26;k++)
	{
		sum[k]=0;
	}
	for(i=0;i<m;i++)
	{
		for(j=0;j<26;j++)
		{
			a[i][j]=0;
		}
	}
	for(i=0;i<m;i++)
	{
		scanf("%d%s",&num[i],writer[i]);
	}
	for(k=0;k<26;k++)
	{
		for(i=0;i<m;i++)
		{
			for(j=0;j<26;j++)
			{
				if(writer[i][j]==letter[k])
				{
					a[i][k]++;
				}
			}
		}
	}
	for(k=0;k<26;k++)
	{
		for(i=0;i<m;i++)
		{
	    	sum[k]=sum[k]+a[i][k];
		}
	}
	for(k=0;k<26;k++)
	{
		if(max<sum[k])
		{
			max=sum[k];
			b=k;
		}	
	}
	printf("%c\n%d\n",letter[b],max);
	for(i=0;i<m;i++)
	{
		for(j=0;j<26;j++)
		{
			if(writer[i][j]==letter[b])
			{
				printf("%d\n",num[i]);
			}
		}
	}
	return 0;
}
struct x{
	int num;
	char author[26];
	int amount;
};
void main(){
	struct x y[999];
	int i,j,m,max=0,max_=0;
	int k;
	int amount[91]={0};
	scanf("%d",&m);
	for(i=0;i<m;i++){
		scanf("%d %s",&y[i].num,y[i].author);
		y[i].amount=strlen(y[i].author);
	}
	for(i=0;i<m;i++){
		for(j=0;j<y[i].amount;j++){
			for(k='A';k<'Z';k++){
				if(k=y[i].author[j]){
					amount[k]++;
					break;
				}
			}
		}
	}
	for(i='A';i<'Z';i++){
		if(max<amount[i]){
			max=amount[i];
			max_=i;//ASCII??max_?????????
		}
	}
	printf("%c\n",max_);
	printf("%d\n",max);
	for(i=0;i<m;i++){
		for(j=0;j<y[i].amount;j++){
			if(y[i].author[j]==max_){
				printf("%d\n",y[i].num);
			}
		}
	}

}
int main()
{  
	int n,d,i,j,l;
	struct a
	{
	    char name[27];
	    int c;
	}m[1000];
	struct b
	{
		int num,book[1000];
	    char t;
	};
    struct b author[27];
	for(i=1;i<=26;i++)
	{
	  author[i].t=i+64;
	}
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
	  scanf("%d",&m[i].c);
	  scanf("%s",m[i].name);
	}
	for(i=1;i<=n;i++)
	{
		  l=strlen(m[i].name);
		for(j=0;j<=l-1;j++)
		{
		   d=m[i].name[j]-64;
		   author[d].num++;
		   author[d].book[author[d].num]=m[i].c;
		}
	}
	for(i=1;i<=25;i++)
	{
	   if(author[i].num>author[i+1].num)
		author[i+1]=author[i];
	}
	printf("%c\n",author[26].t);
	printf("%d\n",author[26].num);
	for(i=1;i<=author[26].num;i++)
	{
	  printf("%d\n",author[26].book[i]);
	}
	return 0;
}
int max(int array[26])
{
	int i,max=0;
	for(i=0;i<26;i++)
		if(array[i]>max)max=array[i];
	for(i=0;i<26;i++)
		if(max==array[i])break;
	return i;
}
void main()
{
	struct book
	{
		int num;
		char aut[26];
	};
	int a,i,j,m,k,t[26]={0};
	struct book nbook[999];
	scanf("%d",&m);
	for(i=0;i<m;i++)
		scanf("%d %s",&nbook[i].num,nbook[i].aut);
	for(i=0;i<m;i++)
		for(j=0;j<26;j++)
			for(k=0;k<26;k++)	
				if(nbook[i].aut[j]==k+65)t[k]++;
	a=max(t);
	printf("%c\n%d\n",a+65,t[a]);
	for(i=0;i<m;i++)
		for(j=0;j<26;j++)
			if(nbook[i].aut[j]==a+65)printf("%d\n",nbook[i].num);
}
int main()
{
    int num[27] = {0};
    int n, i, j, temp;
    unsigned long len;
    char author[27], temp2, book[27][1000] = {'\0'};
    char str[4];
    cin >> n;
    for (i = 0; i < n; i++)
    {
        cin >> str;    //??????
        cin.get();
        cin.getline(author, 27);
        len = strlen(author);           //???unsigned long ?????????????
        for (j = 0; j < len; j++)
        {
            num[author[j] - 'A']++;
            strncat(book[author[j] - 'A'], str, 3);    //??????????????????
        }
    }
    temp = 0;
    for (j = 0; j < 26; j++)
    {
        if (num[j] > temp)
        {
            temp = num[j];
            temp2 = j + 'A';
        }
    }
    cout << temp2 << endl << temp << endl;
    for (j = 0; j < temp; j++)
    {
        for (i = 0; i < 3; i++)
            cout << book[temp2 - 'A'][j * 3 + i];    //??temp2 - 'A'??? temp?j*3 + i ??j + i
        cout << endl;
    }
    return 0;
}
void main ()
{
     int n,a[1000],i,l,j,max,s[26]={0};
     char c[1000][27],w;
     scanf ("%d",&n);
     for (i=0;i<n;i++)
     {
     scanf ("%d%s",&a[i],c[i]);
     l=strlen(c[i]);
     for (j=0;j<l;j++)
     {
         s[c[i][j]-65]++;
     }
     }
     max=s[0];
     w='A';
     for (i=1;i<26;i++)
     {
     if (s[i]>max)
     {
                  max=s[i];
                  w=i+65;
     }
     }
     printf ("%c\n%d\n",w,max);
     for (i=0;i<n;i++)
     {
         for (j=0;c[i][j]!='\0';j++)
         {
             if (c[i][j]==w)
             {
                            printf ("%d\n",a[i]);
                            break;
             }
         }
     }

}
int main()
{
    int n,i,j,l,x,maxnumber;
    scanf("%d",&n);
    int a[1000];
    char k[1000][30]; 
    int author[27]={0};
    for(i=1;i<=n;i++)
    {
		scanf("%d %s",&a[i],k[i]);
		int m;
		m=strlen(k[i]);
		for(j=0;k[i][j]!='\0';j++)
		{
			author[k[i][j]-'A'+1]++;
		}
    }
    int max=0;
    for(i=1;i<=26;i++)
    {
		if(author[i]>max)
		{
			max=author[i];
			maxnumber=i;
		}
    } 
    char who;
    who='A'+maxnumber-1 ;
    printf("%c\n",who);
    printf("%d\n",max);
    for(i=1;i<=n;i++)
    {
                     for(l=0;l<=strlen(k[i]);l++)
                     if(k[i][l]==who)
                     printf("%d\n",a[i]);
    }
    return 0; 
}
void main()
{
int m;
scanf("%d",&m);
int i,j,k,x,t;
struct book
    {
		int num;
        char w[26];
    }b[1000];

for(i=0;i<m;i++)
    {
        scanf("%d",&b[i].num);
        scanf("%s",&b[i].w);
    }
int c[26];
for(i=0;i<26;i++)c[i]=0;
for(i=0;i<26;i++)
    {
        for(j=0;j<m;j++)
        {
            for(k=0;k<26;k++)
            {
                if(b[j].w[k]!='\0'&&b[j].w[k]-i=='A')c[i]++;
            }
        }
    }
int d[26];
for(i=0;i<26;i++)d[i]=c[i];
for(i=0;i<25;i++)
    {
        if(d[i]>d[i+1])
        {
            t=d[i];
            d[i]=d[i+1];
            d[i+1]=t;
        }
    }
for(i=0;i<26;i++)
    {
        if(c[i]==d[25])x=i;
    }
printf("%c\n",'A'+x);
printf("%d\n",c[x]);
for(j=0;j<m;j++)
    {
        for(k=0;k<26;k++)
            {
                if(b[j].w[k]-x=='A')printf("%d\n",b[j].num);
            }
    }
}
struct book
{
	int num;
	char aut[26];
};

int main()
{
	int i,j,k,m,x,a=0;
	int count[26]={0};
	char y;
	struct book all[1000];
	scanf("%d",&m);
	for(i=0;i<m;i++){
		scanf("%d%s",&all[i].num,&all[i].aut);
	}
	for(i=0;i<m;i++){
		for(j=0;j<26;j++){
			if(all[i].aut[j]>='A'&&all[i].aut[j]<='Z'){
				x=(int)(all[i].aut[j]-'A');
				count[x]++;
			}
		}
	}
	for(i=0;i<26;i++){
		if(count[i]>a){
			a=count[i];
			k=i;
		}
	}
	y=k+'A';
	printf("%c\n%d\n",y,a);
	for(i=0;i<m;i++){
		for(j=0;j<26;j++){
			if(all[i].aut[j]==y){
				printf("%d\n",all[i].num);
				break;
			}
		}
	}
	return 0;
}
main()
{
      int amount_temp=0,amount_most=0;
      char most,temp;
      int i,j,k,s,p;
      int m;
      char jiancha[27];
      struct xinxi
      {
             int bianhao;
             char zuozhe[27];
      };
      struct xinxi shuru[999];
      scanf("%d",&m);
      for(p=0;p<m;p++)
      {
          scanf("%d %s",&shuru[p].bianhao,shuru[p].zuozhe);
      }
      for(temp='A';temp<='Z';temp++)
      {
          for(i=0;i<m;i++)
          {
              strcpy(jiancha,shuru[i].zuozhe);
              for(j=0;j<strlen(jiancha);j++)
              {
                  if(jiancha[j]==temp)
                  {
                      amount_temp++;
                  }
              }
          }
          if(amount_temp>amount_most)
          {
              amount_most=amount_temp;
              most=temp;
              amount_temp=0;
          }
          else
          {
              amount_temp=0;
          }
      }
      printf("%c\n%d\n",most,amount_most);
      for(i=0;i<m;i++)
          {
              strcpy(jiancha,shuru[i].zuozhe);
              for(j=0;j<strlen(jiancha);j++)
              {
                  if(jiancha[j]==most)
                  {
                      printf("%d\n",shuru[i].bianhao);
                      break;
                  }
              }
          }
}
int a[26]={0} ;int n;int max;int hao;
struct chushu
{
    int num;
    char s[30];
    struct chushu *next;   
};
struct chushu *create()
{
    int j=0,q,i=0,k=0;
  
    struct chushu *head,*p1,*p2;
    p1=(struct chushu *)malloc(len);
    scanf("%d %s",&p1->num,p1->s);
  
    for (i=0;p1->s[i]!='\0';i++)
    {
        j=p1->s[i]-65;
        a[j]=a[j]+1;
    }
    
    
    head=p1;p2=p1;
    while(k<n-1)
    {
    	k++;
        p2=p1;
        p1=(struct chushu *)malloc(len);
        scanf("%d %s",&p1->num,p1->s);
    
        for (i=0;p1->s[i]!='\0';i++)
        {
            j=p1->s[i]-65;
            a[j]=a[j]+1;
        } 
        
        p2->next=p1;
        
    }
    p2=p1;
    p2->next=NULL;
    return (head);
}

/*void print(struct chushu *head)
{
    struct chushu *p;
    p=head;
	while(p!=NULL)
	{printf("%d\n",p->num);
	p=p->next;}
}*/


void search(struct chushu *head)
{
    int i;
    struct chushu *p;
    p=head;
    while (p->next!=NULL)
    {
    	for (i=0;p->s[i]!='\0';i++)
    	{
    	    if (hao+65==p->s[i])
    	    printf("%d\n",p->num);
    	}
    	p=p->next;
    }
    for (i=0;p->s[i]!='\0';i++)
    	{
    	    if (hao+65==p->s[i])
    	    printf("%d\n",p->num);
    	}
}


void main()
{
    int i;
    struct chushu *p;
    
    scanf("%d",&n);
    p=create();
    max=0;
    //print(p);

  for (i=0;i<26;i++)
    {
    	if (a[i]>max)
    	{
    	    max=a[i];
    	    hao=i;   
    	}
    }  
    printf("%c\n",hao+65);
    printf("%d\n",max);
    search(p);
}
void main()
{
	int t=0,m,i,j,n,k,a[999],c[26]={0};
	char b[999][999];
	scanf("%d\n",&m);
	for(i=0;i<m;i++)
	   scanf("%d %s",&a[i],b[i]);
	for(i=0;i<m;i++)
	{
		k=strlen(b[i]);
		for(j=0;j<k;j++)
			c[b[i][j]-'A']++;
	}
    for(j=0;j<26;j++)
	{
		if(t<c[j])
			t=c[j];
	}
	for(i=0;i<26;i++)
	{
		if(c[i]==t)
		{   printf("%c\n",i+'A');
		break;
		}
	}
	printf("%d\n",t);
	for(j=0;j<m;j++)
	{
		k=strlen(b[j]);
		for(n=0;n<k;n++)
		{	if((b[j][n]-'A')==i)
				printf("%d\n",a[j]);
		}
	}
}
struct book
{
  int num;
  char aut[26];
}bo[999];
main()
{
  int n,i,j,k,count[26],max;
  scanf("%d",&n);
  for(i=0;i<n;i++)
  {
    scanf("%d %s",&bo[i].num,&bo[i].aut);
  }
  for(i=0;i<26;i++)
    count[i]=0;
  for(i=0;i<n;i++)
  {
    for(j=0;j<26;j++)
      {
        if(bo[i].aut[j]-65>=0&&bo[i].aut[j]-65<26)
          count[bo[i].aut[j]-65]++;
      }
  }
  max=0;
  for(i=0;i<26;i++)
  {
    if(count[i]>max)
      {max=count[i];k=i;}
  }
  printf("%c\n%d\n",k+65,max);
  for(i=0;i<n;i++)
  {
    for(j=0;j<26;j++)
      {
        if(bo[i].aut[j]-65==k)
          printf("%d\n",bo[i].num);
      }
  }
}
int main()
{
	int m,i,j,k,a[1000],c[91],max=0;
	char b[1000][26],d;
	cin>>m;
	memset(c,0,sizeof(c));
	for(i=0;i<m;i++)
	{
		cin>>a[i]>>b[i];
		for(j=0;j<26;j++)
			if(b[i][j]>0)
				c[b[i][j]]++;
	}
	for(i=65;i<91;i++)
		if(c[i]>max)
			max=c[i];
	for(i=65;i<91;i++)
		if(c[i]==max)
		{
			d=i;
			cout<<d<<endl<<max<<endl;
			for(j=0;j<m;j++)
				for(k=0;k<26;k++)
					if(b[j][k]==d)
					{
						cout<<a[j]<<endl;
						break;
					}
		}
	return 0;
}
struct info 
{ 
	int num; 
	char author[26]; 
} a[1000];

int main()
{
	int i,m,j,b[26]={0};
	char out;
	scanf("%d\n",&m);
	for(i=0;i<m;i++)
	scanf("%d %s\n",&a[i].num,a[i].author);
	for(i=0;i<m;i++)
		for(j=0;j<26;j++)
			b[a[i].author[j]-'A']++;
	int max=b[0];
	for(i=0;i<26;i++)
		max=max>b[i]?max:b[i];
	for(i=0;i<26;i++)
		if(b[i]==max)
		{
			out='A'+i;
			printf("%c\n",'A'+i);
			printf("%d\n",b[i]);
			break;
		}
	for(i=0;i<m;i++)
		for(j=0;j<26;j++)
			if(a[i].author[j]==out)
			{
				printf("%d\n",a[i].num);
				break;
			}
}
void main()
{
	struct book
	{
		int x;
		char z[10];
	}a[400];
	int i,n,max=0,j,k,l,y[400],p;char u;scanf("%d",&n);
for(i=0;i<n;i++)
{
	scanf("%d %s",&a[i].x,a[i].z);y[i]=strlen(a[i].z);
}
for(i=0;i<n-1;i++)
{
	
for(j=0;j<y[i];j++)
{
	p=1;
	for(k=i+1;k<n;k++)
	{
		for(l=0;l<y[k];l++)
			if(a[i].z[j]==a[k].z[l])p++;
	}
	if(p>max){max=p;u=a[i].z[j];}
}
}
printf("%c\n%d\n",u,max);
for(i=0;i<n;i++)
{
	for(j=0;j<y[i];j++)
		if(u==a[i].z[j]){printf("%d\n",a[i].x);break;}
}
}
int main()
{
	int n,book[1000],cnt[60],max;
	char author[1000][26],p;
	int b[60][1000];
	cin>>n;
	for(int i=0;i<60;i++)
		cnt[i]=0;
	for(int i=0;i<n;i++)
	{
		cin>>book[i];
	    cin.get();
	    cin.getline(author[i],26);
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;author[i][j]!='\0';j++)
			{
				int k=author[i][j]-'0';
				b[k][cnt[k]++]=book[i];//?i???K????
		    }

	}
	max=cnt[17];
	p='A';
	for(int i=17;i<=42;i++)
	{
		if(cnt[i]>max)
			{
				max=cnt[i];
				p=i+'0';
		}
	}
	cout<<p<<endl;
	cout<<max<<endl;
	for(int m=0;m<max;m++)
	cout<<b[p-'0'][m]<<endl;
	return 0;
}
int main()
{
	struct book
	{
		int m;
		char a[26];
	};
	int n,i,j,k,q=0;int b[26]={0},c[26];
	scanf("%d",&n);
	struct book * p;
	p=(struct book *)malloc(n*sizeof(struct book));
	for(i=0;i<n;i++)
		scanf("%d %s",&p[i].m,p[i].a);
	for(i=0;i<26;i++)
		for(j=0;j<n;j++)
			for(k=0;k<26;k++)
				if(p[j].a[k]=='A'+i)
					b[i]=b[i]+1;
	for(i=0;i<26;i++)
		c[i]=b[i];
	for(j=0;j<25;j++)
		for(i=0;i<25-j;i++)
			if(b[i]>b[i+1])
			{
				k=b[i];
				b[i]=b[i+1];
				b[i+1]=k;
			}
	for(i=0;i<26;i++)
		if(c[i]==b[25])
		{
			printf("%c\n%d\n",'A'+i,b[25]);
			for(j=0;j<n;j++)
				for(k=0;k<26;k++)
					if(p[j].a[k]=='A'+i)
						printf("%d\n",p[j].m);
		}
		free(p);

	
}
int main()
{
	int m,i,j;
	scanf("%d",&m);

	struct Bookinfo
	{
		int number;
		char auther[27];
	};

	struct Bookinfo a[1000];
	for (i=0;i<m;i++)
		scanf("%d %s",&a[i].number,a[i].auther);

	int count[26]={0},max,record;

	for (i=0;i<m;i++)
	{
		int k;
		k=strlen(a[i].auther);
		for (j=0;j<k;j++)
		{
			count[a[i].auther[j]-'A']++;
		}
	}

	max=count[0];
	for (i=0;i<26;i++)
		if (count[i]>=max) 
		{
			max=count[i];
			record=i;
		}

	printf("%c\n%d\n",record+'A',max);

	for (i=0;i<m;i++)
	{
		int n;
		n=strlen(a[i].auther);
		for (j=0;j<n;j++)
			if (a[i].auther[j]==record+'A')
			{
				printf("%d\n",a[i].number);
				break;
			}
	}
}
int main()
{
    int n,i,j,k,t=0,c=0;
    int A[25];
    char g[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    struct point{
     int a;
     char s[80];
     }tope[1000];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d %s",&tope[i].a,tope[i].s);
    }
       for(k=0;k<26;k++)
           {
                 A[k]=0;
        for(i=0;i<n;i++){
        for(j=0;tope[i].s[j]!='\0';j++)
        {
                 if(tope[i].s[j]==g[k])
                {
                    A[k]++;
                }
          }
       }
     }
     for(i=0;i<26;i++)
    {
          if(A[i]>t)
          {
              t=A[i];
              c=i;
          }
    }
    printf("%c\n%d\n",g[c],t);
   for(i=0;i<n;i++)
  {
      for(j=0;tope[i].s[j]!='\0';j++)
      {
            if(tope[i].s[j]==g[c])
            {
                printf("%d\n",tope[i].a);
             }
       }
   }
   return 0;
}
int main()
{
	int n,amount[26],num[26][1000],num0,max=0;
	char a;
	memset(amount,0,sizeof(amount));
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>num0;
		cin.get();
		a=cin.get();
		while(a!='\n')
		{
			num[a-65][amount[a-65]]=num0;
			amount[a-65]++;
			a=cin.get();
		}
	}
	for(int i=0;i<26;i++)
		if(max<amount[i])
			max=amount[i];
	for(int i=0;i<26;i++)
		if(max==amount[i])
		{
			a=i+65;
			cout<<a<<endl<<max<<endl;
			for(int j=0;j<max;j++)
				cout<<num[i][j]<<endl;
			break;
		}
	return 0;
}
void main()
{
     struct book
     {
            int num;
            char name[26];
     };
     int m,i,j,max;
     int sum[26]={0};
     scanf("%d",&m);
     struct book b[m];
     for(i=0;i<m;i++)
       scanf("%d %s",&b[i].num,b[i].name);
     for(i=0;i<m;i++)
     {
                     for(j=0;j<strlen(b[i].name);j++)
                         sum[(b[i].name)[j]-'A']++;
     
     }
     max=0;
     for(i=1;i<26;i++)
       if(sum[i]>sum[max])max=i;
     printf("%c\n%d\n",max+'A',sum[max]);
     for(i=0;i<m;i++)
     {
                     for(j=0;j<strlen(b[i].name);j++)
                     {
                        if((b[i].name)[j]==65+max)
                        printf("%d\n",b[i].num);
                        }
     }
 
}
int main(int argc, char* argv[])
{char s[999][3][27];
int m,i,j,k,Nn[27],ctrl;
/*11111*/
	scanf("%d",&m);
	for(k=1;k<=m;k++){
		scanf("%s",s[k][1]);
     	scanf("%s",s[k][2]);
	}
/*2222*/
	for(i=1;i<=26;i++)
		Nn[i]=0;
	for(i=1;i<=m;i++){
		for(j=0;s[i][2][j]!='\0';j++){
			if(s[i][2][j]=='A')Nn[1]++;
			else if(s[i][2][j]=='B')Nn[2]++;
            else if(s[i][2][j]=='C')Nn[3]++;
            else if(s[i][2][j]=='D')Nn[4]++;
            else if(s[i][2][j]=='E')Nn[5]++;

            else if(s[i][2][j]=='F')Nn[6]++;
            else if(s[i][2][j]=='G')Nn[7]++;
            else if(s[i][2][j]=='H')Nn[8]++;
            else if(s[i][2][j]=='I')Nn[9]++;
	
            else if(s[i][2][j]=='J')Nn[10]++;
            else if(s[i][2][j]=='K')Nn[11]++;
            else if(s[i][2][j]=='L')Nn[12]++;
            else if(s[i][2][j]=='M')Nn[13]++;

            else if(s[i][2][j]=='N')Nn[14]++;
            else if(s[i][2][j]=='O')Nn[15]++;
            else if(s[i][2][j]=='P')Nn[16]++;
            else if(s[i][2][j]=='Q')Nn[17]++;
            
			else if(s[i][2][j]=='R')Nn[18]++;
            else if(s[i][2][j]=='S')Nn[19]++;

            else if(s[i][2][j]=='T')Nn[20]++;
            else if(s[i][2][j]=='U')Nn[21]++;
            else if(s[i][2][j]=='V')Nn[22]++;
            else if(s[i][2][j]=='W')Nn[23]++;


            else if(s[i][2][j]=='X')Nn[24]++;

            else if(s[i][2][j]=='Y')Nn[25]++;
            else if(s[i][2][j]=='Z')Nn[26]++;
            
		}
	}
/*33333*/int Nmax=0,zimuxu;
		for(i=1;i<=26;i++){
			if (Nn[i]>Nmax){Nmax=Nn[i];zimuxu=i;}
		}
/*4444444*/
		printf("%c\n",'A'+zimuxu-1);
		printf("%d\n",Nmax);
/*5555*/
		for(j=1;j<=m;j++){
			ctrl=0;
			for(k=0;s[j][2][k]!='\0';k++){
				if(s[j][2][k]=='A'+zimuxu-1)ctrl++;
			}
			if(ctrl!=0)printf("%s\n",s[j][1]);
		}
return 0;
	}