Essentials Of Discrete Mathematics by David J. Hunter