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: Wrong Answer)

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define rep(i,n) for(ll i=0;i<n;i++)

int main(){
    string s; cin >> s;
    string k = "keyence";
    
    int cnt=0;
    int flag=0;
    vector <int> v;
    rep(i, s.size()){
        if(s[i]==k[cnt]){
            cnt++;
        }else{
            v.emplace_back(i);
        }
    }

    rep(i,v.size()){
        if(i>0){
            cout << v[i] - v[i-1] << endl;
            if(v[i]-v[i-1] != 1){
                flag=1;
            }
        }
    }
    
    if(flag==0 && cnt>=7){
        cout << "YES" << endl;
    }else{
        cout << "NO" << endl;
    }
    return 0;
}