Discrete and Algebraic Structures A Concise Introduction - Knauer, Kolja. (Springer Berlin Heidelberg,)