Applied Discrete Structures by Alan Doerr and Kenneth Levasseur · HackerTrans