#include< stdio.h >
#include< string.h >
int comp(char a[],char s[],int l)
{
int i;
for(i=l/2 ; i < l ; i++)
if(a[i] < s[i])
return 0;
else if(a[i] > s[i])
return 1;
}
int compcheck(char a[],char s[],int l)
{
int i;
for(i=0 ;i < l ; i++)
if(a[i] < s[i])
return 0;
else if(a[i] > s[i])
return 1;
}
int ninecheck(char a[],int l)
{
int i,nine=0;
for(i=0 ;i < l ; i++)
if(a[i]=='9')
++nine;
if(nine==l)
return 1;
else
return 0;
}
void mequal(char a[],char s[],int l)
{
int i,j,k,f;
if(l%2==0)
{
i=(l)/2-1;
j=(l-1)/2+1;
f=comp(a,s,l);
while(!f)
{
if(a[i]=='9' && a[j]=='9')
{
a[i--]='0';
a[j++]='0';
++a[i];
++a[j];
--i;
++j;
f=compcheck(a,s,l);
}
else if(!(a[i]=='9' && a[j]=='9'))
{
a[i]=a[i]+1;
a[j]=a[j]+1;
f=1;
}
else
f=1;
}
}
else
{
k=(l-1)/2;
{
if(a[k]!='9')
a[k]+=1;
else
{
a[k]='0';
i=l/2-1;
j=(l-1)/2+1;
f=comp(a,s,l);
while(!f)
{
if(a[i]=='9' && a[j]=='9')
{
a[i--]='0';
a[j++]='0';
++a[i];
++a[j];
--i;
++j;
f=compcheck(a,s,l);
}
else if(!(a[i]=='9' && a[j]=='9'))
{
a[i]=a[i]+1;
a[j]=a[j]+1;
f=1;
}
else
f=1;
}
}
}
}
}
int main()
{
long long int t,l,i,k;
scanf("%lld ",&t);
while(t--)
{
char s[1000010],a[1000010];
gets(s);
k=0;
long long int f1=1;
l=strlen(s);
i=0;
while(f1)
{
if(s[k]!='0')
{
f1=0;
break;
}
else
{
++k;
}
}
for(i=0;i < l-k;i++)
{
s[i]=s[i+k];
}
s[l-k]='\0';
long long int f,nine;
l=strlen(s);
if(k==l)
{
s[0]='0';
s[1]='\0';
}
strcpy(a,s);
for(i=0;i < l/2;i++)
a[l-1-i]=a[i];
f=comp(a,s,l);
nine=ninecheck(a,l);
if(f==1)
puts(a);
else if(nine==1)
{
a[0]=a[l]='1';
for(i=1;i < l;i++)
a[i]='0';
a[l+1]='\0';
puts(a);
}
else if(f==0)
{
mequal(a,s,l);
puts(a);
}
}
return 0;
}