#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
const int mod = 1e9 + 7;
const double eps = 1e-8;
const int INF = 0x3f3f3f3f;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
char str[maxn];
char s[11] = {'A', 'H', 'I', 'M', 'O', 'T', 'U', 'V', 'W', 'X', 'Y'};
int main() {
  while (cin >> str) {
    int len = strlen(str);
    if (len & 1 == 0) {
      int sum = 0;
      for (int i = 0; i <= len / 2; i++) {
        for (int j = 0; j < 11; j++) {
          if (str[i] == str[len - 1 - i] && str[i] == s[j]) {
            sum++;
            break;
          }
        }
      }
      if (sum == len / 2)
        puts("YES");
      else
        puts("NO");
    } else {
      bool ok = false;
      int sum = 0;
      for (int i = 0; i < 11; i++) {
        if (str[len / 2] == s[i]) {
          ok = true;
          break;
        }
      }
      for (int i = 0; i < len / 2; i++) {
        for (int j = 0; j < 11; j++) {
          if (str[i] == str[len - 1 - i] && str[i] == s[j]) {
            sum++;
            break;
          }
        }
      }
      if (ok && sum == len / 2)
        puts("YES");
      else
        puts("NO");
    }
  }
  return 0;
}
