complete kmp