#include<iostream>
#include<string>
#include<sstream>
#include<vector>
#include<algorithm>
#include<math.h>


using namespace std;

struct test_t{
	long long target;
	long long state;
	long long diff;
};

int main(){
	/*	test_t test[100000];
		string str;
		*/

	/*Q3*/


	/*Q2*/


	string sample = "keyence";
	string in;


	int pass = 0;
	bool zwei = false;

	cin >> in;

	int s = 0;//sの参照箇所


	//頭7後0
	if (in[0] == sample[0]
		&& in[1] == sample[1]
		&& in[2] == sample[2]
		&& in[3] == sample[3]
		&& in[4] == sample[4]
		&& in[5] == sample[5]
		&& in[6] == sample[6]
	){
		std::cout << "YES" << endl;
		return 0;
	}
	//頭6後1
	if (in[0] == sample[0]
		&& in[1] == sample[1]
		&& in[2] == sample[2]
		&& in[3] == sample[3]
		&& in[4] == sample[4]
		&& in[5] == sample[5]
		&& in[in.length() - 1] == sample[6]
		){
		std::cout << "YES" << endl;
		return 0;
	}
	//頭5後2
	if (in[0] == sample[0]
		&& in[1] == sample[1]
		&& in[2] == sample[2]
		&& in[3] == sample[3]
		&& in[4] == sample[4]
		&& in[in.length() - 2] == sample[5]
		&& in[in.length() - 1] == sample[6]
		){
		std::cout << "YES" << endl;
		return 0;
	}
	//頭4後3
	if (in[0] == sample[0]
		&& in[1] == sample[1]
		&& in[2] == sample[2]
		&& in[3] == sample[3]
		&& in[in.length() - 3] == sample[4]
		&& in[in.length() - 2] == sample[5]
		&& in[in.length() - 1] == sample[6]
		){
		std::cout << "YES" << endl;
		return 0;
	}
	//頭3後4
	if (in[0] == sample[0]
		&& in[1] == sample[1]
		&& in[2] == sample[2]
		&& in[in.length() - 4] == sample[3]
		&& in[in.length() - 3] == sample[4]
		&& in[in.length() - 2] == sample[5]
		&& in[in.length() - 1] == sample[6]
		){
		std::cout << "YES" << endl;
		return 0;
	}

	//頭2後5
	if (in[0] == sample[0]
		&& in[1] == sample[1]
		&& in[in.length() - 5] == sample[2]
		&& in[in.length() - 4] == sample[3]
		&& in[in.length() - 3] == sample[4]
		&& in[in.length() - 2] == sample[5]
		&& in[in.length() - 1] == sample[6]
		){
		std::cout << "YES" << endl;
		return 0;
	}
	//頭1後6
	if (in[0] == sample[0]
		&& in[in.length() - 6] == sample[1]
		&& in[in.length() - 5] == sample[2]
		&& in[in.length() - 4] == sample[3]
		&& in[in.length() - 3] == sample[4]
		&& in[in.length() - 2] == sample[5]
		&& in[in.length() - 1] == sample[6]
		){
		std::cout << "YES" << endl;
		return 0;
	}
	//頭0後7
	if (in[in.length() - 7] == sample[0]
		&& in[in.length() - 6] == sample[1]
		&& in[in.length() - 5] == sample[2]
		&& in[in.length() - 4] == sample[3]
		&& in[in.length() - 3] == sample[4]
		&& in[in.length() - 2] == sample[5]
		&& in[in.length() - 1] == sample[6]
		){
		std::cout << "YES" << endl;
		return 0;
	}
	/*
	for (int i = 0; i < in.length(); ++i){
		if (in[i] == sample[s]){
			++s;
			zwei = false;


		}
		else if(zwei == false){
			//同じ文字ならノーカン
			if (in[i+1] != sample[s]){
				++pass;
		
			}

			zwei = true;
			//cout << pass << endl;
		}

		if (s == 7 && i == in.length() - 1){
			std::cout << "YES" << endl;
			return 0;
		}

		//2回の時点で即アウト
		if (1 < pass){
			cout << "NO" << endl;
			return 0;
		}


	}
	*/



	cout << "NO" << endl;


	return 0;


	/*Q1*/
	//typedef
	/*
	struct t{
		int param;
		int yet;
	};
	struct t target[4];
	target[0].yet = 0;
	target[1].yet = 0;
	target[2].yet = 0;
	target[3].yet = 0;
	target[0].param = 1;
	target[1].param = 9;
	target[2].param = 7;
	target[3].param = 4;


	int ret = 0;
	int in[4] = {0};

	
	cin >> in[0] >> in[1] >> in[2] >> in[3];

	//roop
	for (int i = 0; i < 4; ++i){

		//探索
		for (int j = 0; j < 4; ++j)
			if (target[j].param == in[i]){
				target[j].yet = 1;
			}
	}


	if (target[0].yet == 1
		&& target[1].yet == 1
		&& target[2].yet == 1
		&& target[3].yet == 1){
		cout << "YES" << endl;
	}
	else{
		cout << "NO" << endl;

	}

	*/

	/*Q2*/

	/*Q3*/

		/*Q4*/

		return 0;
}


Measured memory_bytes: 256