#include <bits/stdc++.h>
const int maxn = 100010;
int len;
char s[maxn], js[11] = {'A', 'H', 'I', 'M', 'O', 'T', 'U', 'V', 'W', 'X', 'Y'};
bool judge1(char c) {
  int ok = 0;
  for (int i = 0; i < 11; i++)
    if (c == js[i]) {
      ok = 1;
      break;
    }
  return ok;
}
bool judge(char *ts) {
  int ok = 1;
  char *l = ts, *r = ts + len - 1;
  while (l < r) {
    char c1 = *l++, c2 = *r--;
    if (!(c1 == c2 && judge1(c1))) {
      ok = 0;
      break;
    }
  }
  return ok;
}
int main() {
  while (~scanf("%s", s)) {
    int re = 0, mid;
    len = strlen(s);
    mid = len >> 1;
    if (judge(s)) {
      if (len & 1 && !judge1(*(s + mid)))
        re = 0;
      else
        re = 1;
    }
    printf("%s\n", re ? "YES" : "NO");
  }
  return 0;
}
