fork(1) download
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
string a;
long long len;
void makepalin()
{
	for(int i = 0, j = len-1; i<len/2; ++i, --j)
	{
		a[j] = a[i];
	}
}
void increment(int l, int u)
{
	int flag = 0;
	while(a[l]=='9'&& a[u]=='9')
	{
		a[l]='0';a[u]='0';
		if(l==0 || u==(len-1))
		{
			flag = 1;
			break;
		}
		--l;
		++u;
	}
	if(l == len/2)
		++a[l];
	else if(!flag)
	{
		++a[l]; 
		++a[u];
	}
	else if(flag)
	{
		string m(len, '0');
		if(m==a)
		{
			a = a + '1';
			++a[0]; 
		}
	}
}
 
int main()
{
	long t;
	scanf("%d", &t);
	while(t--)
	{
		cin>>a;
		string z = a;
		len = a.size();
		int i = len/2-1;
		int j = len/2;
		int k = len/2;
		makepalin();
		if(a>z)
		{
			cout<<a<<"\n";
			continue;
		}
		if(len%2)
		{
			increment(j, k);
			cout<<a<<"\n";
		}
		else
		{
			increment(i, j);
			cout<<a<<"\n";
		}
 
	}
	return 0;
}
Success #stdin #stdout 0s 3468KB
stdin
9
139999921
273
372
189992
199982
999
9999
0
120
stdout
139999931
282
373
190091
199991
1001
10001
1
121