Codeforces Round 286 (Div. 1)
E
Mr. Kitayuta's Gift
Codeforces
3000
原题
← D→
翻译中…

Mr. Kitayuta has kindly given you a string $*s*$ consisting of lowercase English letters. You are asked to insert exactly $*n*$ lowercase English letters into $*s*$ to make it a palindrome. (A palindrome is a string that reads the same forward and backward. For example, "noon", "testset" and "a" are all palindromes, while "test" and "kitayuta" are not.) You can choose any $*n*$ lowercase English letters, and insert each of them to any position of $*s*$, possibly to the beginning or the end of $*s*$. You have to insert exactly $*n*$ letters even if it is possible to turn $*s*$ into a palindrome by inserting less than $*n*$ letters.

翻译中…

Find the number of the palindromes that can be obtained in this way, modulo $10007$.

翻译中…

Input

翻译中…

The first line contains a string $*s*$ ($1 ≤ |*s*| ≤ 200$). Each character in $*s*$ is a lowercase English letter.

翻译中…

The second line contains an integer $*n*$ ($1 ≤ *n* ≤ 10^{9}$).

翻译中…

Output

翻译中…

Print the number of the palindromes that can be obtained, modulo $10007$.

翻译中…

Note

翻译中…

For the first sample, you can obtain the palindrome "reviver" by inserting 'r' to the end of "revive".

翻译中…

For the second sample, the following 28 palindromes can be obtained: "adada", "adbda", ..., "adzda", "dadad" and "ddadd".

翻译中…

样例

Input #1
revive
1
Output #1
1
InputCopy OutputCopy
Input #2
add
2
Output #2
28
InputCopy OutputCopy
题目信息
题号
506E
时间限制
6 s
内存限制
768 MB
标签
组合数学
动态规划
矩阵
字符串

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。