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


hide comments
bong0s_guy01: 2020-10-25 06:53:04

Hey, does anyone know where can I get the input tests cuz I've tried the most optimal code I could but still exceed time limit, so I just want to k now where can I get the test to know how to optimize it

vcillusion: 2020-10-18 13:00:47

In C#, I tried with BigInteger and without it, the result is TLE. Can it be a limitation for C#? Please fine my solution below
http://discuss.spoj.com/t/palin-the-next-palindrome-time-limit-exceeded/40347

coder582: 2020-10-08 09:16:28

All the peeps who say that there solution is correct but they are getting WA, trust me, your solution is wrong.
Now to identify the test cases where your solution goes wrong, try to write a code that solves the problem for numbers <= 10000 (this will be enough, I guess. solution can be easily found by incrementing this number till you get a palindrome), now use STRESS TEST with this solution and your original code, you will get the Test Cases that you need to take care of. (For Stress Test you can visit Errichto's YouTube channel).
Hope This Helps!

koogoo: 2020-09-09 19:26:45

be careful with "K is not more than 10^6 digits", so you can't use long long type to store the number.
Also, TLE may because it try too many times.

Last edit: 2020-09-09 19:28:13
arya1111: 2020-08-25 21:13:02

I'm getting SIGABRT,even though it is working successfully on ideone.

nullie: 2020-08-20 10:19:07

If you get "wrong answer", try to make you own comprehensive test suite: iterate from 0 to some large n, if n is a palindrome, your function must return it as a result for all the numbers from previous palindrome to n.

Shahin Ram Krishna: 2020-08-16 17:45:08

any guidelines on how to use cin and cout for SPOJ? my testcases are producing correct result. all the corner cases are checked but spoj throws wrong answer. can someone tell do I need to flush the stdin/stdout ?

Last edit: 2020-08-16 17:46:00
voodoo_19: 2020-07-28 22:20:28

My code is all correct and working in ide but here it is exceeding time limit

naveen_gunnam: 2020-07-23 21:17:07

WTF!!! my code is working fine with my ide (also tried online compiler) this SPOJ submission is fu$%*#@^&ing

Last edit: 2020-07-23 21:21:35
saikiran299: 2020-07-16 08:47:07

k is not <= 1000000
use string to store and modify the value


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

Problem's scores 1 vote

Concept difficulty
Concept difficulty 37%
Implementation difficulty
Implementation difficulty 50%
468 16