Discrete Mathematics for Computer Scientists (2nd Edition)