Discrete Mathematics by Jean H. Gallier & Jean Gallier