#include <iostream>
#define a1 int('A')
#define a2 int('a')
#define z1 int('Z')
#define z2 int('z')
using namespace std;
int main(){
string str;
bool b = true;
cin >> str;
for (int i = 0;i < str.size();i++){ if (i % 2 == 0 && int(str[i]) >= a2 && int(str[i]) <= z2){} else if (i % 2 == 1 && int(str[i]) >= a1 && int(str[i]) <= z1){}
else b = false;
}
if (b) cout << "Yes";
else cout << "No";
}
#include <bits/stdc++.h>

#define rep(i, x, n) for (int i = (x); i < (n); i++)
#define reps(i, x, n) for (int i = (x); i <= (n); i++)
#define lol long long
#define SUM(n) ((n) + 1) * (n) / 2  // 1〜nまでの総和を求める式
#define mp make_pair
#define fi first
#define se second
#define pu push_back
#define SYOU(x) fixed << setprecision(x + 1)  //小数点桁数を指定する
#define abs(x, y) max(x, y) - min(x, y)
#define all(v) v.begin(), v.end()
#define UPDigit(a, b) (a + b - 1) / b  //小数点切り上げ
const int INF = 0x3f3f3f3f;
const long long LINF = 0x3f3f3f3f3f3f3f3fLL;
const int MOD = int(1e9) + 7;
using namespace std;
using pii = pair<int, int>;
typedef vector<int> vit;
//八方向を見るのに使うと便利(楽)
const int dy[] = {0, 1, 0, -1, -1, 1, 1, -1};
const int dx[] = {1, 0, -1, 0, 1, 1, -1, -1};

signed main(void) {
  cin.tie(nullptr);
  ios_base::sync_with_stdio(false);
  string s;
  cin >> s;
  for(int i = 0;i < s.size();i += 2){
    if(!('a' <= s[i] && s[i] <= 'z')){
      cout << "No\n";
      return 0;
    }
  }
  for(int i = 1;i < s.size();i += 2){
    if(!('A' <= s[i] && s[i] <= 'Z')){
      cout << "No\n";
      return 0;
    }
  }
  cout << "Yes\n";
  return 0;
}
