#include <bits/stdc++.h>
constexpr long long MOD = 1000000007;
constexpr long double PI = 3.14159265358979323846;
const long long INF = 1e12;
const long long dx[8] = {1, 0, -1, 0, 1, -1, -1, 1};
const long long dy[8] = {0, 1, 0, -1, 1, 1, -1, -1};
const long long days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
long long intpow(long long a, long long n) {
  if (n == 0)
    return 1;
  else {
    for (long long i = 0; i < n - 1; i++) a *= a;
    return a;
  }
}
long long MODPOW(long long a, long long n, long long mod) {
  long long ans = 1;
  while (n > 0) {
    if (n & 1) ans = ans * a % mod;
    a = a * a % mod;
    n >>= 1;
  }
  return ans;
}
long long factorial(long long a) {
  if (a == 0)
    return 1;
  else
    return a * factorial(a - 1);
}
long long MODFACT(long long a, long long mod) {
  long long ans = 1;
  for (long long i = 1; i <= a; i++) {
    ans *= i;
    ans %= MOD;
  }
  return ans;
}
long long nPr(long long n, long long r) {
  long long s = n - r + 1;
  long long sum = 1;
  for (long long i = s; i <= n; i++) sum *= i;
  return sum;
}
long long MODnPr(long long n, long long r, long long mod) {
  long long s = n - r + 1;
  long long sum = 1;
  for (long long i = s; i <= n; i++) {
    sum *= i;
    sum = sum % MOD;
  }
  return sum;
}
long long nCr2(long long n, long long r) {
  return factorial(n) / (factorial(r) * factorial(n - r));
}
long long GCD(long long a, long long b) {
  if (a < b) (a += b, b = a - b, a -= b);
  if (b == 0) return a;
  if (a % b == 0) return b;
  return GCD(b, a % b);
}
long long LCM(long long a, long long b) { return a * b / GCD(a, b); }
long long divisor_count(long long n) {
  long long ans = 0;
  for (long long i = 1; i <= n; i++) {
    if (n % i == 0) ans++;
  }
  return ans;
}
long long CEIL1(long long n) { return (n + 9) / 10 * 10; }
long long getdigit(long long n) { return log10(n) + 1; }
long long digit(long long n, long long k) {
  for (long long i = 0; i < k - 1; i++) n /= 10;
  return n % 10;
}
long long digit_sum(long long n) {
  long long sum = 0, dig;
  while (n) {
    dig = n % 10;
    sum += dig;
    n /= 10;
  }
  return sum;
}
long long DIVTIME(long long n, long long k) {
  long long div = 0;
  while (n % k == 0) {
    div++;
    n /= k;
  }
  return div;
}
long long binary(long long n) {
  long long ans = 0;
  for (long long i = 0; n > 0; i++) {
    ans += n % 2 * intpow(10, i);
    n /= 2;
  }
  return ans;
}
long long intabs(long long n) {
  if (n < 0)
    return -1 * n;
  else
    return n;
}
long long Kaibun(long long n) {
  long long ans = 0;
  long long d = getdigit(n);
  for (long long i = 1; i <= d; i++) ans += digit(n, i) * pow(10, d - i);
  return ans;
}
inline bool is_uru(long long y) {
  if (y % 400 == 0) return 1;
  if (y % 100 == 0) return 0;
  if (y % 4 == 0) return 1;
  return 0;
}
void next_date(long long &y, long long &m, long long &d) {
  long long day = days[m];
  if (m == 2 && is_uru(y)) day++;
  d++;
  if (day < d) {
    m++;
    d = 1;
  }
  if (m == 13) {
    y++;
    m = 1;
  }
}
long double LOG(long long a, long long b) { return log(b) / log(a); }
long double DISTANCE(long long x1, long long y1, long long x2, long long y2) {
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
long double clock_angle(long long h, long long m) {
  h %= 12;
  long double mm = 6.0 * m;
  long double nn = 30.0 * h + 0.5 * m;
  return std::min(fabs(mm - nn), 360.0 - fabs(nn - mm));
}
inline bool BETWEEN(long long x, long long min, long long max) {
  if (min <= x && x <= max)
    return true;
  else
    return false;
}
inline bool between(long long x, long long min, long long max) {
  if (min < x && x < max)
    return true;
  else
    return false;
}
inline bool is_prime(long long x) {
  if (x == 1) return false;
  if (x == 2) return true;
  if (x % 2 == 0) return false;
  long double sqrtx = sqrt(x);
  for (long long i = 3; i <= sqrtx; i += 2) {
    if (x % i == 0) return false;
  }
  return true;
}
inline bool is_sqrt(long long n) {
  if (sqrt(n) == (long long)sqrt(n))
    return true;
  else
    return false;
}
template <class T>
inline bool chmin(T &a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool chmax(T &a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
using namespace std;
using Graph = vector<vector<long long> >;
map<long long, long long> m;
vector<pair<long long, long long> > prime_factorize(long long N) {
  vector<pair<long long, long long> > res;
  for (long long i = (2); i < sqrt(N); i++) {
    if (N % i != 0) continue;
    long long ex = 0;
    while (N % i == 0) {
      ++ex;
      N /= i;
    }
    res.push_back({i, ex});
  }
  if (N != 1) res.push_back({N, 1});
  return res;
}
long double median(vector<long long> a) {
  long long N = a.size();
  if (N % 2 == 1)
    return (long double)a[N / 2];
  else
    return (long double)(a[N / 2 - 1] + a[N / 2]) / 2;
}
long long collatz(long long n, long long cou) {
  if (m.count(n)) return m[n] + cou;
  if (n == 1) return cou;
  if (n % 2 == 0) return collatz(n / 2, cou + 1);
  return collatz(3 * n + 1, cou + 1);
}
signed main() {
  string S;
  cin >> S;
  for (long long i = 0; i < S.size(); i++) {
    for (long long j = 0; j < S.size(); j++) {
      string x = S;
      x.erase(i, j);
      cout << x << endl;
      if (x == "keyence") {
        cout << "YES";
        return 0;
      }
    }
  }
  cout << "NO";
}
