Discrete Mathematics: An Open Introduction, 3rd edition | Hacker News Reader