A First Course in Abstract Algebra by