Combinatorial Group Theory: Presentations of Groups in Terms of Generators and Relations