combinatorics primer 9367684