Discrete mathematics : an open introduction - Levin, Oscar (Oscar Levin, 2017)