add tips
mark kmp algorithm