#include <bits/stdc++.h>
using namespace std;
double e_time(void) {
  static struct timeval now;
  gettimeofday(&now, NULL);
  return (double)(now.tv_sec + now.tv_usec / 1000000.0);
}
template <class T>
void vp(T &a, int p) {
  for (int i = 0; i < p; i++) cout << a[i] << " ";
  cout << endl;
}
template <class T>
T ceilUp(const T &a, const T &b) {
  return (a + b - 1) / b;
}
const long long mod = 1000000009;
inline long long modadd(long long a, long long b) {
  a %= mod;
  b %= mod;
  return (a + b) % mod;
}
inline long long modsub(long long a, long long b) {
  a %= mod;
  b %= mod;
  a -= b;
  a %= mod;
  if (a < 0) a += mod;
  return a;
}
inline long long modmul(long long a, long long b) {
  a %= mod;
  b %= mod;
  return (a * b) % mod;
}
inline long long modeq(long long a, long long b, long long m) {
  a = (a % m + m) % m;
  b = (b % m + m) % m;
  return a == b;
}
long long mypow(long long n, long long p) {
  if (p == 0) return 1;
  if (p == 1) return n;
  long long ret = mypow(n, p / 2);
  ret = ret * ret;
  if (p & 1) ret = ret * n;
  return ret;
}
bool beginwith(const string &src, const string &tar) {
  if (src.size() < tar.size()) return false;
  for (int i = 0; i < tar.size(); i++) {
    if (src[i] == tar[i])
      ;
    else
      return false;
  }
  return true;
}
bool endwith(const string &src, const string &tar) {
  if (src.size() < tar.size()) return false;
  for (int i = 0; i < tar.size(); i++) {
    if (tar[tar.size() - i] == src[src.size() - i])
      ;
    else
      return false;
  }
  return true;
}
bool solve(string &in) {
  const string a = "keyence";
  if (in == a) return true;
  if (beginwith(in, a) || endwith(in, a)) return true;
  int n = a.size();
  for (int i = 1; i < n; i++) {
    string t1 = a.substr(0, i), t2 = a.substr(i, n - i);
    if (beginwith(in, t1) && endwith(in, t2)) return true;
  }
  return false;
}
int main() {
  string in;
  cin >> in;
  if (solve(in))
    cout << "YES" << endl;
  else
    cout << "NO" << endl;
  return 0;
}
