string matching 1
KMP