+ KMP algorithm.