DISCRETE MATHEMATICS - LIPSCHUTZ- SEYMOUR