#include <bits/stdc++.h>
using namespace std;
string s, res;
bool check() {
  string wynik;
  for (int i = 0; i < res.size(); i++) {
    if (res[i] == 'H')
      wynik += 'H';
    else {
      for (int j = 0; j < res.size(); j++) wynik += res[j];
    }
    if (wynik.size() > 1000 * 1000) break;
  }
  return wynik == s;
}
int main() {
  cin >> s;
  bool czy = 0;
  int Q = 0;
  for (int i = 0; i < s.size(); i++) {
    if (s[i] == 'Q') Q++;
  }
  if (Q == 0) {
    cout << "Yes\n";
    return 0;
  }
  int sq = sqrt(Q);
  if (sq * sq != Q) {
    cout << "No\n";
    return 0;
  }
  int ctr = 0;
  for (int i = 0; i < s.size(); i++) {
    if (s[i] == 'Q') break;
    ctr++;
  }
  if (ctr & 1) {
    cout << "No\n";
    return 0;
  }
  for (int i = 0; i < ctr / 2; i++) res += 'H';
  for (int i = ctr; i < s.size() && sq; i++) {
    if (s[i] == 'Q') sq--;
    res += s[i];
  }
  ctr = 0;
  for (int i = s.size() - 1; s[i] != 'Q'; i--) {
    ctr++;
  }
  if (ctr & 1) {
    cout << "No\n";
    return 0;
  }
  for (int i = 0; i < ctr / 2; i++) res += 'H';
  if (check()) {
    cout << "Yes\n";
    return 0;
  }
  cout << "No\n";
}
