A First Course in Abstract Algebra (3rd Edition)