#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  if (s.size() == 1 &&
      (s[0] == 'A' || s[0] == 'I' || s[0] == 'M' || s[0] == 'O' ||
       s[0] == 'T' || s[0] == 'U' || s[0] == 'V' || s[0] == 'W' ||
       s[0] == 'X' || s[0] == 'Y' || s[0] == 'H')) {
    cout << "YES";
    return 0;
  }
  for (int i = 0; i < s.size() / 2; i++)
    if (s[i] == s[s.size() - 1 - i] &&
        (s[i] == 'A' || s[i] == 'I' || s[i] == 'M' || s[i] == 'O' ||
         s[i] == 'T' || s[i] == 'U' || s[i] == 'V' || s[i] == 'W' ||
         s[i] == 'X' || s[i] == 'Y' || s[i] == 'H'))
      continue;
    else {
      cout << "NO";
      return 0;
    }
  if (s.size() % 2 == 1) {
    if (s[s.size() / 2] == 'B') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'C') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'D') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'E') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'F') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'G') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'J') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'K') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'L') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'P') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'N') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'Q') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'R') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'S') {
      cout << "NO";
      return 0;
    }
    if (s[s.size() / 2] == 'Z') {
      cout << "NO";
      return 0;
    }
  }
  cout << "YES";
}
