kmp and normal, for string