#include <bits/stdc++.h>
template <class Type>
struct IN : Type {
  IN() { std::cin >> *this; }
};
template <class Type>
struct IN_ {
  Type val;
  IN_() { std::cin >> val; }
  operator Type&() { return val; }
  IN_<Type>& operator=(const Type& _value) {
    val = _value;
    return *this;
  }
};
template <class Char, class Type>
std::basic_ostream<Char>& operator<<(std::basic_ostream<Char>& os,
                                     const IN_<Type>& value) {
  return os << value.val;
}
template <class Char, class Type>
std::basic_istream<Char>& operator>>(std::basic_istream<Char>& is,
                                     IN_<Type>& value) {
  return is >> value.val;
}
template <class Type>
void OUT(const Type& value) {
  std::cout << value << std::endl;
}
template <class Type, class... Args>
void OUT(const Type& value, const Args&... args) {
  std::cout << value << ' ';
  OUT(args...);
}
void YES() { OUT("YES"); }
void NO() { OUT("NO"); }
void YESNO(const bool cond) { OUT(cond ? "YES" : "NO"); }
void Yes() { OUT("Yes"); }
void No() { OUT("No"); }
void YesNo(const bool cond) { OUT(cond ? "Yes" : "No"); }
using ll = long long;
using ld = long double;
using inll = IN_<ll>;
using vll = std::vector<ll>;
using vvll = std::vector<vll>;
using setll = std::set<ll>;
using msetll = std::multiset<ll>;
using P = std::pair<ll, ll>;
using instr = IN<std::string>;
ll factorial(ll n) {
  for (ll i = n - 1; i > 1; --i) n *= i;
  return n;
}
ll ncr(const ll n, ll r) {
  if (r * 2 > n) r = n - r;
  ll dividend = 1, divisor = 1;
  for (ll i = 1; i <= r; ++i) {
    dividend *= n - i + 1;
    divisor *= i;
  }
  return dividend / divisor;
}
bool isprime(const ll num) {
  if (num < 2) return false;
  if (num == 2) return true;
  if (num % 2 == 0) return false;
  double sqrtNum = sqrt(num);
  for (ll i = 3; i <= sqrtNum; i += 2) {
    if (num % i == 0) return false;
  }
  return true;
}
ll digsum(ll n) {
  ll sum = 0;
  while (n != 0) {
    sum += n % 10;
    n /= 10;
  }
  return sum;
}
ll gcd(ll m, ll n) {
  if (m == 0 || n == 0) return 0;
  while (m != n) {
    if (m > n)
      m = m - n;
    else
      n = n - m;
  }
  return m;
}
ll lcm(const ll m, const ll n) {
  if (m == 0 || n == 0) return 0;
  return m / gcd(m, n) * n;
}
template <class Container>
ll gcd(const Container& v) {
  ll res = *std::begin(v);
  for (const auto& i : v) {
    res = gcd(res, i);
  }
  return res;
}
template <class Container>
ll lcm(const Container& v) {
  ll res = *std::begin(v);
  for (const auto& i : v) {
    res = lcm(res, i);
  }
  return res;
}
ll divup(const ll a, const ll b) { return (a + b - 1) / b; }
ll inrange(const ll x, const ll y, const ll w, const ll h) {
  return 0 <= x && x < w && 0 <= y && y < h;
}
template <typename Type>
Type pow_i(const Type x, const ll n) {
  if (n == 0)
    return 1;
  else if (n % 2 == 0)
    return pow_i(x * x, n / 2);
  else
    return x * pow_i(x, n - 1);
}
ll pow_im(const ll x, const ll n, const ll m) {
  if (n == 0)
    return 1;
  else if (n % 2 == 0)
    return pow_im(x * x % m, n / 2, m);
  else
    return x * pow_im(x, n - 1, m) % m;
}
const ll MOD = (ll)1e9 + 7;
const ll INF = (ll)1e18;
const ll dy[] = {0, 0, 1, -1};
const ll dx[] = {1, -1, 0, 0};
void Main();
int main() {
  std::cin.tie(nullptr);
  std::ios::sync_with_stdio(false);
  Main();
  return 0;
}
using namespace std;
void Main() {
  string k = "keyence";
  instr s;
  ll a = 0;
  for (ll(i) = 0; (i) < (s.length()); ++(i)) {
    if (i < (ll)k.length() && k[i] == s[i])
      a++;
    else
      break;
  }
  for (ll(i) = 0; (i) < (s.length()); ++(i)) {
    if ((ll)k.length() - i >= 0) {
      if (k[k.length() - i] == s[s.length() - i]) a++;
    } else
      break;
  }
  return YESNO(a >= 7);
}
