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
nyreios: 2016-01-28 20:45:16

I whish spoj would show which test-cases i got wrong answer on, would make bug-finding much easier. i mean if i run the computer manually, all of the test-cases i can think off give me the correct answer.....

imshubhamk: 2016-01-26 17:07:25

for those who r getting wrong answer and are sure about there program just put a next line or endline after each cout and cin statements.Maybe this works it WORKED for me

imshubhamk: 2016-01-26 17:05:47

hey guys i just solved the problem. The only problem i got wrong answers 10 times was the next line
i checked my program alot but suddenly i solved some problems and got a concept to put a next line character after each cout and in statement and the same program run successfully

miche_atucha: 2016-01-25 04:50:25

"given positive integer K of not more than 1000000 digits", this really means a number with 1_000_000 digits????

sri: 2016-01-22 17:13:32

Solved after 1 year.....
see the algorithm in geeks learnt a new thing

psweden: 2016-01-21 00:35:41

This problem is quite simple to solve. Haskell's String ( [Char] ) is unusable for this - you'll get TLE. Use ByteString which has O(1) for important functions such as last, drop, take, length (where [Char] has O(n))

shreyans4020: 2016-01-17 15:09:04

TLE error for no good reason :(

chaze: 2016-01-10 16:13:05

1000000 digits could be a reason for NZEC runtime error.

pv: 2016-01-02 21:11:27

So, i implemented this in c++ (converted my recursive logic to an iterative one) and i still get a WA. So while trying to find reasons for why this happens, I came across a comment here saying single digit numbers are not palindromes ... is this true??
EDIT : Forgot to mention this but i have also taken care of cases like 99, 100 etc. Also, i checked on wikipedia, and it says that single digit numbers are palindromic.

Last edit: 2016-01-02 21:14:37
nithi_karu: 2016-01-02 06:38:49

Many of my java programs are rejected by Spoj one being this Next Palindrome Program.


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