Algebraic combinatorics on words hardcover