Notes on Introductory Combinatorics by George Pólya, Robert E. Tarjan, Donald R. Woods - WordSea