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: Runtime Error)

#include <stdio.h>
#include <string.h>

int main(void){
    
    char s[100];
    char temp1[100], temp2[100], temp3[100];
    int N, i, j, k, l, x;
    
    scanf( "%s" , s );
    N = strlen(s);
    if( !strcmp(s,"keyence") ){
         printf("YES");
         return(0);
    }
    for( i = 0 ; i < N-1 ; i++ ){
        for( j = i ; j < N ; j++ ){
            for(x = 0; x < 100; x++){
                temp1[x] = temp2[x] = "";
            }
            for( k = 0 ; k < i ; k++ ){
                temp1[k] = s[k];
            }
            for( l = 0 ; l < N-j-1 ; l++){
                temp2[l] = s[l+j+1];
            }
            strcat(temp1, temp2);
            if( !strcmp(temp1,"keyence") ){
                printf("YES");
                return(0);
            }
        }
    }
    
    printf("NO");
    
    return(0);
}