#include <bits/stdc++.h>
#define ll long long int
#define vec vector<ll>
#define vecp vector<pair<ll,ll> >
#define mapp map<ll,ll>
#define mapit map<ll,ll>::iterator
#define mapr map<pair<ll,ll>,ll>
#define maprit map<pair<ll,ll>,ll>::iterator
#define fs first
#define sc second
#define bg begin()
#define en end()
#define pb push_back
#define fin(x,y) for(x=0;x<y;x++)
#define fin1(x,y) for(x=1;x<y;x++)
#define mod1 1000000007
#define INF 1000000000000000000
#define twodp vector<vec >dp(n+1,vec(k+1,0))
#define all(x) x.bg,x.en
#define rel(x) x.rbegin(),x.rend()
using namespace std;
ll gcd(ll a,ll b)
{
  if(a==0 || b==0)
    return a+b;
  else
    return __gcd(a,b);
}
int main()
{
     ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
  ll i,j,k,l,n;
  string s;
  cin>>s;
  n=s.size();
  bool p=true;
  fin(i,n)
  {
    if(i%2==1)
    {
      if(s[i]>='a'&& s[i]<='z')
      p=false;
    }
    else
    {
      if(s[i]>='A'&& s[i]<='Z')
      p=false;
    }
  }
  if(p)
  cout<<"Yes";
  else
  cout<<"No";
  return 0;
}

#include <iostream>
#include <string>

#include <ctype.h>
using namespace std;

int main()
{
  string input;
  cin >> input;

  bool isDifficult = true;
  bool odd = true;
  for ( const auto &c : input )
  {
    if ( odd ) { if( isupper( c ) ) { isDifficult = false; break; } }
    else       { if( islower( c ) ) { isDifficult = false; break; } }

    odd = !odd;
  }

  cout << ( ( isDifficult ) ? "Yes" : "No" );

  return 0;
}