#include <bits/stdc++.h>
using namespace std;
const long long INF = 1LL << 60;
using Graph = vector<vector<int>>;
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, 1, 0, -1};
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
inline int gcd(int a, int b) { return (a % b == 0) ? b : gcd(b, a % b); }
inline int fac(int n) { return (n == 0) ? 1 : n * fac(n - 1); }
int main() {
  string s;
  cin >> s;
  const string keyence = "keyence";
  int start = 0;
  bool checked = false;
  int end = 0;
  for (int i = 0; i < s.length(); i++) {
    if (checked == false && s[i] != keyence[i]) {
      start = i;
      checked = true;
    }
    if (checked && s[i] == keyence[start + 1]) {
      end = i - 1;
      break;
    }
  }
  string str = "";
  if (start > -1) {
    str = s.substr(0, start);
  }
  if (end > -1) {
    str += s.substr(end, s.length() - end);
  }
  if (str == keyence) {
    cout << "YES" << endl;
  } else {
    cout << "NO" << endl;
  }
  return 0;
}
