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# (Mono 4.6.2.0) (judge verdict: Wrong Answer)

using System;

class Program {
    public static void Main() {
#if USE_IDE
        var exStdIn = new System.IO.StreamReader("./../../TestStdin.txt");
        Console.SetIn(exStdIn);
#endif
        const string keyence = "keyence";
        string s = Console.ReadLine();
        var kpos = s.IndexOf("k");
        if (kpos == -1) {
            Console.WriteLine("NO");
            return;
        }

        var epos = s.LastIndexOf("e");
        if (epos == -1) {
            Console.WriteLine("NO");
            return;
        }

        s = s.Substring(kpos, s.Length - kpos - (s.Length - epos - 1));

        bool hit = false;
        int life = 1;
        int i = 0;
        for (int j = 0; j < s.Length; j++) {
            if (keyence[i] == s[j]) {
                i++;
                hit = true;
                if (i == keyence.Length - 1) {
                    Console.WriteLine("YES");
                    return;
                }
            } else if (hit) {
                hit = false;
                life--;
                if (life < 0) {
                    // 最初から見たい
                    life = 0;
                    i = 0;
                }
            }
        }

        Console.WriteLine("NO");
    }
}