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 <stdio.h>
#include <stdlib.h>
#include <string.h>


int main()
{	
	char S[101];
	char key[10];
	key[0]='k';
	key[1]='e';
	key[2]='y';
	key[3]='e';
	key[4]='n';
	key[5]='c';
	key[6]='e';
	gets(S);
	int keysoeji=0;
	int ikkai=0;
	int Ssoeji=0;
	int answer=1;
	while((answer==1)&&Ssoeji<strlen(S)){
		if(S[Ssoeji]==key[keysoeji])
		{
			if(Ssoeji!=keysoeji){ikkai=1;}
			keysoeji++;
			Ssoeji++;	
		}
		else
		{	
			if(ikkai==0)
			{	Ssoeji++;
			}
			else{
				answer=0;
			}
		}
	}
	if((answer==1)&&(keysoeji==7)){printf("YES");}
	else{printf("NO");}
			
}