#include <stdio.h>
#include<string.h>
int main() 
{
    int T;
    char a[601];
    int b[4];
    scanf("%d",&T);
    for(int i=0;i<T;i++)
    {
        int count1=0,count2=0;
        scanf("%s",a);
        b[0]=strlen(a);
        int min=b[0],max=b[0];
        for(int j=1;j<4;j++)
        {
            scanf("%s",a);
            b[j]=strlen(a);
            if(b[j]<min)
            {
                min=b[j];
            }
            if(b[j]>max)
            {
                max=b[j];
            }
        }
        for(int k=0;k<4;k++)
        {
            if(b[k]==min)
            {
                count1++;
            }
            if(b[k]==max)
            {
                count2++;
            }
        }
        if(b[0]<b[1]&&b[0]<b[2]&&b[0]<b[3]&&count2>1)
        {
            printf("A\n");
        }
        else if(b[1]<b[0]&&b[1]<b[2]&&b[1]<b[3]&&count2>1)
        {
            printf("B\n");
        }
        else if(b[2]<b[0]&&b[2]<b[1]&&b[2]<b[3]&&count2>1)
        {
            printf("C\n");
        }
        else if(b[3]<b[1]&&b[3]<b[2]&&b[3]<b[0]&&count2>1)
        {
            printf("D\n");
        }
        else if(b[0]>b[1]&&b[0]>b[2]&&b[0]>b[3]&&count1>1)
        {
            printf("A\n");
        }
        else if(b[1]>b[0]&&b[1]>b[2]&&b[1]>b[3]&&count1>1)
        {
            printf("B\n");
        }
        else if(b[2]>b[0]&&b[2]>b[1]&&b[2]>b[3]&&count1>1)
        {
            printf("C\n");
        }
        else if(b[3]>b[0]&&b[3]>b[1]&&b[3]>b[2]&&count1>1)
        {
            printf("D\n");
        }
        else
        {
            printf("C\n");
        }
    }
    return 0;
}

需注意需要判断前两种情况的最大最小不止一个。否则则为情况三。