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 JavaScript (node.js v5.12) (judge verdict: Wrong Answer)

'use strict'

const main = (INPUT) => {
  const S = INPUT.split('\n')[0]
  const str = 'keyence'
  let ans = 'NO'
  let j = 0
  let tmp = 0
  for (let i = 0; i < S.length; i++) {
    if (S[i] == str[j]) {
      j++
    } else {
      if (tmp == 0) {
        tmp = i
      } else {
        tmp++
        if (tmp != i) {
          break
        }
      }
    }

    if (j == str.length && i == S.length - 1) {
      ans = 'YES'
    }
  }
  console.log(ans)
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'))