add kmp.cpp