Applied Combinatorics on Words: Algorithms on Words