KMP

www.spoj.com/problems/FINDSR