#include <bits/stdc++.h>
using namespace std;
int main() {
  double c = 0, l = 0, i, j;
  string x;
  cin >> x;
  if (x.size() == 1) {
    cout << x[0] << x[0];
    return 0;
  }
  if (x.size() % 2 == 0)
    c = x.size() / 2 + 1;
  else
    c = x.size() / 2;
  string a, b, m;
  for (i = x.size() / 2; i >= 0; i--) {
    a.clear();
    b.clear();
    m.clear();
    for (j = l + c; j < x.size(); j++) {
      if (x[i] != x[j]) {
        a = x;
        m = x;
        a.insert(x.size() - i, 1, x[i]);
        m.insert(x.size() - j - 1, 1, x[j]);
      }
      break;
    }
    l++;
    b = a;
    reverse(b.begin(), b.end());
    if (a == b and a.size() != 0 and b.size() != 0) {
      cout << a;
      return 0;
    }
    b.clear();
    b = m;
    reverse(b.begin(), b.end());
    if (m == b and m.size() != 0 and b.size() != 0) {
      cout << m;
      return 0;
    }
  }
  l = 0;
  for (i = x.size() - 1 / 2; i >= 0; i--) {
    a.clear();
    b.clear();
    m.clear();
    for (j = l + c; j < x.size(); j++) {
      if (x[i] != x[j]) {
        a = x;
        m = x;
        a.insert(x.size() - i, 1, x[i]);
        m.insert(x.size() - j - 1, 1, x[j]);
      }
      break;
    }
    l++;
    b = a;
    reverse(b.begin(), b.end());
    if (a == b and a.size() != 0 and b.size() != 0) {
      cout << a;
      return 0;
    }
    b.clear();
    b = m;
    reverse(b.begin(), b.end());
    if (m == b and m.size() != 0 and b.size() != 0) {
      cout << m;
      return 0;
    }
  }
  a.clear();
  b.clear();
  if (x.size() % 2 == 0)
    x += x[0];
  else
    x = x[x.size() - 1] + x;
  a = x;
  reverse(a.begin(), a.end());
  if (a == x)
    cout << a;
  else
    cout << "NA";
}
