Knuth Morris Path Algorithm