PALIN - The Next Palindrome

A positive integer is called a palindrome if its representation in the decimal system is the same when read from left to right and from right to left. For a given positive integer K of not more than 1000000 digits, write the value of the smallest palindrome larger than K to output. Numbers are always displayed without leading zeros.

Input

The first line contains integer t, the number of test cases. Integers K are given in the next t lines.

Output

For each K, output the smallest palindrome larger than K.

Example

Input:
2
808
2133

Output:
818
2222

Warning: large Input/Output data, be careful with certain languages


Added by:adrian
Date:2004-05-01
Time limit:2s-9s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6

hide comments
2017-05-09 18:27:40
For guys who are solving the question in python don't try to convert the integer to string, as in python it is very costly operation. Try to solve the problem by keeping the number in string and you should be good to go.

for people struggling with wrong answer -
try these test cases -
0
9
99
999
9999
101
11
100000

answer should be
1
11
101
1001
10001
111
22
100001
2017-05-08 15:49:37 Kaushik Mitra
This problem is awesome!! 5 hours straight into it and then the GREEN light. Loved the problem.
2017-05-02 06:46:16
Easy problem. A few tips for folks who are stuck.
After reading the String, you can store the data in an integer array. For example you can store char '0' as 0 in int array.
I found this might make arithmetic operations easier than using char array.

Finally, 1,000,000 Digits imply that the maximum number is in the order of 10^(1,000,000). No int datatype can store this, so use char array.

Please note:
1 => 2
9 => 11
99 => 101

@narutohokage_1 thanks for your test cases. Check each of these outputs.

Input :
12345
14325
12325
52321
12945
12925
99998
99999
98999
89999
231
132
268545813
208545813
2862
2682
2221
1222
2993


o/p
12421
14341
12421
52325
13031
13031
99999
100001
99099
90009
232
141
268545862
208555802
2882
2772
2222
1331
3003


Last edit: 2017-05-02 06:48:54
2017-05-02 02:51:20
I've been looking through the comments and I've yet to find a case in which my program fails.
I'm getting NZEC error at the judging phase though.

2017-04-23 12:26:12
wrong answer too, even passed every test case...
someone can help:((
2017-04-22 19:14:52 Neeraj Jain
Getting `runtime error (NZEC)`, All Test Cases working fine , even which @piyush1339 mentioned, if anyone can help.

nput:
5
9
100
999
4998
421999767

Output:
6
11
101
1001
5005
422000224

2017-04-17 11:42:39
Though my code passed every test cases in comment section still getting wrong answer :(
2017-04-07 15:16:16
It's funny. I submitted my own code that was accepted last time. And now it gives Wrong answer :D
2017-04-02 22:59:12
if you got NZEC in java simply use
public static void main(String args[])throws java.lang.Exception
{}
2017-04-01 16:09:40
Pls check my code, its giving write answer for all test cases i run, still i get WA
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.