#include <bits/stdc++.h>
using namespace std;
template <class T>
inline T SQR(const T x) {
  return x * x;
}
double ceil_n(double dIn, int nLen) {
  double dOut;
  dOut = dIn * pow(10.0, nLen);
  dOut = (double)(int)(dOut + 0.9);
  return dOut * pow(10.0, -nLen);
}
double floor_n(double dIn, int nLen) {
  double dOut;
  dOut = dIn * pow(10.0, nLen);
  dOut = (double)(int)(dOut);
  return dOut * pow(10.0, -nLen);
}
double round_n(double dIn, int nLen) {
  double dOut;
  dOut = dIn * pow(10.0, nLen);
  dOut = (double)(int)(dOut + 0.5);
  return dOut * pow(10.0, -nLen);
}
template <class T>
inline T GCD(const T x, const T y) {
  if (x < 0) return GCD(-x, y);
  if (y < 0) return GCD(x, -y);
  return (!y) ? x : GCD(y, x % y);
}
template <class T>
inline T LCM(const T x, const T y) {
  if (x < 0) return LCM(-x, y);
  if (y < 0) return LCM(x, -y);
  return x * (y / GCD(x, y));
}
template <class T>
inline bool ISPRIME(const T x) {
  if (x <= 1) return false;
  for (T i = 2; SQR(i) <= x; i++)
    if (x % i == 0) return false;
  return true;
}
template <class T>
vector<bool> ERATOSTHENES(const T n) {
  vector<bool> arr(n, true);
  for (int i = 2; SQR(i) < n; i++) {
    if (arr[i]) {
      for (int j = 0; i * (j + 2) < n; j++) {
        arr[i * (j + 2)] = false;
      }
    }
  }
  return arr;
}
template <typename T>
vector<bool> ERATOSTHENES(const T a, const T b) {
  vector<bool> small = ERATOSTHENES(b);
  vector<bool> prime(b - a, true);
  for (int i = 2; (T)(SQR(i)) < b; i++) {
    if (small[i]) {
      for (T j = max(2, (a + i - 1) / i) * i; j < b; j += i) {
        prime[j - a] = false;
      }
    }
  }
  return prime;
}
template <typename T>
vector<T> DIVISOR(T n) {
  vector<T> v;
  for (long long i = 1; i * i <= n; ++i) {
    if (n % i == 0) {
      v.push_back(i);
      if (i != n / i) {
        v.push_back(n / i);
      }
    }
  }
  sort(v.begin(), v.end());
  return v;
}
template <typename T>
vector<vector<T>> DIVISOR_ALL(T n) {
  vector<vector<T>> res(n + 1);
  for (int i = 1; i <= n; i++) {
    for (int j = i; j <= n; j += i) {
      res[j].push_back(i);
    }
  }
  return res;
}
const char keyence[7] = {'k', 'e', 'y', 'e', 'n', 'c', 'e'};
int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(0);
  ;
  char tmp[256] = {0};
  int iStr[7] = {0};
  int i, j = 0;
  std::string str;
  cin >> str;
  if ((7 <= str.size()) && (str.size() <= 100)) {
    for (int i = (0); i < (str.size()); ++i) {
      if (str[i] == keyence[j]) {
        j++;
      }
      if (j == 7) {
        break;
      }
    }
  }
  if (j == 7) {
    printf("YES\n");
  } else {
    printf("NO\n");
  }
  return 0;
}
