#include <bits/stdc++.h>
using ll = long long;
using uint = unsigned int;
using graph = std::vector<std::vector<ll>>;
using wGraph = std::vector<std::vector<std::pair<ll, ll>>>;
using namespace std;
ll MOD7 = 1000000007;
ll MOD9 = 1000000009;
vector<ll> InputVec(ll N) {
  vector<ll> A(N);
  for (int i = 0; i < N; ++i) {
    cin >> A[i];
  }
  return A;
}
void OutputVec(vector<ll> A) {
  for (int i = 0; i < A.size(); ++i) {
    cout << A[i] << ",";
  }
  cout << endl;
}
vector<vector<ll>> InputVec2d(ll H, ll W) {
  vector<vector<ll>> A(H);
  for (int yi = 0; yi < H; ++yi) {
    A[yi] = vector<ll>(W);
  }
  for (int yi = 0; yi < H; ++yi) {
    for (int xi = 0; xi < W; ++xi) {
      cin >> A[yi][xi];
    }
  }
  return A;
}
vector<vector<char>> InputVec2dStr(ll H, ll W) {
  vector<vector<char>> A(H);
  for (int yi = 0; yi < H; ++yi) {
    A[yi] = vector<char>(W);
  }
  for (int yi = 0; yi < H; ++yi) {
    string S;
    cin >> S;
    for (int xi = 0; xi < W; ++xi) {
      A[yi][xi] = S[xi];
    }
  }
  return A;
}
void OutputVec2d(vector<vector<ll>> A) {
  for (int yi = 0; yi < A.size(); ++yi) {
    for (int xi = 0; xi < A[yi].size(); ++xi) {
      cout << A[yi][xi] << ",";
    }
    cout << endl;
  }
}
graph InputGraph(ll N, ll M) {
  graph G(N);
  for (int i = 0; i < M; ++i) {
    ll a, b;
    cin >> a >> b;
    a--;
    b--;
    G[a].push_back(b);
    G[b].push_back(a);
  }
  return G;
}
graph InputDGraph(ll N, ll M) {
  graph G(N);
  for (int i = 0; i < M; ++i) {
    ll a, b;
    cin >> a >> b;
    a--;
    b--;
    G[a].push_back(b);
  }
  return G;
}
void OutputGraph(graph G) {
  for (int i = 0; i < G.size(); ++i) {
    cout << i << ":";
    for (int j = 0; j < G[i].size(); ++j) {
      cout << G[i][j] << ",";
    }
    cout << endl;
  }
}
void OutputAnswerBool(bool b, bool isUpperCase = false) {
  if (b) {
    if (isUpperCase) {
      cout << "YES" << endl;
    } else {
      cout << "Yes" << endl;
    }
  } else {
    if (isUpperCase) {
      cout << "NO" << endl;
    } else {
      cout << "No" << endl;
    }
  }
}
int main() {
  string S;
  cin >> S;
  string c = "keyence";
  bool judge = false;
  for (int i = 0; i < c.size(); ++i) {
    string c1 = c.substr(0, i);
    string c2 = c.substr(i, c.size() - i);
    if (S.find(c1) != string::npos && S.find(c2) != string::npos) {
      judge = true;
    }
  }
  OutputAnswerBool(judge, true);
}
