A first course in combinatorial mathematics