#include <bits/stdc++.h>
int main(void) {
  char moji[7][6] = {"abcde", "fghij", "klmno", "pqrst", "uvwxy", "z.?! "};
  char m[201] = {0};
  int suji[201] = {0};
  char t[1001][101] = {0};
  int n, i, j;
  n = 0;
  while (scanf("%s%*c", m) != EOF) {
    if (strlen(m) % 2 != 0) {
      t[n][0] = 'N';
      t[n][1] = 'A';
    } else {
      for (i = 0; i < strlen(m); i++) {
        switch (m[i]) {
          case 49:
            suji[i] = 1;
            break;
          case 50:
            suji[i] = 2;
            break;
          case 51:
            suji[i] = 3;
            break;
          case 52:
            suji[i] = 4;
            break;
          case 53:
            suji[i] = 5;
            break;
          case 54:
            suji[i] = 6;
            break;
          default:
            t[n][0] = 'N';
            t[n][1] = 'A';
        }
        if (t[n][0] == 'N' && t[n][1] == 'A') break;
      }
      if (t[n][0] == 0 && t[n][1] == 0) {
        for (i = 0, j = 0; i < strlen(m) / 2; i++) {
          t[n][i] = moji[suji[j] - 1][suji[j + 1] - 1];
          j += 2;
        }
      }
    }
    n++;
  }
  for (i = 0; i < n; i++) {
    printf("%s", t[i]);
    if (i != n - 1) printf("\n");
  }
  return 0;
}
