A path to combinatorics for under graduates : Counting strategies. - Andreescu, Titu (Birkhauser, 2004)