#include <bits/stdc++.h>
const int mod = 1e9 + 7;
using namespace std;
long long dx[4] = {1, -1, 0, 0};
long long dy[4] = {0, 0, 1, -1};
long long N, M, X, Y, A, B, C, Q, K, R, W, H, P, L;
string S, T;
long long ans;
long long x[1000000];
long long y[1000000];
long long a[1000000];
long long b[1000000];
long long c[1000000];
long long t[1000000];
long long p[1000000];
long long n[1000000];
long long gcd(long long a, long long b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
struct Edge {
  long long to, cost;
  Edge(int to, int cost) : to(to), cost(cost) {}
};
vector<vector<Edge> > graph;
vector<long long> dist;
int main() {
  cin >> S;
  string tmp = "keyence";
  for (long long i = (0); i < (S.size()); ++i) {
    for (long long j = (i); j < (S.size()); ++j) {
      for (long long k = (0); k < (8); ++k) {
        string front = tmp.substr(0, k);
        string back = tmp.substr(k);
        if (S.substr(i, k) == front && S.substr(j, 7 - k) == back) {
          cout << "YES" << endl;
          return 0;
        }
      }
    }
  }
  cout << "NO" << endl;
  return 0;
}
