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
Dmitri: 2014-05-13 15:09:33

Was worried if my program would take 1 000 000 chars string with Console.ReadLine() in C#. But got solution accepted at the first attempt :)

The Mama of Coding: 2014-04-24 20:24:06

awesome problem!!! but not for beginners... took me 6 hours to fully understand it. thumbs up

ANKIT KUMAR CODOPEDIAC: 2014-02-12 06:51:43

can u plz tell me at which test case this is giving wrong ans?

[code removed]

"1. Don't post any source code here."

Last edit: 2014-02-12 08:04:04
cegprakash: 2014-01-15 18:57:58

The problem's worth will increase after rejudge!

Mitch Schwartz: 2014-01-15 16:16:38

@Ɓukasz Kuszner: Thanks! Moved back to classical.

Will there be a rejudge? I can understand if it's too much work for the servers to rejudge over 70k submissions, considering also that the problem is currently worth < 0.01 points.

kuszi: 2014-01-15 15:23:59

Tests are a little stronger, what about moving it back to classical?

Mitch Schwartz: 2014-01-15 15:17:31

Moved to tutorial.

Subhasish Saha: 2014-01-15 15:17:31

Many people have commented but still test cases have not been corrected!!!

For input 523526236747348343262362486125986592, accepted solution gave 523526236747348344443843747632625325. Whereas correct output is 523526236747348343343843747632625325.

Is there any admin/moderator?

cegprakash: 2014-01-15 15:17:31

Martijn Muijsers: true that

2
9994
99994

should produce

9999
99999

But my ACC code produces
10001
100001

Jatin Singla also specified that he got ACC when his code produced 1111 for 1991 where it should produce 2002.

Sachin Sai Krishna's code produces 9 for 9 and got ACC.

Test cases are weak. It's been 9 years. But it's okay to rejudge after making the test cases strong.

Aravind Sagar: 2014-01-15 15:17:31

@shweta choudhary The problem is that the input number can have 1000000 digits, so int and long long won't work. Try to store it as a string and think of a different approach.


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