Applied Abstract Algebra (2nd Ed) - Lidl, Rudolf and Gunter Pilz