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 Python (3.4.3) (judge verdict: Wrong Answer)

# -*- coding: utf-8 -*-
# !/usr/bin/env python
# vim: set fileencoding=utf-8 :

"""
#
# Author:   Noname
# URL:      https://github.com/pettan0818
# License:  MIT License
# Created: 日  1/13 21:11:56 2019

# Usage
#
"""
from collections import Counter
TARGET = "keyence"

def get_input():
    return input()

def solve(s):
    """
    >>> solve("keyence")
    YES
    >>> solve("keyofscience")
    YES
    >>> solve("ashlfyha")
    NO
    """
    pos = 0
    for i in TARGET:
        pos = mog(s,i,pos)
        if pos == -1:
            return "NO"
    return "YES"

def mog(original, target, pos):
    """
    >>> mog("keyence", "k", 0)
    1
    >>> mog("aaa", "k", 0)
    -1
    """
    if len(original) == pos:
        return -1

    if original[pos] == target:
        return pos + 1
    else:
        return mog(original, target, pos+1)

if __name__ == '__main__':
    print(solve(get_input()))