update
dp with kmp