KMP style (Explicit)

KMP style (Explicit)