kmp (not solved)