#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	bool p=0;
	for(int i=0;i<s.size();i+=2)
		if(s[i]>'z'||s[i]<'a')
			p=1;
	for(int i=1;i<s.size();i+=2)
		if(s[i]>'Z'||s[i]<'A')
			p=1;
	if(p==0)
		cout<<"Yes"<<endl;
	else
		cout<<"No"<<endl;
	return 0;
}
#include <bits/stdc++.h>
#define FAST ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
typedef long long ll;
typedef long double ld;
#define pb push_back
#define mp make_pair
#define ff first
#define ss second
#define mod 1000000007
#define pii pair<ll,ll>
#define inf 1000000000000000000
#define bpc(x) __builtin_popcountll(x)
#define autoit(x,it) for(auto it = x.begin(); it != x.end(); it++)
#define autoitr(x,it) for(auto it = x.rbegin(); it != x.rend(); it++)
#define rep(n) for(ll i = 0; i < n; i++)
#define repi(i,n) for(ll i = 0; i < n; i++)

#include <ext/pb_ds/assoc_container.hpp> 
#include <ext/pb_ds/tree_policy.hpp> 
using namespace __gnu_pbds; 

#define ordered_set tree<ll, null_type,less<ll>, rb_tree_tag,tree_order_statistics_node_update> 

using namespace std;
mt19937_64 mt(chrono::steady_clock::now().time_since_epoch().count());

int main()
{
  FAST/**/
  
  string s;
  cin>>s;
  
  rep(s.length())
  {
      if(i%2 == 0 && isupper(s[i]))
      {
          cout<<"No\n";
          return 0;
      }
      
      if(i%2 == 1 && islower(s[i]))
      {
          cout<<"No\n";
          return 0;
      }
  }
  
  cout<<"Yes\n";
  
  
  return 0;
}
   
   
 