#include <bits/stdc++.h>
using namespace std;
string newS(string s) {
  int i, j;
  for (i = 0, j = s.length() - 1; i < s.length() / 2 && j >= s.length() / 2;
       i++, j--) {
    if (s[i] != s[j]) {
      if (s[i + 1] == s[j]) {
        string ch = "";
        ch += s[i];
        s.insert(s.length() - i, ch);
        return s;
      } else if (s[j - 1] == s[i]) {
        string ch = "";
        ch += s[j];
        s.insert(s.length() - j - 1, ch);
        return s;
      }
    }
  }
  return s;
}
bool isP(string s) {
  int ans = 0;
  for (int i = 0, j = s.length() - 1; i < s.length() / 2 && j >= s.length() / 2;
       i++, j--) {
    if (s[i] != s[j]) {
      ans++;
      break;
    }
  }
  if (ans == 0)
    return true;
  else
    return false;
}
int main() {
  string s;
  cin >> s;
  if (s.length() == 1) {
    s += s[0];
    cout << s << endl;
  } else {
    if (isP(s)) {
      string ch = "";
      ch += s[s.length() / 2];
      s.insert(s.length() / 2, ch);
      cout << s << endl;
    } else if (s[0] != s[s.length() - 1]) {
      string ch1 = "", ch2 = "";
      ch1 += s[0], ch2 += s[s.length() - 1];
      string st1 = s + ch1, st2 = ch2 + s;
      if (!isP(st1) && !isP(st2))
        cout << "NA" << endl;
      else if (isP(st1) && !isP(st2))
        cout << st1 << endl;
      else if (!isP(st1) && isP(st2))
        cout << st2 << endl;
      else if (isP(st1) && isP(st2))
        cout << st1 << endl;
    } else {
      if (isP(newS(s)))
        cout << newS(s) << endl;
      else
        cout << "NA" << endl;
    }
  }
  return 0;
}
