Abstract algebra a first course - Saracino, Daniel H. (Addison-Wesley, 1980)