Elements of Discrete Mathematics