Discrete Mathematical Structures With Applications to Computer Science (McGraw-Hill computer science series)