#include <bits/stdc++.h>
using namespace std;
char convert(int x) {
  int x1 = x / 10;
  int x2 = x - x1 * 10;
  if (x1 == 1) {
    if (x2 == 1) return 'a';
    if (x2 == 2) return 'b';
    if (x2 == 3) return 'c';
    if (x2 == 4) return 'd';
    if (x2 == 5) return 'e';
  }
  if (x1 == 2) {
    if (x2 == 1) return 'f';
    if (x2 == 2) return 'g';
    if (x2 == 3) return 'h';
    if (x2 == 4) return 'i';
    if (x2 == 5) return 'j';
  }
  if (x1 == 3) {
    if (x2 == 1) return 'k';
    if (x2 == 2) return 'l';
    if (x2 == 3) return 'm';
    if (x2 == 4) return 'n';
    if (x2 == 5) return 'o';
  }
  if (x1 == 4) {
    if (x2 == 1) return 'p';
    if (x2 == 2) return 'q';
    if (x2 == 3) return 'r';
    if (x2 == 4) return 's';
    if (x2 == 5) return 't';
  }
  if (x1 == 5) {
    if (x2 == 1) return 'u';
    if (x2 == 2) return 'v';
    if (x2 == 3) return 'w';
    if (x2 == 4) return 'x';
    if (x2 == 5) return 'y';
  }
  if (x1 == 6) {
    if (x2 == 1) return 'z';
    if (x2 == 2) return '.';
    if (x2 == 3) return '?';
    if (x2 == 4) return '!';
    if (x2 == 5) return ' ';
  }
  return '1';
}
int main() {
  string str;
  char ans[200];
  while (cin >> str) {
    if (str.size() % 2 == 1) {
      cout << "NA" << endl;
    } else {
      int j = 0;
      for (unsigned int i = 0; i < str.size(); i += 2) {
        int x = atoi(str.substr(i, 2).c_str());
        ans[j] = convert(x);
        j++;
        if (convert(x) == '1') {
          cout << "NA" << endl;
          return 0;
        }
      }
      ans[j] = '\0';
      cout << ans << endl;
    }
  }
}
