Discrete Mathematics (Combinatorics, Counting, Proofs, Recurrences, Solutions)