#include <bits/stdc++.h>
using namespace std;
std::map<long long int, long long int> m;
long long int search(long long int a[], long long int n, long long int x) {
  for (int i = 0; i < n; i++) {
    if (a[i] == x) return i;
  }
  return -1;
}
bool contain(string a, string b) {
  if (a.find(b) != std::string::npos) return 1;
  return 0;
}
void given(long long int a[], long long int n) {
  for (int i = 0; i < n; i++) cin >> a[i];
  ;
}
void print(long long int a[], long long int n) {
  for (int i = 0; i < n; i++) {
    cout << a[i];
    ;
    cout << " ";
    ;
  }
}
void maping(long long int a[], long long int n) {
  for (int i = 0; i < n; i++) m[a[i]]++;
}
long long int power(long long int x, long long int y) {
  if (y == 0)
    return 1;
  else if (y % 2 == 0)
    return power(x, y / 2) * power(x, y / 2);
  else
    return x * power(x, y / 2) * power(x, y / 2);
}
long long int min(long long int a, long long int b) {
  if (a < b) return a;
  return b;
}
long long int max(long long int a, long long int b) {
  if (a < b) return b;
  return a;
}
int main() {
  string s;
  cin >> s;
  ;
  for (int i = 0; i < s.length(); i++) {
    if (s[i] != 'a' && s[i] != 'e' && s[i] != 'o' && s[i] != 'i' &&
        s[i] != 'u' && s[i] != 'n') {
      if (s[i + 1] != 'a' && s[i + 1] != 'e' && s[i + 1] != 'i' &&
          s[i + 1] != 'o' && s[i + 1] != 'u') {
        cout << "NO";
        return 0;
      }
    }
  }
  cout << "YES";
}
