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++ (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <bits/stdc++.h>
using namespace std;
int main(){

  string s;
  cin >> s;
  string key = "keyence";
  int count = 0;
  int rest = 0;
  for(int i = 0; i < s.size() ; i++){
  	if(count < 1){
    	for(int j = rest; j < 7; j++){
        	if(i < s.size() && key.at(j) != s.at(i)){
              count += 1;
              rest = j;
              break;
            }
          i++;
        }
    }
  }
  string out;
  out = (rest == 6)? "YES": "NO";
  cout << out <<endl;
}