Applied abstract algebra - Lidl, Rudolf (New York Springer, 2006)