Problem:
Score : 200 points

Problem Statement

A string is called a KEYENCE string when it can be changed to keyence by removing its contiguous substring (possibly empty) only once.

Given a string S consisting of lowercase English letters, determine if S is a KEYENCE string.

Constraints

The length of S is between 7 and 100 (inclusive).

S consists of lowercase English letters.

Input

Input is given from Standard Input in the following format:

S

Output

If S is a KEYENCE string, print YES; otherwise, print NO.

Sample Input 1

keyofscience

Sample Output 1

YES

keyence is an abbreviation of key of science.

Sample Input 2

mpyszsbznf

Sample Output 2

NO

Sample Input 3

ashlfyha

Sample Output 3

NO

Sample Input 4

keyence

Sample Output 4

YES

Solution in C++14 (GCC 5.4.1) (judge verdict: Accepted)

#include <bits/stdc++.h>
using namespace std;

int main(){
	string s;
	cin >> s;
	string key{"keyence"};
	if(s==key) {cout << "YES"; return 0;}
	for(int i=0;i<(int)s.length()-7;i++){
		for(int j = i;j < (int) s.length();j++){
			for(int k = 0;k<8;k++){
				//cout << s.substr(i,k)+s.substr(j,7-k) << endl;
				if(s.substr(i,k)+s.substr(j,7-k) == key){
					if(i>0 && j-i>k) continue;
					if(i==0 && j+7-k!=(int)s.length()) continue;
					cout << "YES";
					return 0;
				}
			}
		}
	}
	cout << "NO";
	//zxlxbwhcvkpvoahiohfozjtceocbsgdnpnbpuyqejdbwgnapzeyence
}