Elements of combinatorial computing,