#include <bits/stdc++.h>
using namespace std;
int check(char sol[]) {
  int i, len = strlen(sol), kk;
  for (i = 0; i < len; i++) {
    if ((sol[i] != sol[len - i - 1]) &&
        (sol[i] == '*' || sol[len - i - 1] == '*')) {
      kk = i;
    } else if ((sol[i] != sol[len - i - 1]))
      return -1;
  }
  return kk;
}
int main() {
  char str[15], sol[15];
  scanf("%s", str);
  int k = 0, i, res;
  int len = strlen(str);
  while (k != len + 1) {
    for (i = 0; i <= k - 1; i++) sol[i] = str[i];
    sol[k] = '*';
    for (i = k + 1; str[i - 1] != '\0'; i++) sol[i] = str[i - 1];
    sol[i] = '\0';
    res = check(sol);
    if (res != -1) break;
    k++;
  }
  if (res == -1)
    printf("NA\n");
  else {
    len = strlen(sol);
    if (len % 2 == 0) {
      for (i = 0; i < len / 2; i++) {
        if (sol[i] != '*')
          printf("%c", sol[i]);
        else {
          printf("%c", sol[len - i - 1]);
        }
      }
      for (i = len / 2; sol[i] != '\0'; i++) {
        if (sol[i] != '*')
          printf("%c", sol[i]);
        else {
          printf("%c", sol[len - i - 1]);
        }
      }
    } else {
      for (i = 0; i < len / 2; i++) {
        if (sol[i] != '*') {
          printf("%c", sol[i]);
        } else {
          printf("%c", sol[len - i - 1]);
        }
      }
      if (sol[len / 2] == '*')
        printf("k");
      else
        printf("%c", sol[len / 2]);
      for (i = (len / 2) + 1; sol[i] != '\0'; i++) {
        if (sol[i] != '*')
          printf("%c", sol[i]);
        else {
          printf("%c", sol[len - i - 1]);
        }
      }
    }
  }
  return 0;
}
