#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef double dbl;
typedef float flt;

#define for0(i, n) for(ll i=0; i<n; i++)
#define for1(i, n) for(ll i=1; i<=n; i++)
#define forab(i, a, b) for(ll i=a; i<=b; i++)
#define clr0(a) memset(a, 0, sizeof(a))

void solve() {
    char a[1010];
    cin >> a;
    ll n = strlen(a);
    bool ans = true;
    for0(i, n) {
        if (i%2==0) {
            if (a[i]<97 || a[i]>122) {
                ans = false;
                break;
            }
        }
        else {
            if (a[i]<65 || a[i]>90) {
                ans = false;
                break;
            }
        }
    }
    if (ans) {
        cout << "Yes" << endl;
    }
    else {
        cout << "No" << endl;
    }
}

void testcase() {
    ll t;
    cin >> t;
    while (t--) {
        solve();
    }
}

int main () {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    //testcase();
    solve();

    return 0;
}


#include <stdio.h>
int main()
{
	int i, j, N, A[100] = {}; //入力しないところ１にしておく
	int k, GCD, maxGCD = 0, ans = 0;

	scanf("%d", &N);//これの存在忘れてた。もっと簡単にできた

	for (i = 1; i <= N; i++) {
		scanf("%d", &A[i]);
	}

	for (k = 2; k <= 1000; k++) {  //ここたぶんあほ

		GCD = 0; //GCD reset
		for (j = 1; j <= N; j++) {

			if (A[j] % k == 0) { //もし割り切れたら
				GCD = GCD + 1; //GCD度
			}

		}
		if (maxGCD < GCD) {
			maxGCD = GCD;
			ans = k; //そのときのk
		}
	}
	printf("%d", ans);
	return(0);
}


//問題点　kの扱い　二重ループにしたらタイムアウトするに違いない
//二重ループで書いてみる