#include #include #include #include #include #include #include #include #include #include #include #include #include #define flush fflush(stdout) #define endl '\n' #define all(v) v.begin(), v.end() #define pf(dans) printf("%.12lf", dans) #define pfn(dans) pf(dans); cout << endl; using namespace std; //using namespace atcoder; typedef long long ll; typedef pair P; typedef pair Pl; const int mod1 = (int)1e9 + 7, mod2 = (int)998244353; const int INF = (int)1e9 + 10; const ll LINF = (ll)1e18 + 10; const int di[8] = {1, 0, -1, 0, 1, 1, -1, -1}, dj[8] = {0, 1, 0, -1, -1, 1, -1, 1}; #define rep0(i, n) for (i = 0; i < n; i++) #define rep1(i, a, b) for (i = a; i < b; i++) #define reprev(i, n) for (i = n - 1; i >= 0; i--) template T my_abs(T x){ return (x >= 0)? x : -x; } template void chmax(T &a, T b){ a = max(a, b); } template void chmin(T &a, T b){ a = min(a, b); } ll gcd(ll a, ll b){ if (a > b) return gcd(b, a); if (a == 0) return b; return gcd(b % a, a); } bool incld_bit(ll bit, int i){ return ((bit>>i) & 1) == 1; } // -------------------------------------------------------------------------------- int main(void){ int i, j; string s; const string ot = "kyoprotenkei90"; cin >> s; map cm1, cm2; for (auto c: s){ cm1[c]++; } for (auto c: ot){ cm2[c]++; } for (auto p: cm1){ if (cm2[p.first] != p.second){ cout << "No" << endl; return 0; } } cout << "Yes" << endl; return 0; }