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 Fortran (gfortran v4.8.4) (judge verdict: Wrong Answer)

program main
  implicit none

  character(len=100) :: s
  character(len=7) :: c
  integer :: n

  read(*,*) s

  n = len_trim(s)
  c = 'keyence'

  if(index(s,c) /= 0) then
     if (index(s,c) == 1 .or. index(s,c, back=.true.) == n-6) then
        write(*,*) 'YES'
     else
        write(*,*) 'NO'
     end if
     stop
  else if(index(s,c(1:1)) /= 0) then
     if(index(s,c(2:7)) /= 0) then
        if(index(s,c(1:1)) == 1 .and. index(s,c(2:7), back=.true.) == n-5) then
           write(*,*) 'YES'
        end if
     else
        if(index(s,c(1:2)) /= 0) then
           if(index(s,c(3:7)) /= 0) then
          if(index(s,c(1:2)) == 1 .and. index(s,c(3:7), back=.true.) == n-4) then
             write(*,*) 'YES'
          end if
       else
          if(index(s,c(1:3)) /= 0) then
           if(index(s,c(4:7)) /= 0) then
	  if(index(s,c(1:3)) == 1 .and. index(s,c(4:7), back=.true.) == n-3) then
             write(*,*) 'YES'
          end if
       else
          if(index(s,c(1:4)) /= 0) then
           if(index(s,c(5:7)) /= 0) then
	  if(index(s,c(1:4)) == 1 .and. index(s,c(5:7), back=.true.) == n-2) then
             write(*,*) 'YES'
          end if
       else
          if(index(s,c(1:5)) /= 0) then
           if(index(s,c(6:7)) /= 0) then
	  if(index(s,c(1:5)) == 1 .and. index(s,c(6:7), back=.true.) == n-1) then
             write(*,*) 'YES'
          end if
       else
          if(index(s,c(1:6)) /= 0) then
           if(index(s,c(7:7)) /= 0) then
	  if(index(s,c(1:6)) == 1 .and. index(s,c(7:7), back=.true.) == n) then
             write(*,*) 'YES'
          end if
       else
          write(*,*) 'NO'
       end if
    end if

 end if
end if
end if
end if
end if
end if


end if
end if
end if
end if
end program main