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)

# https://atcoder.jp/contests/keyence2019/tasks/keyence2019_b

s = gets.chomp
KEYENCE = 'keyence'

res = false
0.upto(KEYENCE.size - 2) do |i|
  left = KEYENCE[0..i]
  right = KEYENCE[i + 1 .. -1]
  idx = s.index(left)
  next if idx.nil?
  next if s[idx + left.size .. -1].index(right).nil?
  res = true
  break
end

puts res ? "YES" : "NO"