#include <bits/stdc++.h>
using namespace std;
const char ch[120][5] = {
    "h",  "he", "li", "be", "b",  "c",  "n",  "o",  "f",  "ne", "na", "mg",
    "al", "si", "p",  "s",  "cl", "ar", "k",  "ca", "sc", "ti", "v",  "cr",
    "mn", "fe", "co", "ni", "cu", "zn", "ga", "ge", "as", "se", "br", "kr",
    "rb", "sr", "y",  "zr", "nb", "mo", "tc", "ru", "rh", "pd", "ag", "cd",
    "in", "sn", "sb", "te", "i",  "xe", "cs", "ba", "lu", "hf", "ta", "w",
    "re", "os", "ir", "pt", "au", "hg", "tl", "pb", "bi", "po", "at", "rn",
    "fr", "ra", "lr", "rf", "db", "sg", "bh", "hs", "mt", "ds", "rg", "cn",
    "nh", "fl", "mc", "lv", "ts", "og", "la", "ce", "pr", "nd", "pm", "sm",
    "eu", "gd", "tb", "dy", "ho", "er", "tm", "yb", "ac", "th", "pa", "u",
    "np", "pu", "am", "cm", "bk", "cf", "es", "fm", "md", "no", "",   ""};
char s[15];
bool same(int x, int y, int l) {
  for (int i = 0; i < l; i++)
    if (ch[x][i] != s[y - l + i + 1]) return false;
  return true;
}
int main() {
  int f[15], l;
  scanf("%s", s + 1);
  l = strlen(s + 1);
  memset(f, 0, sizeof f);
  f[0] = 1;
  for (int i = 1; i <= l; i++) s[i] = s[i] + 'a' - 'A';
  for (int i = 1; i <= l; i++)
    for (int j = 0; j < 118; j++)
      if (same(j, i, strlen(ch[j]))) f[i] |= f[i - strlen(ch[j])];
  if (f[l])
    puts("YES");
  else
    puts("NO");
  return 0;
}
