bool assign(int num[],int index,int sol[],int *l,int len){
    int temp=0,k=0,i;
    for (i=0; i<10; i++) {
        num[index] = i;
        sol[(*l)++] = arrayToNumber(num,len);
        if(allNine(num,len)){
            return true;
        }
    }
    return false;
}
int main()
{
int T,n;
char no[100];int a[100];
scanf("%d",&T);
while(T--)
{

	scanf("%s",no);
	
	int l=strlen(no);
	
	int *array=malloc(sizeof(int)*l);
	int i;
	for(i=0;i<l;i++)
		{a[i]=no[i]-'0';
	//	printf("%d",a[i]);
	
	}
	
	if(allNine(a,l)==1) {
		printf("1");
		for(i=0;i<l-1;i++)
			printf("0");
		printf("0\n");}

	else
		{	
			findNextPalindrome(a,l);
			printArray(a,l);
			printf("\n");
		}

	}





return 0;
}