// execute g++ main.cpp -std=c++14 -I C:\Users\naoya\Desktop\code\Atcoder
#include<bits/stdc++.h>
//#include<atcoder/all>
typedef long long ll;
typedef long double ld;
using namespace std;
//using namespace atcoder;

using Pii = pair<int, int>;
using Pll = pair<ll, ll>;

//ordered_set 重複不可
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
template<typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
// use set_function + find_by_order(select itr-num)

#define REP(i, l, n) for(int i=(l), i##_len=(n); i<i##_len; ++i)
#define ALL(x) (x).begin(),(x).end()
#define pb push_back

ll gcd(ll a,ll b){return b ? gcd(b,a%b) : a;}
ll lcm(ll a,ll b){return a/gcd(a,b)*b;}

template<class T>inline bool chmax(T &a, T b) {if(a < b) {a = b;return true;}return false;}
template<class T>inline bool chmin(T &a, T b) {if(a > b) {a = b;return true;}return false;}


char alpha[26] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
char Alpha[26] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};

int dx[4] = {-1, 1, 0, 0};
int dy[4] = {0, 0, 1, -1};

//cout << std::fixed << std::setprecision(15) << y << endl; //小数表示

int main(){
    string s; cin >> s;
    int f = 1;
    REP(i, 0 ,s.size()){
        if(i % 2 == 0){
            if((s[i] - 'a') < 26&& (s[i] - 'a') >= 0){
                continue;
            }else{
                f = 0;
            }
        }else{
            if((s[i] - 'a') < 26&& (s[i] - 'a') >= 0){
                f = 0;
            }else{
                continue;
            }
        }
    }
    if(f){
        cout << "Yes" << endl;
    }else{
        cout << "No" << endl;
    }
}

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <utility>

#define rep(i, n) for(int i = 0; i < (int)(n); i++)
using ll = long long;
ll INF = 2e18;
using namespace std;

int N;
int cnt;



int main() {
	cin >> N ;

	for(int o = 1; o<N+1; o++){
		int tmp = o;
		int div = 3;
		cnt =0;
		if(o==1) {
			cout << 1<<" ";
			continue;
		}
		while(tmp % 2 == 0){
				tmp /= 2;
				cnt++;
		}
		while(tmp != 1){
			while(tmp % div == 0){
				tmp /= div;
				cnt++;
			}
			div +=2;
		}

/*		if(cnt > 1){
			cout << cnt + 1 << " ";
		}
		else  cout << cnt + 2 << " ";*/
		cout << cnt + 1 << " ";
	}
	return 0;

}


