Combinatorial Group Theory by Daniel E. Cohen