Basic Abstract Algebra (For Graduate Students and Advanced Undergraduates)