Introduction to combinatorics - Erickson (Wiley-Interscience series in discrete mathematics and optimization, 1996)