kmp: knuth-morris-pratt algorithm