Discrete Mathematics An Open Introduction