#include <bits/stdc++.h>
using namespace std;
vector<int> p1, p2;
char reflect[] = {'A', 'H', 'I', 'M', 'O', 'T', 'U', 'V', 'W', 'X', 'Y'};
int main() {
  string str;
  while (cin >> str) {
    bool tag = true;
    int len = str.length();
    for (int i = 0; i < len / 2; i++)
      if (str[i] != str[len - i - 1]) {
        tag = false;
        break;
      }
    if (!tag) {
      cout << "NO" << endl;
      continue;
    }
    for (int i = 0; i < len; i++) {
      tag = false;
      for (int j = 0; j < 11; j++)
        if (str[i] == reflect[j]) {
          tag = true;
          break;
        }
      if (!tag) break;
    }
    if (tag)
      cout << "YES" << endl;
    else
      cout << "NO" << endl;
  }
  return 0;
}
