#include <bits/stdc++.h>
using namespace std;
template <class T>
inline T GCD(T a, T b) {
  return b ? GCD(b, a % b) : a;
}
template <class T>
inline T LCM(T a, T b) {
  if (a < 0) return LCM(-a, b);
  if (b < 0) return LCM(a, -b);
  return a * (b / GCD(a, b));
}
int palindrome(string s) {
  int l = s.size();
  int ans;
  for (int i = 0; i < l / 2; i++) {
    if (s[i] == s[l - 1 - i])
      ans = 1;
    else {
      ans = -1;
      break;
    }
  }
  return ans;
}
int main() {
  string s;
  cin >> s;
  int l = s.size();
  int count = 0;
  int a[26];
  for (int i = 0; i < 26; i++) a[i] = i;
  for (int i = 0; i <= l; i++) {
    for (int j = 0; j < 26; j++) {
      string ans = s.substr(0, i) + (char)('a' + a[j]) + s.substr(i);
      count = palindrome(ans);
      if (count == 1) {
        cout << ans << endl;
        i = l + 1;
        break;
      }
    }
  }
  if (count == -1) cout << "NA" << endl;
  return 0;
}
