#include <stdio.h>
#include <string.h>
int checkallnine(char str[])
{
int i;
for(i=0;i<=strlen(str)-1;i++)
{
if(str[i]!=‘9’)
return 0;
}
return 1;
}
int pallindrome(char str[])
{
int lo,hi;
lo = 0;
hi = strlen(str)-1;
while(lo<hi)
{
if(str[hi]!=str[lo])
return 0;
lo++;
hi--;
}
return 1;
}
void modifiedpallindrome(char str[])
{
int lo,hi,x,y,i,j,mid,temp,carry,flag;
carry = 0;
lo = 0;
hi = strlen(str)-1;
mid = (lo+hi)/2;
i = ((lo+hi)%2 != 0? mid:mid-1);
j = mid+1;
if(pallindrome(str))
{
i = mid;
x = str[mid]-'0';
flag = 1;
goto daksh;
}
while(i>=0 && j<=hi)
{
x = str[i]-'0';
y = str[j]-'0';
if(x>y)
{
str[j]=str[i];
flag = 0;
break;
}
else if(x<=y)
{
flag = 1;
break;
}
i--;
j++;
}
daksh :
if(flag == 1)
{
//printf("hello\n");
temp = x + 1;
//printf("%d",temp);
str[i] = (temp%10) + '0';
carry = temp/10;
i--;
while(carry!=0)
{
temp = (str[i]-'0') + carry;
str[i] = (temp%10) + '0';
carry = temp/10;
i--;
}
}
while(lo<hi)
{
if(str[lo]!=str[hi])
{
str[hi] = str[lo];
}
lo++;
hi--;
}
printf("%s\n",str);
}
int main()
{
char str[1000000];
int testcases;
int hi,i;
scanf("%d",&testcases);
while(testcases--)
{
//printf("enter stirng\n");
scanf("%s",str);
hi = strlen(str)-1;
if(checkallnine(str))
{
str[0]='1';
for(i=1;i<=hi;i++)
{
str[i]='0';
}
str[hi+1]='1';;
str[hi+2]='\0';
printf("%s\n",str);
}
else
{
modifiedpallindrome(str);
}
}
return 0;
}