module main; // https://kmjp.hatenablog.jp/entry/2015/07/05/1030 より import std; // 回文かどうか bool isPalindrome(string s) { foreach (i; 0 .. s.length / 2 + 1) if (s[i] != s[$ - 1 - i]) return false; return true; } void main() { // 入力 auto S = readln.chomp; // 答えの計算と出力 int L = S.length.to!int; if (isPalindrome(S)) { writeln(S[0 .. L / 2] ~ S[L / 2] ~ S[L / 2 .. $]); return; } foreach (i; 0 .. L) { if (S[i] == S[L - 1 - i]) continue; auto T = S[0 .. i] ~ S[L - 1 - i] ~ S[i .. $]; if (isPalindrome(T)) { writeln(T); return; } T = S[0 .. L - i] ~ S[i] ~ S[L - i .. $]; if (isPalindrome(T)) { writeln(T); return; } break; } writeln("NA"); }