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 Ruby (2.3.3) (judge verdict: Wrong Answer)

input = STDIN.read.chomp

S = "keyence".split('')
current = 0
mistake = 0
is_matching = true
is_ok = true

for i in 0..(input.length - 1)
    c = input[i]

    if mistake > 1
        is_ok = false
        break
    end
    if is_matching
        if c == S[current]
            current = current + 1
        else
            is_matching = false
            mistake = mistake + 1
        end
    else
        if c == S[current]
            current = current + 1
            is_matching = true
        end
    end
    if mistake > 1
        is_ok = false
        break
    end
end

if current > 6 && is_ok
    puts "YES"
else
    puts "NO"
end