add Rabin-Karp algorithm