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>

int main(){
  char S[100];

  char P[7] = "keyence";

  scanf("%s", S);


  int a = 0;
  int c = 0;
  int i = 0;
  int j = 0;

  while(S[j] != 0){
    if(S[j] == P[i]){
      i++;
      a = 0;
    } else if(a == 0){
      a = 1;
      c++;
    }

    j++;
    if(i == 7) break;
  }

  if(c == 1 && i == 7 && S[j] == 0) printf("YES\n");
  else if(c == 0 && i == 7) printf("YES\n");
  else printf("NO\n");

  return 0;
}