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 Java (OpenJDK 11.0.6) (judge verdict: Wrong Answer)

import java.util.*;
import java.lang.Math;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
	char key[] = {'k','e','y','e','n','c','e'};
    int key_count = 0;
    int st_count;
    int el = 0;
    boolean ans = false;
    boolean con = true;
    boolean con2;
    if(s.charAt(0) != 'k') con = false;
    
    for(int i = 0;i < s.length() && con; i++){
    	if(s.charAt(i) == key[key_count] && el == 0) {
          key_count++;
          if(key_count == 7) {
            con = false;
          	ans = true;
          }
        } else if(el == 0) el = 1;
      	else if(s.charAt(i) == key[key_count]){
          st_count = key_count;
          con2 = true;
          for(int j = 0; j < 7-key_count && con2 && i+j < s.length();j++){
          	if(s.charAt(i+j) == key[st_count]) st_count++;
            else con2 = false;
            if(st_count == 7){
              key_count = st_count;
              con = false;
              if(i+j == s.length() -1) ans = true;
            }
          } 
        }
      	
    }
     	
    if(ans) System.out.println("YES");
  	else System.out.println("NO");
  }
}