http://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm