Discrete Mathematics with Applications by Thomas Koshy