using System;
using System.Collections.Generic;
using System.Linq;

namespace KPCB
{
    static class MainClass
    {

        public static void Main(string[] args)
        {
            string S = Console.ReadLine();

            string K = "keyence";
            var Klst = new List<string>(7) { "k", "e", "y", "e", "n", "c", "e" };

            string ans = "NO";

            if(S.IndexOf(K,0)==0 || S.IndexOf(K, S.Length - K.Length) >= 0)
            {
                Console.WriteLine("YES");
                return;
            }
            for (int i = 0; i < Klst.Count(); i++)
            {
                int fstidx = S.IndexOf(K.Substring(0,i+1));
                int residx = S.IndexOf(K.Substring(i + 1, K.Length - (i + 1)), fstidx + i + 1);
                int lastidx = residx + K.Length - (i + 1);
                
                if (fstidx >= 0 &&  residx >= 0&& ((fstidx+i+1==residx&&(fstidx==0||  lastidx==S.Length))|| fstidx == 0 && lastidx == S.Length)) 
                {
                    ans = "YES";

                }

            }
            Console.WriteLine(ans);

            return;


        }



        public static long Gcd(long a, long b)
        {
            long tmp;
            // a<bにする
            if (a >= b)
            {
                tmp = a;
                a = b;
                b = tmp;
            }

            if (a == 0)
            {
                return b;
            }

            tmp = a;
            a = b % a;
            b = tmp;
            return Gcd(a, b);

        }


        public static IEnumerable<long> PF(long n)
        {
            long i = 2;
            long tmp = n;

            while (i * i <= n) //※1
            {
                if (tmp % i == 0)
                {
                    tmp /= i;
                    yield return i;
                }
                else
                {
                    i++;
                }
            }
            if (tmp != 1) yield return tmp;//最後の素数も返す
        }




    }

}




